/* Intake Review — elite design system (2026-09)
   One visual world for the money pages: ink-navy authority, paper-white reading,
   gold used only where a decision happens. Display serif for the claim, Inter for
   the explanation, Plex Mono for every figure a buyer might check. */

/* Metric-matched fallbacks: the first paint wraps text exactly as the web fonts will, so the
   late font swap moves nothing (cold-load CLS was 0.13-0.40 without these, 0.000 with fonts blocked).
   Widths and ascent/descent measured in Chromium 2026-09-14 against the real faces on this site.
   Display size-adjust 87% = the value at which all 24 page H1s keep their line count at 561px and 342px columns
   (scan 84-100%); weight-specific faces so bold text is measured against real Georgia Bold, not synthetic bold. */
@font-face{ font-family:"Newsreader Fallback"; src:local("Georgia Bold"), local("Georgia-Bold"); font-weight:600 700; font-style:normal; size-adjust:87%; ascent-override:85.06%; descent-override:31.03%; line-gap-override:0%; }
@font-face{ font-family:"Newsreader Fallback"; src:local("Georgia Bold Italic"), local("Georgia-BoldItalic"); font-weight:600 700; font-style:italic; size-adjust:87%; ascent-override:85.06%; descent-override:31.03%; line-gap-override:0%; }
@font-face{ font-family:"Newsreader Fallback"; src:local("Georgia"); font-weight:400 500; font-style:normal; size-adjust:87%; ascent-override:85.06%; descent-override:31.03%; line-gap-override:0%; }
@font-face{ font-family:"Newsreader Fallback"; src:local("Georgia Italic"), local("Georgia-Italic"); font-weight:400 500; font-style:italic; size-adjust:87%; ascent-override:85.06%; descent-override:31.03%; line-gap-override:0%; }
@font-face{ font-family:"Inter Fallback"; src:local("Arial"); size-adjust:106.73%; ascent-override:90.88%; descent-override:22.49%; line-gap-override:0%; }
@font-face{ font-family:"Plex Mono Fallback"; src:local("Courier New"); size-adjust:100%; ascent-override:103%; descent-override:28%; line-gap-override:0%; }

:root{
  --ink:#0A1220; --ink-2:#0F1A2C; --ink-3:#172439;
  --paper:#F4F6F9; --card:#FFFFFF; --line:#E1E6EE; --line-ink:rgba(255,255,255,.10);
  --text:#0E1726; --muted:#566275; --text-inv:#EAF0F7; --muted-inv:#A3B0C4;
  --gold:#E2B13C; --gold-deep:#B8860B; --gold-ink:#7A5806; --gold-wash:rgba(226,177,60,.12);
  --leak:#B3402A; --leak-wash:#FBEDEA; --fix:#1F6E4B; --fix-wash:#E7F3EC;
  --display:"Newsreader", "Newsreader Fallback", Georgia, "Times New Roman", serif;
  --body:"Inter", "Inter Fallback", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --mono:"IBM Plex Mono", "Plex Mono Fallback", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --r:12px; --r-lg:18px; --max:1180px;
  --shadow:0 1px 2px rgba(10,18,32,.06), 0 12px 32px -12px rgba(10,18,32,.18);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ transition:none!important; animation:none!important; } }
body{ margin:0; font-family:var(--body); font-size:17px; line-height:1.6; color:var(--text); background:var(--paper); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; display:block; }
a{ color:inherit; }
:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; border-radius:4px; }
.skip{ position:absolute; left:-9999px; top:8px; background:var(--gold); color:var(--ink); padding:8px 14px; border-radius:8px; z-index:1000; font-weight:600; }
.skip:focus{ left:12px; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
.num,.mono{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
h1,h2,h3{ font-family:var(--display); font-weight:600; letter-spacing:-.012em; text-wrap:balance; margin:0; }
h1{ font-size:clamp(40px,5.6vw,64px); line-height:1.04; }
h2{ font-size:clamp(30px,3.6vw,44px); line-height:1.1; }
h3{ font-size:22px; line-height:1.25; }
p{ margin:0; }
.eyebrow{ font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-ink); }
.dark .eyebrow{ color:var(--gold); }
.lead{ font-size:19px; line-height:1.6; color:var(--muted); max-width:39.1em; }
.dark .lead{ color:var(--muted-inv); }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 24px; border-radius:10px;
  font:600 16px/1 var(--body); text-decoration:none; cursor:pointer; border:1px solid transparent; transition:transform .15s ease, background .15s ease, box-shadow .15s ease; }
