:root { --cream:#f5f1e8; --paper:#fffdf9; --ink:#1b2824; --green:#194e43; --coral:#d36f55; --muted:#66716c; --line:#d9d7ce; }
* { box-sizing:border-box; }
html { color-scheme:light; scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.7 "DM Sans",Arial,sans-serif; }
a { color:var(--green); }
.topbar { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px max(20px,calc((100vw - 1040px)/2)); border-bottom:1px solid var(--line); background:#fffdf9e8; }
.brand { color:var(--ink); font:700 20px/1 "DM Sans",Arial,sans-serif; text-decoration:none; }
.topbar nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 18px; }
.topbar nav a { font-size:13px; font-weight:700; text-decoration:none; }
.hero { padding:76px max(20px,calc((100vw - 920px)/2)) 58px; color:#fff; background:var(--green); }
.hero .eyebrow { color:#bdd0c8; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hero h1 { max-width:820px; margin:12px 0 14px; font:600 clamp(42px,7vw,76px)/1.04 Georgia,serif; }
.hero p { max-width:720px; margin:0; color:#e2ebe7; font-size:18px; }
.content { width:min(920px,calc(100% - 40px)); margin:42px auto 70px; }
.review-note { margin-bottom:24px; padding:15px 18px; border:1px solid #d9aa78; border-radius:14px; color:#724928; background:#fff4e7; font-size:14px; }
.content section { margin-bottom:18px; padding:28px 32px; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.content h2 { margin:0 0 10px; font:600 28px/1.2 Georgia,serif; }
.content h3 { margin:20px 0 6px; }
.content p,.content ul { margin:8px 0; }
.content li+li { margin-top:6px; }
.plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.plan { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.plan.featured { border:2px solid var(--green); background:#eef5f1; }
.plan h2 { font:700 18px/1.2 "DM Sans",Arial,sans-serif; }
.plan strong { display:block; margin:12px 0 5px; font:600 38px/1 Georgia,serif; }
.plan small { color:var(--muted); }
.cta { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:10px 20px; border-radius:999px; color:#fff; background:var(--green); font-weight:700; text-decoration:none; }
.legal-footer { position:relative; overflow:hidden; padding:72px max(20px,calc((100vw - 1040px)/2)) 0; color:#f7f3ea; background:#123d35; }
.legal-footer:before { content:""; position:absolute; width:480px; height:480px; right:-250px; top:-300px; border:1px solid #8bb3a633; border-radius:50%; }
.footer-main { position:relative; display:grid; grid-template-columns:minmax(280px,1.5fr) minmax(210px,.85fr) minmax(220px,.8fr); gap:clamp(40px,6vw,82px); max-width:1040px; margin:0 auto; padding-bottom:64px; }
.footer-logo { display:inline-flex; align-items:center; gap:11px; color:#fffdf8; font:500 29px/1 Georgia,serif; letter-spacing:-.04em; text-decoration:none; }
.footer-mark { position:relative; display:inline-flex; width:28px; height:27px; gap:2px; }
.footer-mark i { display:block; width:13px; height:23px; border-radius:2px 7px 7px 2px; background:#d99368; transform:skewY(7deg); }
.footer-mark i:last-child { border-radius:7px 2px 2px 7px; transform:skewY(-7deg); }
.footer-brand p { max-width:390px; margin:25px 0 10px; font:500 clamp(25px,2.4vw,35px)/1.14 Georgia,serif; letter-spacing:-.03em; }
.footer-promise { display:block; max-width:410px; color:#abc2ba; font-size:13px; line-height:1.65; }
.footer-heading { display:block; margin:5px 0 22px; color:#8fb0a5; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.footer-links,.footer-support { display:flex; flex-direction:column; }
.footer-links a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid #ffffff17; color:#edf4f0; font-size:13px; line-height:1.35; text-decoration:none; transition:color .18s,border-color .18s; }
.footer-links a:first-of-type { padding-top:0; }
.footer-links a:hover { border-color:#d9936870; color:#f3b58e; }
.footer-links a i { color:#d99368; font-style:normal; font-size:14px; }
.footer-support { align-items:flex-start; }
.footer-contact { margin-bottom:10px; color:#fffdf8; font:18px/1.4 Georgia,serif; text-decoration:none; transition:color .18s; }
.footer-contact:hover { color:#f3b58e; }
.footer-hours { margin-top:18px; padding:13px 16px; border:1px solid #ffffff18; border-radius:13px; color:#abc2ba; background:#ffffff08; font-size:11px; line-height:1.55; }
.footer-hours i { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#7fc6a7; box-shadow:0 0 0 4px #7fc6a714; }
.footer-bottom { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:25px; max-width:1040px; margin:0 auto; padding:23px 0 25px; border-top:1px solid #ffffff1c; color:#85a49a; font-size:10px; line-height:1.5; }
.footer-bottom span:nth-child(2) { text-align:center; }
@media (max-width:700px) {
  .topbar { align-items:flex-start; flex-direction:column; }
  .topbar nav { justify-content:flex-start; }
  .hero { padding-top:52px; }
  .hero p { font-size:16px; }
  .content { width:min(100% - 24px,920px); margin-top:24px; }
  .content section { padding:23px 20px; }
  .plans { grid-template-columns:1fr; }
  .plan { padding:21px; }
  .legal-footer { padding:52px 20px 45px; }
  .footer-main { grid-template-columns:1fr; gap:42px; padding-bottom:42px; }
  .footer-brand p { max-width:320px; font-size:29px; }
  .footer-promise { max-width:340px; }
  .footer-heading { margin-bottom:17px; }
  .footer-links a { min-height:44px; padding:11px 0; }
  .footer-contact { font-size:17px; }
  .footer-bottom { grid-template-columns:1fr; gap:8px; padding:22px 0 0; }
  .footer-bottom span:nth-child(2) { max-width:330px; text-align:left; }
}
@media (max-width:390px) {
  .topbar { padding:12px 15px; }
  .topbar nav { gap:6px 12px; }
  .hero { padding:42px 16px; }
  .hero h1 { font-size:42px; }
  .content { width:calc(100% - 20px); }
  .content section { padding:21px 17px; border-radius:16px; }
  .content h2 { font-size:25px; }
  .legal-footer { padding-right:16px; padding-left:16px; }
}
