/* Star Tracker shared styles. Palette and fonts: 06_Media/brand/brand.md
   Rules: black space, two type styles per screen (Montserrat throughout; Plex Mono for equations), hairlines not boxes,
   one accent (amber) kept for the ISS dot. Montserrat 700 is only the STAR TRACKER wordmark. */


:root{
  --black:#000; --star:#EEF3FF; --text:#C9D1E6; --slate:#8E99B6; --dim:#5D6884;
  --hair:rgba(238,243,255,.12); --hair2:rgba(238,243,255,.22); --ice:#8FD3FF; --lock:#FFB45E;
  --serif:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --mark:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --gut:16px; --max:1240px;
}
@media(min-width:760px){:root{--gut:40px}}
@media(min-width:1200px){:root{--gut:64px}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--black)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--black);color:var(--text);font:400 17px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:var(--star);text-decoration:underline;text-decoration-color:var(--hair2);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .3s}
a:hover{text-decoration-color:var(--star)}
:focus-visible{outline:1.5px solid var(--ice);outline-offset:4px;border-radius:2px}
::selection{background:rgba(143,211,255,.28)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--star);color:var(--black);padding:8px 12px;z-index:20}
.skip:focus{left:8px}

/* header: mark + wordmark, quiet links */
.top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}
.brand{display:inline-flex;align-items:center;gap:14px;color:var(--star);text-decoration:none;
  font:700 13px/1 var(--mark);letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}
.brand img{width:28px;height:28px;display:block;border-radius:5px}
.top nav{display:flex;gap:30px;font-size:14px;letter-spacing:.01em}
.top nav a{color:var(--slate);text-decoration:none;transition:color .3s}
.top nav a:hover,.top nav a:focus-visible{color:var(--star)}
@media(max-width:759px){.top nav a:not(.join){display:none}}
@media(min-width:760px){.brand{font-size:14px;letter-spacing:.3em}}

/* hero: the Earth is the only image on the site */
.hero{position:relative;min-height:100svh;margin-top:-80px;padding-top:80px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.earth{position:absolute;z-index:-1;aspect-ratio:1/1;pointer-events:none}
.earth img,.earth canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.earth img{mix-blend-mode:screen;transition:opacity 1.6s ease}
.earth canvas{opacity:0;transition:opacity 1.6s ease}
.earth.live canvas{opacity:1}
.earth.live img{opacity:0}
.hero>.wrap{width:100%}
.hero-copy{position:relative;margin-top:auto;padding:0 0 clamp(56px,9vh,112px)}
h1{font:600 clamp(40px,6vw,88px)/1.04 var(--serif);letter-spacing:-.03em;color:var(--star);margin:0;max-width:8.6em;text-wrap:balance}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--text);margin:28px 0 0;max-width:31em}
.go{display:inline-flex;align-items:center;justify-content:center;margin-top:36px;padding:15px 28px;border-radius:999px;
  background:var(--star);color:var(--black);text-decoration:none;font:500 16px/1 var(--sans);transition:background .3s}
