:root{--font-body:"DM Sans", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;--font-heading-ui:var(--font-body);--font-size-sm:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--line-height-body:1.58;--line-height-tight:1.2;--font-section-size:clamp(1.5rem, 3.6vw, 2rem);--font-section-weight:650;--font-subsection-size:1.125rem;--font-subsection-weight:650;--font-stat-size:clamp(1.5rem, 3.5vw, 1.875rem);--font-stat-weight:700;--font-price-size:clamp(1.35rem, 3.2vw, 1.75rem);--font-price-weight:700;--color-bg:#f3f6f4;--color-surface:#fff;--color-text:#152018;--color-text-prose:#1d2b23;--color-muted:#4d5751;--color-border:#d8e0da;--color-accent:#e87848;--color-accent-dark:#c45a2e;--color-accent-contrast:#fffaf7;--roof-stroke:#f0c09a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 10px 32px #16261e12;--page-padding-block:clamp(1rem, 3vw, 2rem);--page-padding-inline:clamp(1rem, 4vw, 2rem);--page-padding-bottom:3rem;--section-padding-y:clamp(2.5rem, 6vw, 4rem);--section-padding-y-compact:clamp(2rem, 5vw, 3.25rem);--card-padding:1.25rem;--card-padding-lg:1.35rem;--shadow-card:var(--shadow-soft);--surface-muted:color-mix(in srgb, var(--color-bg) 72%, var(--color-surface));--surface-muted-strong:#eef4f0;--ease-interaction:.14s ease;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--color-accent-dark);--focus-ring-on-dark-bg:var(--color-accent-contrast)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-height-body);letter-spacing:-.005em;color:var(--color-text-prose);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:2px}button:focus-visible:not(:disabled),input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}h1{font-family:var(--font-display);line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--color-text);margin:0}h2,h3,h4{font-family:var(--font-heading-ui);font-weight:var(--font-section-weight);line-height:var(--line-height-tight);letter-spacing:-.02em;color:var(--color-text);margin:0}p{margin-block:0 1rem}p:last-child{margin-block-end:0}input,select,textarea,button{font:inherit}img{max-width:100%;height:auto}#root{min-height:100dvh}.btn{font-weight:600;font-size:var(--font-size-sm);letter-spacing:-.01em;border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:filter var(--ease-interaction), transform var(--ease-interaction), box-shadow var(--ease-interaction);border:none;justify-content:center;align-items:center;gap:.35rem;padding:.7rem 1.2rem;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-fallback{min-height:45vh;font-size:var(--font-size-sm);color:var(--color-muted);justify-content:center;align-items:center;padding:2rem;display:flex}.draft-dev-banner{z-index:2147483647;padding:.45rem .75rem;padding-bottom:max(.45rem, env(safe-area-inset-bottom,0px));text-align:center;color:#ecfdf5;background:#14532d;border-top:2px solid #22c55e;font-size:.8125rem;font-weight:600;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000001f}@media (width<=520px){.draft-dev-banner{padding-left:max(.5rem, env(safe-area-inset-left,0px));padding-right:max(.5rem, env(safe-area-inset-right,0px));font-size:.72rem;line-height:1.35}}.brand-logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-logo-mark{display:block}.brand-logo-wordmark{letter-spacing:-.02em;color:#12202e;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500;line-height:1}.brand-logo-my{color:#d55d3a;font-style:italic;font-weight:400}.brand-logo--on-dark .brand-logo-roof{stroke:#f7fafceb}.brand-logo--on-dark .brand-logo-wordmark{color:#f7fafc}.brand-logo--on-dark .brand-logo-my{color:#f0b090}.layout{flex-direction:column;min-height:100dvh;display:flex}.skip-link{background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius-sm);z-index:100;padding:.5rem .75rem;font-size:.875rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.layout-header{padding-top:max(1rem, env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#fdfbf8eb;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;padding-left:clamp(1rem,4vw,2rem);padding-right:clamp(1rem,4vw,2rem);display:flex;position:sticky;top:0}.layout-logo{align-items:center;display:inline-flex}.layout-logo:hover{text-decoration:none}.layout-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1rem;display:flex}.layout-nav-link{font-size:var(--font-size-sm);letter-spacing:-.01em;color:var(--color-muted);border-radius:var(--radius-sm);padding:.375rem .75rem;font-weight:540;text-decoration:none}.layout-nav-link:hover{color:var(--color-text);text-decoration:none}.layout-nav-link.active:not(.layout-nav-cta){color:var(--color-text)}.layout-nav-cta{background:var(--color-accent);color:var(--color-accent-contrast)}.layout-nav-cta:hover{filter:brightness(1.06);color:var(--color-accent-contrast);text-decoration:none}.layout-nav-cta.active{box-shadow:inset 0 0 0 2px var(--color-accent-dark)}.layout-main{flex:1}.layout-footer-minimal{padding:1.25rem clamp(1rem,4vw,2rem);padding-bottom:max(1.25rem, calc(.5rem + env(safe-area-inset-bottom,0px)));border-top:1px solid var(--color-border);letter-spacing:-.005em;color:var(--color-muted);text-align:center;font-size:.8125rem;line-height:1.6}.layout-footer-minimal a{color:var(--color-accent-dark)}.layout-footer-minimal a:hover{text-decoration:underline}@media (width<=720px){.layout-header{flex-direction:column;align-items:flex-start;gap:.65rem}.layout-nav{justify-content:flex-start;gap:.35rem .55rem;width:100%}.layout-nav-link{align-items:center;min-height:2.5rem;padding:.4rem .65rem;display:inline-flex}}.cookie-consent{z-index:2147483640;position:fixed;inset:auto 1rem 1rem}.cookie-consent-inner{background:color-mix(in srgb, var(--color-bg) 15%, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-padding) 1.1rem 1.1rem;box-shadow:var(--shadow-card)}.cookie-consent-title{margin:0 0 .35rem;font-weight:800}.cookie-consent-body{color:var(--color-muted);margin:0;font-size:.9rem;line-height:1.55}.cookie-consent-actions{flex-wrap:wrap;gap:.65rem;margin-top:.9rem;display:flex}.cookie-btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;transition:filter var(--ease-interaction), border-color var(--ease-interaction), background var(--ease-interaction);padding:.65rem .9rem}.cookie-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.cookie-btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:color-mix(in srgb, var(--color-bg) 40%, var(--color-surface))}.cookie-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast);font-weight:700}.cookie-btn-secondary{background:var(--color-surface);color:var(--color-text);font-weight:700}.cookie-consent-fineprint{color:var(--color-muted);margin:.75rem 0 0;font-size:.8125rem}.cookie-consent-fineprint a{color:var(--color-accent-dark);text-decoration:underline}
