/* ORIGIN PRO — one page launch site
   Identity: Joshua Aleph, 2026. Built to the UX spec on the Creative Direction deck.

   TYPEFACE. TASA Orbiter, self-hosted as a single variable file covering
   weights 400 to 800. Licensed under the SIL Open Font License — see
   fonts/OFL.txt, which must travel with the font files.

   IMAGE SLOTS. Replace the URLs under "images" with licensed photography.
   Josh's UX frames use a motion-blurred athlete on black for the hero. */

@font-face{
  font-family:"TASA Orbiter";
  src:url("../fonts/TASAOrbiter-Variable.woff2") format("woff2-variations");
  font-weight:400 800;
  font-style:normal;
  font-display:swap;
}

:root{
  /* Origin Pro palette */
  --void-black:#000000;
  --cosmic-navy:#4101F6;
  --star-aqua:#6EFFD9;
  --universal-purple:#B880FF;
  --costar-fuschia:#F238A7;
  --discovery-amber:#FF4733;
  --trophy-silver:#F2F2F2;

  --origin-gradient:linear-gradient(90deg,
    var(--discovery-amber) 0%, var(--costar-fuschia) 26%,
    var(--universal-purple) 52%, var(--cosmic-navy) 76%, var(--star-aqua) 100%);

  --ink:var(--void-black);
  --ink-2:#050505;
  --paper:var(--trophy-silver);
  --white:#FFFFFF;
  --line:rgba(255,255,255,.2);
  --line-dark:rgba(0,0,0,.18);

  --font-display:"TASA Orbiter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:"TASA Orbiter","Helvetica Neue",Helvetica,Arial,sans-serif;

  /* images */
  --img-hero:url("../img/strike.jpg");
  --img-quote:url("../img/beach.jpg");
  --img-portrait:url("../img/portrait.jpg");
  --img-p1:url("../img/courtyard.jpg");
  --img-p2:url("../img/training.jpg");
  --img-p3:url("../img/strike.jpg");
  --img-p4:url("../img/hold.jpg");
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--ink);color:var(--white);
  font-family:var(--font-body);font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--star-aqua);outline-offset:3px}

/* the gradient hairline that runs across every frame of Josh's UX */
body::before{
  content:"";position:fixed;top:0;left:0;right:0;height:4px;z-index:999;
  background:var(--origin-gradient);
}

.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(26px,6vw,80px)}

/* TASA Orbiter ships upright only — the browser synthesises the oblique
   that Josh uses on the tagline in his UX frames. */
.display{
  font-family:var(--font-display);
  font-weight:800;font-style:italic;
  letter-spacing:-.005em;line-height:.9;
  font-size:clamp(2.4rem,7.4vw,6rem);
  text-transform:uppercase;
}
.display-sm{
  font-family:var(--font-display);
  font-weight:800;letter-spacing:-.005em;line-height:1;
  font-size:clamp(2rem,5vw,3.6rem);text-transform:uppercase;
}
.kicker{font-size:clamp(.66rem,1vw,.74rem);font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.mark{fill:currentColor;height:auto}

/* unifying grade across the placeholder photography */
.hero::before,.quote::before,.mt-img,.panel::before{filter:saturate(.8) contrast(1.08) brightness(.92)}

/* ============ 01 HERO — follows the four UX frames ============ */
.hero{position:relative;min-height:100svh;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--img-hero);background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.92) 100%)}

/* frame 01 — the lockup, centred */
.intro{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:clamp(14px,2vw,24px);
  transition:opacity .5s ease,transform .6s cubic-bezier(.4,0,.2,1);
}
.intro .lockup{width:clamp(210px,26vw,380px);fill:currentColor}

/* frame 02 — mark minimised, top left */
.hero-mark{
  position:absolute;top:clamp(26px,3.6vw,46px);left:clamp(26px,6vw,80px);
  display:flex;align-items:center;gap:14px;text-decoration:none;
  opacity:0;transform:translateY(-8px);pointer-events:none;
  transition:opacity .45s ease .15s,transform .45s ease .15s;
}
.hero-mark .mark{width:clamp(44px,4.4vw,64px);transition:width .42s cubic-bezier(.4,0,.2,1),opacity .3s ease}
.hero-mark:hover .mark,.hero-mark:focus-visible .mark{width:0;opacity:0}
/* frame 04 — hover reveals the logotype beside the mark */
.hero-mark .logotype{
  width:0;height:clamp(44px,4.4vw,64px);fill:currentColor;opacity:0;overflow:hidden;
  transition:width .42s cubic-bezier(.4,0,.2,1),opacity .3s ease;
}
.hero-mark:hover .logotype,.hero-mark:focus-visible .logotype{
  width:clamp(96px,9.6vw,140px);opacity:1;
}

