/* Sammantr shared styles. Layout: left-aligned editorial column; tiers and levels are laid out as progressions. */
:root{
  --ink:#14284B;--ink-2:#2A4170;--marigold:#D99A00;--paper:#F6F7FA;--card:#FFFFFF;
  --fg:#16213A;--muted:#56617A;--line:#DCE1EA;--on-ink:#F6F7FA;--btn-bg:#14284B;--btn-fg:#F6F7FA;--good:#1E7A4F;
  --display:"Spectral", Georgia, "Times New Roman", serif;
  --body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#0E1B33;--ink-2:#22365E;--marigold:#F0B429;--paper:#0B1426;--card:#121F38;
  --fg:#E6EAF2;--muted:#A3AEC4;--line:#26365A;--on-ink:#E6EAF2;--btn-bg:#F0B429;--btn-fg:#14284B;--good:#4CC38A;color-scheme:dark}}
:root[data-theme="dark"]{
  --ink:#0E1B33;--ink-2:#22365E;--marigold:#F0B429;--paper:#0B1426;--card:#121F38;
  --fg:#E6EAF2;--muted:#A3AEC4;--line:#26365A;--on-ink:#E6EAF2;--btn-bg:#F0B429;--btn-fg:#14284B;--good:#4CC38A;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.6}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
h1,h2,h3{font-family:var(--display);line-height:1.15;text-wrap:balance;margin:0}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:600}
h3{font-size:1.35rem;font-weight:600}
p{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold)}
.lede{font-size:1.15rem;color:var(--muted);max-width:62ch}
.stack{display:flex;flex-direction:column;gap:16px}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:36px;height:36px;flex:none}
.brand b{font-family:var(--display);font-size:1.35rem;font-weight:700;color:var(--fg);letter-spacing:.01em}
.brand i{font-style:normal;font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold);margin-left:2px}
nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:.95rem}
nav a{text-decoration:none;color:var(--muted);font-weight:500}
nav a:hover{color:var(--fg)}
.btn{display:inline-block;background:var(--btn-bg);color:var(--btn-fg);padding:12px 20px;border-radius:6px;text-decoration:none;border:0;font:inherit;font-weight:600;cursor:pointer}
nav a.btn{color:var(--btn-fg)}
.btn.alt{background:transparent;color:var(--fg);border:1.5px solid var(--fg)}
.btn.small{padding:8px 14px;font-size:.92rem}
.btn.gold{background:var(--marigold);color:#14284B}

section{padding-block:72px}
.band{background:var(--card);border-block:1px solid var(--line)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .lede{color:color-mix(in srgb,var(--on-ink) 80%, transparent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.two > *{min-width:0}

/* hero */
.hero{padding-block:72px 56px}
.hero .grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.hero .aside{font-size:.95rem;color:var(--muted)}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 70%, color-mix(in srgb,var(--marigold) 45%, transparent) 70%)}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero .copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.fit{border-left:3px solid var(--marigold);padding:4px 0 4px 20px;display:flex;flex-direction:column;gap:14px}
.fit div{display:flex;flex-direction:column}
.fit small,.details small{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fit span{font-family:var(--display);font-size:1.2rem;font-weight:600}

.signs{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.signs li{padding-left:28px;position:relative}
.signs li::before{content:"";position:absolute;left:0;top:.7em;width:16px;border-top:4px double var(--marigold)}

/* tiers */
.head{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tier{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:16px;min-width:0}
.tier.lead{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.tier.lead .for,.tier.lead li{color:color-mix(in srgb,var(--on-ink) 85%, transparent)}
.tier .step{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold)}
.tier .for{color:var(--muted);font-size:.98rem}
.tier ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.96rem}
.tier .foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem}
.tier.lead .foot{border-color:color-mix(in srgb,var(--on-ink) 25%, transparent)}
.note{margin-top:20px;font-size:.92rem;color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s;margin-top:32px}
.steps div{counter-increment:s;display:flex;flex-direction:column;gap:8px}
.steps div::before{content:counter(s);font-family:var(--display);font-size:2rem;font-weight:700;color:var(--marigold);line-height:1}
.steps p{color:var(--muted);font-size:.96rem}

/* founder */
.founder .grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start}
.founder figure{margin:0;display:flex;flex-direction:column;gap:12px}
.founder figure .frame{position:relative;padding:0 0 12px 12px}
.founder figure .frame::before{content:"";position:absolute;left:0;bottom:0;width:calc(100% - 12px);height:calc(100% - 12px);border-radius:10px;background:var(--ink-2);opacity:.9}
.founder img{position:relative;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:10px;background:#fff}
.founder figcaption{display:flex;flex-direction:column}
.founder figcaption b{font-family:var(--display);font-size:1.3rem}
.founder figcaption span{color:var(--muted);font-size:.92rem}
.founder .copy{display:flex;flex-direction:column;gap:16px;max-width:65ch;min-width:0}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.creds span{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:3px 12px;font-size:.85rem}

/* academy band on home */
.teaser .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.teaser .stack{max-width:60ch}

/* contact */
.contact .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px}
.contact .grid > *{min-width:0}
form{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px;color:var(--fg)}
label{display:grid;gap:6px;font-size:.9rem;font-weight:600}
input,select,textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--fg);width:100%}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.status{font-size:.92rem;color:var(--muted);min-height:1.4em}
.details{display:grid;gap:18px;margin-top:24px}
.details div{display:flex;flex-direction:column}
.details a{text-decoration:none}
.details address{font-style:normal}

