@font-face{font-family:"Bodoni Moda";font-weight:500;font-display:swap;src:url(assets/fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-weight:400;font-display:swap;src:url(assets/fonts/bodoni-moda-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-500-normal.woff2) format("woff2")}
:root{--bg1:#121214;--bg2:#1A1A1E;--taupe:#B8A9A2;--gold:#D6C7A1;--ivory:#F5F4F0;--muted:#9C9895;--serif:"Bodoni Moda","Didot","Playfair Display",Georgia,serif;--sans:"Inter","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#0f0f14 linear-gradient(180deg,#0d0d12 0%,#15141b 40%,#0f0f14 100%);color:var(--ivory);font:400 17px/1.7 var(--sans)}
a{color:inherit}
.nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,56px);z-index:20;opacity:1;transition:opacity 1.5s ease;background:linear-gradient(#121214cc,transparent)}
.nav-logo-link{display:block;line-height:0}.nav-logo{height:46px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.nav nav{display:flex;gap:clamp(12px,2.5vw,32px)}
.nav a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--muted)}.nav a:hover,.nav a:focus-visible{color:var(--ivory)}
body.is-intro .nav{opacity:0;pointer-events:none}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 42%,#2b2833 0%,#17161d 55%,#0b0b0f 100%)}
.glow{position:absolute;left:50%;top:44%;width:105vmin;height:105vmin;margin:-52.5vmin 0 0 -52.5vmin;border-radius:50%;background:radial-gradient(circle,rgba(240,222,164,.95) 0%,rgba(214,190,128,.55) 24%,rgba(150,128,140,.25) 46%,transparent 68%);opacity:.38;transform:scale(1);filter:blur(24px)}
.lines{position:absolute;inset:0;width:100%;height:100%;opacity:.12}
.stack{position:relative;text-align:center;padding:0 20px;will-change:transform}
.mono-wrap{width:clamp(220px,30vw,380px);margin:0 auto 26px;filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.2));will-change:transform,opacity}
.mono-wrap svg{width:100%;height:auto;overflow:visible}
.wordmark-h{margin:0;font-weight:500}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wordmark{display:none}
.rule{display:block;height:1px;width:min(340px,60vw);margin:22px auto;background:linear-gradient(90deg,transparent,#F0E4BF,transparent);box-shadow:0 0 12px rgba(240,228,191,.6);transform-origin:center;will-change:transform}
.tagline{display:block;font:500 clamp(10px,1.3vw,13px)/1.5 var(--sans);letter-spacing:.12em;margin-right:-.12em;text-transform:uppercase;color:#C9C3BC;will-change:transform,opacity}
.hero-ui{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,5vw,56px);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hero-ui a,.hero-ui button{color:var(--muted);background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-decoration:none;padding:10px}
.hero-ui button:hover,.hero-ui a:hover,.hero-ui button:focus-visible{color:var(--gold)}
.sound{display:flex;align-items:center;gap:10px}.sound b{color:var(--gold);font-weight:500}
.wave{display:inline-flex;gap:2px;align-items:center;height:14px}.wave i{width:2px;height:5px;background:var(--gold);display:block}
.sound[aria-pressed=true] .wave i{animation:w 900ms ease-in-out infinite alternate}.wave i:nth-child(2){animation-delay:.15s}.wave i:nth-child(3){animation-delay:.3s}.wave i:nth-child(4){animation-delay:.45s}
@keyframes w{to{height:14px}}
body.is-intro .scroll,body.is-intro .replay{opacity:0;pointer-events:none}
.scroll,.replay{transition:opacity 1.5s ease}
.mission{padding:110px clamp(24px,8vw,120px);max-width:1180px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.mission #missionText{margin:0;font:400 28px/40px var(--serif);text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.block{padding:96px clamp(24px,8vw,120px)}.block.alt{background:linear-gradient(135deg,#1d1c24 0%,#14131a 100%);border-top:1px solid rgba(214,199,161,.12);border-bottom:1px solid rgba(214,199,161,.08)}
.block>*{max-width:1100px;margin-left:auto;margin-right:auto}
h2{font:500 13px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--taupe);margin:0 auto 44px}
h3{font:500 24px/1.3 var(--serif);margin:0 0 6px}
.role{color:var(--gold);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px}
.founder p:last-child{max-width:720px;color:#d9d7d2}
.creds,.tiles{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
@media (max-width:640px){.tiles{grid-template-columns:1fr}}
h2.center{text-align:center}
.creds article,.tiles article{border-top:1px solid transparent;border-image:linear-gradient(90deg,#D6C7A1,transparent) 1;padding-top:22px}
.tiles article span{font:400 13px var(--sans);color:var(--gold);letter-spacing:.2em}
.tiles h3{font-size:21px;margin-top:10px}.tiles p,.creds p:last-child{color:#cfcdc8;font-size:15px}
.form{display:grid;gap:22px;max-width:640px!important}
label{display:grid;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:400 16px var(--sans);color:var(--ivory);background:#0f0f14;border:1px solid #3e3c46;padding:14px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.hp{position:absolute;left:-9999px}
.form button{justify-self:start;background:linear-gradient(135deg,#F0E4BF,#D6C7A1 55%,#B9A672);color:var(--bg1);border:0;padding:16px 30px;font:500 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.form button:hover{background:var(--ivory)}.status{min-height:1.5em;margin:0;font-size:14px;color:var(--gold)}
footer{padding:40px;text-align:center;color:var(--muted);font-size:13px}
.placeholder-note{position:absolute;top:70px;right:20px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d6c7a1aa;border:1px dashed #d6c7a155;padding:6px 10px;z-index:30}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav,.scroll,.replay{transition:none}.wave i{animation:none!important}}
.outline path{opacity:0}
body.is-intro:not(.go) .stack{opacity:0}
[hidden]{display:none!important}
@media (max-width:640px){
  .nav{padding:10px 16px}.nav-logo{height:34px}.nav nav{gap:12px}.nav a{font-size:10px;letter-spacing:.08em}.nav a[href="#mission"],.nav a[href="#media"]{display:none}
  .hero-ui{bottom:16px;padding:0 8px}.scroll{display:none}
  .mission #missionText{font-size:22px;line-height:32px}
}

/* ---- polished backdrop layers ---- */
.aurora{position:absolute;inset:-20%;pointer-events:none;background:
 radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.20),transparent 70%),
 radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.22),transparent 70%),
 radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.16),transparent 70%);
 animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.06)}}
.sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.55;background:linear-gradient(115deg,transparent 35%,rgba(255,244,214,.10) 47%,rgba(255,244,214,.20) 50%,rgba(255,244,214,.10) 53%,transparent 65%);background-size:250% 100%;background-position:130% 0;animation:sweep 9s ease-in-out 2s infinite}
@keyframes sweep{0%{background-position:130% 0}55%,100%{background-position:-30% 0}}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.45) 100%)}
.stack,.hero-ui{z-index:2}
#ribbon{transform-box:fill-box}
@media (prefers-reduced-motion:reduce){.aurora,.sheen{animation:none}}
.stars{position:absolute;inset:0;pointer-events:none;overflow:hidden}.stars i{position:absolute;border-radius:50%;background:#FFF6DC;opacity:0;animation:tw var(--d,5s) ease-in-out var(--l,0s) infinite alternate}
@keyframes tw{from{opacity:var(--lo,.1);transform:scale(.7)}to{opacity:var(--hi,.95);transform:scale(1.3)}}
@media (prefers-reduced-motion:reduce){.stars i{animation:none;opacity:.5}}
.copy{position:absolute;inset:0;display:grid;place-items:center;padding:0 7vw;pointer-events:none;z-index:2}.cline{grid-area:1/1;margin:0;text-align:center;white-space:pre-line;font:500 clamp(26px,4.6vw,60px)/1.25 var(--serif);letter-spacing:.03em;color:var(--ivory);opacity:0;text-shadow:0 2px 30px rgba(0,0,0,.7),0 0 40px rgba(214,199,161,.18)}
.est{display:block;margin-top:12px;font-size:.85em;letter-spacing:.32em;margin-right:-.32em;color:#D6C7A1}
.founder-block{margin-top:64px;padding-top:44px;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(214,199,161,.55),transparent) 1;text-align:center}
.founder-block h3{margin:0 0 6px}.founder-block .role{margin:0 0 20px;text-align:center}
.founder-block p:last-child{margin:0;text-align:justify;text-justify:inter-word;color:#d9d7d2;font-size:17px;line-height:1.75}
.block.page{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.block.page>*{width:100%}
.ticker{position:relative;display:grid;place-items:center;min-height:5.2em;margin-top:56px;padding-top:36px;text-align:center;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(214,199,161,.5),transparent) 1}
.tline{grid-area:1/1;margin:0;max-width:880px;font:500 clamp(20px,2.5vw,32px)/1.35 var(--serif);letter-spacing:.02em;color:var(--ivory);opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform .9s ease;text-shadow:0 0 30px rgba(214,199,161,.18)}
.tline.on{opacity:1;transform:translateY(0)}
.ticker.static{display:block}.ticker.static .tline{opacity:1;transform:none;margin:0 auto 14px}
#fills path{stroke:rgba(18,14,12,.65);stroke-width:.45;stroke-linejoin:miter;shape-rendering:geometricPrecision}
/* cinematic focus statement (top of page 3) */
.ticker{margin:0 auto 64px;padding:0;min-height:clamp(220px,36vh,360px);border:0;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(214,199,161,.55),transparent) 1}
.tline{max-width:960px;font:500 clamp(30px,4.4vw,60px)/1.22 var(--serif);letter-spacing:.09em;opacity:0;filter:blur(10px);transform:translateY(22px) scale(1.04);transition:opacity 1.5s cubic-bezier(.22,.61,.36,1),filter 1.5s cubic-bezier(.22,.61,.36,1),transform 2.2s cubic-bezier(.22,.61,.36,1),letter-spacing 2.4s cubic-bezier(.22,.61,.36,1);text-shadow:0 0 40px rgba(214,199,161,.25)}
.tline.on{opacity:1;filter:blur(0);transform:translateY(0) scale(1);letter-spacing:.025em}
.tline.out{opacity:0;filter:blur(6px);transform:translateY(-16px) scale(.99);letter-spacing:.015em;transition:opacity 1s ease,filter 1s ease,transform 1.2s ease}
.ticker.static{display:block;min-height:0;padding-bottom:24px}.ticker.static .tline{opacity:1;filter:none;transform:none;letter-spacing:.02em;font-size:clamp(22px,3vw,34px);margin:0 auto 12px}

/* v8: ticker at bottom of page 2, founder at top of page 3 */
.mission .ticker{width:100%;margin:56px auto 0;min-height:clamp(180px,28vh,300px);border-bottom:0;border-image:none}
#focus .founder-block{max-width:860px;margin:0 auto 56px;padding:0 0 48px;border:0;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(214,199,161,.55),transparent) 1}

/* v9: smaller ticker (max 2 lines), no divider under founder text */
#focus .founder-block{border-bottom:0;padding-bottom:0;margin-bottom:40px}
.mission .ticker{min-height:clamp(110px,16vh,150px);margin-top:48px}
.tline{font-size:clamp(17px,2vw,27px);line-height:1.35;max-width:min(1000px,100%);margin-left:auto;margin-right:auto;text-wrap:balance}
@media(max-width:640px){.tline{font-size:12px;letter-spacing:-.01em}.tline.on{letter-spacing:-.01em}.mission .ticker{min-height:90px;width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}}

/* v13: "Proven Results" caption under the scrolling lines, hairline above */
.mission .ticker{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(214,199,161,.55),transparent) 1;margin-bottom:0}
.ticker-label{margin:28px auto 0}

