/* =========================================================
   JAWS — Jonathan Jaworski
   Palette + type matched to the 2026 press kit
   ========================================================= */
:root{
  --cream:   #f5f1e8;   /* light ground */
  --cream-2: #ede7d8;   /* slightly deeper cream */
  --ink:     #10162c;   /* dark ground */
  --ink-2:   #1a2242;   /* raised dark panel */
  --royal:   #2c3c7e;   /* primary accent */
  --royal-l: #3a4fa8;   /* brighter royal for hover */
  --teal:    #2ba8b8;   /* secondary pop */
  --greige:  #d6cfbe;   /* warm neutral */
  --line:    #cfc7b4;   /* hairline on cream */
  --line-d:  #2a335c;   /* hairline on ink */
  --muted:   #6a6656;   /* muted text on cream */
  --muted-l: #9aa0bd;   /* muted text on ink */

  --disp: "Bebas Neue", "Arial Narrow", sans-serif;
  --body: "Barlow", -apple-system, system-ui, sans-serif;

  --wrap: 1160px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
.num{ font-variant-numeric:tabular-nums; letter-spacing:.01em; }

/* ---------- shared type ---------- */
.eyebrow{
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--royal);
  margin:0 0 1.1rem;
}
.eyebrow--accent{ color:var(--teal); }
.eyebrow--light{ color:var(--greige); }

.section-head, .hero__title, .manifesto__head, .run__title,
.contact__title, .honor__name{
  font-family:var(--disp);
  font-weight:400;
  line-height:.92;
  letter-spacing:.015em;
  text-transform:uppercase;
  margin:0;
}
.section-head{ font-size:clamp(2.6rem,6vw,4.4rem); }

.chev{ color:var(--teal); letter-spacing:-.08em; font-weight:800; }

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:var(--body);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.95em 1.9em;
  border:2px solid transparent;
  border-radius:2px;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--royal); color:var(--cream); }
.btn--primary:hover{ background:var(--royal-l); }
.btn--ghost{ border-color:var(--royal); color:var(--royal); }
.btn--ghost:hover{ background:var(--royal); color:var(--cream); }
.btn--ghost-light{ border-color:var(--greige); color:var(--cream); }
.btn--ghost-light:hover{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.btn--sm{ padding:.7em 1.25em; font-size:.72rem; }
.btn--lg{ padding:1.1em 2.4em; font-size:.9rem; }

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:1.5rem;
  padding:.85rem clamp(1rem,4vw,2.4rem);
  background:rgba(16,22,44,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-d);
}
.nav__brand{
  color:var(--cream); line-height:1; display:flex; align-items:center; gap:.55rem;
}
.nav__fin{ width:24px; height:auto; display:block; }
.nav__word{
  font-family:var(--body); font-weight:800; font-size:1.5rem;
  letter-spacing:.02em; line-height:1;
}
.nav__links{ display:flex; gap:1.6rem; margin-left:auto; }
.nav__links a{
  font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted-l); transition:color .2s;
}
.nav__links a:hover{ color:var(--cream); }
.nav .btn--sm{ background:var(--teal); color:var(--ink); }
.nav .btn--sm:hover{ background:var(--cream); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:flex-end;
  background:var(--ink);
  color:var(--cream);
  overflow:hidden;
}
.hero__media{ position:absolute; inset:0; }
.hero__media img{ width:100%; height:100%; object-fit:cover; object-position:50% 28%; }
.hero__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(16,22,44,.55) 0%, rgba(16,22,44,.15) 32%, rgba(16,22,44,.72) 74%, rgba(16,22,44,.96) 100%),
    linear-gradient(90deg, rgba(16,22,44,.7) 0%, rgba(16,22,44,0) 55%);
}
.hero__inner{
  position:relative; z-index:2;
  width:100%; max-width:var(--wrap);
  margin:0 auto; padding:0 clamp(1.2rem,4vw,2.4rem) clamp(2.2rem,5vw,3.4rem);
}
.eyebrow--light.eyebrow{ color:var(--greige); }
.hero__title{ font-size:clamp(3.4rem,11vw,8.5rem); }
.hero__first{ display:block; color:var(--greige); font-size:.42em; letter-spacing:.06em; }
.hero__name{ display:block; }
.mantra{
  font-family:var(--disp); text-transform:uppercase;
  font-size:clamp(1.5rem,4vw,2.4rem); letter-spacing:.05em;
  margin:.7rem 0 1.6rem; color:var(--cream);
}
.mantra span{ color:var(--teal); }
.mantra--sm{ font-size:clamp(1.3rem,3vw,1.9rem); margin:1rem 0 1.8rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2.4rem; }

