*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh}img,picture,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,textarea,select{font:inherit}:root{--brand: #ee393f;--brand-dark: #c9232a;--ink: #1c1b1f;--body-text: #4c4a48;--muted: #7a7774;--surface: #ffffff;--surface-alt: #faf7f5;--surface-deep: #1a1919;--border: #e9e4e0;--radius: 16px;--radius-sm: 10px;--shadow: 0 24px 48px -28px rgba(20, 18, 20, .35);--container: 1260px;--font-head: "Roboto", sans-serif;--font-body: "Heebo", sans-serif}body{background:var(--surface);color:var(--body-text);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.15;font-weight:700}h1{font-size:clamp(2.3rem,1.6rem + 2.9vw,3.75rem);font-weight:900;letter-spacing:-.01em}h2{font-size:clamp(1.85rem,1.5rem + 1.5vw,2.65rem);font-weight:800;letter-spacing:-.01em}h3{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);font-weight:700}p{max-width:62ch}.eyebrow{font-family:var(--font-head);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin-bottom:.75rem}.skip-link{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.75rem 1.25rem;z-index:999;border-radius:0 0 8px}.skip-link:focus{left:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.section{padding-block:clamp(3.5rem,6vw,6.5rem)}.section-alt{background:var(--surface-alt)}.section-head{max-width:62ch;margin-bottom:clamp(2rem,4vw,3rem)}.section-head.center{max-width:640px;margin-inline:auto;text-align:center}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:700;font-size:.95rem;letter-spacing:.01em;padding:.9rem 1.75rem;border-radius:999px;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;white-space:nowrap}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 14px 28px -14px #ee393f8c}.btn-primary:hover{background:var(--brand-dark);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.btn-outline:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}.btn-white{background:#fff;color:var(--brand)}.btn-white:hover{background:#fff0f0;transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;transform:translateY(-2px)}.btn-sm{padding:.6rem 1.35rem;font-size:.85rem}.site-header{position:relative;z-index:40;background:var(--surface)}.utility-bar{background:var(--brand);color:#fff;font-size:.85rem}.utility-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.55rem;flex-wrap:wrap}.ub-phone,.ub-addr{color:#fff;max-width:none}.ub-phone{font-weight:700}.ub-addr{opacity:.95}.ub-phone:hover,.ub-addr:hover{text-decoration:underline}.ub-actions{display:flex;gap:.6rem;margin-left:auto}.ub-btn{background:#121112;color:#fff;border-radius:999px;padding:.45rem 1.1rem;font-weight:600;font-size:.82rem;white-space:nowrap;transition:background-color .2s ease}.ub-btn:hover{background:#000;color:#fff}@media(max-width:800px){.ub-addr{display:none}.ub-actions{margin-left:0}}.header-main{border-bottom:1px solid var(--border)}.header-main-inner{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding-block:.9rem}.brand{flex-shrink:0;display:block}.brand img{height:74px;width:auto;display:block;image-rendering:-webkit-optimize-contrast}.nav-desktop{display:none;flex:1}.nav-desktop>ul{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.nav-desktop>ul>li{position:relative}.nav-desktop>ul>li>a{display:flex;align-items:center;gap:.3rem;font-family:var(--font-head);font-weight:500;font-size:.83rem;padding:.6rem .65rem;border-radius:8px;white-space:nowrap}.nav-desktop>ul>li>a:hover{color:var(--brand);background:var(--surface-alt)}.nav-desktop .caret{width:9px;height:6px;opacity:.6}.nav-desktop .dropdown{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:50}.nav-desktop .has-children:hover>.dropdown,.nav-desktop .has-children:focus-within>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-desktop .dropdown a{display:block;padding:.55rem .75rem;border-radius:6px;font-size:.86rem;font-weight:500}.nav-desktop .dropdown a:hover{background:var(--surface-alt);color:var(--brand)}.header-cta{display:none;align-items:center;gap:1.1rem;flex-shrink:0}.header-phone{display:flex;align-items:center;gap:.4rem;font-family:var(--font-head);font-weight:700;font-size:.92rem;color:var(--ink)}.header-phone svg{width:18px;height:18px;color:var(--brand)}.header-phone:hover{color:var(--brand)}.mobile-nav-toggle{margin-left:auto}.mobile-nav-toggle>summary{list-style:none;cursor:pointer;padding:.5rem}.mobile-nav-toggle>summary::-webkit-details-marker{display:none}.hamburger{display:flex;flex-direction:column;gap:5px;width:26px}.hamburger span{display:block;height:2.5px;background:var(--ink);border-radius:2px}.nav-mobile{padding-block:1rem 1.5rem;border-top:1px solid var(--border)}.nav-mobile>ul{display:flex;flex-direction:column;gap:.15rem}.nav-mobile>ul>li>a{display:block;padding:.75rem .25rem;font-family:var(--font-head);font-weight:600;font-size:.98rem;border-bottom:1px solid var(--border)}.mobile-sub>summary{list-style:none;cursor:pointer;padding:.75rem .25rem;font-family:var(--font-head);font-weight:600;font-size:.98rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.mobile-sub>summary::-webkit-details-marker{display:none}.mobile-sub ul{padding-left:1rem}.mobile-sub ul a{display:block;padding:.6rem .25rem;font-size:.92rem;color:var(--muted)}.nav-mobile-cta{display:flex;flex-direction:column;gap:.9rem;margin-top:1.25rem}.nav-mobile-cta .btn,.nav-mobile-cta .header-phone{justify-content:center}@media(min-width:1300px){.nav-desktop{display:block}.header-cta{display:flex}.mobile-nav-toggle{display:none}}.hero{position:relative;color:var(--ink);padding-block:clamp(4.5rem,10vw,8rem) clamp(3rem,6vw,4.5rem);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,#fffffff7,#ffffffeb 38%,#ffffff8c 65%,#ffffff26 88%);z-index:-1}.hero-copy{max-width:46rem}.hero-copy .eyebrow{color:var(--brand)}.hero-copy h1{color:var(--brand);margin-bottom:1.1rem}.hero-copy .lede{font-family:var(--font-head);font-weight:500;font-size:1.15rem;color:#707b8e;margin-bottom:.5rem}.hero-copy p.body-copy{color:#000;font-size:1.02rem;margin-bottom:0}.specialty-list{display:flex;flex-wrap:wrap;margin:1.75rem 0 2.25rem;padding:0}.specialty-list li{position:relative}.specialty-list li+li{padding-left:1.5rem}.specialty-list li+li:before{content:"";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1px;height:14px;background:#ee393f59}.specialty-list a{font-family:var(--font-head);font-weight:700;font-size:.98rem;color:var(--brand)}.specialty-list a:hover{color:var(--brand-dark);text-decoration:underline}.service-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}a.service-card:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:var(--shadow)}.service-card-icon{flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#ee393f1a;color:var(--brand)}.service-card-icon svg{width:26px;height:26px}.service-card-title{font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--ink)}.service-card-subtitle{display:block;font-size:.85rem;color:var(--muted);margin-top:.15rem}@media(max-width:700px){.hero:after{background-image:linear-gradient(180deg,#fffffff5,#ffffffeb 55%,#fff9)}}.band{overflow:hidden}.band-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3.5rem,7vw,6rem);grid-template-areas:"copy" "media"}.band-copy{max-width:34rem}.band-copy h2{margin-bottom:1rem}.band-text{font-size:1.05rem;margin-bottom:1.75rem}.band-media{grid-area:media}.band-media img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.band-copy{grid-area:copy}.band-red{background:var(--brand);color:#fff}.band-red h2{color:#fff}.band-red .band-text{color:#ffe3e4}.band-red .eyebrow{color:#fff;opacity:.85}.band-light{background:var(--surface)}.band-light .eyebrow{color:var(--brand)}@media(min-width:860px){.band-grid{grid-template-columns:1fr 1fr;grid-template-areas:"copy media"}.band-image-left .band-grid{grid-template-areas:"media copy"}}.matters-grid{display:grid;gap:1.75rem;grid-template-columns:1fr}.matters-card{padding:clamp(1.75rem,3vw,2.5rem);background:var(--surface-alt);border-radius:var(--radius);border:1px solid var(--border)}.matters-card p{max-width:none;font-size:1.05rem;color:var(--body-text)}.matters-card .btn{margin-top:1.5rem}@media(min-width:760px){.matters-grid{grid-template-columns:1fr 1fr}}.photo-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}.photo-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3;box-shadow:var(--shadow)}.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.photo-card:hover img{transform:scale(1.06)}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0f0e0fd1,#0f0e0f26 55%,#0f0e0f00 75%)}.photo-card-body{position:absolute;left:0;right:0;bottom:0;padding:1.75rem;z-index:1;color:#fff}.photo-card-body h3{color:#fff;margin-bottom:.2rem}.photo-card-body span{display:block;font-size:.95rem;color:#e7e3e0}@media(min-width:760px){.photo-grid{grid-template-columns:1fr 1fr}}.badge-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(2.25rem,4vw,3rem)}.badge{font-family:var(--font-head);font-weight:600;font-size:.85rem;padding:.55rem 1.1rem;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);color:var(--ink)}.caring-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}.caring-head .section-head{margin-bottom:0}.caring-grid{margin-top:clamp(2.5rem,4vw,3.5rem);display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:700px){.caring-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1020px){.caring-grid{grid-template-columns:repeat(4,1fr)}}.testimonials .section-head h2{color:#707b8e}.testimonial-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:760px){.testimonial-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{display:flex;flex-direction:column;gap:1rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.75rem,3vw,2.25rem)}.testimonial-stars{display:flex;gap:.2rem;color:var(--brand)}.testimonial-stars svg{width:16px;height:16px}.testimonial-card blockquote{margin:0;max-width:none;color:#000;font-size:1rem}.testimonial-card figcaption{font-family:var(--font-head);font-weight:700;font-size:.9rem;color:var(--ink)}.site-footer{background:var(--surface-deep);color:#cfccc9}.footer-grid{display:grid;gap:2.5rem;padding-block:clamp(3.5rem,6vw,5rem) 3rem;grid-template-columns:1fr}.footer-brand img{height:50px;width:auto;filter:brightness(0) invert(1);margin-bottom:1.25rem}.footer-brand p{color:#b9b5b2;margin-bottom:1.5rem;font-size:.95rem}.footer-col h3{color:#fff;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem}.footer-col ul{display:flex;flex-direction:column;gap:.65rem}.footer-col a{color:#cfccc9;font-size:.95rem}.footer-col a:hover{color:var(--brand)}.footer-contact address{font-style:normal;margin-bottom:1rem}.footer-contact address a{display:block}.footer-phone{display:inline-block;font-family:var(--font-head);font-weight:700;font-size:1.05rem;color:#fff;margin-bottom:.75rem}.footer-hours{font-size:.9rem;color:#b9b5b2}.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.footer-bottom-inner{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-block:1.5rem;font-size:.85rem;color:#9b9794}.footer-bottom-inner a{color:#9b9794}.footer-bottom-inner a:hover{color:var(--brand)}@media(min-width:700px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}.site-footer .btn-outline{color:#fff;border-color:#ffffff61}.site-footer .btn-outline:hover{color:var(--brand);border-color:var(--brand)}.dock{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;background:#121112;border-radius:14px 0 0 14px;padding:.5rem 0 .75rem;box-shadow:0 18px 40px -18px #0009;transition:transform .28s ease}.dock ul{display:flex;flex-direction:column}.dock a{display:flex;flex-direction:column;align-items:center;gap:.15rem;color:#fff;padding:.6rem .9rem;min-width:74px;font-size:.78rem;font-weight:600;line-height:1.1;transition:color .18s ease}.dock a:hover{color:var(--brand)}.dock-icon svg{width:22px;height:22px;display:block}.dock-toggle{display:block;width:100%;background:none;border:0;color:#fff;cursor:pointer;padding:.35rem 0 .5rem;font-size:1rem;line-height:1}.dock-arrow{display:inline-block;transition:transform .28s ease}.dock.dock-closed{transform:translateY(-50%) translate(calc(100% - 34px))}.dock.dock-closed .dock-arrow{transform:rotate(180deg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:780px){.dock{display:none}}@media(prefers-reduced-motion:no-preference){html.js [data-anim]{transition:opacity var(--anim-d,.7s) var(--anim-e,cubic-bezier(.22,.61,.36,1)) var(--anim-delay,0ms),transform var(--anim-d,.7s) var(--anim-e,cubic-bezier(.22,.61,.36,1)) var(--anim-delay,0ms),filter var(--anim-d,.7s) ease var(--anim-delay,0ms),clip-path var(--anim-d,.7s) var(--anim-e,cubic-bezier(.22,.61,.36,1)) var(--anim-delay,0ms);will-change:opacity,transform}html.js [data-anim=fade-in]:not(.anim-in){opacity:0}html.js [data-anim=fade-up]:not(.anim-in){opacity:0;transform:translateY(28px)}html.js [data-anim=fade-down]:not(.anim-in){opacity:0;transform:translateY(-28px)}html.js [data-anim=fade-left]:not(.anim-in){opacity:0;transform:translate(-32px)}html.js [data-anim=fade-right]:not(.anim-in){opacity:0;transform:translate(32px)}html.js [data-anim=fade-up-left]:not(.anim-in){opacity:0;transform:translate(-28px,28px)}html.js [data-anim=fade-up-right]:not(.anim-in){opacity:0;transform:translate(28px,28px)}html.js [data-anim=fade-down-left]:not(.anim-in){opacity:0;transform:translate(-28px,-28px)}html.js [data-anim=fade-down-right]:not(.anim-in){opacity:0;transform:translate(28px,-28px)}html.js [data-anim=slide-up]:not(.anim-in){opacity:0;transform:translateY(56px)}html.js [data-anim=slide-down]:not(.anim-in){opacity:0;transform:translateY(-56px)}html.js [data-anim=slide-left]:not(.anim-in){opacity:0;transform:translate(-72px)}html.js [data-anim=slide-right]:not(.anim-in){opacity:0;transform:translate(72px)}html.js [data-anim=slide-up-far]:not(.anim-in){opacity:0;transform:translateY(110px)}html.js [data-anim=zoom-in]:not(.anim-in){opacity:0;transform:scale(.88)}html.js [data-anim=zoom-in-up]:not(.anim-in){opacity:0;transform:scale(.88) translateY(36px)}html.js [data-anim=zoom-in-down]:not(.anim-in){opacity:0;transform:scale(.88) translateY(-36px)}html.js [data-anim=zoom-in-left]:not(.anim-in){opacity:0;transform:scale(.88) translate(-40px)}html.js [data-anim=zoom-in-right]:not(.anim-in){opacity:0;transform:scale(.88) translate(40px)}html.js [data-anim=zoom-out]:not(.anim-in){opacity:0;transform:scale(1.14)}html.js [data-anim=zoom-out-up]:not(.anim-in){opacity:0;transform:scale(1.14) translateY(36px)}html.js [data-anim=zoom-out-down]:not(.anim-in){opacity:0;transform:scale(1.14) translateY(-36px)}html.js [data-anim=flip-up]:not(.anim-in){opacity:0;transform:perspective(1200px) rotateX(-48deg)}html.js [data-anim=flip-down]:not(.anim-in){opacity:0;transform:perspective(1200px) rotateX(48deg)}html.js [data-anim=flip-left]:not(.anim-in){opacity:0;transform:perspective(1200px) rotateY(48deg)}html.js [data-anim=flip-right]:not(.anim-in){opacity:0;transform:perspective(1200px) rotateY(-48deg)}html.js [data-anim=rotate-in]:not(.anim-in){opacity:0;transform:rotate(-8deg) scale(.94)}html.js [data-anim=rotate-in-left]:not(.anim-in){opacity:0;transform:rotate(-12deg) translate(-40px)}html.js [data-anim=rotate-in-right]:not(.anim-in){opacity:0;transform:rotate(12deg) translate(40px)}html.js [data-anim=swing-in]:not(.anim-in){opacity:0;transform:perspective(1000px) rotateX(-70deg);transform-origin:top center;--anim-e:cubic-bezier(.22,1.2,.36,1)}html.js [data-anim=skew-in]:not(.anim-in){opacity:0;transform:skewY(5deg) translateY(30px)}html.js [data-anim=scale-up]:not(.anim-in){opacity:0;transform:scale(.8)}html.js [data-anim=scale-down]:not(.anim-in){opacity:0;transform:scale(1.2)}html.js [data-anim=bounce-in]:not(.anim-in){opacity:0;transform:scale(.6);--anim-e:cubic-bezier(.34,1.56,.64,1)}html.js [data-anim=bounce-up]:not(.anim-in){opacity:0;transform:translateY(48px) scale(.94);--anim-e:cubic-bezier(.34,1.56,.64,1)}html.js [data-anim=blur-in]:not(.anim-in){opacity:0;filter:blur(14px)}html.js [data-anim=blur-up]:not(.anim-in){opacity:0;filter:blur(12px);transform:translateY(26px)}html.js [data-anim=wipe-up]:not(.anim-in){clip-path:inset(100% 0 0 0)}html.js [data-anim=wipe-down]:not(.anim-in){clip-path:inset(0 0 100% 0)}html.js [data-anim=wipe-left]:not(.anim-in){clip-path:inset(0 100% 0 0)}html.js [data-anim=wipe-right]:not(.anim-in){clip-path:inset(0 0 0 100%)}html.js [data-anim=iris]:not(.anim-in){clip-path:circle(0% at 50% 50%)}html.js [data-anim=unfold]:not(.anim-in){opacity:0;transform:scaleY(.4);transform-origin:top}html.js [data-anim].anim-in{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}html.js [data-anim=iris].anim-in{clip-path:circle(75% at 50% 50%)}}@media(prefers-reduced-motion:reduce){html.js [data-anim]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}
