:root{color-scheme:light;--ink: #071b2f;--ink-soft: #102a44;--red: #b52e29;--red-dark: #92231f;--white: #ffffff;--steel-50: #f4f6f7;--steel-100: #e5e9ec;--steel-300: #c6ced4;--steel-600: #566674;--shadow: 0 14px 34px rgb(7 27 47 / 12%);--page-pad: clamp(1.25rem, 5vw, 5.5rem);--content: 90rem;--heading: "Avenir Next", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;text-rendering:optimizeLegibility}body,button,a{-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.2em}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-180%);background:var(--white);border:2px solid var(--ink);padding:.7rem 1rem;font-weight:800}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:10;border-bottom:2px solid var(--ink);background:#fffffff5}.header-inner{width:min(100%,var(--content));min-height:6.1rem;margin:0 auto;padding:0 var(--page-pad);display:grid;grid-template-columns:minmax(18rem,1fr) auto minmax(14rem,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem)}.wordmark,.footer-brand{width:fit-content;font-family:var(--heading);font-weight:750;letter-spacing:-.025em;line-height:1.05;text-decoration:none}.wordmark{font-size:clamp(1.8rem,2.5vw,2.45rem);white-space:nowrap}.primary-nav{display:flex;align-items:center;gap:clamp(1.7rem,3vw,3.6rem);font-size:1.05rem;font-weight:800}.primary-nav a,.site-footer nav a{text-decoration:none}.primary-nav a{padding-block:.8rem;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a:focus-visible{border-color:var(--red)}.header-phone{justify-self:end;display:inline-flex;align-items:center;gap:.65rem;color:var(--red);font-size:1.12rem;font-weight:900;text-decoration:none}.header-phone svg,.hero-address svg{width:1.45rem;height:1.45rem;fill:currentColor;flex:0 0 auto}.header-phone-short{display:none}.hero{min-height:42rem;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--steel-300)}.hero-copy{padding:clamp(4.25rem,6.5vw,7.2rem) var(--page-pad) clamp(3.5rem,5vw,5.5rem);display:flex;flex-direction:column;justify-content:center;background:var(--white)}.hero h1,.section h2,.about h2,.visit h2,.legal-page h1,.legal-page h2,.hours h3{margin:0;font-family:var(--heading);font-weight:700;letter-spacing:-.035em;line-height:1.06}.hero h1{max-width:none;font-size:clamp(3rem,4.6vw,4.8rem)}.hero-copy>p{max-width:33rem;margin:1.6rem 0 0;color:#172737;font-size:clamp(1.15rem,1.6vw,1.55rem);line-height:1.5}.hero-actions{margin-top:2rem;display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.button{min-height:3.65rem;padding:.95rem 1.65rem;display:inline-flex;justify-content:center;align-items:center;border:2px solid transparent;border-radius:.15rem;font-family:var(--body);font-size:1rem;font-weight:900;line-height:1.1;text-decoration:none;transition:transform .16s ease,background-color .16s ease,color .16s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--red);color:var(--white)}.button-primary:hover,.button-primary:focus-visible{background:var(--red-dark)}.button-secondary{border-color:var(--ink);background:var(--white);color:var(--ink)}.button-secondary:hover,.button-secondary:focus-visible{background:var(--ink);color:var(--white)}.hero-address{width:fit-content;margin-top:2rem;padding-top:1.15rem;display:inline-flex;align-items:center;gap:.8rem;border-top:1px solid var(--steel-300);color:var(--ink);font-size:1.02rem;font-weight:800;text-decoration:none}.hero-address svg{color:var(--red)}.hero-address-line{white-space:nowrap}.hero-image{min-width:0;align-self:center;margin:clamp(1.25rem,2.4vw,2.5rem) var(--page-pad);aspect-ratio:1.42;background:var(--steel-100);overflow:hidden;border-radius:1.5rem}.hero-image picture,.hero-image img{width:100%;height:100%}.hero-image img{object-fit:cover;object-position:50% center}.section-inner{width:min(100%,var(--content));margin:0 auto;padding-inline:var(--page-pad)}.section{padding:clamp(5rem,8vw,8rem) 0}.services-layout{display:grid;grid-template-columns:minmax(22rem,.8fr) minmax(34rem,1.2fr);gap:clamp(4rem,8vw,9rem)}.section h2,.about h2,.visit h2{font-size:clamp(2.25rem,3.6vw,4rem)}.section-intro p{max-width:33rem;margin:1.5rem 0 0;color:#273847;font-size:1.2rem}.red-rule{width:10rem;height:.42rem;margin-top:1.8rem;display:block;background:var(--red)}.section-intro .service-note{margin-top:1.75rem;color:var(--steel-600);font-size:.95rem;font-weight:600}.service-list{margin:0;border-top:1px solid var(--steel-300)}.service-item{border-bottom:1px solid var(--steel-300)}.service-item summary{min-height:5rem;padding:1.15rem .5rem;display:grid;grid-template-columns:minmax(0,1fr) 2rem;align-items:center;gap:1.1rem;cursor:pointer;list-style:none}.service-item summary::-webkit-details-marker{display:none}.service-item summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.service-item summary:hover .service-summary-copy strong,.service-item summary:focus-visible .service-summary-copy strong{color:var(--red-dark)}.service-summary-copy{min-width:0}.service-summary-copy strong{font-family:var(--heading);font-size:clamp(1.2rem,1.55vw,1.6rem);font-weight:650;letter-spacing:-.015em;line-height:1.25;transition:color .16s ease}.service-toggle{width:1.75rem;height:1.75rem;position:relative;border:1px solid var(--steel-300);border-radius:50%;color:var(--red-dark)}.service-toggle:before,.service-toggle:after{content:"";position:absolute;left:50%;top:50%;width:.7rem;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .28s cubic-bezier(.22,1,.36,1)}.service-toggle:after{transform:translate(-50%,-50%) rotate(90deg)}.service-item[open] .service-toggle:after{transform:translate(-50%,-50%) rotate(0)}.service-panel{padding:.65rem 2.5rem 1.5rem .5rem;color:#273847}.service-panel{transform-origin:top;will-change:height,opacity}.service-panel ul{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;row-gap:.55rem;list-style:none}.service-panel li{position:relative;padding-left:1rem;line-height:1.45}.service-panel li:before{content:"";position:absolute;left:0;top:.67em;width:.3rem;height:.3rem;border-radius:50%;background:var(--red)}.symptom-guide{margin-top:1.5rem;padding:1.15rem 1.25rem;border-left:3px solid var(--red);background:var(--steel-50)}.symptom-guide h3{margin:0;font-family:var(--heading);font-size:1.05rem;font-weight:800}.symptom-panel p{max-width:46rem;margin:.9rem 0 0;color:#273847}.about{padding:clamp(4.5rem,7vw,7rem) 0;background:var(--ink);color:var(--white)}.about-layout{display:grid;grid-template-columns:minmax(24rem,.9fr) minmax(24rem,1.1fr);align-items:end;gap:clamp(3rem,7vw,8rem)}.about h2{max-width:15ch}.about-copy{padding-left:clamp(1.5rem,4vw,4rem);border-left:2px solid var(--red)}.about-copy p{max-width:39rem;margin:0;color:#e3eaf0;font-size:clamp(1.15rem,1.7vw,1.45rem)}.about-copy p+p{margin-top:1.2rem;color:var(--white);font-weight:800}.visit{padding:clamp(5rem,8vw,8rem) 0;background:var(--ink-soft);color:var(--white)}.visit h2{max-width:18ch}.contact-rule{width:100%;height:.2rem;margin:2.2rem 0 2.8rem;display:block;background:var(--red)}.visit-grid{display:grid;grid-template-columns:minmax(20rem,1fr) minmax(24rem,.85fr);gap:clamp(4rem,8vw,9rem)}.contact-details{display:flex;align-items:flex-start;flex-direction:column;gap:.8rem}.contact-details>a:not(.button){color:var(--white);font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:700}.contact-details .contact-primary{font-size:clamp(1.75rem,2.7vw,2.55rem);font-weight:750;line-height:1.2}.contact-details address{margin:.55rem 0 1rem;color:#d9e2e9;font-size:1.15rem;font-style:normal}.hours{padding-left:clamp(1.8rem,4vw,4.5rem);border-left:2px solid var(--red)}.hours h3{padding-bottom:.8rem;border-bottom:2px solid var(--red);font-size:1.7rem}.hours dl{margin:1rem 0 0}.hours dl div{padding:.45rem 0;display:grid;grid-template-columns:1fr auto;gap:1.5rem;border-bottom:1px solid rgb(255 255 255 / 14%)}.hours dt,.hours dd{margin:0}.hours dd{color:#d9e2e9}.site-footer{border-top:1px solid rgb(255 255 255 / 12%);background:#04111e;color:var(--white)}.footer-inner{min-height:8rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.footer-brand{font-size:1.8rem}.site-footer nav{display:flex;gap:2rem}.site-footer p{justify-self:end;margin:0;color:#aebbc6;font-size:.9rem}.legal-page{min-height:calc(100vh - 14rem);padding:clamp(4rem,8vw,7rem) 0;background:var(--steel-50)}.legal-content{max-width:52rem}.legal-page h1{font-size:clamp(3rem,6vw,5.5rem)}.legal-page .legal-updated{margin:1rem 0 3rem;color:var(--steel-600);font-weight:700}.legal-page h2{margin-top:2.5rem;font-family:var(--body);font-size:1.25rem;line-height:1.3;text-transform:none}.legal-page p,.legal-page li{color:#263846}.legal-page ul{padding-left:1.2rem}:focus-visible{outline:3px solid #e15752;outline-offset:4px}@media(max-width:1080px){.header-inner{grid-template-columns:1fr auto;gap:1.5rem}.primary-nav{grid-column:1 / -1;grid-row:2;justify-content:center;border-top:1px solid var(--steel-100)}.header-phone{grid-column:2;grid-row:1}.hero{grid-template-columns:1fr}.hero-copy{min-height:36rem}.hero h1{max-width:none}.hero-image{margin:clamp(1.25rem,3vw,2rem) var(--page-pad);aspect-ratio:1.48;height:auto}.services-layout{grid-template-columns:1fr;gap:3.5rem}}@media(min-width:1081px){.section-intro{position:sticky;top:2rem;align-self:start}}@media(max-width:760px){:root{--page-pad: 1.25rem}html{scroll-padding-top:1rem}.header-inner{min-height:4.6rem}.wordmark{font-size:clamp(1.55rem,6.2vw,1.95rem)}.header-phone{min-height:2.8rem;margin-top:.55rem;padding:.5rem .75rem;border:2px solid var(--red);font-size:.95rem}.header-phone-full{display:none}.header-phone-short{display:inline}.primary-nav{gap:2rem;overflow-x:auto;justify-content:flex-start;font-size:.93rem}.hero{min-height:0}.hero-copy{min-height:0;padding-top:4rem;padding-bottom:3rem}.hero h1{max-width:none;font-size:clamp(2.25rem,8.8vw,3.15rem)}.hero-copy>p{font-size:1.05rem}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{min-width:0;padding-inline:.85rem;font-size:.92rem}.hero-address{align-items:flex-start;font-size:.94rem}.hero-image{margin:0 calc(var(--page-pad) + .65rem) clamp(1.25rem,4vw,2rem);aspect-ratio:1.42;height:auto;min-height:0;max-height:none;border-radius:1.25rem}.hero-image img{object-position:center}.section h2,.about h2,.visit h2{font-size:clamp(2.05rem,8.5vw,2.85rem)}.section-intro p{font-size:1.05rem}.service-item summary{min-height:4.75rem;grid-template-columns:minmax(0,1fr) 1.75rem;gap:.75rem;padding-inline:0}.service-summary-copy strong{font-size:1.16rem}.service-panel{padding:.65rem 0 1.5rem}.service-panel ul{grid-template-columns:1fr;gap:.5rem}.about-layout,.visit-grid{grid-template-columns:1fr;gap:3rem}.about-copy,.hours{padding:1.5rem 0 0;border-top:2px solid var(--red);border-left:0}.footer-inner{padding-block:2.5rem;grid-template-columns:1fr;gap:1.3rem}.site-footer p{justify-self:start}.site-footer nav a{min-height:2.75rem;display:inline-flex;align-items:center}}@media(max-width:390px){.header-inner{gap:.35rem}.wordmark{font-size:1.42rem}.header-phone{padding-inline:.55rem}.header-phone svg{display:none}.primary-nav{gap:1.55rem}.hero-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
