:root,[data-theme="light"]{--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;--color-surface-offset:#f3f0ec;--color-divider:#dcd9d5;--color-border:#d4d1ca;--color-text:#28251d;--color-text-muted:#686660;--color-text-faint:#9d9b95;--color-text-inverse:#f9f8f4;--color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-highlight:#cedcd8;--color-success:#437a22;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 12px 32px rgba(0,0,0,.12);--font-display:'Cabinet Grotesk','Inter',sans-serif;--font-body:'General Sans','Inter',sans-serif;--content-default:1120px}
[data-theme="dark"]{--color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;--color-surface-offset:#1d1c1a;--color-divider:#262523;--color-border:#393836;--color-text:#e1dfdb;--color-text-muted:#adaaa4;--color-text-faint:#807d78;--color-text-inverse:#2b2a28;--color-primary:#4f98a3;--color-primary-hover:#61a7b1;--color-primary-highlight:#313b3b;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.3);--shadow-lg:0 12px 32px rgba(0,0,0,.4)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body,sans-serif);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .18s ease,background .18s ease}
h1,h2,h3,h4{text-wrap:balance;line-height:1.1;font-family:var(--font-display,sans-serif)}
p,li{text-wrap:pretty;color:var(--color-text-muted)}
::selection{background:color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--color-text)}
.container{width:min(100% - 2rem,var(--content-default));margin-inline:auto}
.section{padding-block:clamp(var(--space-12),8vw,var(--space-24))}
/* Eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .8rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.section-header{display:grid;gap:var(--space-4);margin-bottom:var(--space-10);max-width:48rem}
.section-header h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em;color:var(--color-text)}
.section-header p{color:var(--color-text-muted)}
/* Header */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem;gap:var(--space-4)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none;font-weight:700;letter-spacing:-.03em}
.brand-mark{width:2rem;height:2rem;color:var(--color-primary);flex:none}
.brand-text{font-family:var(--font-display,sans-serif);font-size:1.15rem}
.nav{display:none;align-items:center;gap:var(--space-6)}
.nav a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500}
.nav a:hover,.nav a:focus-visible{color:var(--color-text)}
.nav a.active{color:var(--color-primary);font-weight:700}
.header-actions{display:inline-flex;align-items:center;gap:var(--space-3)}
.theme-toggle{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted)}
.theme-toggle:hover{background:var(--color-surface-2);color:var(--color-text)}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.85rem 1.15rem;border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-sm);font-weight:700;border:1px solid transparent;white-space:nowrap;transition:all .18s ease;cursor:pointer}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:color-mix(in srgb,var(--color-text) 12%,transparent)}
.btn-secondary:hover{background:var(--color-surface-2);transform:translateY(-1px)}
/* Cards */
.card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.card h3{font-size:var(--text-lg);margin-bottom:var(--space-2);font-weight:700;letter-spacing:-.03em;color:var(--color-text)}
.card p{color:var(--color-text-muted)}
.card ul{list-style:none;display:grid;gap:var(--space-2);margin-top:var(--space-4)}
.card li::before{content:"— ";color:var(--color-primary)}
/* Grids */
.grid-2,.grid-3{display:grid;gap:var(--space-4)}
/* CTA panel */
.cta-panel{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 8%,var(--color-surface)),var(--color-surface));border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:calc(var(--radius-xl) + .25rem);padding:clamp(var(--space-6),4vw,var(--space-10));box-shadow:var(--shadow-lg);text-align:center}
.cta-panel h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.04em;color:var(--color-text);margin-bottom:var(--space-4)}
.cta-panel p{color:var(--color-text-muted);max-width:56ch;margin-inline:auto;margin-bottom:var(--space-6)}
/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);padding-block:var(--space-4)}
.breadcrumb a{color:var(--color-text-muted)}
.breadcrumb a:hover{color:var(--color-primary)}
.breadcrumb-sep{color:var(--color-text-faint)}
/* Hero (sub-page) */
.page-hero{padding-block:clamp(var(--space-10),6vw,var(--space-20));border-bottom:1px solid var(--color-divider)}
.page-hero .eyebrow{margin-bottom:var(--space-4)}
.page-hero h1{font-size:var(--text-2xl);font-weight:800;letter-spacing:-.05em;color:var(--color-text);margin-bottom:var(--space-4);max-width:16ch}
.page-hero p{font-size:var(--text-lg);color:var(--color-text-muted);max-width:60ch;margin-bottom:var(--space-6)}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
/* Features */
.feature-item{display:grid;gap:var(--space-2)}
.feature-item h3{color:var(--color-text)}
/* Comparison table */
.comparison{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);background:var(--color-surface);box-shadow:var(--shadow-sm)}
table{width:100%;min-width:600px;border-collapse:collapse;font-size:var(--text-sm)}
th,td{padding:.875rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);text-align:left;vertical-align:top}
th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-offset) 86%,transparent)}
tbody tr:last-child td{border-bottom:0}
/* Footer */
.footer{padding-block:var(--space-10);border-top:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);margin-top:var(--space-16)}
.footer-grid{display:grid;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{color:var(--color-text)}
/* Wide panel */
.wide-panel{background:var(--color-surface-offset);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:calc(var(--radius-xl) + .25rem);padding:clamp(var(--space-5),3vw,var(--space-8))}
/* Blog */
.blog-card{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.blog-card h2{font-size:var(--text-lg);font-weight:700;color:var(--color-text)}
.blog-card .meta{font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.06em}
/* Responsive */
@media(min-width:820px){.nav{display:inline-flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr auto;align-items:center}}
@media(max-width:819px){.header-actions .btn-secondary{display:none}}
@media(max-width:520px){.btn{width:100%}.page-hero-actions{display:grid}}
