/* JUJUME design system */

:root{
  --c-ink-900:#0E0E0E;
  --c-ink-850:#111111;
  --c-ink-800:#141414;
  --c-ink-700:#1B1B1A;
  --c-paper-100:#ECE9DF;
  --c-paper-200:#E4E0D4;
  --c-paper-300:#D8D3C4;
  --c-cream-50:#F2EFE7;
  --c-lavender-400:#8E97D9;
  --c-lavender-300:#A7AEE4;
  --c-grey-500:#6E6E68;

  --bg-base:var(--c-ink-900);
  --bg-surface:var(--c-paper-100);
  --bg-elevated:var(--c-cream-50);
  --text-primary:var(--c-paper-100);
  --text-on-light:var(--c-ink-800);
  --text-secondary:var(--c-grey-500);
  --text-on-dark-muted:#9C9C95;
  --border:rgba(20,20,20,.18);
  --border-soft:rgba(20,20,20,.10);
  --border-strong:rgba(20,20,20,.32);
  --border-dark:rgba(236,233,223,.16);
  --border-dark-soft:rgba(236,233,223,.09);
  --border-dark-strong:rgba(236,233,223,.30);
  --accent:var(--c-lavender-400);
  --success:#3FA66A;
  --success-on-dark:#74D4A0;
  --error:#C8503A;
  --error-on-dark:#EA9A85;

  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-serif:"Playfair Display","Times New Roman",Georgia,serif;
  --font-body:"Archivo","Helvetica Neue",Arial,sans-serif;

  --fs-display:clamp(2.85rem,8.2vw,6.75rem);
  --fs-h1:clamp(2.35rem,6.2vw,5rem);
  --fs-h2:clamp(1.9rem,4.4vw,3.4rem);
  --fs-h3:clamp(1.3rem,2.2vw,1.8rem);
  --fs-h4:clamp(1.05rem,1.5vw,1.3rem);
  --fs-body:clamp(1rem,1.05vw,1.0625rem);
  --fs-lead:clamp(1.0625rem,1.35vw,1.3125rem);
  --fs-label:.6875rem;
  --fs-caption:.8125rem;

  --container:1280px;
  --container-narrow:960px;
  --pad-x:clamp(20px,4vw,40px);
  --section-y:clamp(68px,9.5vw,148px);
  --section-y-tight:clamp(52px,6.5vw,96px);

  --radius-sm:6px;
  --radius-md:12px;
  --radius-lg:20px;
  --radius-pill:999px;

  --shadow-sm:0 2px 8px rgba(0,0,0,.16);
  --shadow-md:0 10px 30px rgba(0,0,0,.26);
  --shadow-paper:0 18px 46px rgba(20,20,20,.14);

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --dur-fast:150ms;
  --dur-base:260ms;

  --nav-h:76px;
}

*{box-sizing:border-box;}
::selection{background:var(--c-lavender-400);color:var(--c-ink-900);}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--bg-base);
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.55;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  font-variant-numeric:tabular-nums;
}

img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font-family:inherit;}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}

/* layout primitives */

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad-x);}
.container--narrow{max-width:var(--container-narrow);}
.section{padding-block:var(--section-y);position:relative;scroll-margin-top:calc(var(--nav-h) + 16px);}
.section--tight{padding-block:var(--section-y-tight);}
.surface{background:var(--bg-surface);color:var(--text-on-light);}
.surface-alt{background:var(--bg-elevated);color:var(--text-on-light);}
.dark{background:var(--bg-base);color:var(--text-primary);}
.dark-raised{background:var(--c-ink-800);color:var(--text-primary);}

.hairline-top{border-top:1px solid var(--border);}
.dark .hairline-top,.dark-raised .hairline-top{border-top-color:var(--border-dark);}

/* type */

.eyebrow{
  font:600 var(--fs-label)/1.2 var(--font-body);
  text-transform:uppercase;letter-spacing:.2em;
  color:var(--text-secondary);
  display:inline-flex;align-items:center;gap:.7em;
}
.dark .eyebrow,.dark-raised .eyebrow{color:var(--text-on-dark-muted);}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;opacity:.55;display:inline-block;flex:none;}
.eyebrow--bare::before{display:none;}

.serif{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;}
.serif-i{font-family:var(--font-serif);font-weight:500;font-style:italic;letter-spacing:-.012em;}

.display{
  font-family:var(--font-display);font-weight:900;
  font-size:var(--fs-display);line-height:.92;letter-spacing:-.028em;
  text-transform:uppercase;
}
.display .serif,.display .serif-i{font-weight:500;text-transform:none;}

.h1{
  font-family:var(--font-display);font-weight:900;
  font-size:var(--fs-h1);line-height:.94;letter-spacing:-.025em;text-transform:uppercase;
}
.h1 .serif,.h1 .serif-i{font-weight:500;text-transform:none;}

.h2{
  font-family:var(--font-display);font-weight:900;
  font-size:var(--fs-h2);line-height:1;letter-spacing:-.02em;text-transform:uppercase;
}
.h2 .serif,.h2 .serif-i{font-weight:500;text-transform:none;}

.h3{font:700 var(--fs-h3)/1.14 var(--font-display);letter-spacing:-.012em;}
.h4{font:700 var(--fs-h4)/1.2 var(--font-display);letter-spacing:-.005em;}
.h5{font:800 .95rem/1.25 var(--font-display);letter-spacing:.01em;text-transform:uppercase;}

