

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --paper:#ffffff;--alt:#f4f5f3;--ink:#13222c;--body:#475560;--muted:#79858d;
  --faint:#9aa4a9;--line:#e4e5e1;--line-strong:#cdd1cc;--accent:#1f4e5f;
  --accent-bg:rgba(31,78,95,0.07);--sev-high:#9c3b2e;--sev-med:#a9772a;
  --display:'Source Serif 4',Georgia,serif;--sans:'Public Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--body);font-family:var(--sans);font-weight:400;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:rgba(31,78,95,0.14);}
a{color:inherit;text-decoration:none;cursor:pointer;}
.wrap{max-width:1180px;margin:0 auto;padding:0 48px;}
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);}
[data-reveal].visible{opacity:1;transform:translateY(0);}
[data-reveal-stagger]{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);}
[data-reveal-stagger].visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal-stagger], .sc-bar-fill { transition-duration: 0.01ms !important; }
}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;background:#fff;border-bottom:1px solid var(--line);}
.nav-logo{display:flex;align-items:baseline;gap:10px;}
.nav-logo .mark{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:0.04em;color:var(--ink);}
.nav-logo .sub{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0.24em;color:var(--muted);}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;}
.nav-links a{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--body);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--paper);background:var(--ink);padding:11px 22px;transition:background .2s;white-space:nowrap;}
.nav-cta:hover{background:var(--accent);}

/* hamburger: hidden on desktop */
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;align-items:center;justify-content:center;z-index:201;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s;}

/* mobile overlay */
#mobile-menu{
  display:none;position:fixed;top:57px;left:0;right:0;bottom:0;
  background:#fff;z-index:199;flex-direction:column;
  padding:0;overflow-y:auto;
  border-top:1px solid var(--line);
}
#mobile-menu.open{display:flex;}
.mob-link{font-family:var(--sans);font-size:17px;font-weight:500;color:var(--ink);padding:20px 24px;border-bottom:1px solid var(--line);display:block;}
.mob-cta{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--paper);background:var(--ink);padding:18px 24px;margin:24px 18px;text-align:center;display:block;}

/* ── TYPOGRAPHY ── */
h1.display{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.1;letter-spacing:-0.02em;color:var(--ink);}
h2.display{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,40px);line-height:1.16;letter-spacing:-0.015em;color:var(--ink);}
h3.display{font-family:var(--display);font-weight:400;font-size:clamp(19px,2.2vw,26px);line-height:1.22;color:var(--ink);}
.kicker{font-family:var(--sans);display:block;font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);}
.kicker .idx{color:var(--accent);font-weight:700;}
.body{font-family:var(--sans);font-size:15px;color:var(--body);line-height:1.8;}
.body-lg{font-family:var(--sans);font-size:16.5px;color:var(--body);line-height:1.72;}
.body-sm{font-family:var(--sans);font-size:13.5px;color:var(--body);line-height:1.7;}

/* ── BUTTONS ── */
.btn{display:inline-block;font-family:var(--sans);font-size:13.5px;font-weight:600;padding:13px 24px;cursor:pointer;border:none;transition:background .2s,color .2s,border-color .2s;text-align:center;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary:hover{background:var(--accent);}
.btn-secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-secondary:hover{background:var(--ink);color:var(--paper);}

/* ── LAYOUT ── */
.section{padding:80px 0;}
.section-sm{padding:56px 0;}
.rule{border-top:1px solid var(--line);}
.rule-strong{border-top:1px solid var(--line-strong);}
.bg-alt{background:var(--alt);}

/* ── SCORECARD ── */
.scorecard{background:var(--paper);border:1px solid var(--line-strong);box-shadow:0 24px 48px -32px rgba(19,34,44,0.26);}
.sc-head{display:flex;justify-content:space-between;align-items:baseline;padding:16px 22px;border-bottom:1px solid var(--line);}
.sc-title{font-family:var(--display);font-size:15px;font-weight:500;color:var(--ink);}
.sc-tag{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);padding:3px 8px;}
.sc-row{display:grid;grid-template-columns:1fr 72px 52px;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);}
.sc-row:last-of-type{border-bottom:none;}
.sc-dim{font-family:var(--sans);font-size:13px;color:var(--ink);}
.sc-bar{height:5px;background:var(--line);position:relative;overflow:hidden;}
.sc-bar-fill{position:absolute;left:0;top:0;height:100%;width:100% !important;transform:scaleX(0);transform-origin:left;transition:transform 1000ms cubic-bezier(.2,.6,.2,1);}
.scorecard.in-view .sc-bar-fill{transform:scaleX(var(--fill-pct,1));}
.scorecard.in-view .sc-row:nth-child(2) .sc-bar-fill{transition-delay:350ms;}
.scorecard.in-view .sc-row:nth-child(3) .sc-bar-fill{transition-delay:450ms;}
.scorecard.in-view .sc-row:nth-child(4) .sc-bar-fill{transition-delay:550ms;}
.scorecard.in-view .sc-row:nth-child(5) .sc-bar-fill{transition-delay:650ms;}
.scorecard.in-view .sc-row:nth-child(6) .sc-bar-fill{transition-delay:750ms;}
.sc-label{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-align:right;color:var(--muted);}
.sc-foot{padding:12px 22px;font-family:var(--sans);font-size:11px;color:var(--faint);border-top:1px solid var(--line);line-height:1.5;}

