/* =====================================================
   FORTTIC — Continuous Resilience Enforcement
   Color system: Keepit-inspired cream + navy + butter-yellow
   Brand reserves: teal for CRE enforcement loop diagrams
   ===================================================== */
:root{
  /* Foundation */
  --cream: #FBF7EF;
  --cream-deep: #F5EFE2;
  --cream-warm: #FFFAF0;
  --paper: #FFFFFF;

  /* Ink */
  --ink: #0E1622;
  --ink-soft: #1B2533;
  --ink-mute: #4A5466;
  --ink-line: #D7CFC0;
  --ink-faint: #EFE8D9;

  /* Accents — Keepit DNA */
  --butter: #F5C842;
  --butter-deep: #E5B228;
  --butter-soft: #FBE9A7;

  --coral: #E26A4E;
  --coral-soft: #F6D5C9;

  --olive: #6B7A4F;
  --olive-soft: #C7CFAD;

  /* CRE brand reserves (kept for framework diagrams) */
  --teal: #0F8B7E;
  --teal-deep: #084F47;
  --teal-soft: #CFE7E3;

  --plum: #5B3A6E;
  --plum-soft: #D8C8E0;

  /* Typography */
  --display: "Bricolage Grotesque", ui-serif, Georgia, serif;
  --body: "Manrope", ui-sans-serif, system-ui;
  --mono: "JetBrains Mono", ui-monospace, monospace;

  --radius-sm: 6px;
  --radius: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;

  --shadow-sm: 0 1px 0 rgba(14,22,34,0.04), 0 2px 4px rgba(14,22,34,0.04);
  --shadow: 0 1px 0 rgba(14,22,34,0.06), 0 10px 30px rgba(14,22,34,0.06);
  --shadow-lg: 0 1px 0 rgba(14,22,34,0.08), 0 24px 60px rgba(14,22,34,0.10);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{font-size:16px;line-height:1.5;font-weight:400;overflow-x:hidden;}
a{color:inherit;text-decoration:none}
button{border:0;background:none;cursor:pointer;font:inherit;color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:500;letter-spacing:-0.02em;line-height:1.05;color:var(--ink)}
.mono{font-family:var(--mono);font-feature-settings:"ss01" on;}

/* Inline highlight (used in headlines + key phrases) */
.hl{background:var(--butter);padding:0 .15em;border-radius:4px;color:var(--ink);font-style:italic;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hl-teal{background:var(--teal-soft);padding:0 .15em;border-radius:4px;color:var(--teal-deep);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hl-line{border-bottom:3px solid var(--butter);padding-bottom:1px;}

/* Background texture */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(60% 80% at 80% 0%, rgba(245,200,66,0.10) 0%, transparent 60%),
    radial-gradient(50% 60% at 5% 30%, rgba(15,139,126,0.06) 0%, transparent 65%),
    radial-gradient(40% 50% at 95% 85%, rgba(226,106,78,0.06) 0%, transparent 65%);
}
main, .hero, footer, section, nav{position:relative;z-index:1}

/* Subtle grain */
.grain{position:relative}
.grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9'/><feColorMatrix values='0 0 0 0 0.06 0 0 0 0 0.09 0 0 0 0 0.13 0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;border-radius:999px;font-weight:600;font-size:14px;
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.btn-ghost{color:var(--ink-soft);}
.btn-ghost:hover{color:var(--ink);}
.btn-dark{background:var(--ink);color:var(--cream);}
.btn-dark:hover{background:var(--ink-soft);transform:translateY(-1px);}
.btn-butter{background:var(--butter);color:var(--ink);}
.btn-butter:hover{background:var(--butter-deep);transform:translateY(-1px);}
.btn-line{border:1px solid var(--ink);color:var(--ink);background:transparent;}
.btn-line:hover{background:var(--ink);color:var(--cream);}

/* ============ SHARED ============ */
.wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:12px;font-weight:500;
  color:var(--ink-mute);letter-spacing:0.08em;text-transform:uppercase;
}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--ink-mute);}
.section{padding:120px 0;}
.section h2,
.loop-section h2,
.std-band h2,
.vendor-section h2,
.resops-section h2,
.persona-section h2,
.intel-section h2,
.compare-section h2,
.pricing-section h2,
.contact-section h2,
.faq-section h2,
.wave-section h2{
  font-size:clamp(36px,4.5vw,60px);
  max-width:920px;
  font-weight:500;
  line-height:1.05;
}
.section .lede,
.loop-section .lede,
.std-band .lede,
.vendor-section .lede,
.resops-section .lede,
.persona-section .lede,
.intel-section .lede,
.compare-section .lede,
.pricing-section .lede,
.contact-section .lede,
.faq-section .lede{
  font-size:18px;color:var(--ink-mute);max-width:700px;margin-top:20px;line-height:1.55;
}
.divider{border-top:1px solid var(--ink-line);height:1px;}

