:root{--radius:14px;--radius-lg:22px;--max:1160px;--ease:cubic-bezier(0.22,1,0.36,1);--header-h:5.25rem;--space-section:clamp(2.75rem,5vw,4.75rem);--page-gutter:clamp(0.75rem,4vw,1.25rem);--bg:#f7f5f2;--bg-elevated:#fffcf8;--ink:#1a1f1c;--ink-muted:#4a524d;--line:rgba(26,31,28,0.12);--accent:#1e3d36;--accent-hover:#2a5248;--accent-soft:rgba(30,61,54,0.08);--sand:#e8e4dc;--shadow:0 18px 50px rgba(26,31,28,0.08);--shadow-sm:0 8px 24px rgba(26,31,28,0.06);--font-display:"Libre Bodoni",Georgia,serif;--font-ui:"Public Sans",system-ui,sans-serif;--heading-weight:500;--stat-n-weight:500;--hero-overlay:linear-gradient( 165deg,rgba(12,12,14,0.15) 0%,rgba(8,8,10,0.45) 42%,rgba(4,4,6,0.78) 100% );--hero-fg:#fffcf8;--hero-fg-muted:rgba(255,252,248,0.88);--hero-fg-soft:rgba(255,252,248,0.78);--hero-fg-softer:rgba(255,252,248,0.65);--hero-eyebrow:rgba(220,218,214,0.92);--hero-border:rgba(255,252,248,0.2);--hero-focus-outline:rgba(255,252,248,0.85);--cta-bg:#1e3d36;--cta-fg:rgba(255,255,255,0.9);--cta-title:#ffffff;--cta-lead:rgba(255,255,255,0.85);--cta-btn-bg:#ffffff;--cta-btn-bg-hover:#f0f4f2;--cta-ghost-border:rgba(255,255,255,0.35);--cta-ghost-fg:#ffffff}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}@supports not (overflow:clip){html,body{overflow-x:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none !important;opacity:1 !important;transform:none !important}}body{margin:0;font-family:var(--font-ui);font-size:1.0625rem;line-height:1.65;color:var(--ink-muted);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{width:min(var(--max),calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.site-header{position:sticky;top:0;z-index:50;min-height:var(--header-h);padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-inline:max(0px,env(safe-area-inset-left,0px)) max(0px,env(safe-area-inset-right,0px))}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(0.45rem,2.2vw,1.5rem);padding-block:clamp(0.6rem,1.4vw,1rem);padding-inline:0;width:min(var(--max),calc(100% - 2 * var(--page-gutter)));margin-inline:auto;min-width:0}.brand{display:flex;flex-direction:column;gap:0.1rem;text-decoration:none;color:inherit;flex-shrink:0;min-width:0}.brand-mark{font-family:var(--font-display);font-size:clamp(1.08rem,0.55rem+2.4vw,1.35rem);font-weight:600;letter-spacing:0.01em;color:var(--ink)}.brand-sub{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--ink-muted)}.nav-desktop{display:none;align-items:center;gap:2rem}.nav-desktop a{font-size:0.875rem;font-weight:500;color:var(--ink-muted);text-decoration:none}.nav-desktop a:hover{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:clamp(0.35rem,1.8vw,0.75rem);flex-shrink:1;min-width:0;justify-content:flex-end}.tel-link{font-size:0.9rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.tel-link__abbr{display:none}@media (max-width:520px){.tel-link__full{display:none}.tel-link__abbr{display:inline}}.tel-link:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.35rem;font-family:var(--font-ui);font-size:0.9rem;font-weight:600;border-radius:999px;border:none;cursor:pointer;text-decoration:none;transition:background 0.2s var(--ease),color 0.2s var(--ease),transform 0.2s var(--ease)}.btn:active{transform:scale(0.98)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;flex-shrink:0;padding:0;border:none;background:transparent;cursor:pointer;border-radius:10px}.menu-toggle span{display:block;height:2px;width:22px;background:var(--ink);margin-inline:auto}.nav-mobile{display:none;flex-direction:column;gap:0.25rem;padding:0 var(--page-gutter) 1.25rem;border-bottom:1px solid var(--line);background:var(--bg)}.nav-mobile.is-open{display:flex}.nav-mobile a{display:flex;align-items:center;min-height:44px;padding:0.5rem 0;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}@media (max-width:899.98px){.site-header .header-actions>.btn-primary,.site-header .header-actions>.btn-ghost{display:none}}@media (min-width:900px){.site-header .header-actions>.btn-primary{display:inline-flex}.nav-desktop{display:flex}.menu-toggle{display:none}.nav-mobile{display:none !important}}@media (min-width:900px) and (max-width:1199.98px){.nav-desktop{gap:clamp(1rem,2vw,2rem)}}@media (max-width:899.98px){:root{--header-h:4rem;--sticky-book-footroom:4.75rem}.site-header{min-height:var(--header-h)}.header-inner{padding-block:0.4rem;gap:clamp(0.35rem,1.5vw,0.85rem)}.brand{gap:0}.brand-mark{font-size:clamp(1rem,0.55rem+2vw,1.28rem)}.brand-sub{font-size:0.615rem;letter-spacing:0.14em}.tel-link{font-size:0.82rem}.menu-toggle{width:40px;height:40px;gap:4px}.menu-toggle span{width:20px}.sticky-book{padding:0.2rem var(--page-gutter) calc(0.2rem+env(safe-area-inset-bottom,0px));gap:0.35rem;box-shadow:0 -4px 18px rgba(26,31,28,0.05)}.sticky-book .btn{padding-block:0.36rem;padding-inline:0.55rem;font-size:0.78rem;line-height:1.18;min-height:0}}h1,h2,h3,.display{font-family:var(--font-display);color:var(--ink);font-weight:var(--heading-weight,600);line-height:1.18;letter-spacing:-0.015em}h1{font-size:clamp(2.35rem,5vw,3.75rem);margin:0 0 1rem}h2{font-size:clamp(1.85rem,3.2vw,2.65rem);margin:0 0 1.25rem}h3{font-size:1.35rem;margin:0 0 0.5rem}.lead{font-size:1.15rem;max-width:38ch;color:var(--ink-muted)}.eyebrow{font-size:0.72rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}