.rail{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; margin:0;
  background:var(--line-d);
  border:1px solid var(--line-d);
}
.rail__item{ background:rgba(16,22,44,.72); padding:1rem 1.1rem; }
.rail__item dt{
  font-size:.64rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--teal); font-weight:700; margin-bottom:.35rem;
}
.rail__item dd{ margin:0; font-weight:600; font-size:1.05rem; color:var(--cream); }
.rail__item dd.num{ font-size:1.15rem; }

/* =========================================================
   MANIFESTO
   ========================================================= */
.manifesto{
  background:var(--ink); color:var(--cream);
  padding:clamp(4rem,10vw,8rem) clamp(1.2rem,4vw,2.4rem);
  text-align:center;
  border-top:1px solid var(--line-d);
}
.manifesto__head{
  font-size:clamp(3rem,9vw,7rem);
  margin:.2rem auto .1rem;
}
.manifesto__body{
  max-width:640px; margin:1.8rem auto 0;
  color:var(--greige); font-size:1.12rem;
}
.manifesto__kicker{
  margin:2rem auto 0; font-family:var(--disp); text-transform:uppercase;
  font-size:clamp(1.2rem,3vw,1.8rem); letter-spacing:.04em; color:var(--cream);
}
.manifesto__kicker em{ color:var(--teal); font-style:normal; }

/* =========================================================
   ABOUT
   ========================================================= */
.about{
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:0;
  max-width:1320px; margin:0 auto;
}
.about__media{ align-self:stretch; }
.about__media img{ width:100%; height:100%; min-height:420px; object-fit:cover; }
.about__text{ padding:clamp(3rem,6vw,6rem) clamp(1.4rem,5vw,5rem); }
.about__text p{ margin:0 0 1.1rem; color:#2c2f3d; }
.section-head + p, .about__text .eyebrow + .section-head{ margin-top:.4rem; }
.about__text .section-head{ margin-bottom:1.6rem; }
.about__pull{
  font-family:var(--disp); text-transform:uppercase; color:var(--royal)!important;
  font-size:1.5rem; letter-spacing:.02em; line-height:1.05;
  border-left:3px solid var(--teal); padding-left:1rem; margin-top:1.8rem!important;
}

/* =========================================================
   STATS
   ========================================================= */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  background:var(--ink); color:var(--cream);
  gap:1px; border-top:1px solid var(--line-d);
}
.stat{
  background:var(--ink); padding:clamp(2.2rem,4vw,3.4rem) 1.6rem;
  border-right:1px solid var(--line-d);
}
.stat:last-child{ border-right:0; }
.stat--accent{ background:var(--ink-2); }
.stat__num{
  font-family:var(--disp); font-size:clamp(3rem,6vw,4.6rem);
  line-height:.9; margin:0; color:var(--cream);
}
.stat--accent .stat__num{ color:var(--teal); }
.stat__num span{ color:var(--teal); font-size:.6em; }
.stat__label{
  margin:.7rem 0 .2rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; font-size:.72rem; color:var(--greige);
}
.stat__sub{ margin:0; font-size:.86rem; color:var(--muted-l); }

/* =========================================================
   RACE RECORD
   ========================================================= */
.record{
  max-width:var(--wrap); margin:0 auto;
  padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,2.4rem);
}
.record__intro{ max-width:680px; margin-bottom:3rem; }
.record__lede{ color:var(--muted); font-size:1.06rem; margin:1.2rem 0 0; }

.timeline{ list-style:none; margin:0 0 3rem; padding:0; }
.timeline__row{
  display:grid; grid-template-columns:auto 1fr; gap:1.6rem; align-items:baseline;
  padding:1.6rem 0; border-top:1px solid var(--line);
}
.timeline__row:last-child{ border-bottom:1px solid var(--line); }
.timeline__year{
  font-family:var(--disp); font-size:clamp(2.2rem,4vw,3.2rem);
  color:var(--royal); line-height:1; min-width:2.6ch;
}
.timeline__row--headline .timeline__year,
.timeline__row--next .timeline__year{ color:var(--teal); }
.timeline__body h3{
  margin:0 0 .3rem; font-size:1.3rem; font-weight:700; letter-spacing:.01em;
  display:flex; flex-wrap:wrap; align-items:center; gap:.7rem;
}
.timeline__body p{ margin:0; color:var(--muted); font-size:.96rem; }
.tag{
  font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  background:var(--teal); color:var(--ink); padding:.3em .7em; border-radius:2px;
}
.tag--muted{ background:var(--greige); color:var(--ink); }