/* ============ HERO ============ */
.hero{padding:80px 0 100px;position:relative;overflow:hidden;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;background:var(--paper);
  border:1px solid var(--ink-line);padding:8px 14px;border-radius:999px;
  font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--ink-soft);
}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft);}
.hero h1{
  font-size:clamp(46px,7vw,96px);
  font-weight:500;
  letter-spacing:-0.03em;
  margin-top:28px;
  line-height:0.98;
  max-width:1100px;
}
.hero h1 em{font-style:normal;font-family:var(--display);font-weight:500;background:linear-gradient(96deg,var(--ink) 0%,var(--ink) 40%,var(--teal-deep) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero h1 .yellow{background:var(--butter);padding:0 .15em;border-radius:6px;color:var(--ink);font-style:italic;font-family:var(--display);box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hero-sub{
  font-size:20px;line-height:1.55;color:var(--ink-soft);max-width:760px;margin-top:32px;font-weight:400;
}
.hero-sub strong{color:var(--ink);font-weight:600;}
.hero-ctas{margin-top:40px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.hero-ctas .btn{padding:14px 22px;font-size:15px;}
.hero-meta{margin-top:48px;display:flex;gap:40px;flex-wrap:wrap;font-size:13px;color:var(--ink-mute);font-weight:500;}
.hero-meta div{display:flex;align-items:center;gap:8px;}
.hero-meta .check{color:var(--teal);}
.hero-cite{margin-top:20px;font-size:11px;color:var(--ink-mute);font-family:var(--mono);max-width:760px;line-height:1.6;letter-spacing:0.01em;}
.hero-cite sup{color:var(--teal);font-weight:600;margin-right:4px;}
.cite-sup{font-family:var(--mono);font-size:0.4em;color:var(--ink-mute);font-weight:500;font-style:normal;vertical-align:super;margin-left:4px;}

/* Hero visual band */
.hero-band{
  margin-top:80px;padding:36px 32px;border-radius:var(--radius-lg);
  background:var(--ink);color:var(--cream);position:relative;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;
}
.hero-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 100% at 100% 50%, rgba(245,200,66,0.12) 0%, transparent 70%);
}
.hero-band > *{position:relative}
.hero-band .label{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--butter);}
.hero-band .title{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-top:6px;}
.hero-band .stats{display:flex;gap:48px;}
.hero-band .stats .n{font-family:var(--display);font-size:42px;font-weight:500;line-height:1;color:var(--cream);}
.hero-band .stats .n span{color:var(--butter);}
.hero-band .stats .l{font-size:12px;color:var(--cream);opacity:.7;margin-top:6px;text-transform:uppercase;letter-spacing:0.06em;}

/* ============ MARQUEE OF VENDORS ============ */
.marquee-wrap{padding:48px 0;background:var(--cream-deep);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);overflow:hidden;}
.marquee-wrap .label{text-align:center;font-family:var(--mono);font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:28px;}
.marquee{display:flex;gap:64px;animation:scroll 40s linear infinite;width:max-content;}
.marquee span{font-family:var(--display);font-size:24px;font-weight:500;color:var(--ink-soft);letter-spacing:-0.02em;white-space:nowrap;opacity:.65;display:flex;align-items:center;gap:10px;}
.marquee span::before{content:"";width:6px;height:6px;background:var(--teal);border-radius:50%;}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ DATA → DECISIONS → VALUE FLOW ============ */
.flow-section{padding:120px 0;background:var(--paper);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);}
.flow-grid{
  margin-top:64px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;
  border:1px solid var(--ink-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--cream);
}
.flow-col{
  padding:36px 32px;display:flex;flex-direction:column;gap:18px;min-height:560px;
  border-right:1px solid var(--ink-line);position:relative;
}
.flow-col:last-child{border-right:0;}
.flow-col-mid{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;}
.flow-col-mid::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 100% at 50% 0%, rgba(245,200,66,0.10) 0%, transparent 70%);pointer-events:none;}
.flow-col-mid > *{position:relative;z-index:1;}
.flow-col-mid{border-right-color:rgba(255,255,255,0.10);border-left:1px solid rgba(255,255,255,0.10);}

.flow-head{display:flex;align-items:baseline;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ink-line);}
.flow-col-mid .flow-head{border-bottom-color:rgba(255,255,255,0.10);}
.flow-num{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:0.1em;}
.flow-col-mid .flow-num{color:var(--butter);}
.flow-label{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;}
.flow-col-mid .flow-label{color:var(--butter);}

.flow-title{
  font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-0.02em;
  color:var(--ink);line-height:1.15;
}
.flow-col-mid .flow-title{color:var(--cream);}