.lead{font-size:var(--fs-lead);line-height:1.56;max-width:64ch;color:var(--text-on-light);}
.dark .lead,.dark-raised .lead{color:var(--c-paper-200);}

.prose p{max-width:68ch;line-height:1.68;color:var(--text-on-light);}
.prose p + p{margin-top:1.15em;}
.prose strong{font-weight:700;}
.dark .prose p,.dark-raised .prose p{color:var(--c-paper-200);}
.prose--wide p{max-width:76ch;}

.muted{color:var(--text-secondary);}
.dark .muted,.dark-raised .muted{color:var(--text-on-dark-muted);}
.caption{font-size:var(--fs-caption);line-height:1.55;color:var(--text-secondary);}
.dark .caption,.dark-raised .caption{color:var(--text-on-dark-muted);}
.label{font:600 var(--fs-label)/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--text-secondary);}
.dark .label,.dark-raised .label{color:var(--text-on-dark-muted);}

.accent{color:var(--c-lavender-400);}

/* buttons */

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  border:0;border-radius:var(--radius-pill);
  padding:.95rem 1.65rem;min-height:46px;
  background:var(--c-cream-50);color:var(--c-ink-900);
  font:700 .8rem/1 var(--font-body);
  text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;cursor:pointer;
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.btn .glyph{font-size:1.05em;line-height:0;transition:transform var(--dur-base) var(--ease);}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn:hover .glyph{transform:translate(2px,-2px);}
.btn:active{transform:translateY(0);}
.btn:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:3px;}
.btn--lg{padding:1.1rem 2rem;font-size:.86rem;}
.btn--ghost{background:transparent;color:var(--text-primary);box-shadow:inset 0 0 0 1.5px var(--border-dark-strong);}
.btn--ghost:hover{background:rgba(236,233,223,.06);box-shadow:inset 0 0 0 1.5px var(--border-dark-strong),var(--shadow-sm);}
.surface .btn--ghost,.surface-alt .btn--ghost{color:var(--text-on-light);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.surface .btn--ghost:hover,.surface-alt .btn--ghost:hover{background:rgba(20,20,20,.045);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.btn--dark{background:var(--c-ink-900);color:var(--c-paper-100);}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;}

.textlink{
  display:inline-flex;align-items:center;gap:.5rem;
  font:700 .76rem/1 var(--font-body);text-transform:uppercase;letter-spacing:.12em;
  color:inherit;padding-bottom:.3rem;border-bottom:1.5px solid currentColor;
  transition:gap var(--dur-base) var(--ease),color var(--dur-fast) var(--ease);
}
.textlink:hover{gap:.85rem;color:var(--c-lavender-400);}
.textlink:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:4px;}

.tag{
  display:inline-flex;align-items:center;gap:.5em;
  font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.12em;
  padding:.5em .75em;border-radius:var(--radius-sm);
  border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;
}
.dark .tag,.dark-raised .tag{border-color:var(--border-dark);color:var(--text-on-dark-muted);}
.tag--accent{border-color:rgba(142,151,217,.52);color:#6E78C4;}
.dark .tag--accent,.dark-raised .tag--accent{border-color:rgba(142,151,217,.45);color:var(--c-lavender-300);}
.tag--done{border-color:rgba(63,166,106,.48);color:var(--success);}
.dark .tag--done,.dark-raised .tag--done{border-color:rgba(116,212,160,.4);color:var(--success-on-dark);}
.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;}

.pill{
  display:inline-flex;align-items:center;gap:.55em;
  font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.12em;
  border:1px solid var(--border-dark);border-radius:var(--radius-pill);
  padding:.55em .85em;color:var(--c-paper-100);
  transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.pill:hover{border-color:var(--border-dark-strong);background:rgba(236,233,223,.05);}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--c-lavender-400);flex:none;}

/* nav */

.nav{
  position:sticky;top:0;z-index:40;
  background:var(--c-ink-900);
  border-bottom:1px solid transparent;
  transition:border-color var(--dur-base) var(--ease-io);
}
.nav.is-stuck{border-bottom-color:var(--border-dark);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--nav-h);}
.brand{display:flex;align-items:center;gap:.9rem;min-width:0;}
.brand__logo{display:flex;align-items:center;gap:.65rem;color:var(--c-paper-100);}
.brand__logo svg{width:30px;height:30px;flex:none;}
.brand__name{font:900 1.14rem/1 var(--font-display);letter-spacing:.055em;text-transform:uppercase;color:var(--c-paper-100);}
.brand__rule{width:1px;height:26px;background:var(--border-dark);flex:none;}
.brand__desc{font:600 var(--fs-label)/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--text-on-dark-muted);white-space:nowrap;}

.nav__links{display:flex;align-items:center;gap:clamp(1.1rem,2.2vw,2.2rem);}
.nav-link{
  position:relative;display:inline-block;
  font:600 .73rem/1 var(--font-body);text-transform:uppercase;letter-spacing:.11em;
  color:var(--c-paper-100);padding:.45rem 0;
  transition:color var(--dur-fast) var(--ease);
}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--c-lavender-400);
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease);
}
.nav-link:hover{color:var(--c-lavender-300);}
.nav-link:hover::after{transform:scaleX(1);}
.nav-link.is-active{color:var(--c-paper-100);}
.nav-link.is-active::after{transform:scaleX(1);background:var(--c-paper-100);}
.nav-link:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:4px;border-radius:2px;}