.go:hover{background:#fff}
/* mobile: Earth sits above the words, cropped by the screen edges */
.earth{width:136vw;left:-18vw;top:30px}
.hero-copy{margin-top:calc(100vw - 48px)}
@media(min-width:760px){
  .earth{--e:min(104vh,1180px);width:var(--e);left:auto;right:calc(var(--e) * -.24);top:calc(50% + 40px);transform:translateY(-50%)}
  .hero-copy{margin-top:auto}
  .hero{justify-content:flex-end}
}
@media(min-width:760px) and (max-width:1099px){
  .earth{right:calc(var(--e) * -.42)}
}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*{animation:rise 1.6s cubic-bezier(.2,.7,.1,1) both}
  .hero-copy>:nth-child(2){animation-delay:.15s}
  .hero-copy>:nth-child(3){animation-delay:.3s}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* explainer list */
.topics{list-style:none;margin:28px 0 0;padding:0;max-width:36em}
.topics li{padding:20px 0;border-top:1px solid var(--hair);color:var(--slate)}
.topics li:last-child{border-bottom:1px solid var(--hair)}
.topics strong{display:block;font-weight:400;font-size:clamp(18px,1.5vw,20px);color:var(--star);margin-bottom:2px}

/* join form: hairline fields, no boxes */
form#f{max-width:34em}
.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:0 32px}
@media(min-width:560px){.fields{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
form#f label.fl{display:block;font-size:14px;color:var(--slate);margin:0 0 4px}
.field{padding-top:8px;margin-bottom:28px}
form#f input[type=email],form#f input[type=text]{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid var(--hair2);border-radius:0;
  background:transparent;color:var(--star);font:400 19px/1.3 var(--sans);transition:border-color .3s}
form#f input::placeholder{color:var(--dim)}
form#f input[type=email]:focus,form#f input[type=text]:focus{outline:0;border-bottom-color:var(--star)}
form#f input:focus-visible{box-shadow:0 1px 0 0 var(--star)}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-size:14px;color:var(--slate);padding:0;margin:0 0 6px;max-width:34em;line-height:1.55}
.choices{display:flex;gap:28px;border-bottom:1px solid var(--hair2)}
.choices label{position:relative;padding:12px 0 13px;cursor:pointer;color:var(--slate);font-size:17px;transition:color .3s}
.choices label::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent;transition:background .3s}
.choices label:hover{color:var(--text)}
.choices input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choices label:has(input:checked){color:var(--star)}
.choices label:has(input:checked)::after{background:var(--star)}
.choices label:has(input:focus-visible){outline:1.5px solid var(--ice);outline-offset:4px}
button#btn{display:block;margin-top:40px;width:100%;padding:17px 28px;border:0;border-radius:999px;background:var(--star);color:var(--black);
  font:500 16px/1.25 var(--sans);cursor:pointer;transition:background .3s}
@media(min-width:560px){button#btn{width:auto}}
button#btn:hover{background:#fff}
button#btn:disabled{opacity:.55;cursor:wait}
.note{font-size:14px;color:var(--slate);margin:20px 0 0;line-height:1.6;max-width:32em}
.msg{margin-top:12px;font-size:15px;min-height:1.5em;color:var(--star)}

/* scroll reveal, added by script only when motion is fine */
.reveal [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity 1.4s cubic-bezier(.2,.7,.1,1),transform 1.4s cubic-bezier(.2,.7,.1,1)}
.reveal [data-reveal].in{opacity:1;transform:none}

/* footer */
footer{padding:0 0 64px;font-size:14px;color:var(--slate)}
footer .cols{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px 40px;justify-content:space-between;border-top:1px solid var(--hair);padding-top:56px}
footer .brand{font-size:13px}
footer a{color:var(--slate)}
footer a:hover{color:var(--star)}
footer .credit{flex-basis:100%;margin:8px 0 0;color:var(--slate);font-size:13px}

/* plain pages: thanks, privacy, pack */
.page{max-width:760px;padding:72px 0 120px}
.page h1{font-size:clamp(44px,7vw,84px);max-width:none;margin-bottom:28px}
.page h2{font-size:clamp(28px,3.4vw,38px);margin:64px 0 14px}
.page p,.page li{color:var(--text)}
.page ul,.page ol{padding-left:20px}
.page li{margin:8px 0}
.page table{width:100%;border-collapse:collapse;font-size:15.5px;margin:16px 0}
.page th,.page td{text-align:left;padding:16px 20px 16px 0;border-top:1px solid var(--hair);vertical-align:top;color:var(--text)}
.page tr:last-child th,.page tr:last-child td{border-bottom:1px solid var(--hair)}
.page th{color:var(--star);font-weight:500;white-space:nowrap}
@media(max-width:559px){.page th,.page td{display:block;padding:12px 0 0}.page td{border-top:0;padding:4px 0 14px}.page th{white-space:normal}}
.meta{font-size:15px;color:var(--slate)}
.page .btnlink,.btnlink{display:inline-block;margin-top:20px;color:var(--star)}

/* pack page */
.prob{padding:56px 0 0}
.prob h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 14px}
.prob details{margin-top:20px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.prob summary{cursor:pointer;color:var(--star);padding:16px 0;list-style:none;font-weight:500}
.prob summary::-webkit-details-marker{display:none}
.prob summary::before{content:"+";display:inline-block;width:1.4em;color:var(--slate);font-weight:400}
.prob details[open] summary::before{content:"\2212"}
.prob ol{margin:0 0 8px;padding-left:24px}
.prob li{font:400 14.5px/1.75 var(--mono);color:var(--text);margin:10px 0;overflow-wrap:anywhere}
.prob .ans{color:var(--star);margin:16px 0 22px}
.prob .ans b{color:var(--star);font-weight:500}

/* ---------- round 2: home page ---------- */
h2{font:600 clamp(32px,4.2vw,58px)/1.08 var(--serif);letter-spacing:-.025em;color:var(--star);margin:0;text-wrap:balance}
.hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;margin-top:36px}
.hero-acts .go{margin-top:0}
.quiet{color:var(--slate);font-size:16px;text-decoration:none;transition:color .3s}
.quiet:hover{color:var(--star)}