.flow-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;flex:1;}
.flow-list li{
  position:relative;padding-left:18px;font-size:14.5px;color:var(--ink-soft);line-height:1.5;
}
.flow-list li::before{
  content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--teal);
}
.flow-col-mid .flow-list li{color:#D5DAE3;}
.flow-col-mid .flow-list li::before{background:var(--butter);}
.flow-list li strong{color:var(--ink);font-weight:600;}
.flow-col-mid .flow-list li strong{color:var(--butter);}
.flow-list li .mono{font-family:var(--mono);font-size:13px;color:var(--ink-mute);}

.flow-foot{
  font-family:var(--mono);font-size:11px;color:var(--ink-mute);
  letter-spacing:0.02em;line-height:1.55;
  padding-top:16px;border-top:1px solid var(--ink-line);margin-top:6px;
}
.flow-col-mid .flow-foot{color:var(--butter);border-top-color:rgba(255,255,255,0.10);opacity:0.85;}

/* Must-have block */
.must-have{
  margin-top:64px;background:var(--ink);color:var(--cream);
  border-radius:var(--radius-xl);padding:64px 56px;position:relative;overflow:hidden;
}
.must-have::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(50% 80% at 90% 0%, rgba(245,200,66,0.12) 0%, transparent 65%),
             radial-gradient(40% 60% at 10% 100%, rgba(15,139,126,0.15) 0%, transparent 70%);
  pointer-events:none;
}
.must-have > *{position:relative;}
.must-head{max-width:780px;}
.must-head .eyebrow{color:var(--butter);}
.must-head .eyebrow::before{background:var(--butter);}
.must-head h3{
  margin-top:16px;font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:500;
  letter-spacing:-0.02em;line-height:1.15;color:var(--cream);
}
.must-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.must-item{display:flex;flex-direction:column;gap:14px;}
.must-n{
  font-family:var(--display);font-size:42px;font-weight:500;line-height:1;letter-spacing:-0.04em;
  color:var(--butter);
}
.must-body h5{
  font-family:var(--display);font-size:19px;font-weight:500;letter-spacing:-0.01em;
  color:var(--cream);margin-bottom:8px;
}
.must-body p{font-size:14.5px;color:#B9C0CB;line-height:1.6;}

/* ============ CRE MARKET VALIDATION ============ */
.validation-section{padding:120px 0;background:var(--cream-deep);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);}
.validation-head{max-width:920px;}
.validation-grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.vcard{
  background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius);
  padding:32px 28px;display:flex;flex-direction:column;gap:18px;min-height:480px;
  transition:transform .2s, box-shadow .2s;
}
.vcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.vcard-tag{
  font-family:var(--mono);font-size:11px;color:var(--teal-deep);
  letter-spacing:0.1em;text-transform:uppercase;
  padding-bottom:14px;border-bottom:1px solid var(--ink-line);
}
.vcard h4{
  font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-0.02em;
  color:var(--ink);line-height:1.25;
  padding-bottom:18px;border-bottom:1px solid var(--ink-line);
}
.vcard-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;flex:1;}
.vcard-list li{
  position:relative;padding-left:18px;font-size:14px;color:var(--ink-soft);line-height:1.5;
}
.vcard-list li::before{
  content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--butter-deep);
}
.vcard-list li strong{color:var(--ink);font-weight:700;}
.vcard-list li sup{color:var(--teal-deep);font-weight:600;font-size:10px;}
.vcard-prose{
  font-size:15px;color:var(--ink-soft);line-height:1.65;flex:1;
}
.vcard-prose strong{color:var(--ink);font-weight:600;}
.vcard-prose em{font-style:italic;}
.vcard-prose sup{color:var(--teal-deep);font-weight:600;font-size:10px;}
.vcard-foot{
  font-family:var(--mono);font-size:11px;color:var(--ink-mute);
  padding-top:14px;border-top:1px solid var(--ink-line);
  letter-spacing:0.02em;line-height:1.55;
}
.validation-foot{
  margin-top:48px;padding:32px 36px;background:var(--ink);color:var(--cream);border-radius:var(--radius-lg);
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;
}
.vfoot-mark{
  font-family:var(--display);font-size:42px;color:var(--butter);line-height:1;font-weight:500;
}
.vfoot-text{font-size:16px;color:#D5DAE3;line-height:1.6;}
.vfoot-text strong{color:var(--butter);font-weight:600;}

/* ============ FEATURES OVERVIEW ============ */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:64px;}
.feat-card{
  background:var(--paper);border:1px solid var(--ink-line);
  border-radius:var(--radius);padding:28px 24px 24px;position:relative;overflow:hidden;
  min-height:280px;display:flex;flex-direction:column;
  transition:transform .2s, box-shadow .2s;
}
.feat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.feat-card .num{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:0.1em;}
.feat-card .ico{width:48px;height:48px;border-radius:12px;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;margin:18px 0;}
.feat-card h4{font-size:21px;font-weight:500;letter-spacing:-0.02em;margin-bottom:10px;}
.feat-card p{font-size:14.5px;color:var(--ink-mute);line-height:1.5;flex:1;}
.feat-card .tag{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal-deep);}
.feat-card.alt{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.feat-card.alt h4{color:var(--cream);}
.feat-card.alt p{color:#B9C0CB;}
.feat-card.alt .num,.feat-card.alt .tag{color:var(--butter);}
.feat-card.alt .ico{background:rgba(245,200,66,0.15);}

.pill-row{margin-top:48px;display:flex;flex-wrap:wrap;gap:10px;}
.pill-row .ribbon{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;margin-right:10px;display:flex;align-items:center;}
.pill{padding:8px 16px;border:1px solid var(--ink-line);background:var(--paper);border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-soft);}

/* ============ THE LOOP ============ */
.loop-section{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;padding:120px 0;}
.loop-section::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 80% 0%, rgba(245,200,66,0.10) 0%, transparent 70%),radial-gradient(40% 60% at 10% 100%, rgba(15,139,126,0.15) 0%, transparent 70%);}
.loop-section > *{position:relative;}
.loop-section .eyebrow{color:var(--butter);}
.loop-section .eyebrow::before{background:var(--butter);}
.loop-section h2{color:var(--cream);}
.loop-section .lede{color:#B9C0CB;}

.loop-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:80px;}
.loop-stage{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius);padding:24px 20px;min-height:300px;
  display:flex;flex-direction:column;
  transition:background .2s, transform .2s;
}
.loop-stage:hover{background:rgba(255,255,255,0.07);transform:translateY(-3px);}
.loop-stage .step{font-family:var(--mono);font-size:11px;color:var(--butter);letter-spacing:0.1em;}
.loop-stage .name{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-0.02em;margin:14px 0 8px;color:var(--cream);}
.loop-stage .sub{font-family:var(--mono);font-size:10.5px;color:#9CA4B1;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:18px;}
.loop-stage p{font-size:14px;color:#B9C0CB;line-height:1.55;flex:1;}
.loop-stage .out{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.10);font-size:12px;color:var(--butter);font-family:var(--mono);}

.loop-svg{margin:64px auto 0;max-width:900px;display:block;}

/* ============ 3-2-1-1-0 BAND ============ */
.std-band{padding:120px 0;}
.std-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;}
.std-head .right{font-size:17px;color:var(--ink-mute);line-height:1.55;}
.std-grid{margin-top:80px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.std-card{
  border-radius:var(--radius);padding:32px 22px;min-height:280px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.std-card:nth-child(1){background:var(--plum);color:#fff;}
.std-card:nth-child(2){background:#7B568E;color:#fff;}
.std-card:nth-child(3){background:#9C6FAD;color:#fff;}
.std-card:nth-child(4){background:#B58BC4;color:#1B0E26;}
.std-card:nth-child(5){background:var(--butter);color:var(--ink);}
.std-card .big{font-family:var(--display);font-size:84px;font-weight:500;line-height:1;letter-spacing:-0.05em;}
.std-card .lbl{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.1em;margin-top:12px;opacity:0.85;}
.std-card .ttl{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.02em;margin-top:8px;}
.std-card p{font-size:13.5px;line-height:1.55;margin-top:auto;padding-top:20px;opacity:0.9;}

.std-note{
  margin-top:48px;padding:28px 32px;background:var(--cream-deep);border-radius:var(--radius);
  border-left:4px solid var(--butter);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
}
.std-note .mono{font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;}
.std-note .text{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-0.02em;line-height:1.3;}
.std-note .text strong{background:var(--butter);padding:0 6px;border-radius:4px;}

/* ============ VENDOR COVERAGE ============ */
.vendor-section{padding:120px 0;background:var(--cream-deep);position:relative;}
.vendor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:64px;}
.vendor-grid.vg6{grid-template-columns:repeat(3,1fr);}
.vendor-card{
  background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius);
  padding:28px 24px;min-height:160px;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .2s, box-shadow .2s;
}
.vendor-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.vendor-card .name{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);}
.vendor-card .meta{font-size:12px;color:var(--ink-mute);margin-top:6px;}
.vendor-card .pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px;}
.vendor-card .vp{font-family:var(--mono);font-size:10.5px;padding:4px 9px;border-radius:99px;background:var(--cream-deep);color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.06em;}
.vendor-card .vp.tt{background:var(--teal-soft);color:var(--teal-deep);}
.vendor-card .vp.bb{background:var(--butter-soft);color:#7A5A0A;}

.coverage-bar{
  margin-top:48px;padding:28px 32px;background:var(--ink);color:var(--cream);border-radius:var(--radius);
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;
}
.coverage-bar h4{color:var(--cream);font-size:20px;font-weight:500;}
.coverage-bar p{color:#B9C0CB;font-size:14.5px;margin-top:8px;max-width:520px;}

/* ============ RESOPS BLOCK ============ */
.resops-section{padding:120px 0;}
.resops-grid{display:grid;grid-template-columns:5fr 4fr;gap:80px;align-items:start;margin-top:64px;}
.resops-left h3{font-size:34px;font-weight:500;letter-spacing:-0.02em;line-height:1.1;max-width:520px;}
.resops-left .quote{
  margin-top:32px;padding:24px 28px;background:var(--cream-deep);border-radius:var(--radius);
  font-size:16px;line-height:1.6;color:var(--ink-soft);font-style:italic;border-left:3px solid var(--teal);
}
.resops-left .quote .src{display:block;margin-top:14px;font-style:normal;font-size:12px;color:var(--ink-mute);font-family:var(--mono);text-transform:uppercase;letter-spacing:0.08em;}
.resops-right{display:flex;flex-direction:column;gap:14px;}
.resops-row{
  display:grid;grid-template-columns:auto 1fr;gap:24px;
  padding:24px 0;border-top:1px solid var(--ink-line);
}
.resops-row:last-child{border-bottom:1px solid var(--ink-line);}
.resops-row .n{font-family:var(--mono);font-size:13px;color:var(--ink-mute);padding-top:4px;}
.resops-row h5{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.02em;margin-bottom:8px;}
.resops-row p{font-size:14.5px;color:var(--ink-mute);line-height:1.55;}

/* ============ PERSONA TABS ============ */
.persona-section{padding:120px 0;background:var(--ink);color:var(--cream);}
.persona-section .eyebrow{color:var(--butter);}
.persona-section .eyebrow::before{background:var(--butter);}
.persona-section h2{color:var(--cream);}
.persona-section .lede{color:#B9C0CB;}
.persona-tabs{margin-top:64px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,0.10);padding-bottom:0;}
.persona-tab{
  padding:16px 22px;font-size:14.5px;font-weight:600;color:#9CA4B1;letter-spacing:0;
  border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:color .2s, border-color .2s;
}
.persona-tab.on{color:var(--butter);border-bottom-color:var(--butter);}
.persona-tab:hover{color:var(--cream);}
.persona-panels{margin-top:48px;}
.persona-panel{display:none;grid-template-columns:1fr 1fr;gap:80px;}
.persona-panel.on{display:grid;}
.persona-panel h3{font-size:38px;font-weight:500;letter-spacing:-0.02em;color:var(--cream);line-height:1.1;}
.persona-panel .pts{display:flex;flex-direction:column;gap:20px;}
.persona-panel .pt{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;}
.persona-panel .pt .b{width:8px;height:8px;border-radius:50%;background:var(--butter);margin-top:8px;flex-shrink:0;}
.persona-panel .pt h5{font-family:var(--display);font-size:18px;font-weight:500;color:var(--cream);margin-bottom:4px;}
.persona-panel .pt p{font-size:14.5px;color:#B9C0CB;line-height:1.55;}

/* ============ RESILIENCE INTEL PILLARS ============ */
.intel-section{padding:120px 0;}
.intel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:64px;}
.intel-card{
  background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius);
  padding:32px 24px;min-height:340px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.intel-card .num{font-family:var(--display);font-size:60px;font-weight:500;color:var(--ink-faint);line-height:1;}
.intel-card h4{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-top:8px;}
.intel-card .sub{font-family:var(--mono);font-size:11px;color:var(--teal-deep);text-transform:uppercase;letter-spacing:0.08em;margin-top:6px;}
.intel-card p{font-size:14px;color:var(--ink-mute);line-height:1.55;margin-top:16px;flex:1;}
.intel-card.warm{background:var(--butter);border-color:var(--butter-deep);}
.intel-card.warm .num{color:#D9A914;}
.intel-card.warm .sub{color:#6E4F03;}

/* ============ SOLVES (problems → architecture) ============ */
.solves-section{padding:120px 0;background:var(--cream-deep);}
.solves-grid{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.solve-card{
  background:var(--paper);border:1px solid var(--ink-line);
  border-radius:var(--radius);padding:24px 22px;
  display:flex;flex-direction:column;gap:14px;min-height:280px;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.solve-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--ink-mute);}
.solve-problem{
  font-family:var(--display);font-size:17px;font-weight:500;
  letter-spacing:-0.01em;color:var(--ink);line-height:1.3;
  padding-bottom:12px;border-bottom:1px solid var(--ink-line);
}
.solve-arch{display:flex;gap:5px;flex-wrap:wrap;}
.arch-pill{
  font-family:var(--mono);font-size:10px;
  padding:4px 9px;border-radius:99px;
  text-transform:uppercase;letter-spacing:0.06em;font-weight:500;
  background:var(--cream-deep);color:var(--ink-soft);
  white-space:nowrap;
}
.arch-pill.k{background:var(--teal-soft);color:var(--teal-deep);}
.arch-pill.m{background:#E8DDF0;color:var(--plum);}
.arch-pill.s{background:var(--butter-soft);color:#7A5A0A;}
.arch-pill.t{background:#FCE0D2;color:#9C3A20;}
.arch-pill.tl{background:#D7E5D5;color:#3A5A37;}
.solve-outcome{
  font-size:13.5px;color:var(--ink-mute);line-height:1.55;flex:1;
  padding-top:4px;
}
.solve-outcome::before{content:"→ ";color:var(--teal);font-weight:600;font-family:var(--mono);}
.solves-foot{
  margin-top:48px;text-align:center;
  font-size:14px;color:var(--ink-mute);max-width:760px;
  margin-left:auto;margin-right:auto;line-height:1.6;font-family:var(--body);
}
.solves-foot sup{color:var(--teal);font-weight:600;}

/* ============ ASK FORTTIC ============ */
.ask-section{padding:120px 0;background:var(--ink);color:var(--cream);position:relative;overflow:hidden;}
.ask-section::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 20% 0%, rgba(245,200,66,0.08) 0%, transparent 70%),radial-gradient(40% 60% at 90% 100%, rgba(15,139,126,0.10) 0%, transparent 70%);}
.ask-section > *{position:relative;}
.ask-section .eyebrow{color:var(--butter);}
.ask-section .eyebrow::before{background:var(--butter);}
.ask-section h2{color:var(--cream);}
.ask-section .lede{color:#B9C0CB;}

.ask-grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.ask-card{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius);padding:28px 24px;
  display:flex;flex-direction:column;gap:16px;
  transition:background .2s, transform .2s, border-color .2s;
}
.ask-card:hover{background:rgba(255,255,255,0.07);transform:translateY(-3px);border-color:rgba(245,200,66,0.25);}
.ask-card .ask-cat{
  font-family:var(--mono);font-size:11px;color:var(--butter);
  text-transform:uppercase;letter-spacing:0.1em;
}
.ask-card .ask-q{
  font-family:var(--display);font-size:18px;font-weight:500;
  letter-spacing:-0.01em;color:var(--cream);line-height:1.35;flex:1;
}
.ask-card .ask-q::before{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--butter);margin-right:10px;vertical-align:middle;transform:translateY(-2px);}
.ask-card .ask-meta{
  font-family:var(--mono);font-size:11.5px;color:#9CA4B1;
  padding-top:14px;border-top:1px solid rgba(255,255,255,0.08);line-height:1.5;
}
.ask-footer{
  margin-top:48px;text-align:center;
  font-family:var(--display);font-size:18px;font-weight:400;
  color:#D5DAE3;max-width:680px;margin-left:auto;margin-right:auto;
  letter-spacing:-0.01em;line-height:1.5;
}

/* ============ WAVE GOODBYE ============ */
.wave-section{padding:100px 0;background:var(--coral-soft);overflow:hidden;}
.wave-section h2{font-size:clamp(40px,5vw,72px);font-weight:500;}
.wave-section .scroller{margin-top:32px;display:flex;gap:32px;animation:scroll 30s linear infinite;width:max-content;}
.wave-section .item{display:flex;align-items:center;gap:24px;}
.wave-section .item h3{font-family:var(--display);font-size:48px;font-weight:500;color:var(--ink);letter-spacing:-0.03em;white-space:nowrap;}
.wave-section .item .x{width:32px;height:32px;flex-shrink:0;}

/* ============ ASSESSMENT CTA ============ */
.assess-section{padding:120px 0;}
.assess-card{
  background:var(--butter);border-radius:var(--radius-xl);padding:80px 64px;
  display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:center;position:relative;overflow:hidden;
}
.assess-card::before{
  content:"";position:absolute;right:-100px;bottom:-100px;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.4), transparent 70%);
}
.assess-card h2{font-size:48px;font-weight:500;line-height:1.05;color:var(--ink);}
.assess-card p{font-size:17px;color:var(--ink-soft);margin-top:18px;max-width:560px;}
.assess-card .btn{margin-top:32px;}
.assess-stages{display:flex;flex-direction:column;gap:14px;position:relative;}
.assess-stage{background:rgba(255,255,255,0.6);backdrop-filter:blur(8px);border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;}
.assess-stage .n{font-family:var(--mono);font-size:12px;color:var(--ink-soft);}
.assess-stage .l{font-family:var(--display);font-size:16px;font-weight:500;color:var(--ink);}
.assess-stage .s{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.06em;}

.assess-form-wrap{margin-top:32px;}
fieldset.assess-form-section{border:0;margin:0;padding:0;min-width:0;}
.assess-form{
  background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius-xl);
  padding:48px 44px;
}
.assess-form-intro{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--ink-line);}
.assess-form-intro h3{font-size:clamp(28px,3vw,36px);line-height:1.1;}
.assess-form-intro p{font-size:16px;color:var(--ink-mute);margin-top:12px;line-height:1.55;max-width:720px;}
.assess-form-section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--ink-faint);}
.assess-form-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.assess-form-section h4{
  font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:6px;
}
.assess-form-section .section-hint{font-size:14px;color:var(--ink-mute);margin-bottom:20px;line-height:1.5;}
.assess-form .form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.assess-form .form-row label{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;}
.assess-form input,.assess-form textarea,.assess-form select{
  background:var(--cream);border:1px solid var(--ink-line);border-radius:8px;
  padding:12px 14px;font-family:var(--body);font-size:14.5px;color:var(--ink);outline:none;
  transition:border-color .15s;width:100%;
}
.assess-form input:focus,.assess-form textarea:focus,.assess-form select:focus{border-color:var(--ink);}
.assess-form textarea{resize:vertical;min-height:100px;}
.assess-form .form-row.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.assess-form .form-row.duo > div{display:flex;flex-direction:column;gap:8px;}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.check-item{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
  background:var(--cream);border:1px solid var(--ink-line);border-radius:8px;
  font-size:14px;color:var(--ink-soft);line-height:1.4;cursor:pointer;
}
.check-item input{flex-shrink:0;margin-top:2px;width:auto;}
.check-item:has(input:checked){border-color:var(--teal);background:var(--teal-soft);}
.maturity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.maturity-option{position:relative;}
.maturity-option input{position:absolute;opacity:0;pointer-events:none;}
.maturity-option label{
  display:flex;flex-direction:column;gap:6px;height:100%;
  padding:16px 14px;background:var(--cream);border:1px solid var(--ink-line);
  border-radius:var(--radius);cursor:pointer;transition:border-color .15s, background .15s;
}
.maturity-option .m-num{font-family:var(--mono);font-size:11px;color:var(--ink-mute);}
.maturity-option .m-title{font-family:var(--display);font-size:15px;font-weight:500;color:var(--ink);line-height:1.2;}
.maturity-option .m-sub{font-family:var(--mono);font-size:10px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.06em;}
.maturity-option input:checked + label{border-color:var(--ink);background:var(--butter-soft);}
.maturity-option input:focus-visible + label{outline:2px solid var(--teal);outline-offset:2px;}
.assess-form .btn-submit{margin-top:8px;width:100%;justify-content:center;padding:16px;font-size:15px;}
.assess-form-note{font-size:13px;color:var(--ink-mute);margin-top:16px;line-height:1.5;text-align:center;}

/* Desktop nav — tighter on laptop, relaxed on wide screens */
@media (min-width:1101px) and (max-width:1399px){
  .nav-inner{gap:14px;padding:11px 20px;}
  .brand{font-size:18px;}
  .brand small{font-size:9px;}
  .nav-link, .nav-trigger{font-size:13px;padding:8px 12px;}
  .nav-cta .btn{padding:8px 14px;font-size:12.5px;}
}
@media (min-width:1400px){
  .nav-inner{gap:24px;}
  .nav-links{gap:4px;}
}

.stats-section{padding:80px 0;border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);background:var(--paper);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;}
.stat .n{font-family:var(--display);font-size:64px;font-weight:500;letter-spacing:-0.04em;line-height:1;}
.stat .n.t{color:var(--teal);}
.stat .n.b{color:var(--butter-deep);}
.stat .n.c{color:var(--coral);}
.stat .l{font-size:14px;color:var(--ink-mute);margin-top:10px;max-width:240px;line-height:1.4;}