/* academy page */
.lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lesson{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.lesson .meta{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.lesson .soon{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--marigold)}
.lesson p{color:var(--muted);font-size:.95rem}
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid color-mix(in srgb,var(--on-ink) 25%, transparent)}
.path > div{padding:24px 24px 0 0;display:flex;flex-direction:column;gap:10px;min-width:0}
.path .lv{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold)}
.path p{color:color-mix(in srgb,var(--on-ink) 80%, transparent);font-size:.96rem}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.facts span{border:1px solid color-mix(in srgb,var(--on-ink) 30%, transparent);border-radius:999px;padding:3px 12px;font-size:.85rem;font-variant-numeric:tabular-nums}
.dark small{color:color-mix(in srgb,var(--on-ink) 70%, transparent)}
.learn{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
.learn li{padding-left:28px;position:relative}
.learn li::before{content:"";position:absolute;left:0;top:.7em;width:16px;border-top:4px double var(--marigold)}


/* hero MIS visual */
.mis{margin:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:18px;min-width:0;
  box-shadow:0 1px 2px rgba(20,40,75,.06),0 18px 40px -18px rgba(20,40,75,.28);position:relative}
.mis::after{content:"";position:absolute;inset:auto -14px -14px auto;width:60%;height:60%;border-radius:14px;background:var(--marigold);opacity:.14;z-index:-1}
.mis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mis-head div{display:flex;flex-direction:column}
.mis-head b{font-family:var(--display);font-size:1.25rem}
.mis-head span{font-size:.85rem;color:var(--muted)}
.mis .tag{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold);border:1px solid currentColor;border-radius:999px;padding:2px 10px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpis div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:8px;background:var(--paper);min-width:0}
.kpis small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.kpis b{font-family:var(--display);font-size:1.45rem;font-variant-numeric:tabular-nums;line-height:1.2}
.kpis span{font-size:.78rem;color:var(--muted)}
.kpis .up{color:var(--good)}
.chart{display:flex;flex-direction:column;gap:6px}
.chart-key{display:flex;gap:16px;font-size:.78rem;color:var(--muted)}
.chart-key span{display:flex;align-items:center;gap:6px}
.chart-key i{display:inline-block;width:12px;height:12px;border-radius:2px}
.k-bar{background:var(--ink-2)} .k-bud{height:0!important;border-top:2.5px solid var(--marigold)}
.chart svg{width:100%;height:auto;display:block}
.grid-l line{stroke:var(--line);stroke-width:1}
.axis-t text{fill:var(--muted);font-size:9px;font-family:var(--body)}
.bars rect{fill:var(--ink-2);opacity:.55}
.bars rect.last{opacity:1}
.budget line{stroke:var(--marigold);stroke-width:2.5;stroke-linecap:round}
.checks{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px;font-size:.9rem}
.checks li{display:flex;align-items:center;gap:10px}
.checks em{margin-left:auto;font-style:normal;font-size:.8rem;color:var(--good);font-weight:600}
.ok{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--good) 16%, transparent);color:var(--good);font-size:.75rem;font-weight:700;flex:none}
.mis figcaption{font-size:.75rem;color:var(--muted);margin-top:-6px}

