@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/font-501f76ca195e.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/font-d02cbe275f68.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/fonts/font-33f3233b5edd.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/font-a699af1dea30.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/font-e45972c7e9f2.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/font-87e867b52640.ttf) format('truetype');
}

:root{color-scheme:dark;--ice:#afd9f4;--blue:#41a9ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#020304;color:#e9f0f6;font-family:Inter,Arial,sans-serif;min-width:320px}body.intro-playing{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:1px solid #8cd1ff;outline-offset:6px}[hidden]{display:none!important}.intro{position:fixed;inset:0;z-index:50;background:#000;overflow:hidden;transition:opacity .85s ease,visibility .85s;--reveal:0%;--art:0}.intro.finished{opacity:0;visibility:hidden;pointer-events:none}.intro-meta,.intro-bottom{position:absolute;left:3.8%;right:3.8%;display:flex;justify-content:space-between;color:#839aaa;font-size:8px;letter-spacing:2.8px;z-index:5}.intro-meta{top:5%}.intro-bottom{bottom:5%;align-items:center}.intro-bottom button{font-size:9px;letter-spacing:2px;border-bottom:1px solid #426b89;padding:10px 0;color:#b0cfe8}.intro-bottom button span{margin-left:10px}.intro-identity{position:absolute;top:39%;left:12%;width:76%;text-align:center;z-index:2}.perspective{perspective:1400px}.title-object{transform-style:preserve-3d;position:relative;will-change:transform}.title-object h1,.title-depth{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:600;font-size:clamp(58px,8.5vw,158px);line-height:1;letter-spacing:.155em;white-space:nowrap;margin:0;padding-left:.155em}.title-object h1{position:relative;color:#050a0e;-webkit-text-stroke:.6px #28404e}.title-object h1:after{content:attr(data-text);position:absolute;inset:0;color:transparent;background:linear-gradient(110deg,#fff 10%,#d5e5f2 45%,#8aaec6 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:0;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);filter:drop-shadow(0 0 9px #8aceff66);padding-left:.155em}.title-depth{position:absolute;inset:0;color:#142837;-webkit-text-stroke:.3px #31506b;opacity:.4}.intro-role{font-size:clamp(13px,1.5vw,25px);letter-spacing:.55em;padding-left:.55em;margin:22px 0;color:#d8e7f2;opacity:0}.intro-fields{font-size:clamp(7px,.75vw,12px);letter-spacing:.34em;color:#95adbe;opacity:0}.intro-art{position:absolute;inset:0;opacity:var(--art);mask-image:linear-gradient(0deg,transparent,#000 20%,#000 80%,transparent)}.intro-art img{position:absolute;object-fit:cover}.intro-airport{right:0;top:15%;width:55%;height:52%;filter:saturate(.2) brightness(.2);mask-image:linear-gradient(90deg,transparent,#000)}.intro-character{right:-2%;top:15%;height:75%;width:27%;filter:saturate(.2) brightness(.24);mask-image:linear-gradient(90deg,transparent,#000 30%),linear-gradient(0deg,transparent,#000 25%);mask-composite:intersect}.intro-aircraft{right:3%;bottom:4%;height:48%;width:52%;filter:brightness(.27) saturate(.6);mask-image:linear-gradient(90deg,transparent,#000 25%),linear-gradient(0deg,transparent,#000 25%,#000 70%,transparent);mask-composite:intersect}#light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}main{opacity:1}main[inert]{visibility:hidden}.landing{min-height:100svh;position:relative;isolation:isolate;padding:0 4.2% 27px;display:flex;flex-direction:column;overflow:hidden}.landing-art{position:absolute;inset:0;z-index:-2;background:#020304}.landing-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#020304 2%,#020304c9 32%,#02030413 78%),linear-gradient(0deg,#020304 5%,#020304e6 22%,transparent 57%,#02030499)}.landing-art img{position:absolute;object-fit:cover}.landing-airport{right:-3%;top:0;width:70%;height:70%;filter:brightness(.25) saturate(.45);mask-image:linear-gradient(90deg,transparent,#000 30%)}.landing-character{right:-2%;top:12%;width:25%;height:63%;filter:brightness(.22) saturate(.2);mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(0deg,transparent,#000 30%);mask-composite:intersect}.landing-plane{width:65%;height:70%;right:0;top:8%;object-position:50% 43%;filter:brightness(.54) saturate(.65);mask-image:linear-gradient(90deg,transparent,#000 20%),linear-gradient(0deg,transparent,#000 27%,#000 80%,transparent);mask-composite:intersect}.site-header{display:flex;align-items:flex-start;justify-content:space-between;padding-top:35px;gap:30px}.brand{display:flex;flex-direction:column;gap:6px}.brand strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;letter-spacing:3px;font-weight:600}.brand span{font-size:8px;letter-spacing:4px;color:#93acbf}.site-header nav{display:flex;gap:30px;padding-top:7px;align-items:center}.site-header nav a,.site-header nav button{font-size:8px;letter-spacing:2px;padding:6px 0;color:#a9bece}.site-header nav a:hover,.site-header nav button:hover{color:#e5f5ff;text-shadow:0 0 10px #51b7ff}.hero-copy{padding-top:clamp(70px,12vh,150px);padding-bottom:clamp(65px,10vh,120px);width:60%}.eyebrow{font-size:9px;letter-spacing:2.6px;color:#91afc6;line-height:1.8}.hero-copy h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(70px,8.1vw,150px);line-height:.95;letter-spacing:.025em;font-weight:700;margin:20px 0 12px;background:linear-gradient(100deg,#f5fbff,#bfd8e9 50%,#6b8393);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}.hero-role{font-size:clamp(17px,2vw,33px);letter-spacing:.5em;margin:0 0 28px;color:#c5dae8}.hero-rule{width:90px;height:1px;background:linear-gradient(90deg,#bde9ff,#215c86);box-shadow:0 0 9px #2783bf55}.hero-description{font-size:11px;line-height:1.9;color:#8299aa;margin:21px 0 0}.selection{margin-top:auto}.selection-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #293846;padding-bottom:12px;margin-bottom:16px}.selection-heading h3{font-size:9px;letter-spacing:3px;font-weight:500;margin:0;color:#b2cedf}.selection-heading>span{font-size:8px;letter-spacing:2px;color:#5c778c}.project-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.project-card{min-width:0;display:block}.card-image{position:relative;aspect-ratio:1.8;overflow:hidden;border:1px solid #273540;transition:border-color .3s,box-shadow .3s}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0006,transparent 50%,#02030455)}.card-image img{height:100%;width:100%;object-fit:cover;filter:brightness(.68) saturate(.7);transition:filter .5s,transform .65s}.project-card:nth-child(4) img{object-position:55% 28%}.card-number,.card-arrow{position:absolute;top:9px;z-index:2;font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;font-weight:600;color:#e0effa;text-shadow:0 1px 8px #000}.card-number{left:10px}.card-arrow{right:10px;font-size:17px;color:#a9cbe0;opacity:0;transition:.3s}.project-card h4{font-size:9px;letter-spacing:1.6px;font-weight:500;line-height:1.5;margin:12px 0 5px;color:#b5c8d5;transition:color .3s,text-shadow .3s}.project-card p{font-size:6px;letter-spacing:1.3px;color:#587185;line-height:1.8;margin:0}.project-card:hover .card-image,.project-card:focus-visible .card-image{border-color:#69b8ee;box-shadow:0 0 20px #3c9fea22}.project-card:hover img{filter:brightness(.98) saturate(.9);transform:scale(1.04)}.project-card:hover h4{color:#e1f4ff;text-shadow:0 0 12px #61bcff88}.project-card:hover .card-arrow{opacity:1}.landing-bottom{margin-top:30px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:2px;color:#566f82}.about{padding:120px 8% 35px;max-width:1600px;margin:auto;background:radial-gradient(ellipse at top right,#08131b,transparent 60%)}.about h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(42px,5.8vw,90px);letter-spacing:.02em;line-height:1.05;font-weight:600;margin:25px 0 35px}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:12%;color:#8da3b4;font-size:13px;line-height:2}.about-body>p{max-width:420px}.about-body a{font-size:9px;letter-spacing:1px;color:#b4d5ed;border-bottom:1px solid #38596d;padding-bottom:8px}.about footer{display:flex;justify-content:space-between;gap:20px;margin-top:100px;border-top:1px solid #1e303d;padding-top:25px;color:#6d8598;font-size:7px;letter-spacing:2px}.replay-link{font-size:7px;letter-spacing:2px}.detail-top{position:sticky;top:0;z-index:5;background:#020609ed;backdrop-filter:blur(15px);border-bottom:1px solid #22313d;padding:20px 4%;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:2px;color:#b1cfe3}.detail-top button{font-size:8px;letter-spacing:1px}.detail-heading{padding:80px 6% 45px;max-width:1500px;margin:auto}.detail-heading h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(40px,6.5vw,100px);font-weight:600;letter-spacing:.025em;margin:15px 0}.detail-heading>p:last-child{font-size:10px;color:#788fa1;letter-spacing:1px}#detail-pages{max-width:1500px;margin:auto;padding:0 25px}#detail-pages figure{margin:0 0 30px;position:relative;background:#070b0e}#detail-pages img{display:block;width:100%;height:auto;cursor:zoom-in}#detail-pages figcaption{font-size:8px;letter-spacing:2px;color:#6c8598;padding:12px 4px}.detail-end{display:flex;justify-content:space-between;padding:60px 6% 100px;font-size:10px;letter-spacing:2px}dialog{background:#010304;border:1px solid #345066;padding:45px 12px 12px;width:95vw;max-width:none;height:94svh;max-height:none}dialog::backdrop{background:#000e}dialog img{display:block;max-width:100%;height:auto;margin:auto}dialog button{position:fixed;right:5%;top:5%;padding:9px;background:#030609dd;font-size:10px;letter-spacing:2px;z-index:3}.page-reveal{animation:pageIn .8s both}@keyframes pageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.landing{padding-left:6%;padding-right:6%}.project-grid{gap:23px}.card-image{aspect-ratio:1.9}.project-card h4{font-size:11px}.project-card p{font-size:8px}}@media(max-width:760px){.intro-identity{left:5%;width:90%;top:40%}.title-object h1,.title-depth{font-size:11.2vw;letter-spacing:.1em;padding-left:.1em}.title-object h1:after{padding-left:.1em}.intro-role{font-size:15px;letter-spacing:.45em;margin-top:20px}.intro-fields{font-size:6px;letter-spacing:.14em}.intro-meta,.intro-bottom{font-size:6px;letter-spacing:1.8px;left:6%;right:6%}.intro-bottom>span{max-width:170px;line-height:2}.intro-bottom button{font-size:8px}.intro-aircraft{width:90%;height:44%;right:-15%;bottom:7%}.intro-character{width:44%;right:-10%;opacity:.6}.intro-airport{width:90%;opacity:.4}.landing{padding:0 6% 30px;min-height:100svh}.site-header{padding-top:28px;gap:15px}.brand strong{font-size:19px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:3px}.site-header nav{gap:14px;padding-top:0;flex-wrap:wrap;justify-content:flex-end;max-width:170px}.site-header nav a,.site-header nav button{font-size:6px;letter-spacing:1px}.hero-copy{width:100%;padding-top:100px;padding-bottom:95px}.hero-copy h2{font-size:16vw}.hero-copy .eyebrow{font-size:6px;letter-spacing:1.4px}.hero-role{font-size:20px;letter-spacing:.4em}.hero-description{font-size:10px}.landing-plane{width:110%;right:-28%;top:12%;height:43%;filter:brightness(.39) saturate(.65)}.landing-character{width:48%;right:-16%;height:48%;top:10%}.landing-airport{width:110%;height:45%;right:-25%}.selection-heading h3{font-size:8px;letter-spacing:2px}.selection-heading>span{font-size:6px;letter-spacing:1px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.project-card:last-child{grid-column:auto}.project-card h4{font-size:8px;letter-spacing:1px}.project-card p{font-size:5px;letter-spacing:1px}.card-number{font-size:22px}.card-arrow{opacity:1}.landing-bottom{font-size:5px;letter-spacing:1px;margin-top:30px}.about{padding:80px 6% 30px}.about-body{grid-template-columns:1fr;gap:20px;font-size:12px}.about footer{margin-top:65px;flex-wrap:wrap;line-height:2}.detail-heading{padding:50px 6% 25px}.detail-top{font-size:7px;letter-spacing:1px}.detail-top button{font-size:6px}#detail-pages{padding:0 8px}#detail-pages figure{margin-bottom:15px}.detail-end{font-size:8px;letter-spacing:1px;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* Continuous intro-to-work transition: matched typography and shared image geometry. */
.title-object h1{display:inline-block}
.hero-copy h2{font-weight:600;letter-spacing:.155em;line-height:1;display:inline-block}
.hero-role{letter-spacing:.55em}
.intro-role{transform-origin:center center}
.intro-art{mask-image:none}
.intro-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#020304 2%,#020304c9 32%,#02030413 78%),linear-gradient(0deg,#020304 5%,#020304e6 22%,transparent 57%,#02030499)}
.intro-airport{right:-3%;top:0;width:70%;height:70%;filter:brightness(.25) saturate(.45);mask-image:linear-gradient(90deg,transparent,#000 30%)}
.intro-character{right:-2%;top:12%;width:25%;height:63%;filter:brightness(.22) saturate(.2);mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(0deg,transparent,#000 30%);mask-composite:intersect}
.intro-aircraft{right:0;top:8%;bottom:auto;width:65%;height:70%;object-position:50% 43%;filter:brightness(.54) saturate(.65);mask-image:linear-gradient(90deg,transparent,#000 20%),linear-gradient(0deg,transparent,#000 27%,#000 80%,transparent);mask-composite:intersect}
body.intro-bridging main[inert]{visibility:visible}
body.intro-bridging .hero-copy h2,body.intro-bridging .hero-role{visibility:hidden}
body.intro-bridging .intro{pointer-events:none}
body.intro-playing{scrollbar-gutter:stable}
html{scrollbar-gutter:stable}
@media(max-width:760px){.hero-copy h2{font-size:14vw;letter-spacing:.1em}.hero-role{letter-spacing:.45em}.intro-aircraft{width:110%;right:-28%;top:12%;height:43%;filter:brightness(.39) saturate(.65)}.intro-character{width:48%;right:-16%;height:48%;top:10%;opacity:1}.intro-airport{width:110%;height:45%;right:-25%;opacity:1}}
.title-object h1,.title-object h1:after,.title-depth{padding-left:0}
.intro-role{display:table;margin:22px auto;width:max-content;max-width:100%}
.hero-role{width:max-content;max-width:100%;padding-left:.55em}
.intro{transition:none}
/* Titles exist only where the light has already passed. */
.title-object h1{color:transparent;-webkit-text-stroke:0}
.title-object h1:after{-webkit-text-stroke:0}
#depth{display:none}
body.intro-bridging .hero-copy h2,body.intro-bridging .hero-role{visibility:visible}
/* Work is the entry screen; the light writes its title directly in place. */
#light{position:fixed;inset:0;z-index:20;pointer-events:none}
html.light-pending .hero-copy h2{clip-path:inset(0 100% 0 0)}
@media(prefers-reduced-motion:reduce){html.light-pending .hero-copy h2{clip-path:none}}
.geometric-art .metal-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:none}
.geometric-art:after{background:linear-gradient(90deg,#020304 0%,#020304e6 24%,#02030455 57%,#02030408 100%),linear-gradient(0deg,#020304 0%,#020304d9 20%,transparent 62%,#02030422)}
@media(max-width:760px){.geometric-art .metal-background{object-position:64% center}.geometric-art:after{background:linear-gradient(90deg,#020304d9,#02030411),linear-gradient(0deg,#020304 10%,#020304bb 42%,transparent 90%)}}
.statement-letter{color:rgba(224,239,250,var(--lit,0));text-shadow:0 0 12px rgba(78,174,241,var(--glow,0));display:inline;will-change:color}
.statement-line{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.statement-letter{color:#e9f0f6;text-shadow:none}}
.geometric-art:after{background:linear-gradient(90deg,#02030455,#02030422 50%,transparent),linear-gradient(0deg,#020304 0%,#020304c9 17%,transparent 58%)}
@media(max-width:760px){.geometric-art:after{background:linear-gradient(90deg,#02030488,#02030422),linear-gradient(0deg,#020304 10%,#020304aa 40%,transparent 90%)}}
.hero-copy h2{position:relative}
.hero-copy h2:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;color:#f0faff;-webkit-text-fill-color:#f0faff;background:none;opacity:var(--light-strength,0);mask-image:linear-gradient(90deg,transparent calc(var(--light-position,0%) - 14%),#000 calc(var(--light-position,0%) - 3%),#000 calc(var(--light-position,0%) + 3%),transparent calc(var(--light-position,0%) + 14%));filter:drop-shadow(0 0 8px #6ec7ffa6)}
/* Illumination accumulates behind the moving light; the full name stays lit afterward. */
.hero-copy h2{background:none;color:#18232d;-webkit-text-fill-color:#18232d;--title-lit:0%}
.hero-copy h2:after{content:attr(data-text);position:absolute;inset:0;opacity:1;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#f5fbff,#bfd8e9 50%,#8ba9be);background-clip:text;-webkit-background-clip:text;mask-image:none;clip-path:inset(0 calc(100% - var(--title-lit,0%)) 0 0);filter:none;pointer-events:none}
.hero-copy h2:before{content:attr(data-text);position:absolute;inset:0;z-index:1;pointer-events:none;color:#fff;-webkit-text-fill-color:#fff;opacity:var(--light-strength,0);mask-image:linear-gradient(90deg,transparent calc(var(--light-position,0%) - 14%),#000 calc(var(--light-position,0%) - 3%),#000 calc(var(--light-position,0%) + 3%),transparent calc(var(--light-position,0%) + 14%));filter:drop-shadow(0 0 9px #65c8ffb3)}
@media(prefers-reduced-motion:reduce){.hero-copy h2{--title-lit:100%}}
/* Only the passing highlight illuminates the lettering; no brightness is retained. */
.hero-copy h2:after{display:none}
@media(prefers-reduced-motion:reduce){.hero-copy h2{color:#bfd8e9;-webkit-text-fill-color:#bfd8e9}}
/* Start dark, then keep each letter illuminated after the light passes. */
.hero-copy h2:after{display:block}
/* The architectural accent lights power on after the title sweep finishes. */
:root{--background-light:0}
.geometric-art .metal-background{filter:grayscale(1) brightness(.38)}
.geometric-art:before{content:'';position:absolute;inset:0;z-index:1;background:url('../assets/metal-architecture.png') center center/cover no-repeat;opacity:var(--background-light,0);mask-image:radial-gradient(ellipse 16% 49% at 80% 43%,#000 15%,transparent 85%),radial-gradient(ellipse 42% 16% at 78% 78%,#000 10%,transparent 100%),linear-gradient(90deg,transparent 55%,#000 100%);pointer-events:none}
.geometric-art:after{z-index:2}
@media(max-width:760px){.geometric-art:before{background-position:64% center}}
@media(prefers-reduced-motion:reduce){:root{--background-light:1}}
/* Keep the blue metal unchanged; switch only the warm seam and its reflection. */
.geometric-art .metal-background{filter:none;mask-image:radial-gradient(ellipse 5.2% 32% at 80% 44%,transparent 12%,#000 100%),radial-gradient(ellipse 18% 5.2% at 74% 73%,transparent 8%,#000 100%),radial-gradient(ellipse 9% 14% at 80% 83%,transparent 5%,#000 100%);mask-composite:intersect}
.geometric-art{background:#09121b}
.geometric-art:before{mask-image:radial-gradient(ellipse 5.2% 32% at 80% 44%,#000 12%,transparent 100%),radial-gradient(ellipse 18% 5.2% at 74% 73%,#000 8%,transparent 100%),radial-gradient(ellipse 9% 14% at 80% 83%,#000 5%,transparent 100%);mask-composite:add}
/* Unlit artwork replaces only the lamp region, including its full halo and floor reflection. */
.geometric-art .metal-background{filter:none;mask-image:none}
.geometric-art:before{background-image:url('../assets/metal-architecture-unlit.png');opacity:calc(1 - var(--background-light,0));mask-image:url('../assets/lamp-mask.svg');mask-size:cover;mask-position:center center;mask-repeat:no-repeat;mask-composite:add}
@media(max-width:760px){.geometric-art:before{background-position:64% center;mask-position:64% center}}
/* Start from genuinely unlit artwork, not a dimmed image with baked-in warm glow. */
.geometric-art:before{background-image:url('../assets/metal-architecture.png');opacity:var(--background-light,0)}
/* Black opening; the complete final artwork emerges as its lights power on. */
.geometric-art{background:#000}
.geometric-art .metal-background{opacity:var(--background-light,0);filter:none;mask-image:none}
.geometric-art:before{opacity:var(--background-light,0)}
.geometric-art:after{background:linear-gradient(0deg,#020304 0%,#020304c9 17%,transparent 58%)}
.geometric-art:before{content:none}
/* A cold white-blue accent at the original vertical light seam, never warm yellow. */
.geometric-art:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse .28% 17% at 80% 43%,#effaff 0%,#b6e8ff 23%,#5cb8f88c 48%,transparent 100%),radial-gradient(ellipse 3.2% 25% at 80% 43%,#7ecbff38 0%,#3a9de916 45%,transparent 100%),radial-gradient(ellipse 11% .24% at 75% 73%,#ccefffbb 0%,#66bcff4d 42%,transparent 100%);mask-image:none;opacity:var(--background-light,0);mix-blend-mode:screen}
/* Anchor the accent to source-image coordinates so it follows cover cropping exactly. */
.geometric-art .metal-background{filter:brightness(.68) contrast(1.3)}
.geometric-art:before{background:url('../assets/cold-seam.svg') center center/cover no-repeat;opacity:var(--background-light,0);mix-blend-mode:screen;mask-image:none}
.geometric-art:after{background:linear-gradient(90deg,#000 0%,#000 25%,#000f5 39%,#000c7 52%,#00055 69%,#00018 100%),linear-gradient(0deg,#020304 0%,#020304d9 18%,transparent 57%)}
@media(max-width:760px){.geometric-art:before{background-position:64% center}.geometric-art:after{background:linear-gradient(90deg,#000 0%,#000eb 40%,#000a6 63%,#00044 100%),linear-gradient(0deg,#020304 10%,#020304d9 40%,transparent 90%)}}
.geometric-art:after{background:linear-gradient(90deg,#000 0%,#000 25%,rgba(0,0,0,.96) 39%,rgba(0,0,0,.78) 52%,rgba(0,0,0,.33) 69%,rgba(0,0,0,.09) 100%),linear-gradient(0deg,#020304 0%,#020304d9 18%,transparent 57%)}
@media(max-width:760px){.geometric-art:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 40%,rgba(0,0,0,.65) 63%,rgba(0,0,0,.27) 100%),linear-gradient(0deg,#020304 10%,#020304d9 40%,transparent 90%)}}
/* Lift the metal midtones while retaining the black title area. */
.geometric-art .metal-background{filter:brightness(.9) contrast(1.08)}
.geometric-art:after{background:linear-gradient(90deg,#000 0%,#000 23%,rgba(0,0,0,.91) 38%,rgba(0,0,0,.6) 52%,rgba(0,0,0,.2) 69%,rgba(0,0,0,.03) 100%),linear-gradient(0deg,#020304 0%,#020304c4 18%,transparent 57%)}
@media(max-width:760px){.geometric-art:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 40%,rgba(0,0,0,.5) 63%,rgba(0,0,0,.15) 100%),linear-gradient(0deg,#020304 10%,#020304c4 40%,transparent 90%)}}
/* Reveal the central planes, fading gently to black only toward the left edge. */
.geometric-art .metal-background{filter:brightness(.96) contrast(1.02)}
.geometric-art:after{background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.87) 13%,rgba(0,0,0,.64) 27%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.13) 52%,rgba(0,0,0,.04) 70%,transparent 100%),linear-gradient(0deg,#020304 0%,rgba(2,3,4,.72) 18%,transparent 57%)}
@media(max-width:760px){.geometric-art:after{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.74) 24%,rgba(0,0,0,.36) 48%,rgba(0,0,0,.12) 70%,transparent 100%),linear-gradient(0deg,#020304 10%,rgba(2,3,4,.72) 40%,transparent 90%)}}
/* Midpoint between the last two background treatments. */
.geometric-art .metal-background{filter:brightness(.93) contrast(1.05)}
.geometric-art:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.94) 15%,rgba(0,0,0,.81) 27%,rgba(0,0,0,.61) 40%,rgba(0,0,0,.36) 52%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.015) 100%),linear-gradient(0deg,#020304 0%,rgba(2,3,4,.74) 18%,transparent 57%)}
@media(max-width:760px){.geometric-art:after{background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.85) 24%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.27) 70%,rgba(0,0,0,.075) 100%),linear-gradient(0deg,#020304 10%,rgba(2,3,4,.74) 40%,transparent 90%)}}
/* Fixed project selector; keep scrolling but remove the inset browser scrollbar. */
html,body{scrollbar-width:none;scrollbar-gutter:auto}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
#detail{padding-right:148px;min-height:100svh}
.detail-top{padding:20px 28px}
#detail-pages{padding:0 20px;max-width:1500px}
.project-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);width:104px;display:flex;flex-direction:column;gap:15px;z-index:15;padding:14px 0}
.project-rail:before{content:'';position:absolute;inset:-25px -18px -25px -14px;z-index:-1;background:linear-gradient(90deg,transparent,rgba(2,5,8,.86) 30%,rgba(2,5,8,.95));pointer-events:none}
.rail-project{position:relative;display:block;outline-offset:4px}
.rail-frame{display:block;position:relative;aspect-ratio:1.65;border:1px solid #2a3c49;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.rail-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 55%,#0002);pointer-events:none}
.rail-frame img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.7);transition:filter .5s,transform .65s}
.rail-project:nth-child(4) img{object-position:55% 28%}
.rail-number{position:absolute;left:7px;top:4px;z-index:2;font-family:'Barlow Condensed',Impact,sans-serif;font-size:18px;line-height:1.1;font-weight:600;color:#d7eaf7;text-shadow:0 1px 7px #000}
.rail-project[aria-current=page] .rail-frame{border-color:#74bce7;box-shadow:0 0 13px #3b9be42e}
.rail-project[aria-current=page]:after{content:'';position:absolute;right:-7px;top:calc(50% - 9px);height:18px;width:2px;background:#addfff;box-shadow:0 0 9px #79c7ff}
.rail-name{position:absolute;right:calc(100% + 14px);top:50%;transform:translate(7px,-50%);opacity:0;visibility:hidden;pointer-events:none;background:#050b10f5;border:1px solid #315166;border-right:2px solid #86c5ef;padding:13px 15px;white-space:nowrap;color:#d8edfa;font-size:10px;letter-spacing:1.6px;box-shadow:0 8px 25px #0008;transition:opacity .2s,transform .25s,visibility .2s}
.rail-project:hover .rail-frame,.rail-project:focus-visible .rail-frame{border-color:#69b8ee;box-shadow:0 0 20px #3c9fea22}
.rail-project:hover img,.rail-project:focus-visible img{filter:brightness(.98) saturate(.9);transform:scale(1.04)}
.rail-project:hover .rail-name,.rail-project:focus-visible .rail-name{opacity:1;visibility:visible;transform:translate(0,-50%)}
.detail-end{max-width:1500px;margin:auto;padding:55px 25px 90px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;align-items:center;border-top:1px solid #192d3c}
.adjacent-project{display:flex;align-items:center;gap:15px;min-width:0}
.adjacent-project.next{justify-content:flex-end;text-align:right;flex-direction:row-reverse}
.adjacent-image{display:block;flex:0 0 96px;width:96px;aspect-ratio:1.6;border:1px solid #2a3c49;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.adjacent-image img{display:block;object-fit:cover;width:100%;height:100%;filter:brightness(.68) saturate(.7);transition:filter .5s,transform .65s}
.adjacent-copy{display:flex;flex-direction:column;gap:9px;min-width:0}
.adjacent-copy small{font-size:8px;font-weight:400;letter-spacing:1.7px;color:#7f9db4}
.adjacent-copy strong{font-size:10px;font-weight:500;letter-spacing:1.3px;line-height:1.6;color:#c1d8e8}
.adjacent-project:hover img,.adjacent-project:focus-visible img{filter:brightness(.98) saturate(.9);transform:scale(1.04)}
.adjacent-project:hover .adjacent-image,.adjacent-project:focus-visible .adjacent-image{border-color:#69b8ee;box-shadow:0 0 20px #3c9fea22}
.back-to-work{font-size:8px;letter-spacing:1.6px;white-space:nowrap;color:#829eb3}
@media(max-width:1000px){#detail{padding-right:112px}.project-rail{width:78px;right:14px;gap:12px}.rail-number{font-size:16px}.adjacent-image{flex-basis:70px;width:70px}.adjacent-copy strong{font-size:9px}.detail-end{gap:16px}.back-to-work{font-size:7px}}
@media(max-width:760px){#detail{padding-right:76px}.detail-top{padding:16px 10px;gap:8px}.project-rail{width:54px;right:10px;gap:11px}.rail-frame{aspect-ratio:1.18;min-height:44px}.rail-number{left:4px;top:3px;font-size:14px}.rail-name{font-size:8px;letter-spacing:.8px;max-width:215px;white-space:normal;min-width:150px;padding:10px}.rail-project[aria-current=page]:after{right:-5px}#detail-pages{padding:0 6px}.detail-end{padding:35px 8px 60px;grid-template-columns:1fr 1fr;gap:22px 10px}.adjacent-project,.adjacent-project.next{flex-direction:column;align-items:flex-start;text-align:left;gap:10px}.adjacent-image{width:78px;flex-basis:auto}.adjacent-copy small{font-size:6px;letter-spacing:.8px}.adjacent-copy strong{font-size:7px;letter-spacing:.6px}.back-to-work{grid-column:1/-1;grid-row:2;text-align:center}.detail-top button{font-size:6px}}
@media(prefers-reduced-motion:reduce){.rail-frame,.rail-frame img,.rail-name,.adjacent-image,.adjacent-image img{transition:none}}
/* Content leads; compact navigation sits at the upper-right edge. */
#detail{padding-right:112px}
#detail-pages{max-width:none;padding:0 10px}
.project-rail{right:13px;top:67px;transform:none;width:84px;gap:12px;padding:0}
.project-rail:before{inset:-14px -8px -14px -9px}
.rail-project[aria-current=page]:after{right:-5px}
.detail-end{max-width:none}
@media(max-width:1000px){#detail{padding-right:94px}.project-rail{width:68px;right:12px;top:62px;gap:10px}}
@media(max-width:760px){#detail{padding-right:70px}.project-rail{width:48px;right:11px;top:57px;gap:10px}#detail-pages{padding:0 4px}.rail-frame{aspect-ratio:1.09;min-height:44px}}
/* Thin luminous scrollbar; the scrollable document still uses the normal wheel/touch/keys. */
#scroll-light-track{position:fixed;right:0;top:0;bottom:0;width:9px;z-index:40;background:transparent;cursor:pointer;touch-action:none}
#scroll-light-thumb{position:absolute;right:1px;top:0;width:3px;min-height:36px;border-radius:2px;background:linear-gradient(180deg,#215c8644,#6cbfffaa 25%,#e9faff 50%,#6cbfffaa 75%,#215c8644);box-shadow:0 0 4px #77caff80,0 0 10px #349de54d;will-change:transform;cursor:grab;touch-action:none}
#scroll-light-thumb i{position:absolute;top:50%;right:-2px;left:-2px;height:1px;background:#edfbff;box-shadow:0 0 7px 1px #73caffb3}
#scroll-light-track:hover #scroll-light-thumb,#scroll-light-track.dragging #scroll-light-thumb{box-shadow:0 0 6px #a5e0ffc9,0 0 14px #349de580}
#scroll-light-track.dragging #scroll-light-thumb{cursor:grabbing}
#scroll-light-track.no-scroll{visibility:hidden}
#scroll-light-thumb{min-height:24px}
html.embedded-preview #scroll-light-track{display:none}
/* Match the page-image edges; row-reverse puts the next thumbnail on the right. */
.detail-end{width:100%;padding-inline:10px}
.adjacent-project.previous{justify-content:flex-start;justify-self:start}
.adjacent-project.next{justify-content:flex-start;justify-self:stretch;flex-direction:row-reverse;text-align:right}
.back-to-work{justify-self:center}
@media(max-width:760px){.detail-end{padding-inline:4px}.adjacent-project.next{flex-direction:column;align-items:flex-end;text-align:right;justify-self:end}}
/* Subtle invitation to return home, without flashing or moving the label itself. */
.home-return{position:relative;color:#a4c3d9;text-shadow:0 0 5px #72bded18}
.home-return:after{content:attr(data-label);position:absolute;inset:0;pointer-events:none;white-space:nowrap;background:linear-gradient(100deg,transparent 35%,#a8dcff88 46%,#e6f6ffbb 50%,#a8dcff88 54%,transparent 65%);background-size:260% 100%;background-position:150% 0;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:homeLightSweep 7s ease-in-out infinite}
.home-return:hover,.home-return:focus-visible{color:#edf8ff;text-shadow:0 0 10px #66beff66}
@keyframes homeLightSweep{0%,15%{background-position:150% 0}50%,60%{background-position:-50% 0}95%,100%{background-position:150% 0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}
/* A clearer, comfortably clickable lightbox close control. */
#close-image{font-size:14px;font-weight:500;letter-spacing:2.4px;min-width:136px;min-height:48px;padding:14px 22px;border:1px solid #7db9df;background:#03090ff2;color:#e8f6ff;box-shadow:0 0 10px #4c9ed21a}
#close-image:hover,#close-image:focus-visible{background:#0c1b28;border-color:#c2e9ff;box-shadow:0 0 15px #59b9ef33}
@media(max-width:760px){#close-image{font-size:13px;min-width:124px;min-height:46px;padding:12px 18px}}
/* Portfolio pages are view-only; no lightbox or click-to-enlarge affordance. */
#detail-pages img{cursor:default}

#replay,.replay-link{display:inline-flex;align-items:center;gap:7px}.replay-icon{flex:none;vertical-align:middle}

/* A visible but restrained traveling highlight on both home-return controls. */
.home-return:after{background-image:linear-gradient(100deg,transparent 31%,#76caff55 42%,#d7f2ff 49%,#fff 51%,#91d6ff88 58%,transparent 69%);animation-duration:4.5s;filter:drop-shadow(0 0 3px #72c5ff66)}

/* A broad, slow, continuously repeating home-return highlight. */
.home-return:after{background-image:linear-gradient(100deg,transparent 15%,#66bdff44 30%,#a8dfffaa 41%,#effaff 48%,#fff 52%,#b6e7ffbb 60%,#66bdff44 73%,transparent 86%);background-size:240% 100%;animation:homeLightSweep 8s ease-in-out infinite;filter:drop-shadow(0 0 5px #79caff99) drop-shadow(0 0 9px #4c9de544)}
@keyframes homeLightSweep{0%{background-position:150% 0}50%{background-position:-50% 0}100%{background-position:150% 0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

/* Slow, one-way light pass: left to right, restarting outside the label. */
.home-return:after{animation:homeLightOneWay 12s linear infinite}
@keyframes homeLightOneWay{0%{background-position:150% 0}100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

/* Minimal offscreen travel, faster one-way repeat without a waiting interval. */
.home-return:after{animation:homeLightOneWay 5s linear infinite}
@keyframes homeLightOneWay{0%{background-position:100% 0}100%{background-position:0% 0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

.home-return:after{animation-duration:1s}

/* One-second left-to-right pass, followed by two seconds of rest. */
.home-return:after{animation:homeLightPassPause 3s linear infinite}
@keyframes homeLightPassPause{0%{background-position:100% 0;opacity:1}33.333%{background-position:0% 0;opacity:1}33.334%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

/* 0.7-second pass, 2-second rest, continuously repeated. */
.home-return:after{animation:homeLightPassPause 2.7s linear infinite}
@keyframes homeLightPassPause{0%{background-position:100% 0;opacity:1}25.9259259%{background-position:0% 0;opacity:1}25.926%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

/* 0.5-second pass, 2-second rest. */
.home-return:after{animation:homeLightPassPause 2.5s linear infinite}
@keyframes homeLightPassPause{0%{background-position:100% 0;opacity:1}20%{background-position:0% 0;opacity:1}20.001%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.home-return:after{animation:none;display:none}}

.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 26px;margin-top:22px}.about-actions .cv-download{display:inline-block;font-size:10px;letter-spacing:1.8px;padding:0 0 8px;border-bottom:1px solid #70aed4;color:#b7d8ef}.about-actions .cv-download:hover,.about-actions .cv-download:focus-visible{color:#effaff;border-color:#d2efff}

/* CV underline follows the exact 0.5s text sweep and 2s rest. */
.cv-download:before{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(100deg,transparent 15%,#66bdff44 30%,#a8dfffaa 41%,#effaff 48%,#fff 52%,#b6e7ffbb 60%,#66bdff44 73%,transparent 86%);background-size:240% 100%;filter:drop-shadow(0 0 4px #79caff99);animation:homeLightPassPause 2.5s linear infinite}
@media(prefers-reduced-motion:reduce){.cv-download:before{animation:none;display:none}}

/* A stronger synchronized CV highlight: 0.7s travel, 2s rest. */
.cv-download:after,.cv-download:before{animation:cvLightPass 2.7s linear infinite;filter:drop-shadow(0 0 5px #a6e3ffcc) drop-shadow(0 0 10px #59b9ff80);background-image:linear-gradient(100deg,transparent 12%,#71caff77 29%,#c4edffdd 41%,#fff 48%,#fff 53%,#c4edffdd 62%,#71caff77 76%,transparent 88%)}
@keyframes cvLightPass{0%{background-position:100% 0;opacity:1}25.9259259%{background-position:0% 0;opacity:1}25.926%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.cv-download:after,.cv-download:before{animation:none;display:none}}

/* CV text and underline: 0.7s movement, 1.5s pause. */
.cv-download:after,.cv-download:before{animation:cvLightPass 2.2s linear infinite}
@keyframes cvLightPass{0%{background-position:100% 0;opacity:1}31.8181818%{background-position:0% 0;opacity:1}31.819%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.cv-download:after,.cv-download:before{animation:none;display:none}}

/* Stronger moving-light / resting-text contrast on home-return buttons only. */
.home-return:not(.cv-download){color:#627c8f;text-shadow:none}
.home-return:not(.cv-download):after{background-image:linear-gradient(100deg,transparent 15%,#76caff66 30%,#c8eeffdd 41%,#fff 48%,#fff 52%,#c8eeffdd 60%,#76caff66 73%,transparent 86%);filter:brightness(1.45) drop-shadow(0 0 6px #a8e4ffcc) drop-shadow(0 0 11px #4baaff77)}
.home-return:not(.cv-download):hover,.home-return:not(.cv-download):focus-visible{color:#d5ebfa;text-shadow:0 0 8px #71c9ff66}

/* Balanced home-return highlight: 0.7s pass and 1.3s pause. CV stays unchanged. */
.home-return:not(.cv-download){color:#829db1;text-shadow:0 0 3px #72bded12}
.home-return:not(.cv-download):after{animation:homeReturnBalanced 2s linear infinite;filter:brightness(1.1) drop-shadow(0 0 4px #91d5ff80) drop-shadow(0 0 7px #4baaff33);background-image:linear-gradient(100deg,transparent 15%,#76caff44 30%,#bfe8ffaa 41%,#edfaff 48%,#fff 52%,#bfe8ffaa 60%,#76caff44 73%,transparent 86%)}
@keyframes homeReturnBalanced{0%{background-position:100% 0;opacity:1}35%{background-position:0% 0;opacity:1}35.001%,100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.home-return:not(.cv-download):after{animation:none;display:none}}
/* Native tablet/mobile layouts: never shrink a desktop canvas to phone size. */
@media(max-width:1100px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .landing{padding:0 5% 26px;min-height:100svh}
 .site-header{padding-top:26px;align-items:center;gap:20px}
 .brand strong{font-size:25px;letter-spacing:2.4px}.brand span{font-size:8px;letter-spacing:3px}
 .site-header nav{max-width:none;flex-wrap:nowrap;gap:25px;padding:0}
 .site-header nav a,.site-header nav button{font-size:10px;letter-spacing:1.7px;min-height:44px;display:inline-flex;align-items:center}
 .hero-copy{width:100%;padding-top:85px;padding-bottom:70px}
 .hero-copy>.eyebrow{font-size:9px;letter-spacing:2px}
 .hero-copy h2{font-size:clamp(64px,9.4vw,103px);letter-spacing:.1em;max-width:100%}
 .hero-role{font-size:24px;letter-spacing:.42em;padding-left:0;margin-bottom:25px}
 .hero-description{font-size:12px;line-height:1.9}
 .selection-heading h3{font-size:10px;letter-spacing:2px}.selection-heading>span{font-size:8px;letter-spacing:1.2px}
 .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}
 .project-card h4{font-size:10px;letter-spacing:1.2px;margin-top:10px}.project-card p{font-size:8px;letter-spacing:.8px}
 .card-number{font-size:25px}.card-arrow{opacity:1}
 .landing-bottom{font-size:8px;letter-spacing:1px;gap:14px;margin-top:30px}
 .about{padding:85px 5% 30px}.about h2{font-size:clamp(36px,6.5vw,65px);line-height:1.12;letter-spacing:.01em}
 .about-body{font-size:13px;gap:45px}.about-body a{font-size:10px;line-height:1.8}
 .about footer{margin-top:70px;font-size:8px;letter-spacing:1.3px}
 .detail-top{font-size:10px;letter-spacing:1px;min-height:54px;padding:15px 12px}.detail-top button{font-size:8px;letter-spacing:.8px}
 #detail{padding-right:94px}.project-rail{right:12px;top:65px;width:68px;gap:12px}
 .rail-name{font-size:10px;letter-spacing:.9px}
 .adjacent-copy small{font-size:8px;letter-spacing:1px}.adjacent-copy strong{font-size:10px;letter-spacing:.8px}.back-to-work{font-size:9px;letter-spacing:1px}
}
@media(max-width:640px){
 .landing{padding:0 6% 25px}.site-header{padding-top:18px;gap:12px}
 .brand strong{font-size:21px;letter-spacing:1.8px}.brand span{font-size:7px;letter-spacing:2.6px}
 .site-header nav{gap:18px}.site-header nav a,.site-header nav button{font-size:9px;letter-spacing:1.2px}
 .replay-icon{width:12px;height:12px}
 .hero-copy{padding-top:62px;padding-bottom:52px}
 .hero-copy>.eyebrow{font-size:7px;letter-spacing:1.3px;line-height:1.8}
 .hero-copy h2{font-size:clamp(45px,12vw,76px);letter-spacing:.075em;margin:18px 0 14px}
 .hero-role{font-size:20px;letter-spacing:.38em;margin-bottom:24px}
 .hero-description{font-size:11px;line-height:1.85;margin-top:18px}
 .selection-heading{gap:10px;align-items:center;margin-bottom:15px}.selection-heading h3{font-size:9px;letter-spacing:1.5px}.selection-heading>span{font-size:6.5px;letter-spacing:.7px}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 .project-card h4{font-size:9px;letter-spacing:.7px;line-height:1.5;overflow-wrap:anywhere}.project-card p{font-size:7px;letter-spacing:.4px;line-height:1.7}
 .card-number{font-size:23px;top:7px;left:8px}.card-arrow{top:7px;right:8px}
 .landing-bottom{font-size:6px;letter-spacing:.8px;line-height:1.8}
 .about{padding:65px 6% 26px}.about>.eyebrow{font-size:9px;letter-spacing:1.8px}.about h2{font-size:clamp(29px,7.7vw,48px);line-height:1.15;letter-spacing:.005em;margin:22px 0 28px}
 .about-body{grid-template-columns:1fr;gap:25px;font-size:12px;line-height:1.9}.about-body>p{margin-top:0}.about-body .eyebrow{font-size:9px}
 .about-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:25px}.about-body a{font-size:9px;letter-spacing:.8px}.about-actions .cv-download{font-size:10px;letter-spacing:1.4px}
 .about footer{margin-top:55px;font-size:7px;letter-spacing:1px}
 #detail{padding-right:0;padding-top:0}
 .detail-top{padding:12px 5%;min-height:50px;font-size:9px;background:#020609f5}.detail-top button{font-size:8px}
 .project-rail{position:sticky;right:auto;top:50px;width:100%;transform:none;flex-direction:row;justify-content:space-between;gap:8px;padding:10px 5%;background:#03090ff5;border-bottom:1px solid #243743;backdrop-filter:blur(12px)}
 .project-rail:before{display:none}.rail-project{flex:1;min-width:0}.rail-frame{aspect-ratio:1.35;min-height:40px}.rail-number{font-size:14px;left:4px;top:3px}
 .rail-project[aria-current=page]:after{right:15%;left:15%;top:auto;bottom:-5px;height:2px;width:auto}
 .rail-name{right:auto;left:0;top:calc(100% + 9px);transform:translateY(-4px);min-width:145px;max-width:190px;font-size:8px;white-space:normal;padding:9px;line-height:1.5}
 .rail-project:nth-last-child(-n+2) .rail-name{left:auto;right:0}.rail-project:hover .rail-name,.rail-project:focus-visible .rail-name{transform:translateY(0)}
 #detail-pages{padding:0 3px}#detail-pages figure{margin-bottom:14px}#detail-pages figcaption{font-size:7px;letter-spacing:1px;line-height:1.6;padding:9px 5px}
 .detail-end{padding:30px 5% 45px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 16px}
 .adjacent-project{gap:10px}.adjacent-project.next{justify-self:end;align-items:flex-end}.adjacent-image{width:84px}.adjacent-copy small{font-size:7px;letter-spacing:.6px}.adjacent-copy strong{font-size:9px;letter-spacing:.5px;overflow-wrap:anywhere}.back-to-work{grid-row:2;grid-column:1/-1;font-size:9px;letter-spacing:1px}
}
@media(max-width:359px){.site-header nav{gap:12px}.site-header nav a,.site-header nav button{font-size:8px}.brand strong{font-size:19px}.hero-copy h2{font-size:12vw}.selection-heading>span{font-size:6px;letter-spacing:.3px}.project-card h4{font-size:8px}.rail-frame{min-height:36px}.about h2{font-size:7.7vw}}
#selection-title{position:relative;display:inline-block}
#selection-title:after{content:attr(data-label);position:absolute;inset:0;pointer-events:none;white-space:nowrap;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,transparent 15%,#76caff44 30%,#bfe8ffaa 41%,#effaff 48%,#fff 52%,#bfe8ffaa 60%,#76caff44 73%,transparent 86%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 4px #83cbff66);animation:homeReturnBalanced 2s linear infinite}
@media(prefers-reduced-motion:reduce){#selection-title:after{animation:none;display:none}}
/* Smaller landscape artwork on narrow screens; seam shares the exact image geometry. */
@media(max-width:1100px){
 .geometric-art{--art-width:max(113%,1010px)}
 .geometric-art .metal-background{inset:auto 0 auto auto;top:0;width:var(--art-width);height:auto;max-width:none;object-fit:contain;object-position:right top}
 .geometric-art:before{background-size:var(--art-width) auto;background-position:right top}
}
@media(max-width:640px){
 .geometric-art{--art-width:max(113%,810px)}
 .geometric-art:after{background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.65) 35%,rgba(0,0,0,.18) 75%,rgba(0,0,0,.06)),linear-gradient(180deg,transparent 220px,#020304 490px)}
}

/* Move narrow-screen artwork and its light together past the right edge. */
@media(max-width:1100px){.geometric-art .metal-background{right:-18px}.geometric-art:before{background-position:right -18px top 0}}

/* Readability adjustment: midway between original sizing and the proposed larger UI. */
.site-header nav a,.site-header nav button{font-size:11px;min-height:36px}
.hero-description{font-size:13px}
.selection-heading h3{font-size:10.5px}.selection-heading>span{font-size:9px}
.project-card h4{font-size:11px}.project-card p{font-size:8.5px}
.landing-bottom{font-size:9px}
.about-body{font-size:14.5px}.about-body a{font-size:11.5px}
.about-actions .cv-download{font-size:12px}
.about footer{font-size:9px}
.detail-top{font-size:11.5px}.detail-top button{font-size:10px;min-height:36px}
.home-return{display:inline-block;line-height:36px}
.about-actions a{line-height:36px}
.back-to-work{font-size:11px}
.adjacent-copy small{font-size:10px}.adjacent-copy strong{font-size:12px}
.rail-name{font-size:11px}
#detail-pages figcaption{font-size:9.5px}
@media(min-width:1600px){.project-card h4{font-size:12px}.project-card p{font-size:9.5px}}
@media(max-width:1100px){
 .site-header nav a,.site-header nav button{font-size:12px;min-height:44px}
 .hero-description{font-size:13.5px}
 .selection-heading h3{font-size:11px}.selection-heading>span{font-size:9px}
 .project-card h4{font-size:11.5px}.project-card p{font-size:9.5px}
 .landing-bottom,.about footer{font-size:9px}
 .about-body{font-size:14.5px}.about-body a{font-size:12px}
 .about-actions .cv-download{font-size:12px}
 .detail-top{font-size:12px}.detail-top button{font-size:10px}
 .back-to-work{font-size:11.5px}.rail-name{font-size:11px}
}
@media(max-width:640px){
 .site-header nav{gap:14px}
 .site-header nav a,.site-header nav button{font-size:11px;letter-spacing:1px}
 .hero-description{font-size:13px}
 .selection-heading h3{font-size:10.5px}.selection-heading>span{font-size:8px;letter-spacing:.4px}
 .project-card h4{font-size:10.5px}.project-card p{font-size:8.5px}
 .landing-bottom{font-size:8px;letter-spacing:.5px}
 .about-body{font-size:14px}.about-body a{font-size:11px;letter-spacing:.6px}
 .about-actions .cv-download{font-size:12px}.about footer{font-size:9px}
 .detail-top{height:60px;min-height:60px;padding:8px 5%;font-size:11px;gap:7px;letter-spacing:.6px;align-items:center}
 .detail-top button{font-size:10px;letter-spacing:.5px}
 .project-rail{top:60px}.rail-name{font-size:10px}
 #detail-pages figcaption{font-size:9px}
 .adjacent-copy small{font-size:9px}.adjacent-copy strong{font-size:11px}
 .back-to-work{font-size:11.5px}
}
@media(max-width:359px){
 .site-header nav{gap:10px}.site-header nav a,.site-header nav button{font-size:10px}
 .selection-heading>span{font-size:7.5px}.project-card h4{font-size:10px}
 .detail-top{padding-inline:4%;font-size:10px}.detail-top button{font-size:9px}
}
/* Comfortable hit targets without changing the established type sizes or borders. */
.site-header nav a,.site-header nav button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.site-header nav button{padding-inline:6px}
.home-return{min-height:44px;line-height:44px}
.detail-top button{min-height:44px;min-width:44px;padding-inline:6px}
.about-actions a{display:inline-block;min-height:44px;line-height:44px}
.about-actions .cv-download{padding-bottom:8px}
.landing-bottom>a{min-height:44px;display:inline-flex;align-items:center}
.adjacent-project{min-height:44px}
.rail-project{min-height:44px}
@media(max-width:640px){
 .detail-top{height:60px;min-height:60px;padding-block:8px}
 .project-rail{top:60px}
 .rail-frame{min-height:44px}
}

/* Include identity subtitles and category labels in the readability pass. */
.brand span{font-size:10px;letter-spacing:3.4px}
.eyebrow{font-size:11px}
.hero-copy>.eyebrow{font-size:11px;line-height:1.9}
@media(max-width:1100px){.brand span{font-size:10px;letter-spacing:2.8px}.hero-copy>.eyebrow{font-size:11px;letter-spacing:1.8px}.about>.eyebrow,.about-body .eyebrow{font-size:11px}}
@media(max-width:640px){.brand span{font-size:9px;letter-spacing:2.4px}.hero-copy>.eyebrow{font-size:9.5px;letter-spacing:1.1px;line-height:1.9;max-width:100%;white-space:normal;overflow-wrap:normal}.about>.eyebrow,.about-body .eyebrow{font-size:10.5px}}
@media(max-width:359px){.hero-copy>.eyebrow{font-size:9px;letter-spacing:.65px}.brand span{font-size:8.5px}}

/* Use natural text baselines, never independent vertical offsets. */
.site-header{align-items:baseline}
.brand strong{line-height:1}
.site-header nav{padding-top:0;transform:none;align-items:baseline}
.site-header nav a,.site-header nav button,#replay{height:44px;min-height:44px;line-height:1;padding-block:0;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1100px){.site-header{align-items:baseline}}
@media(max-width:640px){.site-header nav a,.site-header nav button{font-size:10px}}
@media(max-width:359px){.site-header nav a,.site-header nav button{font-size:9px}}

/* Keep desktop composition; compensate only small UI text for preview scaling. */
@media(min-width:1101px){
 .brand span{font-size:calc(10px * var(--ui-scale-correction,1))}
 .site-header nav a,.site-header nav button{font-size:calc(12px * var(--ui-scale-correction,1))}
 .hero-copy>.eyebrow,.eyebrow{font-size:calc(11px * var(--ui-scale-correction,1))}
 .hero-description{font-size:calc(13px * var(--ui-scale-correction,1))}
 .selection-heading h3{font-size:calc(11px * var(--ui-scale-correction,1))}
 .selection-heading>span{font-size:calc(9px * var(--ui-scale-correction,1))}
 .project-card h4{font-size:calc(12px * var(--ui-scale-correction,1))}
 .project-card p{font-size:calc(9.5px * var(--ui-scale-correction,1))}
 .landing-bottom,.about footer{font-size:calc(9px * var(--ui-scale-correction,1))}
 .about-body{font-size:calc(14.5px * var(--ui-scale-correction,1))}
 .about-body a,.about-actions .cv-download{font-size:calc(12px * var(--ui-scale-correction,1))}
 .detail-top,.back-to-work{font-size:calc(12px * var(--ui-scale-correction,1))}
 .detail-top button,.adjacent-copy small{font-size:calc(10px * var(--ui-scale-correction,1))}
 .adjacent-copy strong{font-size:calc(12px * var(--ui-scale-correction,1))}
 .rail-name{font-size:calc(11px * var(--ui-scale-correction,1))}
 #detail-pages figcaption{font-size:calc(9.5px * var(--ui-scale-correction,1))}
 .site-header nav a,.site-header nav button,.detail-top button,.home-return,.about-actions a,.adjacent-project{min-height:calc(44px * var(--ui-scale-correction,1))}
 .home-return,.about-actions a{line-height:calc(44px * var(--ui-scale-correction,1))}
 .site-header nav a,.site-header nav button,#replay{height:calc(44px * var(--ui-scale-correction,1))}
}

/* Both detail-header actions share exactly the same typography. */
.detail-top>.home-return,.detail-top>button{font-family:Inter,Arial,sans-serif;font-size:inherit;font-weight:500;letter-spacing:inherit;line-height:44px;white-space:nowrap}

/* Mobile action underlines sit close to the glyphs; the hit area stays 44px. */
@media(max-width:640px){
 .about-actions a{position:relative;min-height:44px;line-height:44px;padding-bottom:0;border-bottom:0}
 .about-actions a:not(.cv-download){background-image:linear-gradient(#38596d,#38596d);background-size:100% 1px;background-position:left calc(50% + 10px);background-repeat:no-repeat}
 .about-actions .cv-download{padding-bottom:0;border-bottom:0;background-image:linear-gradient(#70aed4,#70aed4);background-size:100% 1px;background-position:left calc(50% + 10px);background-repeat:no-repeat}
 .about-actions .cv-download:before{bottom:auto;top:calc(50% + 10px)}
}

.experience-arrow{display:inline-block;vertical-align:-1px;margin-left:3px;width:1em;height:1em;fill:none}

/* Preserve edge alignment after removing the bottom home-return action. */
.detail-end .adjacent-project.previous{grid-column:1;grid-row:1}
.detail-end .adjacent-project.next{grid-column:3;grid-row:1}
.site-legal-footer{padding:18px 5% 30px;background:#020304;color:#a0b6c6;font-size:11px;letter-spacing:1px}
.site-legal-footer nav{display:flex;justify-content:center;gap:28px}
.site-legal-footer a{min-height:44px;display:inline-flex;align-items:center}
.site-legal-footer a:hover{color:#e9f0f6}
body.legal-page{background:#020609}
.legal-document{width:min(900px,88%);margin:0 auto;padding:35px 0 50px;color:#b2c5d2;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.legal-document header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #273b4a;padding-bottom:20px}
.legal-document header a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:1px}
.legal-document h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(40px,7vw,68px);line-height:1.1;color:#e9f0f6;letter-spacing:.025em;margin:48px 0 30px}
.legal-document h2{font-size:20px;color:#e9f0f6;line-height:1.4;margin-top:32px}
.legal-document address{font-style:normal}
.legal-document p,.legal-document ul{margin:14px 0}
.legal-document main a{color:#bbdff5;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.detail-end .adjacent-project.next{grid-column:2}.site-legal-footer{font-size:11px;padding-bottom:20px}.legal-document{font-size:15px}.legal-document header{align-items:center}.legal-document header a{font-size:10px}.legal-document h2{font-size:18px}}

/* The home footer is one baseline-aligned row; projects retain their own legal links. */
.about .about-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding-top:12px}
.about-footer>span:last-child{justify-self:end}
.about-footer nav{display:flex;align-items:center;justify-content:center;gap:24px;font-size:11px;letter-spacing:1px;color:#a0b6c6}
.about-footer nav a{display:inline-flex;align-items:center;min-height:44px}
.about-footer nav a:hover{color:#e9f0f6}
body:has(#detail[hidden])>.detail-legal-footer{display:none}
@media(max-width:640px){.about .about-footer{gap:8px;grid-template-columns:minmax(0,1fr) auto auto;font-size:8px;letter-spacing:.5px}.about-footer nav{gap:12px;font-size:10px;letter-spacing:.2px}}
@media(max-width:359px){.about-footer nav{gap:8px;font-size:9px}.about .about-footer{font-size:7px}}

/* A separate project footer, below the previous/next project navigation. */
.detail-legal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-right:112px;padding:18px 10px 30px;border-top:1px solid #192d3c}
.detail-legal-footer nav{justify-content:flex-end;gap:24px}
.detail-legal-footer .detail-cv-download{position:relative;flex-shrink:0;min-height:44px;line-height:44px;font-size:12px;letter-spacing:1px;color:#b7d8ef;background:linear-gradient(#70aed4,#70aed4) left calc(50% + 10px)/100% 1px no-repeat}
.detail-legal-footer .detail-cv-download:before{bottom:auto;top:calc(50% + 10px)}
@media(max-width:1100px){.detail-legal-footer{margin-right:94px}}
@media(min-width:1101px){.detail-legal-footer{font-size:calc(11px * var(--ui-scale-correction,1))}.detail-legal-footer .detail-cv-download{font-size:calc(12px * var(--ui-scale-correction,1));line-height:calc(44px * var(--ui-scale-correction,1));min-height:calc(44px * var(--ui-scale-correction,1))}}
@media(max-width:640px){
 .about .about-footer{grid-template-columns:minmax(0,1fr) auto;row-gap:14px;font-size:9px;letter-spacing:1px}
 .about-footer>span:first-child{grid-column:1;grid-row:1}
 .about-footer>span:last-child{grid-column:2;grid-row:1}
 .about-footer nav{grid-column:1/-1;grid-row:2;justify-self:center;gap:24px;font-size:11px;letter-spacing:1px}
 .detail-legal-footer{margin-right:0;padding:18px 5% 25px;gap:10px;font-size:10px;letter-spacing:.3px}
 .detail-legal-footer nav{gap:12px}
 .detail-legal-footer .detail-cv-download{font-size:11px;letter-spacing:.6px}
}
@media(max-width:359px){.detail-legal-footer{padding-inline:4%;font-size:9px}.detail-legal-footer nav{gap:9px}.detail-legal-footer .detail-cv-download{font-size:10px;letter-spacing:.4px}}