.nav__right{display:flex;align-items:center;gap:1rem;}
.nav__toggle{
  display:none;width:46px;height:46px;flex:none;
  border:1px solid var(--border-dark);border-radius:var(--radius-sm);
  background:transparent;color:var(--c-paper-100);cursor:pointer;
  align-items:center;justify-content:center;
}
.nav__toggle:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:3px;}
.nav__toggle .bars{display:block;width:19px;height:12px;position:relative;}
.nav__toggle .bars::before,.nav__toggle .bars::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;}
.nav__toggle .bars::before{top:0;}
.nav__toggle .bars::after{bottom:0;}

.menu{
  position:fixed;inset:0;z-index:60;background:var(--c-ink-900);
  display:flex;flex-direction:column;
  transform:translateY(-100%);transition:transform var(--dur-base) var(--ease-io);
  visibility:hidden;
}
.menu.is-open{transform:translateY(0);visibility:visible;}
.menu__inner{display:flex;flex-direction:column;flex:1;}
.menu__top{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);}
.menu__close{
  width:46px;height:46px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);
  background:transparent;color:var(--c-paper-100);cursor:pointer;font-size:1.5rem;line-height:1;
}
.menu__close:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:3px;}
.menu__links{display:flex;flex-direction:column;margin-top:clamp(1rem,5vh,2.5rem);border-top:1px solid var(--border-dark);}
.menu__links a{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  font:900 clamp(1.8rem,9vw,2.9rem)/1.1 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;
  color:var(--c-paper-100);padding:.5rem 0;border-bottom:1px solid var(--border-dark);
  transition:color var(--dur-fast) var(--ease),padding-left var(--dur-base) var(--ease);
}
.menu__links a .idx{font:600 .72rem/1 var(--font-body);letter-spacing:.14em;color:var(--text-on-dark-muted);}
.menu__links a:hover,.menu__links a.is-active{color:var(--c-lavender-400);padding-left:.5rem;}
.menu__foot{margin-top:auto;padding-block:1.6rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;}

.skip{
  position:absolute;left:-9999px;top:0;z-index:80;
  background:var(--c-cream-50);color:var(--c-ink-900);padding:.8rem 1.2rem;border-radius:var(--radius-sm);
  font:700 .8rem/1 var(--font-body);text-transform:uppercase;letter-spacing:.07em;
}
.skip:focus{left:1rem;top:1rem;}

/* hero */

.hero{position:relative;overflow:hidden;padding-top:clamp(44px,6vw,82px);padding-bottom:clamp(52px,7vw,104px);}
.hero__wash{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58% 46% at 50% -4%,rgba(142,151,217,.17),transparent 68%),
    radial-gradient(38% 34% at 88% 24%,rgba(142,151,217,.07),transparent 70%);
}
.hero__grid-lines{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(to right,var(--border-dark-soft) 1px,transparent 1px);
  background-size:calc(100% / 6) 100%;
}
.hero__inner{position:relative;z-index:1;}

.hero-home{text-align:left;}
.hero-home__top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:end;}
.hero-home h1{color:var(--c-paper-100);max-width:17ch;margin-top:1.4rem;}
.hero-home__side{padding-bottom:.4rem;}
.hero-home__side p{color:var(--c-paper-200);font-size:var(--fs-lead);line-height:1.6;max-width:42ch;}
.hero-home__cta{margin-top:2rem;}
.hero-home__rail{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem 2rem;
  margin-top:clamp(2.4rem,5vw,3.6rem);padding-top:1.5rem;border-top:1px solid var(--border-dark);
  font:600 var(--fs-label)/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.15em;
  color:var(--text-on-dark-muted);
}
.hero-home__rail span{display:block;}
.hero-home__rail b{display:block;margin-top:.5rem;color:var(--c-paper-100);font-weight:700;letter-spacing:.08em;}

.page-hero{position:relative;overflow:hidden;padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px);}
.page-hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:end;}
.page-hero h1{color:var(--c-paper-100);margin-top:1.3rem;max-width:20ch;}
.page-hero__lead{color:var(--c-paper-200);font-size:var(--fs-lead);line-height:1.6;max-width:46ch;}
.page-hero__index{
  display:flex;align-items:center;gap:.8rem;
  font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--text-on-dark-muted);
}
.page-hero__index .n{color:var(--c-lavender-400);font-weight:700;}
.page-hero__facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
  margin-top:clamp(2.4rem,5vw,3.4rem);background:var(--border-dark);border:1px solid var(--border-dark);
}
.page-hero__facts div{background:var(--c-ink-900);padding:1.2rem 1.3rem;}
.page-hero__facts dt{font:600 var(--fs-label)/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--text-on-dark-muted);}
.page-hero__facts dd{margin-top:.5rem;font:700 1.0625rem/1.35 var(--font-display);color:var(--c-paper-100);letter-spacing:-.005em;}

/* orbit figure, css only */

