:root{color-scheme:light;--canvas:#f4efe6;--paper:#f4efe6;--surface:#fcf9f2;--ink:#292722;--muted:#625d55;--line:#cfc6b8;--accent:#9b482c;--on-accent:#fffaf4;--focus:#854326}
:root[data-theme=dark]{color-scheme:dark;--canvas:#222624;--paper:#222624;--surface:#2c332e;--ink:#f0ede5;--muted:#bdc2b8;--line:#515b54;--accent:#e4aa87;--on-accent:#27201b;--focus:#f1d4b8}
body{background:var(--canvas);color:var(--ink)}p{max-width:65ch}.lead,.muted,.free-note,footer{color:var(--muted)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a,button,select{touch-action:manipulation}.secondary-header{display:flex;flex-wrap:wrap;align-items:center;min-height:100px;padding-block:16px;gap:20px;border-color:var(--line)}.family-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;text-decoration:none;min-height:44px}.family-brand img{padding:3px;background:#f4efe6;border-radius:5px}.secondary-header nav{display:flex;gap:24px;margin-left:auto;font-size:16px}.secondary-header nav a,.preferences>a{display:flex;align-items:center;min-height:44px;text-decoration:none}.preferences{display:flex;align-items:center;gap:12px}.preferences>a{min-width:44px;justify-content:center}.preferences select{font:inherit;font-size:15px;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:10px;background:transparent;color:var(--ink);max-width:160px}.preferences label{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pricing,.onprem,.notice,.details>section,.tariff,.practice-strip,.direction-list article{background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:8px}.period+.period,.tier,.tiers,footer,.details{border-color:var(--line)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border-color:var(--ink);border-radius:6px;min-height:48px}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.button.secondary:hover{background:var(--ink);color:var(--paper)}.notice{border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:17px}.details>section{background:transparent;padding:10px 0}.onprem{background:transparent;border:0;border-top:2px solid var(--line);padding-inline:0}.amount{white-space:normal;overflow-wrap:break-word}.period{min-width:0}.year .amount{color:var(--accent)}.hero h1{max-width:20ch}.resto-hero{background:#faf7ef;border-radius:8px;object-fit:contain}.direction-list article{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;background:transparent}.tariff-grid{display:block}.tariff{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px 24px;align-items:center;background:transparent}.tariff .eyebrow{grid-column:1/-1;margin:0;color:var(--muted);font-size:15px}.tariff h2{font-size:26px;margin:0}.tariff .tariff-amount{font-size:23px;line-height:1.3;margin:0}.tariff p{font-size:17px;margin:0}.tariff .button{font-size:16px}.tariff .button:active{transform:translateY(1px)}.group-title{margin-top:56px}.practice-strip{border:1px solid var(--line);border-radius:8px}footer{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:900px){.tariff{grid-template-columns:1.2fr 1fr}.tariff .eyebrow{grid-column:1/-1}.tariff h2{grid-column:1/-1}.tariff .button{grid-column:1/-1;justify-self:start;margin-top:8px}.secondary-header{gap:12px}.secondary-header nav{gap:16px}.hero:has(.resto-hero){grid-template-columns:1fr}.resto-hero{max-width:320px;width:100%;justify-self:start}}
@media(max-width:640px){.secondary-header nav{order:3;width:100%;border-top:1px solid var(--line)}.secondary-header .preferences{margin-left:auto;gap:4px}.family-brand{font-size:19px;gap:6px}.family-brand img{width:32px;height:32px}.preferences select{max-width:145px}.tariff{gap:12px}.tariff .tariff-amount{font-size:22px}.tariff p{font-size:16px}.period,.period+.period{padding:22px}.hero h1{max-width:17ch}.practice-strip{padding:24px}.onprem .amount{font-size:36px}.notice{padding:22px}.details{gap:24px}.footer{display:flex;flex-direction:column;align-items:flex-start}}
@media(max-width:359px){.secondary-header .preferences{width:100%;justify-content:flex-end;order:3}.secondary-header nav{order:2}.tariff{grid-template-columns:1fr}.tariff .eyebrow,.tariff h2,.tariff .button{grid-column:1}.tariff .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

:root[data-theme=dark] body{--accent:#e4aa87!important;--canvas:#222624!important}
/* Compact, accessible appearance control. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer;transition:background-color 140ms,border-color 140ms}.theme-toggle:hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:color-mix(in srgb,currentColor 20%,transparent)}.theme-toggle:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px}.theme-toggle:active{transform:translateY(1px)}.theme-toggle:disabled{opacity:.45;cursor:not-allowed}.theme-toggle svg{width:20px;height:20px;pointer-events:none}.preferences .locale,.preferences .language-link,.preferences>[lang],.appearance-controls>[lang]{padding-inline:10px;white-space:nowrap}.appearance-controls,.preferences{gap:6px}@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none;transform:none}}