/* the product, in a window */
.product{position:relative;padding:clamp(96px,14vw,200px) 0 clamp(80px,10vw,140px)}
.product-head{max-width:46rem}
.product-head h2{font-size:clamp(36px,5vw,72px);line-height:1.04;letter-spacing:-.03em}
.product-head p{margin:28px 0 0;max-width:34em;font-size:clamp(17px,1.35vw,19px)}
.stage{position:relative;margin-top:clamp(56px,7vw,96px);perspective:2400px}
.stage::before{content:"";position:absolute;left:8%;right:8%;top:-12%;height:70%;z-index:-1;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(143,211,255,.16),rgba(143,211,255,0) 70%);filter:blur(30px)}
.app{position:relative;border-radius:14px;border:1px solid rgba(238,243,255,.14);
  background:linear-gradient(180deg,rgba(238,243,255,.055),rgba(238,243,255,.02) 40%,rgba(238,243,255,.015));
  box-shadow:inset 0 1px 0 rgba(238,243,255,.10),0 40px 120px -40px rgba(143,211,255,.22),0 0 0 1px rgba(0,0,0,.6);
  overflow:hidden;transform-origin:50% 0;font-size:15px;line-height:1.6;color:var(--text)}
.app::after{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(143,211,255,.55),transparent)}
.reveal .stage .app{transform:rotateX(14deg) scale(.94) translateY(30px);opacity:0;transition:transform 1.8s cubic-bezier(.16,.8,.12,1),opacity 1.2s ease}
.reveal .stage.in .app{transform:none;opacity:1}

.app-bar{display:flex;align-items:center;gap:20px;height:48px;padding:0 18px;border-bottom:1px solid var(--hair);font-size:13px;color:var(--slate)}
.app-name{display:inline-flex;align-items:center;gap:10px;color:var(--star);font-weight:500;white-space:nowrap}
.app-name img{width:18px;height:18px;border-radius:4px}
.app-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-prog{margin-left:auto;display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.meter{width:72px;height:3px;border-radius:2px;background:rgba(238,243,255,.12);overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--ice);transition:width .6s cubic-bezier(.2,.7,.1,1)}

.app-body{display:grid;grid-template-columns:248px minmax(0,1fr) 264px;min-height:560px}
.app-side{border-right:1px solid var(--hair);padding:22px 12px;display:flex;flex-direction:column}
.side-h,.calc-h{margin:0 10px 12px;font-size:12px;font-weight:500;color:var(--dim);letter-spacing:.02em}
.app-side ol{list-style:none;margin:0;padding:0}
.app-side button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;
  color:var(--slate);font:400 13.5px/1.35 var(--sans);text-align:left;cursor:pointer;transition:background .2s,color .2s}
