:root{
  color-scheme: light;

  /* Core M1 brand */
  --m1-purple:#664787;
  --m1-purple-lt:#B39BD1;
  --charcoal:#404041;
  --lavender-mist:#CDC8D1;
  --accent-orange:#F97215;

  /* Retail Community pillar — Indie Insights sits here */
  --amber:#DE804D;
  --amber-60:#EBB394;
  --amber-25:#F7DFD2;
  --amber-10:#FCF3EE;

  /* Grounds — neutrals biased warm-plum, not flat grey */
  --ink:#1F1A2B;
  --ink-2:#2C2439;
  --paper:#FFFFFF;
  --paper-warm:#FAF6F3;
  --rule:#E7E1E4;
  --muted:#504A58;
  --on-ink:#F4F0F5;
  --on-ink-muted:#CFC6DA;
  --amber-ink:#A0521F;      /* amber dark enough for text on light: 5.6:1 */
  --good:#146B3F;
  --good-bg:#E6F2EB;
  --attn:#8A4B23;
  --attn-bg:#F7DFD2;
  --crit:#A33C2A;
  --crit-bg:#FBEAE6;

  --font-display:'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:'Lato', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --wrap:1180px;
  --pad:clamp(20px,5vw,48px);
}

*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--charcoal);
  font-family:var(--font-body);
  font-weight:400;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;color:var(--charcoal);margin:0;text-wrap:balance;line-height:1.14;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%;}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:3px;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad);}
.section{padding-block:clamp(60px,8vw,104px);}

/* ---------- Shared bits ---------- */
.eyebrow{
  font-family:var(--font-body);font-weight:400;font-size:12px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--m1-purple);
  display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.eyebrow::before{
  content:"";width:20px;height:9px;flex:none;
  background:
    radial-gradient(circle 3px at 4px 4.5px, var(--amber) 99%, transparent 100%),
    radial-gradient(circle 3px at 16px 4.5px, var(--amber) 99%, transparent 100%);
}
.eyebrow.on-dark{color:var(--amber-60);}
.lede{font-size:clamp(17px,2vw,19.5px);color:var(--muted);max-width:62ch;}
.on-ink .lede{color:var(--on-ink-muted);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  font-family:var(--font-display);font-weight:700;font-size:14px;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
  padding:14px 26px;border-radius:999px;border:2px solid transparent;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--amber);color:var(--ink);}