/* v15: no automatic hyphenation in justified paragraphs */
.mission #missionText,.founder-block p{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:pretty}
.nb{white-space:nowrap}
@media(max-width:640px){.mission #missionText{font-size:20px;line-height:30px}}

/* v17: breathing room when jumping to Leadership / Focus */
#focus{padding-top:clamp(120px,16vh,170px)}
#leadership{scroll-margin-top:clamp(120px,16vh,170px)}
/* v17b: contact as its own centered page, tighter phone text, safer honeypot */
#contact{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(110px,14vh,150px)}
#contact>*{width:100%}
.hp{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
@media(max-width:640px){
 .founder-block p:last-child,.mission #missionText{text-align:left;text-justify:auto;word-spacing:normal}
 .founder-block p:last-child{font-size:16px;line-height:1.6}
 .mission #missionText{line-height:1.5}
 #focus .founder-block{margin-bottom:28px}
}
#contact{padding-top:clamp(96px,12vh,120px);padding-bottom:48px}
#contact>h2{text-align:center;margin-bottom:28px}
@media(min-width:641px){.form label{margin-bottom:0}}

/* v18: keep Mission in the phone nav (room now that Leadership and Focus are one link) */
@media(max-width:640px){.nav a[href="#mission"]{display:inline}.nav nav{gap:10px}.nav a{font-size:9.5px;letter-spacing:.06em}}

/* v19: page 3 paragraph matches the page 2 body size */
.founder-block p:last-child{font-size:28px;line-height:40px}
@media(max-width:640px){.founder-block p:last-child{font-size:20px;line-height:1.5}}

/* v20: page 3 fits one screen and sits centered; title in the serif; paragraph matches page 2 */
#focus{min-height:100svh;padding-top:92px;padding-bottom:92px;justify-content:center}
#focus .founder-block{max-width:950px;margin:0 auto clamp(20px,5vh,44px)}
#focus .founder-block .role{font:500 24px/1.3 var(--serif);color:#f5f4f0;text-transform:none;letter-spacing:normal;margin:0 0 clamp(10px,2vh,18px);text-align:center}
#focus .founder-block p:last-child{font:400 28px/40px var(--serif)}
#focus h2.center{margin-bottom:clamp(16px,3vh,26px)}
#focus .tiles{row-gap:clamp(14px,2.6vh,24px)}
#focus .tiles article{padding-top:clamp(12px,2vh,18px)}
#focus .tiles article p{margin:10px 0 0}
@media(min-width:641px) and (max-height:790px){#focus{padding-top:58px;padding-bottom:58px}}
@media(min-width:641px) and (max-height:740px){#focus .founder-block{margin-bottom:24px}#focus h2.center{margin-bottom:18px}#focus .tiles{row-gap:14px}}
@media(max-width:640px){
 #focus{padding-top:104px;padding-bottom:48px}
 #focus .founder-block .role{font-size:20px}
 #focus .founder-block p:last-child{font:400 20px/1.5 var(--serif)}
 #focus .founder-block{margin-bottom:24px}
}

/* v22: Quote label and quotation marks; 1024 width fix; phone page 3 as two screens */
#focus .founder-block{max-width:1010px}
#focus .founder-block .role{margin:0 0 6px}
#focus .founder-block .qlabel{margin:0 0 clamp(10px,2vh,18px);text-align:center;color:var(--gold);font-family:inherit;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}
@media(min-width:641px) and (max-width:1100px){#focus{padding-left:24px;padding-right:24px}}
@media(min-width:641px) and (max-height:740px){#focus .founder-block .qlabel{margin-bottom:8px}#focus .founder-block .role{margin-bottom:2px}}
@media(max-width:640px){
 #focus{display:block;min-height:0;padding:0 clamp(24px,8vw,120px)}
 #focus .founder-block{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:0 auto;padding:96px 0}
 #focus .focus-areas{min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:62px 0}
 #focus .focus-areas h2.center{margin-bottom:clamp(8px,1.8vh,16px)}
 #focus .focus-areas .tiles{row-gap:clamp(4px,1.2vh,10px)}
 #focus .focus-areas .tiles article{padding-top:clamp(6px,1.2vh,10px)}
 #focus .focus-areas .tiles article h3{margin:clamp(2px,.8vh,6px) 0 3px}
 #focus .focus-areas .tiles article p{margin:3px 0 0;line-height:1.45}
}
@media(max-width:640px) and (max-height:800px){#focus .focus-areas{padding-bottom:20px}}

/* v23: brand divider (line, PE monogram, line) at the foot of page 2; slightly smaller tile text on short phones */
.mission{position:relative}
.seam{position:absolute;left:50%;bottom:clamp(20px,4vh,52px);transform:translateX(-50%);width:min(420px,calc(100% - 48px));display:flex;align-items:center;gap:22px;pointer-events:none}
.seam span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(214,199,161,.55))}
.seam span:last-child{background:linear-gradient(270deg,transparent,rgba(214,199,161,.55))}
.seam img{height:30px;width:auto;display:block;opacity:.92}
@media(max-width:640px) and (max-height:834px){#focus .focus-areas .tiles article h3{font-size:19px;line-height:1.3}#focus .focus-areas .tiles article p{font-size:14px;line-height:1.4}}
@media(max-width:640px) and (max-height:700px){#focus .focus-areas{padding-top:58px;padding-bottom:10px}#focus .focus-areas .tiles{row-gap:8px}#focus .focus-areas .tiles article{padding-top:8px}#focus .focus-areas .tiles article h3{margin:2px 0 2px}#focus .focus-areas .tiles article p{margin:2px 0 0;line-height:1.35}#focus .focus-areas h2.center{margin-bottom:6px}}

/* v25: page 3 uses exactly the page 2 text box (same left and right edges at every width); more air under Quote; opening quote hangs so the first letter lines up with page 2; divider shows the real PEI letters from the nav logo */
#focus{max-width:1180px;margin-left:auto;margin-right:auto;box-sizing:border-box;padding-left:clamp(24px,8vw,120px);padding-right:clamp(24px,8vw,120px)}
#focus .founder-block{max-width:none;width:100%}
#focus .focus-areas{max-width:none}
#focus .founder-block p:last-child{text-indent:-.41em}
#focus .founder-block .qlabel{margin-bottom:clamp(18px,3.6vh,34px)}
@media(min-width:641px) and (max-height:740px){#focus .founder-block .qlabel{margin-bottom:14px}}
@media(min-width:641px){
 #focus{padding-top:56px;padding-bottom:56px}
 #focus .founder-block{margin-bottom:clamp(14px,3.2vh,40px)}
 #focus h2.center{margin-bottom:clamp(10px,2.2vh,26px)}
 #focus .tiles{row-gap:clamp(8px,1.8vh,24px)}
 #focus .tiles article{padding-top:clamp(8px,1.6vh,18px)}
 #focus .tiles article p{margin-top:clamp(5px,1.1vh,10px)}
}
@media(min-width:900px) and (max-height:790px){#focus{padding-top:52px;padding-bottom:52px}}
.seam svg{height:34px;width:auto;display:block;opacity:.95}

/* v26: top-left logo removed (nav links stay on the right); Focus Areas tiles centered and mirrored around the Focus Areas heading on desktop and tablet; page 2 divider is the hero's outlined PEI logo (crisp 1px gold outline, hero gradients) at 60px desktop and 50px phone */
.nav nav{margin-left:auto}
@media(min-width:641px){#focus .tiles article{text-align:center;border-image:linear-gradient(90deg,transparent,#D6C7A1,transparent) 1}}
.seam svg{height:60px;width:88px;display:block;opacity:1}
@media(max-width:640px){.seam svg{height:50px;width:73px}}

/* v27 */
.seam svg{height:clamp(80px,12.5vh,126px);width:auto;aspect-ratio:192/148}
@media(max-width:640px){.seam svg{height:clamp(58px,9vh,92px)}}

/* v29: smooth opening, wave sheen */
.glow{filter:none;will-change:transform,opacity}
.aurora{will-change:transform}
.cline,.tline{will-change:transform,opacity}
.mono-wrap{transition:filter 1.8s ease}
body.is-intro .mono-wrap{filter:none}
body.pre .stack,body.pre #heroUi{visibility:hidden}
.sheen{background:none;animation:none;mix-blend-mode:normal;opacity:1;overflow:hidden}
.sheen::before,.sheen::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:60%;opacity:0;transform:translate3d(0,0,0) skewX(-16deg);will-change:transform,opacity;background:linear-gradient(90deg,transparent 0%,rgba(255,244,214,.02) 14%,rgba(255,244,214,.07) 30%,rgba(255,244,214,.15) 50%,rgba(255,244,214,.07) 70%,rgba(255,244,214,.02) 86%,transparent 100%)}
.sheen::after{width:90%;left:-90%;background:linear-gradient(90deg,transparent 0%,rgba(214,199,161,.015) 20%,rgba(214,199,161,.05) 50%,rgba(214,199,161,.015) 80%,transparent 100%)}
body:not(.is-intro):not(.pre) .sheen::before{animation:wave 15s cubic-bezier(.37,0,.63,1) 1.5s infinite}
body:not(.is-intro):not(.pre) .sheen::after{animation:wave2 15s cubic-bezier(.37,0,.63,1) 2.1s infinite}
@keyframes wave{0%{transform:translate3d(0,0,0) skewX(-16deg);opacity:0}6%{opacity:1}40%{opacity:1}50%,100%{transform:translate3d(300%,0,0) skewX(-16deg);opacity:0}}
@keyframes wave2{0%{transform:translate3d(0,0,0) skewX(-16deg);opacity:0}6%{opacity:1}40%{opacity:1}50%,100%{transform:translate3d(215%,0,0) skewX(-16deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.sheen::before,.sheen::after{animation:none!important;opacity:0}}

/* v30: ticker glitch fix (no blur or letter spacing animation, no reset on leaving the page) */
.tline,.tline.on,.tline.out{filter:none!important;letter-spacing:.025em!important;text-shadow:0 0 28px rgba(214,199,161,.16)}
.tline{opacity:0;transform:translate3d(0,18px,0)!important;transition:opacity 1.4s cubic-bezier(.22,.61,.36,1),transform 1.8s cubic-bezier(.22,.61,.36,1)}
.tline.on{opacity:1;transform:translate3d(0,0,0)!important}
.tline.out{opacity:0;transform:translate3d(0,-14px,0)!important;transition:opacity .9s ease,transform 1.1s ease}
.ticker.static .tline{transform:none!important}

/* v31: ocean swell sheen (big, fast, transform only, no fades) */
.sheen::before,.sheen::after{content:"";position:absolute;top:-30%;bottom:auto;height:160%;left:0;width:95%;opacity:1;transform:translate3d(-115%,4%,0) rotate(-7deg);will-change:transform;background:radial-gradient(ellipse 62% 50% at 58% 50%,rgba(255,247,226,.17) 0%,rgba(255,238,200,.10) 22%,rgba(240,222,164,.05) 48%,rgba(214,199,161,.02) 74%,transparent 100%)}
.sheen::after{top:-45%;height:190%;left:-5%;width:130%;background:radial-gradient(ellipse 62% 50% at 58% 50%,rgba(214,199,161,.15) 0%,rgba(184,169,162,.08) 30%,rgba(184,169,162,.03) 62%,transparent 100%)}
body:not(.is-intro):not(.pre) .sheen::before{animation:swell 5s cubic-bezier(.45,0,.2,1) 1s infinite}
body:not(.is-intro):not(.pre) .sheen::after{animation:swell2 8s cubic-bezier(.45,0,.2,1) 1.3s infinite}
@keyframes swell{0%{transform:translate3d(-115%,4%,0) rotate(-7deg)}42%,100%{transform:translate3d(125%,-2%,0) rotate(-4deg)}}
@keyframes swell2{0%{transform:translate3d(-115%,-3%,0) rotate(-6deg)}38%,100%{transform:translate3d(125%,3%,0) rotate(-3deg)}}

/* v33: single wave only, one every 5 seconds */
.sheen::after{display:none!important;animation:none!important}

/* v35: no white screen while scrolling between sections */
html{background:#0f0f14;color-scheme:dark}
.glow,.aurora,.cline,.tline{will-change:auto}
body.lite .stars,body.lite .sheen,body.hero-off .stars,body.hero-off .sheen,body.hero-off .aurora,body.hero-off .glow{visibility:hidden}

/* v36: first page 25 percent darker; logo untouched so it stands out more */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#201E26 0%,#111016 55%,#08080B 100%)}
.glow{opacity:.285}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.15),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.165),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.12),transparent 70%)}
.sheen::before{background:radial-gradient(ellipse 62% 50% at 58% 50%,rgba(255,247,226,.13) 0%,rgba(255,238,200,.075) 22%,rgba(240,222,164,.038) 48%,rgba(214,199,161,.015) 74%,transparent 100%)}

/* v37: background fully dark during the opening lines; haze arrives with the logo; haze and halo 10 percent lower */
.veil{position:absolute;inset:0;background:#08080B;opacity:0;pointer-events:none}
body.pre .veil{opacity:1}
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#1D1B22 0%,#111016 55%,#08080B 100%)}
.glow{opacity:.2565}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.18))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.135),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.15),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.108),transparent 70%)}

/* v38: smooth logo reveal (pre-warmed layers, smaller aurora layer, slower softer fades) */
.aurora{inset:-10%}
body.is-intro .veil,body.is-intro .aurora{will-change:opacity,transform}
body.is-intro .glow{will-change:transform,opacity}

/* v39: haze another 10 percent lower (glow, hero center, aurora, logo halo) */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#1A181F 0%,#111016 55%,#08080B 100%)}
.glow{opacity:.2309}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.162))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.1215),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.135),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.0972),transparent 70%)}