.app-side button:hover{background:rgba(238,243,255,.04);color:var(--text)}
.app-side button[aria-current]{background:rgba(238,243,255,.07);color:var(--star)}
.app-side .pn{display:none}
.side-foot{margin:auto 10px 0;padding-top:24px;font-size:12px;line-height:1.5;color:var(--dim)}
.tick{flex:none;position:relative;width:15px;height:15px;border-radius:50%;border:1.25px solid rgba(238,243,255,.28);transition:background .3s,border-color .3s}
.tick::after{content:"";position:absolute;left:4.2px;top:1.6px;width:3.5px;height:7px;border:solid #000;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:transform .3s,opacity .3s}
.is-done .tick,.done.on .tick{background:var(--ice);border-color:var(--ice)}
.is-done .tick::after,.done.on .tick::after{opacity:1;transform:rotate(45deg) scale(1)}

.app-main{padding:34px clamp(24px,3vw,44px) 32px;min-width:0;display:flex;flex-direction:column}
.app-main.swap{animation:swap .5s cubic-bezier(.2,.7,.1,1)}
@keyframes swap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pnum{margin:0 0 8px;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}
.app-main h3{margin:0;font:600 clamp(22px,2vw,28px)/1.2 var(--sans);letter-spacing:-.015em;color:var(--star)}
.given{margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--hair)}
.lbl{margin:0 0 4px;font-size:13px;color:var(--slate);font-weight:500}
.given p:last-child{margin:0;max-width:38em}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.act{display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 15px;border-radius:8px;border:1px solid rgba(238,243,255,.16);
  background:rgba(238,243,255,.03);color:var(--star);font:500 13.5px/1 var(--sans);cursor:pointer;transition:background .2s,border-color .2s}
.act:hover{background:rgba(238,243,255,.07);border-color:rgba(238,243,255,.28)}
.act[aria-expanded="true"]{background:rgba(238,243,255,.08)}
.done{margin-left:auto}
.done.on{border-color:rgba(143,211,255,.45);color:var(--ice)}
.hint{margin:20px 0 0;padding:14px 16px;border-left:2px solid var(--lock);background:rgba(255,180,94,.05);border-radius:0 8px 8px 0}
.hint p{margin:0;max-width:40em}
.sol{margin:22px 0 0}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;font-variant-numeric:tabular-nums}
.steps li{counter-increment:s;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 16px;align-items:baseline;
  padding:12px 0;border-top:1px solid var(--hair);font:400 13.5px/1.6 var(--mono);color:var(--text)}
.steps li:last-child{border-bottom:1px solid var(--hair)}
.steps li::before{content:counter(s);font:500 12px/1.6 var(--sans);color:var(--dim)}
.steps .eq{overflow-wrap:anywhere}
.steps b{font-weight:500;color:var(--star);white-space:nowrap;text-align:right}
.ans{margin:18px 0 0;max-width:40em;color:var(--star)}
.ans b{font-weight:600}
.show{animation:swap .5s cubic-bezier(.2,.7,.1,1)}
.show .steps li{animation:swap .5s cubic-bezier(.2,.7,.1,1) both}
.show .steps li:nth-child(2){animation-delay:.08s}.show .steps li:nth-child(3){animation-delay:.16s}
.show .steps li:nth-child(4){animation-delay:.24s}.show .steps li:nth-child(5){animation-delay:.32s}
.show .steps li:nth-child(6){animation-delay:.40s}.show .steps li:nth-child(7){animation-delay:.48s}
@media(prefers-reduced-motion:reduce){.show,.show .steps li,.app-main.swap{animation:none}}

