/* Generated from ledger.css by `php artisan css:split` (UX audit CR 20): the rules that can match on the public site (body.site).
   Do not edit this file: edit public/css/ledger.css and run the command again. */
@font-face{ font-family:'Figtree Fallback'; src:local('Arial'), local('ArialMT'), local('Helvetica'), local('Roboto');
  font-weight:100 549; size-adjust:100.72%; ascent-override:94.32%; descent-override:24.82%; line-gap-override:0%; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'Figtree Fallback'; src:local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Roboto Bold');
  font-weight:550 1000; size-adjust:94.96%; ascent-override:100.04%; descent-override:26.33%; line-gap-override:0%; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'EB Garamond Fallback'; src:local('Times New Roman'), local('TimesNewRomanPSMT'), local('Times');
  font-style:normal; size-adjust:97.17%; ascent-override:103.63%; descent-override:30.67%; line-gap-override:0%; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'EB Garamond Fallback'; src:local('Times New Roman Italic'), local('TimesNewRomanPS-ItalicMT'), local('Times Italic');
  font-style:italic; size-adjust:95.14%; ascent-override:105.84%; descent-override:31.32%; line-gap-override:0%; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{ font-family:'IBM Plex Mono Fallback'; src:local('Courier New'), local('CourierNewPSMT'), local('Courier');
  size-adjust:99.98%; ascent-override:102.52%; descent-override:27.50%; line-gap-override:0%; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root{
  --bg:#f3efe2; --surface:#ffffff; --surface-2:#faf8f0;
  --ink:#2b2718; --ink-2:#6b6450; --ink-3:#736b58;
  --line:#e6e1cf; --line-2:#efebdd;
  --khaki:#8f7f4e; --khaki-ink:#75673d; --khaki-wash:#ede7d2; --khaki-bright:#c8b878;
  --red:#c13a2a; --red-ink:#ad3324; --red-wash:#f9e7e0;
  --amber-ink:#92590f; --past-ink:#6f6858;
  --green:#0b7f57; --earth:#2b2718;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; height:100%; }
body{
  font-family:'Figtree','Figtree Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background:var(--bg); color:var(--ink);
}
a{ color:inherit; text-decoration:none; }
.mono{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,Consolas,monospace; font-feature-settings:'tnum' 1; letter-spacing:-0.01em; }
.app{ display:grid; grid-template-columns:228px 1fr; min-height:100vh; }
.a-logo{ display:flex; align-items:center; gap:9px; font-family:'Figtree','Figtree Fallback',sans-serif; font-weight:800; font-size:18px; color:#fff; letter-spacing:-0.03em; margin-bottom:18px; }
.a-logo .mk{ display:flex; align-items:center; justify-content:center; }
.a-logo .mk img{ height:26px;width:auto;display:block; }
.card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 1px 2px rgba(43,39,24,.04),0 8px 24px rgba(43,39,24,.05); }
.card.pad{ padding:18px 20px; }
.a-curvehead{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; flex-wrap:wrap; gap:8px; }
.a-curvetitle{ font-weight:600; font-size:15px; }
.hf-legend{ display:flex; gap:18px; align-items:center; font-size:12.5px; flex-wrap:wrap; }
.hf-legend .lg{ display:flex; align-items:center; gap:7px; color:var(--ink-2); }
.hf-legend .ln{ width:20px; height:0; display:inline-block; }
.hf-dot{ width:9px; height:9px; border-radius:2px; display:inline-block; }
.reason{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:0 8px 24px rgba(43,39,24,.05); }
.r-step{ display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid var(--line-2); }
.r-step:last-of-type{ border-bottom:none; }
.r-bar{ width:6px;height:26px;border-radius:3px; flex:0 0 auto; }
.r-bar.base{ background:#a59c82; }
.r-bar.up{ background:var(--red); }
.r-bar.flat{ background:#d8d2bd; }
.r-bar.down{ background:var(--khaki); }
.r-name{ flex:1; font-size:13.5px; color:var(--ink-2); }
.r-amt{ font-weight:600; font-size:13.5px; }
.r-amt.up{ color:var(--red); }
.r-total{ display:flex; justify-content:space-between; align-items:baseline; margin-top:12px; padding-top:14px; border-top:2px solid var(--ink); }
.r-total .big{ font-size:30px; font-weight:700; letter-spacing:-0.02em; }
.btn{ font-size:13px; font-weight:600; border-radius:9px; padding:9px 14px; cursor:pointer; border:1px solid var(--line); background:var(--surface); color:var(--ink); display:inline-flex; align-items:center; gap:7px; }
.btn:hover{ border-color:var(--ink-3); }
.btn.pri{ background:var(--khaki-ink); border-color:var(--khaki-ink); color:#fff; }
.btn.pri:hover{ background:#5f5331; border-color:#5f5331; }
button.btn{ font-family:inherit; }
button.lnk{ background:none; border:0; padding:0; font-family:inherit; }
.btn.block{ width:100%; justify-content:center; }
.btn.sm{ padding:7px 11px; font-size:12.5px; }
.callout{ background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--red); border-radius:12px; padding:14px 16px; }
.callout.cool{ border-left-color:var(--khaki); }
.conf{ font-size:11px; font-weight:600; padding:3px 9px; border-radius:20px; display:inline-flex; gap:5px; align-items:center; }
.conf.high{ background:#eef6f1; color:var(--green); }
.conf.low{ background:#f0ede1; color:var(--ink-2); }
.src{ font-size:10.5px; font-weight:600; padding:2px 7px; border-radius:5px; background:var(--khaki-wash); color:var(--khaki-ink); }
.src.book{ background:#eef6f1; color:#0f7a52; }
.tick{ width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex:0 0 auto;cursor:pointer;background:var(--surface); }
.tick.on{ background:var(--khaki); border-color:var(--khaki); }
.set-h{ font-size:12.5px; color:var(--ink-3); margin-top:2px; }
.seg{ display:inline-flex; background:var(--surface-2); border:1px solid var(--line); border-radius:9px; padding:3px; }
.seg span{ font-size:12.5px; font-weight:500; padding:5px 13px; border-radius:6px; color:var(--ink-2); }
.seg span.on{ background:var(--surface); color:var(--ink); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.lock{ font-size:11px; color:var(--ink-3); }
.stale{ background:#fff7ed; border:1px solid #f3d9b6; color:var(--amber-ink); border-radius:10px; padding:11px 14px; font-size:13px; display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.field{ border:1px solid var(--line); border-radius:10px; padding:11px 13px; font-size:14px; background:var(--surface); color:var(--ink); width:100%; }
.label{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); font-weight:600; margin-bottom:6px; }
.dim{ color:var(--ink-3); }
.row{ display:flex; align-items:center; }
.between{ justify-content:space-between; }
.grow{ flex:1; }
.note{ font-size:12.5px; color:var(--ink-3); background:var(--surface-2); border:1px dashed var(--line); border-radius:8px; padding:9px 12px; }
@media (max-width:720px){
  .app{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; }
  .card.pad{ padding:14px 14px; }
  .field, .inp, select, input, textarea{ font-size:16px; }
}
@media (max-width:640px){
  .r-total .big{ font-size:26px; }
}
body.site{
  --s-bg:#f4efe4; --s-surface:#fbf8ef; --s-ink:#26211a;
  --s-dark:#262115; --s-foot:#1c1810; --s-cream:#faf7ec;
  --s-khaki:#8f7d2b; --s-khaki-deep:#7a6a22;
  --s-gold:#e9d98a; --s-gold-soft:#f4e7a5;
  --s-red:#c4553d;
  --s-line:rgba(38,33,21,.12); --s-line-2:rgba(38,33,21,.22);
  --s-dim:#59513f; --s-faint:#8a8069;
  --wrap:min(1240px,92vw);
  background:var(--s-bg); color:var(--s-ink);
  font-family:'Figtree','Figtree Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;
  height:auto; display:flex; flex-direction:column; min-height:100vh;
}
body.site ::selection{ background:var(--s-khaki); color:#fff; }
html:has(body.site){ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html:has(body.site){ scroll-behavior:auto; }
}
body.site .dim{ color:var(--s-faint); }
.d-serif{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; letter-spacing:-0.01em; }
.d-serif em, .sect-h em{ font-style:italic; color:var(--s-khaki); }
.sect-h{ font-size:clamp(32px,3.6vw,52px); line-height:1.1; margin:0 0 40px; }
.hero-kick{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,monospace; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--s-khaki); font-weight:500; }
.hero-h1{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-size:clamp(34px,4vw,52px); line-height:1.06; letter-spacing:-0.015em; font-weight:500; margin:12px 0 0; }
.hero-h1 em{ font-style:italic; color:var(--s-khaki); }
.site-bar{ position:sticky; top:0; z-index:50;
  background:rgba(244,239,228,.96); border-bottom:1px solid rgba(38,33,21,.08); }
.site-nav{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:var(--wrap); margin:0 auto; padding:13px 0; }
.site-links{ display:flex; align-items:center; gap:20px; }
.site-links a{ font-size:15px; color:var(--s-ink); }
.site-links a:not(.btn):hover{ color:var(--s-khaki); }
body.site .btn{ font-family:inherit; font-size:14.5px; font-weight:600; border-radius:999px; padding:9px 18px;
  border:1px solid var(--s-line-2); background:transparent; color:var(--s-ink);
  transition:transform .25s,box-shadow .25s,border-color .25s,background .25s,color .25s; }
body.site .btn:hover{ border-color:var(--s-ink); background:var(--s-surface); }
body.site .btn.pri{ background:var(--s-dark); border-color:var(--s-dark); color:var(--s-bg); }
body.site .btn.pri:hover{ background:#3a3320; border-color:#3a3320; color:#fff; transform:translateY(-2px); box-shadow:0 16px 32px -14px rgba(36,30,14,.55); }
body.site .btn.gold{ background:var(--s-gold); border-color:var(--s-gold); color:var(--s-dark); }
body.site .btn.gold:hover{ background:var(--s-gold-soft); border-color:var(--s-gold-soft); transform:translateY(-2px); box-shadow:0 16px 32px -14px rgba(0,0,0,.5); }
body.site .btn.khaki{ background:var(--s-khaki-deep); border-color:var(--s-khaki-deep); color:var(--s-cream); }
body.site .btn.khaki:hover{ background:#665818; border-color:#665818; transform:translateY(-2px); }
body.site .card{ background:var(--s-surface); border-color:var(--s-line); }
.hero-full{ position:relative; min-height:94vh; min-height:94svh; overflow:hidden; background:var(--s-dark);
  display:flex; flex-direction:column; justify-content:flex-end; }
.hero-slides{ position:absolute; left:0; right:0; top:-12%; height:124%; }
.hero-slides .slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.8s ease;
  background-size:cover; background-position:center; }
.hero-slides .slide.is-on{ opacity:1; }
.hero-slides .slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade{ position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg,rgba(30,14,10,.72) 0%,rgba(30,14,10,.5) 38%,rgba(30,14,10,.16) 66%,rgba(30,14,10,.3) 100%),
    linear-gradient(180deg,rgba(46,23,16,.5) 0%,rgba(42,21,14,.44) 45%,rgba(24,11,8,.8) 100%); }
.hero-inner{ position:relative; width:var(--wrap); margin:0 auto; padding:140px 0 96px;
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:44px; }
.hero-copy{ max-width:600px; }
.hero-kick2{ display:flex; align-items:center; margin-bottom:22px; }
.hero-kick2 span{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12.5px; letter-spacing:.22em; color:var(--s-gold); font-weight:500; text-transform:uppercase;
  text-shadow:0 1px 2px rgba(20,10,7,.65),0 6px 20px rgba(20,10,7,.5); }
.hero-full .hero-h1{ font-size:clamp(42px,5.6vw,80px); line-height:1.02; margin:0 0 20px; color:var(--s-cream); text-wrap:balance;
  text-shadow:0 1px 2px rgba(20,10,7,.6),0 14px 44px rgba(20,10,7,.4); }
.hero-full .hero-h1 em{ color:var(--s-gold); }
.hero-lede{ font-size:17.5px; line-height:1.6; color:rgba(252,250,242,.95); max-width:540px; margin:0 0 28px; text-wrap:pretty;
  text-shadow:0 1px 2px rgba(20,10,7,.55),0 8px 28px rgba(20,10,7,.35); }
.hero-lede b{ color:#fff; }
.hero-cta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
body.site .hero-cta .btn{ padding:13px 24px; font-size:16px; }
body.site .hero-cta .btn.pri{ background:var(--s-gold); border-color:var(--s-gold); color:var(--s-dark); }
body.site .hero-cta .btn.pri:hover{ background:var(--s-gold-soft); border-color:var(--s-gold-soft); box-shadow:0 16px 32px -14px rgba(0,0,0,.6); }
body.site .hero-cta .btn.ghost{ border-color:rgba(250,247,236,.45); color:var(--s-cream); }
body.site .hero-cta .btn.ghost:hover{ border-color:var(--s-cream); background:transparent; color:#fff; }
.hero-fine{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12px; color:rgba(250,247,236,.78); margin-top:18px;
  text-shadow:0 1px 2px rgba(20,10,7,.6); }
.hero-visual{ width:min(500px,100%); }
.hero-stage{ perspective:1400px; }
.hero-card{ background:linear-gradient(160deg,rgba(30,25,15,.94),rgba(18,15,9,.92));
  border:1px solid rgba(250,247,236,.16); border-radius:16px; padding:20px 22px 12px;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.6); transform-style:preserve-3d; }
.hero-card .a-curvehead{ margin-bottom:0; }
.hero-card .a-curvetitle{ font-weight:600; font-size:16px; color:var(--s-cream); }
.chip-illus{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.12em; color:rgba(250,247,236,.6);
  border:1px solid rgba(250,247,236,.3); border-radius:999px; padding:3px 9px; white-space:nowrap; }
.hero-card .hf-legend{ font-size:12px; }
.hero-card .hf-legend .lg{ color:rgba(250,247,236,.65); }
.float-badge{ position:absolute; pointer-events:none; z-index:2; }
.float-badge > span{ display:inline-block; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; padding:6px 11px; border-radius:8px; }
.float-badge.b1{ left:5%; bottom:23%; }
.float-badge.b1 > span{ background:var(--s-dark); color:var(--s-cream); border:1px solid rgba(250,247,236,.22); }
.float-badge.b2{ left:38%; top:7%; }
.float-badge.b2 > span{ background:var(--s-red); color:#fff; box-shadow:0 14px 28px -10px rgba(90,20,8,.6); }
.hero-note{ text-align:center; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; color:rgba(250,247,236,.62); margin:14px 0 0; }
.hero-foot{ position:absolute; left:0; right:0; bottom:14px; display:flex; flex-direction:column; align-items:center; gap:9px; pointer-events:none; }
.hero-dots{ display:flex; gap:0; margin:-20px 0 -21px; pointer-events:auto; }
.hero-dots .dot{ box-sizing:content-box; width:28px; height:3px; padding:20px 4px 21px; border:none; border-radius:0; cursor:pointer;
  background-color:rgba(250,247,236,.32); background-clip:content-box; transition:background-color .4s; }
.hero-dots .dot:hover{ background-color:rgba(250,247,236,.6); }
.hero-dots .dot.is-on{ background-color:var(--s-gold); }
.hero-dots .dot:focus-visible{ outline-offset:-14px; }
@media (max-width:560px){
  .hero-dots .dot{ width:18px; padding-left:3px; padding-right:3px; }
}
.hero-scene{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:rgba(250,247,236,.55); }
.statbar{ width:var(--wrap); margin:72px auto 0; display:grid; grid-template-columns:repeat(3,1fr);
  background:var(--s-surface); border:1px solid var(--s-line); border-radius:16px; overflow:hidden; }
.statbar .stat{ display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center; padding:36px 24px; }
.statbar .stat + .stat{ border-left:1px solid rgba(38,33,21,.1); }
.statbar .stat-n{ font-size:44px; font-weight:500; color:var(--s-khaki); letter-spacing:-0.01em; }
.statbar .stat-l{ font-size:14.5px; color:var(--s-dim); line-height:1.45; max-width:260px; }
.props{ width:var(--wrap); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-top:96px; }
.props .sect-h{ margin-bottom:16px; }
body.site .prop{ border-radius:16px; padding:32px; transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s; }
.prop:hover{ transform:translateY(-6px); box-shadow:0 26px 48px -22px rgba(60,48,16,.3); }
.prop-kick{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; letter-spacing:.18em; color:var(--s-khaki); margin-bottom:16px; text-transform:uppercase; }
.prop-ic{ font-size:26px; }
.prop-h{ font-weight:700; font-size:20px; margin:0 0 12px; letter-spacing:-0.01em; }
.prop p{ font-size:16px; color:var(--s-dim); line-height:1.65; margin:0; text-wrap:pretty; }
.prop p b, .prop p strong{ color:var(--s-ink); }
.band{ position:relative; min-height:78vh; min-height:78svh; overflow:hidden; background:var(--s-dark);
  display:flex; align-items:center; margin-top:96px; }
.band-img{ position:absolute; left:0; right:0; top:-14%; height:128%; }
.band-img img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.band-shade{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(38,33,21,.44) 0%,rgba(38,33,21,.16) 60%,rgba(38,33,21,.06) 100%); }
.band-inner{ position:relative; width:var(--wrap); margin:0 auto; padding:100px 0; }
.band-card{ max-width:620px; background:var(--s-surface); border-radius:18px; padding:36px;
  box-shadow:0 30px 80px rgba(20,17,10,.45); }
.ex-kick{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; letter-spacing:.18em; color:var(--s-khaki); margin-bottom:22px; text-transform:uppercase; }
.ex-h{ font-weight:700; font-size:18px; letter-spacing:-0.01em; }
.ex-row{ display:flex; align-items:center; gap:22px; margin-top:14px; flex-wrap:wrap; }
.ex-stat{ display:flex; flex-direction:column; gap:3px; }
.ex-stat .dim{ font-size:14px; color:var(--s-dim); }
.ex-big{ font-size:clamp(32px,3.6vw,42px); font-weight:500; letter-spacing:-0.02em; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; }
.ex-arrow{ font-size:28px; color:var(--s-khaki); }
.ex-note{ margin:20px 0 0; font-size:15.5px; line-height:1.6; color:var(--s-dim); text-wrap:pretty; }
.ex-note b{ color:var(--s-ink); }
.why-fold{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1); }
.why-fold.open{ grid-template-rows:1fr; }
.why-fold > div{ overflow:hidden; }
.why-tiles{ margin-top:26px; border-top:1px dashed var(--s-line-2); padding-top:20px;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr)); gap:12px; }
.why-tile{ background:var(--s-bg); border-radius:12px; padding:14px 15px; }
.why-tile .k{ font-size:12.5px; color:var(--s-faint); margin-bottom:6px; }
.why-tile .v{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:18px; font-weight:600; }
.why-tile .v.red{ color:var(--s-red); }
.why-tile.dark{ background:var(--s-dark); }
.why-tile.dark .k{ color:#b8ae94; }
.why-tile.dark .v{ color:var(--s-gold); }
.pcal-band .band-shade{
  background:
    linear-gradient(90deg,rgba(30,14,10,.78) 0%,rgba(30,14,10,.58) 34%,rgba(30,14,10,.22) 66%,rgba(30,14,10,.34) 100%),
    linear-gradient(180deg,rgba(42,21,14,.42) 0%,rgba(42,21,14,.3) 45%,rgba(24,11,8,.66) 100%);
}
.pcal-inner{ position:relative; width:var(--wrap); margin:0 auto; padding:110px 0 120px;
  display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.pcal-copy{ flex:0 1 340px; max-width:340px; }
.pcal-copy .sect-h{ color:var(--s-cream); font-size:clamp(30px,3.1vw,44px); margin:14px 0 22px;
  text-shadow:0 1px 2px rgba(20,10,7,.6),0 12px 40px rgba(20,10,7,.4); }
.pcal-copy .sect-h em{ color:var(--s-gold); }
.pcal-li{ display:flex; gap:12px; align-items:flex-start; margin:0 0 16px; font-size:15.5px; line-height:1.55;
  color:rgba(252,250,242,.94); text-shadow:0 1px 2px rgba(20,10,7,.55); text-wrap:pretty; }
.pcal-li b{ color:#fff; }
.pcal-li .tick{ all:unset; flex:0 0 auto; width:21px; height:21px; margin-top:2px; border-radius:7px;
  background:var(--s-gold); color:var(--s-dark); font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center; }
.pcal-cta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:26px; }
.pcal-fine{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; color:rgba(250,247,236,.7);
  margin-top:16px; text-shadow:0 1px 2px rgba(20,10,7,.6); }
.pcal-stage{ position:relative; flex:1 1 640px; max-width:800px; }
.pcal-card{ background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:18px 18px 14px; box-shadow:0 34px 90px -18px rgba(15,11,6,.55),0 10px 28px rgba(15,11,6,.28); }
.pcal-head{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.pcal-title{ font-weight:700; font-size:15px; letter-spacing:-0.01em; }
.pcal-chip{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:9.5px; letter-spacing:.12em; color:var(--ink-3);
  border:1px solid var(--line); border-radius:999px; padding:2px 8px; white-space:nowrap; }
.pcal-month{ margin-left:auto; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12px; color:var(--ink-2);
  display:flex; align-items:center; gap:10px; }
.pcal-month .mn{ color:var(--ink-3); }
.pcal-scroll{ overflow:visible; }
.pcal-grid{ display:grid; grid-template-columns:148px repeat(12,minmax(40px,1fr)); gap:5px; align-items:stretch; }
.pcal-grid .r1{ grid-row:1; }
.pcal-grid .r2{ grid-row:2; }
.pcal-grid .r3{ grid-row:3; }
.pcal-grid .r4{ grid-row:4; }
.pcal-grid .r5{ grid-row:5; }
.pcal-grid .r6{ grid-row:6; }
.pcal-grid .r7{ grid-row:7; }
.pcal-grid .c1{ grid-column:2; }
.pcal-grid .c2{ grid-column:3; }
.pcal-grid .c3{ grid-column:4; }
.pcal-grid .c4{ grid-column:5; }
.pcal-grid .c5{ grid-column:6; }
.pcal-grid .c6{ grid-column:7; }
.pcal-grid .c7{ grid-column:8; }
.pcal-grid .c8{ grid-column:9; }
.pcal-grid .c9{ grid-column:10; }
.pcal-grid .c10{ grid-column:11; }
.pcal-grid .c11{ grid-column:12; }
.pcal-grid .c12{ grid-column:13; }
.pd{ display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:1px; padding-bottom:4px; }
.pd .dw{ font-size:8.5px; letter-spacing:.08em; color:var(--ink-3); font-weight:600; }
.pd .dn{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12.5px; font-weight:600; color:var(--ink-2); }
.pd.we .dn{ color:var(--khaki-ink); }
.pd.hol .dn{ color:var(--red); }
.pd.hol .dw{ color:var(--red); }
.pp{ display:flex; align-items:center; gap:9px; padding-right:6px; min-width:0; }
.pp .mg{ flex:0 0 auto; width:27px; height:27px; border-radius:8px; background:var(--khaki-wash);
  color:var(--khaki-ink); font-size:9.5px; font-weight:700; letter-spacing:.02em;
  display:flex; align-items:center; justify-content:center; }
.pp.you{ background:var(--khaki-wash); border-radius:9px; padding-left:5px; }
.pp.you .mg{ background:var(--khaki); color:#fff; }
.pp.you .nm{ color:var(--ink); }
.pp .nm{ font-size:12px; font-weight:600; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp .sb{ font-size:10px; color:var(--ink-3); line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc{ border:1px solid var(--line); border-radius:8px; background:var(--surface);
  display:flex; align-items:center; justify-content:center; min-height:40px;
  font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10px; font-weight:600; letter-spacing:-0.02em; color:var(--ink); }
.pc.warm{ background:#fff7ed; border-color:#f3d9b6; color:var(--amber-ink); }
.pc.hot{ background:#f9e7e0; border-color:#ebc1b4; color:var(--red); }
.pc.low{ background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.045) 5px,rgba(0,0,0,.045) 7px); }
.pc.sel{ position:relative; box-shadow:0 0 0 2px var(--red); z-index:2; }
.pc.sel::after{ content:''; position:absolute; inset:-2px; border-radius:8px; border:2px solid var(--red);
  animation:pcal-pulse 2.6s ease-out infinite; pointer-events:none; }
@keyframes pcal-pulse{ 0%{ transform:scale(1); opacity:.65; } 70%,100%{ transform:scale(1.55); opacity:0; } }
.pb{ background:var(--earth); border-radius:8px; margin:5px 3px; padding:0 10px;
  display:flex; align-items:center; gap:7px; color:#efe9d6; font-size:10.5px; font-weight:600;
  white-space:nowrap; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.pb .dot{ flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--khaki-bright); }
.pcal-legend{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:12px;
  font-size:11px; color:var(--ink-2); }
.pcal-legend .s{ display:inline-flex; gap:6px; align-items:center; }
.pcal-legend .sw{ width:12px; height:12px; border-radius:4px; border:1px solid var(--line); background:var(--surface); }
.pcal-legend .sw.warm{ background:#fff7ed; border-color:#f3d9b6; }
.pcal-legend .sw.hot{ background:#f9e7e0; border-color:#ebc1b4; }
.pcal-legend .sw.ink{ background:var(--earth); border-color:var(--earth); }
.pcal-legend .sw.low{ background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.08) 4px,rgba(0,0,0,.08) 6px); }
.pcal-pop{ position:absolute; top:-64px; right:-34px; width:288px; z-index:5;
  background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:15px 16px 14px;
  box-shadow:0 30px 70px -14px rgba(15,11,6,.6),0 8px 22px rgba(15,11,6,.3); }
.pcal-pop::before{ content:''; position:absolute; left:39%; bottom:-7px; width:13px; height:13px;
  background:var(--surface); border-left:1px solid var(--line); border-bottom:1px solid var(--line);
  transform:rotate(-45deg); }
.pcal-pop .ph{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.pcal-pop .pt{ font-weight:700; font-size:13.5px; letter-spacing:-0.01em; }
.pcal-pop .pm{ font-size:11px; color:var(--ink-3); margin-top:1px; }
.pcal-pop .r-step{ padding:7px 0; gap:9px; }
.pcal-pop .r-bar{ height:20px; }
.pcal-pop .r-name{ font-size:12px; }
.pcal-pop .r-amt{ font-size:12px; }
.pcal-pop .r-total{ margin-top:9px; padding-top:10px; }
.pcal-pop .r-total .lbl{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); font-weight:600; }
.pcal-pop .r-total .big{ font-size:23px; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; }
.pcal-pop .pa{ display:flex; gap:7px; margin-top:12px; }
.pcal-pop .pa .btn{ border-radius:8px; }
.pcal-stage .float-badge.ev{ left:13%; top:-26px; }
.pcal-stage .float-badge.ev > span{ background:var(--s-red); color:#fff; box-shadow:0 14px 28px -10px rgba(90,20,8,.6); }
.anim .pcal-pop{ animation:crvfloat 5s .4s ease-in-out infinite alternate; }
@media (max-width:1180px){
  .pcal-pop{ right:-8px; }
}
@media (max-width:880px){
  .pcal-inner{ padding:84px 0 96px; gap:36px; }
  .pcal-copy{ max-width:560px; }
  .pcal-stage{ flex-basis:100%; max-width:100%; }
  .pcal-pop{ position:static; width:auto; max-width:420px; margin-top:14px; box-shadow:0 18px 40px -16px rgba(15,11,6,.5); }
  .pcal-pop::before{ display:none; }
  .anim .pcal-pop{ animation:none; }
  .pcal-scroll{ display:flex; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -6px; padding:0 6px; scrollbar-width:thin; }
  .pcal-grid{ flex:0 0 auto; min-width:720px; }
  .pcal-scroll::after{ content:''; position:sticky; right:-6px; flex:0 0 36px; align-self:stretch; pointer-events:none;
    background:linear-gradient(to right, rgba(255,255,255,0), var(--surface) 80%); }
  .pcal-stage .float-badge.ev{ display:none; }
}
@media (max-width:640px){
  .pcal-month{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .pc.sel::after{ animation:none; opacity:0; }
  .anim .pcal-pop{ animation:none; }
}
.cases{ width:var(--wrap); margin:0 auto; padding-top:96px; }
.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:14px; }
body.site .case{ border-radius:16px; padding:28px; }
.case-t{ font-weight:700; font-size:16.5px; letter-spacing:-0.01em; }
.case-p{ font-size:12px; margin-top:2px; color:var(--s-faint); }
.case-stat{ display:flex; flex-direction:column; gap:2px; margin-top:14px; }
.case-stat.sec{ margin-top:10px; }
.case-n{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:26px; font-weight:600; letter-spacing:-0.02em; color:var(--s-khaki); }
.case-stat.sec .case-n{ font-size:19px; color:var(--s-ink); }
.case-l{ font-size:13px; color:var(--s-dim); }
.case-q{ font-size:14.5px; color:var(--s-dim); line-height:1.55; margin:12px 0 0; font-style:italic; }
.case-a{ font-size:12px; margin-top:6px; color:var(--s-faint); }
.pricing-band{ width:var(--wrap); margin:0 auto; padding-top:96px; }
.band-dark{ position:relative; overflow:hidden; background:var(--s-dark); border-radius:20px; padding:52px 56px;
  display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.band-dark .spark{ position:absolute; inset:0; width:100%; height:100%; opacity:.14; pointer-events:none; }
.band-dark h2{ font-size:clamp(28px,3vw,42px); margin:0 0 14px; color:var(--s-cream); letter-spacing:-0.02em; }
.band-dark h2 em{ color:var(--s-gold); }
.band-dark p{ margin:0; color:rgba(250,247,236,.78); font-size:16px; max-width:620px; line-height:1.65; }
.band-dark > div, .band-dark > a{ position:relative; }
.band-dark .btn{ margin-left:auto; }
.faq{ width:min(900px,92vw); margin:0 auto; padding:110px 0; }
.faq .sect-h{ margin-bottom:28px; }
.faq-list{ border-top:1px solid rgba(38,33,21,.15); }
.faq-row{ border-bottom:1px solid rgba(38,33,21,.15); }
.faq-row button{ all:unset; box-sizing:border-box; display:flex; width:100%; justify-content:space-between; align-items:center; gap:16px; padding:22px 4px; cursor:pointer; }
.faq-row button:hover .q{ color:var(--s-khaki); }
.faq-row .q{ font-weight:600; font-size:17.5px; transition:color .25s; }
.faq-row .chev{ flex:none; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; color:var(--s-khaki); font-size:20px; line-height:1; transition:transform .35s; }
.faq-row.open .chev{ transform:rotate(45deg); }
.faq-fold{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1); }
.faq-row.open .faq-fold{ grid-template-rows:1fr; }
.faq-fold > div{ overflow:hidden; }
.faq-fold p{ margin:0; padding:0 40px 24px 4px; color:var(--s-dim); line-height:1.65; font-size:15.5px; max-width:700px; }
.faq-fold a{ color:var(--s-khaki); }
.site-foot{ background:var(--s-foot); color:#b8ae94; padding:56px 0 40px; margin-top:auto; }
.foot-grid{ width:var(--wrap); margin:0 auto; display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; align-items:flex-start; }
.foot-blurb{ font-size:14.5px; max-width:420px; line-height:1.6; margin-top:14px; }
.foot-links{ display:flex; gap:10px 22px; flex-wrap:wrap; font-size:14px; }
.site-foot a{ color:#d8cfae; }
.site-foot a:hover{ color:var(--s-cream); }
.foot-note{ width:var(--wrap); margin:28px auto 0; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; color:#a69f84; }
.foot-social{ display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:10px; font-size:14px; text-decoration:none; }
.foot-social svg{ flex:none; }
.pricing-head{ text-align:center; margin:26px 0 30px; }
.tier{ position:relative; display:flex; flex-direction:column; border-radius:16px; }
.tier.pop{ border-color:var(--s-khaki); box-shadow:0 10px 30px rgba(143,125,43,.16); }
.tier .btn{ margin-top:auto; justify-content:center; }
.teaser{ width:var(--wrap); margin:32px auto 0; display:flex; align-items:center; justify-content:space-between; gap:18px;
  background:var(--s-surface); border:1px solid var(--s-line); border-radius:16px; padding:22px 26px; flex-wrap:wrap; }
.post-wrap .teaser, .post-cta .teaser, .post-cta.teaser{ width:100%; max-width:100%; }
.auth-wrap{ width:min(440px,92vw); margin:34px auto; }
.auth-form{ display:flex; flex-direction:column; gap:12px; }
.auth-form input.field{ font:inherit; }
.auth-consent{ display:block; position:relative; min-height:44px; padding:12px 0 12px 30px; font-size:12.5px; line-height:1.55; color:var(--s-dim); cursor:pointer; }
.auth-consent > input[type=checkbox]{ position:absolute; left:0; top:11px; margin:0; width:20px; height:20px; z-index:2; }
.auth-consent a{ position:relative; z-index:1; color:var(--khaki-ink); text-decoration:underline; text-underline-offset:2px; padding:12px 0; }
.auth-consent-reg > input[type=checkbox]{ position:relative; z-index:2; }
.auth-consent-reg a{ position:relative; z-index:1; display:inline-block; padding:13px 2px; margin:-13px -2px; color:var(--khaki-ink); text-decoration:underline; text-underline-offset:2px; }
.auth-alt{ margin-top:14px; font-size:13.5px; text-align:center; }
.auth-alt a{ color:var(--s-khaki-deep); text-decoration:underline; text-underline-offset:2px; }
.auth-ref-toggle{ align-self:flex-start; min-height:44px; background:none; border:0; padding:0; font:inherit; font-size:13px; color:var(--s-khaki-deep);
  cursor:pointer; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.auth-ref-in{ text-transform:uppercase; letter-spacing:.06em; }
.auth-ref-in::placeholder{ text-transform:none; letter-spacing:0; }
.auth-ref-ok{ margin-top:6px; font-size:12.5px; font-weight:600; color:var(--s-khaki); }
.auth-ref-hint{ margin-top:6px; font-size:12.5px; color:var(--s-dim); }
.est-wrap{ width:min(760px,92vw); margin:10px auto 0; }
.est-fields{ display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.est-fields .field{ min-width:130px; }
.est-hp{ position:absolute; left:-6000px; top:auto; width:1px; height:1px; overflow:hidden; }
.est-sent .sent-ic{ width:44px; height:44px; border-radius:999px; background:var(--s-khaki,#8f7d2b); color:#faf7ec;
  font-size:22px; line-height:44px; text-align:center; margin-bottom:12px; }
.est-sent .sent-h{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; font-size:27px; line-height:1.1; margin:0; letter-spacing:-0.01em; }
.sent-list{ margin-top:16px; border-top:1px solid var(--s-line,var(--line)); }
.sent-list > div{ display:grid; grid-template-columns:52px 1fr; gap:0 8px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--s-line,var(--line)); font-size:14px; color:var(--s-dim,var(--ink-2)); }
.sent-k{ display:inline-block; min-width:52px; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,monospace; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--s-khaki,#8f7d2b); }
.lnk-plain{ color:var(--khaki-ink,#7a6a22); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cmp-wrap{ width:var(--wrap); margin:10px auto 0; }
.cmp-scroll{ overflow-x:auto; }
.cmp-table{ width:100%; border-collapse:collapse; min-width:760px; }
.cmp-table th, .cmp-table td{ padding:13px 16px; text-align:left; font-size:14px; border-bottom:1px solid var(--s-line); vertical-align:top; }
.cmp-table thead th{ background:var(--s-surface); font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--s-faint); border-bottom:1px solid var(--s-line-2); }
.cmp-table tr:last-child td{ border-bottom:none; }
.cmp-table .k{ font-weight:600; color:var(--s-ink); max-width:240px; }
.cmp-table td:not(.k):not(.us){ color:var(--s-dim); }
.cmp-table .us{ background:rgba(143,125,43,.1); }
.cmp-table thead th.us{ color:var(--s-khaki); }
.cmp-badge{ font-size:9px; letter-spacing:.1em; background:var(--s-khaki); color:#fff; border-radius:5px; padding:2px 6px; vertical-align:middle; }
.blog-wrap{ width:min(880px,92vw); margin:10px auto 0; }
.blog-card{ display:block; border-radius:18px; padding:28px; transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s; }
.blog-card:hover{ transform:translateY(-4px); box-shadow:0 26px 48px -22px rgba(60,48,16,.3); }
.blog-card .t{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; font-size:27px; line-height:1.15; letter-spacing:-0.01em; margin:10px 0 8px; color:var(--s-ink); }
.blog-card p{ color:var(--s-dim); font-size:15.5px; line-height:1.6; margin:0 0 12px; }
.blog-card .more{ font-weight:600; font-size:14px; color:var(--s-khaki); }
.post-wrap{ width:min(740px,92vw); margin:10px auto 0; }
.post-kick{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--s-khaki); }
.post-h1{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; font-size:clamp(34px,4.4vw,52px); line-height:1.08; letter-spacing:-0.01em; margin:14px 0 16px; }
.post-h1 em{ font-style:italic; color:var(--s-khaki); }
.post-dek{ font-size:17.5px; line-height:1.6; color:var(--s-dim); margin:0 0 12px; }
.post-meta{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:12px; color:var(--s-faint); margin-bottom:34px; }
.post-body{ font-size:16.5px; line-height:1.75; color:var(--s-ink); }
.post-body p{ margin:0 0 18px; }
.post-body h2{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; font-size:28px; line-height:1.2; letter-spacing:-0.01em; margin:38px 0 12px; }
.post-body a{ color:var(--s-khaki); text-decoration:underline; text-underline-offset:3px; }
.post-body ol{ padding-left:22px; margin:0 0 18px; }
.post-body ol li{ margin-bottom:10px; }
.post-body .pull{ border-left:3px solid var(--s-gold); padding:6px 0 6px 20px; margin:28px 0;
  font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-style:italic; font-size:23px; line-height:1.35; color:var(--s-ink); }
.post-body .figure{ margin:26px 0; }
.post-src{ border-top:1px dashed var(--s-line-2); margin-top:38px; padding-top:16px; font-size:13px; line-height:1.7; color:var(--s-faint); }
.post-src a{ color:var(--s-dim); }
.post-cta{ margin-top:30px; }
[data-reveal]{ opacity:0; transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }
body.site .prop[data-reveal].in{ transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s; }
@keyframes crvdraw{ to{ stroke-dashoffset:0; } }
@keyframes crvfade{ to{ opacity:1; } }
@keyframes crvpulse{ 0%{ transform:scale(.5); opacity:.7; } 70%{ transform:scale(2.6); opacity:0; } 100%{ transform:scale(2.6); opacity:0; } }
@keyframes crvfloat{ from{ transform:translateY(0); } to{ transform:translateY(-9px); } }
@keyframes crvdash{ to{ stroke-dashoffset:-16; } }
.anim .crv-draw{ stroke-dasharray:2600; stroke-dashoffset:2600; animation:crvdraw 3.2s .3s cubic-bezier(.45,0,.2,1) forwards; }
.anim .crv-fade{ opacity:0; animation:crvfade 1.6s .9s ease forwards; }
.anim .crv-march{ animation:crvdash 1.6s linear infinite; }
.anim .crv-pulse{ transform-box:fill-box; transform-origin:center; animation:crvpulse 2.6s ease-out infinite; }
.anim .float-badge > span{ animation:crvfloat 4.5s ease-in-out infinite alternate; }
.anim .float-badge.b2 > span{ animation-delay:.9s; }
@media (prefers-reduced-motion:reduce){
  [data-reveal]{ opacity:1; transform:none; transition:none; }
  .anim .crv-draw, .anim .crv-fade, .anim .crv-march, .anim .crv-pulse,
  .anim .float-badge > span{ animation:none; stroke-dashoffset:0; opacity:1; }
  .anim .crv-pulse{ opacity:0; }
  body.site .btn, .prop, .hero-slides .slide{ transition:none; }
}
@media (max-width:1024px){
  .props, .case-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:880px){
  .hero-shade{ background:linear-gradient(180deg,rgba(40,20,14,.6) 0%,rgba(36,18,12,.54) 45%,rgba(22,11,8,.82) 100%); }
  .hero-inner{ padding:120px 0 110px; gap:36px; }
  .hero-visual{ max-width:520px; }
  .props, .case-grid{ grid-template-columns:1fr; }
  .statbar{ grid-template-columns:1fr; }
  .statbar .stat + .stat{ border-left:none; border-top:1px solid rgba(38,33,21,.1); }
  .site-links{ gap:10px; flex-wrap:wrap; justify-content:flex-end; }
  .site-links a.nav-more{ display:none; }
  .site-links a{ font-size:13.5px; }
  .band-dark{ padding:34px 28px; }
  .band-dark .btn{ margin-left:0; }
  .band-inner{ padding:80px 0; }
  .faq{ padding:80px 0 90px; }
  .props{ padding-top:72px; }
  .cases{ padding-top:72px; }
  .pricing-band{ padding-top:72px; }
  .statbar{ margin-top:56px; }
  .band{ margin-top:72px; min-height:64vh; }
}
@media (max-width:640px){
  .hero-full .hero-h1{ font-size:clamp(36px,10.5vw,44px); }
  .hero-lede{ font-size:15.5px; }
  .hero-inner{ padding:104px 0 108px; }
  body.site .hero-cta .btn{ padding:12px 20px; font-size:15px; }
  .site-nav{ padding:11px 0; }
  .site-links .btn{ padding:8px 14px; font-size:13.5px; }
  .site-links{ gap:8px; }
  .ex-row{ gap:14px; }
  .band-card{ padding:26px 20px; }
  .est-fields > div{ flex:1 1 100%; }
  .est-fields .btn{ width:100%; justify-content:center; }
  .auth-wrap{ margin:16px auto; }
  .cmp-table th, .cmp-table td{ padding:11px 12px; font-size:13px; }
  .teaser{ padding:18px 16px; }
  .faq-fold p{ padding-right:8px; }
  .foot-note{ margin-top:22px; }
}
@media (max-width:520px){
  .site-links a.nav-est{ display:none; }
}
.reason.thin{ border-color:#f3d9b6;
  background:repeating-linear-gradient(135deg, #fffdf8, #fffdf8 10px, #fff7ed 10px, #fff7ed 20px); }
.reason.thin .r-total{ border-top-color:#e0a032; }
.thin-banner{ display:flex; gap:11px; align-items:flex-start; margin-bottom:16px; padding:13px 16px;
  border-radius:12px; background:#fff7ed; border:1px solid #f3d9b6; color:#92590f; font-size:13.5px; line-height:1.5; }
.thin-banner .ic{ font-size:18px; line-height:1; color:#b5701a; }
.thin-banner b{ color:#7a4a0c; }
.err{color:#c0392b;font-size:12px;margin-top:5px}
.hint{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:700;font-style:normal;line-height:1;margin-left:5px;cursor:help;position:relative;vertical-align:middle;flex:none;text-transform:none}
.hint:hover,.hint:focus{border-color:var(--khaki-ink);color:var(--khaki-ink)}
.hint::after{content:attr(data-tip);display:none;box-sizing:border-box;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(calc(-50% + var(--tip-dx,0px)));width:max-content;max-width:min(260px,calc(100vw - 24px));background:var(--ink);color:#fff;font-size:12px;font-weight:400;line-height:1.45;padding:8px 10px;border-radius:8px;white-space:normal;text-align:left;pointer-events:none;z-index:70;text-transform:none;letter-spacing:0;font-family:"Figtree","Figtree Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:normal}
.hint:hover::after,.hint:focus::after,.hint:focus-within::after{display:block}
.hint.r::after{left:auto;right:0;transform:translateX(var(--tip-dx,0px))}
.hint.l::after{left:0;transform:translateX(var(--tip-dx,0px))}
.hint.tip-below::after{bottom:auto;top:calc(100% + 8px)}
.set-k .hint,.label .hint{margin-left:6px}
.k-lbl .hint,.cal-legend .hint,.r-name .hint,.r-band .hint{margin-left:4px}
@media (pointer:coarse),(max-width:720px){
  .hint::before{content:'';position:absolute;inset:-15px;border-radius:50%}
}
.btn.applied{background:#e7f6ec;border-color:#b6e3c6;color:#1e7a43}
.lnk{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--khaki-ink);user-select:none}
.lnk.ok{color:#1e7a43}
.lnk:hover{text-decoration:underline}
.paywall{ position:absolute; inset:0; z-index:40; display:flex; align-items:flex-start; justify-content:center; padding:48px 20px; background:rgba(43,39,24,.28); overflow:auto; }
.ladder{ --lt:.42s; }
.ladder-rows{ display:flex; flex-direction:column; }
.lr{ display:grid; grid-template-columns:96px 1fr; align-items:stretch; }
.lr-art{ position:relative; min-height:72px; }
.lr-rails{ position:absolute; inset:0; width:100%; height:100%; display:block; overflow:visible; }
.lr-rails path{ fill:none; stroke:var(--s-ink); stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.lr-rail{ stroke-width:1.5; opacity:.62; stroke-linecap:butt; }
.lr-rung{ stroke-width:2; }
.lr-cap{ stroke-width:2.2; }
.lr-ground{ stroke-width:1.2; opacity:.35; stroke-dasharray:1; }
.lr-rail, .lr-rung, .lr-ground{ stroke-dasharray:1; stroke-dashoffset:1; }
.ladder.in .lr-rail{ stroke-dashoffset:0; transition:stroke-dashoffset .55s cubic-bezier(.45,0,.2,1) calc(var(--i) * var(--lt)); }
.ladder.in .lr-rung{ stroke-dashoffset:0; transition:stroke-dashoffset .4s cubic-bezier(.45,0,.2,1) calc(var(--i) * var(--lt) + .32s); }
.ladder.in .lr-ground{ stroke-dashoffset:0; transition:stroke-dashoffset .6s ease-out; }
.lr-t{ margin:5px 0; padding:12px 15px; border-radius:12px; background:var(--s-bg);
  opacity:0; transform:translateY(10px);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1), background .3s; }
.ladder.in .lr-t{ opacity:1; transform:none; transition-delay:calc(var(--i) * var(--lt) + .42s), calc(var(--i) * var(--lt) + .42s), 0s; }
.lr-t .k{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--s-khaki); margin-bottom:5px; }
.lr-t .v{ font-size:15.5px; line-height:1.4; color:var(--s-ink); font-weight:500; }
.lr-t.dark{ background:var(--s-dark); margin:0 0 5px; }
.lr-t.dark .k{ color:#b8ae94; }
.lr-t.dark .v{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:19px; font-weight:600; color:var(--s-gold); letter-spacing:-0.01em; }
.lr-box{ position:absolute; left:50%; top:calc(42% - 5px); width:34px; height:39px; margin-left:-17px; overflow:visible;
  opacity:0; transform:translateY(-6px); transition:opacity .5s ease .3s, transform .5s cubic-bezier(.2,.7,.2,1) .3s; }
.lr-box path, .lr-box rect{ stroke:var(--s-ink); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.lr-box rect{ fill:var(--s-surface); }
.lr-box circle{ fill:var(--s-ink); }
.ladder.in .lr-box{ opacity:1; transform:none; }
.lr-top .lr-art{ min-height:76px; }
.lr-bell{ position:absolute; left:50%; bottom:calc(54% - 2px); width:58px; height:51px; margin-left:-29px; overflow:visible;
  opacity:0; transform:translateY(8px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.lr-bell path, .lr-bell circle{ stroke:var(--s-ink); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.lr-bell .lr-bell-body path:nth-child(3){ fill:var(--s-surface); }
.lr-hatch{ opacity:.35; stroke-width:1.1 !important; }
.ladder.in .lr-bell{ opacity:1; transform:none; transition-delay:calc(var(--i) * var(--lt) + .55s); }
.lr-bell-body{ transform-box:fill-box; transform-origin:50% 0; }
.ladder.in .lr-bell-body{ animation:lddring .9s cubic-bezier(.2,.7,.2,1) calc(var(--i) * var(--lt) + 1.15s) both; }
.lr-ring{ stroke:var(--s-khaki) !important; stroke-width:1.2 !important; opacity:0; transform-box:fill-box; transform-origin:center; }
.ladder.in .lr-ring{ animation:ldpulse 4.4s ease-out calc(var(--i) * var(--lt) + 1.2s) infinite; }
@keyframes lddring{ 0%,100%{ transform:rotate(0); } 25%{ transform:rotate(-7deg); } 55%{ transform:rotate(5deg); } 80%{ transform:rotate(-2deg); } }
@keyframes ldpulse{ 0%{ transform:scale(.5); opacity:.7; } 32%,100%{ transform:scale(2.6); opacity:0; } }
@media (hover:hover) and (pointer:fine){
  .lr:hover .lr-t:not(.dark){ background:rgba(143,125,43,.12); }
  .lr:hover .lr-rung{ stroke:var(--s-khaki); stroke-width:2.6; }
  .lr:hover .lr-t .v{ color:var(--s-khaki-deep); }
  .lr .lr-rung{ transition:stroke .3s, stroke-width .3s; }
}
@media (max-width:560px){
  .lr{ grid-template-columns:64px 1fr; }
  .lr-t{ padding:10px 12px; }
  .lr-t .v{ font-size:14.5px; }
  .lr-box{ width:28px; height:32px; margin-left:-14px; }
  .lr-bell{ width:48px; height:42px; margin-left:-24px; }
}
@media (prefers-reduced-motion:reduce){
  .lr-rail, .lr-rung, .lr-ground{ stroke-dashoffset:0; transition:none; }
  .lr-t, .lr-box, .lr-bell{ opacity:1; transform:none; transition:none; }
  .ladder.in .lr-bell-body, .ladder.in .lr-ring{ animation:none; }
}
.cz-line-card{ padding-bottom:18px; }
.cz-line{ list-style:none; margin:14px 0 0; padding:0; border-top:1px solid rgba(250,247,236,.14); }
.cz-line li{ display:grid; grid-template-columns:46px 1fr auto; gap:10px; align-items:baseline; padding:9px 0; border-bottom:1px solid rgba(250,247,236,.1); font-size:13px; color:rgba(250,247,236,.9); }
.cz-line .t{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; color:rgba(250,247,236,.55); }
.cz-line .s{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; padding:2px 8px; border-radius:999px; white-space:nowrap; }
.cz-line .s.ok{ color:var(--s-gold); border:1px solid rgba(233,217,138,.4); }
.cz-line .s.on{ color:#fff; background:var(--s-red); }
.cz-line-foot{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:12px; font-size:13px; color:rgba(250,247,236,.7); }
.cz-line-foot .mono{ font-size:16px; font-weight:600; color:var(--s-gold); }
.cz-line-foot.share{ padding-top:6px; }
.cz-line-foot.share .mono{ font-size:12.5px; font-weight:500; color:rgba(250,247,236,.75); }
.cz-menu{ width:var(--wrap); margin:0 auto; padding-top:110px; }
.cz-menu-head{ max-width:720px; }
.cz-menu-head .sect-h{ margin-bottom:14px; }
.cz-menu-lede{ font-size:17px; line-height:1.6; color:var(--s-dim); margin:0 0 36px; text-wrap:pretty; }
.cz-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cz-svc{ padding:28px 28px 24px; display:flex; flex-direction:column; transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.cz-svc:hover{ transform:translateY(-6px); box-shadow:0 26px 48px -22px rgba(60,48,16,.3); }
.cz-ic{ width:56px; height:56px; border-radius:14px; background:var(--s-bg); color:var(--s-khaki); display:flex; align-items:center; justify-content:center; margin-bottom:18px; transition:background .4s, color .4s; }
.cz-ic svg{ width:38px; height:38px; }
.cz-svc:hover .cz-ic{ background:var(--s-dark); color:var(--s-gold); }
.cz-svc-kick{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:11.5px; letter-spacing:.18em; color:var(--s-khaki); margin-bottom:10px; text-transform:uppercase; }
.cz-svc-h{ font-weight:700; font-size:20px; margin:0 0 10px; letter-spacing:-0.01em; }
.cz-svc p{ font-size:15.5px; color:var(--s-dim); line-height:1.62; margin:0 0 18px; text-wrap:pretty; }
.cz-svc-foot{ margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding-top:14px; border-top:1px dashed var(--s-line-2); font-size:12.5px; color:var(--s-faint); }
.cz-pill{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:var(--s-gold-soft); color:var(--s-khaki-deep); white-space:nowrap; }
.cz-pill.dark{ background:var(--s-dark); color:var(--s-gold); }
.cz-menu-fine{ font-size:13px; color:var(--s-faint); margin:22px 0 0; max-width:720px; }
.cz-band{ margin-top:110px; min-height:0; }
.cz-how{ max-width:680px; }
.cz-how-h{ font-size:clamp(26px,2.6vw,36px); line-height:1.12; margin:0; }
.cz-how-h em{ font-style:italic; color:var(--s-khaki); }
.cz-how .btn{ margin-top:18px; }
.cz-example{ width:var(--wrap); margin:0 auto; padding-top:110px; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px; align-items:center; }
.cz-ex-copy .sect-h{ margin-bottom:18px; }
.cz-ex-copy p{ font-size:16.5px; line-height:1.65; color:var(--s-dim); margin:0 0 14px; text-wrap:pretty; }
.cz-ex-card{ padding:26px 28px 24px; border-radius:18px; }
.cz-ex-row{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.cz-ex-stat{ display:flex; flex-direction:column; gap:3px; }
.cz-ex-stat .k{ font-size:12.5px; color:var(--s-faint); }
.cz-ex-stat .v{ font-size:34px; font-weight:600; letter-spacing:-0.02em; line-height:1.05; }
.cz-ex-stat .v.red{ color:var(--s-red); }
.cz-ex-stat .n{ font-size:12px; color:var(--s-faint); }
.cz-ex-ledger{ margin-top:22px; border-top:1px solid var(--s-line-2); }
.cz-ex-ledger > div{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:10px 0; border-bottom:1px solid var(--s-line); font-size:14.5px; color:var(--s-ink); }
.cz-ex-ledger .sub{ font-size:13px; color:var(--s-faint); padding:6px 0 6px 18px; }
.cz-ex-ledger .tot{ border-top:2px solid var(--s-ink); border-bottom:none; margin-top:4px; padding-top:12px; font-weight:600; }
.cz-ex-ledger .mono{ white-space:nowrap; }
.cz-cover{ width:min(860px,92vw); margin:0 auto; padding-top:110px; text-align:center; }
.cz-cover-h{ font-size:clamp(28px,3vw,42px); line-height:1.1; margin:12px 0 22px; }
.cz-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.cz-chips span{ font-size:14px; font-weight:500; padding:9px 16px; border-radius:999px; border:1px solid var(--s-line-2); background:var(--s-surface); }
.cz-chips span.more{ border-style:dashed; color:var(--s-faint); font-weight:400; }
.cz-enquire{ width:var(--wrap); margin:0 auto; padding-top:110px; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; align-items:start; scroll-margin-top:24px; }
.cz-enq-copy p{ font-size:16.5px; line-height:1.65; color:var(--s-dim); margin:0 0 18px; text-wrap:pretty; }
.cz-enq-list{ list-style:none; margin:0; padding:0; }
.cz-enq-list li{ display:flex; gap:12px; align-items:flex-start; margin:0 0 12px; font-size:15.5px; line-height:1.5; }
.cz-enq-list .tick{ flex:0 0 auto; width:21px; height:21px; margin-top:2px; border-radius:7px; background:var(--s-khaki); color:var(--s-cream); font-size:12px; display:flex; align-items:center; justify-content:center; }
.cz-form{ padding:26px 28px 24px; border-radius:18px; }
.cz-form .field{ font:inherit; font-size:14.5px; }
.cz-form textarea.field{ resize:vertical; min-height:84px; }
.cz-fields{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cz-fields > div:first-child{ grid-column:1/-1; }
.cz-checks{ display:flex; flex-wrap:wrap; gap:8px; }
.cz-check{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; padding:8px 13px 8px 10px; border-radius:999px; border:1px solid var(--s-line-2); background:var(--s-surface); cursor:pointer; transition:background .25s, border-color .25s; }
.cz-check input{ accent-color:var(--s-khaki); margin:0; width:15px; height:15px; }
.cz-check:hover{ border-color:var(--s-khaki); }
.cz-check:has(input:checked){ background:var(--s-gold-soft); border-color:var(--s-khaki); }
.cz-submit{ margin-top:18px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
body.site .cz-submit .btn{ padding:12px 22px; font-size:15.5px; }
@media (max-width:1024px){
  .cz-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:880px){
  .cz-menu, .cz-example, .cz-cover, .cz-enquire{ padding-top:72px; }
  .cz-band{ margin-top:72px; }
  .cz-grid{ grid-template-columns:1fr; }
  .cz-example, .cz-enquire{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:640px){
  .cz-fields{ grid-template-columns:1fr; }
  .cz-svc{ padding:22px 20px 20px; }
  .cz-ex-card, .cz-form{ padding:20px 18px 18px; }
  .cz-line li{ grid-template-columns:40px 1fr; }
  .cz-line li .s{ grid-column:2; justify-self:start; }
  .cz-submit .btn{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
  .cz-svc, .cz-ic, .cz-check{ transition:none; }
}
.cz2-head{ max-width:760px; margin:0 0 36px; }
.cz2-head .sect-h{ margin:0; }
.cz2-lede{ font-size:17px; line-height:1.62; color:var(--s-dim); margin:16px 0 0; text-wrap:pretty; }
.cz2-chip{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.12em; white-space:nowrap;
  border:1px solid var(--s-line-2); border-radius:999px; padding:3px 9px; color:var(--s-khaki-deep); background:var(--s-gold-soft); }
.cz2-chip.plain{ background:transparent; color:var(--s-faint); }
.cz2-pill{ display:inline-block; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.1em;
  text-transform:uppercase; padding:4px 10px; border-radius:999px; background:var(--s-gold-soft); color:var(--s-khaki-deep); white-space:nowrap; }
.cz2-pill.yours{ background:var(--s-dark); color:var(--s-gold); }
.cz2-cap{ caption-side:top; text-align:left; font-size:12.5px; color:var(--s-faint); padding:0 0 10px; }
.cz2-tail{ margin-bottom:96px; }
.cz2-offers{ padding-bottom:18px; }
.cz2-rows{ list-style:none; margin:14px 0 0; padding:0; border-top:1px solid rgba(250,247,236,.14); }
.cz2-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 10px 11px 0;
  border-bottom:1px solid rgba(250,247,236,.1); border-radius:8px; }
.cz2-row .n{ display:flex; flex-direction:column; gap:3px; font-size:14px; color:var(--s-cream); }
.cz2-row .n .w{ font-size:11.5px; color:rgba(250,247,236,.55); }
.cz2-row .p{ font-size:12.5px; color:var(--s-gold); white-space:nowrap; }
.cz2-confirm{ display:flex; align-items:center; gap:9px; margin-top:12px; padding:9px 11px; border-radius:9px;
  background:rgba(233,217,138,.12); border:1px solid rgba(233,217,138,.34); font-size:12.5px; color:var(--s-gold); }
.cz2-confirm .tk{ font-size:13px; line-height:1; }
.cz2-share{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:10px; padding-top:10px;
  border-top:1px solid rgba(250,247,236,.12); font-size:12.5px; color:rgba(250,247,236,.72); }
.cz2-share .mono{ font-size:12px; color:rgba(250,247,236,.85); }
.cz2-callout{ margin-top:10px; padding:10px 12px; border-radius:9px; background:rgba(250,247,236,.07);
  font-size:12.5px; line-height:1.5; color:rgba(250,247,236,.88); }
@keyframes cz2-in{ from{ opacity:0; } to{ opacity:1; } }
@keyframes cz2-tap{ 0%,100%{ background-color:transparent; } 22%,62%{ background-color:rgba(233,217,138,.16); } }
@keyframes cz2-drop{ from{ opacity:0; } to{ opacity:1; } }
.cz2-offers.is-live .cz2-row{ animation:cz2-in .7s ease both; }
.cz2-offers.is-live .cz2-row:nth-child(1){ animation-delay:.2s; }
.cz2-offers.is-live .cz2-row:nth-child(2){ animation-delay:.7s; }
.cz2-offers.is-live .cz2-row:nth-child(3){ animation-delay:1.2s; }
.cz2-offers.is-live .cz2-row.is-tap{ animation:cz2-in .7s ease .2s both, cz2-tap 3s ease 3.4s both; }
.cz2-offers.is-live .cz2-confirm{ overflow:hidden; animation:cz2-drop .8s ease 6.4s both; }
.cz2-offers.is-live .cz2-share{ overflow:hidden; animation:cz2-drop .8s ease 8.4s both; }
.cz2-offers.is-live .cz2-callout{ overflow:hidden; animation:cz2-drop .8s ease 10.2s both; }
.cz2-stats{ width:var(--wrap); margin:72px auto 0; display:grid; grid-template-columns:repeat(3,1fr);
  background:var(--s-surface); border:1px solid var(--s-line); border-radius:16px; overflow:hidden; }
.cz2-stat{ display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; padding:34px 22px; }
.cz2-stat + .cz2-stat{ border-left:1px solid rgba(38,33,21,.1); }
.cz2-stat .n{ font-size:46px; font-weight:500; line-height:1; color:var(--s-khaki); letter-spacing:-0.02em; }
.cz2-stat .l{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-size:16px; line-height:1.4; color:var(--s-dim); max-width:240px; }
.cz2-shots{ width:var(--wrap); margin:0 auto; padding-top:110px; }
.cz2-shot-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
.cz2-shot{ margin:0; }
.cz2-frame{ aspect-ratio:375/812; max-width:340px; margin:0 auto; border-radius:20px; overflow:hidden;
  border:1px solid var(--s-line-2); background:linear-gradient(170deg,var(--s-surface),var(--s-bg));
  box-shadow:0 30px 60px -32px rgba(60,48,16,.45); }
.cz2-frame img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top center; }
.cz2-shot figcaption{ margin:18px auto 0; max-width:380px; text-align:center; font-size:15px; line-height:1.55; color:var(--s-dim); text-wrap:pretty; }
.cz2-panels{ width:var(--wrap); margin:0 auto; padding-top:110px; }
.cz2-panel-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.cz2-panel{ padding:24px 24px 20px; border-radius:18px; }
.cz2-panel-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding-bottom:12px; border-bottom:1px solid var(--s-line); }
.cz2-panel-h{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-weight:500; font-size:23px; margin:0; letter-spacing:-0.01em; }
.cz2-crumb{ font-size:11px; letter-spacing:.08em; color:var(--s-faint); }
.cz2-chiprow{ display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 6px; }
.cz2-scroll{ overflow-x:auto; }
.cz2-tbl{ width:100%; border-collapse:collapse; font-size:14px; }
.cz2-tbl th, .cz2-tbl td{ text-align:left; vertical-align:top; padding:11px 12px 11px 0; border-bottom:1px solid var(--s-line); }
.cz2-tbl thead th{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--s-faint); font-weight:500; padding-bottom:8px; }
.cz2-tbl tbody th{ font-weight:600; color:var(--s-ink); min-width:130px; }
.cz2-tbl td.rule{ color:var(--s-dim); line-height:1.5; font-size:13.5px; }
.cz2-tbl td.price-band{ color:var(--s-khaki-deep); font-size:12.5px; white-space:nowrap; }
.cz2-tbl tbody tr:last-child th, .cz2-tbl tbody tr:last-child td{ border-bottom:none; }
.cz2-panel-fine{ font-size:12.5px; color:var(--s-faint); margin:14px 0 0; line-height:1.5; }
.cz2-ledger{ margin-top:24px; padding:26px 28px 22px; border-radius:18px; }
.cz2-ledger-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.cz2-ledger-h{ font-size:clamp(24px,2.4vw,32px); line-height:1.15; margin:0; }
.cz2-ledger-h em{ font-style:italic; color:var(--s-khaki); }
.cz2-ledger-t{ width:100%; border-collapse:collapse; font-size:15px; }
.cz2-ledger-t th, .cz2-ledger-t td{ text-align:left; padding:11px 0; border-bottom:1px solid var(--s-line); }
.cz2-ledger-t thead th{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--s-faint); font-weight:500; }
.cz2-ledger-t .num{ text-align:right; white-space:nowrap; }
.cz2-ledger-t tbody th{ font-weight:500; color:var(--s-ink); padding-right:16px; }
.cz2-ledger-t tr.sub th{ font-size:13.5px; color:var(--s-faint); padding-left:18px; font-weight:400; }
.cz2-ledger-t tr.sub td{ font-size:13.5px; color:var(--s-faint); }
.cz2-ledger-t tr.tot th, .cz2-ledger-t tr.tot td{ font-weight:600; }
.cz2-ledger-t tr.tot td{ color:var(--s-khaki-deep); }
.cz2-ledger-t tr.share th, .cz2-ledger-t tr.share td{ border-bottom:none; border-top:2px solid var(--s-ink); font-weight:600; }
.cz2-ledger-t tr.share td{ color:var(--s-dim); font-weight:500; }
.cz2-disclaim{ font-size:12.5px; color:var(--s-faint); line-height:1.55; margin:14px 0 0;
  background:var(--s-bg); border:1px dashed var(--s-line-2); border-radius:10px; padding:10px 12px; }
.cz2-tiles{ width:var(--wrap); margin:0 auto; padding-top:110px; }
.cz2-tile-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cz2-tile{ padding:28px 28px 24px; border-radius:18px; }
.cz2-tile-n{ font-size:11.5px; letter-spacing:.2em; color:var(--s-khaki); margin-bottom:12px; }
.cz2-tile-h{ font-weight:700; font-size:20px; margin:0 0 10px; letter-spacing:-0.01em; }
.cz2-tile p{ font-size:15.5px; line-height:1.62; color:var(--s-dim); margin:0; text-wrap:pretty; }
.cz2-cta{ background:var(--s-dark); color:var(--s-cream); margin-top:16px; padding:76px 16px; text-align:center; }
.cz2-cta-in{ width:min(760px,100%); margin:0 auto; }
.cz2-cta-kick{ color:var(--s-gold); margin-bottom:16px; }
.cz2-cta-h{ font-size:clamp(30px,3.4vw,46px); line-height:1.1; margin:0; color:var(--s-cream); }
.cz2-cta-h em{ font-style:italic; color:var(--s-gold); }
.cz2-cta-p{ font-size:16.5px; line-height:1.6; color:rgba(250,247,236,.82); margin:16px auto 26px; max-width:580px; text-wrap:pretty; }
.cz2-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
body.site .cz2-cta-btns .btn{ padding:12px 24px; font-size:15.5px; }
body.site .cz2-cta-btns .btn.ghost{ border-color:rgba(250,247,236,.45); color:var(--s-cream); }
body.site .cz2-cta-btns .btn.ghost:hover{ border-color:var(--s-cream); background:transparent; color:#fff; }
@media (max-width:1024px){
  .cz2-shot-grid{ gap:24px; }
  .cz2-panel-grid{ gap:20px; grid-template-columns:minmax(0,1fr); }
}
@media (max-width:720px){
  .cz2-stats, .cz2-shots, .cz2-panels, .cz2-tiles{ width:calc(100% - 32px); }
  .cz2-shots, .cz2-panels, .cz2-tiles{ padding-top:64px; }
  .cz2-stats{ grid-template-columns:1fr; margin-top:48px; }
  .cz2-stat + .cz2-stat{ border-left:none; border-top:1px solid rgba(38,33,21,.1); }
  .cz2-stat{ padding:24px 18px; }
  .cz2-stat .n{ font-size:38px; }
  .cz2-shot-grid, .cz2-tile-grid{ grid-template-columns:minmax(0,1fr); }
  .cz2-head{ margin-bottom:26px; }
  .cz2-panel{ padding:20px 18px 16px; }
  .cz2-tbl{ font-size:13px; }
  .cz2-tbl tbody th{ min-width:0; }
  .cz2-tbl td.price-band{ white-space:normal; }
  .cz2-tbl th, .cz2-tbl td{ padding-right:8px; }
  .cz2-ledger{ padding:20px 18px 18px; }
  .cz2-ledger-t{ font-size:14px; }
  .cz2-ledger-t tbody th{ padding-right:10px; }
  .cz2-tile{ padding:22px 20px 20px; }
  .cz2-cta{ padding:56px 16px; }
  .cz2-cta-btns .btn{ width:100%; justify-content:center; }
  .cz2-tail{ margin-bottom:64px; }
  .cz2-row .n{ font-size:13.5px; }
}
@media (prefers-reduced-motion:reduce){
  .cz2-offers.is-live .cz2-row,
  .cz2-offers.is-live .cz2-row.is-tap,
  .cz2-offers.is-live .cz2-confirm,
  .cz2-offers.is-live .cz2-share,
  .cz2-offers.is-live .cz2-callout{ animation:none; opacity:1; max-height:none; overflow:visible; }
}
.cz2-table, .cz2-no{ width:var(--wrap); margin:0 auto; padding-top:110px; }
.cz2-vs{ padding:22px 24px 18px; }
.cz2-vs .cz2-tbl thead th.us{ color:var(--s-khaki-deep); }
.cz2-vs .cz2-tbl td{ font-size:13.5px; line-height:1.5; }
.cz2-vs .cz2-tbl td.zero{ color:var(--s-dim); }
.cz2-vs .cz2-tbl td.zero b{ color:var(--s-red); font-weight:600; white-space:nowrap; }
.cz2-vs .cz2-tbl td.us{ color:var(--s-ink); background:rgba(233,217,138,.28); padding-left:12px; }
.cz2-vs .cz2-tbl td.us b{ color:var(--s-khaki-deep); }
.cz2-vs .cz2-tbl{ min-width:640px; }
.cz2-calc{ margin-top:24px; padding:26px 28px 22px; border-radius:18px; }
.cz2-calc-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; align-items:start; }
.cz2-slide{ display:grid; grid-template-columns:1fr auto; gap:6px 12px; align-items:baseline; margin:0 0 20px; cursor:pointer; }
.cz2-slide .k{ font-size:14.5px; color:var(--s-ink); }
.cz2-slide .v{ font-size:15px; color:var(--s-khaki-deep); font-weight:600; }
.cz2-slide input[type=range]{ grid-column:1 / -1; width:100%; margin:4px 0 0; accent-color:var(--s-khaki); cursor:pointer; }
.cz2-calc-out{ border-left:1px solid var(--s-line); padding-left:30px; }
.cz2-calc-out .row{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:11px 0; border-bottom:1px solid var(--s-line); font-size:14.5px; color:var(--s-dim); }
.cz2-calc-out .row b{ font-size:17px; color:var(--s-ink); white-space:nowrap; font-weight:600; }
.cz2-calc-out .row.zero b{ color:var(--s-red); }
.cz2-calc-out .row.win span{ color:var(--s-ink); }
.cz2-calc-out .row.win b{ color:var(--s-khaki-deep); }
.cz2-calc-out .row.big{ border-bottom:none; border-top:2px solid var(--s-ink); }
.cz2-calc-out .row.big b{ font-size:clamp(26px,2.6vw,34px); letter-spacing:-0.01em; }
.cz2-calc-note{ margin:8px 0 0; font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-size:16.5px; font-style:italic; color:var(--s-khaki-deep); }
.cz2-no-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cz2-no-list li{ padding:26px 24px 22px; border-radius:18px; }
.cz2-no-list .n{ display:block; font-size:11.5px; letter-spacing:.2em; color:var(--s-red); margin-bottom:12px; }
.cz2-no-list h3{ font-weight:700; font-size:19px; line-height:1.3; margin:0 0 10px; letter-spacing:-0.01em; }
.cz2-no-list p{ font-size:15px; line-height:1.6; color:var(--s-dim); margin:0; text-wrap:pretty; }
@media (max-width:900px){
  .cz2-no-list{ grid-template-columns:minmax(0,1fr); gap:16px; }
}
@media (max-width:720px){
  .cz2-table, .cz2-no{ width:calc(100% - 32px); padding-top:64px; }
  .cz2-vs{ padding:18px 16px 14px; }
  .cz2-calc{ padding:20px 18px 18px; }
  .cz2-calc-grid{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .cz2-calc-out{ border-left:none; padding-left:0; border-top:1px solid var(--s-line); padding-top:6px; }
  .cz2-no-list li{ padding:22px 20px 20px; }
}
@media (max-width:720px){
  .cz2-vs .cz2-tbl{ min-width:0; }
  .cz2-vs .cz2-tbl thead{ display:none; }
  .cz2-vs .cz2-tbl caption{ display:block; }
  .cz2-vs .cz2-tbl, .cz2-vs .cz2-tbl tbody, .cz2-vs .cz2-tbl tr, .cz2-vs .cz2-tbl th, .cz2-vs .cz2-tbl td{ display:block; }
  .cz2-vs .cz2-tbl tr{ padding:12px 0; border-bottom:1px solid var(--s-line); }
  .cz2-vs .cz2-tbl tbody tr:last-child{ border-bottom:none; }
  .cz2-vs .cz2-tbl th, .cz2-vs .cz2-tbl td{ border-bottom:none; padding:3px 0; }
  .cz2-vs .cz2-tbl tbody th{ font-size:15px; padding-bottom:6px; }
  .cz2-vs .cz2-tbl td[data-l]::before{ content:attr(data-l) ": "; font-family:'IBM Plex Mono','IBM Plex Mono Fallback',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--s-faint); }
  .cz2-vs .cz2-tbl td.us{ margin-top:6px; padding:8px 10px; border-radius:8px; }
}
@media (max-width:720px){
  .cz2-panel-grid .cz2-tbl thead{ display:none; }
  .cz2-panel-grid .cz2-tbl caption{ display:block; }
  .cz2-panel-grid .cz2-tbl, .cz2-panel-grid .cz2-tbl tbody{ display:block; }
  .cz2-panel-grid .cz2-tbl tr{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-items:start;
    padding:12px 0; border-bottom:1px solid var(--s-line); }
  .cz2-panel-grid .cz2-tbl tbody tr:last-child{ border-bottom:none; }
  .cz2-panel-grid .cz2-tbl th, .cz2-panel-grid .cz2-tbl td{ display:block; border-bottom:none; padding:0; }
  .cz2-panel-grid .cz2-tbl tbody th{ grid-column:1; grid-row:1; font-size:15px; min-width:0; }
  .cz2-panel-grid .cz2-tbl td:last-child{ grid-column:2; grid-row:1; justify-self:end; }
  .cz2-panel-grid .cz2-tbl td.rule{ grid-column:1 / -1; font-size:14px; }
  .cz2-panel-grid .cz2-tbl td.price-band{ grid-column:1 / -1; font-size:12.5px; }
}
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.site{ -webkit-tap-highlight-color:transparent; }
body.site a, body.site button, body.site input, body.site select, body.site label{ touch-action:manipulation; }
body.site .btn:active{ transform:scale(.97); transition-duration:.08s; }
.nav-menu{ display:none; }
.site-sheet{ display:none; }
@media (max-width:880px){
  body.site input:not([type=checkbox]):not([type=radio]):not([type=range]),
  body.site select, body.site textarea, body.site .cz-form .field{ font-size:16px; }
  body.site input[type=checkbox], body.site input[type=radio]{ width:20px; height:20px; flex:0 0 auto; }
  body.site input[type=range]{ height:32px; }
  .foot-links{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; width:100%; font-size:15px; }
  .foot-links a{ display:flex; align-items:center; min-height:44px; border-bottom:1px solid rgba(250,247,236,.08); }
}
@media (max-width:640px){
  .site-links a:not(.btn):not(.nav-menu), .site-links a.btn:not(.pri){ display:none; }
  .site-links .btn.pri{ padding:10px 16px; }
}
@media (max-width:880px){
  .site-links{ flex-wrap:nowrap; }
  .nav-menu{ display:inline-flex; flex-direction:column; justify-content:center; gap:6px; width:44px; height:44px;
    margin-right:-8px; padding:0 11px; border:0; background:none; cursor:pointer; color:var(--s-ink); }
  .nav-menu span{ display:block; height:1.5px; border-radius:2px; background:currentColor; transition:transform .3s cubic-bezier(.2,.7,.2,1); }
  .nav-menu[aria-expanded=true] span:first-child{ transform:translateY(3.75px) rotate(45deg); }
  .nav-menu[aria-expanded=true] span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }
  .site-sheet{ display:flex; flex-direction:column; position:fixed; left:0; right:0; bottom:0; top:var(--sheet-top,60px); z-index:49;
    background:var(--s-bg); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    padding:10px 4vw calc(24px + env(safe-area-inset-bottom));
    opacity:0; clip-path:inset(0 0 100% 0); transition:opacity .28s ease, clip-path .42s cubic-bezier(.2,.7,.2,1); }
  .site-sheet[hidden]{ display:none; }
  .site-sheet.is-open{ opacity:1; clip-path:inset(0); }
  html.sheet-open{ overflow:hidden; }
  .sheet-links{ display:flex; flex-direction:column; }
  .sheet-links a{ display:flex; flex-direction:column; gap:3px; padding:15px 2px; border-bottom:1px solid var(--s-line); color:var(--s-ink);
    opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .45s cubic-bezier(.2,.7,.2,1); }
  .site-sheet.is-open .sheet-links a{ opacity:1; transform:none; }
  .sheet-links a:nth-child(2){ transition-delay:.03s; }
  .sheet-links a:nth-child(3){ transition-delay:.06s; }
  .sheet-links a:nth-child(4){ transition-delay:.09s; }
  .sheet-links a:nth-child(5){ transition-delay:.12s; }
  .sheet-links a:nth-child(6){ transition-delay:.15s; }
  .sheet-links a:nth-child(7){ transition-delay:.18s; }
  .sheet-links a:active{ background:var(--s-surface); }
  .sl-t{ font-family:'EB Garamond','EB Garamond Fallback',Georgia,serif; font-size:28px; line-height:1.1; font-weight:500; letter-spacing:-.01em; }
  .sl-s{ font-family:'IBM Plex Mono','IBM Plex Mono Fallback',ui-monospace,monospace; font-size:12px; letter-spacing:.04em; color:var(--s-dim); }
  .sheet-links a[aria-current=page] .sl-t{ font-style:italic; color:var(--s-khaki); }
  .sheet-cta{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
  body.site .sheet-cta .btn{ display:flex; justify-content:center; align-items:center; min-height:48px; font-size:15.5px; }
  .sheet-foot{ margin-top:auto; padding-top:28px; text-align:center; font-size:13px; color:var(--s-faint); }
  .sheet-foot a{ display:inline-block; padding:10px 4px; color:var(--s-dim); }
}
@media (prefers-reduced-motion:reduce){
  .site-sheet, .sheet-links a, .nav-menu span{ transition:none !important; }
}
[x-cloak]{ display:none !important; }
.cal-cell .pr, .r-total .big, .r-amt{ white-space:nowrap; }
:focus-visible{ outline:2px solid var(--khaki-ink); outline-offset:2px; }
body.site :focus-visible{ outline-color:var(--s-khaki-deep); }
.a-nav :focus-visible, .adm-top :focus-visible, .site-foot :focus-visible, .notice-strip :focus-visible, .hero-full :focus-visible,
.band :focus-visible, .band-dark :focus-visible, .why-tile.dark :focus-visible, .pcal-copy :focus-visible, .cz2-cta :focus-visible{ outline-color:var(--khaki-bright); }
.faq-row button:focus-visible{ outline-offset:-2px; }
.hint:focus-visible{ outline-offset:1px; }
p a:not(.btn), .note a:not(.btn), .dim a:not(.btn), .muted a:not(.btn), .a-sub a:not(.btn), .co-b a:not(.btn),
.bf-foot a, .bf-p a, .paywall-foot a, .paywall-sub a, .err-p a, .err-help a, .bare-bar a{ text-decoration:underline; text-underline-offset:2px; }
@media (pointer:coarse),(max-width:720px){
  .btn, .btn.sm, button.btn{ min-height:44px; }
  input.field, select.field, textarea.field, .field{ min-height:44px; }
  .lnk, button.lnk{ display:inline-flex; align-items:center; min-height:44px; padding:0 4px; }
  .seg span, .seg button{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
  .tick[wire\:click], button.tick{ position:relative; }
  .tick[wire\:click]::before, button.tick::before{ content:''; position:absolute; inset:-12px; }
}
main[tabindex="-1"]:focus{ outline:none; }
.rv-expired{ position:fixed; left:12px; right:12px; bottom:18px; z-index:9000; max-width:560px; margin:0 auto;
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:14px 16px; border-radius:12px;
  background:var(--ink); color:#fff; font:500 14px/1.45 'Figtree','Figtree Fallback',system-ui,sans-serif; box-shadow:0 14px 40px rgba(43,39,24,.35); }
.rv-expired[hidden]{ display:none; }
.rv-expired p{ margin:0; flex:1 1 220px; }
.rv-expired .btn{ min-height:44px; }
.rv-expired .btn.ghost{ background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
.rv-expired :focus-visible{ outline-color:var(--khaki-bright); }