@font-face{font-family:Onest;src:url('../assets/fonts/onest-variable.woff2') format('woff2');font-weight:300 800;font-display:swap}
@font-face{font-family:Archivo;src:url('../assets/fonts/archivo-variable.woff2') format('woff2');font-weight:500 900;font-display:swap}
:root{--ink:#161419;--muted:#625d64;--paper:#f4f0e9;--paper-2:#e8e2da;--plum:#4a1937;--plum-2:#6d2a50;--amber:#e2a33a;--steel:#76767c;--line:#c9c2ba;--white:#fff;--error:#9d2e2e;--shadow:0 18px 42px rgba(28,20,25,.13);--radius:14px;--step:cubic-bezier(.22,1,.36,1);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 Onest,Arial,sans-serif;text-rendering:optimizeLegibility}body.nav-open{overflow:hidden}::selection{background:var(--amber);color:var(--ink)}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--amber);color:var(--ink);padding:.8rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.shell{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;background:rgba(244,240,233,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-grid{min-height:74px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.2rem}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;min-width:0}.brand-mark{display:grid;place-items:center;width:36px;height:44px;background:var(--plum);color:var(--white);font:800 1rem/1 Archivo,sans-serif;clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%)}.brand-text{display:grid;line-height:1.05}.brand-text strong{font:800 1.02rem/1.1 Archivo,sans-serif;letter-spacing:-.02em}.brand-text span{color:var(--muted);font-size:.72rem;margin-top:.24rem}.desktop-nav{display:flex;align-items:center;gap:.2rem}.nav-link,.nav-toggle{border:0;background:transparent;color:var(--ink);padding:.8rem .75rem;text-decoration:none;font-weight:650;border-radius:8px;cursor:pointer}.nav-link:hover,.nav-toggle:hover,.nav-item:focus-within>.nav-toggle{background:var(--paper-2)}.nav-item{position:relative}.nav-toggle{display:inline-flex;align-items:center;gap:.35rem}.nav-toggle svg{width:14px;transition:transform .2s var(--step)}.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.service-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-8px);width:min(760px,90vw);background:var(--ink);color:var(--white);padding:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s var(--step);box-shadow:var(--shadow)}.nav-item:hover .service-menu,.nav-item:focus-within .service-menu,.nav-item.open .service-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.service-menu a{padding:.85rem 1rem;text-decoration:none;border-bottom:1px solid #3a353c;display:flex;justify-content:space-between;gap:1rem}.service-menu a:hover,.service-menu a:focus-visible{background:var(--plum)}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--plum);color:var(--white);padding:.7rem 1rem;text-decoration:none;font-weight:750;border:1px solid var(--plum)}.menu-button{display:none;border:1px solid var(--ink);background:transparent;width:44px;height:44px;place-items:center}.mobile-panel{display:none}.hero{padding:clamp(1rem,2vw,1.7rem) 0 0}.hero-frame{position:relative;min-height:min(720px,78vh);border:10px solid #b5b2ae;border-image:linear-gradient(90deg,#8e8b88,#dedbd5 28%,#8f8c89 56%,#d8d4cf) 1;background:var(--ink);overflow:hidden;box-shadow:var(--shadow)}.hero-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,20,.88),rgba(20,17,20,.25) 60%,rgba(20,17,20,.08))}.floor-register{position:absolute;z-index:2;right:1.1rem;top:1.1rem;display:grid;background:rgba(22,20,25,.9);color:#f8f5ef;padding:.8rem;gap:.5rem;border:1px solid rgba(255,255,255,.25)}.floor-register span{display:flex;align-items:center;gap:.55rem;font-size:.75rem}.floor-register i{display:block;width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(226,163,58,.17)}.hero-copy{position:relative;z-index:3;min-height:inherit;max-width:720px;padding:clamp(2rem,6vw,5.8rem);display:flex;flex-direction:column;justify-content:flex-end;color:var(--white)}.hero h1,.page-hero h1{font:800 clamp(2.55rem,6vw,5.6rem)/.94 Archivo,sans-serif;letter-spacing:-.035em;margin:0;text-wrap:balance}.hero p{max-width:58ch;font-size:clamp(1.06rem,2vw,1.25rem);color:#ede7e2;margin:1.3rem 0}.action-row{display:flex;flex-wrap:wrap;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.76rem 1.05rem;border:1px solid currentColor;text-decoration:none;font-weight:760;transition:.18s var(--step)}.button-primary{background:var(--amber);border-color:var(--amber);color:var(--ink)}.button-secondary{background:rgba(22,20,25,.62);color:var(--white)}.button:hover{transform:translateY(-2px)}.hero-dock{position:relative;margin-top:-1px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--plum);color:var(--white)}.hero-dock>div{padding:1.15rem 1.35rem;border-right:1px solid rgba(255,255,255,.25)}.hero-dock strong{display:block;font:750 .95rem/1.2 Archivo,sans-serif}.hero-dock span{display:block;color:#eadde5;font-size:.86rem;margin-top:.25rem}.section{padding:clamp(3.4rem,7vw,6.5rem) 0}.section-tight{padding:clamp(2.7rem,5vw,4.4rem) 0}.section-dark{background:var(--ink);color:var(--white)}.section-plum{background:var(--plum);color:var(--white)}.section-steel{background:#d8d5d0}.section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:2rem;align-items:end;margin-bottom:2.5rem}.section h2,.page-hero h2{font:760 clamp(2rem,4.4vw,4.2rem)/1 Archivo,sans-serif;letter-spacing:-.03em;margin:0;text-wrap:balance}.section-head p{margin:0;color:var(--muted);max-width:62ch}.section-dark .section-head p,.section-plum .section-head p{color:#d8d1d7}.service-ledger{border-top:1px solid currentColor}.service-row{display:grid;grid-template-columns:56px 1.1fr 1.5fr auto;gap:1rem;align-items:center;padding:1.2rem .25rem;border-bottom:1px solid color-mix(in srgb,currentColor 28%,transparent);text-decoration:none;transition:.2s var(--step)}.service-row:hover{padding-left:1rem;background:rgba(255,255,255,.06)}.service-row img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}.service-row strong{font:720 clamp(1.05rem,2vw,1.35rem)/1.2 Archivo,sans-serif}.service-row span{color:#cfc7ce}.service-row b{font-weight:650;color:var(--amber)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.split.reverse .split-media{order:2}.split-media{min-height:460px;position:relative;overflow:hidden}.split-media img{width:100%;height:100%;min-height:460px;object-fit:cover}.split-copy p{color:var(--muted);max-width:65ch}.line-list{list-style:none;padding:0;margin:1.5rem 0;border-top:1px solid var(--line)}.line-list li{padding:.85rem 0;border-bottom:1px solid var(--line);display:flex;gap:.7rem}.line-list li:before{content:"";width:9px;height:9px;border:2px solid var(--plum);margin-top:.48rem;flex:none}.process-track{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.process-step{padding:1.4rem;min-height:190px;border-right:1px solid var(--line);position:relative}.process-step:last-child{border-right:0}.process-step:before{content:attr(data-step);font:800 3rem/1 Archivo,sans-serif;color:var(--paper-2);position:absolute;right:1rem;top:.7rem}.process-step h3{font:700 1.15rem/1.2 Archivo,sans-serif;margin:3rem 0 .6rem}.process-step p{margin:0;color:var(--muted);font-size:.94rem}.location-list{columns:2;column-gap:3rem;border-top:1px solid var(--line)}.location-list a{display:flex;justify-content:space-between;break-inside:avoid;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none}.location-list a:hover span:first-child{color:var(--plum)}.location-list small{color:var(--muted)}.cta-stage{display:grid;grid-template-columns:1.3fr .7fr;background:var(--plum);color:var(--white);overflow:hidden}.cta-copy{padding:clamp(2rem,5vw,4.5rem)}.cta-copy h2{font:780 clamp(2rem,4vw,4rem)/1 Archivo,sans-serif;margin:0 0 1rem}.cta-copy p{color:#eadfe5;max-width:58ch}.cta-panel{background:var(--amber);color:var(--ink);padding:2rem;display:flex;flex-direction:column;justify-content:center}.cta-panel a{font:760 clamp(1.25rem,2.4vw,2rem)/1.1 Archivo,sans-serif}.page-hero{padding:clamp(3rem,8vw,7rem) 0 clamp(2.5rem,6vw,5rem);border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1fr minmax(320px,.78fr);gap:3rem;align-items:end}.page-hero p{font-size:1.12rem;color:var(--muted);max-width:62ch}.page-hero-media{height:420px;overflow:hidden;border:8px solid #b8b4af}.page-hero-media img{width:100%;height:100%;object-fit:cover}.prose{max-width:780px;margin-inline:auto}.prose h2{font:740 clamp(1.7rem,3.5vw,2.8rem)/1.08 Archivo,sans-serif;margin:2.8rem 0 1rem}.prose h3{font:700 1.25rem/1.2 Archivo,sans-serif;margin:2rem 0 .65rem}.prose p,.prose li{color:#3f3a40}.prose a{color:var(--plum)}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.prose th,.prose td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);vertical-align:top}.prose th{background:var(--paper-2);font-weight:760}.notice{padding:1.2rem;background:var(--paper-2);border:1px solid var(--line)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:1rem 0}.faq-list summary{font-weight:730;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq-list summary:after{content:"+";font-size:1.5rem}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);max-width:70ch}.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.directory-item{background:var(--paper);padding:1.4rem;text-decoration:none;min-height:190px}.directory-item:hover{background:var(--white)}.directory-item img{width:34px;height:34px;margin-bottom:2rem}.directory-item h2,.directory-item h3{font:720 1.35rem/1.2 Archivo,sans-serif;margin:0 0 .55rem}.directory-item p{color:var(--muted);margin:0}.article-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.footer{background:#0e0c10;color:var(--white);padding:3.5rem 0 1.2rem}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:2rem}.footer h2,.footer h3{font:720 1rem/1.2 Archivo,sans-serif;margin:0 0 1rem}.footer p,.footer a{color:#c9c2c8}.footer a{display:block;margin:.48rem 0}.footer-brand p{max-width:34ch}.footer-bottom{border-top:1px solid #373239;margin-top:2.5rem;padding-top:1rem;color:#9f979f;font-size:.84rem;display:flex;justify-content:space-between;gap:1rem}.mobile-call{display:none}.error-page{min-height:75vh;display:grid;place-items:center;text-align:center}.error-code{font:850 clamp(5rem,20vw,13rem)/.8 Archivo,sans-serif;color:var(--plum);margin:0}.utility-list{display:grid;gap:1rem;max-width:760px}.utility-list a{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;text-decoration:none}.hours{font-variant-numeric:tabular-nums}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-button{display:grid}.header-grid{grid-template-columns:1fr auto}.mobile-panel{display:block;position:fixed;inset:75px 0 0;background:var(--paper);padding:1rem;transform:translateX(105%);transition:transform .28s var(--step);overflow:auto}.mobile-panel.open{transform:translateX(0)}.mobile-panel a,.mobile-panel button{width:100%;display:flex;justify-content:space-between;padding:1rem;border:0;border-bottom:1px solid var(--line);background:transparent;text-decoration:none;text-align:left}.mobile-services{display:none;padding-left:1rem}.mobile-services.open{display:block}.mobile-services a{font-size:.94rem}.hero-frame{min-height:670px}.section-head,.split,.page-hero-grid{grid-template-columns:1fr}.split.reverse .split-media{order:0}.process-track{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(2){border-right:0}.process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:repeat(2,1fr)}.cta-stage{grid-template-columns:1fr}}
@media(max-width:640px){.shell{width:min(calc(100% - 1.1rem),var(--max))}.brand-text span{display:none}.hero{padding-top:.55rem}.hero-frame{min-height:620px;border-width:6px}.hero-frame:after{background:linear-gradient(0deg,rgba(20,17,20,.94),rgba(20,17,20,.2) 72%)}.hero-copy{padding:1.35rem;justify-content:flex-end}.hero h1,.page-hero h1{font-size:clamp(2.35rem,12vw,3.85rem)}.floor-register{right:.65rem;top:.65rem}.hero-dock{grid-template-columns:1fr}.hero-dock>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.service-row{grid-template-columns:38px 1fr auto}.service-row span{display:none}.service-row b{font-size:.86rem}.split-media,.split-media img{min-height:320px}.process-track{grid-template-columns:1fr}.process-step,.process-step:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.location-list{columns:1}.directory-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero-media{height:300px}.section{padding:3.6rem 0}.mobile-call{position:fixed;z-index:35;bottom:.75rem;left:.75rem;right:.75rem;display:flex;justify-content:center;background:var(--amber);color:var(--ink);padding:.85rem;text-decoration:none;font-weight:800;box-shadow:0 12px 30px rgba(22,20,25,.24)}body{padding-bottom:4.7rem}.prose table{display:block;overflow-x:auto}}

/* Prevent the off-canvas navigation from widening the layout before it opens. */
html,body{overflow-x:hidden}
@media(max-width:980px){.mobile-panel{visibility:hidden;pointer-events:none}.mobile-panel.open{visibility:visible;pointer-events:auto}}
.section-steel .section-head p,.section-steel .process-step p{color:#4e4950}
.section-plum .split-copy p{color:#eadfe5}
.page-hero h1{font-size:clamp(2.35rem,5vw,4.8rem)}
@media(max-width:640px){.floor-register{display:none}}

/* Keep the desktop services panel contiguous with its hover trigger. */
.service-menu{top:100%}
.phone-pending,.contact-status{cursor:default;pointer-events:none}.button.phone-pending:hover{transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
@media print{.site-header,.mobile-call,.cta-stage{display:none}.hero-frame{min-height:0}.hero-frame>img{position:relative;max-height:400px}.hero-copy{min-height:0;background:var(--ink)}}