/* frame 03 — tagline and info, bottom left */
.hero-foot{
  position:absolute;left:0;right:0;bottom:clamp(30px,5vh,64px);
  transition:opacity .6s ease .1s,transform .6s cubic-bezier(.4,0,.2,1) .1s;
}
.hero-foot .display{max-width:13ch}
.hero-info{margin-top:clamp(20px,2.6vw,30px);max-width:34ch}
.hero-info .kicker{color:var(--star-aqua);display:block;margin-bottom:8px}
.hero-info p{font-size:clamp(.88rem,1.15vw,1rem);line-height:1.55;color:rgba(255,255,255,.8)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3vw,34px)}
.btn{display:inline-block;border:1px solid var(--cosmic-navy);background:var(--cosmic-navy);
  color:var(--white);font-weight:600;font-size:.94rem;padding:15px 30px;text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-ghost{background:transparent;border-color:var(--white)}
.btn-ghost:hover{background:var(--white);color:var(--ink)}

/* the sequence: only runs when JS is present, so the page is complete without it */
.js .intro{opacity:1}
.js .hero-foot{opacity:0;transform:translateY(18px)}
.js .hero.scrolled .intro{opacity:0;transform:scale(.42) translateY(-12vh)}
.js .hero.scrolled .hero-mark{opacity:1;transform:none;pointer-events:auto}
.js .hero.scrolled .hero-foot{opacity:1;transform:none}

.scroll-note{position:absolute;bottom:clamp(20px,3vh,32px);left:50%;transform:translateX(-50%);
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.5);
  transition:opacity .4s ease}
.js .hero.scrolled .scroll-note{opacity:0}

/* ============ 02 QUOTE ============ */
.quote{position:relative;padding:clamp(90px,15vh,190px) 0;isolation:isolate;text-align:center}
.quote::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--img-quote);
  background-size:cover;background-position:center}
.quote::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.62)}
.quote blockquote{position:relative;max-width:20ch;margin:0 auto;
  font-size:clamp(1.45rem,3.8vw,2.9rem);font-weight:400;line-height:1.18;letter-spacing:-.01em}
.qmark{position:absolute;top:-.1em;font-size:clamp(3rem,9vw,7rem);font-weight:700;line-height:1;
  color:var(--white)}
.qmark.open{left:clamp(-.9em,-4vw,-.45em)}
.qmark.close{right:clamp(-.9em,-4vw,-.45em);bottom:-.55em;top:auto}
.quote cite{display:block;margin-top:clamp(26px,4vw,44px);font-style:normal;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--star-aqua)}

/* ============ 03 MORE THAN ============ */
.morethan{position:relative;padding:clamp(80px,12vh,150px) 0;text-align:center;overflow:hidden}
.morethan .kicker{color:rgba(255,255,255,.66);margin-bottom:clamp(28px,5vw,54px)}
.mt-stack{position:relative;display:flex;justify-content:center}
.mt-img{width:clamp(200px,26vw,340px);aspect-ratio:3/4;background-image:var(--img-portrait);
  background-size:cover;background-position:center}
.mt-info{max-width:56ch;margin:clamp(40px,6vw,72px) auto 0;text-align:center}
.mt-lead{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.1rem,2.2vw,1.7rem);line-height:1.1;margin-bottom:clamp(14px,2vw,20px)}
.mt-info p{font-size:clamp(.94rem,1.25vw,1.08rem);line-height:1.6;color:rgba(255,255,255,.82)}
.mt-type{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100%,16ch);
  font-family:var(--font-display);font-weight:800;font-style:italic;
  line-height:.94;font-size:clamp(2rem,6.4vw,4.8rem);text-transform:uppercase;
  text-shadow:0 2px 40px rgba(0,0,0,.7)}

