/* V3 refines the existing identity: concise evidence and room to read. */
.v63.case-page .case-hero.v3-cinematic-hero{display:flex;flex-direction:column;min-height:clamp(640px,76svh,800px);padding:30px 0 34px;}
.v63.case-page .v3-cinematic-hero .breadcrumbs{margin:0;font-size:12px;}
.v63 .v3-hero-heading{min-width:0;margin:auto 0 0;padding:64px 0 28px;}
.v63.case-page .v3-hero-heading .case-kicker{display:block;}
.v63.case-page .v3-hero-heading .eyebrow{opacity:.7;font-size:12px;letter-spacing:.1em;color:var(--text);}
.v63.case-page .v3-hero-heading h1.case-title{font-size:clamp(64px,7.6vw,112px);line-height:1.05;letter-spacing:-.065em;max-width:20ch;margin:24px 0 24px;text-wrap:balance;}
.v63.case-page .v3-hero-heading .case-deck{font-size:clamp(24px,2.3vw,32px);line-height:1.4;max-width:none;width:100%;margin:0;color:#ddd5e6;text-wrap:pretty;}
.v63 .v3-project-card{align-self:flex-start;width:100%;margin-bottom:auto;padding:25px 28px;background:linear-gradient(135deg,#ffffff12,#ffffff02 42%,#00000018),#040506d1;border:1px solid #ffffff30;border-radius:20px;box-shadow:inset 0 1px 0 #ffffff2b,inset 1px 0 0 #ffffff0a,inset 0 -1px 0 #ffffff08,0 16px 44px #0008;-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);}
.v63.case-page .v3-project-card .case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0;border:0;}
.v63.case-page .v3-project-card .case-meta>div{min-width:0;}
.v63.case-page .v3-project-card dt{font-size:11px;line-height:1.5;margin:0 0 7px;color:var(--muted);}
.v63.case-page .v3-project-card dd{font-size:14px;line-height:1.55;margin:0;color:var(--text);}
@supports not (backdrop-filter:blur(1px)){.v63 .v3-project-card{background:#08090b;}}
@media(prefers-reduced-transparency:reduce){.v63 .v3-project-card{background:#08090b;backdrop-filter:none;}}
.v63.case-page .case-content>.case-chapter:first-of-type{border-top:0;}
/* Use the homepage's exact ambient fade, scrim and colour treatment. */
.v63 :is(.case-film-header,.case-film-footer){overflow:visible;}
.v63 .case-film-backdrop{inset:auto;inset-block:-100px -120px;left:0;width:100%;background:transparent;mask-image:linear-gradient(transparent,#000 20%,#000 68%,transparent);}
.v63 .case-film-header>.case-film-backdrop{inset-block:-125px -110px;}
.v63 .case-film-backdrop video{object-position:65% 47%;filter:hue-rotate(65deg) saturate(.68);opacity:.72;border:0;border-radius:0;}
.v63 .case-film-footer .case-film-backdrop video{object-position:65% 45%;}
.v63 .case-film-backdrop::after{background:linear-gradient(90deg,#0e0c15eb 0%,#0e0c15b5 42%,#0e0c1535 85%),linear-gradient(0deg,#0e0c15a6,transparent 55%),radial-gradient(ellipse at 80% 40%,#7517f81c,transparent 70%);}
.v63 .v3-mobile-ask{display:none;}
.v63 .v3-reference-status{display:block;margin:5px 0;font-size:12px;line-height:1.5;color:var(--muted);}
.v63 :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.v63 .gallery-filmstrip{scroll-padding-inline:4px;}
.v63 .gallery-controls button{min-width:44px;min-height:44px;}
.v63 .model-wip-label{position:absolute;top:12px;left:12px;padding:6px 9px;border:1px solid #ffffff30;border-radius:7px;background:#0e0c15e6;color:#ddd5e6;font:600 10px/1.3 var(--body);letter-spacing:.08em;pointer-events:none;}
.v63 .memory-image-gallery .gallery-stage{display:grid;gap:28px;}
.v63 .memory-image-pair{display:grid;grid-template-columns:var(--pair-columns,1fr 1fr);gap:22px;align-items:start;min-width:0;}
.v63 .memory-image-gallery .gallery-slide{margin:0!important;}
.v63 .memory-image-gallery .gallery-enlarge{max-width:none;width:100%;}
.v63 .memory-image-gallery .gallery-slide .gallery-enlarge img{width:100%;height:auto;max-height:none;object-fit:contain;}
.v63 .memory-image-gallery .gallery-toolbar .eyebrow{max-width:none;}
.v63 .memory-image-gallery .gallery-controls,.v63 .memory-image-gallery .gallery-filmstrip{display:none;}
@media(max-width:640px){.v63 .memory-image-pair{grid-template-columns:1fr;gap:22px;}.v63 .memory-image-gallery .gallery-stage{gap:22px;}}
.v63 .case-chapter{scroll-margin-top:96px;}
@media(max-width:760px){
 html:has(body.v63){scroll-padding-top:88px;}
 .v63 .case-chapter{scroll-margin-top:16px;}
 .v63.v62 .portfolio-header .nav{padding-block:12px;gap:10px;min-height:0;}
 .v63.v62 .nav .scroll-console{gap:3px;padding:3px 5px;}
 .v63.v62 .nav .scroll-console .resume-nav{font-size:12px;padding:0 7px 0 3px;min-height:44px;}
 .v63.v62 .nav .scroll-console .explorer-hud{min-height:44px;gap:4px;padding:4px 2px;}
 .v63.v62 .nav .scroll-console .hud-identity{gap:5px;}
 .v63.v62 .nav .scroll-console .hud-level{width:23px;}
 .v63.v62 .nav .scroll-console .hud-rank{min-width:0;}
 .v63.v62 .nav .scroll-console .hud-rank strong{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;}
 .v63.v62 .nav .scroll-console .header-radio{padding-left:4px;}
 .v63.v62 .nav .scroll-console .radio-volume-button{display:none!important;}
 .v63.v62 .nav .scroll-console .radio-toggle{min-width:44px;min-height:44px;}
 .v63.v62 .v3-mobile-ask{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:44px;min-height:44px;padding:2px 6px;border:0;border-left:1px solid #b49cc62b;border-radius:0 9px 9px 0;color:var(--accent);background:transparent;font-size:9px;line-height:1.3;}
 .v63 .v3-mobile-ask svg{display:block;}
 .v63.v61 .ask-trigger{display:none!important;}
 .v63.v61 #assistant:not([hidden]){--assistant-open-width:calc(100% - 24px);--assistant-open-height:min(620px,calc(100dvh - 100px));right:12px;bottom:0;max-width:calc(100% - 24px);max-height:calc(100dvh - 100px);}
 .v63.v61 #assistant .chat-log{min-height:60px;overscroll-behavior:contain;}
 .v63.v61 #assistant .chat-compose input{font-size:16px;}
 .v63.case-page .case-hero.v3-cinematic-hero{min-height:620px;padding:22px 0 28px;}
 .v63 .v3-hero-heading{padding:54px 0 24px;}
 .v63.case-page .v3-hero-heading .eyebrow{font-size:10px;letter-spacing:.09em;}
 .v63.case-page .v3-hero-heading h1.case-title{font-size:clamp(43px,11.5vw,68px);margin:20px 0;max-width:none;}
 .v63.case-page .v3-hero-heading .case-deck{font-size:22px;max-width:none;}
 .v63 .v3-project-card{padding:20px;border-radius:18px;}
 .v63.case-page .v3-project-card .case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;}
 .v63.case-page .v3-project-card dd{font-size:13px;}
 .v63 .case-film-backdrop video,.v63 .case-film-footer .case-film-backdrop video{object-position:62% 50%;opacity:.58;}
 .v63 .case-film-backdrop::after{background:linear-gradient(90deg,#0e0c15cd,#0e0c1580),linear-gradient(0deg,#0e0c1570,transparent);}
 .v63 .gallery-filmstrip{gap:7px;}
 .v63 .gallery-thumb{min-height:44px;}
 .v63.v62 .recorded-samples{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .v63.v62 .recorded-slot{display:none;}
 .v63 .case-gallery-dialog,.v63 .gallery-dialog{max-width:calc(100vw - 20px);}
}
@media(max-width:360px){
 .v63.v62 .nav .scroll-console .resume-nav{font-size:11px;padding-right:5px;}
 .v63.v62 .nav .scroll-console .hud-open{width:10px;}
 .v63.v62 .nav .scroll-console .explorer-hud{grid-template-columns:minmax(0,1fr) 10px;}
}
@media print{.v63 .v3-mobile-ask{display:none!important;}.v63.case-page .case-hero.v3-cinematic-hero{min-height:0;}.v63 .v3-project-card{background:none;box-shadow:none;backdrop-filter:none;break-inside:avoid;}}
.email-access-panel {margin-top:24px;padding:20px;border:1px solid rgba(191,246,109,.18);border-radius:16px;background:rgba(191,246,109,.035)}
.email-access-panel p {margin:0 0 18px;color:var(--muted,#b0abb9);font-size:14px;line-height:1.6}
.email-access-actions {display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.email-access-actions .button {text-decoration:none}
.email-access-actions .text-btn {font-size:13px;text-decoration:none}
.legacy-access {margin-top:20px;color:var(--muted,#b0abb9);font-size:13px}
.legacy-access summary {cursor:pointer;padding:8px 0}
.legacy-access form {margin-top:12px}
@media(max-width:520px){.email-access-actions{align-items:stretch;flex-direction:column}.email-access-actions .button{text-align:center}.email-access-panel{padding:16px}}

/* The project film carries through the opening, with the homepage's ambient treatment. */
.v63 .case-intro{isolation:isolate;background:#0e0c15;}
.v63 .case-intro[open]{justify-content:flex-start;}
.v63 .case-intro::backdrop{background:#0e0c15;}
.v63 .case-intro-film-field{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 20%,#000 68%,transparent);}
.v63 .case-intro .case-intro-film{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:65% 47%;filter:hue-rotate(65deg) saturate(.68);opacity:.72;border:0;border-radius:0;outline:0;box-shadow:none;}
.v63 .case-intro-film-field::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0c15eb 0%,#0e0c15b5 42%,#0e0c1535 85%),linear-gradient(0deg,#0e0c15a6,transparent 55%),radial-gradient(ellipse at 80% 40%,#7517f81c,transparent 70%);}
.v63 .case-intro-center{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 0;}
.v63 .case-intro-footer{position:relative;z-index:1;flex:none;}
@media(max-width:760px){
 .v63 .case-intro .case-intro-film{object-position:62% 50%;opacity:.58;}
 .v63 .case-intro-film-field::after{background:linear-gradient(90deg,#0e0c15cd,#0e0c1580),linear-gradient(0deg,#0e0c1570,transparent);}
}

/* A first-visit film opening. The video and typography do the work. */
html.site-arrival-pending,html.site-arrival-active{overflow:hidden;}
html.site-arrival-pending::after{content:'';position:fixed;inset:0;z-index:2147483647;background:#0e0c15;pointer-events:none;}
.v63 .site-arrival{position:fixed;inset:0;isolation:isolate;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#0e0c15;color:var(--text);cursor:auto;}
.v63 .site-arrival[open]{display:grid;align-items:center;}
.v63 .site-arrival::backdrop{background:transparent;}
.site-arrival *{box-sizing:border-box;}
.arrival-cinema,.arrival-scrim{position:absolute;inset:0;pointer-events:none;}
.v63 .site-arrival .arrival-video{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:65% 48%;border:0;border-radius:0;filter:hue-rotate(65deg) saturate(.8);opacity:.9;transform-origin:65% 48%;animation:arrival-film-in 4.3s cubic-bezier(.16,.55,.2,1) both;will-change:transform;}
.arrival-scrim{background:linear-gradient(90deg,#0e0c15db 0%,#0e0c1555 58%,#0e0c1524),linear-gradient(0deg,#0e0c15e6,transparent 34%,#0e0c1533 75%,#0e0c15b3);}
.arrival-copy{position:relative;z-index:1;width:calc(100% - 112px);max-width:1440px;margin:0 auto;transform:translateY(-3vh);}
.v63 .arrival-kicker{font-family:var(--sans,inherit);font-size:12px;letter-spacing:.17em;text-transform:uppercase;line-height:1.6;color:#f5edf9b3;margin:0 0 30px;animation:arrival-kicker-in .8s .15s both;}
.v63 #arrivalTitle{font-family:var(--display);font-size:clamp(64px,8.6vw,132px);font-weight:450;line-height:1.06;letter-spacing:-.065em;margin:0;max-width:13ch;}
.arrival-line{display:block;overflow:hidden;padding:0 .1em .12em 0;margin-right:-.1em;}
.arrival-line>span,.arrival-line>em{display:block;transform-origin:left bottom;animation:arrival-type-in 1.1s .35s cubic-bezier(.16,1,.25,1) both;}
.arrival-line>em{font-family:var(--serif);font-size:1.09em;font-style:italic;font-weight:400;line-height:1.02;letter-spacing:-.055em;color:var(--accent);animation-delay:.62s;text-shadow:0 0 60px #86efa914;}
.arrival-actions{position:absolute;z-index:2;right:max(56px,calc((100vw - 1440px)/2));bottom:max(38px,env(safe-area-inset-bottom));animation:arrival-kicker-in .7s .75s both;}
.v63 .arrival-enter{display:flex;align-items:center;justify-content:center;gap:32px;min-height:52px;padding:15px 21px;border:1px solid #ffffff36;border-radius:15px;background:linear-gradient(135deg,#ffffff12,#ffffff02 42%,#00000018),#040506a8;box-shadow:inset 0 1px 0 #ffffff2b,0 14px 40px #0005;backdrop-filter:blur(26px) saturate(150%);color:var(--text);font:14px var(--body,inherit);cursor:pointer;transition:border-color .2s,background .2s;}
.arrival-enter svg{color:var(--accent);transition:transform .2s;}
.v63 .arrival-enter:hover{border-color:var(--accent);background:#08090bdd;}
.arrival-enter:hover svg{transform:translateX(3px);}
.v63 .arrival-enter:focus-visible{outline:2px solid var(--accent);outline-offset:5px;}
.v63 .site-arrival.is-exiting{animation:arrival-away 1s cubic-bezier(.4,0,.2,1) both;pointer-events:none;}
.v63 .site-arrival.is-exiting .arrival-video{animation:arrival-flight 1s cubic-bezier(.5,0,.12,1) both;}
.site-arrival.is-exiting .arrival-copy{animation:arrival-copy-away .45s ease-in both;}
.site-arrival.is-exiting .arrival-actions{animation:arrival-button-away .2s both;}
html.site-arrival-revealing body>main{animation:arrival-page-in 1s cubic-bezier(.16,1,.3,1) both;}
html.site-arrival-revealing body>:is(.portfolio-header,.section-timeline,.ask-trigger){animation:arrival-controls-in .9s .1s cubic-bezier(.16,1,.3,1) both;}
@keyframes arrival-film-in{from{transform:scale(1.14);opacity:.2;}to{transform:scale(1);opacity:.9;}}
@keyframes arrival-kicker-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes arrival-type-in{from{transform:translateY(112%) rotate(2deg);filter:blur(7px);opacity:0;}to{transform:none;filter:none;opacity:1;}}
@keyframes arrival-flight{from{transform:scale(1);filter:hue-rotate(65deg) saturate(.8) blur(0);}to{transform:scale(1.8);filter:hue-rotate(65deg) saturate(.8) blur(9px);}}
@keyframes arrival-away{0%,15%{opacity:1;}100%{opacity:0;}}
@keyframes arrival-copy-away{to{opacity:0;transform:translateY(-7vh) scale(1.025);filter:blur(7px);}}
@keyframes arrival-button-away{to{opacity:0;}}
@keyframes arrival-page-in{from{opacity:.45;transform:translateY(22px) scale(.985);filter:blur(4px);}to{opacity:1;transform:none;filter:none;}}
@keyframes arrival-controls-in{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}
@media(max-width:760px){
 .arrival-copy{width:calc(100% - 44px);transform:translateY(-2vh);}
 .v63 .arrival-kicker{font-size:10px;letter-spacing:.12em;margin-bottom:24px;}
 .v63 #arrivalTitle{font-size:clamp(40px,10.2vw,72px);max-width:14ch;}
 .v63 .site-arrival .arrival-video{object-position:59% 48%;transform-origin:59% 48%;}
 .arrival-scrim{background:linear-gradient(90deg,#0e0c15c9,#0e0c154d),linear-gradient(0deg,#0e0c15ed,transparent 50%,#0e0c1555);}
 .arrival-actions{left:22px;right:22px;bottom:max(28px,env(safe-area-inset-bottom));}
 .v63 .arrival-enter{width:100%;justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce){.site-arrival,.site-arrival *,html.site-arrival-revealing body>*{animation:none!important;transition:none!important;}}
@media print{.site-arrival{display:none!important;}html.site-arrival-pending::after{display:none;}}
