/* Preview uplift: editorial scale with a restrained electric accent. */
:root{--accent:#00bcff;--technical:ui-monospace,SFMono-Regular,Consolas,monospace;--elastic:cubic-bezier(.22,1.35,.36,1)}
html{scroll-behavior:smooth}
.eyebrow,.flagship-index,.method-tags,.timeline-date,.timeline-deck,.journey-controls,.deck-meta,.case-facts dt{font-family:var(--technical)}
.flagship-grid{grid-template-columns:minmax(0,1fr);gap:100px}
.flagship-link{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;isolation:isolate}
.flagship-image{grid-column:1;grid-row:1;aspect-ratio:5/4;margin-right:-48px;align-self:stretch;min-height:440px}
.flagship-copy{grid-column:2;grid-row:1;position:relative;z-index:1;background:var(--paper);padding:36px 0 14px 38px;margin-top:80px;transition:transform .65s var(--elastic),background .7s}
.flagship-card:nth-child(2) .flagship-image{grid-column:2;margin-right:0;margin-left:-48px}
.flagship-card:nth-child(2) .flagship-copy{grid-column:1;padding:36px 38px 14px 0;margin-right:0}
.flagship-card h3{font-size:clamp(36px,4vw,60px);margin:18px 0}
.flagship-index{display:block;margin:0;font-size:11px}
.flagship-card p{max-width:440px}.method-tags{margin:24px 0 20px}.method-tags li{font-size:10px}
.flagship-image img{transition:transform .85s var(--elastic)}
.case-link{align-items:center}.case-link>span{color:var(--accent);font-size:26px}
.journey-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px;font-size:10px;letter-spacing:.06em}
.journey-controls>div{display:flex;gap:8px}.journey-controls button{border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;min-height:44px;padding:10px 18px;cursor:pointer}.journey-controls button:disabled{opacity:.3;cursor:default}
.journey-track{margin:0;padding:0 0 24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}
.journey-steps{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:40px;padding:0;margin:0}
.timeline-step{display:block;min-width:0;padding:26px 0 0;border-top:1px solid var(--line);scroll-snap-align:start;opacity:1!important;transform:none!important}
.timeline-step:before,.timeline-step.is-reached:before{left:0;top:-4px;width:7px;height:7px;border:0;background:var(--accent)}
.timeline-date{display:block;padding:0 0 30px;font-size:11px}.timeline-title{font-size:34px;margin:0;font-weight:400}.timeline-deck{color:var(--muted);font-size:11px;line-height:1.7}.timeline-step .disclosure-content{padding-top:24px}.timeline-step .disclosure-content p{font-size:15px}
.portfolio-library{text-align:center;border-top:1px solid var(--line)}.portfolio-library h2{font-size:clamp(42px,6vw,84px);line-height:1.1;font-weight:400;margin:24px 0}.portfolio-library>p{line-height:1.8;color:var(--muted)}
.master-deck{margin-top:28px;background:var(--accent);border-color:var(--accent);color:#07151d;padding:20px 30px;min-height:66px}.deck-meta{font-size:10px;font-weight:400;border-left:1px solid #07151d55;padding-left:16px}
.primary-link,.header-resume{transition:translate .18s ease-out,background .2s,color .2s}
.hero .showreel{transform:scale(var(--reel-scale,1));opacity:var(--reel-opacity,1);transform-origin:center;will-change:transform,opacity}
.after-hours{max-width:1200px;margin:72px auto 0;text-align:left;--ink:#f3f3f3;--paper:#151515;--muted:#b7b7b7;--line:#ffffff30}
#after-hours-toggle{display:flex;align-items:center;gap:18px;background:none;border:0;color:#eee;padding:14px 0;cursor:pointer;text-align:left;font:inherit;font-size:16px}
.after-hours-hint{display:block;font-family:var(--technical);font-size:10px;color:#a5a5a5;margin-top:6px}.after-hours-plus{margin-left:24px;font-size:22px;color:var(--accent)}
.vinyl-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:repeating-radial-gradient(circle,#161616 0 3px,#424242 4px,#161616 5px);border:1px solid #555;transition:rotate .7s var(--elastic)}.vinyl-icon i{width:15px;height:15px;border:5px solid var(--accent);border-radius:50%}
#after-hours-toggle:hover .vinyl-icon{rotate:35deg}#after-hours-gallery{padding:36px 0 0}#after-hours-gallery[hidden]{display:none}#after-hours-gallery .photography-intro{max-width:680px;color:#bbb}#after-hours-gallery h3{color:#eee}
:where(.journey-track,.journey-controls button,#after-hours-toggle):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.flagship-link:hover .flagship-image img{transform:scale(1.03)}.flagship-link:hover .flagship-copy{transform:translateY(-5px)}.case-link:hover,.contact-links a:hover{color:var(--accent)}}
@media(max-width:850px){.flagship-grid{gap:64px}.flagship-link{grid-template-columns:minmax(0,1fr)}.flagship-image,.flagship-card:nth-child(2) .flagship-image{grid-column:1;grid-row:1;margin:0;min-height:0;aspect-ratio:4/3}.flagship-copy,.flagship-card:nth-child(2) .flagship-copy{grid-column:1;grid-row:2;margin:-28px 0 0 24px;padding:28px 0 0 24px}.flagship-card h3{font-size:38px}.journey-steps{grid-auto-columns:84%;gap:28px}.journey-controls{align-items:flex-start}.journey-controls>span{max-width:110px;line-height:1.7}.journey-controls button{padding-inline:12px}.master-deck{flex-wrap:wrap;width:auto}.after-hours{margin-top:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero .showreel{transform:none!important;opacity:1!important}.flagship-image img,.flagship-copy,.vinyl-icon,.primary-link,.header-resume{transition:none!important;transform:none!important;translate:none!important}}
/* After-hours invitation now follows Selected Recognition. */
:is(.practice-notes,.photography)>.after-hours{width:100%;max-width:none;grid-column:1/-1;margin:64px 0 0;padding-top:36px;border-top:1px solid var(--line);--ink:inherit;--paper:inherit;--muted:inherit;--line:inherit}
#after-hours-toggle{width:100%;min-height:230px;gap:clamp(24px,5vw,80px);padding:24px 0;color:inherit}
#after-hours-toggle>span:nth-child(2){font-family:var(--serif);font-size:clamp(44px,7vw,100px);letter-spacing:-.04em;line-height:1.1}
#after-hours-toggle .after-hours-hint{font-size:11px;letter-spacing:.08em;line-height:1.8;color:var(--muted);margin-top:22px}
#after-hours-toggle .vinyl-icon{width:clamp(130px,18vw,240px);height:auto;aspect-ratio:1;flex-shrink:0;box-shadow:0 12px 50px #0003}
#after-hours-toggle .vinyl-icon i{width:25%;height:25%;border-width:18px;background:#101010}
#after-hours-toggle .after-hours-plus{font-family:var(--sans);font-size:48px;margin-left:auto}
#after-hours-gallery .photography-intro,#after-hours-gallery h3{color:inherit}
#film-collection{margin-top:24px}#film-collection .cinema-library-bar p{font-family:var(--technical);font-size:11px}
@media(max-width:600px){#after-hours-toggle{min-height:180px;gap:20px;flex-wrap:wrap}#after-hours-toggle .vinyl-icon{width:110px}#after-hours-toggle .vinyl-icon i{border-width:9px}#after-hours-toggle>span:nth-child(2){font-size:38px;flex:1}#after-hours-toggle .after-hours-hint{font-size:9px;margin-top:12px}#after-hours-toggle .after-hours-plus{font-size:30px;margin-left:0}:is(.practice-notes,.photography)>.after-hours{margin-top:40px}#film-collection .cinema-library-bar p{max-width:190px;line-height:1.8}}