/* ============ 04 PANELS ============ */
.panels{padding:clamp(70px,10vh,120px) 0}
.panel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,18px)}
.panel{position:relative;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;
  padding:clamp(16px,1.6vw,26px);isolation:isolate;border-top:4px solid transparent}
.panel::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.panel::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.1) 40%,rgba(0,0,0,.9) 100%)}
.p1::before{background-image:var(--img-p1)}
.p2::before{background-image:var(--img-p2)}
.p3::before{background-image:var(--img-p3)}
.p4::before{background-image:var(--img-p4)}
.p1{border-top-color:var(--discovery-amber)}
.p2{border-top-color:var(--costar-fuschia)}
.p3{border-top-color:var(--cosmic-navy)}
.p4{border-top-color:var(--star-aqua)}
.panel h3{font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.1rem,2vw,1.7rem);text-transform:uppercase;line-height:1;letter-spacing:.01em}
.panel p{margin-top:8px;font-size:clamp(.78rem,1.05vw,.9rem);color:rgba(255,255,255,.78);line-height:1.45}

/* ============ 05 ENQUIRE ============ */
.enquire{background:var(--paper);color:var(--ink);padding:clamp(70px,11vh,130px) 0}
.enquire .display-sm{max-width:16ch;margin-bottom:16px}
.enquire .sub{max-width:46ch;color:#4a4a4a;font-size:1.02rem;line-height:1.55;margin-bottom:clamp(34px,5vw,54px)}
form{max-width:820px}
fieldset{border:0}
legend{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6a6a6a;margin-bottom:14px}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:34px}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label{display:block;text-align:center;padding:15px 8px;border:1px solid var(--line-dark);
  font-size:.92rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.seg label:hover{border-color:var(--cosmic-navy)}
.seg input:checked + label{background:var(--cosmic-navy);color:var(--white);border-color:var(--cosmic-navy)}
.seg input:focus-visible + label{outline:2px solid var(--cosmic-navy);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
label.lbl{font-size:.82rem;color:#5a5a5a}
input[type=text],input[type=email],textarea{font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--white);border:1px solid var(--line-dark);padding:14px 15px;width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--cosmic-navy);outline-offset:-1px;border-color:var(--cosmic-navy)}
.guardian{display:none;grid-column:1 / -1;padding:18px;background:rgba(65,1,246,.05);border-left:3px solid var(--cosmic-navy)}
.guardian.show{display:block}
.guardian p{font-size:.88rem;color:#4a4a4a;margin-bottom:14px;line-height:1.5}
.guardian .fields{margin:0}
.btn-dark{margin-top:26px;display:inline-block;border:1px solid var(--cosmic-navy);background:var(--cosmic-navy);
  color:var(--white);font-family:inherit;font-weight:600;font-size:.98rem;padding:16px 40px;cursor:pointer;
  transition:background .18s ease,border-color .18s ease}
.btn-dark:hover{background:var(--ink);border-color:var(--ink)}
.form-done{max-width:640px;border-left:4px solid var(--cosmic-navy);padding:26px 30px;background:rgba(65,1,246,.06)}
.form-done h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.3rem,2.4vw,1.9rem);margin-bottom:12px}
.form-done p{font-size:1rem;line-height:1.6;color:#4a4a4a;max-width:46ch}
.form-error{margin-top:18px;font-size:.9rem;color:#8a2b2b;line-height:1.5}
button[disabled]{opacity:.55;cursor:default}

/* ============ 06 FOOTER ============ */
footer{background:var(--ink-2);padding:clamp(56px,8vh,90px) 0 clamp(34px,4vh,50px)}
.foot-top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:flex-start}
.foot-top .mark{width:clamp(44px,4.2vw,62px)}
.foot-links{display:flex;flex-wrap:wrap;gap:26px;font-size:.94rem}
.foot-links a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;
  transition:color .18s ease,border-color .18s ease}
.foot-links a:hover{color:var(--star-aqua);border-bottom-color:var(--star-aqua)}
.foot-note{margin-top:clamp(40px,6vh,66px);padding-top:26px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:18px 40px;justify-content:space-between}
.foot-note p{font-size:.74rem;line-height:1.6;color:rgba(255,255,255,.52);max-width:56ch}
.safeguard{font-size:.9rem;color:rgba(255,255,255,.82);max-width:40ch;line-height:1.55}