.btn-primary:hover{background:#E8925F;transform:translateY(-2px);}
.btn-ghost{border-color:currentColor;color:var(--m1-purple);}
.btn-ghost:hover{background:var(--m1-purple);border-color:var(--m1-purple);color:#fff;transform:translateY(-2px);}
.btn-ghost-light{border-color:rgba(244,240,245,.45);color:var(--on-ink);}
.btn-ghost-light:hover{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink);transform:translateY(-2px);}
.btn-sm{padding:9px 20px;font-size:12.5px;}

/* ---------- Logo lockup ---------- */
.lockup{display:flex;align-items:center;text-decoration:none;flex:none;color:#fff;}
/* Official Indie Insights lockup. The square is brand Warm Amber and the "ii" figures are
   white, both baked into the asset; the wordmark inherits currentColor so the same file
   works on dark and light grounds. Do not recolour or separate the parts. */
.lockup .ii-logo{display:block;flex:none;height:46px;width:auto;}
.lockup-footer .ii-logo{height:42px;}
@media (max-width:660px){ .lockup .ii-logo{height:40px;} }
.byline{
  font-family:var(--font-body);font-size:11px;font-weight:400;letter-spacing:.05em;
  color:var(--on-ink-muted);text-decoration:none;white-space:nowrap;
  border-left:1px solid rgba(244,240,245,.22);padding-left:14px;margin-left:2px;flex:none;
  transition:color .18s ease;
}
.byline b{font-weight:400;color:#fff;}
.byline b i{font-style:normal;color:var(--m1-purple-lt);font-weight:700;}
.byline:hover{color:#fff;}
.byline sup{font-size:.6em;vertical-align:super;}
/* Registered/TM wordmark superscript (reuses the byline sup treatment) */
.ii-tm{font-family:var(--font-body);font-size:.55em;font-weight:400;vertical-align:super;line-height:0;letter-spacing:0;}
.lockup .ii-tm{align-self:flex-start;margin-top:5px;margin-left:2px;font-size:14px;color:currentColor;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:var(--ink);
  border-bottom:1px solid rgba(244,240,245,.10);
}
.header-inner{display:flex;align-items:center;gap:20px;min-height:76px;flex-wrap:nowrap;}
.site-nav{display:flex;gap:clamp(16px,1.8vw,28px);margin-left:auto;flex-wrap:nowrap;align-items:center;}
.site-nav a{
  font-family:var(--font-body);font-weight:400;font-size:14.5px;letter-spacing:.01em;
  color:#DCD5E4;text-decoration:none;white-space:nowrap;line-height:1;
  padding:6px 0;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease;
}
.site-nav a:hover{color:#fff;border-bottom-color:var(--amber);}
.header-cta{display:flex;align-items:center;gap:14px;flex:none;margin-left:6px;}
/* hamburger */
.navtoggle{
  display:none;flex:none;margin-left:auto;background:transparent;border:1px solid rgba(244,240,245,.32);
  border-radius:8px;width:42px;height:38px;align-items:center;justify-content:center;cursor:pointer;padding:0;
}
.navtoggle span{display:block;width:19px;height:2px;background:#fff;border-radius:2px;position:relative;transition:transform .2s ease;}
.navtoggle span::before,.navtoggle span::after{
  content:"";position:absolute;left:0;width:19px;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease;
}
.navtoggle span::before{top:-6px;} .navtoggle span::after{top:6px;}
.navtoggle[aria-expanded="true"] span{background:transparent;}
.navtoggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.navtoggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}
.mobnav{display:none;background:var(--ink);border-top:1px solid rgba(244,240,245,.14);}
.mobnav.open{display:block;}
.mobnav ul{list-style:none;margin:0;padding:10px var(--pad) 20px;display:grid;gap:2px;}
.mobnav a{
  display:block;padding:13px 4px;font-size:16px;color:#fff;text-decoration:none;
  border-bottom:1px solid rgba(244,240,245,.10);
}
.mobnav a:last-child{border-bottom:0;}
.mobnav .mob-cta{margin-top:14px;display:grid;gap:10px;}
.mobnav .mob-cta .btn{display:flex;justify-content:center;text-align:center;width:100%;padding:15px 24px;border-bottom:0;}
.mobnav .mob-cta .btn-primary{color:var(--ink);}  /* beats .mobnav a colour; keeps 5.88:1 */
.header-cta .signin{
  font-family:var(--font-body);font-size:14.5px;color:#fff;text-decoration:none;
  white-space:nowrap;line-height:1;padding:6px 2px;
  border-bottom:2px solid transparent;transition:border-color .18s ease;
}
.header-cta .signin:hover{border-bottom-color:var(--amber);}

/* ---------- Hero ---------- */
.hero{
  background:var(--ink);color:var(--on-ink);position:relative;overflow:hidden;
  padding-block:clamp(64px,9vw,116px);
}
.hero::after{
  content:"";position:absolute;inset:auto -10% -55% 55%;height:120%;
  background:radial-gradient(ellipse at center, rgba(222,128,77,.20), transparent 62%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(36px,6vw,72px);align-items:center;}
.hero h1{
  font-weight:900;color:#fff;font-size:clamp(33px,4.1vw,51px);letter-spacing:-.015em;text-wrap:initial;
}
.hero h1 .win{color:var(--amber);font-style:italic;}
.hero p.sub{margin-top:22px;font-size:clamp(17px,2vw,20px);color:var(--on-ink-muted);max-width:52ch;}
.hero p.sub-community{
  margin-top:22px;padding-left:16px;border-left:3px solid var(--amber);
  font-size:15.5px;color:var(--on-ink-muted);max-width:46ch;
}
.hero p.sub-community em{font-style:normal;font-family:var(--font-display);font-weight:700;color:#fff;font-size:16px;}
.hero p.sub-community em .win{color:var(--amber);font-style:italic;}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.hero .note{margin-top:16px;font-size:13.5px;color:var(--on-ink-muted);}

/* Hero panel — a real benchmark card, the product's core object */
.bench-card{
  background:#fff;border-radius:14px;padding:26px 26px 22px;
  box-shadow:0 24px 60px rgba(15,10,25,.45);color:var(--charcoal);
}
.bench-card .bc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.bench-card .bc-metric{font-family:var(--font-display);font-weight:700;font-size:15px;}
.bench-card .bc-range{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.bench-card .bc-value{
  font-family:var(--font-display);font-weight:800;font-size:46px;line-height:1;margin-top:14px;
  font-variant-numeric:tabular-nums;color:var(--ink);
}
.bench-card .bc-sub{font-size:13.5px;color:var(--muted);margin-top:6px;}
.bench-card .bc-privacy{font-size:11.5px;line-height:1.5;color:var(--muted);margin-top:10px;}
.quartiles{display:flex;gap:4px;margin-top:20px;}
.quartiles span{height:8px;flex:1;border-radius:2px;background:var(--lavender-mist);}
.quartiles span.on{background:var(--good);}
.quartiles span.top{background:var(--m1-purple);}
.bc-rows{margin-top:18px;border-top:1px solid var(--rule);}
.bc-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:13.5px;}
.bc-row:last-child{border-bottom:0;}
.bc-row b{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;}
/* Status badge — colour ALWAYS paired with an icon and a word, never colour alone.
   Green = at or above the pack. Amber = below the pack. Red = bottom quartile. */
.badge{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;white-space:nowrap;
}
.badge svg{display:block;flex:none;}
.badge.good{background:var(--good-bg);color:var(--good);}
.badge.attn{background:var(--attn-bg);color:var(--attn);}
.badge.crit{background:var(--crit-bg);color:var(--crit);}
.bc-foot{margin-top:16px;font-size:11.5px;color:var(--muted);line-height:1.5;}

/* ---------- Trust bar (privacy reassurance, high on the page) ---------- */
.trustbar{background:var(--ink);border-top:1px solid rgba(244,240,245,.12);padding-block:22px;}
.trustbar-inner{display:flex;align-items:center;gap:18px;}
.tb-ico{
  width:38px;height:38px;flex:none;border-radius:10px;background:rgba(222,128,77,.16);
  border:1px solid rgba(222,128,77,.45);display:flex;align-items:center;justify-content:center;
}
.trustbar p{font-size:15px;color:var(--on-ink-muted);max-width:104ch;line-height:1.55;}
.trustbar p b{font-family:var(--font-display);font-weight:700;color:#fff;}
@media (max-width:620px){ .trustbar-inner{align-items:flex-start;gap:14px;} .trustbar p{font-size:14.5px;} }

/* ---------- Value props ---------- */
.props{background:var(--ink-2);color:var(--on-ink);border-top:1px solid rgba(244,240,245,.12);
  padding-block:clamp(46px,5.5vw,70px);}
.props-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.prop{
  background:rgba(255,255,255,.035);border:1px solid rgba(244,240,245,.13);border-radius:12px;
  padding:24px 22px 22px;display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden;
  transition:transform .2s ease, border-color .2s ease, background-color .2s ease;
}
.prop::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.prop:hover{transform:translateY(-3px);border-color:rgba(222,128,77,.55);background:rgba(255,255,255,.06);}
.prop:hover::before{transform:scaleX(1);}
.prop .pico{width:36px;height:36px;border-radius:10px;background:var(--amber);display:flex;align-items:center;justify-content:center;}
.prop h3{font-family:var(--font-display);font-weight:800;font-size:17.5px;color:#fff;line-height:1.25;}
.prop p{font-size:14.5px;color:var(--on-ink-muted);line-height:1.55;}
.prop .pfact{
  margin-top:auto;padding-top:12px;font-size:12.5px;color:var(--amber-60);
  font-family:var(--font-body);font-weight:400;border-top:1px solid rgba(244,240,245,.12);
}
@media (max-width:1000px){ .props-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .props-grid{grid-template-columns:1fr;} }

/* ---------- Problem band ---------- */
.problem{background:var(--amber-10);}
.problem-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;}
.problem h2{font-size:clamp(25px,3.1vw,36px);color:var(--ink);text-wrap:initial;}
.problem p{margin-top:18px;max-width:52ch;color:var(--muted);font-size:clamp(16px,1.8vw,18px);}

/* your number vs the pack */
.gapviz{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:26px 26px 24px;
  box-shadow:0 14px 36px rgba(31,26,43,.07);}
.gv-metric{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ink);}
.gv-label{font-family:var(--font-body);font-weight:400;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:6px 0 0;}
.gv-rows{margin-top:22px;display:grid;gap:16px;}
.gv-row{display:grid;grid-template-columns:1fr;gap:7px;}
.gv-rowhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.gv-name{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;}
.gv-val{font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--ink);
  font-variant-numeric:tabular-nums;}
.gv-bar{height:12px;background:#EFEBEE;border-radius:999px;overflow:hidden;}
.gv-bar i{display:block;height:100%;border-radius:999px;}
.gv-row.you .gv-name{color:var(--good);font-weight:700;}
.gv-row.you .gv-val{color:var(--good);font-size:22px;}
.gv-row.you .gv-bar i{background:var(--good);}
.gv-row.avg .gv-bar i{background:#A9A2AE;}
.gv-row.tq .gv-name{color:var(--m1-purple);font-weight:700;}
.gv-row.tq .gv-val{color:var(--m1-purple);}
.gv-row.tq .gv-bar i{background:var(--m1-purple);}
.gv-gap{margin-top:22px;border-top:1px solid var(--rule);padding-top:18px;
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.gv-gap b{font-family:var(--font-display);font-weight:900;font-size:clamp(26px,3vw,32px);
  color:var(--amber-ink);font-variant-numeric:tabular-nums;line-height:1;}
.gv-gap span{font-size:14px;color:var(--muted);flex:1;min-width:180px;}
.gv-foot{margin-top:14px;font-size:11.5px;color:var(--muted);line-height:1.5;}
@media (max-width:900px){ .problem-inner{grid-template-columns:1fr;} }

/* ---------- Suite grid ---------- */
.suite-head{max-width:62ch;margin-bottom:44px;}
.suite-head h2{font-size:clamp(28px,3.8vw,42px);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{
  background:#fff;border:1px solid var(--rule);border-radius:12px;padding:28px 26px 26px;
  display:flex;flex-direction:column;gap:12px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,26,43,.09);border-color:var(--amber-60);}
.card .ico{width:40px;height:40px;border-radius:11px;background:var(--amber);display:flex;align-items:center;justify-content:center;}
.card .ico svg{display:block;}
.card h3{font-size:19px;}
.card p{font-size:15.5px;color:var(--muted);}
.card ul{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}
.card li{font-size:14px;color:var(--charcoal);padding-left:16px;position:relative;}
.card li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--amber-60);}
.tier-tag{
  align-self:flex-start;margin-top:auto;padding-top:14px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--m1-purple);font-weight:400;
}

/* ---------- Portal screens ---------- */
.screens{background:var(--ink);color:var(--on-ink);}
.screens h2{color:#fff;font-size:clamp(27px,3.4vw,40px);}
.screens .lede{color:var(--on-ink-muted);}
.screens-head{max-width:62ch;margin-bottom:44px;}
.shot{
  background:#F1EDEF;border-radius:12px;overflow:hidden;border:1px solid rgba(244,240,245,.14);
  box-shadow:0 26px 64px rgba(10,6,18,.55);
}
.shot-bar{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#E7E2E6;border-bottom:1px solid #D6CFD4;}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:#C3BAC4;flex:none;}
.shot-bar .url{
  margin-left:8px;background:#fff;border:1px solid #D6CFD4;border-radius:999px;
  font-size:11px;color:#6B6570;padding:3px 13px;font-family:var(--font-body);
}
.shot img{display:block;width:100%;height:auto;}
.shot-fig{display:flex;flex-direction:column;margin:0;}
.shot-cap{font-size:14.5px;color:var(--on-ink-muted);margin-top:14px;max-width:64ch;line-height:1.55;}
.shot-cap b{font-family:var(--font-display);font-weight:700;color:#fff;font-size:14px;}
.panel{background:#FAF6F3;border-radius:12px;padding:12px;border:1px solid rgba(244,240,245,.14);
  box-shadow:0 22px 54px rgba(10,6,18,.5);}
.panel img{display:block;width:100%;height:auto;border-radius:7px;}
.stack{display:grid;gap:44px;margin-top:44px;}

/* Trending spotlight */
.spotlight{
  display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);
  gap:clamp(28px,5vw,60px);align-items:center;margin-top:44px;
  background:linear-gradient(180deg, rgba(222,128,77,.14), rgba(222,128,77,.04));
  border:1px solid rgba(222,128,77,.35);border-radius:16px;padding:clamp(24px,3.5vw,40px);
}
.spot-shot{border-radius:12px;overflow:hidden;box-shadow:0 18px 44px rgba(10,6,18,.5);border:2px solid var(--amber);}
.spot-shot img{display:block;width:100%;height:auto;}
.spotlight h3{color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(21px,2.6vw,29px);}
.spotlight p{color:var(--on-ink-muted);font-size:16.5px;margin-top:14px;max-width:54ch;}
.spot-read{
  margin-top:22px;display:grid;gap:9px;padding:18px 20px;border-radius:10px;
  background:rgba(31,26,43,.55);border:1px solid rgba(244,240,245,.14);
}
.spot-read div{display:flex;gap:11px;align-items:baseline;font-size:14.5px;color:var(--on-ink);}
.spot-read div b{font-family:var(--font-display);font-weight:800;color:var(--amber);flex:none;font-size:13px;letter-spacing:.06em;}
@media (max-width:900px){
  .spotlight{grid-template-columns:1fr;}
  .spot-shot{max-width:360px;}
}

/* ---------- Benchmarking deep dive ---------- */
.deep{background:var(--paper-warm);border-block:1px solid var(--rule);}
.deep-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,72px);align-items:center;}
.deep h2{font-size:clamp(28px,3.8vw,42px);}
.deep .lede{margin-top:18px;}
.metric-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:28px;padding:0;list-style:none;}
.metric-list li{
  font-size:14.5px;padding:10px 0;border-bottom:1px solid var(--rule);
  display:flex;align-items:center;gap:10px;
}
.metric-list li::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--m1-purple);}
.privacy-note{
  margin-top:28px;background:#fff;border:1px solid var(--rule);border-left:4px solid var(--m1-purple);
  border-radius:8px;padding:18px 20px;font-size:14.5px;color:var(--charcoal);
}
.privacy-note b{font-family:var(--font-display);font-weight:700;display:block;margin-bottom:5px;font-size:14px;}

/* ---------- Peer groups ---------- */
.peer{background:var(--ink);color:var(--on-ink);}
.peer h2{color:#fff;font-size:clamp(26px,2.7vw,33px);text-wrap:initial;}
.peer-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,72px);}
.peer-facts{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(244,240,245,.12);border-radius:12px;overflow:hidden;}
.fact{background:var(--ink);padding:24px 22px;}
.fact b{display:block;font-family:var(--font-display);font-weight:800;font-size:28px;color:var(--amber);font-variant-numeric:tabular-nums;}
.fact span{display:block;font-size:14px;color:var(--on-ink-muted);margin-top:6px;}
.charter{margin-top:24px;padding:22px;border:1px solid rgba(244,240,245,.16);border-radius:12px;}
.charter h3{color:#fff;font-size:16px;}
.charter ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;}
.charter li{font-size:14.5px;color:var(--on-ink-muted);padding-left:18px;position:relative;}
.charter li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--amber);}

