:root{
  --color-primary: #0D9488;
  --color-primaryPressed: #0F766E;
  --color-onPrimary: #FFFFFF;
  --color-primaryTint: #D7F2EE;
  --color-background: #F5F7F7;
  --color-surface: #FFFFFF;
  --color-surfaceMuted: #EEF2F1;
  --color-surfaceHover: #E3ECEA;
  --color-border: #DDE5E3;
  --color-borderStrong: #B6C6C2;
  --color-textPrimary: #0F2A26;
  --color-textSecondary: #3C5A54;
  --color-textMuted: #8BA39D;
  --color-accent: #0E7490;
  --color-highlight: #22D3EE;
  --color-success: #16A34A;
  --color-warning: #F59E0B;
  --color-danger: #DC2626;
  --color-neutral: #8BA39D;
  --font-heading: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --radius-card: 12px; --radius-button: 8px; --radius-chip: 999px;
  --space-1: 8px; --space-2: 12px; --space-3: 16px; --space-4: 24px; --space-5: 32px;
  --motion-fast: 150ms;
}
@media (prefers-color-scheme: dark){:root{
  --color-primary: #2DD4BF;
  --color-primaryPressed: #0D9488;
  --color-onPrimary: #04201C;
  --color-primaryTint: #123A34;
  --color-background: #0B1F1C;
  --color-surface: #12302B;
  --color-surfaceMuted: #183A34;
  --color-surfaceHover: #1E453E;
  --color-border: #2D403D;
  --color-borderStrong: #3F5C57;
  --color-textPrimary: #EAFAF7;
  --color-textSecondary: #A9C4BF;
  --color-textMuted: #6F8A85;
  --color-accent: #06B6D4;
  --color-highlight: #22D3EE;
  --color-success: #16A34A;
  --color-warning: #F59E0B;
  --color-danger: #DC2626;
  --color-neutral: #6F8A85;
}}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--color-textPrimary);background:var(--color-background);line-height:1.5}
a{color:var(--color-accent)}
h1,h2,h3{font-family:var(--font-heading);line-height:1.2;margin:0 0 var(--space-2)}
h1{font-size:2.25rem}h2{font-size:1.5rem}h3{font-size:1.125rem}
.wrap{max-width:1040px;margin:0 auto;padding:0 var(--space-4)}
header.top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;gap:var(--space-3)}
header.top nav{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}
header.top nav a{color:var(--color-textPrimary);text-decoration:none;font-weight:600}
.brand{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--color-textPrimary)}
.hero{padding:var(--space-5) 0;display:grid;gap:var(--space-3)}
.hero p{font-size:1.125rem;color:var(--color-textSecondary);max-width:640px;margin:0}
.actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
.btn{display:inline-block;padding:12px 20px;border:1px solid var(--color-primary);border-radius:var(--radius-button);background:var(--color-primary);color:var(--color-onPrimary);text-decoration:none;font-weight:600;transition:background var(--motion-fast)}
.btn:hover{background:var(--color-primaryPressed)}
.btn.secondary{background:var(--color-surface);color:var(--color-textPrimary);border-color:var(--color-border)}
.btn.secondary:hover{background:var(--color-surfaceMuted)}
.btn[aria-disabled=true]{opacity:.5;pointer-events:none}
section{padding:var(--space-5) 0;border-top:1px solid var(--color-border)}
.grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-3);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.card p{margin:0;color:var(--color-textSecondary)}
ol.steps{padding-left:1.25rem;display:grid;gap:var(--space-1)}
.price{font-size:3rem;font-family:var(--font-heading);font-weight:700}
.price small{font-size:1rem;color:var(--color-textSecondary);font-weight:400;margin-left:var(--space-1)}
ul.includes{padding-left:1.25rem;color:var(--color-textSecondary)}
.note{color:var(--color-textSecondary);font-size:.9375rem;margin:var(--space-1) 0 0}
footer{padding:var(--space-4) 0 var(--space-5);color:var(--color-textSecondary);font-size:.875rem;border-top:1px solid var(--color-border)}
.badge{display:inline-block;padding:2px 8px;border:1px solid var(--color-success);color:var(--color-success);border-radius:var(--radius-chip);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