.record__gallery{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:.6rem; }
.record__gallery img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:2px;
}
.record__gallery img:nth-child(2){ aspect-ratio:3/4; grid-row:span 1; }

/* =========================================================
   MANTRA BREAK
   ========================================================= */
.break{
  background:var(--royal); color:var(--cream);
  text-align:center; padding:clamp(3.5rem,7vw,6rem) 1.5rem;
  background-image:linear-gradient(135deg, var(--royal) 0%, var(--ink) 130%);
}
.break__quote{
  font-family:var(--disp); text-transform:uppercase;
  font-size:clamp(3rem,9vw,6.5rem); line-height:.9; margin:0;
}
.break__quote span{ color:var(--teal); }
.break__attr{
  margin:1.2rem 0 0; font-size:.72rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--greige); font-weight:600;
}

/* =========================================================
   THE 2027 RUN
   ========================================================= */
.run{
  background:var(--ink); color:var(--cream);
  padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,2.4rem);
}
.run > *{ max-width:var(--wrap); margin-left:auto; margin-right:auto; }
.run__head{ text-align:center; max-width:780px; }
.run__title{ font-size:clamp(3.4rem,10vw,7.5rem); color:var(--cream); }
.run__lede{ color:var(--greige); font-size:1.15rem; margin:1.2rem auto 0; max-width:600px; }

.run__facts{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line-d); border:1px solid var(--line-d);
  margin-top:3rem;
}
.fact{ background:var(--ink); padding:1.8rem 1.6rem; }
.fact__k{ margin:0 0 .5rem; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); font-weight:700; }
.fact__v{ font-family:var(--disp); font-size:clamp(2.4rem,5vw,3.4rem); line-height:.9; margin:0 0 .4rem; }
.fact__s{ margin:0; color:var(--muted-l); font-size:.9rem; }

.run__desc{ color:var(--greige); font-size:1.08rem; margin-top:2.4rem; max-width:820px; }

/* route + elevation */
.route{ margin-top:3rem; }
.route__profile{
  position:relative; height:200px; margin-bottom:2.5rem;
  border-bottom:2px solid var(--line-d);
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:0 .5rem;
  background:linear-gradient(180deg, transparent 60%, rgba(43,168,184,.06) 100%);
}
.peak{
  position:relative; width:2px; height:var(--h);
  background:linear-gradient(180deg, var(--teal), rgba(43,168,184,.15));
  display:flex; justify-content:center;
}
.peak::after{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:9px; height:9px; background:var(--teal); border-radius:50%;
}
.peak b{
  position:absolute; top:-2.6em; left:50%; transform:translateX(-50%);
  font-family:var(--disp); font-size:.95rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--cream); white-space:nowrap;
}
.peak em{
  position:absolute; top:-1.2em; left:50%; transform:translateX(-50%);
  font-style:normal; font-size:.7rem; color:var(--teal); white-space:nowrap;
}
.route__days{ list-style:none; margin:0; padding:0; display:grid; gap:1px; background:var(--line-d); border:1px solid var(--line-d); }
.route__days li{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.2rem;
  background:var(--ink); padding:1rem 1.3rem;
}
.route__days .d{
  font-family:var(--disp); font-size:1.5rem; color:var(--teal); min-width:2.4ch;
}
.route__days b{ display:block; font-size:1.02rem; color:var(--cream); font-weight:700; }
.route__days i{ font-style:normal; font-size:.85rem; color:var(--muted-l); }
.route__days .mi{ font-family:var(--disp); font-size:1.3rem; color:var(--greige); }

