/* Real raster photography replaces the previous introductory geometric objects. */
.page-intro{background:#090e16;min-height:740px}
.page-photo{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.page-photo picture,.page-photo img{display:block;width:100%;height:100%}
.page-photo img{object-fit:cover;object-position:68% 50%;transform:scale(1.025);animation:photo-drift 22s ease-in-out infinite alternate;will-change:transform}
.page-photo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%;opacity:0;transition:opacity .4s;background:#000}
.has-motion .page-photo video{opacity:1}.has-motion .page-photo img{animation:none;will-change:auto}
.photo-motion-toggle{position:absolute;right:8vw;bottom:133px;z-index:3;display:flex;gap:11px;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #ffffff35;border-radius:40px;color:#e2eaf1;background:#1e2c3d50;backdrop-filter:blur(16px);font-size:10px;cursor:pointer;box-shadow:inset 0 1px #ffffff21,0 10px 30px #0004}
.photo-motion-toggle span:first-child{font-size:17px}.photo-motion-toggle:hover{background:#52677d55}.photo-motion-toggle:focus-visible{outline:2px solid #d2e1f0;outline-offset:4px}
.page-intro[data-page-hidden] .page-photo img{animation-play-state:paused}
.page-intro:after{background:linear-gradient(90deg,#090e16dc 0%,#090e1670 36%,#090e1605 66%),linear-gradient(0deg,#090e16d9,transparent 28%)}
.page-intro-copy{width:48%;max-width:720px}
.page-intro-copy h1{color:#f6f4ef;text-shadow:0 2px 28px #0003}
.page-intro .page-intro-copy h1 em{color:#d5e0ed}
.page-intro-copy .eyebrow{color:#b1c3d4}
.page-intro-copy>p:not(.eyebrow){color:#c4cbd1;max-width:430px}
.page-intro .page-intro-copy .button{color:#f4f6f8;background:linear-gradient(130deg,#ffffff20,#ffffff08)!important;border-color:#ffffff3d!important;box-shadow:inset 0 1px #ffffff24,0 12px 42px #0004;backdrop-filter:blur(20px)}
.page-intro-label{color:#bbc6cf;border-color:#ffffff25;font-size:8px;letter-spacing:.15em}
.page-intro-scroll{color:#b0bdc9}
#page-passage{background:radial-gradient(ellipse at 50% 50%,#57718c28,transparent 45%),#080d15}
.passage-ring{border-color:#c0d5ed35;box-shadow:0 0 60px #80a3d51a,inset 0 0 50px #80a3d510}
.passage-center span{color:#d1ddeb;max-width:80vw;text-align:center;line-height:1.8}
#particle-canvas{opacity:.37}
.contact{background:radial-gradient(ellipse at 0 100%,#263e5e55,transparent 60%),#0d141e;border-color:#bacfe521}
.contact h2{color:#d5e0ed}.contact h2>span{color:#f5f3ed}.contact .eyebrow,.contact-form label{color:#b8c8d9}
.contact-form input,.contact-form textarea,#professional-fields input,#professional-fields select{color:#e7edf3;border-color:#aac6e433;background:#ffffff03}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7d8b9a}
#professional-fields legend{color:#bbcee2}.contact-form p{color:#9caec0}
.contact svg path{stroke:#aec8e0}
.interest button[aria-pressed=true]{color:#f4f6f8;background:#c4d9eb29;border-color:#b7cfe85e}
#scene-controls{position:fixed;z-index:22;right:22px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #ffffff26;border-radius:50px;background:linear-gradient(120deg,#cadced20,#141d2a90);box-shadow:inset 0 1px #ffffff21,0 10px 38px #0005;backdrop-filter:blur(22px);color:#d7e0e9}
#scene-controls button{width:44px;height:44px;border:1px solid #ffffff16;border-radius:50%;background:#ffffff08;color:inherit;font-size:19px;cursor:pointer;transition:background .25s,transform .25s}
#scene-controls button:hover{background:#ffffff21;transform:translateY(-2px)}
#scene-controls button:disabled{opacity:.28;cursor:default;transform:none}
#scene-controls button:focus-visible{outline:2px solid #cadcef;outline-offset:4px}
#scene-count{font-size:8px;letter-spacing:.12em;min-width:58px;text-align:center;font-variant-numeric:tabular-nums}
@keyframes photo-drift{from{transform:scale(1.025) translate3d(.3%,.2%,0)}to{transform:scale(1.085) translate3d(-.8%,-.7%,0)}}
@media(max-width:1050px) and (min-width:761px){.page-intro-copy{width:55%}.page-intro-copy h1{font-size:64px}.page-photo img{object-position:73% 50%}}
@media(max-width:760px){
 .page-intro{height:100svh;min-height:820px}
 .page-photo{top:auto;height:64%;bottom:0}
 .page-photo img{object-position:50% 27%}
 .page-photo video{object-position:77% 27%}
 .photo-motion-toggle{left:23px;right:auto;bottom:23px;font-size:9px;padding:9px 15px}
 .page-intro:after{background:linear-gradient(180deg,#090e16 0%,#090e16 29%,#090e16d9 38%,#090e1600 57%,#090e160d 79%,#090e16ec 100%)}
 .page-intro-copy{top:119px;left:23px;right:23px;width:auto;max-width:520px}
 .page-intro-copy .eyebrow{font-size:7px;margin-bottom:20px}
 .page-intro-copy h1{font-size:clamp(41px,11.6vw,55px);line-height:1.05;max-width:390px}
 .page-intro-copy>p:not(.eyebrow){font-size:12px;line-height:1.75;max-width:330px;margin:20px 0}
 .page-intro-copy .button{font-size:11px;min-height:47px;padding:14px 18px}
 .page-intro-label{bottom:102px;left:23px;right:23px;font-size:6px;line-height:1.8}
 .page-intro-scroll{bottom:82px;left:23px;font-size:6px;letter-spacing:.10em}
 #scene-controls{right:16px;bottom:max(15px,env(safe-area-inset-bottom));padding:4px}
 #scene-controls button{width:43px;height:43px}#scene-count{font-size:7px;min-width:57px}
 .footer{padding-bottom:110px}
}
@media(max-width:360px){.page-intro{min-height:790px}.page-intro-copy{left:18px;right:18px;top:111px}.page-intro-copy h1{font-size:39px}.page-intro-copy>p:not(.eyebrow){font-size:11px;max-width:285px}.page-intro-copy .eyebrow{font-size:6px}.page-intro-label{font-size:5px}}
@media(prefers-reduced-motion:reduce){.page-photo img{animation:none;transform:none;will-change:auto}#scene-controls button{transition:none}}

/* The welcome screen is navigated directly by scrolling. */
body[data-page=experience] #scene-controls{display:none}
.page-intro[data-view=particuliers] .page-intro-copy h1{font-size:clamp(56px,5.8vw,88px)}
.participation-note{padding:25px 26px;margin:30px 0 23px;border:1px solid #c5d8b12b;border-radius:18px;background:linear-gradient(135deg,#b0c39212,#b0c39203);box-shadow:inset 0 1px #d6e5c511}
.participation-note>span{display:block;color:#acbd9e;font-size:8px;letter-spacing:.12em;line-height:1.8}
.participation-note strong{display:block;font-weight:400;font-size:clamp(26px,2.5vw,38px);line-height:1.2;letter-spacing:-.03em;color:#e4ebdb;margin:14px 0}
.participation-note p{font-size:12px;line-height:1.8;color:#acb8a2;max-width:400px}
@media(max-width:760px){.page-intro[data-view=particuliers] .page-intro-copy h1{font-size:clamp(35px,10.8vw,48px)}.participation-note{padding:22px}.participation-note strong{font-size:30px}.participation-note>span{font-size:7px}.participation-note p{font-size:11px}}

/* Prevent a still/video double image when the baked black fades reach their boundary. */
.page-photo{background:#09111e}.has-motion .page-photo picture{visibility:hidden}.has-motion .page-photo video{opacity:1;transition:none}.has-motion .page-photo img{transform:none;object-position:68% 50%}.page-photo video{transform:none}.page-intro[data-view=particuliers] .page-photo picture{visibility:visible}
