.cases-header { position:relative; background:#17130f; }.case-detail-hero { padding:64px 0 58px; color:#fff5df; background:radial-gradient(ellipse at 78% 0,rgba(194,143,55,.3),transparent 39%),linear-gradient(120deg,#17120e,#352515); }.case-detail-hero .eyebrow { margin-top:25px; color:#edc776; }.back-link { color:#dec38d; font-size:13px; letter-spacing:.06em; }.case-detail-hero h1,.case-record h2,.case-video h3 { margin:0; font-family:var(--serif); font-weight:600; letter-spacing:.05em; }.case-detail-hero h1 { font-size:clamp(35px,4.5vw,56px); }.case-detail-hero p:not(.eyebrow) { margin:9px 0 0; color:#d9cebd; }.case-record { padding:78px 0 96px; }.case-record__intro { display:grid; grid-template-columns:1fr 1.8fr; column-gap:8%; align-items:start; margin-bottom:42px; }.case-label { grid-row:span 2; margin:0; color:#ae8746; font-size:11px; font-weight:700; letter-spacing:.17em; }.case-record h2 { margin:0 0 15px; font-size:clamp(27px,3vw,38px); }.case-record dl { grid-column:2; margin:0; }.case-record dl div { display:grid; grid-template-columns:100px 1fr; padding:11px 0; border-top:1px solid rgba(182,144,70,.34); }.case-record dt { color:#96733c; font-size:14px; }.case-record dd { margin:0; color:#565049; font-size:15px; }.case-photo-grid { display:grid; grid-template-columns:1.45fr 1fr; grid-template-rows:repeat(2,230px); gap:14px; }.case-photo-grid img { width:100%; height:100%; object-fit:cover; }.case-photo-grid__large { grid-row:span 2; }.case-video { margin-top:42px; min-height:215px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#f8e7be; text-align:center; background:radial-gradient(circle at 50% 20%,rgba(205,160,82,.27),transparent 34%),linear-gradient(135deg,#1b1711,#342516); border:1px solid rgba(209,169,91,.45); }.case-video p { margin:0 0 4px; color:#e6bd68; font-size:10px; font-weight:700; letter-spacing:.18em; }.case-video h3 { font-size:27px; }.case-video span { margin-top:6px; color:#d6cab4; font-size:14px; }
@media (max-width:760px) { .case-detail-hero { padding:48px 0 44px; }.case-record { padding:56px 0 70px; }.case-record__intro { display:block; }.case-label { margin-bottom:9px; }.case-record dl { margin-top:20px; }.case-record dl div { grid-template-columns:78px 1fr; }.case-photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:170px 170px; gap:8px; }.case-video { min-height:185px; margin-top:28px; } }
.case-photo-grid img { cursor:zoom-in; transition:filter .3s ease,transform .45s cubic-bezier(.22,1,.36,1); }.case-photo-grid img:hover { filter:brightness(.82); transform:scale(1.025); }.case-lightbox { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:32px; background:rgba(10,8,5,.9); opacity:0; visibility:hidden; transition:opacity .28s ease,visibility .28s ease; }.case-lightbox.is-open { opacity:1; visibility:visible; }.case-lightbox__layout { width:min(1500px,96vw); display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,3.7fr) minmax(180px,1fr); gap:clamp(18px,2.6vw,44px); align-items:center; }.case-lightbox__image-wrap { min-width:0; }.case-lightbox__image { display:block; max-width:100%; max-height:82vh; width:auto; height:auto; margin:auto; object-fit:contain; box-shadow:0 18px 55px rgba(0,0,0,.5); }.case-lightbox__caption { margin:12px 0 0; color:#fff0c9; text-align:center; font-size:14px; }.case-lightbox__info { color:#eee1c7; border-top:1px solid rgba(224,184,103,.58); border-bottom:1px solid rgba(224,184,103,.28); padding:16px 0; }.case-lightbox__info p { margin:0 0 8px; color:#e5bc68; font-size:10px; font-weight:700; letter-spacing:.18em; }.case-lightbox__info h3 { margin:0 0 10px; font-family:var(--serif); font-size:22px; font-weight:600; line-height:1.45; letter-spacing:.04em; }.case-lightbox__info span { display:block; color:#d5c8b1; font-size:13px; line-height:1.9; }.case-lightbox__close { position:absolute; top:18px; right:22px; width:42px; height:42px; border:1px solid rgba(239,207,141,.7); border-radius:50%; color:#fff0c9; background:rgba(0,0,0,.2); font-size:26px; line-height:1; cursor:pointer; } @media (max-width:900px) { .case-lightbox { padding:52px 20px 24px; }.case-lightbox__layout { display:block; width:min(740px,94vw); }.case-lightbox__info { display:none; }.case-lightbox__image { max-height:78vh; } }
.case-photo-grid--campaign,.case-photo-grid--banquet,.case-photo-grid--birthday,.case-photo-grid--gender,.case-photo-grid--groundbreaking,.case-photo-grid--tent,.case-photo-grid--stage,.case-photo-grid--equipment { grid-auto-rows:230px; }
.case-photo-grid--gender img:nth-child(4),.case-photo-grid--gender img:nth-child(5) { object-position:center 72%; }
@media (max-width:760px) { .case-photo-grid--campaign,.case-photo-grid--banquet,.case-photo-grid--birthday,.case-photo-grid--gender,.case-photo-grid--groundbreaking,.case-photo-grid--tent,.case-photo-grid--stage,.case-photo-grid--equipment { grid-auto-rows:170px; } }

/* Compact vertical rhythm for individual case pages */
.brand { font-family:"DFKai-SB","BiauKai","KaiTi",serif; font-size:22px; font-weight:700; letter-spacing:.1em; }.brand small { font-family:"DFKai-SB","BiauKai","KaiTi",serif; font-size:10px; font-weight:700; letter-spacing:.18em; }
.nav-links a { font-weight:700; }
.case-detail-hero { padding-block:52px; }.case-record { padding-block:58px 68px; }
@media (max-width:760px) { .brand { font-size:18px; }.brand small { font-size:8px; }.case-detail-hero { padding-block:40px; }.case-record { padding-block:46px 54px; } }