/* ---------- Who's in the room ---------- */
.room{background:var(--paper-warm);border-block:1px solid var(--rule);}
.room-head{max-width:62ch;margin-bottom:40px;}
.room-head h2{font-size:clamp(27px,3.4vw,40px);}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.room-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:26px 24px;
  border-top:4px solid var(--m1-purple);display:flex;flex-direction:column;gap:10px;}
.room-card .rk{font-family:var(--font-display);font-weight:900;font-size:clamp(26px,3vw,34px);
  color:var(--m1-purple);line-height:1;}
.room-card h3{font-size:17px;}
.room-card p{font-size:15px;color:var(--muted);}
@media (max-width:900px){ .room-grid{grid-template-columns:1fr;} }

/* ---------- Pricing ---------- */
.pricing-head{text-align:center;max-width:60ch;margin:0 auto 46px;}
.pricing-head h2{font-size:clamp(28px,3.8vw,42px);}
.pricing-head p{margin-top:16px;color:var(--muted);}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.plan{border:1px solid var(--rule);border-radius:14px;padding:30px 26px;background:#fff;display:flex;flex-direction:column;height:100%;}
.plan.featured{border:2px solid var(--amber);box-shadow:0 18px 44px rgba(222,128,77,.16);position:relative;}
.plan.featured::before{
  content:"Most popular";position:absolute;top:-13px;left:26px;
  background:var(--amber);color:#fff;font-family:var(--font-body);font-weight:700;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:999px;
}
.plan .pname{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--m1-purple);}
.plan.featured .pname{color:var(--amber);}
.plan .price{font-family:var(--font-display);font-weight:900;font-size:44px;line-height:1;margin-top:14px;color:var(--ink);font-variant-numeric:tabular-nums;}
.plan .price small{font-family:var(--font-body);font-weight:300;font-size:16px;color:var(--muted);}
.plan .was{margin-top:14px;display:flex;align-items:baseline;gap:9px;}
.plan .was s{
  font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--muted);
  text-decoration:none;position:relative;
}
.plan .was s::after{
  content:"";position:absolute;left:-4px;right:-4px;top:52%;height:2.5px;
  background:var(--amber);transform:rotate(-7deg);border-radius:2px;
}
.plan .was span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.plan .was + .price{margin-top:4px;}
.plan .who{margin-top:10px;font-size:14.5px;color:var(--muted);min-height:44px;}
.plan .altprice{margin-top:8px;font-size:13px;color:var(--m1-purple);font-weight:400;}
.plan .trial{
  margin-top:14px;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;
  background:var(--amber-25);color:#8A4B23;border-radius:999px;padding:6px 14px;
  font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
}
.plan .trial::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);flex:none;}
.plan .altprice strong{font-family:var(--font-display);font-weight:700;}
.plan ul{margin:22px 0 26px;padding:0;list-style:none;display:grid;gap:9px;}
.plan li{font-size:14.5px;padding-left:24px;position:relative;color:var(--charcoal);}
.plan li::before{
  content:"";position:absolute;left:0;top:6px;width:13px;height:8px;
  border-left:2px solid var(--amber);border-bottom:2px solid var(--amber);
  transform:rotate(-45deg);
}
.plan li.inherit{font-weight:700;font-family:var(--font-display);font-size:13.5px;}
.plan .btn{margin-top:auto;width:100%;}
.plan-foot{margin-top:26px;text-align:center;font-size:13.5px;color:var(--muted);}