/* ============ ROI / NO RIP-AND-REPLACE ============ */
.roi-section{padding:80px 0 40px;}
.roi-card{
  background:var(--cream-deep);border:1px solid var(--ink-line);border-radius:var(--radius-xl);
  padding:64px;display:grid;grid-template-columns:5fr 4fr;gap:64px;align-items:center;
}
.roi-left h2{font-size:clamp(32px,3.5vw,44px);line-height:1.1;}
.roi-left p{font-size:16px;color:var(--ink-mute);line-height:1.6;margin-top:18px;max-width:520px;}
.roi-right{display:flex;flex-direction:column;gap:24px;}
.roi-stat{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:20px 0;border-top:1px solid var(--ink-line);}
.roi-stat:first-child{border-top:0;padding-top:0;}
.roi-n{font-family:var(--display);font-size:56px;font-weight:500;letter-spacing:-0.04em;line-height:1;color:var(--teal-deep);min-width:120px;}
.roi-stat:nth-child(1) .roi-n{color:var(--coral);}
.roi-stat:nth-child(2) .roi-n{color:var(--ink);}
.roi-stat:nth-child(3) .roi-n{color:var(--teal-deep);}
.roi-l{font-size:14px;color:var(--ink-mute);line-height:1.5;}

/* ============ COMPARISON ============ */
.compare-section{padding:120px 0;}
.compare-grid{margin-top:64px;display:grid;grid-template-columns:1fr auto 1fr;gap:0;border:1px solid var(--ink-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--paper);}
.compare-col h4{padding:32px 32px 20px;font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.02em;border-bottom:1px solid var(--ink-line);}
.compare-col .row{padding:20px 32px;font-size:14px;color:var(--ink-mute);border-bottom:1px solid var(--ink-line);min-height:78px;display:flex;align-items:center;line-height:1.5;}
.compare-col .row:last-child{border-bottom:0;}
.compare-col.them h4{background:var(--cream-deep);color:var(--ink-mute);}
.compare-col.us{background:var(--ink);color:var(--cream);}
.compare-col.us h4{color:var(--butter);border-bottom-color:rgba(255,255,255,0.10);background:var(--ink-soft);}
.compare-col.us .row{color:#D5DAE3;border-bottom-color:rgba(255,255,255,0.08);}
.compare-col.us .row strong{color:var(--butter);font-weight:600;}
.compare-vs{display:flex;align-items:center;justify-content:center;background:var(--cream-deep);padding:0 20px;font-family:var(--display);font-size:18px;color:var(--ink-mute);font-weight:500;border-left:1px solid var(--ink-line);border-right:1px solid var(--ink-line);}

/* ============ PRICING ============ */
.pricing-section{padding:120px 0;background:var(--cream-deep);}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;}
.price-card{
  background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius-lg);
  padding:40px 32px;display:flex;flex-direction:column;
}
.price-card.featured{background:var(--ink);color:var(--cream);border-color:var(--ink);position:relative;}
.price-card.featured::before{
  content:"Most Adopted";position:absolute;top:18px;right:18px;
  background:var(--butter);color:var(--ink);font-family:var(--mono);font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.08em;padding:6px 12px;border-radius:99px;
}
.price-card .tier{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;}
.price-card.featured .tier{color:var(--butter);}
.price-card .name{font-family:var(--display);font-size:32px;font-weight:500;letter-spacing:-0.02em;margin:8px 0 6px;}
.price-card.featured .name{color:var(--cream);}
.price-card .who{font-size:13px;color:var(--ink-mute);}
.price-card.featured .who{color:#9CA4B1;}
.price-card .cost{margin-top:32px;}
.price-card .cost .big{font-family:var(--display);font-size:52px;font-weight:500;letter-spacing:-0.03em;}
.price-card .cost .unit{font-size:13px;color:var(--ink-mute);margin-top:4px;}
.price-card.featured .cost .unit{color:#9CA4B1;}
.price-card .cta{margin-top:24px;}
.price-card ul{margin-top:32px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;flex:1;}
.price-card li{font-size:14px;color:var(--ink-soft);display:flex;gap:10px;align-items:start;line-height:1.45;}
.price-card.featured li{color:#D5DAE3;}
.price-card li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--teal-soft);flex-shrink:0;margin-top:3px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'><path d='M3 7l3 3 5-6' stroke='%23084F47' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-size:contain;}
.price-card.featured li::before{background-color:rgba(245,200,66,0.20);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'><path d='M3 7l3 3 5-6' stroke='%23F5C842' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");}

/* ============ CONTACT ============ */
.contact-section{padding:120px 0;}
.contact-grid{display:grid;grid-template-columns:5fr 4fr;gap:80px;margin-top:64px;align-items:start;}
.contact-left h2{font-size:clamp(40px,5vw,64px);}
.contact-left p{font-size:17px;color:var(--ink-mute);margin-top:18px;line-height:1.55;max-width:520px;}
.contact-left .email{margin-top:32px;font-family:var(--mono);font-size:14px;color:var(--ink-soft);}
.contact-left .email a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px;}
.form{background:var(--paper);border:1px solid var(--ink-line);border-radius:var(--radius-lg);padding:36px;}
.form h4{font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:24px;}
.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.form-row label{font-family:var(--mono);font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.08em;}
.form input,.form textarea,.form select{
  background:var(--cream);border:1px solid var(--ink-line);border-radius:8px;
  padding:12px 14px;font-family:var(--body);font-size:14.5px;color:var(--ink);outline:none;
  transition:border-color .15s;
}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--ink);}
.form textarea{resize:vertical;min-height:100px;}
.form-row.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-row.duo > div{display:flex;flex-direction:column;gap:8px;}
.form .btn{margin-top:12px;width:100%;justify-content:center;padding:14px;}