.orbit{
  --orbit-line:rgba(236,233,223,.22);
  --orbit-accent:rgba(142,151,217,.5);
  --orbit-core-a:#1d1d16;
  --orbit-core-b:#0d0d0a;
  --orbit-core-edge:rgba(236,233,223,.3);
  position:relative;aspect-ratio:1;width:100%;max-width:400px;margin-inline:auto;
}
.surface .orbit,.surface-alt .orbit{
  --orbit-line:rgba(20,20,20,.22);
  --orbit-accent:rgba(142,151,217,.85);
  --orbit-core-edge:rgba(20,20,20,.35);
}
.orbit__ring{
  position:absolute;top:50%;left:50%;border:1px solid var(--orbit-line);border-radius:50%;
  transform:translate(-50%,-50%) rotateX(68deg) rotateZ(-18deg);
}
.orbit__ring:nth-child(1){width:98%;height:98%;}
.orbit__ring:nth-child(2){width:72%;height:72%;border-color:var(--orbit-accent);border-width:1.5px;transform:translate(-50%,-50%) rotateX(62deg) rotateZ(14deg);}
.orbit__ring:nth-child(3){width:46%;height:46%;transform:translate(-50%,-50%) rotateX(72deg) rotateZ(-40deg);}
.orbit__core{
  position:absolute;top:50%;left:50%;width:26%;height:26%;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle at 34% 30%,var(--orbit-core-a),var(--orbit-core-b) 72%);
  border:1px solid var(--orbit-core-edge);
}
.orbit__cap{margin-top:1.4rem;text-align:center;}
.orbit__dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--c-lavender-400);}
.orbit__dot--a{top:16%;left:62%;}
.orbit__dot--b{top:50%;left:4%;background:var(--c-paper-200);}
.orbit__dot--c{top:78%;left:70%;width:5px;height:5px;background:var(--error-on-dark);}
.orbit__dot--d{top:33%;left:88%;width:4px;height:4px;background:var(--c-paper-300);}

/* readout panel */

.readout{
  border:1px solid var(--border-dark);background:var(--c-ink-850);
}
.readout__head{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem;
  padding:1.1rem 1.4rem;border-bottom:1px solid var(--border-dark);
}
.readout__head h2,.readout__head p.h5{color:var(--c-paper-100);}
.readout__rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border-dark);}
.readout__cell{background:var(--c-ink-850);padding:1.5rem 1.4rem;}
.readout__cell .fig{
  font:800 clamp(1.7rem,3.2vw,2.5rem)/1 var(--font-display);letter-spacing:-.025em;color:var(--c-paper-100);
  display:flex;align-items:baseline;gap:.25rem;
}
.readout__cell .fig .unit{font-size:.44em;font-weight:700;letter-spacing:.02em;color:var(--c-lavender-300);}
.readout__cell .k{margin-top:.7rem;font:600 var(--fs-label)/1.35 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--c-paper-200);}
.readout__cell .d{margin-top:.45rem;font-size:var(--fs-caption);line-height:1.5;color:var(--text-on-dark-muted);}
.readout__foot{padding:.9rem 1.4rem;border-top:1px solid var(--border-dark);font-size:var(--fs-caption);color:var(--text-on-dark-muted);}

/* capability strip */

.strip{border-block:1px solid var(--border-dark);background:var(--c-ink-850);}
.strip__inner{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 2.2rem;padding-block:1.15rem;}
.strip__item{
  display:inline-flex;align-items:center;gap:.65rem;
  font:700 .8rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--c-paper-100);
}
.strip__item span{width:5px;height:5px;border-radius:50%;background:var(--c-lavender-400);flex:none;}

/* section heads */

.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,4rem);align-items:end;margin-bottom:clamp(2.2rem,4.5vw,3.6rem);}
.sec-head__title{margin-top:.9rem;max-width:22ch;}
.sec-head__aside p{color:var(--text-secondary);max-width:50ch;line-height:1.65;}
.dark .sec-head__aside p,.dark-raised .sec-head__aside p{color:var(--text-on-dark-muted);}
.sec-head--center{grid-template-columns:1fr;justify-items:center;text-align:center;}
.sec-head--center .sec-head__title{max-width:28ch;}
.sec-head--stack{grid-template-columns:1fr;}

/* grids and cards */

.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.4rem);}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.4rem);}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,2.4vw,2rem);}
.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5vw,5rem);align-items:start;}
.split--wide-right{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.sticky{position:sticky;top:calc(var(--nav-h) + 28px);}

.card{
  border:1px solid var(--border);background:var(--bg-surface);
  padding:clamp(1.4rem,2.4vw,2rem);
  display:flex;flex-direction:column;gap:.8rem;
  transition:background var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease);
}
.card:hover{background:var(--bg-elevated);border-color:var(--border-strong);}
.card__n{font:800 .78rem/1 var(--font-display);letter-spacing:.12em;color:var(--c-lavender-400);}
.card h3{color:var(--text-on-light);}
.card p{font-size:.96rem;line-height:1.6;color:var(--text-secondary);}
.dark .card,.dark-raised .card{background:var(--c-ink-850);border-color:var(--border-dark);}
.dark .card:hover,.dark-raised .card:hover{background:var(--c-ink-800);border-color:var(--border-dark-strong);}
.dark .card h3,.dark-raised .card h3{color:var(--c-paper-100);}
.dark .card p,.dark-raised .card p{color:var(--text-on-dark-muted);}