.btn-primary{ background:var(--gold); color:var(--ink); box-shadow:0 8px 24px -10px rgba(226,177,60,.65); }
.btn-primary:hover{ background:#EBBE52; transform:translateY(-1px); }
.btn-quiet{ background:transparent; color:var(--text); border-color:var(--line); }
.dark .btn-quiet{ color:var(--text-inv); border-color:var(--line-ink); }
.btn-quiet:hover{ border-color:var(--gold-deep); }
.textlink{ font-weight:600; text-decoration:underline; text-decoration-color:var(--gold-deep); text-underline-offset:4px; text-decoration-thickness:2px; }
.dark .textlink{ text-decoration-color:var(--gold); }
.btn .arr{ transition:transform .15s ease; } .btn:hover .arr{ transform:translateX(3px); }

/* ---------- header ---------- */
.site-head{ position:sticky; top:0; z-index:90; background:rgba(10,18,32,.92); backdrop-filter:saturate(140%) blur(12px); border-bottom:1px solid var(--line-ink); color:var(--text-inv); }
.site-head .wrap{ display:flex; align-items:center; justify-content:space-between; height:66px; gap:20px; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:700; font-size:17px; letter-spacing:-.01em; }
.brand-mark{ width:32px; height:32px; border-radius:8px; background:var(--gold); color:var(--ink); display:grid; place-items:center; font:700 13px/1 var(--mono); letter-spacing:.02em; }
.brand small{ display:block; font:500 11px/1.2 var(--mono); color:var(--muted-inv); letter-spacing:.06em; text-transform:uppercase; margin-top:2px; }
.head-nav{ display:flex; align-items:center; gap:26px; font-size:15px; }
.head-nav a{ text-decoration:none; color:var(--muted-inv); }
.head-nav a:hover{ color:var(--text-inv); }
.head-nav .btn{ min-height:40px; padding:0 16px; font-size:14.5px; color:var(--ink); }
.head-nav .sm{ display:none; }
@media (max-width:860px){ .head-nav a:not(.btn){ display:none; } }
@media (max-width:560px){ .brand small{ display:none; } .head-nav .lg{ display:none; } .head-nav .sm{ display:inline; } }

/* ---------- sections ---------- */
.section{ padding:96px 0; }
.section.tight{ padding:72px 0; }
.dark{ background:var(--ink); color:var(--text-inv); }
.dark-2{ background:var(--ink-2); color:var(--text-inv); }
.white{ background:var(--card); }
.sec-head{ display:flex; flex-direction:column; gap:14px; max-width:760px; margin-bottom:44px; }
@media (max-width:720px){ .section{ padding:64px 0; } .section.tight{ padding:52px 0; } .sec-head{ margin-bottom:32px; } }

/* ---------- hero ---------- */
.hero{ padding:76px 0 84px; background:
  radial-gradient(70% 90% at 100% 0%, rgba(226,177,60,.10), transparent 60%),
  linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%); }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:64px; align-items:center; }
.hero h1 em{ font-style:italic; color:var(--gold); }
.hero .lead{ margin-top:22px; font-size:20px; }
.hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:34px; }
.hero-note{ margin-top:14px; font-size:14px; color:var(--muted-inv); }
.proof-row{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:34px; padding-top:22px; border-top:1px solid var(--line-ink); font-size:14px; color:var(--muted-inv); }
.proof-row > span{ display:inline-flex; align-items:flex-start; gap:8px; }
.proof-row b{ color:var(--text-inv); font-weight:600; }
.proof-row .tick{ width:18px; height:18px; border-radius:50%; background:var(--gold-wash); color:var(--gold); display:grid; place-items:center; font-size:11px; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; gap:44px; } .hero{ padding:52px 0 60px; } }