/* in honor of Mark */
.honor{
  margin-top:3.5rem; padding:clamp(2.2rem,5vw,3.6rem);
  background:var(--ink-2); border:1px solid var(--line-d); border-radius:3px;
  border-left:4px solid var(--teal);
}
.honor__name{ font-size:clamp(2.4rem,6vw,3.8rem); color:var(--cream); }
.honor__years{ margin:.4rem 0 1.4rem; color:var(--teal); letter-spacing:.16em; text-transform:uppercase; font-size:.8rem; font-weight:600; }
.honor__body{ color:var(--greige); max-width:760px; margin:0; }
.honor__quote{
  margin:1.8rem 0 0; padding:0; border:0;
  font-family:var(--disp); text-transform:uppercase; line-height:1.02;
  font-size:clamp(1.5rem,3.5vw,2.3rem); letter-spacing:.02em; color:var(--cream);
}

/* beneficiary + cta */
.benefit{
  margin-top:2rem; display:grid; grid-template-columns:1.3fr 1fr; gap:2.5rem; align-items:center;
  padding-top:2.5rem; border-top:1px solid var(--line-d);
}
.benefit__text h3{ font-size:1.7rem; margin:0 0 .6rem; font-weight:700; }
.benefit__text p{ color:var(--greige); margin:0; }
.benefit__cta{ text-align:left; display:flex; flex-direction:column; align-items:flex-start; gap:.9rem; }
.benefit__goal{ font-family:var(--disp); font-size:2rem; color:var(--teal); margin:0 0 .3rem; }
.benefit__goal span{ font-size:1.4em; }

/* =========================================================
   REACH / SOCIAL
   ========================================================= */
.reach{ max-width:var(--wrap); margin:0 auto; padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,2.4rem); }
.reach__head{ max-width:680px; }
.reach__lede{ color:var(--muted); margin:1.2rem 0 0; font-size:1.06rem; }
.reach__grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  margin:2.6rem 0 2.6rem;
}
.mini{ background:var(--cream); padding:1.5rem 1rem; }
.mini__n{ font-family:var(--disp); font-size:clamp(2rem,4vw,2.8rem); color:var(--royal); line-height:.9; margin:0 0 .4rem; }
.mini__l{ margin:0; font-size:.78rem; color:var(--muted); font-weight:600; }

.social{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.social__card{
  display:block; padding:1.6rem 1.8rem;
  background:var(--ink); color:var(--cream); border-radius:3px;
  transition:transform .18s ease, background .2s ease;
}
.social__card:hover{ transform:translateY(-4px); background:var(--ink-2); }
.social__plat{ display:block; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); font-weight:700; }
.social__handle{ display:block; font-family:var(--disp); font-size:1.9rem; margin:.3rem 0 .6rem; }
.social__meta{ display:block; font-size:.85rem; color:var(--muted-l); }
.social__meta b{ color:var(--cream); }

/* =========================================================
   BEYOND THE TRAIL
   ========================================================= */
.beyond{ max-width:var(--wrap); margin:0 auto; padding:clamp(2rem,3vw,3rem) clamp(1.2rem,4vw,2.4rem) clamp(4rem,8vw,7rem); }
.beyond__head{ margin-bottom:2.6rem; }
.beyond__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.role{
  position:relative; padding:1.8rem 1.5rem 1.6rem;
  background:var(--cream-2); border:1px solid var(--line); border-radius:3px;
  border-top:3px solid var(--royal);
}
.role__badge{
  font-family:var(--disp); font-size:1.6rem; color:var(--teal); display:block; margin-bottom:.6rem;
}
.role h3{ margin:0 0 .2rem; font-size:1.3rem; font-weight:700; }
.role__where{ margin:0 0 .8rem; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--royal); font-weight:700; }
.role p{ margin:0; font-size:.92rem; color:var(--muted); }

.beyond__family{
  margin-top:2.5rem; display:grid; grid-template-columns:1fr 1.2fr; gap:0;
  background:var(--ink); border-radius:3px; overflow:hidden;
}
.beyond__family img{ width:100%; height:100%; min-height:340px; object-fit:cover; object-position:50% 30%; }
.beyond__familytext{ padding:clamp(2rem,4vw,3.4rem); color:var(--cream); align-self:center; }
.beyond__familytext h3{ font-size:1.9rem; margin:.2rem 0 1rem; font-weight:700; }
.beyond__familytext p{ margin:0; color:var(--greige); }

/* =========================================================
   PARTNERS
   ========================================================= */