.app-calc{border-left:1px solid var(--hair);padding:22px 20px 24px;background:rgba(238,243,255,.015)}
.calc-h{margin:0 0 18px}
.calc-l{display:block;font-size:13px;color:var(--slate);margin:0 0 6px}
.alt{display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--hair2);padding-bottom:6px}
.alt input{width:100%;min-width:0;border:0;background:none;color:var(--star);font:500 30px/1.1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;padding:0;-moz-appearance:textfield}
.alt input::-webkit-inner-spin-button,.alt input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.alt input:focus{outline:0}
.alt:focus-within{border-bottom-color:var(--ice)}
.alt span{color:var(--slate);font-size:14px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;margin:14px 0 4px;background:none;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:rgba(238,243,255,.18);border-radius:2px}
input[type=range]::-moz-range-track{height:2px;background:rgba(238,243,255,.18);border-radius:2px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;border-radius:50%;background:var(--star);box-shadow:0 0 0 4px rgba(143,211,255,.18)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--star);box-shadow:0 0 0 4px rgba(143,211,255,.18)}
.out{margin:16px 0 0;font-variant-numeric:tabular-nums}
.out div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid var(--hair)}
.out div:last-child{border-bottom:1px solid var(--hair)}
.out dt{font-size:13px;color:var(--slate)}
.out dd{margin:0;font:400 13.5px/1.4 var(--mono);color:var(--slate);white-space:nowrap}
.out output{font:500 16px/1.4 var(--mono);color:var(--star)}
.calc-note{margin:16px 0 0;font-size:12.5px;line-height:1.55;color:var(--dim);min-height:3.2em}
.product-foot{margin:36px 0 0;color:var(--slate);font-size:15px}

@media(max-width:1099px){
  .app-body{grid-template-columns:200px minmax(0,1fr)}
  .app-calc{grid-column:1/-1;border-left:0;border-top:1px solid var(--hair);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:0 40px;align-content:start;padding:24px 28px}
  .app-calc .calc-h{grid-column:1/-1}
  .app-calc .out{margin:0;grid-column:2;grid-row:2/6}
  .calc-note{grid-column:1}
}
@media(max-width:759px){
  .app{border-radius:12px}
  .reveal .stage .app{transform:translateY(24px)}
  .app-bar{height:auto;padding:12px 14px}
  .app-path{display:none}
  .meter{width:44px}
  .app-body{grid-template-columns:minmax(0,1fr);min-height:0}
  .app-side{border-right:0;border-bottom:1px solid var(--hair);padding:10px}
  .side-h,.side-foot{display:none}
  .app-side ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .app-side button{justify-content:center;flex-direction:column;gap:5px;padding:8px 0 7px;font-size:13px}
  .app-side .pt{display:none}
  .app-side .pn{display:block;font-weight:500;font-variant-numeric:tabular-nums}
  .app-side .tick{width:11px;height:11px}
  .app-side .tick::after{left:2.8px;top:.6px;width:3px;height:5.5px;border-width:0 1.25px 1.25px 0}
  .app-main{padding:24px 18px 28px}
  .done{margin-left:0}
  .steps li{grid-template-columns:20px minmax(0,1fr);font-size:13px}
  .steps b{grid-column:2;text-align:left}
  .app-calc{display:block;padding:20px 18px}
}

/* chapters: one idea per screen */
.chapter,.statement{position:relative;display:grid;grid-template-columns:minmax(0,1fr);padding:clamp(96px,13vw,180px) 0;border-top:1px solid var(--hair)}
.kicker{margin:0 0 22px;font-size:15px;color:var(--slate)}
.chapter h2{font-size:clamp(36px,5vw,72px);line-height:1.05;letter-spacing:-.03em;max-width:15em}
.chapter-body{margin-top:clamp(36px,4vw,56px);max-width:36rem}
.chapter-body>p{margin:0 0 18px;font-size:clamp(17px,1.35vw,19px)}
.more{display:inline-block;margin-top:10px;color:var(--star);font-weight:500;text-decoration:none;border-bottom:1px solid var(--hair2);padding-bottom:4px;transition:border-color .3s}
.more:hover{border-color:var(--star)}
@media(min-width:960px){
  .chapter{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .chapter .kicker{grid-column:1/13}
  .chapter h2{grid-column:1/12;max-width:14.5em}
  .chapter .chapter-body{grid-column:7/13;max-width:none}
}
.rows{list-style:none;margin:36px 0 0;padding:0}
.rows li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;padding:18px 0;border-top:1px solid var(--hair)}
.rows li:last-child{border-bottom:1px solid var(--hair)}
.rt{color:var(--star);font-size:clamp(17px,1.4vw,19px);margin-right:auto}
.rs{color:var(--slate);font-size:14.5px}
.rows a{font-size:14.5px;color:var(--star)}

