.portfolio-page{--portfolio-line:#e2e2df;--portfolio-muted:#777;font-size:14px}
.portfolio-page .header-inner{max-width:1224px}
.portfolio-page .site-header{border-color:var(--portfolio-line)}
.portfolio-main{max-width:1224px;padding:0 32px;margin:auto}
.portfolio-breadcrumb{display:flex;gap:13px;font-size:10px;color:#999;padding-top:28px}
.portfolio-breadcrumb a{color:#666}
.portfolio-page section{border:0;margin:0;padding:0}
.portfolio-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:50px;padding:49px 0 43px}
.section-kicker{font-size:9px;letter-spacing:2.1px;line-height:1.6;color:#898989;margin:0 0 20px}
.portfolio-page h1{font-size:49px;letter-spacing:2px;line-height:1.5;margin:0;font-weight:500}
.title-period{margin-left:-5px}
.hero-description{padding-bottom:5px;max-width:360px;justify-self:end}
.hero-description>p:first-child{font-family:var(--serif);font-size:18px;line-height:1.9;color:#555;margin-bottom:23px}
.hero-description-note{font-size:10px;color:#999;letter-spacing:.5px}
.hero-film{position:relative;background:#17212a;aspect-ratio:1918/868;overflow:hidden}
.hero-film>video{display:block;width:100%;height:100%;object-fit:contain}
.hero-film-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,16,21,.72),rgba(9,16,21,.02) 36%);pointer-events:none}
.hero-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;color:#fff;font-size:12px;letter-spacing:1px;text-shadow:0 1px 9px #000}
.hero-play:hover{text-decoration:none}
.play-symbol{border:1px solid rgba(255,255,255,.8);border-radius:50%;height:52px;width:52px;display:grid;place-content:center;padding-left:3px;font-size:15px;background:rgba(15,22,28,.4);backdrop-filter:blur(5px);transition:background .2s,transform .2s}
.hero-play:hover .play-symbol{background:#fff;color:#111;text-shadow:none;transform:scale(1.06)}
.hero-film-caption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.9);font-size:10px;letter-spacing:.6px;pointer-events:none}
.caption-divider{opacity:.55;margin:0 13px}
.hero-film-caption button{border:0;border-bottom:1px solid #aaa;background:none;color:#fff;font:inherit;padding:5px 0;cursor:pointer;pointer-events:auto;min-width:74px;text-align:left}
.hero-film-caption button span{margin-left:10px}
.project-facts{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0;padding:26px 0 31px;border-bottom:1px solid var(--portfolio-line);gap:20px}
.project-facts dt{font-size:9px;color:#999;letter-spacing:.5px;margin-bottom:8px}
.project-facts dd{font-size:12px;color:#555}
.portfolio-page .portfolio-section{padding-top:76px;padding-bottom:4px}
.portfolio-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:29px}
.portfolio-section-heading .section-kicker{margin-bottom:12px}
.portfolio-page h2{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.6;letter-spacing:.5px}
.portfolio-section-heading>p{font-size:11px;color:#888;margin:0 0 7px}
button{font-family:inherit}
.film-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--portfolio-line);gap:30px}
.film-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#999;text-align:left;font-size:10px;padding:15px 0 16px;cursor:pointer;display:flex;align-items:center;gap:14px}
.film-tabs button span{font-size:13px;letter-spacing:.3px}
.film-tabs button small{font-size:10px;margin-left:auto;letter-spacing:.5px}
.film-tabs button[aria-selected=true]{border-bottom-color:#222;color:#222}
.film-panel{margin-top:20px;background:#14212a}
.player-topline{display:flex;justify-content:space-between;gap:20px;padding:12px 18px;color:#d2d7dc;font-size:10px;letter-spacing:.7px}
.player-topline span+span{font-size:8px;letter-spacing:1.5px;color:#81909a}
.film-panel video{width:100%;display:block;aspect-ratio:1918/868;background:#10171c}
.media-note{font-size:10px;color:#999;line-height:1.8;margin:13px 0 0}
.design-tabs{display:flex;gap:37px;border-bottom:1px solid var(--portfolio-line);margin-bottom:25px}
.design-tabs button{display:flex;gap:12px;background:transparent;border:0;border-bottom:2px solid transparent;font-size:13px;color:#888;padding:12px 0 15px;cursor:pointer}
.design-tabs button span{font-family:Georgia,serif;font-size:10px;color:#aaa}
.design-tabs button[aria-selected=true]{border-color:#222;color:#222}
.design-panel{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:30px}
.figure-topline{display:flex;justify-content:space-between;font-size:9px;color:#999;letter-spacing:.5px;margin-bottom:11px}
.figure-topline span+span{font-size:8px;letter-spacing:1.2px}
.design-interface>a,.design-flow>a{position:relative;display:block;overflow:hidden;background:#f4f5f5;border:1px solid #e6e6e4}
.design-interface img{width:100%;height:auto;display:block;aspect-ratio:1920/1060;object-fit:contain}
.expand-hint{position:absolute;bottom:11px;right:11px;color:#fff;background:rgba(20,28,34,.85);font-size:9px;letter-spacing:.4px;padding:5px 9px;opacity:.9;transition:opacity .2s}
a:hover .expand-hint{opacity:1}
.design-copy{padding:36px 0 0 7px}
.design-copy .section-kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:14px}
.design-copy h3{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.7;margin-bottom:15px}
.design-copy>p:not(.section-kicker){font-size:12px;line-height:2;color:#777}
.design-detail{border-top:1px solid var(--portfolio-line);padding-top:15px;margin-top:22px}
.design-detail>span{font-size:9px;color:#aaa}
.design-detail p{font-size:11px;color:#777;line-height:1.9;margin-top:6px}
.design-flow{grid-column:1/-1;margin-top:4px}
.design-flow img{width:100%;height:auto;display:block}
.design-flow>a{padding:16px 24px;background:#fff}
.portfolio-page .portfolio-contact{margin-top:69px;border-top:1px solid var(--portfolio-line);padding:49px 0 38px}
.portfolio-contact .section-kicker{margin-bottom:14px}
.portfolio-contact>p:not(.section-kicker){font-size:12px;color:#888;margin:17px 0 21px}
.portfolio-contact-link{font-family:Georgia,"Times New Roman",serif;font-size:24px;border-bottom:1px solid #999;padding-bottom:5px}
.portfolio-contact-link span{font-family:var(--sans);font-size:17px;margin-left:17px}
.back-home{display:block;font-size:10px;color:#888;margin-top:31px}
.portfolio-page .site-footer{max-width:1160px}
.no-script-gallery{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}
button:focus-visible{outline:2px solid #222;outline-offset:4px}
.hero-film button:focus-visible{outline-color:#fff}
@media(min-width:1400px){.portfolio-intro{padding-top:62px;padding-bottom:48px}.portfolio-page h1{font-size:54px}}
@media(max-width:900px){.portfolio-intro{grid-template-columns:1.2fr 1fr;gap:25px;padding-top:38px}.portfolio-page h1{font-size:40px}.hero-description>p:first-child{font-size:16px}.portfolio-section-heading{display:block}.portfolio-section-heading>p{margin-top:10px}.design-panel{grid-template-columns:1.5fr 1fr;gap:22px}.design-copy{padding-top:29px}.design-copy h3{font-size:17px}.design-copy>p:not(.section-kicker){font-size:11px}.design-detail{margin-top:12px;padding-top:9px}}
@media(max-width:640px){.portfolio-main{padding:0 24px}.portfolio-breadcrumb{padding-top:23px}.portfolio-intro{display:block;padding:33px 0 28px}.section-kicker{font-size:8px;margin-bottom:14px}.portfolio-page h1{font-size:36px;letter-spacing:1px}.hero-description{margin-top:23px;max-width:none}.hero-description>p:first-child{font-size:15px;line-height:1.8;margin-bottom:11px}.hero-description>p:first-child br{display:none}.hero-description-note{font-size:9px}.hero-film{margin:0 -24px;aspect-ratio:1918/1000}.hero-film-caption{bottom:9px;left:15px;right:15px;font-size:8px}.play-symbol{width:40px;height:40px;font-size:11px}.hero-play{font-size:10px;gap:9px}.caption-divider{margin:0 7px}.hero-film-caption button{font-size:8px;min-width:63px}.project-facts{gap:12px;padding:23px 0}.project-facts dd{font-size:10px;line-height:1.7}.project-facts dt{font-size:8px}.portfolio-page .portfolio-section{padding-top:48px}.portfolio-page h2{font-size:23px}.portfolio-section-heading{margin-bottom:20px}.portfolio-section-heading>p{font-size:10px}.film-tabs{gap:17px}.film-tabs button{font-size:9px;gap:8px;flex-wrap:wrap;padding:11px 0}.film-tabs button span{font-size:11px}.film-tabs button small{font-size:8px}.player-topline{font-size:8px;padding:9px 12px}.player-topline span+span{display:none}.film-panel{margin-top:15px}.media-note{font-size:9px}.design-tabs{gap:18px;margin-bottom:21px}.design-tabs button{font-size:11px;gap:7px;padding-top:10px}.design-tabs button span{font-size:9px}.design-panel{grid-template-columns:1fr;gap:20px}.design-copy{padding:0}.design-copy h3{font-size:19px;margin-bottom:10px}.design-copy>p:not(.section-kicker){font-size:12px}.design-copy .section-kicker{margin-bottom:7px}.design-detail{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:12px 0 4px}.design-detail p{margin:0;font-size:11px}.design-flow{margin-top:3px}.design-flow>a{padding:7px}.expand-hint{font-size:8px;bottom:7px;right:7px}.portfolio-page .portfolio-contact{margin-top:44px;padding-top:34px}.portfolio-contact>p:not(.section-kicker){font-size:11px}.portfolio-contact-link{font-size:22px}}
@media(prefers-reduced-motion:reduce){.play-symbol,.expand-hint{transition:none}}
