/* PlanIt Flooring site styles (#220, 1 Oct 2026). One stylesheet for every
   marketing page. The brand tokens are unchanged; what went is the template:
   emoji icons, monospace eyebrows, card grids with hover lifts, drawn mock-ups
   and glow blobs. The product is shown by its own screens (img/home/). */
:root {
  --cream:    #F7F5EF;
  --paper:    #FFFFFF;
  --forest:   #1D4A20;
  --deep:     #143517;
  --green-tint:#EDF2EC;
  --blue:     #1C4E73;
  --blue-deep:#143A55;
  --blue-tint:#EAF1F7;
  --ink:      #1A1916;
  --ink2:     #4A473F;
  --ink3:     #6E6A5F; /* AA contrast on cream */
  --gold:     #F5B800;
  --line:     #E2DDD0;
  --rule:     #CFC9B9;
  --font:     'DM Sans', -apple-system, sans-serif;
  --mono:     'DM Mono', ui-monospace, monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font); background:var(--cream); color:var(--ink); line-height:1.6; font-size:17px; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }
.wrap { max-width:1200px; margin:0 auto; padding:0 24px; }
@media (max-width:600px){ .wrap { padding:0 16px; } }
h1,h2,h3 { letter-spacing:-0.03em; line-height:1.05; font-weight:800; }
h2 { font-size:clamp(32px,4.4vw,50px); max-width:18ch; }
h3 { font-size:20px; letter-spacing:-0.015em; line-height:1.2; }
.lead { font-size:clamp(18px,1.6vw,20px); color:var(--ink2); max-width:62ch; margin-top:20px; }
.lead em { font-style:normal; font-weight:700; color:var(--ink); }
.lead strong, .body strong { color:var(--ink); }
.body { color:var(--ink2); max-width:62ch; }
.body + .body { margin-top:14px; }
.body a, .lead a { color:var(--forest); text-underline-offset:3px; }
.kicker { font-size:15px; font-weight:700; color:var(--forest); margin-bottom:14px; display:flex; align-items:center; gap:10px; letter-spacing:-0.005em; }
.kicker.blue { color:var(--blue); }
.sec { padding:96px 0; border-top:1px solid var(--line); }
@media (max-width:760px){ .sec { padding:64px 0; } }

