/* MyriadPulse — myriadpulse.com
   Palette per 02-Brand/Brand Guidelines.md (canonical):
   navy #17262F · teal #168282 / #2AA5A0 · blue #255EFB / #4D82FF (single spot colour) */

@font-face{
  font-family:"Manrope";
  src:url("fonts/manrope-var-latin.woff2") format("woff2-variations");
  font-weight:400 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Newsreader";
  src:url("fonts/newsreader-var-latin.woff2") format("woff2-variations");
  font-weight:400 500; font-style:normal; font-display:swap;
}

:root{
  --ground:#F4F6F7;
  --panel:#FFFFFF;
  --panel-2:#EDF1F2;
  --ink:#17262F;
  --muted:#5A6873;
  --faint:#85939C;
  --rule:#DCE2E6;
  --rule-strong:#C2CCD2;
  --teal:#168282;
  --teal-soft:#EAF4F3;
  --blue:#255EFB;
  --ink-invert:#FFFFFF;
  --band:#17262F;
  --band-ink:#E8EEF2;
  --band-muted:#9FB0BA;
  --band-rule:#2C3D48;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#10161A;
    --panel:#161E23;
    --panel-2:#1C262C;
    --ink:#E8EEF2;
    --muted:#9AA7AF;
    --faint:#71808A;
    --rule:#263138;
    --rule-strong:#36444D;
    --teal:#2AA5A0;
    --teal-soft:#14262A;
    --blue:#4D82FF;
    --ink-invert:#0C1114;
    --band:#0A0F12;
    --band-ink:#E8EEF2;
    --band-muted:#8A99A3;
    --band-rule:#212D34;
  }
}
:root[data-theme="dark"]{
  --ground:#10161A; --panel:#161E23; --panel-2:#1C262C;
  --ink:#E8EEF2; --muted:#9AA7AF; --faint:#71808A;
  --rule:#263138; --rule-strong:#36444D;
  --teal:#2AA5A0; --teal-soft:#14262A; --blue:#4D82FF;
  --ink-invert:#0C1114;
  --band:#0A0F12; --band-ink:#E8EEF2; --band-muted:#8A99A3; --band-rule:#212D34;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16.5px; line-height:1.62; -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.narrow{max-width:720px;}

/* ---------- header ---------- */
.site-head{border-bottom:1px solid var(--rule);background:var(--ground);}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:74px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none;}
.brand svg{display:block;width:32px;height:32px;flex:none;}
.brand .wm{font-size:21px;font-weight:800;letter-spacing:-.022em;line-height:1;}
.brand .wm b{font-weight:800;color:var(--teal);}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.nav a{
  text-decoration:none;font-size:14.5px;font-weight:600;color:var(--muted);
  padding:4px 0;border-bottom:2px solid transparent;
}
.nav a:hover{color:var(--ink);}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--teal);}
.nav .cta{
  border:1px solid var(--ink);border-bottom-width:1px;color:var(--ink);
  padding:7px 15px;border-radius:2px;
}
.nav .cta:hover{background:var(--ink);color:var(--ink-invert);}
@media(max-width:720px){
  .site-head .wrap{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;min-height:0;gap:12px;}
  .nav{margin-left:0;width:100%;gap:18px;}
}

/* ---------- type ---------- */
.display{
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-weight:400;letter-spacing:-.015em;line-height:1.1;text-wrap:balance;margin:0;
}
h1.display{font-size:clamp(34px,5.4vw,58px);}
h2.display{font-size:clamp(26px,3.4vw,38px);line-height:1.14;}
h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0;}
.eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--faint);margin:0 0 16px;
}
.lede{font-size:19px;color:var(--muted);max-width:62ch;margin:0;}
p{margin:0;}
.prose{display:grid;gap:18px;max-width:66ch;}
.prose p{color:var(--muted);}
.prose strong{color:var(--ink);font-weight:600;}
.tnote{font-size:13.5px;color:var(--faint);}

/* ---------- sections ---------- */
section{padding:74px 0;border-top:1px solid var(--rule);}
section:first-of-type{border-top:none;}
.sec-head{display:grid;gap:14px;margin-bottom:38px;max-width:66ch;}

/* ---------- hero ---------- */
.hero{padding:88px 0 74px;border-top:none;}
.hero .display{max-width:16ch;}
.hero .lede{margin-top:22px;font-size:20px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

.btn{
  display:inline-block;text-decoration:none;font-size:15px;font-weight:700;
  padding:12px 22px;border-radius:2px;border:1px solid var(--ink);
}
.btn-solid{background:var(--ink);color:var(--ink-invert);}
.btn-solid:hover{background:var(--teal);border-color:var(--teal);}
.btn-ghost{color:var(--ink);}
.btn-ghost:hover{background:var(--panel);}

/* ---------- the boundary device ---------- */
.boundary{
  margin-top:14px;border:1px solid var(--rule-strong);background:var(--panel);
  display:grid;grid-template-columns:1fr 1fr;
}
@media(max-width:720px){.boundary{grid-template-columns:1fr;}}
.boundary > div{padding:26px 28px;}
.boundary .inside{border-right:1px solid var(--rule-strong);}
@media(max-width:720px){.boundary .inside{border-right:none;border-bottom:1px solid var(--rule-strong);}}
.boundary h3{margin-bottom:6px;}
.boundary .where{
  font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  margin:0 0 12px;
}
.boundary .inside .where{color:var(--teal);}
.boundary .outside .where{color:var(--faint);}
.boundary ul{margin:0;padding-left:0;list-style:none;display:grid;gap:9px;}
.boundary li{font-size:15px;color:var(--muted);padding-left:20px;position:relative;}
.boundary li::before{position:absolute;left:0;top:0;font-weight:700;}
.boundary .inside li::before{content:"\2022";color:var(--teal);}
.boundary .outside li{color:var(--faint);}
.boundary .outside li::before{content:"\00D7";color:var(--faint);}

/* ---------- grids ---------- */
.grid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
.grid > article{background:var(--panel);padding:26px 26px 28px;display:grid;gap:9px;align-content:start;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:860px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.grid-3,.grid-2{grid-template-columns:1fr;}}
.grid article p{font-size:15px;color:var(--muted);}
.grid article .role{
  font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--teal);
}