/* ── CHIPS ── */
.chip{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:3px 8px;color:var(--paper);display:inline-block;}
.chip.p1{background:var(--sev-high);}
.chip.p2{background:var(--sev-med);}
.chip.p3{background:var(--accent);}

/* ── MATRIX TABLE (home only, desktop + tablet) ── */
table.matrix{width:100%;border-collapse:collapse;table-layout:fixed;}
table.matrix thead th{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-align:left;color:var(--muted);padding:0 14px 12px 0;border-bottom:1.5px solid var(--line-strong);}
table.matrix tbody td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--body);vertical-align:top;line-height:1.5;}
table.matrix tbody td:first-child{color:var(--ink);font-weight:600;}
table.matrix tbody td.decision{color:var(--accent);font-weight:600;font-size:12.5px;}
table.matrix tbody tr:last-child td{border-bottom:none;}
table.matrix tbody tr:hover td{background:var(--accent-bg);}

/* ── DELIVER TABLE → cards on mobile ── */
.deliver-table{width:100%;border-collapse:collapse;}
.deliver-table thead th{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-align:left;color:var(--muted);padding:0 14px 12px 0;border-bottom:1.5px solid var(--line-strong);}
.deliver-table tbody td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--body);vertical-align:top;line-height:1.5;}
.deliver-table tbody td:first-child{color:var(--ink);font-weight:600;width:36%;}
.deliver-table tbody tr:last-child td{border-bottom:none;}

/* ── COMPARE TABLE → cards on mobile ── */
table.compare{width:100%;border-collapse:collapse;}
table.compare thead th{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-align:left;color:var(--muted);padding:0 16px 12px 0;border-bottom:1.5px solid var(--line-strong);}
table.compare tbody td{padding:15px 16px 15px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--body);vertical-align:top;line-height:1.5;}
table.compare tbody td:first-child{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;width:160px;}
table.compare tbody td.aiux{color:var(--ink);font-weight:500;}
table.compare tbody tr:last-child td{border-bottom:none;}

/* ── IMPACT TABLE → cards on mobile ── */
table.impact{width:100%;border-collapse:collapse;}
table.impact thead th{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-align:left;color:var(--muted);padding:0 14px 12px 0;border-bottom:1.5px solid var(--line-strong);}
table.impact tbody td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--body);vertical-align:top;line-height:1.5;}
table.impact tbody td:first-child{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;}
table.impact tbody tr:last-child td{border-bottom:none;}

/* ── TABLE CARDS (replaces tables on ≤768px) ── */
.tcard{display:none;flex-direction:column;gap:12px;margin-top:0;}
.tcard-item{background:var(--alt);border:1px solid var(--line-strong);padding:18px 16px;}
.tcard-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.tcard-title{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px;line-height:1.35;}
.tcard-body{font-family:var(--sans);font-size:13px;color:var(--body);line-height:1.65;}
.tcard-meta{display:flex;gap:8px;align-items:center;margin-top:10px;}

/* ── FAQs ── */
.faq-item{padding:18px 0;border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-q{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.faq-icon{font-size:18px;color:var(--accent);transition:transform .25s;flex-shrink:0;}
.faq-a{font-family:var(--sans);font-size:14px;color:var(--body);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .25s;}
.faq-item.open .faq-a{max-height:400px;margin-top:12px;}
.faq-item.open .faq-icon{transform:rotate(45deg);}

/* ── FIT LISTS ── */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;}
.fit-col-title{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid var(--line-strong);margin-bottom:16px;}
.fit-col-title.yes{color:var(--accent);}
.fit-col-title.no{color:var(--muted);}
.fit-list{display:flex;flex-direction:column;gap:10px;}
.fit-item{display:flex;gap:10px;font-family:var(--sans);font-size:13.5px;color:var(--body);line-height:1.6;}
.fit-glyph{color:var(--faint);flex-shrink:0;font-size:11px;padding-top:3px;}

/* ── DUR BOX ── */
.dur-box{background:var(--ink);padding:32px 28px;color:var(--paper);}
.dur-num{font-family:var(--display);font-size:48px;font-weight:400;line-height:1;letter-spacing:-0.03em;}
.dur-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:10px;}
.dur-price{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--paper);margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,0.15);line-height:1.4;}
.dur-price-label{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:4px;}

/* ── FOOTER ── */
footer{padding:40px 0;border-top:1px solid var(--line-strong);}
.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:40px;}
.footer-brand{}
.footer-logo{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;}
.footer-logo .mark{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:0.04em;color:var(--ink);}
.footer-logo .sub{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:0.22em;color:var(--muted);}
.footer-tagline{font-family:var(--sans);font-size:12.5px;color:var(--muted);}
.footer-cols{display:grid;grid-template-columns:repeat(3,150px);gap:28px;}
.footer-col-title{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;}
.footer-col-links{display:flex;flex-direction:column;gap:8px;}
.footer-col-links a{font-family:var(--sans);font-size:13px;color:var(--body);transition:color .2s;}
.footer-col-links a:hover{color:var(--accent);}
.footer-copy{font-family:var(--sans);font-size:11.5px;color:var(--faint);margin-top:28px;padding-top:20px;border-top:1px solid var(--line);}

/* ── HAMBURGER FIX (common to all pages, ≤900px) ── */
@media (max-width: 900px) {
  .nav-hamburger { display: flex !important; margin-left: auto; }
  .nav-cta { display: none !important; }
  .nav-links { display: none !important; }
}