/* sample-report card (hero visual) */
.report{ background:var(--card); color:var(--text); border-radius:var(--r-lg); box-shadow:0 30px 80px -30px rgba(0,0,0,.6); overflow:hidden; }
.report-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 22px; border-bottom:1px solid var(--line); background:#FAFBFC; }
.report-top .mono{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.report-tag{ font:600 11px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-ink); background:var(--gold-wash); padding:6px 9px; border-radius:6px; }
.report-body{ padding:22px 22px 8px; }
.report-headline{ font-family:var(--display); font-size:24px; line-height:1.25; font-weight:600; }
.report-meta{ margin-top:6px; font-size:13.5px; color:var(--muted); }
.report-rows{ margin:18px 0 0; padding:0; list-style:none; }
.report-rows li{ display:grid; grid-template-columns:1fr auto; gap:14px; padding:12px 0; border-top:1px solid var(--line); font-size:15px; align-items:baseline; }
.report-rows .v{ font-family:var(--mono); font-size:14px; font-weight:500; text-align:right; }
.report-rows .v.bad{ color:var(--leak); } .report-rows .v.good{ color:var(--fix); }
.report-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 12px; padding:14px 22px; border-top:1px solid var(--line); font-size:12.5px; color:var(--muted); }
.report-foot b{ color:var(--text); font-weight:600; }

/* ---------- steps (a real sequence) ---------- */
.steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; counter-reset:step; border-top:1px solid var(--line); }
.step{ padding:28px 28px 8px 0; border-right:1px solid var(--line); counter-increment:step; }
.step + .step{ padding-left:28px; }
.step:last-child{ border-right:0; }
.step::before{ content:counter(step,decimal-leading-zero); font:500 13px/1 var(--mono); color:var(--gold-ink); display:block; margin-bottom:16px; }
.step h3{ font-size:23px; margin-bottom:10px; }
.step p{ color:var(--muted); font-size:15.5px; }
.step .when{ display:inline-block; margin-top:14px; font:500 12.5px/1 var(--mono); color:var(--text); background:var(--paper); border:1px solid var(--line); padding:7px 10px; border-radius:6px; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr; } .step, .step + .step{ padding:24px 0; border-right:0; border-bottom:1px solid var(--line); } }