/* ---------- lists ---------- */
.ticks{margin:0;padding:0;list-style:none;display:grid;gap:11px;}
.ticks li{position:relative;padding-left:26px;color:var(--muted);font-size:15.5px;}
.ticks li::before{
  content:"";position:absolute;left:0;top:.55em;width:11px;height:2px;background:var(--teal);
}
.cols-2{columns:2;column-gap:44px;}
.cols-2 li{break-inside:avoid;}
@media(max-width:680px){.cols-2{columns:1;}}

/* ---------- dark band ---------- */
.band{background:var(--band);color:var(--band-ink);border-top:none;}
.band .eyebrow{color:var(--band-muted);}
.band .lede,.band p{color:var(--band-muted);}
.band strong{color:var(--band-ink);}
.band .quote{
  font-family:"Newsreader",Georgia,serif;font-weight:400;
  font-size:clamp(24px,3.2vw,34px);line-height:1.25;color:var(--band-ink);
  max-width:20ch;letter-spacing:-.01em;
}

/* ---------- pricing ---------- */
.price-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:760px){.price-cards{grid-template-columns:1fr;}}
.pcard{border:1px solid var(--rule-strong);border-top:3px solid var(--ink);background:var(--panel);padding:26px 26px 28px;display:grid;gap:6px;align-content:start;}
.pcard.accent{border-top-color:var(--teal);background:var(--teal-soft);}
.pcard .ptitle{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.pcard .big{font-family:"Newsreader",Georgia,serif;font-size:38px;line-height:1.05;letter-spacing:-.02em;margin-top:6px;}
.pcard .big small{font-family:"Manrope",sans-serif;font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0;display:block;margin-top:4px;}
.pcard .row{font-size:15px;color:var(--muted);}
.pcard .row b{color:var(--ink);font-weight:600;}

table{border-collapse:collapse;width:100%;font-size:15px;}
.tscroll{overflow-x:auto;border:1px solid var(--rule);background:var(--panel);}
th{background:var(--ink);color:var(--ink-invert);text-align:left;padding:11px 16px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
td{padding:12px 16px;border-bottom:1px solid var(--rule);color:var(--muted);}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
td.hl{color:var(--ink);font-weight:700;}
tbody tr:last-child td{border-bottom:none;}

/* ---------- founding banner ---------- */
.founding{
  border:1px solid var(--teal);background:var(--teal-soft);
  padding:26px 28px;display:grid;gap:10px;
}
.founding .tag{
  justify-self:start;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  background:var(--teal);color:#FFFFFF;padding:3px 9px;border-radius:2px;
}
.founding h3{font-size:21px;}
.founding p{color:var(--muted);font-size:15.5px;max-width:64ch;}
.founding b{color:var(--ink);}

/* ---------- faq ---------- */
.qa{display:grid;gap:0;border-top:1px solid var(--rule);}
.qa > div{border-bottom:1px solid var(--rule);padding:26px 0;display:grid;gap:10px;}
.qa h3{font-size:18px;max-width:60ch;}
.qa p{color:var(--muted);max-width:68ch;font-size:15.5px;}

/* ---------- contact ---------- */
.reach{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(3,1fr);}
@media(max-width:720px){.reach{grid-template-columns:1fr;}}
.reach a{
  background:var(--panel);padding:26px;text-decoration:none;display:grid;gap:6px;align-content:start;
}
.reach a:hover{background:var(--panel-2);}
.reach .k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.reach .v{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);word-break:break-word;}
.reach .m{font-size:14px;color:var(--muted);}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--rule);background:var(--panel);padding:44px 0 54px;margin-top:0;}
.foot-grid{display:flex;gap:36px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;}
.foot-nav{display:flex;gap:22px;flex-wrap:wrap;}
.foot-nav a{font-size:14.5px;font-weight:600;color:var(--muted);text-decoration:none;}
.foot-nav a:hover{color:var(--ink);}
.legalese{margin-top:30px;font-size:13px;color:var(--faint);max-width:70ch;display:grid;gap:7px;}

/* ---------- hero word cycler ---------- */
.hero-h1{font-size:clamp(38px,6.4vw,68px);line-height:1.06;}
.hero-h1 > span{display:block;}
.hero-h1 .hl-b{min-height:1.06em;color:var(--teal);}
.hero-h1 .typed{
  background-image:linear-gradient(to top,var(--teal-soft) 0,var(--teal-soft) .34em,transparent .34em);
  padding:0 .06em .02em 0;
}
.caret{
  display:inline-block;width:.055em;height:.78em;background:var(--blue);
  margin-left:.05em;vertical-align:-.04em;
  animation:mp-blink 1.05s step-end infinite;
}
@keyframes mp-blink{0%,100%{opacity:1}50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
