:root{
  --paper:#F6F7F6; --paper-raised:#FFFFFF; --ink:#14213D; --ink-soft:#5B6478;
  --line:#E2E5E4; --line-soft:#EDEFEE; --teal:#3D7C8C; --teal-deep:#2C5D69;
  --accent:#3D7C8C; --accent-deep:#2C5D69;
  --shadow-sm:0 1px 2px rgba(20,33,61,.04), 0 2px 6px -2px rgba(20,33,61,.06);
  --shadow-md:0 4px 12px -4px rgba(20,33,61,.07), 0 12px 30px -12px rgba(20,33,61,.10);
  --radius:14px; --radius-sm:9px;
}
*{box-sizing:border-box;}
body{ margin:0; color:var(--ink); font-family:'Work Sans',sans-serif; line-height:1.6; background:var(--paper); }
.wrap{ max-width:760px; margin:0 auto; padding:0 24px; }
h1,h2,h3{ font-family:'Fraunces',Georgia,serif; font-weight:600; line-height:1.2; margin:0 0 12px; }
h1{ font-size:1.9rem; } h2{ font-size:1.3rem; margin-top:34px; }
p{ margin:0 0 14px; color:var(--ink-soft); }
a{ color:var(--teal); }
header{ background:rgba(251,252,251,.9); border-bottom:1px solid var(--line); padding:16px 0; position:sticky; top:0; }
.headerbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.logo{ display:flex; align-items:center; gap:6px; text-decoration:none; font-family:'Fraunces',serif; font-weight:600; font-size:1.1rem; color:var(--ink); }
nav.crumbs a{ font-size:.85rem; color:var(--ink-soft); text-decoration:none; margin-left:14px; }
nav.crumbs a:hover{ color:var(--teal); }
.hero{ padding:36px 0 8px; }
.eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; }
.tp-row{ display:flex; align-items:center; gap:8px; margin:14px 0 24px; font-size:.95rem; }
.star{ width:19px; height:19px; color:#1DA35C; }
.star.empty{ color:var(--line); }
.star path{ fill:currentColor; }
.star.empty path{ fill:none; stroke:var(--line); stroke-width:1; }
.tp-num{ font-family:'IBM Plex Mono',monospace; font-weight:700; }
.card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:22px 24px; margin-bottom:20px; }
.price-list{ display:flex; flex-direction:column; gap:10px; }
.price-row{ display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; border-bottom:1px solid var(--line-soft); gap:12px; }
.price-row:last-child{ border-bottom:none; padding-bottom:0; }
.price-row .cat{ font-weight:600; font-size:.88rem; }
.price-row .price{ font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--teal); text-align:right; }
ul.plain{ list-style:none; padding:0; margin:0; }
ul.plain li{ padding:8px 0 8px 22px; position:relative; border-bottom:1px solid var(--line-soft); font-size:.92rem; }
ul.plain li:last-child{ border-bottom:none; }
ul.plain li::before{ content:"→"; position:absolute; left:0; color:var(--teal); font-weight:600; }
details{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:10px; box-shadow:var(--shadow-sm); }
summary{ padding:16px 18px; cursor:pointer; font-weight:600; font-size:.94rem; list-style:none; }
summary::-webkit-details-marker{ display:none; }
summary::before{ content:"+ "; color:var(--teal); font-weight:700; }
details[open] summary::before{ content:"− "; }
details p{ margin:0; padding:0 18px 16px 34px; font-size:.9rem; }
.cta{ display:inline-block; background:linear-gradient(135deg,var(--accent),var(--accent-deep)); color:#fff !important; text-decoration:none; padding:14px 28px; border-radius:999px; font-weight:600; font-size:.95rem; margin:6px 8px 6px 0; }
.cta.secondary{ background:none; border:1.5px solid var(--line); color:var(--ink) !important; }
.regulation-box{ background:#F0F5F4; border-left:4px solid var(--teal); border-radius:8px; padding:14px 16px; font-size:.86rem; margin:16px 0; }
footer{ border-top:1px solid var(--line); margin-top:50px; padding:28px 0 40px; font-size:.8rem; color:var(--ink-soft); }
footer a{ color:var(--ink-soft); }
.disclaimer{ font-size:.78rem; color:var(--ink-soft); background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px 16px; margin-top:30px; }