.cardset{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);}
.cardset .card{border:0;}
.dark .cardset,.dark-raised .cardset{background:var(--border-dark);border-color:var(--border-dark);}
.cardset--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cardset--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cardset--2{grid-template-columns:repeat(2,minmax(0,1fr));}

/* numbered feature list */

.numlist{border-top:1px solid var(--border);}
.dark .numlist,.dark-raised .numlist{border-top-color:var(--border-dark);}
.numlist__item{
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.25fr);
  gap:clamp(1.2rem,3vw,3rem);align-items:start;
  padding-block:clamp(1.6rem,3vw,2.4rem);border-bottom:1px solid var(--border);
}
.dark .numlist__item,.dark-raised .numlist__item{border-bottom-color:var(--border-dark);}
.numlist__n{font:800 .78rem/1.2 var(--font-body);letter-spacing:.14em;color:var(--c-lavender-400);padding-top:.45rem;}
.numlist__title h3{color:var(--text-on-light);}
.dark .numlist__title h3,.dark-raised .numlist__title h3{color:var(--c-paper-100);}
.numlist__title .label{margin-top:.6rem;display:block;}
.numlist__body p{color:var(--text-secondary);line-height:1.68;}
.dark .numlist__body p,.dark-raised .numlist__body p{color:var(--c-paper-200);}
.numlist__body p + p{margin-top:.9em;}

/* definition rows */

.defrows{border-top:1px solid var(--border);}
.dark .defrows,.dark-raised .defrows{border-top-color:var(--border-dark);}
.defrow{
  display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);
  padding-block:1.15rem;border-bottom:1px solid var(--border);
}
.dark .defrow,.dark-raised .defrow{border-bottom-color:var(--border-dark);}
.defrow dt{font:700 .9rem/1.35 var(--font-display);letter-spacing:-.005em;color:var(--text-on-light);text-transform:uppercase;}
.dark .defrow dt,.dark-raised .defrow dt{color:var(--c-paper-100);}
.defrow dd{color:var(--text-secondary);line-height:1.6;font-size:.98rem;}
.dark .defrow dd,.dark-raised .defrow dd{color:var(--text-on-dark-muted);}

/* bullet lists */

.ticks{display:grid;gap:.7rem;}
.ticks li{
  position:relative;padding-left:1.5rem;font-size:.97rem;line-height:1.6;color:var(--text-secondary);
}
.ticks li::before{
  content:"";position:absolute;left:0;top:.6em;width:8px;height:1.5px;background:var(--c-lavender-400);
}
.dark .ticks li,.dark-raised .ticks li{color:var(--c-paper-200);}
.ticks--tight li{font-size:.92rem;}

.chiplist{display:flex;flex-wrap:wrap;gap:.5rem;}
.chiplist li{
  font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.11em;
  color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.55em .85em;
}
.dark .chiplist li,.dark-raised .chiplist li{color:var(--text-on-dark-muted);border-color:var(--border-dark);}

/* stats */

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);}
.stats__cell{background:var(--bg-surface);padding:clamp(1.3rem,2.4vw,1.8rem);}
.stats__cell .fig{font:800 clamp(1.8rem,3.4vw,2.6rem)/1 var(--font-display);letter-spacing:-.03em;color:var(--text-on-light);}
.stats__cell .k{margin-top:.6rem;font:600 var(--fs-label)/1.35 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--text-on-light);}
.stats__cell .d{margin-top:.4rem;font-size:var(--fs-caption);line-height:1.5;color:var(--text-secondary);}
.dark .stats,.dark-raised .stats{background:var(--border-dark);border-color:var(--border-dark);}
.dark .stats__cell,.dark-raised .stats__cell{background:var(--c-ink-850);}
.dark .stats__cell .fig,.dark .stats__cell .k,.dark-raised .stats__cell .fig,.dark-raised .stats__cell .k{color:var(--c-paper-100);}
.dark .stats__cell .d,.dark-raised .stats__cell .d{color:var(--text-on-dark-muted);}

/* density bars */

.bars{display:grid;gap:1.15rem;margin-top:.4rem;}
.bar__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem;}
.bar__name{font:700 .88rem/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text-on-light);}
.bar__val{font:600 .78rem/1 var(--font-body);letter-spacing:.1em;color:var(--text-secondary);}
.bar__track{height:6px;background:rgba(20,20,20,.1);border-radius:var(--radius-pill);overflow:hidden;}
.bar__fill{height:100%;background:var(--c-lavender-400);border-radius:var(--radius-pill);}
.bar__fill--muted{background:rgba(20,20,20,.3);}
.bar__note{margin-top:.5rem;font-size:var(--fs-caption);line-height:1.5;color:var(--text-secondary);}

/* quote */

.quote{
  border-left:2px solid var(--c-lavender-400);padding-left:clamp(1.2rem,2.5vw,2rem);
  max-width:46ch;
}
.quote p{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.3;letter-spacing:-.012em;color:var(--text-on-light);}
.dark .quote p,.dark-raised .quote p{color:var(--c-paper-100);}
.quote .label{margin-top:1.1rem;display:block;}

/* table */

