@font-face{font-family:Archivo;src:url('/assets/archivo.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#080a0f;--paper:#ebeae6;--blue:#4e72ff;--side:clamp(25px,5.4vw,104px);font-family:Archivo,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f4f3f0;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:#425cff;color:#fff}:focus-visible{outline:2px solid #8fa6ff;outline-offset:4px}.skip{position:fixed;top:-100px;left:20px;background:#fff;color:#000;padding:10px;z-index:100}.skip:focus{top:10px}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:84px;padding:0 var(--side);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(4,6,12,.64),rgba(4,6,12,.12));backdrop-filter:blur(12px)}.brand img{width:145px;height:auto}.site-header nav{display:flex;gap:clamp(25px,3.1vw,58px);align-items:center}.site-header nav a,.footer{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.site-header nav a{color:#dfdfe3;transition:color .2s}.site-header nav a:hover{color:#91a5ff}.menu-toggle{display:none}
.story{height:calc(var(--chapter-count)*100svh);position:relative;background:#06080d}.story-pin{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.chapter{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;background:#080b12;will-change:opacity}.chapter:first-child{opacity:1;pointer-events:auto}.chapter-image,.chapter-shade{position:absolute;inset:0}.chapter-image picture{display:block;width:100%;height:100%}.chapter-image img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--image-y,0px),0) scale(var(--image-scale,1.07));will-change:transform}.chapter-shade{background:linear-gradient(90deg,rgba(4,6,12,.9) 0%,rgba(4,6,12,.54) 34%,transparent 65%),linear-gradient(0deg,rgba(4,6,12,.75),transparent 24%)}.chapter-content{opacity:var(--copy-alpha,1);position:absolute;z-index:2;left:var(--side);right:var(--side);top:50%;transform:translate3d(0,calc(-50% + var(--text-y,0px)),0);will-change:transform;max-width:790px}.chapter-kicker,.section-label,.eyebrow{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#aeb9d5}.chapter-kicker:before{content:"";display:inline-block;width:21px;height:1px;background:#6d88fc;vertical-align:middle;margin-right:15px}.chapter h1,.chapter h2,.studio h2,.contact h2{overflow-wrap:break-word;font-weight:500;letter-spacing:-.068em;line-height:.96;margin:30px 0}.chapter h1{font-size:clamp(72px,8vw,146px)}.chapter h2{font-size:clamp(66px,7.4vw,136px)}h1 em,h2 em{font-style:normal;color:#8fa4ff}.opening-intro{max-width:350px;line-height:1.6;font-size:clamp(15px,1.1vw,19px);color:#c6cbd6;margin:28px 0 36px}.story-cta,.contact-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.68);padding:17px 28px;min-height:53px;background:rgba(8,11,19,.28);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:white;transition:background .25s,color .25s,border .25s,transform .25s}.story-cta:hover,.contact-button:hover{background:#eaeefb;color:#090e20;border-color:#eaeefb;transform:translateY(-2px)}.story-progress{position:absolute;z-index:25;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.12)}.story-progress span{display:block;width:0;height:100%;background:#6b84ff;box-shadow:0 0 12px #3b65ff}
.chapter-project .chapter-image{background:#0b0e17}.chapter-project .chapter-shade{background:linear-gradient(90deg,#07090ef2 2%,#07090eb8 36%,#07090e1a 71%),linear-gradient(0deg,#07090ec9,transparent 25%)}.chapter-project .chapter-image img{object-position:68% center}.project-content{max-width:600px}.project-content h2{font-size:clamp(66px,7vw,132px);overflow-wrap:anywhere}.project-line{font-size:clamp(19px,1.55vw,26px);font-weight:500;letter-spacing:-.035em;margin:0 0 19px;color:#edf0fa}.project-detail{font-size:14px;line-height:1.6;color:#b8c0d1;max-width:440px;margin:0 0 34px}.chapter-blue{background:#090c19}.chapter-blue .chapter-image img{object-position:65% 50%}.chapter-silver .chapter-image img{object-position:62% center}.chapter-violet .chapter-image img,.chapter-ice .chapter-image img{object-position:65% center}
.studio{color:#161a22;background:var(--paper);padding:clamp(105px,10vw,190px) var(--side) clamp(90px,10vw,165px)}.studio .section-label{color:#566889}.studio h2{font-size:clamp(57px,7vw,116px);max-width:1260px;margin:28px 0 clamp(90px,11vw,170px)}.studio h2 em{color:#4664d4}.studio-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(45px,8vw,160px);align-items:center}.studio figure{margin:0}.studio figure img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;filter:saturate(.83)}.studio figcaption{font-size:9px;letter-spacing:.22em;color:#687181;margin-top:16px}.studio-copy{max-width:450px}.studio-copy p:first-child{font-size:clamp(25px,2.6vw,46px);line-height:1.2;letter-spacing:-.05em;margin:0 0 28px}.studio-copy p:nth-child(2){font-size:15px;line-height:1.65;color:#505963}.studio-principle{margin-top:50px;padding-top:19px;border-top:1px solid #b8bdc5;display:flex;flex-wrap:wrap;gap:12px 22px;color:#4e5c73;font-size:10px;letter-spacing:.12em}
.contact{min-height:720px;min-height:92svh;display:flex;align-items:center;padding:100px var(--side);background:radial-gradient(ellipse at 87% 87%,#253973 0%,#111933 26%,#080b14 60%);position:relative;overflow:hidden}.contact-inner{z-index:2;position:relative}.contact h2{font-size:clamp(95px,12vw,220px);margin:28px 0}.contact-inner>p:not(.section-label){font-size:17px;color:#b3bdd2;line-height:1.6;margin:0 0 34px}.contact-light{position:absolute;width:64vw;aspect-ratio:1;right:-20%;bottom:-60%;border:1px solid #6b7fdd61;border-radius:50%;box-shadow:0 0 0 95px #6885e007,0 0 0 195px #6885e007,0 0 0 295px #6885e005,inset 0 0 140px #4366e426}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px;padding:38px var(--side);background:#07090e;border-top:1px solid #262a36;color:#929caf}.footer>div{display:flex;gap:24px}.plain-button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0}.footer a:hover,.plain-button:hover{color:#fff}
/* Dialogs use native focus trapping and the same visual language. */
dialog{border:1px solid #353b51;background:#111622;color:#e8ebf5;box-shadow:0 28px 110px #000c;padding:clamp(30px,5vw,65px);width:min(640px,calc(100% - 28px));max-height:min(89svh,950px);overflow:auto}dialog::backdrop{background:#03050bdb;backdrop-filter:blur(6px)}dialog h2{font-size:clamp(45px,6vw,76px);font-weight:500;letter-spacing:-.065em;line-height:1;margin:16px 0 30px}dialog p{line-height:1.6;color:#b9c4d5}dialog .eyebrow{color:#8da1ef}dialog .status-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#98a9d1}.dialog-close{position:absolute;right:20px;top:17px;border:0;background:transparent;color:#e7e9f2;font-size:32px;line-height:1}.button{border:1px solid #9aaaff;color:#fff;background:#405dd1;padding:15px 22px;display:inline-block;font-size:12px;letter-spacing:.08em}.button:hover{background:#6b81eb}#contact-form{display:grid;gap:17px}#contact-form>label{display:grid;gap:8px;font-size:12px;color:#c0c9da}#contact-form input:not([type=checkbox]),#contact-form textarea{width:100%;background:#0b101a;color:#fff;border:1px solid #3e4658;border-radius:0;padding:13px;outline:none}#contact-form input:focus,#contact-form textarea:focus{border-color:#a2b0ff}#contact-form textarea{resize:vertical}.honeypot{position:absolute!important;left:-10000px!important}.check-label{display:flex!important;gap:12px!important;align-items:flex-start;line-height:1.45!important}.check-label input{margin-top:3px;accent-color:#5871db}.inline-link{border:0;background:none;padding:0;color:#adbaff;text-decoration:underline;font-size:inherit}#form-status{min-height:1.5em;margin:0;font-size:13px}
@media(max-width:850px){:root{--side:clamp(23px,5vw,42px)}.site-header{height:72px}.site-header nav{gap:23px}.site-header nav a{font-size:10px}.brand img{width:128px}.chapter h1{font-size:clamp(61px,10vw,88px)}.chapter h2{font-size:clamp(60px,9.8vw,90px)}.project-content h2{font-size:clamp(57px,9vw,88px)}.chapter-content{max-width:580px}.chapter-shade{background:linear-gradient(90deg,#04060cdd,#04060c82 52%,transparent),linear-gradient(0deg,#04060c88,transparent 38%)}.studio-body{gap:45px}.studio h2{margin-bottom:75px}}
@media(max-width:600px){html{scroll-padding-top:70px}.site-header{height:68px;background:#070a12be}.brand img{width:127px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:none;border:1px solid #ffffff4d;padding:8px}.menu-toggle span{width:18px;height:1px;background:#fff}.site-header nav{position:absolute;top:68px;left:0;right:0;padding:24px var(--side) 30px;background:#080b15;border-bottom:1px solid #ffffff40;display:none;flex-direction:column;align-items:flex-start;gap:22px}.site-header nav.open{display:flex}.site-header nav a{font-size:12px}.chapter-image img{object-position:67% center}.chapter-opening .chapter-image img{object-position:center center}.chapter-opening .chapter-shade{background:linear-gradient(180deg,#06081138 0%,#06081140 35%,#05070dbd 66%,#05070df2 100%)}.opening-content{top:auto;bottom:clamp(75px,10svh,120px);transform:translateY(var(--text-y,0px));max-width:100%}.chapter-kicker{font-size:9px;letter-spacing:.16em}.chapter-kicker:before{width:14px;margin-right:9px}.chapter h1{font-size:clamp(59px,14.6vw,88px);margin:20px 0}.opening-intro{font-size:14px;line-height:1.5;max-width:310px;margin:15px 0 22px}.story-cta{min-height:48px;padding:14px 20px;font-size:10px}.chapter-blue .chapter-image img{object-position:64% 20%}.chapter-silver .chapter-image img{object-position:57% 16%}.chapter-project .chapter-shade{background:linear-gradient(180deg,#07091237 0%,#0709122b 30%,#070912d9 58%,#070912fa 100%)}.project-content{top:auto;bottom:clamp(74px,9svh,125px);transform:translateY(var(--text-y,0px));max-width:100%}.project-content h2{font-size:clamp(55px,13vw,82px);margin:16px 0 12px}.project-line{font-size:18px;line-height:1.2;margin:0 0 11px}.project-detail{font-size:12px;line-height:1.4;margin-bottom:18px;max-width:340px}.chapter-violet .chapter-shade,.chapter-ice .chapter-shade{background:linear-gradient(180deg,#07091233 0%,#07091236 30%,#070912dc 60%,#070912fa 100%)}.chapter-violet .chapter-image img,.chapter-ice .chapter-image img{object-position:center center}.studio{padding:105px var(--side) 100px}.studio h2{font-size:clamp(48px,11vw,71px);margin:21px 0 65px}.studio-body{display:block}.studio figure img{aspect-ratio:1.05}.studio-copy{padding-top:60px}.studio-copy p:first-child{font-size:30px}.contact{min-height:80svh;padding:110px var(--side)}.contact h2{font-size:clamp(82px,17vw,130px)}.contact-inner>p:not(.section-label){font-size:15px}.contact-light{width:130vw;right:-75%;bottom:-25%}.footer{align-items:flex-start;flex-direction:column;gap:22px}.footer>div{width:100%;justify-content:space-between}.footer .brand img{width:125px}dialog{padding:30px 23px}}
@media(max-width:360px){.chapter h1{font-size:55px}.chapter-kicker{font-size:8px}.project-content h2{font-size:53px}.project-detail{font-size:11px}.opening-intro{font-size:13px}.chapter-project .chapter-image img{object-position:59% 22%}}
@media(max-height:720px) and (min-width:601px){.chapter h1{font-size:clamp(65px,7vw,108px)}.chapter h2{font-size:clamp(60px,6vw,100px)}.chapter-content{top:53%}.chapter h1,.chapter h2{margin:17px 0}.project-detail{line-height:1.35;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story{height:auto!important}.story-pin{height:auto;position:static;overflow:visible}.chapter{position:relative;min-height:100svh;opacity:1!important;pointer-events:auto!important;will-change:auto}.chapter-content,.chapter-image img{will-change:auto;--text-y:0px!important;--image-y:0px!important;--image-scale:1!important}.story-progress{display:none}.story-cta,.contact-button{transition:none}}

@media(max-width:600px) and (max-height:700px){.opening-content{bottom:60px}.chapter h1{font-size:clamp(53px,13vw,72px)}.opening-intro{font-size:12px;margin:10px 0 15px}.project-content{bottom:56px}.project-content h2{font-size:clamp(43px,11vw,63px);margin:12px 0 9px}.project-line{font-size:15px;margin-bottom:7px}.project-detail{font-size:11px;line-height:1.32;margin-bottom:11px}.story-cta{min-height:43px;padding:11px 16px}}

/* If scripts are unavailable, every chapter remains readable in document flow. */
html:not(.js-story) .story{height:auto!important}html:not(.js-story) .story-pin{height:auto;position:static;overflow:visible}html:not(.js-story) .chapter{position:relative;min-height:100svh;opacity:1;pointer-events:auto}html:not(.js-story) .story-progress{display:none}

/* Scroll-linked parallax continues inside each photographic scene. */
.chapter-image img{transform:translate3d(0,var(--image-y,0px),0) scale(var(--image-scale,1.07))}
.chapter-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,45%) 42%,rgba(76,104,235,.16),transparent 43%);mix-blend-mode:screen}
.chapter-silver .chapter-image::after{background:radial-gradient(ellipse at var(--light-x,45%) 35%,rgba(217,226,255,.12),transparent 41%)}
.chapter-violet .chapter-image::after{background:radial-gradient(ellipse at var(--light-x,45%) 42%,rgba(79,112,250,.20),transparent 41%)}
.chapter-ice .chapter-image::after{background:radial-gradient(ellipse at var(--light-x,45%) 36%,rgba(70,107,250,.18),transparent 45%)}
.has-custom-art .chapter-image img{object-position:center}
.studio{scroll-margin-top:84px}
.studio figure img{display:block;aspect-ratio:auto;height:auto;object-fit:contain}
@media(max-width:850px){.studio{scroll-margin-top:72px}}
@media(max-width:600px){
  .project-detail{font-size:13px;line-height:1.5}
  .studio{scroll-margin-top:68px}
  .studio figure{overflow:visible}
  .studio figure img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .chapter-image img{transform:none!important}
  .chapter-image::after{display:none}
}

/* The masthead belongs to the start of the page. Pinned chapters can then
   use the complete viewport, and Studio is never covered by the logo. */
.site-header{position:relative;top:auto;left:auto;right:auto;background:#0b0f18;backdrop-filter:none}
.studio{scroll-margin-top:0}
.footer-nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px)}
.footer-nav a{white-space:nowrap}
@media(max-width:850px){.studio{scroll-margin-top:0}}
@media(max-width:600px){
  html{scroll-padding-top:0}
  .site-header{background:#0b0f18}
  /* On first load the masthead is still visible above the opening chapter. */
  .opening-content{bottom:clamp(115px,15svh,145px)}
  .chapter-blue .chapter-image img,.chapter-silver .chapter-image img{object-position:center center}
  .has-desktop-only-art .chapter-image img{object-fit:contain;object-position:center 7%;transform:translate3d(0,var(--image-y,0px),0)}
  .footer-nav{width:100%;flex-wrap:wrap;gap:16px 24px}
}
@media(max-width:600px) and (max-height:700px){.opening-content{bottom:clamp(105px,19svh,120px)}}
@media(max-width:360px) and (max-height:700px){.chapter-opening h1{font-size:clamp(45px,14.5vw,52px)}}

/* Every chapter uses the same scroll-driven image and copy clock. */
.chapter-content h1,.chapter-content h2,.studio h2,.contact h2{position:relative}
.story-progress span{width:100%;transform-origin:left center;transform:scaleX(0)}
.stage-veil{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:var(--veil-alpha,0);background:radial-gradient(ellipse 38% 36% at 70% 34%,rgba(199,218,255,.46),rgba(76,112,246,.38) 45%,transparent 100%),linear-gradient(100deg,transparent 34%,rgba(80,114,226,.13) 65%,transparent 94%);mix-blend-mode:screen}
.copy-overlay{position:absolute;inset:0;z-index:6;pointer-events:none}
.copy-overlay[hidden]{display:none}
.copy-overlay .chapter-content{pointer-events:none;opacity:1}
.copy-overlay .storm-type{display:none}
.studio{position:relative;isolation:isolate}
.studio::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--section-charge,0);background:radial-gradient(ellipse at 82% 12%,#5268ff16,transparent 36%)}
.studio-body figure{position:relative}
.studio-body figure::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--section-charge,0);background:linear-gradient(112deg,transparent calc(var(--type-x,-30%) - 2%),#778aff14 var(--type-x,-30%),transparent calc(var(--type-x,-30%) + 3%));mix-blend-mode:screen}
#story-after{height:clamp(160px,16vw,260px);background:linear-gradient(180deg,#080b13 0%,#101729 22%,#293654 49%,#7c89a6 75%,#ebeae6 100%);position:relative;overflow:hidden}
#story-after::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 36% 80% at 68% 18%,#5268ff38,transparent 80%)}
.contact{isolation:isolate}
.contact-light{opacity:var(--section-charge,.7);transform:translate3d(0,var(--contact-lift,15px),0)}
@media(max-width:600px){
  .studio-body figure::after{opacity:var(--section-charge,0)}
  #story-after{height:clamp(135px,19svh,185px)}
}
@media(prefers-reduced-motion:reduce){
  .stage-veil,.studio::before,.studio-body figure::after{display:none!important}
  .contact-light{transform:none;opacity:.7}
}

/* Every transition moves its complete photographic scene in depth. The
   illuminated image edges and micro-parallax remain tied to scroll position. */
.chapter{will-change:opacity,transform;transform-origin:50% 50%;backface-visibility:hidden}
.chapter[data-render="0"]{visibility:hidden}
.chapter[data-render="1"]{visibility:visible}
.chapter-content{transition:none}
.chapter-opening .chapter-image::after{background:radial-gradient(ellipse 42% 48% at var(--light-x,45%) 47%,rgba(126,158,255,.17),transparent 74%)}
.chapter-blue .chapter-image::after{background:linear-gradient(108deg,transparent calc(var(--light-x,45%) - 19%),rgba(91,142,255,.085) var(--light-x,45%),transparent calc(var(--light-x,45%) + 24%))}
.chapter-silver .chapter-image::after{background:radial-gradient(ellipse 32% 37% at var(--light-x,45%) 29%,rgba(181,208,255,.16),transparent 80%)}
.chapter-violet .chapter-image::after{background:radial-gradient(ellipse 38% 39% at var(--light-x,45%) 26%,rgba(75,115,255,.15),transparent 80%)}
.chapter-ice .chapter-image::after{background:radial-gradient(ellipse 35% 43% at var(--light-x,45%) 37%,rgba(87,135,255,.15),transparent 80%)}
.studio-body figure img{transform:translate3d(0,var(--studio-rise,0px),0)}
.studio-head{transform:translate3d(0,var(--studio-heading-y,0px),0)}
@media(prefers-reduced-motion:reduce){
  .chapter{transform:none!important;visibility:visible!important}
  .studio-body figure img,.studio-head{transform:none!important}
}
@media(max-width:600px){.stage-veil{background:radial-gradient(ellipse 78% 29% at 52% 32%,rgba(188,213,255,.42),rgba(68,108,245,.38) 40%,transparent 100%)}}
