/* ═══════════════════════════════════════════════════════════
   SIKHAYA HEALTH — style.css
   Editorial, warm, clinical-but-human.
   Type: Fraunces (display) + Instrument Sans (text)
   ═══════════════════════════════════════════════════════════ */

:root{
  --navy:      #0A2240;
  --navy-deep: #071A32;
  --navy-soft: #13294B;
  --teal:      #17B890;
  --teal-bright:#2BD4A8;
  --paper:     #F7F4EE;
  --paper-hi:  #FDFCF9;
  --ink:       #101E30;
  --ink-soft:  #4E5C6E;
  --line:      rgba(10,34,64,.14);
  --line-dark: rgba(255,255,255,.12);
  --txt-dark-soft: #9FB2C8;

  --font-display: "Fraunces", Georgia, serif;
  --font-text: "Instrument Sans", system-ui, sans-serif;

  --ease-out: cubic-bezier(.22,1,.36,1);
  --ease-io:  cubic-bezier(.65,.05,.36,1);

  --gutter: clamp(20px, 4vw, 64px);
  --radius: 22px;
}

*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }

html{ scroll-behavior:smooth; }
html.lenis{ height:auto; scroll-behavior:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  font-family:var(--font-text);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

::selection{ background:var(--teal); color:#fff; }

img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font:inherit; background:none; border:0; cursor:pointer; color:inherit; }

.container{
  width:min(1440px, 100%);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* ─────────────── Typography helpers ─────────────── */
.h2{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(34px, 4.6vw, 68px);
  line-height:1.06;
  letter-spacing:-0.02em;
  max-width:18ch;
  text-wrap:balance;
}
.h2 .word{ display:inline-block; overflow:hidden; vertical-align:top; }
.h2 .word > span{ display:inline-block; transform:translateY(115%); }

.sub{
  color:var(--ink-soft);
  font-size:clamp(16px, 1.4vw, 19px);
  max-width:56ch;
  margin-top:22px;
}

.kicker{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:26px;
}
.kicker span{
  font-family:var(--font-display);
  font-style:italic;
  font-size:13px;
  color:var(--ink-soft);
  letter-spacing:0;
}
.kicker::after{
  content:"";
  width:56px; height:1px;
  background:currentColor;
  opacity:.5;
}
.kicker--center{ justify-content:center; }
.kicker--center::before{
  content:"";
  width:56px; height:1px;
  background:currentColor;
  opacity:.5;
}

.section-head{ margin-bottom:clamp(48px, 7vw, 96px); }

section{ padding-block:clamp(88px, 11vw, 176px); position:relative; }

/* Dark sections */
.section--dark{
  background:var(--navy);
  color:#F4F7FB;
  border-radius:var(--radius);
  margin-inline:clamp(8px, 1vw, 16px);
}
.section--dark .sub{ color:var(--txt-dark-soft); }
.section--dark .kicker{ color:var(--teal-bright); }
.section--dark .kicker span{ color:var(--txt-dark-soft); }

/* reveal base state (JS toggles) */
[data-reveal]{ opacity:0; transform:translateY(36px); }
.no-js [data-reveal], .reduced [data-reveal]{ opacity:1; transform:none; }

/* ─────────────── Buttons ─────────────── */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 34px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  letter-spacing:.01em;
  overflow:hidden;
  transition:color .35s var(--ease-out), border-color .35s var(--ease-out), transform .3s var(--ease-out);
  will-change:transform;
}
.btn span{ position:relative; z-index:1; }
.btn::after{
  content:"";
  position:absolute; inset:0;
  background:var(--teal-bright);
  border-radius:inherit;
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .45s var(--ease-out);
  z-index:0;
}
.btn:hover::after{ transform:scaleY(1); }

.btn--solid{ background:var(--teal); color:#fff; }
.btn--solid:hover{ color:var(--navy); }
.btn--line{ border:1px solid rgba(10,34,64,.32); color:var(--navy); }
.btn--line:hover{ color:var(--navy); border-color:var(--teal-bright); }
.btn--pill{ background:var(--navy); color:#fff; padding:12px 26px; font-size:14px; }
.btn--pill:hover{ color:var(--navy); }
.btn--big{
  background:var(--navy);
  color:#fff;
  padding:22px 44px;
  font-size:clamp(15px, 1.6vw, 19px);
}
.btn--big:hover{ color:var(--navy); }

/* ─────────────── Preloader ─────────────── */
.preloader{
  position:fixed; inset:0; z-index:200;
  display:grid; place-items:center;
  background:var(--navy-deep);
  color:#fff;
}
.preloader__inner{ text-align:center; position:relative; z-index:2; }
.preloader__mark{ width:76px; margin-inline:auto; color:#fff; }
.preloader__house{
  stroke-dasharray:320; stroke-dashoffset:320;
  animation:draw 1.4s var(--ease-out) forwards .1s;
}
.preloader__pulse{
  stroke-dasharray:160; stroke-dashoffset:160;
  animation:draw 1s var(--ease-out) forwards .9s;
}
@keyframes draw{ to{ stroke-dashoffset:0; } }
.preloader__word{
  margin-top:26px;
  font-family:var(--font-display);
  font-size:clamp(28px, 4vw, 44px);
  letter-spacing:.02em;
}
.preloader__word span{
  display:inline-block;
  opacity:0;
  transform:translateY(20px);
  animation:riseIn .6s var(--ease-out) forwards;
}
.preloader__word span:nth-child(1){ animation-delay:.35s }
.preloader__word span:nth-child(2){ animation-delay:.42s }
.preloader__word span:nth-child(3){ animation-delay:.49s }
.preloader__word span:nth-child(4){ animation-delay:.56s }
.preloader__word span:nth-child(5){ animation-delay:.63s }
.preloader__word span:nth-child(6){ animation-delay:.70s }
.preloader__word em{
  font-style:italic;
  font-size:.5em;
  color:var(--teal-bright);
  opacity:0;
  animation:riseIn .6s var(--ease-out) forwards 1s;
  display:inline-block;
  transform:translateY(20px);
  margin-left:8px;
}
@keyframes riseIn{ to{ opacity:1; transform:none; } }
.preloader__count{
  position:fixed;
  right:clamp(24px,4vw,56px);
  bottom:clamp(20px,3vw,40px);
  font-family:var(--font-display);
  font-size:clamp(48px, 8vw, 110px);
  line-height:1;
  color:rgba(255,255,255,.22);
  font-variant-numeric:tabular-nums;
}
.preloader__curtain{
  position:absolute; inset:0;
  background:var(--teal);
  transform:scaleY(0);
  transform-origin:top;
  z-index:1;
}
.preloader.is-done{ pointer-events:none; }

/* ─────────────── Cursor ─────────────── */
.cursor{ position:fixed; inset:0; pointer-events:none; z-index:300; }
.cursor__dot,.cursor__ring{
  position:absolute; top:0; left:0;
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.cursor__dot{
  width:6px; height:6px;
  background:var(--teal);
}
.cursor__ring{
  width:38px; height:38px;
  border:1.5px solid rgba(23,184,144,.65);
  display:grid; place-items:center;
  transition:width .3s var(--ease-out), height .3s var(--ease-out),
             background-color .3s, border-color .3s;
}
.cursor__ring.is-hover{
  width:64px; height:64px;
  background:rgba(43,212,168,.12);
  border-color:var(--teal-bright);
}
.cursor__ring.is-sm{ width:14px; height:14px; background:rgba(43,212,168,.25); }
@media (hover:none), (pointer:coarse){ .cursor{ display:none; } }

/* ─────────────── Nav — floating pill ─────────────── */
.nav{
  position:fixed;
  top:clamp(12px, 2vw, 20px);
  left:0; right:0;
  z-index:100;
  display:flex;
  justify-content:center;
  padding-inline:clamp(10px, 2vw, 24px);
  pointer-events:none;
  transition:transform .5s var(--ease-out);
}
.nav.is-hidden{ transform:translateY(calc(-100% - 24px)); }
.nav__pill{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:clamp(16px, 2.2vw, 32px);
  max-width:100%;
  background:rgba(7,26,50,.88);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:9px 10px 9px 20px;
  box-shadow:0 12px 40px -12px rgba(7,26,50,.45);
  transition:gap .5s var(--ease-out), box-shadow .4s, background-color .4s;
}
.nav.is-scrolled .nav__pill{
  background:rgba(7,26,50,.96);
  box-shadow:0 18px 50px -14px rgba(7,26,50,.6);
  gap:clamp(12px, 1.6vw, 22px);
}
.nav__brand{ display:flex; align-items:center; gap:11px; color:#fff; }
.nav__mark{ width:30px; height:30px; flex:none; }
.nav__word{
  display:block;
  overflow:hidden;
  max-width:180px;
  font-family:var(--font-display);
  font-size:19px;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:max-width .55s var(--ease-io), opacity .35s;
}
.nav__word em{ font-style:italic; color:var(--teal-bright); }
.nav.is-scrolled .nav__word{ max-width:0; opacity:0; }
.nav__links{ display:flex; gap:clamp(14px, 1.8vw, 26px); }
.nav__links a{
  font-size:13.5px; font-weight:500;
  color:#B9C7D9;
  position:relative;
  padding-block:4px;
  transition:color .3s;
}
.nav__links a::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:1px;
  background:var(--teal-bright);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .4s var(--ease-out);
}
.nav__links a:hover{ color:#fff; }
.nav__links a:hover::after{ transform:scaleX(1); transform-origin:left; }
.nav__cta{ display:flex; align-items:center; gap:12px; }
.nav__cta .btn--pill{ background:var(--teal); padding:10px 22px; font-size:13.5px; }
.nav__burger{
  display:none;
  flex-direction:column;
  gap:6px;
  padding:10px 8px;
}
.nav__burger span{
  width:24px; height:2px;
  background:#fff;
  transition:transform .4s var(--ease-out), opacity .3s;
}
.nav__burger[aria-expanded="true"] span:first-child{ transform:translateY(4px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:last-child{ transform:translateY(-4px) rotate(-45deg); }

@media (max-width:880px){
  .nav__links{ display:none; }
  .nav__burger{ display:flex; }
}
@media (max-width:560px){
  .nav__cta .btn--pill{
    max-width:0;
    padding-left:0;
    padding-right:0;
    opacity:0;
    overflow:hidden;
    white-space:nowrap;
    pointer-events:none;
    transition:max-width .55s var(--ease-io), opacity .35s, padding .55s var(--ease-io);
  }
  .nav.is-scrolled .nav__cta .btn--pill{
    max-width:180px;
    padding-left:22px;
    padding-right:22px;
    opacity:1;
    pointer-events:auto;
  }
}

/* ─────────────── Mobile menu ─────────────── */
.menu{
  position:fixed; inset:0; z-index:90;
  background:var(--navy-deep);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 var(--gutter);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .7s var(--ease-io);
  visibility:hidden;
}
.menu.is-open{ clip-path:inset(0 0 0 0); visibility:visible; }
.menu__links{ display:flex; flex-direction:column; gap:6px; }
.menu__links a{
  font-family:var(--font-display);
  font-size:clamp(34px, 8vw, 56px);
  line-height:1.25;
  display:flex;
  align-items:baseline;
  gap:16px;
  opacity:0;
  transform:translateY(28px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.menu.is-open .menu__links a{ opacity:1; transform:none; }
.menu.is-open .menu__links a:nth-child(1){ transition-delay:.20s }
.menu.is-open .menu__links a:nth-child(2){ transition-delay:.26s }
.menu.is-open .menu__links a:nth-child(3){ transition-delay:.32s }
.menu.is-open .menu__links a:nth-child(4){ transition-delay:.38s }
.menu.is-open .menu__links a:nth-child(5){ transition-delay:.44s }
.menu.is-open .menu__links a:nth-child(6){ transition-delay:.50s }
.menu__links small{
  font-family:var(--font-text);
  font-size:12px;
  color:var(--teal-bright);
  letter-spacing:.2em;
}
.menu__foot{
  position:absolute;
  bottom:32px; left:var(--gutter);
  color:var(--txt-dark-soft);
  font-size:14px;
}

/* ─────────────── Hero ─────────────── */
.hero{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-top:140px;
  padding-bottom:0;
  overflow:hidden;
}
.hero__bg{ position:absolute; inset:0; pointer-events:none; }
.hero__glow{
  position:absolute;
  top:-30%; right:-15%;
  width:70vw; height:70vw;
  background:radial-gradient(circle at center, rgba(43,212,168,.16), transparent 62%);
  filter:blur(10px);
}
.hero__house{
  position:absolute;
  right:clamp(-140px,-6vw,-40px);
  bottom:6%;
  width:clamp(320px, 42vw, 640px);
  color:var(--navy);
  opacity:.07;
}
.hero__inner{ position:relative; z-index:2; }
.hero__kicker{
  display:flex; align-items:center; gap:10px;
  font-size:13px; font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:clamp(24px, 3vw, 42px);
}
.hero__kicker-dot{
  width:9px; height:9px;
  border-radius:50%;
  background:var(--teal);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(23,184,144,.45); }
  55%{ box-shadow:0 0 0 10px rgba(23,184,144,0); }
}
.hero__title{
  font-family:var(--font-display);
  font-weight:340;
  font-size:clamp(42px, 8.4vw, 132px);
  line-height:.98;
  letter-spacing:-0.03em;
  color:var(--navy);
}
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .w{
  display:inline-block;
  transform:translateY(112%);
  will-change:transform;
}
.hero__accent{
  font-style:italic;
  color:var(--teal);
}
.hero__row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  margin-top:clamp(32px, 4vw, 56px);
  padding-bottom:clamp(48px, 6vw, 88px);
}
.hero__lead{
  max-width:52ch;
  font-size:clamp(16px, 1.5vw, 20px);
  color:var(--ink-soft);
}
.hero__ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.hero__ekg{
  width:100%;
  height:clamp(60px, 8vw, 110px);
  position:relative;
  z-index:2;
}
.hero__scroll{
  position:absolute;
  right:var(--gutter);
  bottom:clamp(120px, 16vw, 190px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink-soft);
  writing-mode:vertical-rl;
}
.hero__scroll i{
  width:1px; height:52px;
  background:var(--line);
  position:relative;
  overflow:hidden;
}
.hero__scroll i::after{
  content:"";
  position:absolute; inset:0;
  background:var(--teal);
  animation:scrollHint 1.9s var(--ease-io) infinite;
}
@keyframes scrollHint{
  0%{ transform:translateY(-100%); }
  55%{ transform:translateY(0); }
  100%{ transform:translateY(100%); }
}
@media (max-width:700px){ .hero__scroll{ display:none; } }

/* ─────────────── Marquee ─────────────── */
.marquee{
  overflow:hidden;
  border-block:1px solid var(--line);
  padding-block:20px;
  background:var(--paper-hi);
}
.marquee__track{
  display:flex;
  white-space:nowrap;
  width:max-content;
  animation:marquee 36s linear infinite;
}
.marquee__track span{
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(18px, 2.2vw, 28px);
  color:var(--navy);
  padding-right:8px;
}
.marquee__track i{ color:var(--teal); font-style:normal; padding-inline:18px; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ─────────────── The Need / stats ─────────────── */
.need__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid var(--line-dark);
}
.stat{
  padding:clamp(32px, 4vw, 60px) clamp(20px, 2.6vw, 44px);
  border-right:1px solid var(--line-dark);
}
.stat:last-child{ border-right:0; }
.stat__num{
  font-family:var(--font-display);
  font-size:clamp(64px, 8.6vw, 132px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.03em;
  color:#fff;
  display:flex;
  align-items:baseline;
  margin-bottom:18px;
}
.stat__num sup{
  font-size:.34em;
  color:var(--teal-bright);
  margin-left:4px;
  font-style:italic;
}
.stat__num small{
  font-size:.42em;
  color:var(--teal-bright);
  margin-right:4px;
  font-style:italic;
}
.stat p{ color:var(--txt-dark-soft); max-width:30ch; font-size:15px; }
@media (max-width:820px){
  .need__grid{ grid-template-columns:1fr; }
  .stat{ border-right:0; border-bottom:1px solid var(--line-dark); }
  .stat:last-child{ border-bottom:0; }
}

/* ─────────────── Manifesto (scrub) ─────────────── */
.manifesto__text{
  font-family:var(--font-display);
  font-weight:340;
  font-size:clamp(28px, 4vw, 58px);
  line-height:1.28;
  letter-spacing:-.015em;
  max-width:24ch;
  color:var(--navy);
}
.manifesto__text em{ font-style:italic; color:var(--teal); }
.manifesto__text .mword{
  color:rgba(16,30,48,.16);
  transition:color .35s linear;
}
.manifesto__text .mword.is-lit{ color:inherit; }
.manifesto__text .mword.is-lit em, .manifesto__text em .mword.is-lit{ color:var(--teal); }
.manifesto__notes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(20px, 3vw, 40px);
  margin-top:clamp(56px, 7vw, 110px);
}
.note{
  border-top:1px solid var(--line);
  padding-top:26px;
}
.note__no{
  display:inline-block;
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
}
.note p{ color:var(--ink-soft); max-width:44ch; }
@media (max-width:700px){ .manifesto__notes{ grid-template-columns:1fr; } }

/* ─────────────── Difference list ─────────────── */
.diff__list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  border-top:1px solid var(--line-dark);
}
.diff__item{
  padding:clamp(30px, 3.4vw, 52px) clamp(20px, 2.6vw, 44px);
  border-bottom:1px solid var(--line-dark);
  position:relative;
  transition:background-color .4s var(--ease-out);
}
.diff__item:nth-child(odd){ border-right:1px solid var(--line-dark); }
.diff__item:hover{ background:rgba(43,212,168,.06); }
.diff__idx{
  font-family:var(--font-display);
  font-style:italic;
  color:var(--teal-bright);
  font-size:15px;
}
.diff__item h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(22px, 2.2vw, 30px);
  margin:12px 0 12px;
  letter-spacing:-.01em;
}
.diff__item p{ color:var(--txt-dark-soft); font-size:15px; max-width:46ch; }
@media (max-width:760px){
  .diff__list{ grid-template-columns:1fr; }
  .diff__item:nth-child(odd){ border-right:0; }
}

/* ─────────────── Services — horizontal scroll ─────────────── */
.svc{ padding-block:0; background:var(--paper); }
.svc__pin{
  padding-block:clamp(88px, 10vw, 150px);
  overflow:hidden;
}
.svc__head{ margin-bottom:clamp(40px, 5vw, 72px); }
.svc__track{
  display:flex;
  gap:clamp(16px, 2vw, 28px);
  padding-inline:var(--gutter);
  width:max-content;
  will-change:transform;
}
.svc__card{
  width:clamp(300px, 34vw, 460px);
  min-height:clamp(360px, 30vw, 440px);
  background:var(--paper-hi);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(28px, 2.6vw, 44px);
  display:flex;
  flex-direction:column;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .4s;
}
.svc__card:hover{
  transform:translateY(-10px);
  box-shadow:0 30px 60px -20px rgba(10,34,64,.18);
  border-color:var(--teal);
}
.svc__num{
  font-family:var(--font-display);
  font-style:italic;
  color:var(--teal);
  font-size:15px;
  margin-bottom:auto;
}
.svc__ico{
  width:52px; height:52px;
  color:var(--navy);
  margin:clamp(28px, 3vw, 48px) 0 22px;
}
.svc__card h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(22px, 2vw, 28px);
  line-height:1.15;
  letter-spacing:-.01em;
  margin-bottom:14px;
  color:var(--navy);
}
.svc__card p{ color:var(--ink-soft); font-size:15px; }
.svc__card--accent{
  background:var(--navy);
  border-color:var(--navy);
}
.svc__card--accent h3{ color:#fff; }
.svc__card--accent p{ color:var(--txt-dark-soft); }
.svc__card--accent .svc__ico{ color:var(--teal-bright); }
.svc__progress{
  margin:clamp(36px, 4vw, 56px) var(--gutter) 0;
  height:2px;
  background:var(--line);
  border-radius:2px;
  overflow:hidden;
}
.svc__progress span{
  display:block;
  height:100%;
  width:100%;
  background:var(--teal);
  transform:scaleX(0);
  transform-origin:left;
}

/* ─────────────── Pillars ─────────────── */
.pillars__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(16px, 2vw, 28px);
}
.pillar{
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  padding:clamp(26px, 2.4vw, 40px);
  min-height:280px;
  display:flex;
  flex-direction:column;
  transition:background-color .4s, border-color .4s, transform .5s var(--ease-out);
}
.pillar:hover{
  background:rgba(43,212,168,.07);
  border-color:var(--teal);
  transform:translateY(-8px);
}
.pillar__num{
  font-family:var(--font-display);
  font-size:clamp(40px, 4vw, 64px);
  font-weight:300;
  font-style:italic;
  color:var(--teal-bright);
  line-height:1;
  margin-bottom:auto;
}
.pillar h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(20px, 1.8vw, 26px);
  letter-spacing:-.01em;
  margin:32px 0 12px;
}
.pillar p{ color:var(--txt-dark-soft); font-size:14.5px; }
@media (max-width:1020px){ .pillars__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pillars__grid{ grid-template-columns:1fr; } .pillar{ min-height:0; } }

/* ─────────────── Journey — sticky stack ─────────────── */
.journey{ background:var(--paper); }
.journey__stack{ display:flex; flex-direction:column; gap:24px; }
.jcard{
  position:sticky;
  top:calc(96px + var(--i, 0) * 42px);
  background:var(--paper-hi);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(32px, 4vw, 64px);
  box-shadow:0 -12px 40px -22px rgba(10,34,64,.22);
}
.jcard[data-step="1"]{ --i:0; }
.jcard[data-step="2"]{ --i:1; background:#EDF6F1; }
.jcard[data-step="3"]{ --i:2; background:var(--navy); border-color:var(--navy); color:#fff; }
.jcard[data-step="3"] p{ color:var(--txt-dark-soft); }
.jcard__head{
  display:flex;
  align-items:baseline;
  gap:22px;
  margin-bottom:16px;
}
.jcard__num{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:300;
  font-size:clamp(38px, 4.6vw, 72px);
  color:var(--teal);
  line-height:1;
}
.jcard h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(26px, 3.4vw, 48px);
  letter-spacing:-.015em;
}
.jcard p{
  color:var(--ink-soft);
  font-size:clamp(15px, 1.4vw, 18px);
  max-width:60ch;
}

/* ─────────────── Mission / values ─────────────── */
.mission{ text-align:center; }
.mission__quote{
  font-family:var(--font-display);
  font-weight:340;
  font-size:clamp(30px, 4.4vw, 64px);
  line-height:1.16;
  letter-spacing:-.02em;
  max-width:24ch;
  margin:0 auto clamp(56px, 7vw, 100px);
  text-wrap:balance;
}
.mission__quote .word > span{ transform:translateY(115%); }
.mission__values{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(14px, 1.6vw, 24px);
  text-align:left;
}
.value{
  border-top:1px solid var(--line-dark);
  padding-top:22px;
}
.value h4{
  font-family:var(--font-display);
  font-weight:400;
  font-size:19px;
  margin-bottom:10px;
  color:var(--teal-bright);
}
.value p{ font-size:13.5px; color:var(--txt-dark-soft); }
@media (max-width:1020px){ .mission__values{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .mission__values{ grid-template-columns:1fr; } }

/* ─────────────── Who we serve ─────────────── */
.serve__grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:clamp(16px, 2vw, 28px);
}
.serve__card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(30px, 3.4vw, 56px);
  background:var(--paper-hi);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);
}
.serve__card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 60px -24px rgba(10,34,64,.2);
}
.serve__card--primary{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
.serve__card--primary p{ color:var(--txt-dark-soft); }
.serve__tag{
  font-size:11px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--teal);
  border:1px solid currentColor;
  border-radius:999px;
  padding:7px 16px;
  margin-bottom:clamp(28px, 4vw, 64px);
}
.serve__card--primary .serve__tag{ color:var(--teal-bright); }
.serve__card h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(28px, 3vw, 44px);
  letter-spacing:-.015em;
  margin-bottom:16px;
}
.serve__card p{ color:var(--ink-soft); max-width:52ch; }
.serve__link{
  margin-top:auto;
  padding-top:34px;
  font-weight:600;
  font-size:15px;
  color:var(--teal-bright);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.serve__link i{
  font-style:normal;
  transition:transform .35s var(--ease-out);
}
.serve__link:hover i{ transform:translateX(6px); }
.serve__open{
  margin-top:clamp(28px, 3.4vw, 48px);
  font-family:var(--font-display);
  font-style:italic;
  font-size:clamp(17px, 1.8vw, 23px);
  color:var(--ink-soft);
  max-width:52ch;
}
@media (max-width:820px){ .serve__grid{ grid-template-columns:1fr; } }

/* ─────────────── Platform ─────────────── */
.platform__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  border-top:1px solid var(--line-dark);
}
.plat{
  padding:clamp(30px, 3.4vw, 56px) clamp(20px, 2.6vw, 44px);
  border-bottom:1px solid var(--line-dark);
  transition:background-color .4s;
}
.plat:hover{ background:rgba(43,212,168,.06); }
.plat:nth-child(odd){ border-right:1px solid var(--line-dark); }
.plat h3{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(22px, 2.2vw, 30px);
  letter-spacing:-.01em;
  margin-bottom:12px;
}
.plat h3::before{
  content:"✦ ";
  color:var(--teal-bright);
  font-size:.6em;
  vertical-align:middle;
  margin-right:6px;
}
.plat p{ color:var(--txt-dark-soft); font-size:15px; max-width:52ch; }
@media (max-width:720px){
  .platform__grid{ grid-template-columns:1fr; }
  .plat:nth-child(odd){ border-right:0; }
}

/* ─────────────── CTA ─────────────── */
.cta{
  background:var(--paper);
  text-align:center;
}
.cta__inner{ max-width:900px; }
.cta__title{
  font-family:var(--font-display);
  font-weight:340;
  font-size:clamp(40px, 6.4vw, 92px);
  line-height:1.02;
  letter-spacing:-.025em;
  color:var(--navy);
  text-wrap:balance;
}
.cta__title .word > span{ transform:translateY(115%); }
.cta__sub{
  color:var(--ink-soft);
  font-size:clamp(16px, 1.6vw, 20px);
  max-width:52ch;
  margin:26px auto 44px;
}
.cta__meta{
  display:flex;
  justify-content:center;
  gap:clamp(18px, 3vw, 44px);
  flex-wrap:wrap;
  margin-top:44px;
  font-size:14px;
  color:var(--ink-soft);
}
.cta__meta a{
  color:var(--navy);
  border-bottom:1px solid var(--teal);
  transition:color .3s;
}
.cta__meta a:hover{ color:var(--teal); }

/* ─────────────── Footer ─────────────── */
.footer{
  background:var(--navy-deep);
  color:var(--txt-dark-soft);
  padding-top:clamp(64px, 8vw, 110px);
  overflow:hidden;
  border-radius:var(--radius) var(--radius) 0 0;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:clamp(28px, 4vw, 56px);
  padding-bottom:clamp(48px, 6vw, 80px);
}
.footer__brand p{
  max-width:34ch;
  font-size:15px;
}
.footer__brand em{ color:var(--teal-bright); }
.footer__mark{ width:44px; color:#fff; margin-bottom:20px; }
.footer__col{ display:flex; flex-direction:column; gap:11px; font-size:14.5px; }
.footer__col h4{
  color:#fff;
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.footer__col a{ transition:color .3s; width:fit-content; }
.footer__col a:hover{ color:var(--teal-bright); }
.footer__word{
  font-family:var(--font-display);
  font-weight:340;
  font-size:clamp(88px, 17.6vw, 280px);
  line-height:.82;
  letter-spacing:-.03em;
  color:rgba(255,255,255,.05);
  text-align:center;
  user-select:none;
  transform:translateY(8%);
}
.footer__legal{
  border-top:1px solid var(--line-dark);
  padding:24px 0 28px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
}
@media (max-width:880px){ .footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer__grid{ grid-template-columns:1fr; } }

/* ─────────────── Reduced motion ─────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  [data-reveal]{ opacity:1; transform:none; }
  .hero__title .w{ transform:none; }
  .h2 .word > span, .mission__quote .word > span, .cta__title .word > span{ transform:none; }
  .manifesto__text .mword{ color:inherit; }
}
