:root{--color-burgundy:#6b1c28;--color-burgundy-deep:#4a1219;--color-burgundy-soft:#8f3a48;--color-ink:#1c1412;--color-ink-muted:#5c4f4a;--color-paper:#f7f2ed;--color-paper-warm:#efe6dc;--color-surface:#fffcf9e0;--color-line:#6b1c282e;--color-success:#2f5d3a;--color-error:#8b1e1e;--font-display:"Cormorant Garamond", "Palatino Linotype", Palatino, serif;--font-body:"Figtree", "Segoe UI", sans-serif;--space-xs:.35rem;--space-sm:.75rem;--space-md:1.25rem;--space-lg:2rem;--space-xl:3.5rem;--space-2xl:5.5rem;--radius:2px;--shadow-soft:0 18px 50px #4a121914;--header-h:4.5rem;--max:68rem;--content:42rem;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #8f3a481f, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #efe6dce6, transparent 50%), linear-gradient(180deg, #faf6f1 0%, var(--color-paper) 40%, #f3ebe3 100%);background-attachment:fixed;min-height:100vh;margin:0;font-size:1.05rem;line-height:1.65}#root{min-height:100vh}a{color:var(--color-burgundy);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .2s}a:hover{color:var(--color-burgundy-deep)}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);color:var(--color-burgundy-deep);letter-spacing:-.01em;font-weight:600;line-height:1.15}h1{margin:0 0 var(--space-md);font-size:clamp(2.4rem,5vw,3.6rem)}h2{margin:var(--space-xl) 0 var(--space-md);font-size:clamp(1.7rem,3vw,2.2rem)}h2:first-child{margin-top:0}h3{margin:0 0 var(--space-sm);font-size:1.35rem}p{margin:0 0 var(--space-md);color:var(--color-ink)}p:last-child{margin-bottom:0}ul{margin:0 0 var(--space-md);padding-left:1.2rem}li{margin-bottom:var(--space-xs)}button,input,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{width:min(100% - 2rem, var(--max));padding:var(--space-xl) 0 var(--space-2xl);flex:1;margin:0 auto}.page{animation:.45s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.site-header{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-line);background:#faf6f1db;position:sticky;top:0}.header-inner{width:min(100% - 2rem, var(--max));justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--header-h);padding:var(--space-sm) 0;margin:0 auto;display:flex}.brand{color:inherit;flex-direction:column;gap:.1rem;min-width:0;text-decoration:none;display:flex}.brand:hover{color:inherit}.brand-name{font-family:var(--font-display);color:var(--color-burgundy);letter-spacing:.01em;font-size:clamp(1.45rem,2.5vw,1.85rem);font-weight:600;line-height:1.05}.brand-role{letter-spacing:.28em;text-transform:uppercase;color:var(--color-burgundy-soft);font-size:.72rem;font-weight:500}.header-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--color-burgundy);white-space:nowrap;font-size:.78rem;font-weight:600;display:none}.nav-desktop{align-items:center;gap:.15rem;display:none}.nav-desktop a{color:var(--color-ink-muted);padding:.45rem .65rem;font-size:.92rem;font-weight:500;text-decoration:none;position:relative}.nav-desktop a:after{content:"";background:var(--color-burgundy);transform-origin:0;height:1.5px;transition:transform .25s;position:absolute;bottom:.2rem;left:.65rem;right:.65rem;transform:scaleX(0)}.nav-desktop a:hover,.nav-desktop a[aria-current=page]{color:var(--color-burgundy-deep)}.nav-desktop a:hover:after,.nav-desktop a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{border:1px solid var(--color-line);background:var(--color-surface);width:2.6rem;height:2.6rem;color:var(--color-burgundy);cursor:pointer;border-radius:var(--radius);justify-content:center;align-items:center;display:inline-flex}.menu-toggle span{background:currentColor;width:1.15rem;height:1.5px;display:block;position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";background:currentColor;width:100%;height:1.5px;position:absolute;left:0}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}.nav-mobile{border-top:1px solid var(--color-line);padding:var(--space-sm) 1rem var(--space-md);background:#fffcf9f5;display:none}.nav-mobile.open{gap:.15rem;display:grid}.nav-mobile a{color:var(--color-ink);border-bottom:1px solid var(--color-line);padding:.75rem .5rem;font-weight:500;text-decoration:none}.nav-mobile a[aria-current=page]{color:var(--color-burgundy)}.nav-mobile .mobile-locations{letter-spacing:.08em;text-transform:uppercase;color:var(--color-burgundy-soft);padding:.75rem .5rem .25rem;font-size:.8rem}.hero{gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-line);display:grid}@media (width>=860px){.hero{align-items:end;gap:var(--space-xl);grid-template-columns:1.2fr .8fr}}.eyebrow{margin-bottom:var(--space-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--color-burgundy-soft);font-size:.78rem;font-weight:600;display:inline-block}.hero-lead{color:var(--color-ink-muted);max-width:36rem;font-size:clamp(1.1rem,2vw,1.28rem)}.contact-card{background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-soft);padding:var(--space-lg);gap:var(--space-sm);display:grid}.contact-card strong{font-family:var(--font-display);color:var(--color-burgundy);font-size:1.35rem;font-weight:600}.contact-card a.phone{font-size:1.15rem;font-weight:600;text-decoration:none}.cta-row{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.35rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-burgundy);color:#fffaf7}.btn-primary:hover{background:var(--color-burgundy-deep);color:#fffaf7}.btn-secondary{color:var(--color-burgundy);border-color:var(--color-burgundy);background:0 0}.btn-secondary:hover{color:var(--color-burgundy-deep);background:#6b1c280f}.prose{max-width:var(--content)}.prose+.prose,.section-block+.section-block{margin-top:var(--space-xl)}.section-block{max-width:var(--content)}.emphasis{color:var(--color-burgundy-deep);font-weight:600}.map-frame{margin-top:var(--space-lg);border:1px solid var(--color-line);box-shadow:var(--shadow-soft);background:var(--color-paper-warm);aspect-ratio:16/10;min-height:280px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%}.contact-layout{gap:var(--space-xl);display:grid}@media (width>=900px){.contact-layout{grid-template-columns:.9fr 1.1fr;align-items:start}}.form-panel{background:var(--color-surface);border:1px solid var(--color-line);box-shadow:var(--shadow-soft);padding:var(--space-lg)}.form-grid{gap:var(--space-md);display:grid}.field label{color:var(--color-burgundy-deep);margin-bottom:.35rem;font-size:.92rem;font-weight:600;display:block}.field .req{color:var(--color-burgundy-soft);font-weight:500}.field input,.field textarea{border:1px solid var(--color-line);border-radius:var(--radius);width:100%;color:var(--color-ink);background:#fffdfb;padding:.75rem .85rem}.field input:focus,.field textarea:focus{border-color:var(--color-burgundy-soft);outline:2px solid #6b1c2840}.form-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.form-status{font-size:.95rem;animation:.35s both pageIn}.form-status.success{color:var(--color-success)}.form-status.error{color:var(--color-error)}.form-missing-key{padding:var(--space-md);border:1px dashed var(--color-line);color:var(--color-ink-muted);background:#6b1c280a;font-size:.95rem}.site-footer{border-top:1px solid var(--color-line);background:#fffcf9b3}.footer-inner{width:min(100% - 2rem, var(--max));padding:var(--space-lg) 0;gap:var(--space-sm) var(--space-lg);color:var(--color-ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 auto;font-size:.92rem;display:flex}.footer-inner a{font-weight:500;text-decoration:none}@media (width>=960px){.header-meta{display:block}.nav-desktop{display:flex}.menu-toggle{display:none}.nav-mobile{display:none!important}.header-inner{flex-wrap:wrap}.brand{margin-right:auto}}@media (width>=1100px){.header-inner{flex-wrap:nowrap}.header-meta{margin-right:var(--space-md);order:0}}