/* v40: haze another 10 percent lower all around; edges of the screen fade toward black (not jet black) like looking into a galaxy */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#17151C 0%,#0E0D13 52%,#07070A 100%)}
.glow{opacity:.2078}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.1458))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.0985),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.1094),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.0787),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 72% 68% at 50% 46%,transparent 42%,rgba(5,5,8,.38) 72%,rgba(5,5,8,.7) 100%)}

/* v41: haze another 5 percent lower */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#16141B 0%,#0D0C12 52%,#07070A 100%)}
.glow{opacity:.1974}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.1385))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.0936),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.1039),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.0748),transparent 70%)}

/* v42: haze 5 percent lower at rest; each time the comet crosses the logo, the logo and the haze around it light up, then fall back into the black */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#15131A 0%,#0C0B11 52%,#07070A 100%)}
.glow{opacity:.1875}
.mono-wrap{position:relative;filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.1316))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.0889),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.0987),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.0711),transparent 70%)}
.mono-wrap::before{content:"";position:absolute;inset:-45%;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(closest-side,rgba(246,232,186,.50) 0%,rgba(226,208,152,.20) 42%,rgba(214,199,161,.06) 68%,transparent 100%)}
body:not(.is-intro):not(.pre) .glow{animation:cometglow 5s ease-in-out 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap::before{animation:comethalo 5s ease-in-out 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap svg{animation:cometlit 5s ease-in-out 1s infinite}
@keyframes cometglow{0%,5%{opacity:.1875}15%{opacity:.42}28%,100%{opacity:.1875}}
@keyframes comethalo{0%,5%{opacity:0}15%{opacity:1}28%,100%{opacity:0}}
@keyframes cometlit{0%,6%{filter:brightness(1)}15%{filter:brightness(1.26)}27%,100%{filter:brightness(1)}}
@media (prefers-reduced-motion:reduce){.glow,.mono-wrap::before,.mono-wrap svg{animation:none!important}}

/* v43: one comet every 15 seconds (same speed across the screen, 2.1 second pass), logo and haze pulse timed to it */
body:not(.is-intro):not(.pre) .sheen::before{animation:swell 15s cubic-bezier(.45,0,.2,1) 1s infinite}
body:not(.is-intro):not(.pre) .glow{animation:cometglow 15s ease-in-out 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap::before{animation:comethalo 15s ease-in-out 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap svg{animation:cometlit 15s ease-in-out 1s infinite}
@keyframes swell{0%{transform:translate3d(-115%,4%,0) rotate(-7deg)}14%,100%{transform:translate3d(125%,-2%,0) rotate(-4deg)}}
@keyframes cometglow{0%,1.7%{opacity:.1875}4.94%{opacity:.42}9.3%,100%{opacity:.1875}}
@keyframes comethalo{0%,1.7%{opacity:0}4.94%{opacity:1}9.3%,100%{opacity:0}}
@keyframes cometlit{0%,2%{filter:brightness(1)}4.94%{filter:brightness(1.26)}9%,100%{filter:brightness(1)}}

/* v44: haze 10 percent lower at rest */
.glow{opacity:.16875}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.11844))}
body.is-intro .mono-wrap{filter:none}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.08001),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.08883),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.06399),transparent 70%)}
@keyframes cometglow{0%,1.7%{opacity:.16875}4.94%{opacity:.42}9.3%,100%{opacity:.16875}}