/* ---------- Sources strip ---------- */
.sources{background:var(--paper-warm);border-block:1px solid var(--rule);padding-block:44px;}
.sources h3{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:var(--font-body);font-weight:400;text-align:center;}
.pos-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;margin-top:20px;}
.pos{
  font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--charcoal);
  border:1px solid var(--rule);background:#fff;border-radius:999px;padding:8px 18px;
}
.pos.class-only{color:var(--muted);font-weight:400;font-family:var(--font-body);}
.sources p{text-align:center;margin-top:18px;font-size:13.5px;color:var(--muted);}

/* ---------- Final CTA ---------- */
.cta{background:var(--amber);color:#fff;text-align:center;}
.cta h2{color:var(--ink);font-size:clamp(27px,3.6vw,44px);font-weight:900;text-wrap:initial;}
.cta p{margin:18px auto 0;max-width:52ch;font-size:clamp(16px,1.9vw,19px);color:#2A2338;}
.cta .actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:32px;}
.cta .btn-primary{background:var(--ink);color:#fff;}
.cta .btn-primary:hover{background:#0F0B17;color:#fff;}
.cta .btn-ghost-light{border-color:var(--ink);color:var(--ink);}
.cta .btn-ghost-light:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- Footer ---------- */
.pillar-bar{display:flex;height:6px;}
.pillar-bar i{flex:1;}
.pillar-bar i:nth-child(1){background:#5558D4;}
.pillar-bar i:nth-child(2){background:#DE804D;}
.pillar-bar i:nth-child(3){background:#2AAA62;}
.pillar-bar i:nth-child(4){background:#2892B5;}
.site-footer{background:var(--ink);color:var(--on-ink-muted);padding-block:52px 34px;}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:36px;}
.footer-about p{margin-top:20px;font-size:14.5px;max-width:38ch;}
.footer-col h4{font-family:var(--font-body);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:14px;}
.footer-col a{display:block;font-size:14.5px;text-decoration:none;color:var(--on-ink-muted);padding:5px 0;transition:color .18s ease;}
.footer-col a:hover{color:var(--amber-60);}
.footer-bottom{
  margin-top:42px;padding-top:22px;border-top:1px solid rgba(244,240,245,.12);
  display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;font-size:13px;
}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:20px;}
.footer-bottom a{color:var(--on-ink-muted);text-decoration:none;}
.footer-bottom a:hover{color:#fff;}
.footer-bottom-right{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;}
/* Retail ORBIT "Go to planning" button — pill styled to match the page CTAs */
.footer-ro{
  display:inline-flex;align-items:center;gap:11px;
  padding:9px 16px;border-radius:999px;
  border:1px solid rgba(244,240,245,.22);background:rgba(244,240,245,.04);
  text-decoration:none;transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.footer-ro:hover{border-color:var(--amber);background:rgba(222,128,77,.12);transform:translateY(-1px);}
.footer-ro-badge{width:22px;height:22px;border-radius:6px;flex:none;background:var(--amber);}
.footer-ro-txt{display:flex;flex-direction:column;line-height:1.15;}
.footer-ro-name{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.02em;color:#fff;}
.footer-ro-name b{font-weight:700;color:var(--amber-60);}
.footer-ro-name sup{font-size:.55em;vertical-align:super;}
.footer-ro-sub{font-size:11px;letter-spacing:.04em;color:var(--on-ink-muted);}
.footer-ro-arrow{font-size:15px;color:var(--amber-60);flex:none;}
.footer-ro:hover .footer-ro-arrow{color:var(--amber);}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .hero-inner,.deep-inner,.peer-inner{grid-template-columns:1fr;}
  .grid-3,.plans{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stat:nth-child(3){border-left:0;}
  .stat:nth-child(n+3){border-top:1px solid rgba(244,240,245,.10);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
/* BRAND-01: keep the "by Management ONE" attribution visible on the public homepage
   (it was hidden at <=1240px, so laptops saw no attribution). Only collapse on narrow
   phones where the header row would otherwise overflow. */
@media (max-width:600px){ .byline{display:none;} }
@media (max-width:1020px){ .site-nav{display:none;} .navtoggle{display:inline-flex;} .header-cta .signin{display:none;} }
@media (min-width:1021px){ .mobnav{display:none !important;} }
@media (max-width:660px){
  .grid-3,.plans,.metric-list,.peer-facts,.footer-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr;}
  .stat{border-left:0;border-top:1px solid rgba(244,240,245,.10);}
  .stat:first-child{border-top:0;}
  .header-inner{min-height:64px;}
  .plan.featured{order:-1;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
}

/* ============================================================================
   DARK MODE — tokens live on :root, which ii-theme.css flips at body level.
   BUT several sections use --ink / --ink-2 as BACKGROUNDS (not text), and those
   flip to a light value under .ii-dark. Keep the intentionally-dark sections
   dark and re-ground the light content cards. All rules are scoped to
   homepage-unique classes (.card/.panel are already handled by the foundation).
   ============================================================================ */
.ii-dark .site-header,
.ii-dark .hero,
.ii-dark .trustbar,
.ii-dark .screens,
.ii-dark .peer,
.ii-dark .fact,
.ii-dark .site-footer{ background:#14100D; }
.ii-dark .props{ background:#191510; }

/* light content cards → dark surfaces (their text tokens already flip light) */
.ii-dark .bench-card{ background:var(--card); color:var(--ink); }
.ii-dark .gapviz,
.ii-dark .privacy-note,
.ii-dark .room-card,
.ii-dark .plan,
.ii-dark .pos{ background:var(--card); border-color:var(--line); color:var(--ink); }
.ii-dark .gv-bar{ background:var(--grid); }

/* pastel chip w/ hardcoded dark text on a now-dark tint */
.ii-dark .plan .trial{ color:var(--amber-60); }

/* CTA band stays orange in both modes → keep its text/buttons dark like light */
.ii-dark .cta h2,
.ii-dark .cta .btn-ghost-light{ color:#1F1A2B; }
.ii-dark .cta .btn-ghost-light{ border-color:#1F1A2B; }
.ii-dark .cta .btn-primary{ background:#1F1A2B; color:#fff; }
.ii-dark .cta .btn-primary:hover{ background:#0F0B17; color:#fff; }
.ii-dark .cta .btn-ghost-light:hover{ background:#1F1A2B; color:#fff; border-color:#1F1A2B; }

/* primary button: amber bg keeps a DARK label in dark (--ink would flip light) */
.ii-dark .btn-primary,
.ii-dark .mobnav .mob-cta .btn-primary{ color:#1F1A2B; }

/* ---- extra small-screen polish (the grids already stack via blocks above) ---- */
@media (max-width:520px){
  .bench-card,.gapviz,.plan,.room-card{ padding-left:20px; padding-right:20px; }
  .bench-card .bc-value{ font-size:38px; }
  .hero .actions .btn,.cta .actions .btn{ width:100%; }
}

/* Guard: buddyboss/global theme CSS bleeds into the served marketing homepage (WP context) —
   the theme's orange link colour overrode the lockup currentColor (wordmark went orange) and a
   global rule blew up the byline "ONE" to 24px. Force the mockup treatment. */
.lockup,.lockup .ii-logo{color:#fff !important;}
.byline{color:var(--on-ink-muted) !important;}
.byline b{color:#fff !important;font-weight:400 !important;}
.byline b i{color:var(--m1-purple-lt) !important;font-weight:700 !important;font-size:1em !important;letter-spacing:normal !important;}
.byline sup{font-size:.6em !important;vertical-align:super !important;}
