:root{
  --paper:#ede8dc; --paper-2:#ddd6c4; --panel:#e6e0d1;
  --ink:#122a33; --ink-deep:#0d2b33; --slate:#4d6a72;
  --sea-deep:#0b4586; --teal:#0d7f8c; --turquoise:#17a3b0; --crest:#56cfd8;
  --warm:#505d46; --gold:#caab81; --gold-deep:#755c31; --white-water:#e5f2fa;
  --rule:rgba(18,42,51,.16); --rule-strong:rgba(18,42,51,.32);
  --disp:'Bricolage Grotesque',sans-serif; --body:'Inter',system-ui,sans-serif; --mono:'Spline Sans Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:#cfc9ba;font-family:var(--body);color:var(--ink);line-height:1.5}

/* ---- A4 page ---- */
.page{position:relative;width:794px;height:1123px;margin:26px auto;padding:64px 66px 54px;
  background:var(--paper);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);
  display:flex;flex-direction:column}
.page::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 82% 8%, rgba(255,255,255,.5), transparent 60%)}

/* ---- header ---- */
.head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--rule)}
.wm{font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--ink)}
.wm .dot{color:var(--warm)}
.head .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--slate);text-align:right;line-height:1.7;text-transform:uppercase}

/* ---- kicker ---- */
.kick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--warm);display:flex;align-items:center;gap:12px}
.kick::before{content:"";width:24px;height:1.5px;background:var(--warm);display:inline-block}

/* ---- headline ---- */
h1.big{font-family:var(--disp);font-weight:600;font-size:68px;line-height:.98;letter-spacing:-.025em;color:var(--ink)}
h2.hl{font-family:var(--disp);font-weight:600;font-size:46px;line-height:1.02;letter-spacing:-.02em;color:var(--ink)}
h2.hl.sm{font-size:40px}
.em-blue{color:var(--sea-deep);font-style:italic}
.em-teal{color:var(--teal);font-style:italic}
.em-gold{color:var(--gold-deep);font-style:italic}

p.lede{font-size:15px;line-height:1.6;color:var(--ink);max-width:52ch}
p.body{font-size:13.5px;line-height:1.65;color:var(--ink);max-width:46ch}
.muted{color:var(--slate)}

/* ---- footer ---- */
.foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--slate);text-transform:uppercase}

.squig{color:var(--turquoise)}

/* ---- pills ---- */
.pills{display:flex;flex-wrap:wrap;gap:9px}
.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--rule-strong);border-radius:40px;padding:7px 14px;color:var(--ink)}
.pill.solid{background:var(--warm);color:#ede8dc;border-color:var(--warm)}

/* ---- stat callouts ---- */
.stats{display:flex;gap:44px;flex-wrap:wrap}
.stat .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.stat .num{font-family:var(--disp);font-weight:600;font-size:30px;line-height:1;letter-spacing:-.01em;color:var(--ink)}
.stat .num .accent{color:var(--sea-deep)}
.stat .sub{font-size:11.5px;color:var(--slate);margin-top:7px;max-width:20ch;line-height:1.4}

/* ---- package cards ---- */
.cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:6px}
.cards.two{grid-template-columns:1fr 1fr;gap:20px}
.card{border:1px solid var(--rule-strong);border-radius:12px;padding:22px 20px 20px;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent)}
.card.feature{border-color:var(--warm);box-shadow:0 0 0 1px var(--warm)}
.card .tag{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin-bottom:12px;min-height:12px}
.card h3{font-family:var(--disp);font-weight:600;font-size:24px;letter-spacing:-.01em;margin-bottom:6px}
.card .desc{font-size:12px;color:var(--slate);line-height:1.5;min-height:54px;margin-bottom:14px}
.card .price{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--ink);border-top:1px solid var(--rule);padding-top:13px;margin-bottom:13px}
.card .price b{font-size:26px;color:var(--sea-deep);display:block;letter-spacing:-.01em}
.card .price .mo{color:var(--teal);font-size:13px}
.card ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.card li{font-size:11.5px;color:var(--ink);line-height:1.35;padding-left:17px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--turquoise);opacity:.5}

/* ---- addon grid ---- */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:8px}
.cell .ic{width:26px;height:26px;color:var(--sea-deep);margin-bottom:12px}
.cell h4{font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.01em;margin-bottom:5px;display:flex;align-items:baseline;gap:9px}
.cell .from{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--warm);font-weight:500}
.cell p{font-size:12px;color:var(--slate);line-height:1.5;max-width:34ch}

