/* ============================================================
   TAMAZIA AUDIT — design system + components
   ============================================================ */
:root{
  --ox:#5A1A2B; --ox-deep:#2A0C14; --ox-mid:#7A2A3B; --ox-soft:#8a4453;
  --gold:#C9A87C; --gold-light:#E8D4B0; --gold-pale:#F5EDD8;
  --cream:#F8F4EE; --cream-2:#F1EAE0; --paper:#FFFFFF; --ink:#1A0A0E;
  --muted:#6E625F; --muted-2:#9a8f8b; --line:#E7DDD0; --line-2:#D8CCBC;
  --red:#B3261E; --red-deep:#8A1C16; --red-bg:#F7E7E4; --amber:#B6791F; --amber-bg:#F6ECD8;
  --green:#2F7A4A; --green-bg:#E4EFE7; --blue:#2A5DA8;
  --shadow:0 1px 2px rgba(42,12,20,.04),0 8px 24px rgba(42,12,20,.06);
  --shadow-lg:0 2px 6px rgba(42,12,20,.06),0 22px 54px rgba(42,12,20,.11);
  --r:14px;
  --serif:'Fraunces',Georgia,serif; --body:'Newsreader',Georgia,serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.mono{font-family:var(--mono)} .serif{font-family:var(--serif)}
.num{font-family:var(--serif);font-variant-numeric:tabular-nums;line-height:.9}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.01em}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);font-weight:500}
.eyebrow.on-dark{color:var(--gold)}
.capt{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.4;margin-top:2px}

/* ---- shell: two-pane console ---- */
.tz-shell{display:grid;grid-template-columns:256px 1fr;gap:0;max-width:1360px;margin:0 auto;min-height:100vh}
/* Rail: NO inner scroll — sizes to its content, sticky to the top, hands off to the PAGE scroll if taller than the
   viewport (founder: "left pane should not have any scrolling element; full info in one view"). */
