@font-face{font-family:AIMSans;src:url('../fonts/GoogleSansFlex_72pt-Regular.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{--case-ink:#0a0a0a;--case-muted:#686865;--case-line:#deded9;--case-soft:#f4f4f1;--case-accent:#ff574b}
.project-detail-page{background:#fff;color:var(--case-ink);font-family:AIMSans,"Google Sans Flex",Arial,sans-serif}
.project-detail-page .main-wrapper{overflow:visible}
.case-study{padding:clamp(118px,10vw,156px) 0 0}
.case-shell{width:min(1480px,calc(100% - clamp(32px,6vw,96px)));margin:0 auto}
.case-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:clamp(38px,5vw,72px);color:var(--case-muted);font-size:13px;font-weight:650;text-decoration:none;transition:color .2s,transform .2s}
.case-back:hover{color:var(--case-ink);transform:translateX(-3px)}
.case-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:clamp(36px,8vw,140px);align-items:end;margin-bottom:clamp(30px,4vw,58px)}
.case-title-block h1{max-width:900px;margin:18px 0 0;font-size:clamp(58px,8.4vw,136px);font-weight:580;line-height:.84;letter-spacing:-.075em;text-wrap:balance}
.case-tags{display:flex;flex-wrap:wrap;gap:7px}
.case-tag{padding:7px 11px;border:1px solid var(--case-line);border-radius:999px;color:#424240;font-size:10px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}
.case-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--case-line)}
.case-meta-item{display:grid;gap:7px;padding:15px 8px 17px 0;border-bottom:1px solid var(--case-line)}
.case-meta-item:nth-child(even){padding-left:18px;border-left:1px solid var(--case-line)}
.case-meta-item span{color:var(--case-muted);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.1em}
.case-meta-item strong{font-size:14px;font-weight:650}
.case-visit,.case-private{grid-column:1/-1;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:13px 0;color:var(--case-ink);font-size:13px;font-weight:720;text-decoration:none}
.case-visit span{font-size:18px;transition:transform .2s}
.case-visit:hover span{transform:translate(3px,-3px)}
.case-private{color:var(--case-muted)}
.case-media{border:0;padding:0;background:var(--case-soft);cursor:zoom-in;overflow:hidden}
.case-cover{position:relative;width:100%;display:block}
.case-cover img,.case-gallery-item img{width:100%;height:auto;display:block}
.case-media-action{position:absolute;right:20px;bottom:20px;display:grid;gap:2px;min-width:145px;padding:13px 16px;border-radius:13px;background:rgba(9,9,9,.76);color:#fff;text-align:left;backdrop-filter:blur(12px)}
.case-media-action b{font-size:12px}.case-media-action small{color:rgba(255,255,255,.65);font-size:10px}
.case-overview,.case-process{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(270px,390px);gap:clamp(28px,5vw,80px);align-items:start;padding:clamp(70px,9vw,132px) 0;border-bottom:1px solid var(--case-line)}
.case-section-index{position:sticky;top:120px;display:flex;align-items:baseline;gap:13px;color:var(--case-muted)}
.case-section-index span{font-size:11px;font-weight:760}.case-section-index p{margin:0;font-size:12px;font-weight:650}
.case-richtext{max-width:760px;font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:#232322}
.case-richtext>:first-child{margin-top:0}.case-richtext>:last-child{margin-bottom:0}
.case-richtext h2,.case-richtext h3,.case-richtext h4,.case-richtext h5,.case-richtext h6{margin:0 0 .7em;color:var(--case-ink);font-size:clamp(27px,3vw,48px);font-weight:580;line-height:1.05;letter-spacing:-.045em}
.case-richtext p{margin:0 0 1.1em}.case-richtext strong{color:var(--case-ink);font-weight:720}.case-richtext ul,.case-richtext ol{padding-left:1.2em}.case-richtext a{color:var(--case-accent);text-underline-offset:3px}
.case-outcome{position:sticky;top:110px;padding:24px;border-radius:18px;background:var(--case-soft)}
.case-outcome span{display:block;margin-bottom:34px;color:var(--case-accent);font-size:10px;font-weight:780;text-transform:uppercase;letter-spacing:.11em}
.case-outcome p{margin:0;font-size:15px;line-height:1.5;letter-spacing:-.01em}
.case-gallery-section{padding:clamp(76px,9vw,132px) 0;border-bottom:1px solid var(--case-line)}
.case-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:clamp(28px,4vw,54px)}
.case-section-heading span{display:block;margin-bottom:10px;color:var(--case-accent);font-size:10px;font-weight:780;text-transform:uppercase;letter-spacing:.12em}
.case-section-heading h2{margin:0;font-size:clamp(38px,5vw,72px);font-weight:560;line-height:.95;letter-spacing:-.055em}
.case-section-heading>p{margin:0;color:var(--case-muted);font-size:12px}
.case-gallery{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,22px)}
.case-gallery-item{position:relative;width:100%}
.case-zoom{display:none}
.case-process{grid-template-columns:150px minmax(0,1fr);padding-bottom:clamp(78px,10vw,150px)}
.case-process .case-richtext{max-width:920px}
.case-next{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,130px) max(clamp(24px,6vw,96px),calc((100vw - 1480px)/2));background:#111;color:#fff}
.case-next>span{color:#8e8e8e;font-size:12px}.case-next h2{margin:28px 0 42px;font-size:clamp(48px,7vw,112px);font-weight:560;line-height:.9;letter-spacing:-.065em}.project-detail-page .case-next h2 em{color:var(--case-accent);font-family:"Instrument Serif",Georgia,serif!important;font-style:italic;font-weight:400;letter-spacing:-.035em}.case-next a{display:inline-flex;align-items:center;gap:30px;padding:14px 19px;border-radius:999px;background:var(--case-accent);color:#fff;font-size:13px;font-weight:720;text-decoration:none}
.case-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:#090909;color:#fff;overflow:hidden}
.case-lightbox::backdrop{background:#090909}
.case-lightbox[open]{display:grid;grid-template-columns:86px minmax(0,1fr) 86px;grid-template-rows:64px minmax(0,1fr)}
.case-lightbox-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.12);font-size:11px;color:#aaa}
.case-lightbox-top button{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer}
.case-lightbox figure{grid-column:2;grid-row:2;min-width:0;min-height:0;margin:0;padding:18px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;place-items:center}
.case-lightbox figure img{max-width:100%;max-height:calc(100vh - 118px);object-fit:contain}
.case-lightbox figcaption{justify-self:start;color:#aaa;font-size:11px}
.case-lightbox-nav{grid-row:2;align-self:center;width:48px;height:48px;margin:auto;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.case-lightbox-nav.prev{grid-column:1}.case-lightbox-nav.next{grid-column:3}
html.case-lightbox-open{overflow:hidden}
@media(max-width:991px){.case-header{grid-template-columns:1fr;gap:36px}.case-meta{grid-template-columns:repeat(3,1fr)}.case-meta-item:nth-child(n){padding:14px 12px;border-left:0;border-right:1px solid var(--case-line)}.case-meta-item:nth-child(3){border-right:0}.case-overview{grid-template-columns:110px minmax(0,1fr)}.case-outcome{position:static;grid-column:2}.case-process{grid-template-columns:110px minmax(0,1fr)}}
@media(max-width:767px){.case-study{padding-top:94px}.case-shell{width:calc(100% - 30px)}.case-back{margin-bottom:34px}.case-title-block h1{font-size:clamp(54px,18vw,86px);line-height:.88}.case-tags{gap:5px}.case-tag{font-size:9px;padding:6px 9px}.case-meta{grid-template-columns:1fr 1fr}.case-meta-item:nth-child(n){padding:12px 8px 13px 0;border-right:0}.case-meta-item:nth-child(even){padding-left:14px;border-left:1px solid var(--case-line)}.case-meta-item:nth-child(3){border-right:0}.case-media-action{right:10px;bottom:10px;min-width:132px;padding:11px 13px}.case-overview,.case-process{grid-template-columns:1fr;gap:24px;padding:66px 0}.case-section-index{position:static;padding-bottom:13px;border-bottom:1px solid var(--case-line)}.case-outcome{grid-column:auto}.case-richtext{font-size:17px}.case-gallery-section{padding:66px 0}.case-section-heading{align-items:flex-start;flex-direction:column}.case-section-heading>p{display:none}.case-gallery{gap:10px}.case-next{padding-block:72px}.case-lightbox[open]{grid-template-columns:58px minmax(0,1fr) 58px}.case-lightbox figure{padding:10px}.case-lightbox-nav{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.case-back,.case-visit span{transition:none}}
