/* Isolated hero study. No production selectors or motion controllers. */
html:has(.hl-page){scroll-behavior:smooth}
.hl-page{margin:0;background:var(--korppi-mist);color:var(--korppi-raven);font-family:var(--brand-display);-webkit-font-smoothing:antialiased;--hl-gutter:clamp(22px,3.2vw,68px);--hl-header:82px}
.hl-page *{box-sizing:border-box}
.hl-page a{color:inherit;text-decoration:none}
.hl-page button{font:inherit;color:inherit;cursor:pointer}
.hl-page [hidden]{display:none!important}
.hl-page :focus-visible{outline:2px solid var(--accent-focus);outline-offset:5px}
.hl-header{height:var(--hl-header);padding:12px var(--hl-gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;position:fixed;inset:0 0 auto;z-index:10;background:#f5f5f3b8;backdrop-filter:blur(14px);border-bottom:1px solid #46505a18}
.hl-header .brand{width:132px;flex-shrink:0;line-height:0}
.hl-header .brand-logo{width:100%;height:auto}
.hl-study-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.hl-header nav{display:flex;gap:8px}
.hl-header nav a,.hl-header button{min-height:42px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--korppi-gray-200);padding:0 15px;font-size:11px;text-transform:uppercase;letter-spacing:.035em;transition:background .18s,color .18s,border-color .18s}
.hl-header nav a:hover,.hl-header button:hover{background:var(--korppi-raven);color:var(--korppi-snow);border-color:var(--korppi-raven)}
.hl-header button[aria-pressed=true]{border-color:var(--accent-focus)}
.hl-story{min-block-size:100svh;position:relative}
.hl-stage{min-block-size:100svh;position:relative;isolation:isolate;overflow:clip}
.hl-copy{position:relative;z-index:2;padding:clamp(145px,23svh,245px) 0 140px var(--hl-gutter);width:54%;max-width:1050px;opacity:var(--copy-opacity,1)}
.hl-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;margin:0 0 27px}
.hl-copy h1{font-size:clamp(54px,6.4vw,120px);font-weight:400;letter-spacing:-.065em;line-height:1.06;margin:0;overflow-wrap:normal}
.hl-copy h1 span{display:block;max-width:8em;color:#626b72}
.hl-intro{font-size:clamp(17px,1.45vw,23px);line-height:1.5;max-width:28em;margin:30px 0 24px;color:#46505a}
.hl-primary{display:inline-flex;gap:40px;align-items:center;padding:18px 22px;background:var(--korppi-raven);color:var(--korppi-snow)!important;font-size:14px;transition:background .2s}
.hl-primary:hover{background:#39424b}
.hl-fallback{position:absolute;left:71%;top:49%;width:min(48vw,78svh);aspect-ratio:.94;height:auto;transform:translate(-50%,-50%);object-fit:cover;object-position:61% 50%;border-radius:50%;box-shadow:0 15px 35px #171b2120}
.hl-canvas{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}
:is(.hl-page,.hl-home)[data-lens-renderer=webgl] .hl-canvas{display:block}
:is(.hl-page,.hl-home)[data-lens-renderer=webgl] .hl-fallback{visibility:hidden}
.hl-bottom{position:absolute;bottom:30px;left:var(--hl-gutter);right:var(--hl-gutter);z-index:3;border-top:1px solid #46505a33;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#46505a;opacity:var(--copy-opacity,1)}
.hl-bottom a{display:flex;gap:32px}
.hl-bottom a:hover{text-decoration:underline;text-underline-offset:5px}
.hl-lens-label{display:none;position:absolute;left:var(--lens-label-x,73%);top:var(--lens-label-y,87%);z-index:2;font-size:10px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;transform:translateX(-50%);opacity:var(--copy-opacity,1);color:#657079;pointer-events:none}
:is(.hl-page,.hl-home)[data-lens-renderer=webgl] .hl-lens-label{display:flex;gap:10px;align-items:center}
.hl-dot{width:5px;height:5px;border-radius:50%;background:var(--accent-focus)}
.hl-field-copy{display:none;position:absolute;z-index:2;left:var(--hl-gutter);bottom:18%;max-width:730px;color:var(--korppi-snow);opacity:var(--field-opacity,0);pointer-events:none}
.hl-field-title{font-size:clamp(46px,6vw,100px);font-weight:400;letter-spacing:-.06em;line-height:1.02;margin:0 0 30px;max-width:8em}
.hl-field-note{font-size:14px;line-height:1.5;max-width:22em;color:#e2e6e9}
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-story{min-block-size:235svh}
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-stage{position:sticky;top:0;height:100svh}
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-field-copy{display:block}
.hl-evidence{min-block-size:100svh;position:relative;color:var(--korppi-snow)}
.hl-evidence-stage{position:relative;min-block-size:100svh;isolation:isolate;background:var(--korppi-graphite);overflow:clip}
.hl-evidence-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(.9) brightness(.72)}
.hl-evidence .hl-field-copy{display:block;opacity:1}
.hl-evidence-bottom,.hl-footer{display:flex;align-items:center;justify-content:space-between;gap:30px}
.hl-evidence-bottom{position:absolute;z-index:2;inset:auto var(--hl-gutter) 30px;border-top:1px solid #ffffff30;padding-top:20px;font-size:12px;line-height:1.5}
.hl-field-target{position:absolute;left:57%;top:39%;width:22%;height:35%;color:#dceaf1;pointer-events:none}
.hl-field-target::before,.hl-field-target::after{content:"";position:absolute;width:22px;height:22px;border-color:#b2d5e6aa;border-style:solid}
.hl-field-target::before{left:0;top:0;border-width:1px 0 0 1px}.hl-field-target::after{right:0;bottom:0;border-width:0 1px 1px 0}
.hl-field-target span{position:absolute;left:0;top:calc(100% + 12px);font-size:11px;letter-spacing:.03em}
/* Both surfaces meet at the same scroll coordinate, with identical crop, exposure and typography. */
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-evidence{margin-top:-100svh;min-block-size:165svh;z-index:4}
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-evidence-stage{position:sticky;top:0;height:100svh;visibility:hidden}
:is(.hl-page,.hl-home)[data-field-arrived=true] .hl-evidence-stage{visibility:visible}
:is(.hl-page,.hl-home)[data-field-arrived=true] .hl-stage{visibility:hidden}
:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-evidence :is(.hl-field-target,.hl-evidence-bottom){opacity:0;transition:opacity .3s ease}
:is(.hl-page,.hl-home)[data-field-arrived=true] .hl-evidence :is(.hl-field-target,.hl-evidence-bottom){opacity:1}
.hl-evidence-bottom a,.hl-footer a{text-decoration:underline;text-underline-offset:5px}
.hl-footer{padding:25px var(--hl-gutter);font-size:12px;line-height:1.5}
.hl-footer p{max-width:52em}
@media(min-width:1800px){.hl-copy{padding-top:24svh;width:51%}}
@media(max-width:850px){.hl-page{--hl-header:72px}.hl-study-label{display:none}.hl-copy{width:58%;padding-top:23svh}.hl-copy h1{font-size:clamp(45px,7vw,70px)}.hl-intro{font-size:16px}.hl-bottom>span{max-width:45%}}
@media(max-width:600px){.hl-page{--hl-header:68px}.hl-header{gap:12px}.hl-header .brand{width:100px}.hl-header nav{gap:6px}.hl-header nav a,.hl-header button{padding:0 9px;font-size:9px;min-height:38px}.hl-copy{padding:calc(var(--hl-header) + 40px) var(--hl-gutter) 420px;width:100%;max-width:none}.hl-copy h1{font-size:clamp(43px,10.8vw,64px);letter-spacing:-.065em}.hl-copy h1 span{max-width:none}.hl-eyebrow{font-size:10px;margin-bottom:18px}.hl-intro{font-size:15px;max-width:27em;margin:20px 0}.hl-primary{padding:14px 18px;font-size:12px;gap:30px}.hl-fallback{top:auto;bottom:75px;left:57%;width:72%;height:auto;max-height:330px;transform:translateX(-50%)}.hl-lens-label{display:none!important}.hl-bottom{bottom:20px;padding-top:15px;font-size:10px}.hl-bottom a{gap:12px}:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-stage{height:max(850px,100svh)}:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-story{min-block-size:calc(max(850px,100svh) + 135svh)}.hl-stage{min-block-size:max(850px,100svh)}.hl-field-copy{bottom:18%;max-width:85%}.hl-evidence-head{grid-template-columns:1fr;gap:5px;margin-bottom:30px}.hl-evidence h2{font-size:48px}.hl-evidence-bottom,.hl-footer{align-items:flex-start;flex-direction:column;gap:10px}.hl-evidence figcaption{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html:has(.hl-page){scroll-behavior:auto}.hl-page *{scroll-behavior:auto!important;transition:none!important}}

@media(max-height:800px) and (min-width:601px){.hl-lens-label{display:none!important}}
@media(max-width:600px){.hl-header{padding-inline:16px;gap:8px}.hl-header .brand{width:76px}.hl-header nav{min-width:0}.hl-header nav a{display:none}.hl-header button{max-width:104px}}
@media(max-width:600px){:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-evidence{margin-top:calc(-1 * max(850px,100svh));min-block-size:calc(max(850px,100svh) + 65svh)}.hl-evidence-stage{min-block-size:max(850px,100svh)}:is(.hl-page,.hl-home)[data-lens-enhanced=true] .hl-evidence-stage{height:max(850px,100svh)}.hl-field-target{left:59%;width:30%}.hl-evidence-bottom{flex-direction:row;align-items:center}}

/* Home uses its existing header, section navigation and later scene controllers. */
.hl-home{--hl-gutter:clamp(22px,3.2vw,68px);--hl-header:var(--scene-header,82px)}
.hl-home .hl-primary{text-decoration:none}
.hl-home .hl-evidence .field-image-drift{inset:0;animation:none!important;transform:none}
.hl-home .hl-evidence .hl-evidence-photo{object-position:50% 50%;filter:grayscale(.9) brightness(.72);transform:none}
.hl-home .hl-evidence .hl-field-target{left:calc(var(--target-x,.57)*100%);top:calc(var(--target-y,.39)*100%);width:calc(var(--target-w,.22)*100%);height:calc(var(--target-h,.35)*100%)}
.hl-home .hl-copy h1{max-inline-size:none}

.hl-home .hl-evidence{background:transparent;scroll-margin-block-start:-96px}
.hl-home .hl-intro{margin:30px 0 24px}
.hl-home .hl-eyebrow{margin:0 0 27px}
.hl-home .hl-field-title{margin:0 0 30px}
/* Identical metrics on both sides of the reveal, regardless of p/h2 defaults. */
:is(.hl-home,.hl-page) .hl-field-copy .hl-field-title{font-size:clamp(46px,6vw,100px);font-weight:400;letter-spacing:-.06em;line-height:1.02;max-inline-size:8em;margin:0 0 30px;transform:none}
:is(.hl-home,.hl-page) .hl-field-copy .hl-field-note{font-size:14px;line-height:1.5;max-inline-size:22em;margin:0;transform:none}
@media(max-width:600px){.hl-home .hl-intro{margin:20px 0}.hl-home .hl-eyebrow{margin-bottom:18px}}

/* The inner bracket marks the defect; the larger bounds still own the photo handoff. */
.hl-observation::before,.hl-observation::after{width:30px;height:30px;border-color:#c1e8fa;border-width:2px 0 0 2px;filter:drop-shadow(0 1px 2px #000)}
.hl-observation::after{border-width:0 2px 2px 0}
.hl-defect{position:absolute;left:25.8%;top:22.2%;width:25%;height:48%;border:2px solid #c1e8fa;box-shadow:0 0 0 1px #101820b3,0 0 24px #b3dcf22b}
.hl-defect::after{content:"";position:absolute;left:50%;top:100%;height:20px;border-left:1px solid #c1e8fa}
.hl-observation-note{position:absolute;left:25.8%;top:calc(70.2% + 20px);width:clamp(190px,20vw,290px);padding:14px 17px;background:#11191ff2;border-left:2px solid #c1e8fa;color:#fff;box-shadow:0 6px 24px #0003}
.hl-observation-note small{font-size:10px;letter-spacing:.06em;color:#c1e8fa}
.hl-observation-note strong{display:block;margin:7px 0 5px;font-size:clamp(16px,1.3vw,21px);font-weight:400;line-height:1.2}
.hl-home .hl-observation-note p{margin:0;font-size:12px;line-height:1.5;color:#e1e6e9}
@keyframes hl-defect-lock{from{transform:scale(1.35);box-shadow:0 0 0 1px #101820b3,0 0 42px #b3dcf27a}to{transform:scale(1);box-shadow:0 0 0 1px #101820b3,0 0 24px #b3dcf22b}}
.hl-home[data-field-arrived=true] .hl-defect{animation:hl-defect-lock .7s cubic-bezier(.16,1,.3,1) both}
.hl-home.atmosphere-paused .hl-defect{animation-play-state:paused}
.hl-home.photo-bridging .hl-observation{opacity:calc(1 - var(--bridge-out,0))}
@media(max-width:600px){.hl-observation-note{left:calc(22px - var(--target-x,0)*100vw);max-width:calc(100vw - 44px);width:260px;padding:11px 13px}.hl-home .hl-field-copy{bottom:auto;top:calc(var(--hl-header) + 34px)}.hl-home .hl-field-title{font-size:42px;margin-bottom:16px}.hl-home .hl-field-note{font-size:12px;max-width:23em}.hl-home .hl-evidence .hl-evidence-photo,.hl-evidence-photo{object-position:67% 50%}}
@media(prefers-reduced-motion:reduce){.hl-home .hl-defect{animation:none!important}.hl-home .hl-evidence :is(.hl-field-target,.hl-evidence-bottom){transition:none}}
@media(max-width:600px){:is(.hl-home,.hl-page) .hl-field-copy .hl-field-title{font-size:42px;margin-bottom:16px}:is(.hl-home,.hl-page) .hl-field-copy .hl-field-note{font-size:12px;max-inline-size:23em}}

.assembly-phone-flight{position:fixed;inset:0;z-index:9;pointer-events:none;color:#f5f5f1}
.assembly-phone-flight[hidden]{display:none!important}
.assembly-phone-shell{position:absolute;overflow:clip;border:1px solid #83909a;box-sizing:border-box;box-shadow:0 16px 36px #0002}
.hl-home .assembly-phone-content.direction-phone{position:absolute;top:-1px;margin:0;box-sizing:border-box;transform:none}
.assembly-phone-content .record-photo-slot img{visibility:hidden}
.assembly-phone-photo{position:absolute;object-fit:cover;border-radius:7px}
.assembly-phone-flight .assembly-phone-sheet{position:absolute;transform-origin:top left;margin:0;box-sizing:border-box}
.assembly-phone-sheet .piece-photo img{visibility:hidden}
.assembly-phone-sheet .direction-piece{transform:none}
.assembly-phone-sheet .piece-photo img{aspect-ratio:1.6;height:auto}
.hl-home.assembly-phone-relay #direction-handoff .direction-phone{opacity:0}
@media(prefers-reduced-motion:reduce){.assembly-phone-flight{display:none!important}.hl-home.assembly-phone-relay #direction-handoff .direction-phone{opacity:1}}