/* ---------- leaks ---------- */
.leaks{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.leak{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:24px; display:flex; flex-direction:column; gap:10px; }
.leak .mono{ font-size:12px; color:var(--leak); letter-spacing:.06em; text-transform:uppercase; }
.leak h3{ font-size:21px; }
.leak p{ color:var(--muted); font-size:15px; }
@media (max-width:900px){ .leaks{ grid-template-columns:1fr; } }

/* ---------- calculator ---------- */
.calc{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); }
.calc-in{ padding:30px; display:flex; flex-direction:column; gap:18px; border-right:1px solid var(--line); }
.calc-in label{ display:flex; flex-direction:column; gap:7px; font-size:14.5px; font-weight:600; }
.calc-in input, .calc-in select{ font:500 17px var(--mono); padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--text); width:100%; }
.calc-in input:focus, .calc-in select:focus{ outline:none; border-color:var(--gold-deep); box-shadow:0 0 0 3px var(--gold-wash); }
.calc-out{ padding:30px; display:flex; flex-direction:column; gap:16px; background:linear-gradient(180deg,#FFFFFF,#FAFBFC); }
.calc-head{ display:flex; align-items:center; gap:22px; }
.ring{ position:relative; width:86px; height:86px; flex:0 0 auto; }
.ring svg{ width:86px; height:86px; }
.ring-in{ position:absolute; inset:0; display:grid; place-items:center; font:600 22px/1 var(--mono); }
.ring-in small{ font-size:11px; color:var(--muted); margin-left:1px; }
.calc-lbl{ font:500 12px/1.3 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.calc-big{ font:600 clamp(34px,4vw,46px)/1.05 var(--mono); letter-spacing:-.02em; margin-top:6px; }
.calc-big.bump{ transform:scale(1.02); }
.calc-bench{ font-size:13.5px; color:var(--muted); margin-top:6px; }
.calc-findings .f{ padding:12px 0; border-top:1px solid var(--line); }
.calc-findings .f-top{ display:flex; justify-content:space-between; gap:12px; font-size:15px; }
.calc-findings .f-v{ font-family:var(--mono); color:var(--leak); white-space:nowrap; }
.calc-findings .f-fix{ font-size:13.5px; color:var(--muted); margin-top:3px; }
.calc-rec{ font-size:15px; background:var(--paper); border-radius:10px; padding:14px 16px; }
.calc-note{ font-size:12.5px; color:var(--muted); }
@media (max-width:900px){ .calc{ grid-template-columns:1fr; } .calc-in{ border-right:0; border-bottom:1px solid var(--line); } }

/* ---------- frameworks ---------- */
.fw{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; border-top:1px solid var(--line-ink); }
.fw-item{ display:grid; grid-template-columns:56px 1fr; gap:14px; padding:22px 0; border-bottom:1px solid var(--line-ink); }
.fw-item .code{ font:500 13px/1.6 var(--mono); color:var(--gold); }
.fw-item h3{ font-size:20px; margin-bottom:6px; color:var(--text-inv); }
.fw-item p{ font-size:15px; color:var(--muted-inv); }
.fw-foot{ margin-top:26px; font-size:15px; color:var(--muted-inv); }
@media (max-width:820px){ .fw{ grid-template-columns:1fr; } }

/* ---------- pricing ---------- */
.tiers{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; align-items:stretch; }
.tier{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:24px 20px 20px; display:flex; flex-direction:column; gap:10px; }
.tier.feat{ border-color:var(--gold-deep); box-shadow:0 0 0 1px var(--gold-deep), var(--shadow); }
.tier-badge{ display:block; width:max-content; font:600 10.5px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; background:var(--ink); color:var(--gold); padding:6px 8px; border-radius:6px; }
.tier-name{ display:block; font-family:var(--display); font-size:26px; font-weight:600; line-height:1.1; }
.tier-fit{ display:block; font:500 12.5px/1.4 var(--mono); color:var(--muted); }
.tier-loss-lbl{ display:block; font:500 11px/1.3 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.tier-loss{ display:block; font:600 18px/1.2 var(--mono); color:var(--leak); }
.tier-price{ display:block; font:600 34px/1 var(--mono); letter-spacing:-.02em; margin-top:6px; }
.tier-per{ display:block; font-size:13px; color:var(--muted); line-height:1.4; }
.tier-price-line{ display:block; font:600 20px/1.2 var(--mono); margin-top:4px; }
.tier-desc{ font-size:14px; color:var(--muted); }
.tier-desc b{ color:var(--text); font-weight:600; }
.tier-roi{ font-size:13px; color:var(--muted); }
.tier ul{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:7px; }
.tier li{ font-size:14px; line-height:1.45; padding-left:20px; position:relative; }
.tier li::before{ content:""; position:absolute; left:2px; top:.5em; width:9px; height:5px; border-left:2px solid var(--fix); border-bottom:2px solid var(--fix); transform:rotate(-45deg); }
.tier-inc{ font:600 12px/1.3 var(--mono); letter-spacing:.04em; color:var(--text); margin-top:4px; }
.tier .speed{ font-size:13px; color:var(--text); }
.tier .btn{ margin-top:auto; min-height:46px; font-size:15px; width:100%; }
.tier .pay{ display:block; text-align:center; font-size:12px; color:var(--muted); text-decoration:none; }
.tiers-note{ margin-top:22px; font-size:14px; color:var(--muted); display:flex; flex-wrap:wrap; gap:8px 20px; }
@media (max-width:1180px){ .tiers{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(260px,78%); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; } .tier{ scroll-snap-align:start; } }
@media (max-width:640px){ .tiers{ grid-auto-flow:row; grid-auto-columns:auto; overflow:visible; } }

/* ---------- founder / proof ---------- */
.founder{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
.founder-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; display:flex; flex-direction:column; gap:16px; }
.founder-id{ display:flex; align-items:center; gap:16px; }
.monogram{ width:64px; height:64px; border-radius:50%; background:var(--ink); color:var(--gold); display:grid; place-items:center; font:600 22px/1 var(--display); }
.founder-id b{ display:block; font-size:19px; }
.founder-id span{ font-size:14px; color:var(--muted); }
.founder-card p{ font-size:16px; }
.facts{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; }
.facts li{ display:grid; grid-template-columns:170px 1fr; gap:14px; padding:12px 0; border-top:1px solid var(--line); font-size:15px; }
.facts li span:first-child{ font:500 12px/1.6 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.teardowns{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.teardowns a{ font-size:14px; text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:6px 12px; background:var(--card); }
.teardowns a:hover{ border-color:var(--gold-deep); }
@media (max-width:900px){ .founder{ grid-template-columns:1fr; gap:32px; } .facts li{ grid-template-columns:1fr; gap:2px; } }

/* ---------- sample report ---------- */
.sample{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.checklist{ list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:12px; }
.checklist li{ padding-left:30px; position:relative; font-size:16.5px; }
.checklist li::before{ content:""; position:absolute; left:4px; top:.45em; width:11px; height:6px; border-left:2px solid var(--fix); border-bottom:2px solid var(--fix); transform:rotate(-45deg); }
@media (max-width:900px){ .sample{ grid-template-columns:1fr; gap:32px; } }

/* ---------- guarantee ---------- */
.promise{ display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; background:var(--card); border:1px solid var(--line); border-left:4px solid var(--fix); border-radius:var(--r); padding:26px 28px; }
.promise h3{ font-size:24px; }
.promise p{ color:var(--muted); font-size:15.5px; margin-top:6px; }
.promise .seal{ width:56px; height:56px; border-radius:50%; background:var(--fix-wash); color:var(--fix); display:grid; place-items:center; font:600 22px/1 var(--display); }
@media (max-width:760px){ .promise{ grid-template-columns:1fr; } }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); max-width:860px; }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; padding:22px 0; font-size:19px; font-weight:600; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font:400 26px/1 var(--mono); color:var(--gold-ink); transition:transform .2s; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq .ans{ padding:0 0 22px; color:var(--muted); font-size:16px; max-width:44.2em; }

/* ---------- final CTA ---------- */
.final{ text-align:center; }
.final h2{ max-width:11.43em; margin:0 auto; }
.final .lead{ margin:18px auto 0; }
.final .hero-actions{ justify-content:center; }

/* ---------- footer ---------- */
.site-foot{ background:var(--ink); color:var(--muted-inv); padding:64px 0 34px; font-size:14.5px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr repeat(3,minmax(0,1fr)); gap:36px; }
.site-foot h4{ font:500 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--text-inv); margin:0 0 16px; }
.site-foot a{ display:block; text-decoration:none; padding:5px 0; color:var(--muted-inv); }
.site-foot a:hover{ color:var(--text-inv); }
.foot-legal{ margin-top:44px; padding-top:22px; border-top:1px solid var(--line-ink); display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; font-size:13px; }
.foot-legal button{ background:none; border:0; color:var(--muted-inv); font:inherit; text-decoration:underline; cursor:pointer; padding:0; }
@media (max-width:860px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .foot-grid{ grid-template-columns:1fr; } }

/* ---------- sticky phone CTA ---------- */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:80; background:rgba(10,18,32,.96); border-top:1px solid var(--line-ink); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:none; gap:10px; align-items:center; }
.sticky-cta .btn{ flex:1; min-height:48px; }
.sticky-cta .textlink{ color:var(--text-inv); font-size:14.5px; white-space:nowrap; }
@media (max-width:760px){ body.show-sticky .sticky-cta{ display:flex; } body.show-sticky{ padding-bottom:72px; } }

/* ---------- consent strip (UK/EU visitors only) ---------- */
.consent{ position:fixed; left:16px; bottom:16px; z-index:85; max-width:380px; background:var(--card); color:var(--text); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:14px 16px; font-size:14px; display:none; }
.consent.show{ display:block; }
.consent-actions{ display:flex; gap:10px; margin-top:10px; }
.consent-actions button{ font:600 14px var(--body); border-radius:8px; padding:8px 12px; cursor:pointer; border:1px solid var(--line); background:var(--card); color:var(--text); }
.consent-actions button.yes{ background:var(--ink); color:var(--text-inv); border-color:var(--ink); }
@media (max-width:760px){ .consent{ left:12px; right:12px; bottom:84px; max-width:none; } }

/* ---------- chat widget (ir-chat.js) ---------- */
.irchat-bubble{ position:fixed; right:18px; bottom:18px; z-index:300; width:52px; height:52px; border-radius:50%; border:1px solid rgba(226,177,60,.55); cursor:pointer; background:var(--ink); color:var(--gold); box-shadow:0 10px 30px -10px rgba(0,0,0,.5); display:grid; place-items:center; transition:transform .2s ease, opacity .2s ease; }
.irchat-bubble:hover{ transform:translateY(-2px); }
.irchat-bubble.hide{ opacity:0; pointer-events:none; }
.irchat-bubble .irchat-ic{ font-size:21px; line-height:1; }
.irchat-bubble.pulse{ animation:irchatpulse 1.8s ease-out 3; }
@keyframes irchatpulse{ 0%{ box-shadow:0 0 0 0 rgba(226,177,60,.5);} 100%{ box-shadow:0 0 0 16px rgba(226,177,60,0);} }
body.show-sticky .irchat-bubble{ bottom:86px; }
.irchat-tip{ position:fixed; right:80px; bottom:26px; z-index:300; max-width:220px; cursor:pointer; background:var(--ink); color:var(--text-inv); border:1px solid rgba(226,177,60,.4); border-radius:12px; padding:10px 13px; font-size:13.5px; opacity:0; transform:translateY(6px); transition:.3s; }
.irchat-tip.show{ opacity:1; transform:translateY(0); }
.irchat-panel{ position:fixed; right:18px; bottom:18px; z-index:301; width:370px; max-width:calc(100vw - 24px); height:540px; max-height:calc(100vh - 90px); background:var(--ink); color:var(--text-inv); border:1px solid var(--line-ink); border-radius:16px; box-shadow:0 30px 80px -20px rgba(0,0,0,.7); display:none; flex-direction:column; overflow:hidden; }
.irchat-panel.show{ display:flex; }
.irchat-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line-ink); }
.irchat-head b{ display:block; font-size:15px; } .irchat-head span{ font-size:12px; color:var(--muted-inv); }
.irchat-x{ background:none; border:0; color:var(--muted-inv); font-size:24px; cursor:pointer; line-height:1; }
.irchat-log{ flex:1; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
.irchat-msg{ max-width:88%; padding:10px 12px; border-radius:12px; font-size:14px; line-height:1.5; }
.irchat-msg.a{ background:var(--ink-3); align-self:flex-start; }
.irchat-msg.u{ background:var(--gold); color:var(--ink); align-self:flex-end; }
.irchat-msg a{ color:var(--gold); }
.irchat-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:8px 16px; border-top:1px solid var(--line-ink); }
.irchat-chips a{ font-size:12.5px; text-decoration:none; border:1px solid var(--line-ink); border-radius:999px; padding:5px 10px; color:var(--text-inv); }
.irchat-form{ display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--line-ink); }
.irchat-in{ flex:1; font:15px var(--body); padding:10px 12px; border-radius:10px; border:1px solid var(--line-ink); background:var(--ink-2); color:var(--text-inv); }
.irchat-send{ background:var(--gold); color:var(--ink); border:0; border-radius:10px; width:42px; font-size:18px; cursor:pointer; }

/* ---------- utility ---------- */
.center{ text-align:center; }
.hide-sm{ } @media (max-width:640px){ .hide-sm{ display:none!important; } }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
