/* Homepage: content first, a single shared stage, no rasterized UI. */
body[data-view="home"],body[data-view="about"]{background:#101112;color:#ececed}
.startup,.no-script{padding:6vw;color:#ddd;background:#101112}
.chevron{width:14px;height:22px;flex:none;display:block}
.viewfinder-home{--accent:#8ebde8;max-width:2100px;min-height:100svh;margin:auto;padding:35px 4.6vw 30px;display:flex;flex-direction:column;background:#101112;color:#ececed;isolation:isolate}
.viewfinder-home a:focus-visible{outline-color:var(--accent);outline-offset:7px}
.vf-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:32px}
.vf-identity{display:flex;gap:18px;align-items:baseline;font-size:1.0625rem;letter-spacing:.08em;white-space:nowrap}
.vf-identity span{font-size:.75rem;letter-spacing:.14em}
.vf-about{display:inline-flex;align-items:center;gap:23px;min-height:44px;font-size:.875rem;letter-spacing:.04em}
.vf-about:hover{color:#fff}
.vf-layout{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr);column-gap:3.2vw;align-items:center;min-height:620px;padding:38px 0 28px}
.vf-copy{z-index:2;align-self:center;padding-bottom:120px;min-width:0}
.vf-eyebrow{font-size:.6875rem;letter-spacing:.26em;color:#999a9d;line-height:1.8;margin:0 0 23px}
.vf-copy h1{font-size:clamp(1.9rem,2.5vw,3rem);font-weight:500;line-height:1.28;letter-spacing:-.035em;max-width:none}
.vf-copy h1 span{display:block;white-space:nowrap}
.vf-project-copy{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px clamp(24px,3vw,44px);margin:0}
.vf-question{font-size:clamp(1rem,1.25vw,1.4375rem);font-weight:400;line-height:1.9;color:#b7b8bb;margin:0;min-height:3.8em}
.vf-open{display:inline-flex;gap:16px;align-items:center;min-height:44px;font-size:.9375rem;color:#babcc0;margin:0;white-space:nowrap;flex-shrink:0}
.vf-open:hover{color:#fff}.vf-open .chevron{width:12px;height:20px}
.vf-stage{position:relative;min-width:0;margin:0;z-index:1;align-self:center}
.vf-stage-link{display:block}
.scene-stack{aspect-ratio:1;position:relative}
.scene-layer{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s;pointer-events:none}
.scene-layer.is-active{opacity:1;visibility:visible}
.vf-stage .scene-layer .scene-canvas{transform:scale(var(--scene-scale,1));transform-origin:50% 50%}
.scene-canvas{position:relative;aspect-ratio:1;width:100%;isolation:isolate}
.scene-crop{position:absolute;inset:0;overflow:hidden;mask-image:radial-gradient(ellipse 70% 69% at 50% 48%,#000 46%,#000b 64%,transparent 94%)}
.scene-crop img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain}
.scene-robot .scene-crop{mask-image:radial-gradient(ellipse 62% 75% at 50% 50%,#000 55%,transparent 95%)}
/* Reuse approved poster imagery with non-destructive CSS crops; no poster text is exposed. */
.scene-loan .scene-crop,.scene-credit .scene-crop,.scene-mobility .scene-crop{inset:6% 0;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(transparent,#000 16%,#000 84%,transparent);mask-composite:intersect}
.scene-loan .scene-crop img{width:200%;height:auto;left:-100%;top:-12%;object-fit:initial}
.scene-credit .scene-crop img{width:185%;height:auto;left:-82%;top:-2%;object-fit:initial}
.scene-mobility .scene-crop img{width:190%;height:auto;left:-86%;top:-4%;object-fit:initial}
.vf-focus{position:absolute;pointer-events:none;color:var(--accent);z-index:2}
.vf-focus i{position:absolute;width:12px;height:12px;border-color:currentColor;border-style:solid;border-width:0;opacity:.78}
.vf-focus i:nth-child(1){left:0;top:0;border-top-width:1px;border-left-width:1px}
.vf-focus i:nth-child(2){right:0;top:0;border-top-width:1px;border-right-width:1px}
.vf-focus i:nth-child(3){left:0;bottom:0;border-bottom-width:1px;border-left-width:1px}
.vf-focus i:nth-child(4){right:0;bottom:0;border-bottom-width:1px;border-right-width:1px}
.vf-stage figcaption{position:static;width:100%;margin-top:24px;text-align:left}
.vf-scene-note{font-size:.625rem;line-height:1.7;letter-spacing:.02em;color:#96979b;margin:14px 0 0}
.vf-projects{z-index:3;min-width:0;align-self:center;display:flex;flex-direction:column}
.vf-project{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) 12px;column-gap:17px;min-height:82px;align-items:start;padding:13px 0 8px;color:#aeb0b5}
.vf-number{font-size:.875rem;line-height:1.8;font-variant-numeric:tabular-nums;transition:color .2s}
.vf-title{display:inline-block;font-size:clamp(.9375rem,1.22vw,1.375rem);font-weight:400;line-height:1.75;position:relative}
.vf-title:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.vf-project .chevron{margin-top:3px;width:11px;height:21px;opacity:.7}
.vf-project.is-active{color:#f3f3f4}.vf-project.is-active .vf-number{color:var(--accent)}
.vf-project.is-active .vf-title:after{transform:scaleX(1)}
.vf-project:hover .chevron{opacity:1}
.vf-mobile-label{display:none}
.vf-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:28px;font-size:.6875rem;color:#b7b8bd;letter-spacing:.17em}
.vf-counter{font-variant-numeric:tabular-nums}
/* Consistent site chrome; the case itself retains its approved visual language. */
body[data-view="about"] .topbar,body[data-view="case"] .topbar{background:#101112f2;color:#ddd;border-color:#ffffff15;backdrop-filter:blur(12px)}
.topbar-about{color:inherit}.topbar-about .chevron{display:inline-block;width:9px;height:15px;vertical-align:middle;margin-left:8px}
.topbar a:hover{color:#fff}.topbar-label{color:#a6a8ac}
body[data-view="case"]{background:var(--case-bg,#f6f8fc);color:var(--case-ink,#17243c);--blue:var(--case-accent,#2256ff);--muted:var(--case-muted,#5e6c81);--line:var(--case-line,#dce3ec)}
body[data-project="robot"]{--case-bg:#f3f6fc;--case-accent:#295aff}
body[data-project="oven"]{--case-bg:#f6f0e6;--case-ink:#3b3025;--case-accent:#91683f;--case-muted:#716456;--case-line:#ddd2c2}
body[data-project="loan"]{--case-bg:#eef5fc;--case-accent:#2560c5}
body[data-project="credit"]{--case-bg:#101f34;--case-ink:#edf3fb;--case-accent:#a6c9ef;--case-muted:#a3b6d0;--case-line:#34465d}
body[data-project="mobility"]{--case-bg:#f1f0eb;--case-ink:#27312c;--case-accent:#597864;--case-muted:#64726b;--case-line:#d3d9d2}
.case-visual{border-radius:2px;background:#101112;overflow:hidden;max-width:510px;width:100%;justify-self:end;position:relative}
.case-visual figcaption{position:absolute;bottom:12px;text-align:center;width:100%;color:#a3a6ab;font-size:.625rem}
.case-intro{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
.case-visual{margin:0}.case-section .page-image{border:0}.case-page .ownership{max-width:720px}
.viewer-toolbar,.viewer-toolbar button{color:#17243c;--line:#dce3ec}
body[data-view="about"]{--ink:#ececed;--muted:#a8acb1;--line:#34373c;--blue:#a8c6e5}
body[data-view="about"] .about-motto{font-size:clamp(2rem,3.3vw,3.75rem);font-weight:500;line-height:1.35;letter-spacing:-.045em}
body[data-view="about"] .about-motto span{color:#aeb8c3}
.about-contact .chevron{display:inline-block;vertical-align:middle;width:12px;height:19px;margin-left:12px}
@media(min-width:1750px){.vf-layout{column-gap:4vw;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) minmax(0,.87fr)}.vf-project{min-height:94px}}
@media(max-width:1180px){.vf-layout{column-gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)}.vf-copy h1{font-size:1.85rem}.vf-question{font-size:1rem}.vf-project{column-gap:10px;min-height:78px}.vf-title{font-size:.9375rem}.vf-copy{padding-bottom:0}}
/* At narrower / zoomed layouts the stage gets its own space; no horizontal scrolling. */
@media(max-width:980px){.viewfinder-home{padding:23px 28px 25px}.vf-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;min-height:0;padding:55px 0 42px}.vf-copy{grid-column:1;grid-row:1}.vf-copy h1{font-size:clamp(1.6rem,3.6vw,2.4rem)}.vf-stage{grid-column:2;grid-row:1}.vf-projects{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:20px}.vf-project{min-height:80px}.vf-title{font-size:1rem}.vf-mobile-label{grid-column:1/-1;display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.06em;color:#a1a3a8;margin:0 0 16px}.vf-mobile-label span{letter-spacing:0}.vf-scene-note{font-size:.5625rem}.case-intro{display:block}.case-visual{margin:28px 0 0;max-width:430px;justify-self:start}}
@media(max-width:600px){.viewfinder-home{padding:18px 24px 24px}.vf-identity{gap:10px;font-size:.9375rem}.vf-identity span{font-size:.625rem}.vf-about{font-size:.75rem;gap:10px}.vf-about .chevron{width:10px;height:17px}.vf-layout{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:45px 0 32px}.vf-copy{display:contents}.vf-eyebrow{order:0;font-size:.625rem;letter-spacing:.2em;margin-bottom:16px}.vf-copy h1{order:1;font-size:clamp(1.6rem,6.9vw,2.5rem);line-height:1.3}.vf-copy h1 span{white-space:normal}.vf-stage{order:2;width:100%;max-width:450px;margin:13px auto 0}.vf-question{font-size:1rem;min-height:0;line-height:1.85}.vf-open{font-size:.875rem;gap:12px}.vf-projects{order:4;display:block;margin-top:42px}.vf-mobile-label{display:flex;padding-bottom:14px;border-bottom:1px solid #ffffff1a;margin-bottom:9px}.vf-project{min-height:68px;grid-template-columns:25px 1fr 12px;column-gap:14px;padding:14px 0 8px}.vf-title{font-size:1rem}.vf-footer{font-size:.625rem}.vf-project-text{min-width:0}.vf-focus i{width:9px;height:9px}.case-visual{max-width:100%}}
@media(prefers-reduced-motion:reduce){.scene-layer,.vf-title:after,.vf-number{transition:none}}
.vf-font-probe{position:absolute;width:1rem;height:1px;visibility:hidden;pointer-events:none}
.original-size .viewer-image{width:var(--image-native-width,1586px)}
.viewfinder-home[data-large-text] .vf-header{flex-wrap:wrap}
.viewfinder-home[data-large-text] .vf-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;min-height:0;padding-top:64px}
.viewfinder-home[data-large-text] .vf-copy h1 span{white-space:normal}
.viewfinder-home[data-large-text] .vf-projects{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px 48px;width:100%}
.viewfinder-home[data-large-text] .vf-project{grid-template-columns:2em minmax(0,1fr) 12px;min-height:5em}
.viewfinder-home[data-large-text] .vf-mobile-label{grid-column:1/-1;display:flex;justify-content:space-between}
@media(max-width:600px){.vf-projects{align-self:stretch;width:100%}.viewfinder-home[data-large-text] .vf-projects{grid-template-columns:1fr;gap:0}.viewfinder-home[data-large-text] .vf-layout{gap:0}.viewfinder-home[data-large-text] .vf-mobile-label{flex-wrap:wrap;gap:12px}}

/* Desktop: adapt the existing composition to available window height.
   Keep natural document scrolling for very short windows and enlarged text. */
@media(min-width:981px){
  .viewfinder-home:not([data-large-text]){min-height:100dvh;padding-top:clamp(18px,3.5dvh,35px);padding-bottom:clamp(18px,3dvh,30px)}
  .viewfinder-home:not([data-large-text]) .vf-header,
  .viewfinder-home:not([data-large-text]) .vf-footer{flex-shrink:0}
  .viewfinder-home:not([data-large-text]) .vf-layout{min-height:0;padding-top:clamp(12px,3dvh,38px);padding-bottom:clamp(12px,2dvh,28px)}
  .viewfinder-home:not([data-large-text]) .vf-stage{width:100%;max-width:clamp(220px,calc(100dvh - clamp(350px,21vw,410px)),760px);justify-self:center}
  .viewfinder-home:not([data-large-text]) .vf-stage figcaption{margin-top:clamp(12px,2.4dvh,24px)}
  .viewfinder-home:not([data-large-text]) .vf-project{min-height:clamp(54px,9dvh,94px);padding-top:clamp(7px,1.2dvh,13px);padding-bottom:clamp(6px,.7dvh,8px)}
  .viewfinder-home:not([data-large-text]) .vf-copy{padding-bottom:clamp(20px,12dvh,120px)}
}