.table-wrap{overflow-x:auto;border:1px solid var(--border);}
.dark .table-wrap,.dark-raised .table-wrap{border-color:var(--border-dark);}
.table{min-width:660px;font-size:.94rem;}
.table th,.table td{text-align:left;padding:1rem 1.15rem;border-bottom:1px solid var(--border);vertical-align:top;}
.table thead th{
  font:600 var(--fs-label)/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.14em;
  color:var(--text-secondary);background:var(--bg-elevated);white-space:nowrap;
}
.table tbody th{font:700 .95rem/1.4 var(--font-display);color:var(--text-on-light);width:24%;}
.table td{color:var(--text-secondary);line-height:1.55;}
.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0;}
.table tbody tr:hover td,.table tbody tr:hover th{background:rgba(20,20,20,.025);}
.dark .table th,.dark .table td,.dark-raised .table th,.dark-raised .table td{border-bottom-color:var(--border-dark);}
.dark .table thead th,.dark-raised .table thead th{background:var(--c-ink-800);color:var(--text-on-dark-muted);}
.dark .table tbody th,.dark-raised .table tbody th{color:var(--c-paper-100);}
.dark .table td,.dark-raised .table td{color:var(--text-on-dark-muted);}
.dark .table tbody tr:hover td,.dark .table tbody tr:hover th,.dark-raised .table tbody tr:hover td,.dark-raised .table tbody tr:hover th{background:rgba(236,233,223,.03);}

/* accordion rows */

.rows{border-top:1px solid var(--border);}
.dark .rows,.dark-raised .rows{border-top-color:var(--border-dark);}
.row{border-bottom:1px solid var(--border);}
.dark .row,.dark-raised .row{border-bottom-color:var(--border-dark);}
.row__btn{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;color:inherit;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;
  gap:clamp(1rem,2.5vw,2.2rem);padding:clamp(1.1rem,2.1vw,1.6rem) 0;
}
.row__btn:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:-2px;}
.row__idx{font:600 .78rem/1 var(--font-body);letter-spacing:.12em;color:var(--text-secondary);}
.dark .row__idx,.dark-raised .row__idx{color:var(--text-on-dark-muted);}
.row__title{font:700 var(--fs-h3)/1.1 var(--font-display);letter-spacing:-.015em;transition:transform var(--dur-base) var(--ease);}
.row__btn:hover .row__title{transform:translateX(7px);}
.row__meta{font:600 var(--fs-label)/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.13em;color:var(--text-secondary);text-align:right;}
.dark .row__meta,.dark-raised .row__meta{color:var(--text-on-dark-muted);}
.row__sign{
  width:34px;height:34px;flex:none;border:1px solid var(--border);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:background var(--dur-base) var(--ease),color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease);
}
.dark .row__sign,.dark-raised .row__sign{border-color:var(--border-dark);}
.row__sign::before,.row__sign::after{content:"";position:absolute;background:currentColor;transition:transform var(--dur-base) var(--ease-io);}
.row__sign::before{width:11px;height:1.5px;}
.row__sign::after{width:1.5px;height:11px;}
.row__btn[aria-expanded="true"] .row__sign{background:var(--c-ink-900);color:var(--c-paper-100);border-color:var(--c-ink-900);}
.dark .row__btn[aria-expanded="true"] .row__sign,.dark-raised .row__btn[aria-expanded="true"] .row__sign{background:var(--c-paper-100);color:var(--c-ink-900);border-color:var(--c-paper-100);}
.row__btn[aria-expanded="true"] .row__sign::after{transform:scaleY(0);}
.row__panel{overflow:hidden;height:0;transition:height var(--dur-base) var(--ease-io);}
.row__panel-inner{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.4rem,3.5vw,3rem);
  padding:0 0 clamp(1.5rem,3vw,2.4rem) clamp(0px,3vw,52px);
}
.row__panel-inner p{color:var(--text-secondary);line-height:1.68;max-width:62ch;}
.row__panel-inner p + p{margin-top:.95em;}
.dark .row__panel-inner p,.dark-raised .row__panel-inner p{color:var(--c-paper-200);}

/* milestone rows */

.mrows{border-top:1px solid var(--border);}
.dark .mrows,.dark-raised .mrows{border-top-color:var(--border-dark);}
.mrow{
  display:grid;grid-template-columns:auto minmax(0,.9fr) minmax(0,1.3fr) auto;
  gap:clamp(1rem,2.5vw,2.2rem);align-items:center;
  padding-block:clamp(1rem,1.9vw,1.4rem);border-bottom:1px solid var(--border);
}
.dark .mrow,.dark-raised .mrows{border-top:1px solid var(--border);}
.dark .mrows,.dark-raised .mrows{border-top-color:var(--border-dark);}
.mrow{border-bottom-color:var(--border-dark);}
.mrow__idx{font:600 .78rem/1 var(--font-body);letter-spacing:.12em;color:var(--text-secondary);}
.dark .mrow__idx,.dark-raised .mrow__idx{color:var(--text-on-dark-muted);}
.mrow__title{font:700 var(--fs-h4)/1.25 var(--font-display);letter-spacing:-.005em;color:var(--text-on-light);}
.dark .mrow__title,.dark-raised .mrow__title{color:var(--c-paper-100);}
.mrow__desc{font-size:var(--fs-caption);line-height:1.55;color:var(--text-secondary);}
.dark .mrow__desc,.dark-raised .mrow__desc{color:var(--text-on-dark-muted);}

/* phase blocks */