@media (max-width:860px){
  .panel-grid{grid-template-columns:repeat(2,1fr)}
  .seg{grid-template-columns:repeat(2,1fr)}
  .hero-mark .logotype{display:none}
}
@media (max-width:560px){
  .fields{grid-template-columns:1fr}
  .qmark{display:none}
  .quote blockquote{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .js .hero-foot{opacity:1;transform:none}
  .js .intro{opacity:0}
  .js .hero-mark{opacity:1;pointer-events:auto}
}

/* ============================================================
   STAGE PAGES — discover / develop / deliver / legacy
   ============================================================ */
.panel{text-decoration:none;color:inherit}
.panel::after{transition:background .3s ease}
.panel:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.82) 100%)}
.panel .more{margin-top:12px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--star-aqua);opacity:0;transform:translateY(6px);
  transition:opacity .25s ease,transform .25s ease}
.panel:hover .more,.panel:focus-visible .more{opacity:1;transform:none}

.topbar{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.82);
  backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-top:16px;padding-bottom:16px}
.topbar .mark{width:38px;fill:currentColor}
.topnav{display:flex;flex-wrap:wrap;gap:clamp(14px,2.2vw,30px);
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.topnav a{text-decoration:none;color:rgba(255,255,255,.6);padding-bottom:3px;
  border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}
.topnav a:hover{color:var(--white)}
.topnav a[aria-current="page"]{color:var(--white)}
.topnav a.s1[aria-current="page"]{border-bottom-color:var(--discovery-amber)}
.topnav a.s2[aria-current="page"]{border-bottom-color:var(--costar-fuschia)}
.topnav a.s3[aria-current="page"]{border-bottom-color:var(--cosmic-navy)}
.topnav a.s4[aria-current="page"]{border-bottom-color:var(--star-aqua)}

.stage-hero{position:relative;padding:clamp(70px,13vh,150px) 0 clamp(50px,8vh,90px);isolation:isolate}
.stage-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;
  background-position:center;filter:saturate(.8) contrast(1.08) brightness(.55)}
.stage-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.88) 100%)}
.s1 .stage-hero::before{background-image:var(--img-p1)}
.s2 .stage-hero::before{background-image:var(--img-p2)}
.s3 .stage-hero::before{background-image:var(--img-p3)}
.s4 .stage-hero::before{background-image:var(--img-p4)}
.stage-num{display:inline-block;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  padding-bottom:6px;border-bottom:3px solid}
.s1 .stage-num{color:var(--discovery-amber);border-color:var(--discovery-amber)}
.s2 .stage-num{color:var(--costar-fuschia);border-color:var(--costar-fuschia)}
.s3 .stage-num{color:var(--cosmic-navy);border-color:var(--cosmic-navy)}
.s4 .stage-num{color:var(--star-aqua);border-color:var(--star-aqua)}
.stage-hero h1{margin-top:clamp(20px,3vw,30px)}
.stage-sub{margin-top:clamp(14px,2vw,22px);font-size:clamp(1.05rem,1.9vw,1.5rem);
  line-height:1.4;max-width:24ch;color:var(--white)}
.stage-intro{margin-top:clamp(20px,2.6vw,30px);max-width:46ch;
  font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.6;color:rgba(255,255,255,.78)}

.blocks{padding:clamp(56px,9vh,100px) 0}
.block{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,12fr);
  gap:clamp(18px,4vw,64px);padding:clamp(28px,4vw,48px) 0;
  border-top:1px solid rgba(255,255,255,.12)}
.block:first-child{border-top:0;padding-top:0}
.block h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.1;letter-spacing:.005em}
.block p{font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.65;color:rgba(255,255,255,.8)}
.block p + p{margin-top:14px}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,20px);
  padding-bottom:clamp(50px,8vh,90px)}
.card{border:1px solid rgba(255,255,255,.14);padding:clamp(22px,2.6vw,34px);
  border-top:3px solid var(--line)}