/* proof strip */
.proof{padding-block:0}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.proof .wrap > div{padding-block:26px;padding-inline:20px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}
.proof .wrap > div:first-child{border-left:0;padding-left:0}
.proof b{font-family:var(--display);font-size:2.2rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--fg)}
.proof span{font-size:.9rem;color:var(--muted)}

/* tier finder */
.finder{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:24px;display:grid;grid-template-columns:auto 1fr;gap:12px 28px;align-items:center}
.finder-q{display:flex;flex-direction:column}
.finder-q span{color:var(--muted);font-size:.95rem}
.finder-a{display:flex;flex-wrap:wrap;gap:8px}
.finder-a button{font:inherit;font-size:.92rem;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--fg);cursor:pointer;transition:border-color .15s, background .15s}
.finder-a button:hover{border-color:var(--marigold)}
.finder-a button[aria-pressed="true"]{border-color:var(--marigold);background:color-mix(in srgb,var(--marigold) 16%, var(--card))}
.finder-r{grid-column:1/-1;font-size:.95rem;min-height:0}
.finder-r:empty{display:none}
.finder-r a{font-weight:600}
.tier-top{display:flex;align-items:center;gap:10px}
.ico{width:32px;height:32px;fill:none;stroke:var(--marigold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pick{display:none;margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--marigold);color:#14284B;border-radius:999px;padding:2px 10px}
.tier{transition:transform .2s, box-shadow .2s}
.tier:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(20,40,75,.35)}
.tier.picked{outline:2.5px solid var(--marigold);outline-offset:2px}
.tier.picked .pick{display:inline-block}

/* timeline */
.timeline{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.timeline::before{content:"";position:absolute;left:8px;right:8px;top:8px;border-top:2px dashed var(--line)}
.timeline li{position:relative;padding-top:32px;display:flex;flex-direction:column;gap:6px;min-width:0}
.timeline li::before{content:"";position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--card);border:4px solid var(--marigold)}
.timeline .when{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--marigold)}
.timeline p{color:var(--muted);font-size:.96rem}

/* faq */
.faq{display:flex;flex-direction:column}
.faq details{border-bottom:1px solid var(--line);padding-block:16px}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.4rem;line-height:1;color:var(--marigold);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--muted);max-width:60ch}

/* contact on dark */
.contact.dark .details small{color:color-mix(in srgb,var(--on-ink) 65%, transparent)}
.next{margin:24px 0 0;padding:0;list-style:none;counter-reset:n;display:grid;gap:12px}
.next li{counter-increment:n;display:flex;gap:12px;align-items:baseline;color:color-mix(in srgb,var(--on-ink) 85%, transparent)}
.next li::before{content:counter(n);flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--marigold);color:#14284B;font-weight:700;font-size:.85rem}
.next b{color:var(--on-ink)}
.contact.dark .btn{background:var(--ink);color:#F6F7FA}

@media (max-width:860px){
  .proof .wrap{grid-template-columns:1fr 1fr}
  .proof .wrap > div:nth-child(3){border-left:0;padding-left:0}
  .proof .wrap > div:nth-child(n+3){border-top:1px solid var(--line)}
  .finder{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;gap:0}
  .timeline::before{left:8px;right:auto;top:8px;bottom:8px;border-top:0;border-left:2px dashed var(--line)}
  .timeline li{padding:0 0 26px 36px}
}
@media (max-width:480px){.kpis{grid-template-columns:1fr 1fr 1fr;gap:6px}.kpis div{padding:8px}.kpis b{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){.tier,.tier:hover{transition:none;transform:none}}

footer{border-top:1px solid var(--line);padding-block:28px;font-size:.88rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer .legal{flex-basis:100%;font-size:.8rem}

@media (max-width:860px){
  .hero .grid,.two,.contact .grid,.founder .grid{grid-template-columns:1fr}
  .tiers,.path,.lessons{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .founder figure{max-width:280px}
  section{padding-block:52px}
}
@media (min-width:600px) and (max-width:860px){.lessons{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps,.row,.learn{grid-template-columns:1fr} nav{gap:12px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