/* ============ FAQ ============ */
.faq-section{padding:120px 0;background:var(--cream-deep);}
.faq-grid{margin-top:48px;display:flex;flex-direction:column;border-top:1px solid var(--ink-line);}
.faq-item{border-bottom:1px solid var(--ink-line);padding:24px 0;cursor:pointer;}
.faq-item summary{
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.01em;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:var(--display);font-size:28px;color:var(--ink-mute);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{margin-top:14px;font-size:15px;color:var(--ink-mute);line-height:1.6;max-width:880px;}

/* ============ FINAL CTA ============ */
.final-cta{padding:120px 0;text-align:center;}
.final-cta h2{font-size:clamp(48px,6vw,84px);max-width:none;margin:0 auto;letter-spacing:-0.03em;line-height:1.0;}
.final-cta p{font-size:18px;color:var(--ink-mute);margin:24px auto 0;max-width:600px;}
.final-cta .cta-row{margin-top:40px;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;}
.final-cta .cta-row .btn{padding:18px 32px;font-size:16px;}
.pricing-note{margin-top:32px;text-align:center;font-size:15px;color:var(--ink-mute);}
.pricing-note a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.pricing-note a:hover{color:var(--teal-deep);}
.section-foot{margin-top:28px;}
.section-foot--center{margin-top:32px;text-align:center;}
.section-foot .btn-line{margin-right:16px;}
.section-foot-note{display:inline-block;font-size:14px;color:var(--ink-mute);margin-top:12px;}
.section-foot-note a{color:var(--ink-soft);font-weight:600;}
.section-foot-note a:hover{color:var(--teal-deep);}

/* ============ PLATFORM HUB (homepage) ============ */
.hub-section{background:var(--paper);border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px;}
.hub-card{
  display:flex;flex-direction:column;gap:12px;
  background:var(--cream);border:1px solid var(--ink-line);border-radius:var(--radius);
  padding:28px 24px;min-height:220px;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.hub-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--ink-mute);}