/* v45: sky haze 15 percent lower */
.hero{background:radial-gradient(ellipse 80% 60% at 50% 42%,#131118 0%,#0B0A10 52%,#07070A 100%)}
.aurora{background:radial-gradient(40% 35% at 18% 28%,rgba(214,199,161,.06801),transparent 70%),radial-gradient(38% 34% at 84% 72%,rgba(184,169,162,.07551),transparent 70%),radial-gradient(30% 26% at 78% 18%,rgba(120,104,170,.05439),transparent 70%)}

/* v46: logo enters in the dark; only the comet lights the logo and the sky */
.glow{opacity:0}
.aurora{opacity:0}
.mono-wrap{filter:contrast(1.18) saturate(1.12) drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(214,199,161,.03))}
body.is-intro .mono-wrap{filter:none}
.mono-wrap svg{filter:brightness(.55)}
body:not(.is-intro):not(.pre) .aurora{animation:cometsky 15s ease-in-out 1s infinite}
@keyframes cometsky{0%,1.7%{opacity:0}4.94%{opacity:1}9.3%,100%{opacity:0}}
@keyframes cometglow{0%,1.7%{opacity:0}4.94%{opacity:.42}9.3%,100%{opacity:0}}
@keyframes cometlit{0%,2%{filter:brightness(.55)}4.94%{filter:brightness(1.22)}9%,100%{filter:brightness(.55)}}
@media (prefers-reduced-motion:reduce){.glow{opacity:.12}.aurora{opacity:.6}.mono-wrap svg{filter:brightness(.95)}}

/* v47: first comet hit lights the logo, then it dims slowly across the whole 15s until the next comet */
body:not(.is-intro):not(.pre) .glow{animation:cometglow 15s linear 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap::before{animation:comethalo 15s linear 1s infinite}
body:not(.is-intro):not(.pre) .mono-wrap svg{animation:cometlit 15s linear 1s infinite}
body:not(.is-intro):not(.pre) .aurora{animation:cometsky 15s linear 1s infinite}
@keyframes cometlit{0%{filter:brightness(.55);animation-timing-function:cubic-bezier(.4,0,.6,1)}4.94%{filter:brightness(1.22);animation-timing-function:cubic-bezier(.25,.6,.4,1)}100%{filter:brightness(.55)}}
@keyframes comethalo{0%{opacity:0;animation-timing-function:cubic-bezier(.4,0,.6,1)}4.94%{opacity:1;animation-timing-function:cubic-bezier(.25,.6,.4,1)}100%{opacity:0}}
@keyframes cometglow{0%{opacity:0;animation-timing-function:cubic-bezier(.4,0,.6,1)}4.94%{opacity:.42;animation-timing-function:cubic-bezier(.25,.6,.4,1)}100%{opacity:0}}
@keyframes cometsky{0%{opacity:0;animation-timing-function:cubic-bezier(.4,0,.6,1)}4.94%{opacity:1;animation-timing-function:cubic-bezier(.25,.6,.4,1)}100%{opacity:0}}

/* v51: soft fade for nav jumps (text rules removed in v56) */
.navfade{position:fixed;inset:0;z-index:9999;background:#08080B;opacity:0;pointer-events:none;transition:opacity .16s ease-out}
.navfade.on{opacity:1}
.navfade.off{transition:opacity .34s ease-in-out}
html{scroll-behavior:auto!important}


/* v57: phone Mission and founder quote as justified blocks; font, size and margins unchanged from the end of day Oct 19 state */
@media(max-width:640px){
 .mission #missionText,#focus .founder-block p:last-child{text-align:justify;text-justify:inter-word;text-wrap:pretty}
}

/* v58: phone Mission and founder quote as centered blocks: justified lines with the last line centered */
@media(max-width:640px){
 .mission #missionText,#focus .founder-block p:last-child{text-align:justify;text-align-last:center;text-justify:inter-word}
}

/* v59: STEP 1 unblock: back to the original left aligned text */
@media(max-width:640px){ .mission #missionText,#focus .founder-block p:last-child{text-align:left;text-align-last:auto;text-justify:auto} }

/* v60: STEP 2 center: centered text */
@media(max-width:640px){ .mission #missionText,#focus .founder-block p:last-child{text-align:center;text-align-last:auto} }

/* v61: STEP 3 block: justified block, last line centered */
@media(max-width:640px){ .mission #missionText,#focus .founder-block p:last-child{text-align:justify;text-align-last:center;text-justify:inter-word} }

/* v62: phone typeset blocks and one line role heading */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:640px){
 .typeset{text-align:justify;text-align-last:justify;word-spacing:0;hyphens:none;-webkit-hyphens:none}
 .typeset .l{display:block;white-space:normal;text-align:justify;text-align-last:justify;text-justify:inter-word}
 #focus .founder-block .role{white-space:nowrap;font-size:4.6vw}
}

/* v63: no hanging indent on the phone typeset blocks, so every line of the quote starts on the margin */
@media(max-width:640px){ .typeset,.typeset .l{text-indent:0!important} }

/* v64: typeset blocks keep the original text for screen readers */
.typeset{position:relative}
.typeset .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.typeset .tl{display:block}

/* v65 */
.seam-clone{display:none}
@media(max-width:640px){#focus .founder-block{position:relative}#focus .founder-block .seam-clone{display:flex}}

/* v66 raise leadership content to match Mission start (phone only) */
@media(max-width:640px){#focus .founder-block{padding-bottom:180px}#focus .founder-block .seam-clone{bottom:calc(clamp(20px,4vh,52px) + 42px)}}

/* v67 phone nav: Leadership + Focus separate buttons */
.nav .nm,.nav .nfocus{display:none}
@media(max-width:640px){.nav .nd{display:none}.nav .nm{display:inline}.nav .nfocus{display:inline}}

/* v71 copy protection (both versions) */
html,body,body *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
input,textarea{-webkit-user-select:text!important;user-select:text!important}
img,svg{-webkit-user-drag:none;user-drag:none}
@media print{html,body{display:none!important;visibility:hidden!important}}