.partners{ background:var(--cream-2); border-top:1px solid var(--line); }
.partners > *{ max-width:var(--wrap); margin-left:auto; margin-right:auto; }
.partners__head{ padding:clamp(4rem,7vw,6rem) clamp(1.2rem,4vw,2.4rem) 0; }
.partners__current{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
  padding:2.4rem clamp(1.2rem,4vw,2.4rem);
}
.brandcard h3 a{ transition:color .2s; }
.brandcard h3 a:hover{ color:var(--teal); }
.brandcard{ background:var(--cream); border:1px solid var(--line); border-radius:3px; padding:2rem 1.9rem; }
.brandcard__cat{ margin:0 0 .8rem; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--royal); font-weight:700; }
.brandcard h3{ font-family:var(--disp); font-size:2.4rem; margin:0 0 .6rem; letter-spacing:.02em; }
.brandcard p{ margin:0; color:var(--muted); font-size:.96rem; }

.partners__open{
  text-align:center; padding:clamp(2.5rem,5vw,4rem) clamp(1.2rem,4vw,2.4rem) clamp(4rem,7vw,6rem);
  border-top:1px solid var(--line); margin-top:1rem;
}
.partners__open h3{ font-family:var(--disp); font-size:clamp(2.2rem,5vw,3.4rem); margin:.3rem 0 1rem; letter-spacing:.02em; }
.partners__open p{ max-width:620px; margin:0 auto 1.8rem; color:var(--muted); }

/* =========================================================
   CONTACT
   ========================================================= */
.contact{
  background:var(--ink); color:var(--cream); text-align:center;
  padding:clamp(4.5rem,9vw,8rem) clamp(1.2rem,4vw,2.4rem) clamp(3.5rem,6vw,5rem);
  border-top:1px solid var(--line-d);
}
.contact__title{ font-size:clamp(3rem,9vw,6.5rem); }
.contact__cta{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-bottom:3.4rem; }
.contact__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  max-width:820px; margin:0 auto;
  background:var(--line-d); border:1px solid var(--line-d);
}
.contact__grid > div{ background:var(--ink); padding:1.3rem 1.2rem; }
.contact__grid dt{ font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:.4rem; }
.contact__grid dd{ margin:0; font-weight:600; }
.contact__grid dd a:hover{ color:var(--teal); }

/* =========================================================
   FOOTER
   ========================================================= */
.foot{
  background:var(--ink); color:var(--muted-l); text-align:center;
  padding:2.4rem 1.5rem 3rem; border-top:1px solid var(--line-d);
}
.foot__mark{ font-family:var(--body); font-weight:800; font-size:1.6rem; letter-spacing:.02em; color:var(--cream); margin:0 0 .5rem; display:flex; align-items:center; gap:.55rem; justify-content:center; }
.foot__fin{ width:26px; height:auto; }
.foot__tag{ margin:0 0 1rem; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--greige); }
.foot__legal{ margin:0; font-size:.78rem; }
/* Future: link to Jason Euler Ventures / other projects goes here when live */

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .nav__links{ display:none; }
  .about{ grid-template-columns:1fr; }
  .about__media img{ min-height:60vw; }
  .stats{ grid-template-columns:1fr 1fr; }
  .stat:nth-child(2n){ border-right:0; }
  .run__facts{ grid-template-columns:1fr; }
  .route__days li{ grid-template-columns:auto 1fr; }
  .route__days .mi{ grid-column:2; justify-self:start; }
  .benefit{ grid-template-columns:1fr; gap:1.6rem; }
  .reach__grid{ grid-template-columns:repeat(3,1fr); }
  .social{ grid-template-columns:1fr; }
  .beyond__grid{ grid-template-columns:1fr 1fr; }
  .beyond__family{ grid-template-columns:1fr; }
  .partners__current{ grid-template-columns:1fr; }
  .contact__grid{ grid-template-columns:1fr 1fr; }
  .record__gallery img:nth-child(2){ aspect-ratio:4/3; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .hero{ min-height:92vh; }
  .hero__cta{ flex-direction:column; align-items:stretch; }
  .hero__cta .btn{ text-align:center; }
  .rail{ grid-template-columns:1fr 1fr; }
  .stats{ grid-template-columns:1fr; }
  .stat{ border-right:0; border-bottom:1px solid var(--line-d); }
  .reach__grid{ grid-template-columns:1fr 1fr; }
  .beyond__grid{ grid-template-columns:1fr; }
  .contact__grid{ grid-template-columns:1fr; }
  .timeline__row{ grid-template-columns:1fr; gap:.4rem; }
  .contact__cta .btn, .partners__open .btn{ width:100%; }
}

@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition:none!important; } }