.hub-num{font-family:var(--mono);font-size:11px;color:var(--teal-deep);letter-spacing:0.1em;}
.hub-card h3{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-0.02em;}
.hub-card p{font-size:14.5px;color:var(--ink-mute);line-height:1.55;flex:1;}
.hub-link{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-top:4px;}
.hub-card:hover .hub-link{color:var(--teal-deep);}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:var(--cream);padding:80px 0 32px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;}
.foot-grid h6{font-family:var(--mono);font-size:11px;color:var(--butter);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:18px;font-weight:500;}
.foot-grid p{font-size:13.5px;color:#B9C0CB;line-height:1.55;margin-top:16px;max-width:280px;}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.foot-grid a{font-size:13.5px;color:#D5DAE3;}
.foot-grid a:hover{color:var(--butter);}
.foot-bottom{margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.10);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9CA4B1;}
.foot-bottom .status{display:flex;align-items:center;gap:8px;}
.foot-bottom .status .ind{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(15,139,126,0.15);}

/* ============ RESPONSIVE ============ */
/* Tablet & small laptop: up to 1100px */
@media (max-width:1100px){
  .wrap{padding:0 20px;}
  .section,.flow-section,.loop-section,.std-band,.vendor-section,.resops-section,.persona-section,.intel-section,.compare-section,.pricing-section,.contact-section,.faq-section,.assess-section,.wave-section,.roi-section,.validation-section,.hub-section{padding:80px 0;}
  .stats-section{padding:64px 0;}

  .hero{padding:56px 0 72px;}
  .hero-band{margin-top:56px;padding:28px 24px;grid-template-columns:1fr;gap:24px;}
  .hero-band > div:empty{display:none;}
  .hero-band .stats{flex-wrap:wrap;gap:28px 32px;}

  .feat-grid,.intel-grid,.vendor-grid,.vendor-grid.vg6,.std-grid,.ask-grid,.solves-grid,.validation-grid,.hub-grid{grid-template-columns:repeat(2,1fr);}
  .loop-grid{grid-template-columns:repeat(2,1fr);}
  .pricing-grid,.stats-grid{grid-template-columns:repeat(2,1fr);}
  .flow-grid{grid-template-columns:1fr;}
  .flow-col{border-right:0;border-bottom:1px solid var(--ink-line);min-height:auto;padding:32px 28px;}
  .flow-col-mid{border-left:0;}
  .flow-col:last-child{border-bottom:0;}
  .must-grid{grid-template-columns:1fr;gap:24px;}
  .resops-grid,.std-head,.contact-grid,.assess-card,.persona-panel.on,.roi-card{grid-template-columns:1fr;gap:40px;}
  .compare-grid{grid-template-columns:1fr;}
  .compare-vs{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .coverage-bar{grid-template-columns:1fr;gap:20px;}
  .std-note{grid-template-columns:1fr;gap:16px;padding:24px;}
  .validation-grid .vcard{min-height:auto;}
  .assess-form{padding:32px 24px;}
  .check-grid{grid-template-columns:1fr 1fr;}
  .maturity-grid{grid-template-columns:repeat(2,1fr);}
  .persona-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .persona-tab{flex-shrink:0;}
  .foot-bottom{flex-wrap:wrap;gap:16px;}
}

/* Mobile: up to 680px */
@media (max-width:680px){
  .wrap{padding:0 16px;}
  .section,.flow-section,.loop-section,.std-band,.vendor-section,.resops-section,.persona-section,.intel-section,.compare-section,.pricing-section,.contact-section,.faq-section,.assess-section,.wave-section,.roi-section,.validation-section,.hub-section{padding:64px 0;}
  .stats-section{padding:48px 0;}
  .final-cta{padding:64px 0;}

  .hero{padding:40px 0 56px;}
  .hero h1{font-size:clamp(32px,9vw,48px);}
  .hero-sub{font-size:17px;margin-top:24px;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn{width:100%;justify-content:center;}
  .hero-meta{gap:16px 24px;margin-top:32px;}
  .hero-band{margin-top:40px;padding:24px 20px;}
  .hero-band .title{font-size:18px;}
  .hero-band .stats{flex-direction:column;gap:20px;}
  .hero-band .stats .n{font-size:32px;}

  .feat-grid,.intel-grid,.vendor-grid,.vendor-grid.vg6,.std-grid,.loop-grid,.pricing-grid,.stats-grid,.ask-grid,.solves-grid,.validation-grid,.hub-grid{grid-template-columns:1fr;}
  .feat-card,.vendor-card,.solve-card{min-height:auto;}
  .foot-grid{grid-template-columns:1fr;gap:28px;}
  .assess-card h2{font-size:clamp(28px,7vw,36px);}
  .assess-form{padding:28px 20px;}
  .assess-form .form-row.duo{grid-template-columns:1fr;}
  .check-grid{grid-template-columns:1fr;}
  .maturity-grid{grid-template-columns:1fr;}
  .form{padding:24px 20px;}
  .form-row.duo{grid-template-columns:1fr;}
  .faq-item summary{font-size:17px;gap:12px;align-items:flex-start;}
  .faq-item summary::after{flex-shrink:0;}
  .stat .n{font-size:48px;}
  .roi-card{padding:32px 24px;}
  .roi-n{font-size:40px;min-width:0;}
  .price-card{padding:32px 24px;}
  .price-card .name{font-size:26px;}
  .price-card .cost .big{font-size:40px;}
  .compare-col h4{padding:24px 20px 16px;font-size:18px;}
  .compare-col .row{padding:16px 20px;min-height:auto;}
  .resops-left h3{font-size:26px;}
  .std-note .text{font-size:18px;}
  .wave-section .item h3{font-size:clamp(28px,8vw,40px);}
  .marquee span{font-size:18px;}
  .ask-footer{font-size:16px;padding:0 8px;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .foot-bottom > div:first-child span{display:block;margin-left:0!important;margin-top:12px;max-width:100%!important;}
  .final-cta h2{font-size:clamp(32px,8vw,48px);}
  .final-cta .cta-row{flex-direction:column;align-items:stretch;}
  .final-cta .cta-row .btn{width:100%;max-width:320px;margin:0 auto;justify-content:center;}
  .section h2,.loop-section h2,.std-band h2,.vendor-section h2,.resops-section h2,.persona-section h2,.intel-section h2,.compare-section h2,.pricing-section h2,.contact-section h2,.faq-section h2,.wave-section h2{font-size:clamp(28px,7vw,40px);}
  .section .lede,.loop-section .lede,.std-band .lede,.vendor-section .lede,.resops-section .lede,.persona-section .lede,.intel-section .lede,.compare-section .lede,.pricing-section .lede,.contact-section .lede,.faq-section .lede{font-size:16px;}
}