/* engineering: one drawing */
.lambert{margin:clamp(40px,5vw,64px) 0 0;max-width:520px}
.lambert svg{display:block;width:100%;height:auto;overflow:visible}
.lambert figcaption{margin-top:14px;font-size:14px;color:var(--slate);max-width:28em}
.l-earth{fill:none;stroke:rgba(238,243,255,.5);stroke-width:1.25}
.l-orbit{fill:none;stroke:rgba(238,243,255,.14);stroke-width:1;stroke-dasharray:3 6}
.l-vec{stroke:rgba(238,243,255,.45);stroke-width:1.25}
.l-arc{fill:none;stroke:var(--ice);stroke-width:1.75;stroke-dasharray:362;stroke-dashoffset:0}
.l-pt{fill:var(--star)}
.l-t{fill:var(--text);font:400 17px var(--mono)}
.l-dim{fill:var(--ice)}
.reveal .eng .l-arc{stroke-dashoffset:362;transition:stroke-dashoffset 2.6s cubic-bezier(.4,0,.2,1) .4s}
.reveal .eng.in .l-arc{stroke-dashoffset:0}
@media(min-width:960px){
  .eng .lambert{grid-column:1/6;grid-row:3;margin-top:clamp(40px,4vw,56px)}
  .eng .chapter-body{grid-row:3}
}

/* the statement */
.statement h2{font-size:clamp(46px,8vw,128px);line-height:.98;letter-spacing:-.04em;max-width:8.5em}
.statement .chapter-body{margin-top:clamp(40px,5vw,72px)}
@media(min-width:960px){.statement .chapter-body{margin-left:50%;max-width:34rem}}

.join-block form#f{max-width:none}

/* to-scale orbit view inside the app */
.scale{display:flex;align-items:center;gap:22px;margin:auto 0 0;padding-top:28px}
.scale svg{flex:none;width:132px;height:132px;overflow:visible}
.sc-earth{fill:rgba(143,211,255,.13);stroke:rgba(238,243,255,.45);stroke-width:1}
.sc-orbit{fill:none;stroke:var(--ice);stroke-width:1;stroke-opacity:.7;stroke-dasharray:2 3}
.sc-sat{fill:var(--lock)}
.scale figcaption{font-size:13.5px;line-height:1.55;color:var(--slate);max-width:26em}
.scale figcaption .lbl{display:block}
.given{margin-top:24px}
@media(max-width:759px){.scale svg{width:96px;height:96px}.scale{gap:16px}}
footer .social{display:flex;gap:28px}

/* legal links, drafts, jobs archive (4 Nov) */
footer .legal{display:flex;gap:28px}
.page .draft,.draft{margin:0 0 40px;padding:14px 18px;border:1px solid rgba(255,180,94,.45);border-radius:8px;color:var(--lock);font-size:15px;line-height:1.55}
.draft b{font-weight:600}
.pietro{color:var(--lock)}
.notice{margin:28px 0 0;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:15px;color:var(--slate)}
.page .jobs,.jobs{list-style:none;margin:20px 0 0;padding:0}
.jobs li{margin:0;padding:22px 0;border-top:1px solid var(--hair)}
.jobs li:last-child{border-bottom:1px solid var(--hair)}
.jobs .jt{display:block;color:var(--star);font-weight:500;font-size:clamp(18px,1.5vw,20px);line-height:1.35}
.jobs .jd{display:block;margin-top:6px}
.jobs .jm{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px;font-size:14.5px;color:var(--slate)}
.jobs .jm a{color:var(--star)}
.page .go{margin-top:20px}
.page h1.issue{font-size:clamp(36px,5.2vw,64px);line-height:1.08}
.page .notice{color:var(--slate)}
.chapter-body .more+.more{margin-left:28px}
.jobs .jn{color:var(--dim);font-variant-numeric:tabular-nums;margin-right:4px}
.page .rows{padding:0}
.rows .rt a{font-size:inherit;color:var(--star)}
.cf-turnstile{margin:22px 0 0;min-height:65px}