/* ---- why columns ---- */
.cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px}
.col .n{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--warm);text-transform:uppercase;margin-bottom:14px}
.col h4{font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.01em;margin-bottom:10px;line-height:1.1}
.col p{font-size:12px;color:var(--ink);line-height:1.55;margin-bottom:12px}
.col ul{list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--rule);padding-top:11px}
.col li{font-size:11.5px;color:var(--slate);line-height:1.35;padding-left:15px;position:relative}
.col li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;background:var(--warm);border-radius:50%}

/* ---- CTA panels ---- */
.cta-light{background:var(--panel);border-radius:14px;padding:21px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.cta-light .l .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--warm);text-transform:uppercase;margin-bottom:8px}
.cta-light .l h3{font-family:var(--disp);font-weight:600;font-size:26px;letter-spacing:-.015em}
.rows{min-width:255px}
.rows .row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding:8px 0;font-size:12.5px}
.rows .row .rk{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--slate);text-transform:uppercase;padding-top:2px}
.rows .row .rv{color:var(--ink);font-weight:500}

.cta-dark{background:var(--ink-deep);border-radius:14px;padding:24px 34px;color:var(--white-water);display:flex;justify-content:space-between;gap:30px}
.cta-dark h3{font-family:var(--disp);font-weight:600;font-size:34px;letter-spacing:-.02em;margin-bottom:12px;color:#fff}
.cta-dark h3 .em-crest{color:var(--crest);font-style:italic}
.cta-dark p{font-size:12.5px;line-height:1.6;color:#c8d6da;max-width:34ch}
.cta-dark .info{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;align-content:start;min-width:270px}
.cta-dark .info .k{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:#7fa2ab;text-transform:uppercase;margin-bottom:4px}
.cta-dark .info .v{font-size:12.5px;color:#e8f1f4;font-weight:500}
.ph{color:var(--gold)}

/* ---- one-line dark inset ---- */
.oneline{background:var(--ink-deep);border-radius:12px;padding:24px 22px}
.oneline .t{font-family:var(--disp);font-weight:600;font-style:italic;font-size:23px;line-height:1.2;color:#fff}
.oneline .t .cr{color:var(--crest)}

/* ---- before / after (client pamphlets) ---- */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;align-items:stretch}
.ba .panel{border:1px solid var(--rule-strong);border-radius:12px;padding:20px 20px 18px;display:flex;flex-direction:column}
.ba .panel.now{background:linear-gradient(180deg,rgba(117,92,49,.07),transparent)}
.ba .panel.next{border-color:var(--warm);box-shadow:0 0 0 1px var(--warm);background:linear-gradient(180deg,rgba(80,93,70,.09),transparent)}
.ba .plabel{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.ba .now .plabel{color:var(--gold-deep)}
.ba .next .plabel{color:var(--warm)}
.ba h5{font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.01em;margin-bottom:13px;color:var(--ink)}
.ba ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ba li{font-size:12px;color:var(--ink);line-height:1.4;padding-left:16px;position:relative}
.ba .now li{color:var(--slate)}
.ba .now li::before{content:"–";position:absolute;left:0;top:0;color:var(--gold-deep);font-weight:600}
.ba .next li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--turquoise);opacity:.6}

/* ---- recommended package strip (client) ---- */
.reco{border:1px solid var(--warm);box-shadow:0 0 0 1px var(--warm);border-radius:14px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:26px;background:linear-gradient(180deg,rgba(80,93,70,.08),transparent)}
.reco .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--warm);text-transform:uppercase;margin-bottom:8px}
.reco h3{font-family:var(--disp);font-weight:600;font-size:27px;letter-spacing:-.015em;margin-bottom:6px}
.reco .rp{font-size:12.5px;color:var(--slate);max-width:40ch;line-height:1.5}
.reco .price{text-align:right;min-width:170px}
.reco .price b{font-family:var(--disp);font-weight:600;font-size:34px;color:var(--sea-deep);display:block;letter-spacing:-.01em;line-height:1}
.reco .price .mo{font-family:var(--disp);color:var(--teal);font-size:15px;font-weight:600}
.reco .price .sub{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:8px}

.flex{display:flex}.between{justify-content:space-between}
.mt-a{margin-top:auto}
.sec-gap{margin-top:26px}.sec-gap-s{margin-top:18px}.sec-gap-l{margin-top:34px}
.hairline{height:1px;background:var(--rule);border:0}

@page{size:A4;margin:0}
@media print{body{background:#fff}.page{margin:0;box-shadow:none;page-break-after:always}.page:last-child{page-break-after:auto}.page::after{display:none}}