.s1 .card{border-top-color:var(--discovery-amber)}
.s2 .card{border-top-color:var(--costar-fuschia)}
.s3 .card{border-top-color:var(--cosmic-navy)}
.s4 .card{border-top-color:var(--star-aqua)}
.card h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1rem,1.7vw,1.3rem);margin-bottom:10px;line-height:1.1}
.card p{font-size:clamp(.88rem,1.15vw,1rem);line-height:1.6;color:rgba(255,255,255,.78)}

.pull{padding:clamp(56px,9vh,100px) 0;text-align:center;
  border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.pull blockquote{max-width:22ch;margin:0 auto;font-size:clamp(1.3rem,3.2vw,2.4rem);
  line-height:1.2;letter-spacing:-.01em}
.pull cite{display:block;margin-top:clamp(20px,3vw,32px);font-style:normal;font-size:.7rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--star-aqua)}

.stage-next{padding:clamp(46px,7vh,80px) 0;display:flex;flex-wrap:wrap;gap:20px;
  align-items:center;justify-content:space-between}
.stage-next .kicker{color:rgba(255,255,255,.55)}
.stage-next a{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.3rem,2.8vw,2.2rem);text-decoration:none;line-height:1;
  transition:color .18s ease}
.stage-next a:hover{color:var(--star-aqua)}

.note{margin-top:22px;padding:18px 22px;border-left:3px solid var(--cosmic-navy);
  background:rgba(65,1,246,.08);font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.82)}

@media (max-width:860px){
  .block{grid-template-columns:1fr;gap:12px}
  .cards{grid-template-columns:1fr}
  .topnav{font-size:.66rem;gap:14px}
}

/* ============================================================
   GLOBE — Discover page. Static orthographic projection,
   real coastlines. Markers pulse; nothing rotates.
   ============================================================ */
.globe-sec{padding:clamp(40px,7vh,80px) 0 clamp(50px,8vh,90px);
  border-top:1px solid rgba(255,255,255,.12)}
.globe-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,5vw,72px);align-items:center}
.globe-stage{width:100%;max-width:560px;margin:0 auto}
#globe{width:100%;height:auto;display:block}

.g-sphere{fill:#05060a;stroke:rgba(255,255,255,.26);stroke-width:1}
.g-land{fill:#23262d;stroke:rgba(255,255,255,.17);stroke-width:.55}
.g-grat{fill:none;stroke:rgba(255,255,255,.07);stroke-width:.55}
.g-eu{fill:var(--cosmic-navy);stroke:#9b86ff;stroke-width:.7}
.g-af{fill:var(--discovery-amber);stroke:#ffa294;stroke-width:.7}
.g-na{fill:var(--star-aqua);fill-opacity:.55;stroke:var(--star-aqua);stroke-width:.7}
.g-arc{fill:none;stroke:var(--star-aqua);stroke-width:1.5;opacity:.65}
.g-dot{fill:#fff}
.g-halo{fill:none;stroke:#fff;stroke-width:1.2;opacity:.5;
  transform-box:fill-box;transform-origin:center;animation:gpulse 3.4s ease-in-out infinite}
.g-marks g:nth-child(2n) .g-halo{animation-delay:-1.1s}
.g-marks g:nth-child(3n) .g-halo{animation-delay:-2.2s}
@keyframes gpulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.14;transform:scale(1.5)}}
.g-lead{fill:none;stroke:rgba(255,255,255,.45);stroke-width:.9}
.g-lead-dot{fill:#fff}
.g-label{font-family:var(--font-body);font-size:16px;font-weight:600;fill:#fff;letter-spacing:.01em}

.globe-copy h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.1;margin-bottom:clamp(14px,2vw,20px)}
.globe-copy p{font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.65;color:rgba(255,255,255,.8)}
.globe-list{list-style:none;margin-top:clamp(22px,3vw,32px);display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.globe-list li{display:flex;align-items:center;gap:10px;font-size:.92rem;color:rgba(255,255,255,.82)}
.globe-list .sw{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.globe-note{margin-top:clamp(20px,2.6vw,28px);font-size:.84rem;line-height:1.6;color:rgba(255,255,255,.55)}

@media (max-width:860px){
  .globe-layout{grid-template-columns:1fr;gap:28px}
  .globe-stage{max-width:440px}
  .g-label{font-size:20px}
  .g-lead{stroke-width:1.2}
}
@media (prefers-reduced-motion:reduce){
  .g-halo{animation:none}
}