/* Buttons: flat, no coloured glow. */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font); font-weight:700; font-size:15.5px; border-radius:8px; padding:14px 24px; cursor:pointer; border:1.5px solid transparent; text-decoration:none; line-height:1.2; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.btn-primary { background:var(--forest); color:#fff; }
.btn-primary:hover { background:var(--deep); }
.btn-blue { background:var(--blue); color:#fff; }
.btn-blue:hover { background:var(--blue-deep); }
.btn-ghost { background:transparent; color:var(--ink); border-color:var(--rule); }
.btn-ghost:hover { border-color:var(--ink); }
.btn-light { background:#fff; color:var(--forest); }
.btn-light:hover { background:var(--cream); }
.textlink { font-weight:700; font-size:15.5px; color:var(--ink); text-decoration:underline; text-decoration-color:var(--rule); text-underline-offset:4px; }
.textlink:hover { text-decoration-color:var(--ink); }

/* The brand tile, used as the product mark (never emoji). */
.mark { display:inline-grid; grid-template-columns:1fr 1fr; gap:2.5px; width:26px; height:26px; padding:4.5px; border-radius:7px; flex:none; }
.mark span { background:#fff; border-radius:1.5px; }
.mark span:nth-child(2), .mark span:nth-child(3) { background:var(--gold); }
.mark.green { background:var(--forest); }
.mark.blue { background:var(--blue); }
.mark.master { background:linear-gradient(135deg, var(--forest) 0 52%, var(--blue) 52%); }
.mark.big { width:40px; height:40px; padding:7px; gap:4px; border-radius:10px; }

/* ── Nav ── */
nav { position:sticky; top:0; z-index:50; background:var(--cream); border-bottom:1px solid var(--line); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:66px; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px; letter-spacing:-0.02em; text-decoration:none; white-space:nowrap; }
.nav-links { display:flex; gap:22px; font-size:15px; font-weight:500; color:var(--ink2); white-space:nowrap; }
.nav-links a { text-decoration:none; }
.nav-links a:hover { color:var(--ink); }
.nav-cta { display:flex; gap:10px; align-items:center; }
.nav-login { font-size:15px; font-weight:700; color:var(--ink2); text-decoration:none; padding:10px 8px; }
.nav-login:hover { color:var(--forest); }
.nav-cta .btn { padding:10px 16px; font-size:14.5px; }
@media (max-width:1180px){ .nav-links { display:none; } }
.nav-cta a { white-space:nowrap; }
@media (max-width:760px){ .nav-book { display:none; } }
@media (max-width:420px){ .nav-login { display:none; } }

/* ── Founding banner (closed; the banner is the record) ── */
.founding-bar { background:var(--deep); color:#fff; }
.founding-bar .wrap { display:flex; align-items:center; gap:10px 18px; padding-top:12px; padding-bottom:12px; flex-wrap:wrap; }
.founding-bar .fb-badge { font-size:12.5px; font-weight:700; background:var(--gold); color:#2E2300; border-radius:5px; padding:3px 9px; white-space:nowrap; }
.founding-bar p { font-size:15px; color:rgba(255,255,255,.88); flex:1; min-width:240px; }
.founding-bar p b { color:#fff; }
.founding-bar a.fb-link { color:var(--gold); font-weight:700; white-space:nowrap; font-size:15px; text-underline-offset:3px; }

/* ── Hero ── */
.hero { padding:84px 0 0; }
.hero h1 { font-size:clamp(40px,6.2vw,76px); letter-spacing:-0.04em; line-height:1; max-width:18ch; }
.hero-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px 56px; align-items:end; margin-top:30px; }
.hero-row .lead { margin-top:0; }
.hero-ctas { display:flex; flex-direction:column; gap:12px; min-width:250px; }
.hero-note { font-size:14px; color:var(--ink3); margin-top:4px; text-align:center; }
@media (max-width:900px){ .hero-row { grid-template-columns:1fr; } .hero-ctas { flex-direction:row; flex-wrap:wrap; min-width:0; } .hero-note { text-align:left; width:100%; } }
.hero-shot { margin-top:56px; }

/* A real screen, with a caption that says what it shows. */
.shot picture { display:block; }
@media (max-width:600px){ .hero-shot img { max-width:380px; } }
.shot img { width:100%; background:#fff; border:1px solid rgba(26,25,22,.14); border-radius:10px; box-shadow:0 1px 2px rgba(26,25,22,.05), 0 18px 40px -22px rgba(26,25,22,.35); }
.shot figcaption { font-size:14.5px; color:var(--ink3); margin-top:12px; max-width:70ch; line-height:1.5; }
.shot figcaption b { color:var(--ink2); font-weight:700; }

/* ── The two products ── */
.products { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:72px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.product { padding:40px 40px 40px 0; display:flex; flex-direction:column; }
.product + .product { padding:40px 0 40px 40px; border-left:1px solid var(--rule); }
.product .ph { display:flex; align-items:center; gap:12px; }
.product h3 { font-size:30px; letter-spacing:-0.03em; }
.product .pline { font-size:19px; font-weight:700; margin-top:14px; letter-spacing:-0.01em; }
.product .pwho { color:var(--ink2); margin-top:6px; font-size:16px; }
.plist { list-style:none; margin:22px 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; font-size:15.5px; color:var(--ink2); flex:1; }
.plist li { position:relative; padding-left:18px; }
.plist li::before { content:''; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:1.5px; background:var(--forest); }
.p360 .plist li::before { background:var(--blue); }
.pfoot { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
@media (max-width:860px){
  .products { grid-template-columns:1fr; }
  .product, .product + .product { padding:32px 0; border-left:none; }
  .product + .product { border-top:1px solid var(--rule); }
}
@media (max-width:420px){ .plist { grid-template-columns:1fr; } }

/* ── Product sections ── */
.sec-head { max-width:820px; }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; margin-top:56px; }
.split-till { grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); gap:48px; }
.history-shot { margin-top:36px; }
@media (max-width:900px){ .split { grid-template-columns:1fr; gap:36px; } }
.callout h3 { font-size:clamp(24px,2.6vw,30px); letter-spacing:-0.025em; }
.callout .body { margin-top:14px; }
.callout .btn { margin-top:24px; }
.wide-shot { margin-top:56px; }

/* Spec sheet: name on the left, plain description on the right, ruled. */
.spec-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:48px; }
@media (max-width:900px){ .spec-cols { grid-template-columns:1fr; } }
.spec { list-style:none; }
.spec li { display:grid; grid-template-columns:minmax(150px, 34%) 1fr; gap:4px 20px; padding:15px 0; border-top:1px solid var(--rule); }
.spec li:last-child { border-bottom:1px solid var(--rule); }
@media (max-width:900px){ .spec-cols .spec + .spec li:first-child { border-top:none; } .spec-cols .spec:first-child li:last-child { border-bottom:none; } }
.spec h3 { font-size:17px; letter-spacing:-0.01em; }
.spec p { font-size:15.5px; color:var(--ink2); line-height:1.55; }
.spec p b { color:var(--ink); font-weight:700; }
@media (max-width:520px){ .spec li { grid-template-columns:1fr; } }
.tag { display:inline-block; font-size:12.5px; font-weight:700; color:#6B5200; background:#FDF1C7; border-radius:4px; padding:1px 7px; margin-left:4px; white-space:nowrap; }

.fig-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; margin-top:48px; align-items:start; }
.fig-one { max-width:620px; margin-top:44px; }
@media (max-width:760px){ .fig-row { grid-template-columns:1fr; } }

/* ── Founder ── */
.founder { padding:96px 0; border-top:1px solid var(--line); background:var(--paper); }
.founder-inner { display:grid; grid-template-columns:200px minmax(0, 720px); gap:24px 56px; }
.founder-label { font-weight:700; color:var(--forest); font-size:15px; padding-top:8px; }
.founder-photo { width:160px; margin-top:18px; }
.founder-photo img { border-radius:8px; aspect-ratio:4/5; object-fit:cover; }
@media (max-width:760px){ .founder-photo { width:120px; } }
.letter p { font-size:clamp(20px,2.1vw,24px); line-height:1.5; letter-spacing:-0.012em; color:var(--ink); }
.letter p + p { margin-top:20px; }
.letter .sig { margin-top:30px; font-size:17px; line-height:1.4; letter-spacing:0; }
.letter .sig b { font-size:20px; }
.letter .sig span { color:var(--ink3); font-size:15px; }
.letter .textlink { display:inline-block; margin-top:22px; }
@media (max-width:760px){ .founder { padding:80px 0; } .founder-inner { grid-template-columns:1fr; } }

/* ── Estimating figures ── */
.est-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr); gap:40px; margin-top:56px; align-items:start; }
.est-grid .callout { align-self:center; }
@media (max-width:1000px){ .est-grid { grid-template-columns:1fr 1fr; } .est-grid .callout { grid-column:1 / -1; } }
@media (max-width:520px){ .est-grid { grid-template-columns:1fr; } }

/* ── Demo videos ── */
.video-sec { padding:80px 0; border-top:1px solid var(--line); }
.video-sec .head { max-width:760px; margin-bottom:34px; }
.video-sec h2 { max-width:none; font-size:clamp(28px,3.4vw,40px); }
.video-shell { position:relative; max-width:960px; aspect-ratio:16/9; border-radius:10px; overflow:hidden; border:1px solid rgba(26,25,22,.14); background:#111; box-shadow:0 18px 40px -22px rgba(26,25,22,.35); }
.video-shell iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-poster { position:absolute; inset:0; width:100%; height:100%; display:block; cursor:pointer; border:0; padding:0; background:#111; }
.video-poster img { width:100%; height:100%; object-fit:cover; opacity:.92; transition:opacity .2s ease; }
.video-poster:hover img { opacity:1; }
.vp-inner { position:absolute; left:20px; bottom:20px; display:flex; align-items:center; gap:14px; background:var(--ink); color:#fff; border-radius:8px; padding:12px 18px 12px 14px; text-align:left; }
.vp-play { width:36px; height:36px; border-radius:50%; background:#fff; color:var(--ink); display:flex; align-items:center; justify-content:center; flex:none; }
.vp-play svg { width:15px; height:15px; margin-left:2px; }
.vp-title { display:block; font-weight:800; font-size:16px; letter-spacing:-0.01em; }
.vp-len { display:block; font-size:13.5px; color:rgba(255,255,255,.75); }
.video-caption { font-size:14.5px; color:var(--ink3); margin-top:12px; }
@media (max-width:520px){ .vp-inner { left:10px; bottom:10px; padding:9px 13px 9px 10px; } .vp-title { font-size:14.5px; } }

/* ── Mobile app ── */
.mobile-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
@media (max-width:900px){ .mobile-grid { grid-template-columns:1fr; gap:48px; } }
.mobile-feats { list-style:none; margin:24px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; font-size:15.5px; color:var(--ink2); }
.mobile-feats li { position:relative; padding-left:18px; }
.mobile-feats li::before { content:''; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:1.5px; background:var(--forest); }
@media (max-width:420px){ .mobile-feats { grid-template-columns:1fr; } }
.store-badges { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.store-badge { display:flex; align-items:center; gap:11px; background:var(--ink); color:#fff; border-radius:9px; padding:10px 16px 10px 13px; }
.store-badge svg { width:22px; height:22px; flex:none; }
.store-badge .sb-top { font-size:12px; color:rgba(255,255,255,.72); }
.store-badge .sb-name { font-weight:800; font-size:15.5px; letter-spacing:-0.01em; line-height:1.15; }
.store-badge .soon { display:none; }
.phones { display:flex; justify-content:center; gap:22px; align-items:flex-start; }
.phone { width:min(250px, 44%); border-radius:30px; background:#111; padding:9px; box-shadow:0 22px 50px -24px rgba(26,25,22,.5); }
.phone img { border-radius:22px; }
.phone + .phone { margin-top:48px; }

/* ── Together ── */
.flow { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; margin-top:52px; align-items:start; }
.flow figure { position:relative; }
.flow .step { font-weight:800; font-size:14px; color:var(--ink3); margin-bottom:10px; }
.flow .shot figcaption { font-size:14.5px; }
@media (max-width:900px){ .flow { grid-template-columns:1fr; max-width:560px; } }

/* ── Distributors (the one dark band) ── */
.distributor { background:var(--blue-deep); color:#E3ECF3; border-top:none; }
.distributor .kicker { color:var(--gold); }
.distributor h2 { color:#fff; }
.distributor .lead { color:rgba(227,236,243,.82); }
.dist-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
@media (max-width:900px){ .dist-grid { grid-template-columns:1fr; } }
.dist-list { list-style:none; margin-top:26px; }
.dist-list li { padding:12px 0; border-top:1px solid rgba(255,255,255,.14); font-size:16px; }
.dist-list li:last-child { border-bottom:1px solid rgba(255,255,255,.14); }
.dist-benefits { margin-top:22px; font-size:15px; color:rgba(227,236,243,.75); max-width:56ch; }
.distributor .btn { margin-top:28px; }
.dash { background:#0E2B41; border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:22px; }
.dash-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px; font-weight:700; color:#fff; margin-bottom:16px; }
.dash-title span { font-weight:500; color:rgba(227,236,243,.6); font-size:13px; }
.dash-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:20px; }
.dash-kpi { border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:12px; }
.dash-kpi .l { font-size:12px; color:rgba(227,236,243,.6); }
.dash-kpi .v { font-size:20px; font-weight:800; color:#fff; margin-top:2px; }
.dash-kpi .d { font-size:12px; color:var(--gold); }
.dash-bars { display:flex; align-items:flex-end; gap:10px; height:120px; }
.dash-bars i { flex:1; background:var(--gold); border-radius:3px 3px 0 0; min-height:8%; opacity:.9; }
.dash-x { display:flex; gap:10px; margin-top:8px; }
.dash-x span { flex:1; text-align:center; font-size:11px; color:rgba(227,236,243,.5); }
.dash-note { font-size:13px; color:rgba(227,236,243,.6); margin-top:12px; }
@media (max-width:420px){ .dash-kpis { grid-template-columns:1fr 1fr; } .dash-kpi:last-child { grid-column:1 / -1; } }

/* ── Testimonials ── */
.quote-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:40px; margin-top:44px; }
@media (max-width:900px){ .quote-grid { grid-template-columns:1fr; gap:28px; } }
.tcard { border-top:3px solid var(--ink); padding-top:20px; }
.tcard .q { font-size:clamp(21px,2vw,25px); font-weight:700; letter-spacing:-0.02em; line-height:1.3; }
.tcard .who { margin-top:14px; font-size:15px; color:var(--ink3); }

/* ── Trust ── */
.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:44px; }
@media (max-width:760px){ .trust-grid { grid-template-columns:1fr; } }
.trust-item { padding:20px 0; border-top:1px solid var(--rule); }
.trust-item h3 { font-size:17px; }
.trust-item p { font-size:15.5px; color:var(--ink2); margin-top:4px; }

/* ── Pricing ── */
.free-row { display:flex; align-items:center; justify-content:space-between; gap:14px 24px; flex-wrap:wrap; padding:18px 0; margin-top:40px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.free-row p { color:var(--ink2); max-width:70ch; font-size:16px; }
.free-row p b { color:var(--ink); }
.price-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-top:28px; align-items:stretch; }
@media (max-width:960px){ .price-grid { grid-template-columns:1fr; max-width:480px; } }
.plan { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:28px 26px; display:flex; flex-direction:column; }
.plan.featured { border:2px solid var(--blue); }
.plan h3 { font-size:24px; margin-top:6px; }
.plan .for { font-size:15px; color:var(--ink2); margin-top:4px; }
.plan .amt { margin:18px 0 2px; font-size:42px; font-weight:800; letter-spacing:-0.035em; line-height:1; }
.plan .amt small { font-size:15px; font-weight:500; color:var(--ink3); letter-spacing:0; }
.plan .note { font-size:14px; color:var(--ink3); min-height:22px; margin-top:6px; }
.plan ul { list-style:none; margin:18px 0 26px; font-size:15px; color:var(--ink2); flex:1; }
.plan li { padding:7px 0; border-top:1px solid var(--line); }
.plan li:last-child { border-bottom:1px solid var(--line); }
.plan .btn { width:100%; }
.pill-job { font-size:14px; font-weight:700; color:var(--forest); }
.plan.blue .pill-job { color:var(--blue); }
.pill-job.gold { color:#7A5C00; }
.price-foot { display:flex; align-items:center; gap:16px 26px; flex-wrap:wrap; margin-top:32px; }
.price-foot span { font-size:15px; color:var(--ink3); }
.price-foot span a { color:var(--forest); }

/* ── FAQ ── */
.faq-list { max-width:860px; margin-top:40px; border-bottom:1px solid var(--rule); }
.faq-item { border-top:1px solid var(--rule); }
.faq-item summary { list-style:none; cursor:pointer; padding:20px 0; font-weight:700; font-size:18px; letter-spacing:-0.01em; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .fx { flex:none; font-size:24px; font-weight:400; color:var(--ink3); line-height:1; width:24px; text-align:center; transition:transform .2s ease; }
.faq-item[open] summary .fx { transform:rotate(45deg); color:var(--ink); }
.faq-item .fa { padding:0 0 22px; font-size:16px; color:var(--ink2); line-height:1.65; max-width:70ch; }
.faq-item .fa a { color:var(--forest); }

/* ── Final CTA ── */
.final { background:var(--forest); color:#fff; border-radius:12px; padding:64px 56px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px 48px; align-items:end; }
.final h2 { color:#fff; }
.final .lead { color:rgba(255,255,255,.86); }
.final-ctas { display:flex; flex-direction:column; gap:12px; min-width:250px; }
.final-note { grid-column:1 / -1; font-size:14.5px; color:rgba(255,255,255,.75); }
.final-note a { color:var(--gold); }
@media (max-width:860px){ .final { grid-template-columns:1fr; padding:44px 26px; } .final-ctas { min-width:0; } }

/* ── Footer ── */
footer { padding:56px 0 40px; border-top:1px solid var(--line); }
.foot { display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.foot-links { display:flex; gap:12px 24px; flex-wrap:wrap; font-size:14.5px; color:var(--ink2); }
.foot-links a { text-decoration:none; }
.foot-links a:hover { color:var(--ink); text-decoration:underline; }
.foot-small { margin-top:26px; font-size:13.5px; color:var(--ink3); }
.foot-seo { border-top:1px solid var(--line); margin-top:26px; padding-top:24px; font-size:13.5px; color:var(--ink3); line-height:1.7; max-width:880px; }
.foot-seo a { color:var(--ink2); }

/* ── Modal ── */
.modal-bg { display:none; position:fixed; inset:0; background:rgba(26,25,22,.5); z-index:100; align-items:center; justify-content:center; padding:20px; }
.modal-bg.open { display:flex; }
.modal { background:var(--paper); border-radius:12px; max-width:440px; width:100%; padding:30px; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.modal h3 { font-size:22px; margin-bottom:6px; }
.modal p { font-size:14.5px; color:var(--ink2); margin-bottom:18px; }
.modal label { display:block; font-size:13.5px; font-weight:700; margin:12px 0 5px; }
.modal input, .modal select { width:100%; padding:11px 13px; border:1px solid var(--rule); border-radius:8px; font-family:var(--font); font-size:15px; background:var(--cream); }
.modal input:focus, .modal select:focus { outline:2px solid var(--forest); outline-offset:1px; }
.modal .btn { width:100%; margin-top:20px; }
.modal .done { text-align:center; padding:18px 0 6px; display:none; }
.modal .done .big { font-size:38px; }
.modal .done h4 { font-size:18px; font-weight:800; margin-top:8px; }
.modal .done p { margin-top:6px; }
.modal-close { float:right; background:none; border:none; font-size:20px; cursor:pointer; color:var(--ink3); width:44px; height:44px; margin:-12px -12px 0 0; }
.modal .fgroup { display:block; }
.modal .fgroup.hide { display:none; }
.modal .frow { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width:480px){ .modal .frow { grid-template-columns:1fr; } }
.done .socials { display:flex; justify-content:center; gap:12px; margin-top:20px; }
.done .socials a { width:44px; height:44px; border-radius:50%; background:var(--green-tint); color:var(--forest); display:flex; align-items:center; justify-content:center; }
.done .socials a:hover { background:var(--forest); color:#fff; }
.done .socials svg { width:19px; height:19px; }
.done .no-spam { font-size:13px; color:var(--ink3); margin-top:14px; }

/* ── Accessibility ── */
.skip-link { position:absolute; left:-9999px; top:0; z-index:100; background:var(--forest); color:#fff; padding:12px 20px; border-radius:0 0 8px 0; font-weight:700; text-decoration:none; }
.skip-link:focus { left:0; }
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible { outline:3px solid var(--gold); outline-offset:2px; border-radius:4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition-duration:.01ms !important; }
}

/* ── Product pages (#220): same system as the homepage ── */
.nav-links a[aria-current] { color:var(--ink); font-weight:700; }
.lp-hero { padding:76px 0 0; }
.lp-hero h1 { font-size:clamp(38px,5.4vw,66px); letter-spacing:-0.04em; line-height:1.02; max-width:19ch; }
.lp-hero .lead { margin-top:24px; }
.lp-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.lp-note { font-size:15px; color:var(--ink3); margin-top:14px; max-width:72ch; }
.lp-note a { color:var(--forest); text-underline-offset:3px; }
.lp-hero .hero-shot { margin-top:52px; }
.contrast { display:grid; grid-template-columns:1fr 1fr; margin-top:40px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.contrast > div { padding:28px 40px 30px 0; }
.contrast > div + div { padding:28px 0 30px 40px; border-left:1px solid var(--rule); }
.contrast h3 { font-size:19px; }
.contrast p { color:var(--ink2); margin-top:8px; max-width:56ch; }
@media (max-width:760px){
  .contrast { grid-template-columns:1fr; }
  .contrast > div, .contrast > div + div { padding:22px 0; border-left:none; }
  .contrast > div + div { border-top:1px solid var(--rule); }
}
.compare { width:100%; max-width:940px; border-collapse:collapse; margin-top:36px; }
.compare th, .compare td { text-align:left; vertical-align:top; padding:16px 0; border-top:1px solid var(--rule); font-size:16px; line-height:1.55; }
.compare tr:last-child th, .compare tr:last-child td { border-bottom:1px solid var(--rule); }
.compare th { width:28%; padding-right:28px; font-weight:700; }
.compare td { color:var(--ink2); }
@media (max-width:600px){
  .compare, .compare tbody, .compare tr { display:block; }
  .compare tr { padding:14px 0; border-top:1px solid var(--rule); }
  .compare tr:last-child { border-bottom:1px solid var(--rule); }
  .compare th, .compare td { display:block; width:auto; padding:2px 0; border:none !important; }
}
.prose { max-width:64ch; color:var(--ink2); margin-top:20px; }
.prose + .prose { margin-top:14px; }
.prose a { color:var(--forest); text-underline-offset:3px; }
.final.blue { background:var(--blue); }
.page-figure { margin-top:48px; }
.page-figure.narrow { max-width:980px; }

/* ── Pricing page (#220): same system as the homepage ── */
.nav-links a[aria-current] { color:var(--ink); font-weight:700; }
.sr-only { position:absolute; left:-9999px; }
.pr-hero { padding:76px 0 8px; }
.pr-hero h1 { font-size:clamp(38px,5.4vw,66px); letter-spacing:-0.04em; line-height:1.02; max-width:17ch; }
.pr-hero h1 em { font-style:normal; color:var(--forest); }
.pr-hero .sub { font-size:clamp(18px,1.6vw,20px); color:var(--ink2); max-width:62ch; margin-top:22px; }
.pr-hero .sub a, .pr-sec .sub a { color:var(--forest); text-underline-offset:3px; }
.pr-sec { padding:88px 0; border-top:1px solid var(--line); }
@media (max-width:760px){ .pr-sec { padding:60px 0; } }
.pr-sec h2 { max-width:22ch; }
.pr-sec .sub { color:var(--ink2); max-width:64ch; margin-top:16px; font-size:17px; }
.pr-plans { padding:40px 0 88px; }

/* Billing toggle */
.billing { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.seg { display:inline-flex; border:1.5px solid var(--rule); border-radius:8px; padding:3px; background:var(--paper); }
.seg button { font:inherit; font-size:15px; font-weight:700; border:0; background:transparent; color:var(--ink2); padding:9px 18px; border-radius:6px; cursor:pointer; min-height:40px; }
.seg button[aria-pressed="true"] { background:var(--forest); color:#fff; }
.save { font-size:15px; color:var(--ink3); }

/* The plans */
.tier-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-top:22px; align-items:stretch; }
@media (max-width:960px){ .tier-grid { grid-template-columns:1fr; max-width:520px; } }
.tier { position:relative; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:28px 26px; display:flex; flex-direction:column; }
.tier.featured { border:2px solid var(--blue); }
.tier .job { font-size:14px; font-weight:700; color:var(--forest); }
.tier.t3 .job { color:var(--blue); }
.tier.t4 .job { color:#7A5C00; }
.tier h3 { font-size:26px; margin-top:6px; }
.tier .who { font-size:15px; color:var(--ink2); margin-top:6px; min-height:4.6em; }
.tier .amt { margin-top:16px; font-size:46px; font-weight:800; letter-spacing:-0.035em; line-height:1; }
.tier .per { font-size:14.5px; color:var(--ink3); margin-top:6px; }
.tier .founding-price { font-size:14.5px; color:var(--ink2); margin-top:12px; padding:9px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.tier ul { list-style:none; margin:16px 0 24px; font-size:15px; color:var(--ink2); flex:1; }
.tier li { padding:6px 0 6px 18px; position:relative; }
.tier li::before { content:''; position:absolute; left:0; top:.95em; width:7px; height:7px; border-radius:1.5px; background:var(--forest); }
.tier.t3 li::before { background:var(--blue); }
.tier li.inherit { font-weight:700; color:var(--ink); }
.tier .btn { width:100%; }
.tier .flag { position:absolute; top:-12px; right:18px; font-size:12.5px; font-weight:700; background:var(--blue); color:#fff; border-radius:5px; padding:3px 9px; }
.vat-note { font-size:15px; color:var(--ink3); margin-top:22px; }
.rule-note { margin-top:26px; max-width:76ch; color:var(--ink2); font-size:16px; padding-top:18px; border-top:1px solid var(--rule); }
.rule-note b { color:var(--ink); }
.free-row a.more { color:var(--ink); text-underline-offset:3px; }

/* Comparison table */
.cmp-wrap { margin-top:34px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cmp { width:100%; min-width:620px; border-collapse:collapse; font-size:15px; }
.cmp thead th { text-align:left; font-size:14px; font-weight:700; color:var(--ink); padding:12px 12px 12px 0; border-bottom:2px solid var(--ink); }
.cmp thead th + th { text-align:center; }
.cmp tbody th { text-align:left; font-weight:500; color:var(--ink); padding:11px 12px 11px 0; border-top:1px solid var(--line); }
.cmp td { text-align:center; padding:11px 8px; border-top:1px solid var(--line); color:var(--ink2); }
.cmp td.yes { color:var(--forest); font-weight:700; }
.cmp td.no { color:#B5AFA0; }
.cmp tr.group th { padding:26px 0 8px; border-top:none; font-weight:800; font-size:15px; color:var(--ink); }

/* PlanIt EPOS (the standalone product) */
.epos-band { background:var(--blue-tint); border-top:1px solid var(--line); }
.epos-band .kicker { color:var(--blue); }
.epos-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-top:34px; }
@media (max-width:960px){ .epos-grid { grid-template-columns:1fr; max-width:520px; } }
.epos-card { background:var(--paper); border:1px solid #D5E1EB; border-radius:10px; padding:24px; display:flex; flex-direction:column; }
.epos-card h3 { font-size:20px; }
.epos-card .amt { font-size:38px; font-weight:800; letter-spacing:-0.035em; margin-top:12px; line-height:1; }
.epos-card .amt small { font-size:15px; font-weight:500; color:var(--ink3); letter-spacing:0; }
.epos-card .per { font-size:14px; color:var(--ink3); margin-top:6px; }
.epos-card ul { list-style:none; margin:14px 0 22px; font-size:15px; color:var(--ink2); flex:1; }
.epos-card li { padding:6px 0; border-top:1px solid var(--line); }
.epos-card .btn { width:100%; }

/* Add-ons */
.addon-wrap { margin-top:30px; overflow-x:auto; }
.addon { width:100%; border-collapse:collapse; font-size:15.5px; min-width:560px; }
.addon th, .addon td { text-align:left; vertical-align:top; padding:15px 16px 15px 0; border-top:1px solid var(--rule); }
.addon tr:last-child th, .addon tr:last-child td { border-bottom:1px solid var(--rule); }
.addon th { font-weight:700; width:30%; }
.addon .price { font-weight:700; white-space:nowrap; width:20%; }
.addon .note { color:var(--ink2); }

/* The pledge (the one dark band) */
.pledge { background:var(--deep); color:#fff; border-top:none; }
.pledge .kicker { color:var(--gold); }
.pledge h2 { color:#fff; }
.pledge .sub { color:rgba(255,255,255,.82); }
.pledge-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:36px; }
@media (max-width:760px){ .pledge-grid { grid-template-columns:1fr; } }
.pledge-item { padding:20px 0; border-top:1px solid rgba(255,255,255,.18); }
.pledge-item h3 { font-size:18px; color:#fff; }
.pledge-item p { color:rgba(255,255,255,.78); margin-top:6px; font-size:15.5px; }

/* What you get whatever you pay */
.commit-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:36px; }
@media (max-width:760px){ .commit-grid { grid-template-columns:1fr; } }
.commit { padding:20px 0; border-top:1px solid var(--rule); }
.commit h3 { font-size:18px; }
.commit p { color:var(--ink2); margin-top:6px; font-size:15.5px; }

.final .small { grid-column:1 / -1; font-size:14.5px; color:rgba(255,255,255,.75); }

/* ── Articles, guides and legal pages (#220) ── */
.btn-gold { background:var(--gold); color:var(--ink); }
.btn-gold:hover { background:#E0A800; }
.post { max-width:740px; margin:0 auto; padding:72px 24px 80px; }
@media (max-width:600px){ .post { padding:48px 16px 64px; } }
.post h1 { font-size:clamp(34px,4.6vw,52px); letter-spacing:-0.035em; line-height:1.05; max-width:none; }
.post .meta { color:var(--ink3); font-size:15px; margin-top:14px; padding-bottom:28px; border-bottom:1px solid var(--rule); margin-bottom:32px; }
.post h2 { font-size:clamp(24px,2.6vw,30px); letter-spacing:-0.025em; line-height:1.15; max-width:none; margin:48px 0 14px; }
.post h3 { font-size:19px; letter-spacing:-0.012em; margin:32px 0 8px; }
.post p, .post li { font-size:17.5px; line-height:1.7; color:#2E2C27; }
.post p { margin-bottom:18px; }
.post ul, .post ol { margin:0 0 20px 22px; }
.post li { margin-bottom:8px; }
.post a { color:var(--forest); font-weight:600; text-underline-offset:3px; }
.post strong { color:var(--ink); }
.post table { width:100%; border-collapse:collapse; margin:22px 0 28px; font-size:15.5px; }
.post th { text-align:left; font-weight:700; padding:10px 14px 10px 0; border-bottom:2px solid var(--ink); }
.post td { padding:11px 14px 11px 0; border-bottom:1px solid var(--rule); vertical-align:top; color:#2E2C27; }
.post .table-wrap { overflow-x:auto; }
.post .callout { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:20px 22px; margin:28px 0; }
.post .callout p { margin:0; }
.post .callout p + p { margin-top:10px; }
.post .tool-band { background:var(--forest); border-radius:10px; padding:30px 30px 32px; color:#fff; margin:44px 0; }
.post .tool-band h3 { color:#fff; margin:0 0 8px; font-size:21px; }
.post .tool-band p { color:rgba(255,255,255,.86); margin-bottom:20px; }
.post .tool-band a.btn { color:var(--ink); }
.post figure { margin:28px 0; }
.post figure img { border:1px solid rgba(26,25,22,.14); border-radius:8px; }
.post figcaption { font-size:14.5px; color:var(--ink3); margin-top:10px; }
.post blockquote { border-top:3px solid var(--ink); padding-top:14px; margin:28px 0; font-size:20px; font-weight:700; letter-spacing:-0.015em; }
.post hr { border:0; border-top:1px solid var(--rule); margin:36px 0; }
.post .post-foot { margin-top:48px; padding-top:24px; border-top:1px solid var(--rule); }
/* Legal pages: long reading, numbered clauses, quiet chrome. */
.legal p, .legal li { font-size:16.5px; }
.legal h2 { font-size:24px; }

/* Article components the trade guides use. */
:root { --green-900:#143517; --green-700:#1D4A20; --green-500:#2E6B3A; --gold-soft:#FCF3D6; --ink-soft:#57534A; --white:#fff; }
.post .standfirst { font-size:20px; color:var(--ink2); line-height:1.6; }
.post .answer-box { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:20px 22px; margin:0 0 32px; }
.post .answer-box p { margin:0; }
.post .disclosure { padding:14px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin:0 0 30px; }
.post .disclosure p { margin:0; font-size:15.5px; color:var(--ink2); }
.post .stage { border-top:1px solid var(--rule); padding-top:12px; margin-top:48px; }
.post .stage h2 { margin-top:4px; }
.post .stage-tag, .post .chapter { display:block; font-size:15px; font-weight:700; color:var(--forest); letter-spacing:-0.005em; }
.post .ask { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:16px 20px; margin:18px 0 8px; }
.post .ask p { margin:0; font-size:16px; }
.post .checklist { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:24px 26px; margin:28px 0; }
.post .checklist h3 { margin-top:0; }
.post .formula { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:22px 24px; margin:22px 0 26px; font-size:18px; text-align:center; line-height:1.6; }
.post .formula strong { display:block; font-size:14px; color:var(--ink3); margin-bottom:8px; }
.post .pull { font-size:23px; line-height:1.4; font-weight:700; letter-spacing:-0.015em; border-top:3px solid var(--ink); padding-top:16px; margin:36px 0; color:var(--ink); }
.post .stair-svg { width:100%; height:auto; display:block; background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:18px; margin:24px 0; }
.post .table-scroll { overflow-x:auto; margin:20px 0 26px; }
.post .table-scroll table { margin:0; }
.post table.matrix { min-width:560px; font-size:14.5px; }
.post table.matrix th, .post table.matrix td { padding:9px 10px 9px 0; }

/* Guides library (#220) */
.lib-hero { padding:76px 0 8px; }
.lib-hero h1 { font-size:clamp(38px,5.4vw,64px); letter-spacing:-0.04em; line-height:1.02; max-width:16ch; }
.topic { display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:14px 56px; padding:36px 0; border-top:1px solid var(--rule); }
.topic:first-of-type { margin-top:48px; }
@media (max-width:860px){ .topic { grid-template-columns:1fr; } }
.topic-head h2 { font-size:24px; max-width:none; letter-spacing:-0.02em; }
.topic-head .sub { display:block; color:var(--ink3); font-size:15px; margin-top:6px; line-height:1.45; }
.topic-head .lede { color:var(--ink2); font-size:15.5px; margin-top:12px; line-height:1.5; }
.guide-list { list-style:none; }
.guide { display:block; padding:16px 0 18px; border-top:1px solid var(--line); text-decoration:none; color:inherit; }
.guide-list .guide:first-child { border-top:none; padding-top:0; }
.guide h3 { font-size:20px; letter-spacing:-0.015em; line-height:1.25; }
.guide:hover h3 { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:2px; }
.guide p { color:var(--ink2); margin-top:6px; font-size:16px; line-height:1.55; max-width:68ch; }
.guide .meta { font-size:14px; color:var(--ink3); margin-top:8px; }
.coming { margin-top:14px; font-size:15px; color:var(--ink3); }
.coming b { color:var(--ink2); }

/* Ruled three-up points (#220) */
.points { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0 40px; margin-top:40px; }
@media (max-width:860px){ .points { grid-template-columns:1fr; } }
.points > div { padding:20px 0; border-top:1px solid var(--rule); }
.points h3 { font-size:19px; }
.points p { color:var(--ink2); margin-top:8px; font-size:16px; }
.points .n { display:block; font-size:15px; font-weight:800; color:var(--forest); margin-bottom:6px; }
.hero-split { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px 64px; align-items:center; }
@media (max-width:900px){ .hero-split { grid-template-columns:1fr; } }
.hero-split .shot { max-width:360px; justify-self:center; }

/* The waste calculator (roll-cut-optimiser) */
.calc { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:36px; }
@media (max-width:600px){ .calc { padding:22px 16px; } }
.calc h2 { font-size:clamp(26px,3vw,34px); max-width:none; }
.calc > p { color:var(--ink2); margin-top:12px; max-width:68ch; }
.calc-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; margin-top:28px; align-items:start; }
@media (max-width:860px){ .calc-grid { grid-template-columns:1fr; } }
.calc label { display:block; font-size:14px; font-weight:700; margin-bottom:6px; }
.calc select, .calc input { width:100%; font:inherit; font-size:15.5px; padding:11px 12px; border:1px solid var(--rule); border-radius:8px; background:var(--cream); color:var(--ink); min-height:44px; }
.rooms-list { margin-top:16px; display:grid; gap:10px; }
.room-row { display:grid; grid-template-columns:1.4fr 1fr 1fr 44px; gap:8px; }
.room-row button { font:inherit; border:1px solid var(--rule); background:var(--paper); border-radius:8px; cursor:pointer; color:var(--ink3); min-height:44px; }
.room-row button:hover { border-color:var(--ink); color:var(--ink); }
@media (max-width:480px){ .room-row { grid-template-columns:1fr 1fr 44px; } .room-row input[type=text] { grid-column:1 / -1; } }
.calc-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.calc-result { background:var(--cream); border:1px solid var(--line); border-radius:10px; padding:22px; }
.calc-result h3 { font-size:19px; margin-bottom:10px; }
.calc-result .calc-muted { color:var(--ink3); font-size:15.5px; }
.result-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); font-size:15.5px; }
.result-row strong { text-align:right; }
.result-row .saving { font-weight:800; color:var(--forest); }
.calc-result .calc-money { color:var(--forest); }
.calc-note { font-size:14.5px; color:var(--ink3); margin-top:20px; max-width:80ch; }

/* Our story (#220) */
.story-hero { padding:76px 0 8px; }
.story-hero h1 { font-size:clamp(38px,5.4vw,64px); letter-spacing:-0.04em; line-height:1.04; max-width:18ch; }
.story-hero h1 em { display:block; font-style:normal; color:var(--forest); }
.story-lede { font-size:clamp(19px,1.8vw,22px); color:var(--ink2); max-width:56ch; margin-top:22px; line-height:1.5; }
.story-grid { display:grid; grid-template-columns:200px minmax(0,700px); gap:32px 64px; padding:52px 0 88px; border-top:1px solid var(--rule); margin-top:48px; }
.story-rail { position:sticky; top:96px; align-self:start; }
.rail-mark { padding:12px 0; border-top:1px solid var(--rule); }
.rail-mark:first-child { border-top:none; padding-top:0; }
.rail-when { display:block; font-weight:800; font-size:14px; color:var(--forest); }
.rail-what { display:block; font-size:14.5px; color:var(--ink2); margin-top:2px; line-height:1.4; }
.rail-mark.now .rail-when { color:var(--blue); }
.story-prose p { font-size:19px; line-height:1.65; color:#2E2C27; margin-bottom:18px; }
.story-prose h2 { font-size:28px; max-width:none; margin:44px 0 14px; letter-spacing:-0.025em; }
.story-prose a { color:var(--forest); font-weight:600; text-underline-offset:3px; }
.story-prose .story-quote { font-size:24px; font-weight:700; letter-spacing:-0.015em; line-height:1.35; color:var(--ink); border-top:3px solid var(--ink); padding-top:16px; margin:32px 0; }
.story-note { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:22px 24px; margin:28px 0; }
.story-note h3 { font-size:18px; margin-bottom:8px; }
.story-prose .story-note p { font-size:16.5px; margin:0; line-height:1.6; }
.story-sign { margin-top:36px; padding-top:20px; border-top:1px solid var(--rule); display:flex; gap:20px; align-items:flex-start; }
.story-sign .nm { font-weight:800; font-size:22px; }
.story-sign .rl { color:var(--ink3); font-size:15px; margin-top:4px; line-height:1.5; }
.story-sign .founder-photo { width:96px; margin:0; flex:none; }
@media (max-width:860px){ .story-grid { grid-template-columns:1fr; } .story-rail { position:static; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; } .rail-mark:first-child { border-top:1px solid var(--rule); padding-top:12px; } }

/* Founding Members (#220) */
.stat-line { display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-top:30px; padding:16px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); max-width:760px; }
.stat-line .num { font-size:56px; font-weight:800; letter-spacing:-0.04em; line-height:1; color:var(--forest); }
.stat-line .lab { font-size:17px; color:var(--ink2); }
.stat-line .lab b { color:var(--ink); }
.points .when { display:block; margin-top:12px; font-size:14.5px; font-weight:700; color:var(--forest); }
.points .big { display:block; font-size:48px; font-weight:800; letter-spacing:-0.04em; line-height:1; color:var(--forest); margin-bottom:8px; }
.value-strip { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px; max-width:900px; }
@media (max-width:700px){ .value-strip { grid-template-columns:1fr; } }
.value-strip .vs { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:24px 26px; }
.value-strip .plan-name { font-weight:800; font-size:20px; }
.value-strip .was { color:var(--ink3); text-decoration:line-through; font-size:15px; margin-top:8px; }
.value-strip .now { font-size:40px; font-weight:800; letter-spacing:-0.035em; line-height:1.1; margin-top:2px; }
.value-strip .now small { font-size:15px; font-weight:500; color:var(--ink3); letter-spacing:0; }
.value-strip p { color:var(--ink2); font-size:15.5px; margin-top:10px; }
.compare tr.excl th { color:var(--ink2); }
.letter-sec { padding:88px 0; border-top:1px solid var(--line); background:var(--paper); }
.letter-sec .letter { max-width:720px; }
.letter-sec .sig { margin-top:24px; font-size:16px; color:var(--ink3); }
.letter-sec .sig a { color:var(--forest); }

/* Book a demo + the demo player (#220) */
.cal-shell { background:var(--paper); border:1px solid var(--line); border-radius:12px; min-height:640px; overflow:hidden; margin-top:36px; }
.cal-fallback { font-size:15px; color:var(--ink3); margin-top:14px; }
.cal-fallback a { color:var(--forest); text-underline-offset:3px; }
.trade-line { margin-top:36px; padding-top:18px; border-top:1px solid var(--rule); color:var(--ink2); font-size:16px; }
.pick { display:inline-flex; border:1.5px solid var(--rule); border-radius:8px; padding:3px; background:var(--paper); margin-top:26px; }
.pick button { font:inherit; font-size:15.5px; font-weight:700; border:0; background:transparent; color:var(--ink2); padding:10px 18px; border-radius:6px; cursor:pointer; min-height:44px; }
.pick button[aria-selected="true"] { background:var(--forest); color:#fff; }
.player { margin-top:32px; border-radius:10px; overflow:hidden; border:1px solid rgba(26,25,22,.14); background:#111; aspect-ratio:16/9; max-width:1000px; }
.player video { width:100%; height:100%; display:block; background:#111; }
.player-cap { font-size:14.5px; color:var(--ink3); margin-top:12px; }
.after { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }

/* Legal documents (#220): the wording is untouched; only the reading layout. */
.legal .doc-head { padding-bottom:22px; border-bottom:1px solid var(--rule); margin-bottom:28px; }
.legal .doc-meta { color:var(--ink3); font-size:15px; margin-top:10px; }
.legal .intro { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:18px 22px; margin-bottom:28px; }
.legal .intro p { margin:0; }
.legal .clause { display:inline-block; min-width:2.6em; font-weight:700; color:var(--ink3); font-variant-numeric:tabular-nums; }
.legal .tbc { background:#FDF1C7; padding:0 4px; border-radius:3px; }
.legal td:first-child { font-weight:600; }