.phase{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.2rem,3vw,2.5rem);padding-block:clamp(1.5rem,3vw,2.2rem);border-top:1px solid var(--border);}
.dark .phase,.dark-raised .phase{border-top-color:var(--border-dark);}
.phase__n{
  font:800 clamp(2rem,4vw,3.2rem)/1 var(--font-display);letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1.2px var(--border-strong);min-width:3ch;
}
.dark .phase__n,.dark-raised .phase__n{-webkit-text-stroke-color:var(--border-dark-strong);}
.phase__body h3{color:var(--text-on-light);}
.dark .phase__body h3,.dark-raised .phase__body h3{color:var(--c-paper-100);}
.phase__body p{margin-top:.7rem;color:var(--text-secondary);line-height:1.65;max-width:62ch;}
.dark .phase__body p,.dark-raised .phase__body p{color:var(--c-paper-200);}
.phase__meta{margin-top:1rem;}

/* feature blocks */

.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.8rem,4.5vw,4.5rem);align-items:start;padding-block:clamp(2.2rem,4.5vw,3.8rem);border-top:1px solid var(--border);}
.dark .feature,.dark-raised .feature{border-top-color:var(--border-dark);}
.feature:first-of-type{border-top:0;padding-top:0;}
.feature--rev .feature__text{order:2;}
.feature__kicker{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;}
.feature__kicker .n{font:800 .82rem/1 var(--font-display);letter-spacing:.1em;color:var(--c-lavender-400);}
.feature h3{margin-bottom:1rem;}
.feature__panel{border:1px solid var(--border);background:var(--bg-elevated);padding:clamp(1.3rem,2.4vw,1.9rem);}
.dark .feature__panel,.dark-raised .feature__panel{border-color:var(--border-dark);background:var(--c-ink-850);}
.feature__panel .h5{color:var(--text-on-light);margin-bottom:1rem;}
.dark .feature__panel .h5,.dark-raised .feature__panel .h5{color:var(--c-paper-100);}

/* callout */

.callout{
  border:1px solid var(--border);background:var(--bg-elevated);
  padding:clamp(1.5rem,3vw,2.4rem);display:grid;gap:1rem;
}
.dark .callout,.dark-raised .callout{border-color:var(--border-dark);background:var(--c-ink-850);}
.callout h3{color:var(--text-on-light);}
.dark .callout h3,.dark-raised .callout h3{color:var(--c-paper-100);}
.callout p{color:var(--text-secondary);line-height:1.65;max-width:60ch;}
.dark .callout p,.dark-raised .callout p{color:var(--c-paper-200);}

/* cta band */

.cta{position:relative;overflow:hidden;padding-block:clamp(60px,8vw,118px);}
.cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:end;}
.cta h2{color:var(--c-paper-100);max-width:17ch;}
.cta h2.display{font-size:var(--fs-h1);}
.cta p{color:var(--c-paper-200);font-size:var(--fs-lead);line-height:1.6;max-width:42ch;}
.cta__actions{margin-top:1.8rem;}

/* contact page */

.contact__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.2rem,5vw,5rem);align-items:start;}
.infolist{display:grid;gap:1px;background:var(--border-dark);border:1px solid var(--border-dark);}
.infolist__item{background:var(--c-ink-850);padding:1.3rem 1.4rem;}
.infolist__item .k{font:600 var(--fs-label)/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--text-on-dark-muted);}
.infolist__item .v{margin-top:.55rem;font:700 1.0625rem/1.45 var(--font-display);color:var(--c-paper-100);letter-spacing:-.005em;}
.infolist__item .v a{transition:color var(--dur-fast) var(--ease);}
.infolist__item .v a:hover{color:var(--c-lavender-300);}
.infolist__item address{font-style:normal;}
.infolist__item .n{margin-top:.5rem;font-size:var(--fs-caption);line-height:1.5;color:var(--text-on-dark-muted);}

.form{border:1px solid var(--border-dark);background:var(--c-ink-850);padding:clamp(1.5rem,3.2vw,2.6rem);}
.form__head{margin-bottom:2rem;}
.form__head h2{color:var(--c-paper-100);}
.form__head p{margin-top:.8rem;color:var(--text-on-dark-muted);font-size:var(--fs-caption);line-height:1.6;max-width:52ch;}
.field{margin-bottom:1.6rem;}
.field label{display:block;font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:var(--text-on-dark-muted);margin-bottom:.65rem;}
.field label .req{color:var(--c-lavender-400);}
.field label .opt{opacity:.65;letter-spacing:.1em;}
.input,.select,.textarea{
  width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--border-dark);
  padding:.7rem 0;font:400 1.0625rem/1.45 var(--font-body);color:var(--c-paper-100);border-radius:0;
  transition:border-color var(--dur-fast) var(--ease);
}
.input::placeholder,.textarea::placeholder{color:var(--text-on-dark-muted);opacity:.75;}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-cream-50);}
.textarea{resize:vertical;min-height:130px;}
.select{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:1.8rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239C9C95' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .1rem center;
}
.select option{background:var(--c-ink-800);color:var(--c-paper-100);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border-color:var(--error-on-dark);}
.field__err{display:none;color:var(--error-on-dark);font-size:var(--fs-caption);margin-top:.5rem;}
.field.invalid .field__err{display:block;}
.form__actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.8rem;border-top:1px solid var(--border-dark);}
.form__note{font-size:var(--fs-caption);color:var(--text-on-dark-muted);max-width:32ch;line-height:1.5;}
.form__sent{
  display:none;border:1px solid var(--border-dark);background:var(--c-ink-850);
  padding:clamp(1.6rem,3.2vw,2.6rem);
}
.form__sent.is-shown{display:block;}
.form.is-hidden{display:none;}
.form__sent .mark{
  width:46px;height:46px;border-radius:50%;border:1.5px solid var(--success-on-dark);
  display:flex;align-items:center;justify-content:center;color:var(--success-on-dark);
  font-size:1.2rem;line-height:1;margin-bottom:1.3rem;
}
.form__sent h2{color:var(--c-paper-100);}
.form__sent p{margin-top:.9rem;color:var(--c-paper-200);line-height:1.65;max-width:48ch;}
.form__sent button{
  margin-top:1.5rem;background:none;border:0;cursor:pointer;color:var(--c-lavender-300);
  font:700 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.13em;padding:.4rem 0;
}
.form__sent button:focus-visible{outline:2px solid var(--c-lavender-400);outline-offset:3px;}