.rail{background:linear-gradient(168deg,var(--ox-deep),#1c0810 78%);color:var(--gold-pale);padding:18px 18px 18px;position:sticky;top:0;align-self:flex-start;border-right:1px solid #170709;display:flex;flex-direction:column;min-height:100svh;max-height:100svh;overflow-y:auto;overscroll-behavior:contain}
.rail-inner{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.rail-prep{margin-top:auto}   /* push the credential + socials to the very bottom so the rail fills with NO empty gap or stray line */
.rail::-webkit-scrollbar{width:6px} .rail::-webkit-scrollbar-thumb{background:rgba(201,168,124,.25);border-radius:3px}
.content{padding:22px 30px 44px;min-width:0;max-width:1040px}

/* rail bits */
.rail-brand{display:flex;align-items:center;gap:9px;margin-bottom:18px}
.rail-brand .mark{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 32% 30%,var(--gold-light),var(--gold) 45%,var(--ox) 130%)}
.rail-brand b{font-family:var(--serif);font-size:18px;color:#fff;font-weight:400}
.rail-brand small{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;display:block}
.rail h1{color:#fff;font-size:20px;line-height:1.12;margin-bottom:5px}
.rail-report{margin-bottom:7px}
.rail-report .rr-name{font-family:var(--serif,'Fraunces',serif);font-size:12.5px;letter-spacing:.01em;color:var(--gold-light);line-height:1.2}
.rail-report .rr-sub{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:#E8B4AE;opacity:.78;line-height:1.4;margin-top:2px}
.rail-meta{font-family:var(--mono);font-size:9.5px;color:var(--gold-light);opacity:.62;letter-spacing:.02em;line-height:1.5}
.rail-gauge{display:grid;place-items:center;margin:12px 0 5px}
.rail-band{text-align:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#E8B4AE;margin-bottom:14px}
.rail-exposure{text-align:center;padding:10px;border:1px solid rgba(201,168,124,.22);border-radius:10px;background:rgba(179,38,30,.08);margin-bottom:12px}
.rail-exposure .v{font-family:var(--serif);font-size:28px;color:#E8B4AE;line-height:1.2;padding:1px 0}
.rail-exposure .l{font-family:var(--mono);font-size:9px;letter-spacing:.05em;color:var(--gold-light);opacity:.7;text-transform:uppercase;margin-top:3px}
.rail-kpis{display:none}
.rail-kpi{border:1px solid rgba(201,168,124,.16);border-radius:8px;padding:8px 10px}
.rail-kpi .v{font-family:var(--serif);font-size:20px;color:#fff;line-height:.9}
.rail-kpi .v.red{color:#E8B4AE}
.rail-kpi .l{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--gold-light);opacity:.65;text-transform:uppercase;margin-top:3px}
.rail-navtitle{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin:6px 0 8px;opacity:.8}
.railnav{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}
.railnav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--gold-light);font-family:var(--body);font-size:13px;padding:7px 10px;border-radius:8px;cursor:pointer;transition:.13s}
.railnav button:hover{background:rgba(201,168,124,.08)}
.railnav button.active{background:rgba(201,168,124,.14);color:#fff}
.railnav button .ni{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.railnav button .nc{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--gold);opacity:.8}
.rail-fixes{border-top:1px solid rgba(201,168,124,.18);padding-top:14px;margin-bottom:16px}
.rail-fix{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start;padding:7px 0}
.rail-fix .n{font-family:var(--serif);font-size:17px;line-height:1}
.rail-fix .t{font-family:var(--body);font-size:11.5px;color:var(--gold-light);line-height:1.3}
.rail-fix .e{font-family:var(--serif);font-size:12px;color:#E8B4AE;white-space:nowrap}
.rail-cta{display:block;width:100%;text-align:center;background:var(--gold);color:var(--ox-deep);font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:12px;border-radius:10px;border:none;cursor:pointer;font-weight:500;transition:.13s}
.rail-cta:hover{background:var(--gold-light)}
.rail-trust{text-align:center;font-family:var(--mono);font-size:9px;color:var(--gold-light);opacity:.6;margin-top:12px;line-height:1.6;letter-spacing:.02em}

/* ---- content ---- */
.report-section{padding-top:4px;padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--line);scroll-margin-top:14px}
.report-section:last-child{border-bottom:0;margin-bottom:0}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pane-head{margin-bottom:13px}
.pane-head .eyebrow{margin-bottom:7px;display:block}
.pane-head h2{font-size:23px;color:var(--ox-deep);margin-bottom:5px}
.pane-head p{font-family:var(--body);font-size:13px;color:var(--muted);max-width:720px;line-height:1.5}

.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);position:relative}
.card.pad{padding:14px 16px}
.card.ox{background:linear-gradient(158deg,var(--ox),var(--ox-deep));border-color:var(--ox-deep);color:var(--gold-pale)}
.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.card-h .t{font-family:var(--serif);font-size:14px;color:var(--ink)}
.card.ox .card-h .t{color:#fff}
.card-h .meta{font-family:var(--mono);font-size:9.5px;color:var(--muted-2);letter-spacing:.04em;text-transform:uppercase}
.hairline{height:1px;background:var(--line);border:0;margin:15px 0}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:1fr 1fr;align-items:start}.g3{grid-template-columns:1fr 1fr 1fr}  /* align-items:start: a short column (Tech & tracking) leaves no wasted space below */
.g-5-7{grid-template-columns:5fr 7fr}.g-7-5{grid-template-columns:7fr 5fr}.g-4-8{grid-template-columns:4fr 8fr}.g-8-4{grid-template-columns:8fr 4fr}
.flexrow{display:flex;gap:11px;flex-wrap:wrap}
.subhead{display:flex;align-items:baseline;gap:10px;margin:18px 0 9px}
.subhead h3{font-size:17px;color:var(--ox-deep)} .subhead .nt{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:.05em}

/* KPI */
.kpi{display:flex;flex-direction:column;gap:3px}
.kpi .v{font-family:var(--serif);font-size:26px;line-height:.85;font-variant-numeric:tabular-nums}
.kpi .l{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kpi.red .v{color:var(--red)} .kpi.on-dark .v{color:#fff} .kpi.on-dark .l{color:var(--gold)}

/* gauge / dial */
.gauge{position:relative;display:grid;place-items:center}
.gauge .ctr{position:absolute;text-align:center}
.gauge .grade{font-family:var(--serif);line-height:.8}
.gauge .sc{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--muted)}
.gauge.on-dark .sc{color:var(--gold-light)}

/* bars */
.barset{display:flex;flex-direction:column;gap:10px}
.bar-row{display:grid;grid-template-columns:128px 1fr auto;gap:11px;align-items:center}
.bar-row .lbl{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:right}
.bar-row .lbl.you{color:var(--red);font-weight:500}
.bar-track{height:9px;background:var(--cream-2);border-radius:30px;overflow:hidden}
.bar-fill{height:100%;border-radius:30px;background:linear-gradient(90deg,var(--ox),var(--red))}
.bar-fill.gold{background:linear-gradient(90deg,var(--ox-mid),var(--gold))}
.bar-fill.amber{background:linear-gradient(90deg,var(--ox-mid),var(--amber))}
.bar-row .val{font-family:var(--serif);font-size:14px;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}
.bar-row .val.red{color:var(--red)}

/* heatmap */
.heat{display:grid;grid-template-columns:auto repeat(5,1fr);grid-template-rows:repeat(5,1fr) auto;gap:4px}
.heat .cell{aspect-ratio:1.5;border-radius:7px;display:grid;place-items:center;font-family:var(--serif);font-size:15px;color:#fff}
.heat .axL{font-family:var(--mono);font-size:9px;color:var(--muted-2);writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center}
.heat .axB{font-family:var(--mono);font-size:9px;color:var(--muted-2);text-align:center;padding-top:3px}
.h0{background:var(--cream-2);color:var(--muted-2)} .h1{background:#EAD9B7;color:#6b5226} .h2{background:var(--gold);color:#4a3413}
.h3{background:#B5713B;color:#fff} .h4{background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff;box-shadow:0 6px 16px rgba(179,38,30,.28)}

/* trajectory */
.traj-pts{display:flex;justify-content:space-between;margin-top:8px}
.traj-pt{text-align:center;font-family:var(--mono);font-size:10px;color:var(--muted)}
.traj-pt b{font-family:var(--serif);font-size:20px;display:block} .traj-pt.now b{color:var(--red)} .traj-pt.end b{color:var(--green)}

/* pills + dots */
.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:30px;white-space:nowrap}
.pill.fail{background:var(--red-bg);color:var(--red-deep)} .pill.warn{background:var(--amber-bg);color:var(--amber)}
.pill.pass{background:var(--green-bg);color:var(--green)} .pill.na{background:var(--cream-2);color:var(--muted-2)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.dot.r{background:var(--red)} .dot.a{background:var(--amber)} .dot.g{background:var(--green)} .dot.n{background:var(--muted-2)}

/* dim scorecard */
.dimrow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.dimrow:last-child{border-bottom:0}
.dimrow .nm{font-family:var(--body);font-size:13.5px;color:var(--ink)} .dimrow .sub{font-family:var(--mono);font-size:9px;color:var(--muted-2);margin-top:2px}

/* tables */
.tz-table{width:100%;border-collapse:collapse;font-family:var(--body);font-size:12px}
.tz-table th{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 9px;border-bottom:1.5px solid var(--ox);font-weight:500}
.tz-table td{padding:6px 9px;border-bottom:1px solid var(--line);vertical-align:middle}
.tz-table tr:last-child td{border-bottom:0}
.tz-table .nr{color:var(--red);font-family:var(--mono);font-size:10.5px}
.tz-table .rk{font-family:var(--mono);font-size:10px;color:var(--muted)}
.tz-table.cmp .you-row td{background:var(--red-bg)}
.cmpv{font-family:var(--serif);font-size:15px;font-variant-numeric:tabular-nums}
.cmpv.good{color:var(--green)} .cmpv.mid{color:var(--amber)} .cmpv.bad{color:var(--red)}

/* issue list */
.issuelist{display:flex;flex-direction:column}
.issrow{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.issrow:last-child{border-bottom:0}
.iss-t{font-family:var(--body);font-size:13.5px;color:var(--ink)} .iss-s{font-family:var(--mono);font-size:9.5px;color:var(--muted-2);margin-top:2px}
.iss-fix{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ox);background:var(--cream-2);padding:4px 9px;border-radius:6px;cursor:help;white-space:nowrap}

/* security grid */
.secgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.seccell{border:1px solid var(--line);border-radius:9px;padding:10px 11px}
.seccell.no{border-color:rgba(179,38,30,.3);background:linear-gradient(180deg,#fff,var(--red-bg))}
.seccell.ok{border-color:rgba(47,122,74,.3)}

/* engine grid */
.enggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.engcell{border:1px solid var(--line);border-radius:10px;padding:9px;text-align:center}
.engcell .nm{font-family:var(--mono);font-size:9px;letter-spacing:.03em;color:var(--ink);text-transform:uppercase;margin-bottom:2px}
.engcell .st{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);margin-top:2px}
.engcell.no{border-color:rgba(179,38,30,.32);background:linear-gradient(180deg,#fff,var(--red-bg))} .engcell.no .st{color:var(--red)}

/* checklist */
.checklist{display:flex;flex-direction:column;gap:3px}
.checkrow{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}
.checkrow:last-child{border-bottom:0}
.checkrow .xmark{font-family:var(--mono);font-size:15px;color:var(--red);line-height:1.1}

/* urgency callout */
.urgent{display:flex;align-items:flex-start;gap:11px;background:linear-gradient(100deg,var(--red-bg),#fff);border:1px solid rgba(179,38,30,.3);border-left:4px solid var(--red);border-radius:10px;padding:13px 15px}
.upulse{width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:5px;flex-shrink:0;box-shadow:0 0 0 0 rgba(179,38,30,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(179,38,30,.5)}70%{box-shadow:0 0 0 9px rgba(179,38,30,0)}100%{box-shadow:0 0 0 0 rgba(179,38,30,0)}}
.urgent .ut{font-family:var(--serif);font-size:15px;color:var(--ox-deep);line-height:1.25} .urgent .us{font-family:var(--body);font-size:12.5px;color:var(--muted);margin-top:3px}

/* findings / bingo */
.finding{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);margin-bottom:10px;transition:.16s}
.finding:hover{box-shadow:var(--shadow);border-color:var(--line-2)}
.finding>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 14px}
.finding>summary::-webkit-details-marker{display:none}
.finding .sev{width:4px;align-self:stretch;border-radius:3px;background:var(--red);min-height:32px} .finding .sev.a{background:var(--amber)}
.finding .ftitle{font-family:var(--body);font-size:13px;color:var(--ink);line-height:1.25}
.finding .ftitle .tag{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox);background:var(--cream-2);padding:2px 7px;border-radius:5px;margin-right:8px}
.finding .fexp{font-family:var(--serif);font-size:15px;color:var(--red);white-space:nowrap}
.finding .chev{font-family:var(--mono);color:var(--muted-2);transition:.2s;font-size:12px} .finding[open] .chev{transform:rotate(90deg)}
.finding .fbody{padding:0 14px 13px 30px;display:grid;gap:8px}
.layer{display:grid;grid-template-columns:108px 1fr;gap:13px;align-items:start;padding-top:10px;border-top:1px dashed var(--line-2)}
.layer .lk{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);padding-top:2px}
.layer .lv{font-family:var(--body);font-size:13px;color:#3a2d30;line-height:1.5}
.layer .lv .quote{font-style:italic;color:var(--ox);border-left:2px solid var(--gold);padding-left:9px;display:block;margin-top:5px}
.layer.fix .lv{background:var(--green-bg);border-radius:8px;padding:8px 11px} .layer.fix .lk{color:var(--green)}
.shot{background:repeating-linear-gradient(135deg,var(--cream-2) 0 9px,#ece3d4 9px 18px);border:1px solid var(--line-2);border-radius:8px;min-height:84px;display:grid;place-items:center;font-family:var(--mono);font-size:10px;color:var(--muted);text-align:center;padding:10px}

/* framework collapsibles */
.fw{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:9px;background:var(--paper)}
.fw>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:46px 1fr auto auto;gap:11px;align-items:center;padding:10px 14px}
.fw>summary::-webkit-details-marker{display:none}
.fw .code{font-family:var(--mono);font-size:11px;font-weight:500;color:#fff;background:var(--ox);border-radius:7px;padding:7px 4px;text-align:center}
.fw .fwn{font-family:var(--serif);font-size:13.5px;color:var(--ink)} .fw .fwr{font-family:var(--mono);font-size:9px;color:var(--muted-2);margin-top:2px}
.fw .cnt{display:flex;gap:5px} .fw .cnt span{font-family:var(--mono);font-size:9px;padding:2px 6px;border-radius:5px}
.fw .cnt .c{background:var(--red-bg);color:var(--red-deep)} .fw .cnt .h{background:var(--amber-bg);color:var(--amber)} .fw .cnt .s{background:var(--cream-2);color:var(--muted)}
.fw .fwe{font-family:var(--serif);font-size:16px;color:var(--red);white-space:nowrap}
.fw .fwbody{padding:0 14px 13px 14px;font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.5}
.fw .fwbody .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);margin:11px 0 3px}
.fw .fwbody .action{background:var(--cream-2);border-radius:8px;padding:9px 11px;font-size:12px}

/* tech facts */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fact{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:7px 0;font-family:var(--mono);font-size:11px}
.fact .k{color:var(--muted)} .fact .v{color:var(--ink)}

/* ---- commerce ---- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.price{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--paper);display:flex;flex-direction:column;position:relative}
.price.rec{border:1.5px solid var(--ox);box-shadow:var(--shadow-lg)}
.price .badge{position:absolute;top:-10px;left:20px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.price .badge.rec{background:var(--ox);color:var(--gold-light)} .price .badge.pop{background:var(--gold);color:var(--ox-deep);left:auto;right:20px}
.price .tier{font-family:var(--serif);font-size:20px;color:var(--ox-deep)}
.price .blurb{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.35;margin:3px 0 7px;min-height:32px}
.price .pr{font-family:var(--serif);font-size:30px;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.price .pr b{font-weight:400;color:var(--ox-deep)}
.price .pr .was{font-size:15px;color:var(--muted-2);text-decoration:line-through;text-decoration-color:var(--red);order:-1}
.price .pr small{font-family:var(--mono);font-size:11px;color:var(--muted)}
.price .wk{font-family:var(--mono);font-size:9.5px;color:var(--gold);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.price ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.price li{font-family:var(--body);font-size:12.5px;color:#3a2d30;padding-left:17px;position:relative;line-height:1.35}
.price li::before{content:'';position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.price .more{max-height:0;overflow:hidden;transition:max-height .3s ease}
.price.open .more{max-height:520px}
.price .moretoggle{font-family:var(--mono);font-size:10px;color:var(--ox);background:none;border:none;cursor:pointer;text-align:left;padding:4px 0;letter-spacing:.03em}
.price .spacer{flex:1}
.btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:11px 15px;border-radius:10px;border:1px solid var(--ox);background:var(--paper);color:var(--ox);text-align:center;cursor:pointer;transition:.13s;display:inline-block;text-decoration:none}
.btn:hover{background:var(--cream-2)} .btn.solid{background:var(--ox);color:var(--gold-light);border-color:var(--ox)} .btn.solid:hover{background:var(--ox-deep)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ox-deep)} .btn.gold:hover{background:var(--gold-light)} .btn.block{display:block;width:100%}

.addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.addon{border:1px solid var(--line);border-radius:12px;padding:15px 16px;background:var(--paper);display:flex;flex-direction:column;transition:.16s}
.addon:hover{box-shadow:var(--shadow);border-color:var(--line-2)}
.addon .rank{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:7px;display:flex;justify-content:space-between}
.addon .ah{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.addon .an{font-family:var(--serif);font-size:15.5px;color:var(--ox-deep);line-height:1.1}
.addon .ap{font-family:var(--serif);font-size:18px;color:var(--ox);white-space:nowrap} .addon .ap small{font-family:var(--mono);font-size:9px;color:var(--muted)}
.addon .market{font-family:var(--mono);font-size:9px;color:var(--green);margin:2px 0 7px}
.addon .tag{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.4;margin-bottom:8px}
.addon ul{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:9px}
.addon li{font-family:var(--body);font-size:11.5px;color:#3a2d30;padding-left:14px;position:relative;line-height:1.35}
.addon li::before{content:'↗';position:absolute;left:0;color:var(--gold);font-family:var(--mono);font-size:9px}
.addon .more{max-height:0;overflow:hidden;transition:max-height .3s ease;border-top:1px dashed var(--line-2);margin-top:0}
.addon.open .more{max-height:560px;margin-top:8px;padding-top:8px}
.addon .more li::before{content:'·';color:var(--muted-2)}
.addon .foot{display:flex;gap:8px;align-items:center;margin-top:auto}
.addon .moretoggle{font-family:var(--mono);font-size:9.5px;color:var(--ox);background:none;border:none;cursor:pointer;letter-spacing:.03em;white-space:nowrap}

.booking{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bookcard{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;background:linear-gradient(160deg,var(--paper),var(--cream-2))}
.bookcard .rt{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.bookcard h3{font-size:19px;color:var(--ox-deep);margin-bottom:5px} .bookcard p{font-family:var(--body);font-size:12.5px;color:var(--muted);margin-bottom:12px;line-height:1.45}

.engnote{font-family:var(--mono);font-size:9px;color:var(--blue);letter-spacing:.02em;display:inline-flex;gap:5px;align-items:center;background:rgba(42,93,168,.07);border:1px solid rgba(42,93,168,.2);padding:2px 8px;border-radius:20px}
body.no-notes .engnote{display:none}

/* chip nav (in-report, mirrors jump-to) */
.chipnav{position:sticky;top:0;z-index:30;display:flex;gap:7px;flex-wrap:wrap;padding:12px 0;margin-bottom:6px;background:linear-gradient(180deg,var(--cream) 70%,rgba(248,244,238,0));backdrop-filter:blur(4px)}
.chipnav .chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--muted);border:1px solid var(--line-2);background:var(--paper);padding:6px 13px;border-radius:30px;cursor:pointer;text-decoration:none;transition:.14s;white-space:nowrap}
.chipnav .chip:hover{border-color:var(--gold);color:var(--ox)}
.chipnav .chip.active{background:var(--ox);border-color:var(--ox);color:var(--gold-light)}

/* custom tooltip */
.tz-tip{position:fixed;z-index:200;max-width:300px;background:var(--ox-deep);color:#eaddc7;font-family:var(--body);font-size:12.5px;line-height:1.45;padding:10px 13px;border-radius:9px;box-shadow:0 10px 34px rgba(42,12,20,.34);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .13s,transform .13s;left:0;top:0}
.tz-tip.show{opacity:1;transform:translateY(0)}
.iss-fix{cursor:help}

/* score bands */
.scorebands{display:flex;flex-direction:column;gap:5px}
.sb{display:grid;grid-template-columns:26px 64px 1fr;gap:10px;align-items:center;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.sb.on{border-color:var(--red);background:var(--red-bg);box-shadow:0 4px 14px rgba(179,38,30,.12)}
.sb .sbg{font-family:var(--serif);font-size:18px;color:var(--ox)}
.sb.on .sbg{color:var(--red)}
.sb .sbr{font-family:var(--mono);font-size:10px;color:var(--muted)}
.sb .sbd{font-family:var(--body);font-size:12.5px;color:var(--ink)}

/* mobile rail toggle */
.glossgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}
.glossitem{display:flex;gap:8px;align-items:baseline;border-bottom:1px solid var(--line);padding:7px 0}
.glossitem b{font-family:var(--mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--ox);white-space:nowrap;min-width:96px}
.glossitem span{font-family:var(--body);font-size:12.5px;color:var(--muted);line-height:1.4}
@media(max-width:760px){.glossgrid{grid-template-columns:1fr}}
.railtoggle{display:none}
@media(max-width:1080px){
  .tz-shell{grid-template-columns:1fr}
  .rail{position:relative;height:auto;top:auto;max-height:none;overflow:visible}
  .g2,.g3,.g-5-7,.g-7-5,.g-4-8,.g-8-4{grid-template-columns:1fr}
  .price-grid,.addon-grid,.secgrid,.enggrid{grid-template-columns:1fr 1fr}
  .booking{grid-template-columns:1fr}
}
@media(max-width:600px){.price-grid,.addon-grid,.secgrid,.enggrid,.facts{grid-template-columns:1fr}}

/* ============ command deck: verdict band + collapsed pillar accordion ============ */
.verdict{padding:0 2px 11px;border-bottom:1px solid var(--line);margin-bottom:10px}
.verdict .eyebrow{display:block;margin-bottom:5px}
.verdict h2{font-size:21px;color:var(--ox-deep);margin:0 0 5px;line-height:1.1}
.verdict .vexp{color:var(--red)}
.verdict>div>p{font-family:var(--body);font-size:12.5px;color:var(--muted);max-width:760px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vfixes{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}
.vfix{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line-2);border-radius:9px;padding:6px 11px;cursor:pointer;text-align:left;transition:.13s;flex:1;min-width:210px;max-width:340px}
.vfix:hover{border-color:var(--ox);box-shadow:var(--shadow)}
.vfix .n{font-family:var(--serif);font-size:14px;color:var(--ox);line-height:1}
.vfix .t{font-family:var(--body);font-size:11px;color:var(--ink);line-height:1.2;flex:1}
.vfix .e{font-family:var(--serif);font-size:12px;color:var(--red);white-space:nowrap}

.pillar{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin-bottom:6px;overflow:hidden;transition:border-color .14s,box-shadow .14s}
.pillar:hover{border-color:var(--line-2)}
.pillar[open]{box-shadow:var(--shadow)}
.pillar>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:11px;padding:9px 16px}
.pillar>summary::-webkit-details-marker{display:none}
.pillar>summary:hover{background:var(--cream)}
.pillar .pico{font-family:var(--serif);font-size:15px;color:var(--gold);text-align:center}
.pillar .pname{font-family:var(--serif);font-size:14px;color:var(--ox-deep);line-height:1.05}
.pillar .pkpis{display:flex;gap:5px;flex-wrap:nowrap;justify-content:flex-end}  /* B10: "N frameworks · N issues" stay on one line */
.pkpi{font-family:var(--mono);font-size:9px;letter-spacing:.02em;color:var(--ink);background:var(--cream-2);border:1px solid var(--line);padding:2px 7px;border-radius:30px;white-space:nowrap}
.pkpi.red{color:var(--red-deep);background:var(--red-bg);border-color:rgba(179,38,30,.22)}
.pkpi.amber{color:var(--amber);background:var(--amber-bg);border-color:rgba(182,121,31,.25)}
.pillar .pchev{font-family:var(--mono);color:var(--muted-2);font-size:11px;transition:.2s}
.pillar[open] .pchev{transform:rotate(90deg)}
.pillar .pbody{padding:12px 16px 16px;border-top:1px solid var(--line)}
.pillar[open] .pbody{animation:fade .22s ease}
.pillar .pane-head{margin-bottom:10px}
@media(max-width:820px){.pillar>summary{grid-template-columns:20px 1fr auto}.pillar .pkpis{display:none}}

/* beat-them-by rows */
.beatrow{padding:7px 0;border-bottom:1px dashed var(--line-2)}
.beatrow:last-child{border-bottom:0}
.beatrow .bn{font-family:var(--serif);font-size:13px;color:var(--ox-deep);display:flex;align-items:baseline;gap:10px}
.beatrow .bsig{font-family:var(--mono);font-size:9px;color:var(--muted-2);letter-spacing:.05em;text-transform:uppercase}
.beatrow .bb{font-family:var(--body);font-size:12px;color:#3a2d30;line-height:1.45;margin-top:2px}
.beatrow .bb b{color:var(--green);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;margin-right:5px}
.beatrow .barrow{color:var(--gold);font-family:var(--mono);margin:0 4px}
.beatrow .bproof{color:var(--muted)} .beatrow .bmetric{color:var(--ox);font-weight:500}

/* ============ deep insight charts: dim grid · waterfall · causal chain · PSI evidence · framework bars ============ */
.dimgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;grid-auto-rows:1fr}
.dimcard{border:1px solid var(--line);border-left:3px solid var(--line-2);border-radius:10px;padding:10px 12px;background:var(--paper)}
.dimcard.fail{border-left-color:var(--red)} .dimcard.warn{border-left-color:var(--amber)} .dimcard.pass{border-left-color:var(--green)} .dimcard.na{border-left-color:var(--muted-2)}
.dimcard .dch{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.dimcard .dcn{font-family:var(--serif);font-size:12.5px;color:var(--ox-deep);line-height:1.12}
.dimcard .pill{padding:2px 7px;font-size:9px}
.dimcard .dcs{font-family:var(--body);font-size:10.5px;color:var(--muted);line-height:1.32}
@media(max-width:980px){.dimgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.dimgrid{grid-template-columns:1fr 1fr}}

.wf-row{display:grid;grid-template-columns:1.1fr 1.6fr auto;gap:11px;align-items:center;padding:4px 0}
.wf-l{font-family:var(--body);font-size:11.5px;color:var(--muted);text-align:right;line-height:1.3}
.wf-v{font-family:var(--serif);font-size:15px;font-variant-numeric:tabular-nums;min-width:54px;text-align:right;color:var(--ink)}
.wf-v.final{color:var(--red);font-size:17px}
.wf-note{font-family:var(--body);font-size:12px;color:#3a2d30;line-height:1.5;background:var(--cream-2);border-radius:8px;padding:9px 12px;margin-top:9px}

.causal{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}
.cc-node{flex:1;min-width:118px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--paper)}
.cc-node.bad{border-color:rgba(179,38,30,.3);background:linear-gradient(180deg,#fff,var(--red-bg))}
.cc-node.ok{border-color:rgba(47,122,74,.3)}
.cc-node .cc-k{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.cc-node .cc-v{font-family:var(--serif);font-size:13.5px;color:var(--ox-deep);margin-top:3px;line-height:1.12}
.cc-node.bad .cc-v{color:var(--red-deep)}
.cc-arrow{display:flex;align-items:center;color:var(--gold);font-family:var(--mono);font-size:14px}
.cc-reason{font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.55;margin-top:11px;border-left:3px solid var(--gold);padding-left:12px}

.psi-list{display:flex;flex-direction:column;gap:8px}
.psi-row{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:9px;padding:9px 13px;background:var(--paper)}
.psi-row .psi-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.psi-t{font-family:var(--serif);font-size:13.5px;color:var(--ink);line-height:1.2}
.psi-lane{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:20px;white-space:nowrap;background:var(--cream-2);color:var(--muted)}
.psi-lane.l-speed{background:#F6ECD8;color:var(--amber)} .psi-lane.l-a11y{background:#ECE3F3;color:#5b3a86} .psi-lane.l-seo{background:#E2EBF6;color:var(--blue)} .psi-lane.l-bp{background:var(--cream-2);color:var(--muted)}
.psi-ev{font-family:var(--body);font-size:11.5px;color:var(--muted);margin-top:4px}
.psi-sel{font-family:var(--mono);font-size:10px;color:var(--ox);background:var(--cream-2);border-radius:6px;padding:4px 8px;margin-top:5px;overflow-x:auto;white-space:nowrap}
.psi-wcag{font-family:var(--mono);font-size:9.5px;color:var(--ox);background:rgba(90,26,43,.06);border:1px solid rgba(90,26,43,.14);border-radius:5px;padding:3px 8px;margin-top:5px;display:inline-block;letter-spacing:.02em}
.psi-fix{font-family:var(--body);font-size:12px;color:#3a2d30;margin-top:6px} .psi-fix b{color:var(--green);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;margin-right:5px}

.fwbars{display:flex;flex-direction:column;gap:7px}
.fwbar{border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:var(--paper)}
.fwbar-h{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.reg-badge{font-family:var(--mono);font-size:9px;font-weight:500;color:#fff;border-radius:6px;padding:5px 6px;letter-spacing:.03em;min-width:34px;text-align:center}
.fwbar-nm b{font-family:var(--serif);font-size:13.5px;color:var(--ink)} .fwbar-r{font-family:var(--mono);font-size:9px;color:var(--muted-2);display:block;margin-top:2px}
.fwbar-track{display:flex;height:6px;border-radius:30px;overflow:hidden;margin-top:8px;background:var(--cream-2)}
.fwbar-track span{display:block}
.hero-charts{margin-bottom:16px}

/* ============================================================
   COMMERCE — trusted-by strip · intake modal · Cal embed · toast
   (appended · Slice 5/6 commerce wiring)
   ============================================================ */

/* ---- trusted-by (demo/placeholder logos only) ---- */
.trusted-by{margin:22px 0 4px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,var(--paper),var(--cream-2));text-align:center}
.trusted-by .tb-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:13px}
.trusted-by .tb-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 34px}
.trusted-by .tb-logo{height:26px;width:auto;color:var(--ox-deep);opacity:.34;filter:grayscale(1);transition:opacity .2s ease}
.trusted-by:hover .tb-logo{opacity:.46}
.trusted-by .tb-foot{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--muted-2);margin-top:13px;opacity:.8}

/* ---- intake modal ---- */
body.cmx-lock{overflow:hidden}
.cmx-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;background:rgba(26,10,14,.52);backdrop-filter:blur(4px);overflow-y:auto}
.cmx-overlay.open{display:flex}
.cmx{position:relative;width:100%;max-width:640px;background:var(--cream);border:1px solid var(--line-2);border-radius:18px;box-shadow:var(--shadow-lg);padding:26px 26px 22px;margin:auto}
.cmx-x{position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.cmx-x:hover{color:var(--ox);border-color:var(--line-2)}
.cmx-head{margin-bottom:16px;padding-right:30px}
.cmx-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ox);font-weight:500}
.cmx-head h3{font-family:var(--serif);font-size:21px;color:var(--ox-deep);margin:6px 0 6px;line-height:1.12}
.cmx-head p{font-family:var(--body);font-size:13px;color:var(--muted);line-height:1.5}
.cmx-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 13px}
.cmx-field{display:flex;flex-direction:column;gap:4px}
.cmx-field.cmx-wide{grid-column:1/-1;margin-top:11px}
.cmx-field>span{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox-soft)}
.cmx-field input,.cmx-field select,.cmx-field textarea{font-family:var(--body);font-size:13.5px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;width:100%;outline:none}
.cmx-field input:focus,.cmx-field select:focus,.cmx-field textarea:focus{border-color:var(--ox);box-shadow:0 0 0 3px rgba(90,26,43,.1)}
.cmx-field textarea{resize:vertical;min-height:60px;line-height:1.45}
.cmx .cf-turnstile{margin-top:13px}
.cmx-err{font-family:var(--body);font-size:12.5px;color:var(--red-deep);background:var(--red-bg);border-radius:8px;padding:9px 11px;margin-top:12px}
.cmx-actions{margin-top:15px}
.cmx-actions .btn{width:100%;justify-content:center;text-align:center}
.cmx-submit[disabled]{opacity:.6;cursor:progress}
.cmx-fine{font-family:var(--body);font-size:11px;color:var(--muted-2);line-height:1.45;margin-top:10px}
.cmx-fine a{color:var(--ox)}
/* Cal embed inside the modal */
.cmx-cal{min-height:520px;margin-top:6px;border-radius:12px;overflow:hidden}
.cmx-cal iframe{min-height:520px;width:100%;border:0}

/* ---- toast (Stripe fallbacks etc.) ---- */
.cmx-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(14px);z-index:210;max-width:440px;font-family:var(--body);font-size:13px;line-height:1.45;color:var(--cream);background:var(--ox-deep);border:1px solid var(--ox);border-radius:11px;padding:12px 16px;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.cmx-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.btn.loading{opacity:.65;cursor:progress}

@media (max-width:560px){
  .cmx-grid{grid-template-columns:1fr}
  .cmx{padding:22px 18px 18px}
  .cmx-head h3{font-size:19px}
  .trusted-by .tb-row{gap:12px 22px}
}

/* ============================================================
   PLAN & PRICING REBUILD (Section 5.10 + 6): one-page, dense,
   interactive trajectory, anchor fix box, pilot tiers, gradient
   add-on tablets, twin inline Cal, scrolling trust strip, floating CTA.
   Theme only: oxblood / gold / cream. Appended; overrides nothing unrelated.
   ============================================================ */
.plan2{font-size:13px}
.plan2 .pane-head h2{font-size:21px;max-width:840px}
.plan2 .subhead{margin:14px 0 8px}
.plan2 .subhead h3{font-size:15.5px}
.plan2 .engnote{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--muted-2);text-transform:uppercase}
.plan-sub{font-family:var(--body);font-size:12.5px;color:var(--muted);max-width:780px;margin-bottom:11px;line-height:1.45}

/* ---- interactive trajectory ---- */
.plan-traj{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,var(--paper),var(--cream-2));padding:13px 16px 9px}
.ptj-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:4px}
.ptj-t{font-family:var(--serif);font-size:14px;color:var(--ink)}
.ptj-meta{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.02em;margin-top:2px}
.ptj-key{display:flex;gap:12px;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding-top:2px}
.ptj-key span{display:flex;align-items:center;gap:5px;color:var(--muted)}
.ptj-key span::before{content:'';width:14px;height:2px;border-radius:2px}
.ptj-key .k-cur::before{background:var(--muted-2);box-shadow:none;border-top:2px dashed var(--muted-2);height:0}
.ptj-key .k-proj::before{background:var(--ox-mid)}
.ptj-key .k-proj{color:var(--ox)}
.ptj-svg{display:block;margin-top:2px}
.ptj-proj,.ptj-projarea{transition:d .5s cubic-bezier(.4,0,.2,1)}
.ptj-d{transition:cx .5s cubic-bezier(.4,0,.2,1),cy .5s cubic-bezier(.4,0,.2,1)}
.plan-traj .traj-pts{margin-top:5px}
.plan-traj .traj-pt{font-size:9.5px}
.plan-traj .traj-pt b{font-size:17px}

/* ---- offer row: anchor fix box + tiers, one desktop row ---- */
.plan-offer{display:grid;grid-template-columns:0.84fr 2.16fr;gap:15px;align-items:stretch}

/* £7,500 anchor box */
.fixbox{position:relative;border-radius:var(--r);padding:18px 18px 16px;color:var(--gold-pale);background:linear-gradient(158deg,var(--ox) 0%,var(--ox-deep) 92%);border:1px solid var(--ox-deep);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}
.fixbox::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(201,168,124,.05) 0,rgba(201,168,124,.05) 1px,transparent 1px,transparent 9px);pointer-events:none}
.fixbox>*{position:relative}
.fx-rib{position:absolute;top:13px;right:-30px;transform:rotate(45deg);background:var(--gold);color:var(--ox-deep);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 34px;font-weight:500}
.fx-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.fixbox h3{font-family:var(--serif);font-size:21px;color:#fff;line-height:1.05;margin:5px 0 9px;max-width:90%}
.fx-price{display:flex;align-items:baseline;gap:8px;margin-bottom:11px;border-bottom:1px solid rgba(201,168,124,.22);padding-bottom:11px}
.fx-price b{font-family:var(--serif);font-size:36px;font-weight:400;color:var(--gold);line-height:.9;font-variant-numeric:tabular-nums}
.fx-price span{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-light);opacity:.72}
.fx-list{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:11px}
.fx-list li{font-family:var(--body);font-size:12px;color:var(--gold-pale);line-height:1.36;padding-left:19px;position:relative}
.fx-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--gold);font-family:var(--mono);font-size:11px;font-weight:500}
.fx-line{font-family:var(--body);font-size:11.5px;color:var(--gold-light);opacity:.82;line-height:1.45;margin-bottom:13px}
.fixbox .fx-cta{margin-top:auto;background:var(--gold);border-color:var(--gold);color:var(--ox-deep)}
.fixbox .fx-cta:hover{background:var(--gold-light)}

/* tiers column */
.tiers{display:flex;flex-direction:column}
.tier-bar{display:flex;gap:6px;background:var(--cream-2);border:1px solid var(--line);border-radius:11px;padding:4px;margin-bottom:8px}
.tier-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:none;border-radius:8px;cursor:pointer;padding:7px 6px;font-family:var(--serif);font-size:14px;color:var(--ox-deep);transition:.14s}
.tier-tab small{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.02em}
.tier-tab:hover{background:rgba(90,26,43,.06)}
.tier-tab.active{background:var(--ox);color:var(--gold-light);box-shadow:var(--shadow)}
.tier-tab.active small{color:var(--gold)}
.pilot-note{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.4;margin-bottom:10px;padding-left:11px;border-left:3px solid var(--gold)}
.pilot-note b{color:var(--ox);font-family:var(--mono);font-size:10px;letter-spacing:.02em}

/* tier panels: 3-up on desktop (all visible), tabbed accordion on narrow */
.tiers .price-grid{flex:1}
.tiers .price{padding:16px 16px 15px}
.tiers .price .pr{font-size:27px;margin-top:2px}
.tiers .price .wk{margin-bottom:9px}
.tiers .price li{font-size:12px}
.price.tierpanel .badge.pop{top:-9px}

/* ---- luxurious gradient add-on tablets (value only, hover/focus expand) ---- */
.plan2 .addon-grid{grid-template-columns:repeat(3,1fr);gap:11px}
.plan2 .addon{padding:13px 14px 12px;border-radius:13px;background:linear-gradient(162deg,var(--paper) 0%,var(--cream-2) 100%);border:1px solid var(--line);outline:none}
.plan2 .addon:hover,.plan2 .addon:focus-visible{box-shadow:var(--shadow-lg);border-color:var(--gold);transform:translateY(-2px)}
.plan2 .addon .ah{align-items:flex-start}
.plan2 .addon .an{font-size:14.5px;max-width:60%}
.plan2 .addon .ap{display:flex;align-items:baseline;gap:5px}
.plan2 .addon .ap b{font-weight:400;font-size:18px;color:var(--ox)}
.plan2 .addon .ap .apwas{font-family:var(--serif);font-size:12px;color:var(--muted-2);text-decoration:line-through;text-decoration-color:var(--red)}
.plan2 .addon .ap small{font-family:var(--mono);font-size:9px;color:var(--muted)}
.plan2 .addon .tag{font-size:11.5px;color:#4a3a3d;line-height:1.4;margin:6px 0 8px}
.plan2 .addon .more{max-height:0;overflow:hidden;transition:max-height .32s ease,margin .2s,padding .2s;border-top:1px dashed var(--line-2);margin-top:0}
.plan2 .addon:hover .more,.plan2 .addon.open .more{max-height:340px;margin-top:7px;padding-top:7px}
.plan2 .addon .aspec-h{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox);margin-bottom:4px}
.plan2 .addon .more ul{gap:3px;margin-bottom:8px}
.plan2 .addon .more li{font-size:11px;color:#3a2d30}
.plan2 .addon .more li::before{content:'·';color:var(--gold)}
.plan2 .addon .foot{margin-top:auto;gap:7px}
.plan2 .addon .foot .btn.gold{font-size:9px;padding:9px 10px}
/* the two hero add-ons and the loss-leader carry richer gold/oxblood gradients to pull the eye */
.plan2 .addon.ag-hero{background:linear-gradient(160deg,#fff 0%,var(--gold-pale) 120%);border-color:var(--gold-light)}
.plan2 .addon.ag-hero .an{color:var(--ox)}
.plan2 .addon.ag-hot{background:linear-gradient(160deg,var(--paper) 0%,#F2E7DA 130%);border-color:var(--gold-light)}

/* ---- twin inline Cal widgets inside the booking cards ---- */
.cal-embed{min-height:150px;border-radius:11px;overflow:hidden;background:var(--paper);border:1px solid var(--line);margin-bottom:11px}
.cal-in-frame{min-height:150px;max-height:330px;overflow:auto}
.cal-in-frame iframe{width:100%;min-height:330px;border:0}
.bookcard .cmx-fine{margin:6px 2px 0}

/* ---- continuously-scrolling trusted-by marquee ---- */
.trusted-by{margin:18px 0 4px;padding:15px 0 13px;overflow:hidden}
.tb-marquee{position:relative;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.tb-track{display:flex;align-items:center;gap:46px;width:max-content;animation:tb-scroll 38s linear infinite}
.trusted-by:hover .tb-track{animation-play-state:paused}
.tb-track .tb-logo{height:25px;width:auto;filter:grayscale(1);opacity:.32;flex:none}
.tb-track .tb-name{font-family:var(--serif);font-size:17px;color:var(--ox-deep);opacity:.3;white-space:nowrap;letter-spacing:.01em;flex:none}
@keyframes tb-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tb-track{animation:none;flex-wrap:wrap;justify-content:center;gap:14px 30px}}

/* ---- floating "Fix these now!" CTA ---- */
.fix-fab{position:fixed;right:20px;bottom:20px;z-index:150;display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--ox-deep);background:linear-gradient(150deg,var(--gold-light),var(--gold) 70%);border:1px solid var(--gold);border-radius:40px;padding:13px 20px;cursor:pointer;box-shadow:0 10px 28px rgba(42,12,20,.32);transition:transform .16s,box-shadow .16s,opacity .2s}
.fix-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(42,12,20,.4)}
.fix-fab .ff-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(179,38,30,.5);animation:ff-pulse 1.8s ease-out infinite}
.fix-fab.hide{opacity:0;pointer-events:none;transform:translateY(12px)}
@keyframes ff-pulse{0%{box-shadow:0 0 0 0 rgba(179,38,30,.5)}70%{box-shadow:0 0 0 10px rgba(179,38,30,0)}100%{box-shadow:0 0 0 0 rgba(179,38,30,0)}}
@media (prefers-reduced-motion:reduce){.fix-fab .ff-dot{animation:none}}

/* ---- responsive: stack the offer row, collapse tiers to a tabbed single panel ---- */
@media (max-width:900px){
  .plan-offer{grid-template-columns:1fr}
  .tiers .price-grid{grid-template-columns:1fr}
  .tiers .price.tierpanel{display:none}
  .tiers .price.tierpanel.on{display:flex}
}
@media (min-width:901px){
  /* on desktop all three tiers show; the tab bar still drives the trajectory + highlight */
  .tiers .price-grid{grid-template-columns:repeat(3,1fr)}
  .tiers .price.tierpanel{display:flex}
}
@media (max-width:560px){
  .plan2 .addon-grid{grid-template-columns:1fr}
  .tier-tab{font-size:12.5px}
  .fix-fab{right:12px;bottom:12px;padding:11px 16px;font-size:10px}
  .ptj-key{display:none}
}

/* ---- Gate 1: jurisdiction selector + per-framework badges ---- */
.jur-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.jur-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.jur-chip{font-family:var(--mono);font-size:11px;padding:4px 11px;border-radius:20px;border:1px solid var(--line-2,rgba(90,26,43,.18));background:#fff;color:var(--ox);cursor:pointer;transition:.15s}
.jur-chip:hover{border-color:var(--ox)}
.jur-chip.active{background:var(--ox);color:#fff;border-color:var(--ox)}
.jbadge{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:1px 6px;border-radius:3px;background:rgba(201,168,124,.18);color:#7A5C20;vertical-align:middle;margin-left:6px}
/* ---- Gate 6: AI engine logos in the GEO grid ---- */
.eng-id{display:flex;align-items:center;gap:7px;min-height:22px}
.eng-logo{flex-shrink:0}
.engcell.no .eng-nm{color:var(--muted)}

/* ============================================================
   PHASE 0 — one-viewport primitives (overhaul · additive · appended)
   --vp-cap is the SINGLE global knob for the "open box fits one
   viewport, zero information loss" contract. Inner collapsibles cap
   their body + scroll internally; the long sales close (#sec-plan)
   is exempt so it page-scrolls across its subsections (Phase 9).
   ============================================================ */
:root{ --vp-cap:calc(100svh - 96px); }   /* svh = mobile-safe; ~96px sticky/header allowance */
/* Cap the COLLAPSIBLE BOXES (a finding, a framework), not the pillar pane: an open box fits one
   viewport with internal scroll; the pane itself page-scrolls (no awkward nested pane+box scroll). */
/* overscroll-behavior:auto so when an inner box's scroll REACHES ITS END, the gesture HANDS OFF to the page scroll
   (founder: "once the scroll ends on any element auto scroll should trigger") — never a dead stuck scroll. */
.finding .fbody,
.fw .fwbody,
.reg-fixwrap{ max-height:var(--vp-cap); overflow:auto; overscroll-behavior:auto; }
.finding .fbody::-webkit-scrollbar,.fw .fwbody::-webkit-scrollbar{width:7px}
.finding .fbody::-webkit-scrollbar-thumb,.fw .fwbody::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}
.pillar,.finding,.fw,.reg-card,.price,.addon{ scroll-margin-top:12px; }
/* density: fold the finding's 7 stacked layers into 2 columns (Phase 2 uses .fbody.dense) */
.fbody.dense{ display:grid; grid-template-columns:1.05fr .95fr; gap:10px 16px; align-items:start; }
@media(max-width:820px){ .fbody.dense{ grid-template-columns:1fr } }

/* ============================================================
   PHASE 2 — finding card: 2-column dense (① ② Evidence | ③–⑦ The case)
   Keeps all 7 layers; ~halves card height; screenshot capped 150px.
   ============================================================ */
.finding .fbody.dense{padding:2px 14px 13px}
.fcol{min-width:0}
.fcol .lk{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);margin:9px 0 3px}
.fcol-ev>.lk:first-child{margin-top:0}
.fcol .lv{font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.5}
.fcol .quote{font-style:italic;color:var(--ox);border-left:2px solid var(--gold);padding-left:9px;display:block;margin-top:8px;font-size:12px;line-height:1.45}
.shot-wrap{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line-2);max-height:150px;min-height:60px;background:repeating-linear-gradient(135deg,var(--cream-2) 0 9px,#ece3d4 9px 18px)}
.shot-wrap img{width:100%;display:block;max-height:150px;object-fit:cover;object-position:top}
.shot-ph{display:grid;place-items:center;min-height:60px;font-family:var(--mono);font-size:10px;color:var(--muted);text-align:center;padding:8px}
.shot-live{position:absolute;top:8px;left:8px;background:var(--red);color:#fff;font-family:var(--mono);font-size:9px;letter-spacing:.07em;padding:3px 7px;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.fcol-case{background:linear-gradient(168deg,rgba(90,26,43,.045),rgba(248,244,238,.55));border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.meta-row{display:grid;grid-template-columns:60px 1fr;gap:9px;align-items:baseline;padding:5px 0;border-bottom:1px dashed var(--line-2)}
.meta-row:first-child{padding-top:0}
.meta-row .mk{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ox);padding-top:2px}
.meta-row b{font-family:var(--body);font-size:12.5px;color:var(--ink);font-weight:600}
.meta-row>span:not(.mk){font-family:var(--body);font-size:12px;color:#3a2d30;line-height:1.4}
/* ⑤ Exposure on ONE line: value + caption never wrap (founder). */
.meta-row .num.exp{font-family:var(--serif);font-size:16px;color:var(--red);white-space:nowrap}
.meta-row .cap{font-family:var(--mono);font-size:9px;color:var(--muted);margin-left:6px;white-space:nowrap}
.meta-row>span:not(.mk){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fix-block{background:var(--green-bg);border-radius:8px;padding:8px 11px;margin-top:9px;box-shadow:inset 0 0 0 1px rgba(47,122,74,.18)}
.fix-block .fix-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fix-block .fix-h .lk{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin:0}
.fix-rib{font-family:var(--mono);font-size:9px;color:var(--green);letter-spacing:.04em;text-transform:uppercase;opacity:.85;white-space:nowrap}
.fix-block .lv{font-family:var(--body);font-size:12.5px;color:#26402f;line-height:1.45;margin-top:4px}
.plan-line{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:9px;line-height:1.4}

/* ============================================================
   PHASE 3 — de-triplication: clickable fix summaries (reg + verdict)
   The full detail lives once in overview; these jump to it.
   ============================================================ */
.reg-fixsummaries{display:flex;flex-direction:column;gap:7px}
.fix-summary{display:grid;grid-template-columns:auto 1fr auto auto;gap:11px;align-items:center;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line-2);border-radius:9px;padding:9px 13px;cursor:pointer;transition:.13s}
.fix-summary:hover{border-color:var(--ox);box-shadow:var(--shadow)}
.fix-summary .fs-tag{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox);background:var(--cream-2);padding:3px 7px;border-radius:5px;white-space:nowrap}
.fix-summary .fs-t{font-family:var(--body);font-size:13px;color:var(--ink);line-height:1.25}
.fix-summary .fs-e{font-family:var(--serif);font-size:14px;color:var(--red);white-space:nowrap}
.fix-summary .fs-go{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
@media(max-width:600px){.fix-summary{grid-template-columns:auto 1fr;gap:6px 9px}.fix-summary .fs-e,.fix-summary .fs-go{grid-column:2}}

/* ============================================================
   PHASE 4 — regulatory: merged-Act provisions + clickable "top N" bars
   ============================================================ */
.fwbar{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .13s,box-shadow .13s}
.fwbar:hover{border-color:var(--ox);box-shadow:var(--shadow)}
.provlist{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.prov{border-left:2px solid var(--gold);padding:2px 0 5px 10px}
.prov-h{display:flex;align-items:baseline;gap:8px}
.prov-l{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ox);font-weight:600}
.prov-lang{font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.45;margin:3px 0 0}
.prov-fix{background:var(--green-bg);border-radius:7px;padding:6px 9px;margin-top:5px;font-family:var(--body);font-size:12px;color:#26402f;line-height:1.4}
.prov-fix b{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-right:6px}

/* ============================================================
   PHASE 5 — SEO: compact Core Web Vitals chips (2-up, ~60% shorter)
   ============================================================ */
.cwvgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cwvchip{border:1px solid var(--line);border-radius:9px;padding:8px 10px;cursor:help}
.cwvchip:hover{border-color:var(--line-2)}
.cwvchip .cwv-k{font-family:var(--mono);font-size:9px;color:var(--ink);letter-spacing:.02em;line-height:1.2}
.cwvchip .cwv-k b{font-size:10px}
.cwvchip .cwv-v{font-family:var(--serif);font-size:18px;display:flex;align-items:baseline;gap:7px;margin:3px 0 5px;line-height:1}
.cwvchip .cwv-t{font-size:9px;color:var(--muted-2)}
.cwvchip .cwv-bar{height:4px;margin:0}
@media(max-width:600px){.cwvgrid{grid-template-columns:1fr}}

/* ============================================================
   PHASE 6 — GEO: the 8 engine LOGOS lead (28px hero), name demoted
   ============================================================ */
.enggrid{grid-template-columns:repeat(4,1fr);gap:8px}
.engcell{padding:11px 8px 9px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}
.engcell .eng-logo{width:28px;height:28px;margin:0 auto 3px;display:inline-flex;align-items:center;justify-content:center;color:var(--ox-deep)}
.engcell .eng-logo svg{width:100%;height:100%;display:block}
.engcell.no .eng-logo{color:var(--muted)}
.engcell .eng-nm{font-family:var(--mono);font-size:9px;letter-spacing:.03em;color:var(--muted);text-transform:uppercase;opacity:.85;line-height:1.1}
.engcell .num{line-height:.95}
.engcell .st{font-family:var(--mono);font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-2);margin-top:1px}
.engcell.no .st{color:var(--red)}
@media(max-width:600px){.enggrid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   PHASE 7 — competitors: DR "est" marker + per-rival real lever
   ============================================================ */
.est{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);background:var(--cream-2);border-radius:4px;padding:1px 4px;margin-left:5px;cursor:help;vertical-align:middle}
.blever{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.4;margin-top:4px;padding-left:13px;border-left:2px solid var(--green)}
.blever .blk{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-right:6px}

/* ============================================================
   PHASE 8 — glossary as a tiny collapsed section (near-zero footprint)
   ============================================================ */
.gloss-mini{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin-top:14px;overflow:hidden}
.gloss-mini>summary{list-style:none;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);padding:10px 14px}
.gloss-mini>summary::-webkit-details-marker{display:none}
.gloss-mini>summary::after{content:'▸';float:right;color:var(--muted-2);transition:.2s}
.gloss-mini[open]>summary::after{transform:rotate(90deg)}
.gloss-mini[open] .glossgrid{padding:2px 14px 13px;max-height:var(--vp-cap);overflow:auto}

/* ============================================================
   PHASE 9 — pricing WOW: website-mirror pricing, anchor, Stripe CTAs, draw-on-open
   ============================================================ */
.fx-price .fx-was{font-family:var(--serif);font-size:18px;color:var(--gold-light);opacity:.5;text-decoration:line-through;text-decoration-color:var(--red);margin-right:2px}
.fx-anchor{font-family:var(--body);font-size:11px;color:var(--gold-light);opacity:.82;line-height:1.4;margin:-5px 0 11px}
/* Stripe-style buy buttons inside the plan (tier + booking) — solid dark, full-width, soft shadow. NOT the gold Fix Sprint CTA. */
.plan2 .btn{border-radius:9px;font-size:11px;padding:12px 16px}
.plan2 .price .btn,.plan2 .bookcard .btn.solid{background:var(--ox-deep);color:#fff;border-color:var(--ox-deep);box-shadow:0 2px 10px rgba(42,12,20,.18);width:100%}
.plan2 .price .btn:hover,.plan2 .bookcard .btn.solid:hover{background:#1c0810;box-shadow:0 4px 16px rgba(42,12,20,.28);transform:translateY(-1px)}
/* draw-on-open trajectory reveal: the "with Tamazia" curve draws in when the plan pane opens */
#sec-plan[open] .ptj-proj{stroke-dasharray:2200;animation:ptjdraw 1.15s cubic-bezier(.4,0,.2,1) forwards}
@keyframes ptjdraw{from{stroke-dashoffset:2200}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#sec-plan[open] .ptj-proj{animation:none;stroke-dasharray:none}}

/* ============================================================
   PHASE 10-11 — rail (real lockup · no fixes block · jump-to-pricing · fits one viewport) + always-on FAB
   ============================================================ */
.rail{padding:16px 18px 18px}
.rail-logo{width:100%;max-width:192px;height:auto;display:block;margin:0 0 13px}
.rail h1{font-size:18px}
.rail-gauge{margin:8px 0 4px}
.rail-band{margin-bottom:11px}
.rail-exposure{padding:9px;margin-bottom:10px}
.rail-exposure .v{font-size:25px}
.rail-navtitle{margin:5px 0 7px}
.railnav{margin-bottom:11px}
.railnav button{padding:6px 10px;font-size:12.5px}
.rail-jump{display:block;width:100%;text-align:center;background:rgba(201,168,124,.12);color:var(--gold-light);border:1px solid rgba(201,168,124,.3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:9px;border-radius:9px;cursor:pointer;margin-bottom:9px;transition:.13s}
.rail-jump:hover{background:rgba(201,168,124,.2);border-color:var(--gold);color:#fff}
.rail-cta{padding:11px}
.rail-trust{margin-top:9px}
.fix-fab{z-index:160}

/* ============================================================
   PHASE 12 — conversion polish: decoy framing + quiet-luxury whitespace
   ============================================================ */
.tier-decoy{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.45;margin:0 0 10px;padding-left:11px;border-left:2px solid var(--gold-light)}
.tier-decoy b{color:var(--ox)}

/* rail one-viewport fit (verified live at 1366x768): reclaim ~40px so the rail never scrolls on a standard laptop, even with a long firm name */
.rail{padding:14px 18px 13px}
.rail-logo{margin-bottom:11px}
.rail h1{font-size:17px;line-height:1.1;margin-bottom:4px}
.rail-meta{line-height:1.4}
.rail-gauge{margin:5px 0 3px}
.rail-band{margin-bottom:9px}
.rail-exposure{padding:8px;margin-bottom:9px}
.rail-exposure .v{font-size:24px}
.rail-navtitle{margin:4px 0 6px}
.railnav{margin-bottom:9px}
.railnav button{padding:5px 10px}
.rail-jump{padding:8px;margin-bottom:8px}
.rail-cta{padding:10px}
.rail-trust{margin-top:8px}

/* ============================================================
   R2 — regulatory: ONE merged section (severity bar inside each box header)
   + breaches grouped one Article -> its sub-points, each with live proof
   ============================================================ */
.reg-sub{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.45;max-width:940px;margin:0 0 13px}
.fw>summary{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.fw-head{display:grid;grid-template-columns:46px 1fr auto auto;gap:11px;align-items:center}
.fw>summary .fwbar{border:0;padding:0;background:none;margin:0;cursor:pointer;box-shadow:none}
.fw>summary .fwbar:hover{box-shadow:none;border-color:transparent}
.fw>summary .fwbar-track{margin-top:0;height:6px}
@media(max-width:760px){.fw-head{grid-template-columns:38px 1fr auto}.fw-head .fwe{grid-column:2/-1;text-align:left;margin-top:2px}}
.artlist{display:flex;flex-direction:column;gap:13px;margin-top:5px}
.artgroup{border-left:2px solid var(--gold);padding:1px 0 3px 12px}
.art-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.art-a{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);font-weight:600}
.art-insp{font-family:var(--mono);font-size:9px;letter-spacing:.02em;color:var(--muted-2)}
.art-items{display:flex;flex-direction:column;gap:9px}
.art-subj{display:flex;align-items:baseline;gap:8px;font-family:var(--body);font-size:12.5px;color:var(--ink);line-height:1.35}
.art-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;align-self:flex-start;margin-top:3px}
.art-dot.c{background:var(--red)} .art-dot.h{background:var(--amber)} .art-dot.s{background:var(--gold)}
.art-quote{font-style:italic;color:var(--ox);border-left:2px solid var(--line-2);padding-left:9px;margin:4px 0 0 15px;font-size:11.5px;line-height:1.4}
/* real per-breach absence analysis (what's on the page vs the missing element) — our analysis, NOT a verbatim quote */
.art-absence{color:#3a2d30;border-left:2px solid var(--red);padding-left:9px;margin:4px 0 0 15px;font-size:11.5px;line-height:1.45}
.art-fix{background:var(--green-bg);border-radius:7px;padding:5px 9px;margin:5px 0 0 15px;font-family:var(--body);font-size:11.5px;color:#26402f;line-height:1.4}
.art-fix b{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-right:6px}

/* R2 — PageSpeed desktop|mobile toggle (never 'not assessed') */
.psi-toggle{display:inline-flex;margin:0 0 13px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--paper)}
.psi-tab{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:7px 20px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:500;transition:.13s}
.psi-tab+.psi-tab{border-left:1px solid var(--line)}
.psi-tab.active{background:var(--ox);color:var(--paper)}
.psi-tab:not(.active):hover{background:var(--cream-2);color:var(--ink)}
.psi-strat{display:none}
.psi-strat.active{display:block}

/* R3 — CTAs orange + compact (tamazia.co.uk style) · Full-spec reveal fix · Route-2 value block */
:root{--orange:#D9663A;--orange-deep:#BF4F28}
.btn.solid,.btn.gold{background:var(--orange);border-color:var(--orange);color:#fff;font-size:10px;padding:10px 15px;letter-spacing:.04em;font-weight:600}
.btn.solid:hover,.btn.gold:hover{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
.rail-cta{background:var(--orange);color:#fff;font-weight:600}
.rail-cta:hover{background:var(--orange-deep)}
.fixbox .fx-cta{background:var(--orange);border-color:var(--orange);color:#fff}
.fixbox .fx-cta:hover{background:var(--orange-deep)}
.plan2 .price .btn,.plan2 .bookcard .btn.solid{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 2px 10px rgba(217,102,58,.22)}
.plan2 .price .btn:hover,.plan2 .bookcard .btn.solid:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.route-val{list-style:none;display:flex;flex-direction:column;gap:6px;margin:4px 0 12px}
.route-val li{font-family:var(--body);font-size:12px;color:#3a2d30;padding-left:16px;position:relative;line-height:1.4}
.route-val li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700;font-size:10px}
.route-price{font-family:var(--serif);font-size:20px;color:var(--ox-deep);margin:2px 0 12px}
.route-price span{font-family:var(--mono);font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-left:8px}
.ptj-svg,.traj-wrap svg{height:auto;display:block}
@media(max-width:900px){.railnav button{min-height:42px;padding-top:10px;padding-bottom:10px}.railnav{gap:4px}}

/* R4 — compaction (kill grid-stretch waste + tighten spacing ~40%) · enterprise scroll · clickable scorecard · tier chips */
.grid{gap:10px;align-items:start}
.secgrid,.enggrid{align-items:start}
.card.pad{padding:11px 13px}
.card-h{margin-bottom:6px}
.subhead{margin:12px 0 7px}
.facts{gap:3px 12px}
.fact{padding:5px 0}
.btn,.rail-cta,.rail-jump,.moretoggle,.tier-tab,.psi-tab{white-space:nowrap}
html{scroll-behavior:smooth}
.pillar>summary,.fw,.finding,.dimcard,#sec-overview,#sec-regulatory,#sec-seo,#sec-geo,#sec-competitors,#sec-plan{scroll-margin-top:18px}
.dimcard{cursor:pointer;transition:border-color .13s,box-shadow .13s,transform .13s}
.dimcard:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-1px)}
.dimcard:active{transform:translateY(0)}
.ptj-tiers{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:9px 0 0}
.ptj-tiers .lbl{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2)}
.ptj-tiers button{font-family:var(--mono);font-size:9px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--line-2);border-radius:6px;padding:3px 9px;cursor:pointer;transition:.12s}
.ptj-tiers button:hover{border-color:var(--gold)}
.ptj-tiers button.active{background:var(--orange);border-color:var(--orange);color:#fff}
/* R4b — denser breach lists + finding bodies (content was spacious, not empty) */
.art-items{gap:6px}
.fw .fwbody{padding:0 13px 10px}
.fw .fwbody .lbl{margin:8px 0 2px}
.fw .fwbody .action{padding:7px 10px}
.art-quote{margin:3px 0 0 14px}
.art-fix{margin-top:3px}
.finding .fbody{padding:0 13px 11px}

/* R4c — rail credential block · tier-meta chips · CTA text-fit */
.rail-prep{text-align:center;margin-top:14px;padding-top:12px;border-top:1px solid rgba(201,168,124,.18)}
.rail-prep .rp-by{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);opacity:.72}
.rail-prep .rp-name{font-family:var(--serif);font-size:15.5px;color:#fff;margin-top:4px;line-height:1.1}
.rail-prep .rp-deg{font-family:var(--body);font-size:10.5px;color:var(--gold-light);opacity:.92;margin-top:3px;line-height:1.3}
.rail-prep .rp-inst{display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-light);opacity:.72;margin-top:6px}
.rail-prep .rp-logo{height:12px;width:12px;border-radius:2px;object-fit:contain;opacity:.97;flex-shrink:0}
.rail-brand a{display:inline-block;line-height:0;cursor:pointer}
.rail-prep .rp-rules{font-family:var(--mono);font-size:8px;letter-spacing:.03em;color:var(--gold-light);opacity:.5;margin-top:8px}
.price .wk{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:11px}
.price .wk-pill{font-family:var(--mono);font-size:8.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:var(--cream-2);border:1px solid var(--line);border-radius:5px;padding:2px 7px;line-height:1.45;white-space:nowrap}
.price .wk-pill.save{color:var(--green);background:var(--green-bg);border-color:var(--green-bg)}
.rail-cta,.rail-jump{white-space:normal;line-height:1.25}
.btn{padding-left:12px;padding-right:12px}
/* Fix-Sprint CTA fits the narrow anchor column; never overflow */
.fx-cta{font-size:9.5px;letter-spacing:.01em;padding-left:9px;padding-right:9px}
.fixbox .fx-cta{white-space:normal;line-height:1.2}

/* R4d — Fix Sprint as one elegant full-width anchor (recurring-tier panels removed) */
.plan-offer{display:block}
.fixbox{padding:18px 22px}
.fx-main{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:center}
.fx-body{min-width:0}
.fixbox h3{max-width:100%;font-size:22px;margin:4px 0 8px}
.fx-side{display:flex;flex-direction:column;gap:10px;border-left:1px solid rgba(201,168,124,.22);padding-left:22px}
.fx-side .fx-price{margin:0;border-bottom:0;padding-bottom:0}
.fx-side .fx-anchor{margin:0}
.fx-side .fx-cta{margin-top:2px}
.fx-list{margin-bottom:0}
.fx-line{margin-bottom:11px}
.fx-or{font-family:var(--body);font-size:10.5px;color:var(--gold-light);opacity:.7;line-height:1.4;text-align:center;margin-top:2px}
@media(max-width:760px){.fx-main{grid-template-columns:1fr;gap:14px}.fx-side{border-left:0;border-top:1px solid rgba(201,168,124,.22);padding-left:0;padding-top:13px}}
/* Add-on "Add X" CTA sizes to its text (kills the wide-button centering gap) */
.addon .foot{display:flex;align-items:center;gap:8px;justify-content:space-between}
.addon .foot .btn.gold{flex:0 0 auto;width:auto;display:inline-block;padding:8px 13px}
.dimcard{padding:8px 11px}
.dimcard .bar-track{margin:5px 0 6px!important}

/* ============ Overhaul-wave additions (B1/B5/B11/B13) ============ */
/* B5 — AI-engine cite GRADE (A–E big, raw score small) */
.eng-grade{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-top:2px}
.eng-grade .gr{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1}
.eng-grade .gn{font-family:var(--mono);font-size:10px;color:var(--muted-2);opacity:.7}
.engcell .eng-nm{font-family:var(--mono);font-size:9px;letter-spacing:.03em;color:var(--ink);text-transform:uppercase;margin:3px 0 1px;line-height:1.1}

/* B11 — three highest-priority breaches: heading + RED PULSING dot on each (reuses @keyframes pulse) */
.vfix-head{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep);font-weight:600;margin:13px 0 8px}
.vfix-head .vfix-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(179,38,30,.5);animation:pulse 2s infinite;flex-shrink:0}
.vfix{position:relative}
.vfix .vfix-pulse{position:absolute;top:-4px;left:-4px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(179,38,30,.5);animation:pulse 2s infinite}

/* B1 — small note under the SEO subhead pointing at the PSI box now in the scorecard */
.subhead-note{font-family:var(--mono);font-size:9.5px;color:var(--muted-2);letter-spacing:.02em;opacity:.8}

/* B13 — "How you beat each of them": a strong rival-by-rival play card (burgundy/gold hierarchy) */
.beatcard{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line-2)}
.beatcard:last-child{border-bottom:0}
.beatcard .bc-rank{font-family:var(--serif);font-size:21px;color:var(--gold);line-height:1;text-align:center;padding-top:1px}
.beatcard .bc-top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:5px}
.beatcard .bc-rival{font-family:var(--serif);font-size:14.5px;color:var(--ox-deep)}
.beatcard .bc-sig{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);background:var(--cream-2);border:1px solid var(--line);border-radius:30px;padding:2px 8px}
.beatcard .bc-move{font-family:var(--body);font-size:13px;color:#2A0C14;line-height:1.4;margin-bottom:3px}
.beatcard .bc-move .bc-k{font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-right:6px;font-weight:600}
.beatcard .bc-move b{color:var(--ox-deep)}
.beatcard .bc-proof{font-family:var(--body);font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:7px}
.beatcard .bc-proof .bc-arrow{color:var(--gold);margin-right:3px}
.beatcard .bc-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.beatcard .bc-metric{font-family:var(--mono);font-size:10px;letter-spacing:.03em;color:var(--ox);background:var(--gold-bg,rgba(201,168,124,.14));border:1px solid rgba(201,168,124,.4);border-radius:6px;padding:3px 9px;font-weight:500}
.beatcard .bc-lever{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.4;border-left:2px solid var(--green);padding-left:9px}
.beatcard .bc-lever .bc-lk{font-family:var(--mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-right:5px}

/* ============ PART D — PLAN & PRICING: three routes ============ */
.route{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;margin-bottom:4px}
/* Route 1 — One-time Fix Sprint with top10/20/all toggle */
.route1{background:linear-gradient(160deg,#fff,var(--cream-2))}
.r1-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:13px;background:var(--paper)}
.r1-tab{display:flex;flex-direction:column;align-items:center;gap:1px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 18px;border:0;background:transparent;cursor:pointer;font-weight:500;transition:.13s}
.r1-tab small{font-family:var(--serif);font-size:14px;color:var(--ox-deep);letter-spacing:0;text-transform:none}
.r1-tab+.r1-tab{border-left:1px solid var(--line)}
.r1-tab.active{background:var(--ox);color:var(--gold-pale)} .r1-tab.active small{color:#fff}
.r1-tab:not(.active):hover{background:var(--cream-2)}
.r1-body{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}
.r1-main .fx-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.r1-main .r1-scope{color:var(--red-deep);font-weight:600}
.r1-main .fx-line{font-family:var(--body);font-size:13px;color:#3a2d30;line-height:1.5;margin:0 0 9px}
.r1-main .fx-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.r1-main .fx-list li{font-family:var(--body);font-size:12.5px;color:var(--ink);line-height:1.45;padding-left:18px;position:relative}
.r1-main .fx-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.r1-side{background:var(--ox-deep);border-radius:12px;padding:16px;text-align:center;color:var(--gold-pale)}
.r1-side .fx-price b{display:block;font-family:var(--serif);font-size:34px;color:#fff;line-height:1.05}
.r1-side .fx-price span{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-light);opacity:.8;display:block;margin-top:3px}
.r1-side .btn.solid{margin-top:13px;background:var(--gold);color:var(--ox-deep);border:0}
.r1-side .btn.solid:hover{background:var(--gold-light)}
/* Route 2 — three retainer tier cards (all prices shown collapsed) */
.tiers3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:transparent;border:0;padding:0}
.tier3{border:1px solid var(--line);border-radius:13px;background:#fff;padding:15px;display:flex;flex-direction:column}
.tier3.rec{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 8px 26px -16px rgba(90,26,43,.4)}
.tier3 .t3-nm{font-family:var(--serif);font-size:17px;color:var(--ox-deep);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.t3-rec{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox-deep);background:var(--gold);padding:2px 7px;border-radius:30px;font-weight:600}
.t3-pop{font-family:var(--mono);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--ox);background:var(--cream-2);border:1px solid var(--line);padding:2px 7px;border-radius:30px}
.t3-price{margin:7px 0 6px;display:flex;align-items:baseline;gap:6px}
.t3-price b{font-family:var(--serif);font-size:26px;color:var(--ox-deep);line-height:1}
.t3-price .t3-was{font-family:var(--mono);font-size:12px;color:var(--muted-2);text-decoration:line-through}
.t3-price small{font-family:var(--mono);font-size:10px;color:var(--muted)}
.t3-blurb{font-family:var(--body);font-size:11.5px;color:var(--muted);line-height:1.45;margin-bottom:9px}
.t3-feats,.t3-more ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}
.t3-feats li,.t3-more li{font-family:var(--body);font-size:11.5px;color:var(--ink);line-height:1.4;padding-left:15px;position:relative}
.t3-feats li:before,.t3-more li:before{content:"›";position:absolute;left:0;color:var(--gold);font-weight:700}
.t3-more{margin-top:5px;border-top:1px dashed var(--line-2);padding-top:7px}
.t3-foot{margin-top:auto;padding-top:11px;display:flex;flex-direction:column;gap:7px}
.t3-toggle{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--ox);background:transparent;border:0;cursor:pointer;text-align:left;padding:0;text-transform:none}
.t3-cta{width:100%;text-align:center}
/* Route 3 — Monthly Compliance + SEO + AI report (the special box) */
.route3{position:relative;background:linear-gradient(155deg,#fff,var(--cream-2));border-color:var(--gold)}
.r3-rib{position:absolute;top:-9px;left:16px;font-family:var(--mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox-deep);background:var(--gold);padding:3px 10px;border-radius:30px;font-weight:600}
.r3-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:center;margin-top:5px}
.r3-main .fx-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.r3-h{font-family:var(--serif);font-size:18px;color:var(--ox-deep);line-height:1.2;margin:0 0 7px;font-weight:400}
.r3-line{font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.5;margin:0 0 9px}
.r3-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.r3-list li{font-family:var(--body);font-size:12.5px;color:var(--ink);line-height:1.45;padding-left:18px;position:relative}
.r3-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.r3-side{background:var(--ox-deep);border-radius:12px;padding:17px;text-align:center;color:var(--gold-pale)}
.r3-price{display:flex;align-items:baseline;gap:7px;justify-content:center}
.r3-price .r3-was{font-family:var(--mono);font-size:15px;color:var(--gold-light);opacity:.7;text-decoration:line-through}
.r3-price b{font-family:var(--serif);font-size:38px;color:#fff;line-height:1}
.r3-price small{font-family:var(--mono);font-size:10px;color:var(--gold-light)}
.r3-free{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:6px 0 11px}
.r3-side .btn.solid{background:var(--gold);color:var(--ox-deep);border:0}
.r3-side .btn.solid:hover{background:var(--gold-light)}
.r3-terms{font-family:var(--mono);font-size:8.5px;line-height:1.5;color:var(--gold-light);opacity:.72;margin-top:10px}
.booking.single{grid-template-columns:1fr}
@media(max-width:820px){.r1-body,.r3-grid{grid-template-columns:1fr}.tiers3{grid-template-columns:1fr}}

/* ============================================================
   CONVERSION ROUND (P1–P6) — rail socials + ghost nav · summary bullets ·
   freemium green-gradient lock · failing-audits two-up · Route-2 pilot toggle.
   Appended; overrides only what it names.
   ============================================================ */

/* P1 — rail social row (tiny icon buttons at the very bottom of the rail) */
.rail-social{display:flex;justify-content:center;gap:9px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(201,168,124,.18)}
.rail-social a{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid rgba(201,168,124,.28);color:var(--gold-light);background:rgba(201,168,124,.06);transition:.13s}
.rail-social a:hover{background:rgba(201,168,124,.16);border-color:var(--gold);color:#fff}
.rail-social svg{display:block}

/* P1 — "Jump to" nav as very minimal ghost rows (constant, all six sections) */
.railnav button{border:1px solid transparent}
.railnav button:hover{background:rgba(201,168,124,.07);border-color:rgba(201,168,124,.14)}
.railnav button.active{background:rgba(201,168,124,.13);border-color:rgba(201,168,124,.22)}

/* P2 — verdict summary as crisp, personalised bullet points */
.verdict-bullets{list-style:none;display:flex;flex-direction:column;gap:5px;margin:8px 0 4px;max-width:840px}
.verdict-bullets li{font-family:var(--body);font-size:12.5px;color:#3a2d30;line-height:1.45;padding-left:18px;position:relative}
.verdict-bullets li::before{content:'▸';position:absolute;left:0;top:0;color:var(--gold);font-family:var(--mono);font-size:10px}
.verdict-bullets li b{color:var(--ox-deep);font-weight:600}

/* P4 — freemium lock: green-gradient blurred veil over the Tamazia-fix prose only (never the beat-cards) */
.tz-lock{position:relative;display:block;border-radius:8px;overflow:hidden;margin-top:4px;min-height:30px}
.tz-lock-blur{filter:blur(4.5px);-webkit-filter:blur(4.5px);user-select:none;pointer-events:none}
.tz-lock-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  background:linear-gradient(135deg,rgba(47,122,74,.34),rgba(47,122,74,.62));border:1px solid rgba(47,122,74,.5);border-radius:8px;
  color:#fff;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;transition:.14s}
.tz-lock-veil:hover{background:linear-gradient(135deg,rgba(47,122,74,.46),rgba(47,122,74,.74))}
.tz-lock-veil .tz-lock-ic{flex-shrink:0}
.tz-lock-veil .tz-lock-t{white-space:nowrap}
.psi-fix .tz-lock,.art-fix .tz-lock{margin-top:4px}
.psi-fix>b,.art-fix>b{display:inline-block;margin-bottom:2px}

/* P6 — "Failing audits on your live DOM": two boxes side by side (was one full-width column) */
.psi-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:760px){.psi-list{grid-template-columns:1fr}}

/* P3 — Route 2 "Monthly | 6-month pilot" segmented toggle + per-tier saves line */
.r2-modes{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);margin:0 0 11px}
.r2-mode{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 16px;border:0;background:transparent;cursor:pointer;font-weight:600;transition:.13s}
.r2-mode small{font-family:var(--mono);font-size:8.5px;letter-spacing:.02em;text-transform:none;color:var(--green);font-weight:500}
.r2-mode+.r2-mode{border-left:1px solid var(--line)}
.r2-mode.active{background:var(--ox);color:#fff}
.r2-mode.active small{color:var(--gold-light)}
.r2-mode:not(.active):hover{background:var(--cream-2)}
.t3-saves{font-family:var(--mono);font-size:9px;letter-spacing:.02em;color:var(--green);background:var(--green-bg);border-radius:5px;padding:2px 7px;display:inline-block;margin:0 0 7px}
/* one aligned line for every tier price (no wrap of /mo) */
.t3-price{flex-wrap:nowrap;white-space:nowrap}
.t3-price b{white-space:nowrap}

/* ============================================================
   ROUND r22 — A1 Route-1 burgundy anchor restored (integrated scope toggle)
   ============================================================ */
.route1{background:transparent;border:0;padding:0}                 /* .fixbox owns the surface */
.r1-fixbox{padding:18px 22px 18px}
/* toggle re-skinned onto the burgundy: gold/oxblood segmented control */
/* r25 — equal-width segmented control on a padded track; active = soft gold-pale panel
   (the old full-saturation gold fill read as garish/"messed up" when clicked). */
.r1-toggle-dark{display:flex;width:100%;gap:4px;padding:4px;background:rgba(201,168,124,.08);border:1px solid rgba(201,168,124,.28);border-radius:11px;margin-bottom:14px}
.r1-toggle-dark .r1-tab{flex:1 1 0;min-width:0;border-radius:8px;padding:7px 8px;color:var(--gold-light);opacity:.85;transition:background .14s,color .14s,box-shadow .14s}
.r1-toggle-dark .r1-tab .r1t-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.r1-toggle-dark .r1-tab small{color:var(--gold-pale);font-size:13.5px}
.r1-toggle-dark .r1-tab+.r1-tab{border-left:0}
.r1-toggle-dark .r1-tab.active{background:linear-gradient(180deg,var(--gold-pale),var(--gold-light));color:var(--ox-deep);opacity:1;box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 4px 12px -6px rgba(0,0,0,.5)}
.r1-toggle-dark .r1-tab.active small{color:var(--ox-deep)}
.r1-toggle-dark .r1-tab.active .r1t-l{color:var(--ox)}
.r1-toggle-dark .r1-tab:not(.active):hover{background:rgba(201,168,124,.16)}
/* price line = struck anchor + huge price ONLY; caption drops to its own line (kills the wrap) */
.r1-fixbox .fx-price{align-items:baseline;gap:10px;border-bottom:0;padding-bottom:0;margin:0 0 4px}
.r1-fixbox .fx-was{font-size:19px;align-self:baseline}
.r1-fixbox .r1-cap{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-light);opacity:.72;line-height:1.4;margin:0 0 2px}
.r1-fixbox .fx-side{justify-content:center}
.r1-fixbox .r1-anchor{color:var(--gold);font-style:normal}
/* keep the CTA GOLD on the burgundy (overrides the orange rule at audit.css:817 — appended later, wins) */
.r1-fixbox .fx-cta{background:var(--gold);border-color:var(--gold);color:var(--ox-deep)}
.r1-fixbox .fx-cta:hover{background:var(--gold-light);border-color:var(--gold-light)}

/* ============================================================
   ROUND r22 — A2 Route-2 luxury tiers: aligned price line, equal height, "Most chosen"
   ============================================================ */
.tiers3{align-items:stretch}                                       /* equal-height cards */
.tier3{padding:16px 16px 15px}
.t3-head{min-height:46px}                                          /* name + "who" reserve → prices align */
.tier3 .t3-nm{font-size:17px;gap:7px}
.t3-who{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.35;margin-top:3px}
/* the ONE price line: fixed height so all 3 prices share a Y, never wraps */
.t3-priceline{min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:3px;margin:9px 0 7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0}
.t3-priceline .t3-price{margin:0}
.t3-priceline .t3-saves{margin:0}
.t3-feats{margin-top:9px}
/* Authority = Most chosen: gold border + cream tint */
.tier3.pop{border-color:var(--gold);background:linear-gradient(168deg,#fff,var(--gold-pale));box-shadow:0 0 0 1px var(--gold-light),0 10px 30px -18px rgba(90,26,43,.4)}
.tier3.pop .t3-pop{background:var(--gold);color:var(--ox-deep);border:0}

/* ============================================================
   ROUND r22 — A3 Route-3 spacing · D founder credential line
   ============================================================ */
.route3 .r3-side .btn.solid{margin-top:11px}
.founder-subhead h3{text-transform:uppercase;letter-spacing:.04em;font-family:var(--mono);font-size:12px;color:var(--ox-deep)}
.founder-cred{font-family:var(--mono);font-size:10px;letter-spacing:.03em;color:var(--muted);opacity:.85;margin:-2px 0 9px;line-height:1.4}

/* ============================================================
   ROUND r22 — B2 RAIL one-viewport fit (≥1081px desktop).
   .rail has max-height:100svh + overflow (B1) as the never-clip safety net;
   this clamp pack keys every size to viewport height so a 720px-tall screen
   compacts to the min and the safety-net scrollbar never actually appears at
   1280×720 / 1366×768 / 1440×900 / 1920×1080. Mobile/tablet (≤1080px) untouched.
   ============================================================ */
@media (min-width:1081px){
  .rail{padding:clamp(11px,1.4vh,16px) 18px clamp(11px,1.4vh,18px)}
  .rail-logo{max-width:clamp(150px,15vh,192px);margin:0 0 clamp(8px,1.2vh,13px)}
  .rail h1{font-size:clamp(15px,1.9vh,18px);margin-bottom:clamp(3px,.5vh,5px)}
  .rail-meta{font-size:clamp(8.5px,1.1vh,9.5px);line-height:1.35}
  .rail-gauge{margin:clamp(3px,.6vh,8px) 0 clamp(2px,.4vh,5px)}
  .rail-gauge svg{width:clamp(74px,9vh,96px);height:auto}
  .rail-band{margin-bottom:clamp(7px,1.1vh,12px);font-size:clamp(8.5px,1.05vh,9.5px)}
  .rail-exposure{padding:clamp(6px,.9vh,10px);margin-bottom:clamp(7px,1vh,11px)}
  .rail-exposure .v{font-size:clamp(20px,2.7vh,28px)}
  .rail-navtitle{margin:clamp(3px,.5vh,6px) 0 clamp(5px,.7vh,8px)}
  .railnav{margin-bottom:clamp(7px,1.1vh,14px);gap:clamp(1px,.25vh,3px)}
  .railnav button{padding:clamp(4px,.7vh,7px) 10px;font-size:clamp(12px,1.5vh,13px)}
  .rail-jump{padding:clamp(7px,.9vh,9px);margin-bottom:clamp(6px,.8vh,9px)}
  .rail-cta{padding:clamp(8px,1.1vh,12px)}
  .rail-prep{margin-top:auto;padding-top:clamp(8px,1.1vh,12px)}
  .rail-prep .rp-name{font-size:clamp(13px,1.7vh,15.5px)}
  .rail-prep .rp-deg{font-size:clamp(9.5px,1.2vh,10.5px)}
  .rail-prep .rp-rules{margin-top:clamp(5px,.8vh,8px)}
  .rail-social{margin-top:clamp(7px,1vh,11px);padding-top:clamp(7px,1vh,11px)}
}
/* B (r25) — rail fills the viewport column; credential+socials pinned to the bottom via .rail-prep{margin-top:auto}.
   No transform scaling (it left an empty gap + a stray border line). Content scrolls internally only on a
   genuinely short viewport (the overflow cap); at desktop it fills cleanly top-to-bottom. */
@media (max-width:1080px){ .rail-inner{flex:0 0 auto} .rail-prep{margin-top:14px} }

/* ============================================================
   ROUND r25 — Currency-by-region toggle + Route-2/3 luxury rebuild.
   Palette learned from tamazia.co.uk/pricing (cream/taupe cards, gold #C9A87C,
   oxblood #2A0C14 ink) — the same oxblood-gold family as the Route-1 burgundy
   anchor, kept lighter so the routes read as one system yet each stands apart.
   Foundation/Enterprise = warm cream-gold cards; Authority ("Most popular") =
   inverted burgundy that echoes Route 1 and pulls the eye to the recommended tier.
   ============================================================ */

/* — currency segmented control — */
.cur-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:3px 0 11px}
.cur-bar .cur-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.cur-btn{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:4px 10px;cursor:pointer;transition:.13s;white-space:nowrap}
.cur-btn:hover{border-color:var(--gold);color:var(--ox)}
.cur-btn.active{background:var(--ox);border-color:var(--ox);color:var(--gold-pale);font-weight:500}
.cur-note{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-2);opacity:.8;margin-left:3px}
.cmoney{font-variant-numeric:tabular-nums;white-space:nowrap}

/* — Route 2 luxury tiers — */
.tiers-lux{align-items:stretch}
.tiers-lux .tier3{position:relative;overflow:hidden;border-radius:16px;padding:18px 17px 16px;background:linear-gradient(168deg,var(--paper),var(--cream-2));border:1px solid var(--line-2);box-shadow:0 1px 2px rgba(42,12,20,.04),0 14px 34px -22px rgba(42,12,20,.4)}
.tiers-lux .tl-rib{position:absolute;top:0;right:0;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ox-deep);background:var(--gold);padding:4px 11px;border-bottom-left-radius:11px;font-weight:600;z-index:2}
.tiers-lux .tl-rib-rec{background:var(--cream-2);color:var(--ox);border:1px solid var(--gold);border-top:0;border-right:0}
.tiers-lux .tl-head{min-height:50px}
.tiers-lux .tl-nm{font-family:var(--serif);font-size:19px;color:var(--ox-deep);line-height:1.05}
.tiers-lux .tl-who{font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin-top:5px}
.tiers-lux .tl-priceline{display:flex;align-items:baseline;gap:5px;min-height:46px;margin:10px 0 9px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}
.tiers-lux .tl-from{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}
.tiers-lux .tl-priceline b{font-family:var(--serif);font-size:29px;font-weight:400;color:var(--ox-deep);line-height:.9;font-variant-numeric:tabular-nums}
.tiers-lux .tl-per{font-family:var(--mono);font-size:10px;color:var(--muted)}
.tiers-lux .tl-blurb{font-family:var(--body);font-size:11.5px;color:var(--muted);line-height:1.45;margin-bottom:10px}
.tiers-lux .tl-feats,.tiers-lux .tl-more ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.tiers-lux .tl-feats li,.tiers-lux .tl-more li{font-family:var(--body);font-size:11.5px;color:var(--ink);line-height:1.4;padding-left:16px;position:relative}
.tiers-lux .tl-feats li:before,.tiers-lux .tl-more li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-family:var(--mono);font-size:10px;font-weight:600}
.tiers-lux .tl-more{margin-top:7px;border-top:1px dashed var(--line-2);padding-top:8px}
.tiers-lux .tl-foot{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.tiers-lux .tl-toggle{text-transform:none;color:var(--ox);opacity:.82}
.tiers-lux .tl-toggle:hover{opacity:1;text-decoration:underline}
.tiers-lux .tl-cta{width:100%;text-align:center;text-transform:none;letter-spacing:.01em;font-size:11px;background:var(--ox);border:1px solid var(--ox);color:var(--gold-pale)}
.tiers-lux .tl-cta:hover{background:var(--ox-deep);border-color:var(--ox-deep);color:#fff}
/* rec (engine "recommended") = gold-bordered light card */
.tiers-lux .tier3.rec{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 14px 34px -20px rgba(90,26,43,.45)}
/* pop (Authority "Most popular") = inverted burgundy, echoes Route 1 */
.tiers-lux .tier3.pop{background:linear-gradient(158deg,var(--ox) 0%,var(--ox-deep) 92%);border:1px solid var(--ox-deep);box-shadow:0 0 0 1px var(--gold-light),0 20px 44px -20px rgba(42,12,20,.6)}
.tiers-lux .tier3.pop::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(201,168,124,.05) 0,rgba(201,168,124,.05) 1px,transparent 1px,transparent 9px);pointer-events:none}
.tiers-lux .tier3.pop>*{position:relative}
.tiers-lux .tier3.pop .tl-nm{color:#fff}
.tiers-lux .tier3.pop .tl-who{color:var(--gold)}
.tiers-lux .tier3.pop .tl-priceline{border-color:rgba(201,168,124,.24)}
.tiers-lux .tier3.pop .tl-priceline b{color:var(--gold)}
.tiers-lux .tier3.pop .tl-from,.tiers-lux .tier3.pop .tl-per{color:var(--gold-light);opacity:.82}
.tiers-lux .tier3.pop .tl-blurb{color:var(--gold-light);opacity:.85}
.tiers-lux .tier3.pop .tl-feats li,.tiers-lux .tier3.pop .tl-more li{color:var(--gold-pale)}
.tiers-lux .tier3.pop .tl-feats li:before,.tiers-lux .tier3.pop .tl-more li:before{color:var(--gold)}
.tiers-lux .tier3.pop .tl-more{border-top-color:rgba(201,168,124,.24)}
.tiers-lux .tier3.pop .tl-toggle{color:var(--gold-light)}
.tiers-lux .tier3.pop .tl-cta{background:var(--gold);border-color:var(--gold);color:var(--ox-deep)}
.tiers-lux .tier3.pop .tl-cta:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--ox-deep)}
.tl-note{font-family:var(--body);font-size:11px;color:var(--muted);line-height:1.5;margin:11px 0 2px}
.tl-note .cmoney{color:var(--ox);font-weight:600}

/* — Route 3 harmonised with the family (light card + burgundy price panel already present) — */
.route3{border:1px solid var(--gold);box-shadow:0 1px 2px rgba(42,12,20,.04),0 16px 38px -22px rgba(42,12,20,.4)}

/* — CTA + the founder title share one type treatment ("WALK REPORT WITH THE FOUNDER") — */
.founder-subhead h3{text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ox-deep)}

/* tablet/mobile: the inverted Authority card flattens its lift so the stack stays even */
@media(max-width:820px){ .tiers-lux .tier3.pop{box-shadow:0 0 0 1px var(--gold-light),0 12px 28px -18px rgba(42,12,20,.5)} }

/* ---------------- FOUNDER SESSION (E2) — directly under the score header ---------------- */
.founder-session{margin:0 2px 14px;border:1px solid var(--gold);background:linear-gradient(104deg,var(--gold-pale),var(--cream-2));border-radius:14px;overflow:hidden}
.founder-session .fsx-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 20px;flex-wrap:wrap}
.founder-session .fsx-lead{font-family:var(--serif);font-size:18px;color:var(--ox-deep);line-height:1.12;margin-bottom:4px}
.founder-session .fsx-name{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;color:var(--ox-mid);line-height:1.45}
.founder-session .fsx-body{font-family:var(--body);font-size:13px;color:var(--muted);line-height:1.45;margin:5px 0 0;max-width:560px}
.founder-session .fsx-act{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 auto}
.founder-session .fsx-claim{white-space:nowrap}
.founder-session .fsx-contacts{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.founder-session .fsx-contact{font-family:var(--mono);font-size:10px;letter-spacing:.03em;color:var(--ox);text-decoration:none;border-bottom:1px solid transparent;transition:.13s}
.founder-session .fsx-contact:hover{border-bottom-color:var(--ox)}
@media(max-width:720px){ .founder-session .fsx-inner{flex-direction:column;align-items:flex-start} .founder-session .fsx-act{align-items:flex-start;width:100%} .founder-session .fsx-contacts{justify-content:flex-start} .founder-session .fsx-claim{width:100%} }

/* ---------------- ROUTE 3 (E6): golden offer line + compact hover-? specs ---------------- */
.r3-gold{font-family:var(--body);font-size:13.5px;color:var(--ox-deep);line-height:1.5;margin:0 0 9px;padding-left:16px;border-left:3px solid var(--gold)}
.r3-gold .cmoney{font-family:var(--serif);font-weight:600;color:var(--ox)}
.r3-specs{grid-template-columns:1fr 1fr;gap:6px 18px}
.r3-specs li{display:flex;align-items:center;gap:7px;padding-left:18px}
.r3-specs li .r3-spec-t{flex:1}
.r3-spec-q{flex:0 0 auto;width:15px;height:15px;border-radius:50%;border:1px solid var(--gold);color:var(--ox-mid);font-family:var(--mono);font-size:9px;line-height:13px;text-align:center;cursor:help;background:var(--gold-pale);transition:.13s}
.r3-spec-q:hover,.r3-spec-q:focus{background:var(--gold);color:var(--ox-deep);outline:none}
.r3-cover-btn{margin-top:7px}
@media(max-width:720px){ .r3-specs{grid-template-columns:1fr} }

/* ---------------- INDEPENDENT SOLUTIONS (E7): scope line, struck anchor, numbered 5 steps ---------------- */
.addon .apwas{font-family:var(--mono);font-size:12px;color:var(--muted-2);text-decoration:line-through;margin-right:6px;font-weight:400}
.addon .ap b{font-family:var(--serif);font-size:18px;color:var(--ox)}
.addon .ascope{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;color:var(--ox-mid);line-height:1.4;margin:5px 0 7px}
.addon .aspec-h{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.addon ol.aspec-steps{list-style:none;counter-reset:astep;display:flex;flex-direction:column;gap:5px;margin-bottom:9px;padding:0}
.addon ol.aspec-steps li{counter-increment:astep;font-family:var(--body);font-size:11.5px;color:#3a2d30;padding-left:22px;position:relative;line-height:1.4}
.addon ol.aspec-steps li::before{content:counter(astep);position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--gold-pale);border:1px solid var(--gold);color:var(--ox-mid);font-family:var(--mono);font-size:8.5px;line-height:14px;text-align:center}
.addon-disclosure{font-size:11px !important;color:var(--muted) !important;line-height:1.55;margin-top:10px;border-top:1px solid var(--line);padding-top:9px}

/* ---------------- BOOKING FORM (E10): name / website / email / sector ---------------- */
.audit-bookform{border:1px solid var(--line);border-radius:var(--r,12px);padding:16px 18px;background:linear-gradient(160deg,var(--paper),var(--cream-2));margin-top:6px}
.audit-bookform .abf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.audit-bookform .abf-field{display:flex;flex-direction:column;gap:4px}
.audit-bookform .abf-field span{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.audit-bookform .abf-field input{font-family:var(--body);font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;transition:.13s}
.audit-bookform .abf-field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-pale)}
.audit-bookform .abf-err{font-family:var(--mono);font-size:10px;color:var(--red);margin-top:8px}
.audit-bookform .abf-actions{margin-top:11px}
.audit-bookform .abf-fine{font-family:var(--mono);font-size:9px;color:var(--muted-2);margin-top:8px;letter-spacing:.02em}
.audit-bookform .abf-done{font-family:var(--body);font-size:13.5px;color:var(--ox-deep);line-height:1.5}
@media(max-width:720px){ .audit-bookform .abf-grid{grid-template-columns:1fr} }

/* ---------------- PRICING DRAWER (E3): in-page right-side slide-over ---------------- */
/* Layered below the commerce modal (z 200) so data-book/data-addon modals open ABOVE the drawer,
   and above the FAB (z 150). The relocated #sec-plan pane keeps all its ids/handlers/Cal mounts. */
body.pdrawer-lock{overflow:hidden}
.pdrawer-ov{position:fixed;inset:0;z-index:180;background:rgba(26,10,14,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.pdrawer-ov.show{opacity:1;visibility:visible}
.pdrawer{position:fixed;top:0;right:0;bottom:0;z-index:181;width:min(880px,94vw);background:var(--cream);border-left:1px solid var(--line-2);box-shadow:-18px 0 50px rgba(26,10,14,.28);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .26s cubic-bezier(.4,0,.2,1);will-change:transform}
.pdrawer.show{transform:translateX(0)}
.pdrawer-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--cream),var(--cream-2))}
.pdrawer-t{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ox-deep)}
.pdrawer-x{font-family:var(--serif);font-size:24px;line-height:1;color:var(--ox);background:none;border:none;cursor:pointer;padding:0 4px;transition:.13s}
.pdrawer-x:hover{color:var(--ox-deep)}
.pdrawer-body{flex:1 1 auto;overflow-y:auto;padding:18px 22px;-webkit-overflow-scrolling:touch}
/* the relocated plan pillar must render OPEN and flat inside the drawer (drop the accordion chrome). */
.pdrawer-body .pillar{border:0;margin:0}
.pdrawer-body .pillar>summary{display:none}
.pdrawer-body .pillar>.pbody{display:block}
/* sticky "Plans" pill — bottom-left, clear of the bottom-right FAB and the Notes toggle. */
.plans-pill{position:fixed;left:20px;bottom:20px;z-index:150;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--gold-light);background:var(--ox-deep);border:1px solid var(--ox);border-radius:40px;padding:12px 18px;cursor:pointer;box-shadow:0 10px 28px rgba(42,12,20,.3);transition:transform .16s,box-shadow .16s}
.plans-pill:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(42,12,20,.4)}
.plans-pill .pp-ic{color:var(--gold)}
@media (max-width:820px){ .plans-pill{left:12px;bottom:12px;padding:11px 15px;font-size:10px} .pdrawer-body{padding:14px} }
@media (prefers-reduced-motion:reduce){ .pdrawer,.pdrawer-ov{transition:none} }
