/* Refinement of the cinematic direction: clear image, quiet type, visual studies. */
.cinematic-hero::before { background:linear-gradient(90deg,#102731e8 0%,#102731a6 29%,#10273125 55%,transparent 77%),linear-gradient(0deg,#0b1b27f0 0%,#0b1b2747 18%,transparent 43%); }
.cinematic-copy { top:24%; max-width:1040px; }
.cinematic-copy h1 { font-size:clamp(76px,7.2vw,122px); }
.cinematic-copy>.eyebrow { font-weight:500; font-size:9px; letter-spacing:.2em; }
.cinematic-description { max-width:445px; font-size:14px; line-height:1.8; }
.cinematic-primary { gap:48px; transition:background .25s; }
.cinematic-primary>span,.cinematic-secondary>span { transition:transform .3s; }
.cinematic-primary:hover>span,.cinematic-primary:focus-visible>span { transform:translate(3px,-3px); }
.cinematic-secondary:hover>span,.cinematic-secondary:focus-visible>span { transform:translateX(4px); }
.cinematic-footer { padding-top:23px; padding-bottom:24px; border-top-color:#e0d5bc47; }
.hero-project-link>span:nth-child(2) { font-size:16px; }
.hero-project-link small { font-size:10px; color:#d1d9d9; }
.hero-scroll { font-size:8px; letter-spacing:.16em; }
.intro-main h2 { font-size:clamp(44px,4.2vw,65px); }
.intro-copy .lead { font-size:21px!important; }
.design-services { gap:48px; }
.design-services article { border-top-color:#bdb4a3; }
.design-services h3 { font-size:23px; }
.approach-heading { grid-template-columns:1fr 2fr; margin-bottom:42px; }
.approach-heading h2 { font-size:clamp(50px,4.6vw,72px); line-height:1.06; letter-spacing:-.045em; }
.approach-heading p { max-width:520px; margin-top:22px; }
.story-instruction { font-size:8px; letter-spacing:.15em; padding-bottom:15px; }
.design-stage { border-color:#a6b4ba2e; }
.stage-image-wrap { aspect-ratio:16/8.5; background:#1e333f; }
.stage-image-wrap #stage-image { object-fit:contain; }
.stage-caption { padding:26px 28px 18px; gap:0; }
.stage-caption-top { padding-bottom:0; }
.stage-title-meta { display:flex; align-items:center; gap:20px; }
#stage-scene-number { color:var(--champagne); font-size:9px; letter-spacing:.12em; }
.stage-caption .eyebrow { font-size:15px; letter-spacing:0; color:#eceee8; }
#stage-description { color:var(--champagne); font-size:11px; }
#stage-detail { max-width:750px; font-size:13px; line-height:1.65; color:#adbec5; margin:10px 0 23px; min-height:22px; }
.stage-controls { gap:18px; border:0; }
.stage-controls button { display:flex; align-items:center; gap:16px; padding:16px 0; border:0; border-top:1px solid #a4b5be38; min-height:112px; transition:border-color .25s,opacity .25s; }
.stage-controls button img { display:block; width:104px; height:70px; flex-shrink:0; object-fit:cover; filter:saturate(.65); opacity:.67; transition:filter .3s,opacity .3s,width .35s; }
.stage-controls button[data-view="layout"] img { object-fit:contain; background:#e7e6e1; }
.stage-controls button>span.view-choice { margin:0; display:flex; flex-direction:column; gap:9px; align-items:flex-start; }
.stage-controls button .view-number { margin:0; font-size:8px; line-height:1.4; letter-spacing:.06em; color:#9db2be; }
.stage-controls button .view-name { margin:0; font-size:12px; color:#d3dcdf; line-height:1.3; }
.stage-controls button[aria-pressed=true] { background:none; border-top-color:var(--champagne); }
.stage-controls button[aria-pressed=true] .view-number,.stage-controls button[aria-pressed=true] .view-name { color:var(--champagne); }
.stage-controls button[aria-pressed=true] img { width:120px; }
.stage-controls button[aria-pressed=true] img,.stage-controls button:hover img,.stage-controls button:focus-visible img { filter:saturate(1); opacity:1; }
.stage-controls button:hover { background:none; border-top-color:#d4bb9180; }
.stage-controls button:focus-visible { outline:2px solid var(--champagne); outline-offset:5px; }
.stage-controls button.is-pending { border-top-color:#e8edf0; }
.process { padding-top:55px; padding-bottom:76px; }
.work-heading { align-items:end; margin-bottom:54px; }
.work-heading h2 { font-size:clamp(50px,5.2vw,80px); }
.project-grid,.project-grid.filtered { align-items:start; column-gap:50px; row-gap:56px; }
.project-card:nth-child(n) { grid-column:auto; }
.project-card:first-child { grid-column:1/-1; margin-bottom:13px; }
.project-card:nth-child(n) .project-image img { aspect-ratio:16/11; object-fit:cover; }
.project-card:first-child .project-image img { aspect-ratio:16/8; }
.project-card:nth-child(2n+3) { margin-top:80px; }
.project-card:nth-child(2n+3) .project-image img { aspect-ratio:16/10; }
.project-card:nth-child(n) .project-heading h3 { font-size:32px; }
.project-card:first-child .project-heading h3 { font-size:46px; }
.project-heading { align-items:start; padding-top:24px; }
.project-type { max-width:130px; line-height:1.6; color:#687179; }
.project-card:not(:first-child) .project-type { display:none; }
.project-heading .eyebrow { font-size:8px; letter-spacing:.12em; }
.project-heading p { font-size:13px; }
.project-explore { position:absolute; left:25px; bottom:24px; padding:12px 15px; display:flex; align-items:center; gap:30px; font-size:10px; letter-spacing:.04em; color:var(--paper); background:#142631e8; opacity:0; transform:translateY(8px); transition:opacity .3s,transform .3s; }
.project-explore>span { color:var(--champagne); font-size:14px; }
.project-image:hover .project-explore,.project-image:focus-visible .project-explore { opacity:1; transform:translateY(0); }
.project-image:focus-visible { outline-color:var(--gold); outline-offset:6px; }
.project-image:hover .open-arrow,.project-image:focus-visible .open-arrow { background:var(--champagne); color:var(--ink); }
.work:has([data-filter="commercial"][aria-pressed="true"]) .project-card { grid-column:1/-1; margin-top:0; }
.work:has([data-filter="commercial"][aria-pressed="true"]) .project-image img { aspect-ratio:16/8; }
@media(max-width:1250px) and (min-width:761px) {
 .stage-controls { gap:14px; }.stage-controls button { gap:10px; }.stage-controls button img { width:76px; height:58px; }.stage-controls button .view-number { font-size:7px; }.stage-controls button .view-name { font-size:11px; }
 .stage-controls button[aria-pressed=true] img { width:84px; }
 .project-grid,.project-grid.filtered { column-gap:32px; }.project-card:nth-child(2n+3) { margin-top:55px; }
}
@media(max-width:760px) {
 .cinematic-hero::before { background:linear-gradient(90deg,#102731a8 0%,#10273135 70%,#10273115),linear-gradient(0deg,#0b1b27f0 0%,#0b1b278c 25%,#10273115 65%,#10232e35); }
 .cinematic-copy { top:auto; bottom:157px; }.cinematic-copy h1 { font-size:clamp(45px,12vw,82px); }
 .cinematic-copy>.eyebrow { font-size:8px; letter-spacing:.13em; }.cinematic-description { font-size:12px; line-height:1.7; max-width:360px; }
 .cinematic-primary { gap:18px; }.hero-project-link>span:nth-child(2) { font-size:14px; }.hero-project-link small { font-size:9px; max-width:250px; }.cinematic-footer { padding-block:20px; }
 .intro-main h2 { font-size:44px; }.intro-copy .lead { font-size:19px!important; }.design-services { gap:26px; }.design-services h3 { font-size:23px; }
 .approach-heading { display:block; margin-bottom:30px; }.approach-heading h2 { font-size:46px; line-height:1.08; }.approach-heading p { font-size:13px; }
 .story-instruction { font-size:7px; }.stage-image-wrap { aspect-ratio:4/3; }
 .stage-caption { padding:20px 15px 10px; }.stage-caption .eyebrow { font-size:13px; }#stage-description { font-size:10px; }
 #stage-detail { font-size:11px; margin-top:10px; margin-bottom:18px; min-height:37px; }
 .stage-controls { grid-template-columns:repeat(2,1fr); gap:0 15px; }
 .stage-controls button { min-height:82px; padding:13px 0; gap:9px; }.stage-controls button img { width:56px; height:48px; }.stage-controls button>span.view-choice { gap:5px; }.stage-controls button .view-number { font-size:8px; letter-spacing:0; }.stage-controls button .view-name { font-size:11px; }
 .stage-controls button[aria-pressed=true] img { width:60px; }.stage-title-meta { gap:13px; }#stage-scene-number { font-size:8px; }
 .stage-controls button:focus-visible { outline-offset:2px; }
 .work-heading { margin-bottom:34px; }.work-heading h2 { font-size:49px; }
 .project-grid,.project-grid.filtered { grid-template-columns:1fr; row-gap:38px; }.project-card:nth-child(n) { grid-column:1; margin-top:0; margin-bottom:0; }.project-card:nth-child(n) .project-image img { aspect-ratio:4/3; }.project-card:first-child .project-image img { aspect-ratio:16/11; }.project-card:nth-child(n) .project-heading h3 { font-size:31px; }.project-card .project-type { display:block!important; max-width:none; font-size:8px; }.project-heading { padding-top:21px; }
 .project-explore { display:none; }.open-arrow { width:42px; height:42px; }
}
@media(max-width:360px) { .cinematic-copy h1 { font-size:43px; }.hero-project-link small { max-width:215px; font-size:8px; }.stage-controls { gap:0 10px; }.stage-controls button { gap:7px; }.stage-controls button img { width:45px; height:43px; }.stage-controls button[aria-pressed=true] img { width:48px; }.stage-controls button .view-number { font-size:8px; }.stage-controls button .view-name { font-size:11px; }.approach-heading h2 { font-size:40px; } }
@media(prefers-reduced-motion:reduce) { .design-stage,.cinematic-primary>span,.cinematic-secondary>span,.project-explore { animation:none!important; transition:none!important; transform:none!important; clip-path:none!important; } }