/* footer */

.footer{padding-block:clamp(3rem,5.5vw,5rem) clamp(1.8rem,3vw,2.6rem);border-top:1px solid var(--border-dark);}
.footer__top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start;}
.footer__brand .brand__logo svg{width:34px;height:34px;}
.footer__brand .brand__name{font-size:1.4rem;}
.footer__tag{color:var(--c-paper-200);margin-top:1.2rem;max-width:36ch;line-height:1.6;font-size:.98rem;}
.footer__col h2{font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--text-on-dark-muted);margin-bottom:1.2rem;}
.footer__col ul{display:grid;gap:.75rem;}
.footer__col a{
  display:inline-flex;align-items:center;gap:.55rem;font-size:.98rem;color:var(--c-paper-100);
  transition:color var(--dur-fast) var(--ease),gap var(--dur-base) var(--ease);
}
.footer__col a .arr{color:var(--text-on-dark-muted);font-size:.78em;}
.footer__col a:hover{color:var(--c-lavender-300);gap:.8rem;}
.footer__col li span.flat{font-size:.98rem;color:var(--c-paper-200);}
.footer__bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:clamp(2.4rem,5vw,3.6rem);padding-top:1.5rem;border-top:1px solid var(--border-dark);
}
.footer__bar p{font:600 var(--fs-label)/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.13em;color:var(--text-on-dark-muted);}
.totop{display:inline-flex;align-items:center;gap:.7rem;font:600 var(--fs-label)/1 var(--font-body);text-transform:uppercase;letter-spacing:.13em;color:var(--text-on-dark-muted);transition:color var(--dur-fast) var(--ease);}
.totop:hover{color:var(--c-paper-100);}
.totop .box{
  width:34px;height:34px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.totop:hover .box{border-color:var(--border-dark-strong);background:rgba(236,233,223,.05);}

/* utility */

.mt-1{margin-top:.5rem;}
.mt-2{margin-top:1rem;}
.mt-3{margin-top:1.5rem;}
.mt-4{margin-top:2rem;}
.mt-6{margin-top:clamp(2rem,4vw,3.2rem);}
.mt-8{margin-top:clamp(2.6rem,5.5vw,4.4rem);}
.center{text-align:center;}
.nowrap{white-space:nowrap;}

/* responsive */

@media(max-width:1080px){
  .brand__rule,.brand__desc{display:none;}
  .nav__links{gap:1.1rem;}
  .cardset--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .numlist__item{grid-template-columns:auto minmax(0,1fr);}
  .numlist__body{grid-column:2;}
  .sticky{position:static;}
}
@media(max-width:900px){
  .nav__links{display:none;}
  .nav__toggle{display:inline-flex;}
  .nav__right .pill{display:none;}
  .hero-home__top,.page-hero__grid,.cta__inner,.split,.split--wide-right,.contact__grid{grid-template-columns:1fr;}
  .hero-home h1,.page-hero h1{max-width:24ch;}
  .feature{grid-template-columns:1fr;gap:1.6rem;}
  .feature--rev .feature__text{order:0;}
  .grid-3,.cardset--3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sec-head{grid-template-columns:1fr;}
  .row__panel-inner{grid-template-columns:1fr;padding-left:0;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1 / -1;}
}
@media(max-width:680px){
  .grid-2,.grid-3,.grid-4,.cardset--2,.cardset--3,.cardset--4{grid-template-columns:1fr;}
  .row__btn{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;}
  .row__meta{display:none;}
  .mrows{border-top:1px solid var(--border);}
.dark .mrows,.dark-raised .mrows{border-top-color:var(--border-dark);}
.mrow{grid-template-columns:auto minmax(0,1fr) auto;}
  .mrow__desc{display:none;}
  .field-row{grid-template-columns:1fr;gap:0;}
  .footer__top{grid-template-columns:1fr;}
  .footer__bar{flex-direction:column;align-items:flex-start;}
  .table{min-width:560px;}
  .hero__grid-lines{background-size:calc(100% / 3) 100%;}
  .phase{grid-template-columns:1fr;gap:.8rem;}
}
@media(max-width:420px){
  .brand__name{font-size:1rem;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

@media print{
  .nav,.menu,.cta,.footer__bar{display:none;}
  body{background:#fff;color:#000;}
}
