:root{--deep:#1f4f57;--green:#577a7e;--blue:#3e6f78;--pale:#f5f8f8;--ink:#20303c;--cream:#fefaf1;--serif:'Fraunces',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--pale);font:400 16px/1.65 var(--sans)}img{display:block;max-width:100%}a{color:inherit}.skip{position:fixed;left:1rem;top:-5rem;background:var(--pale);color:var(--deep);padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}.site-header{height:92px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:var(--pale);color:var(--deep);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--deep);font-family:var(--serif);font-size:1.08rem;line-height:1.05}.brand img{width:64px;height:64px;object-fit:contain}.brand small{font:500 .69rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase}.site-header nav{display:flex;gap:clamp(1rem,2.3vw,2.4rem);align-items:center}.site-header nav>a:not(.button){text-decoration:none;font-size:.93rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.35rem;background:var(--deep);color:var(--pale);text-decoration:none;font-weight:600;border:1px solid var(--pale);border-radius:0;transition:.2s}.button:hover{background:var(--green)}.button-small{padding:.68rem 1.12rem;border-color:var(--deep)}.menu-button{display:none}.hero{min-height:680px;position:relative;display:flex;align-items:center;padding:clamp(3rem,6vw,6rem) clamp(1.25rem,8vw,8rem);overflow:hidden;background:var(--deep)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,79,87,.96),rgba(31,79,87,.78) 44%,rgba(31,79,87,.12) 82%)}.hero-content{position:relative;width:min(620px,50vw)}.eyebrow{margin:0 0 1rem;color:var(--pale);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.hero h1{font:300 clamp(3.5rem,6.5vw,6.4rem)/.98 var(--serif);letter-spacing:-.035em;color:var(--pale);margin:0 0 1.4rem}.hero-content>p:not(.eyebrow){font-size:1.08rem;max-width:540px;color:var(--pale)}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:1.8rem}.hero .button{background:var(--pale);color:var(--deep)}.text-link{color:var(--pale);text-decoration:none;font-weight:600}.text-link span{display:inline-block;margin-left:.3rem}.hero-note{display:none}.section{padding:clamp(4.5rem,8vw,7.5rem) clamp(1.25rem,8vw,8rem)}.intro{background:var(--pale);color:var(--ink);text-align:center}.intro>*{max-width:900px;margin-left:auto!important;margin-right:auto!important}.intro h2,.section-heading h2,.about h2,.contact h2{font:300 clamp(2.45rem,4.6vw,4.5rem)/1.12 var(--serif);letter-spacing:-.025em;margin:.2rem 0 1.25rem}.intro h2{color:var(--deep)}.intro .eyebrow,.intro>p:last-child{color:var(--green)}.intro>p:last-child{max-width:690px;font-size:1.05rem}.services{background:var(--deep)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.7rem}.section-heading h2{max-width:700px;margin-bottom:0;color:var(--pale)}.dark{white-space:nowrap;color:var(--pale)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}.service-card{background:var(--green);border:1px solid var(--pale);display:flex;flex-direction:column;min-width:0}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card>div{padding:1.45rem;display:flex;flex-direction:column;flex:1}.service-number{display:none}.service-card h3{font:400 clamp(1.4rem,2vw,1.85rem)/1.15 var(--serif);color:var(--pale);margin:0 0 .7rem}.service-card>div>p:not(.service-number){color:var(--pale);font-size:.93rem;margin:0 0 1.1rem}.service-card ul{list-style:none;padding:0;margin:auto 0 1.25rem;border-top:1px solid rgba(245,248,248,.5)}.service-card li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(245,248,248,.5);font-size:.84rem}.service-card a{color:var(--pale);font-weight:600;text-decoration:none}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);padding:clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,8rem);gap:clamp(2.5rem,7vw,7rem);align-items:center}.about-image img{width:100%;height:min(620px,65vw);object-fit:cover}.about-copy,.about-copy h2,.about-copy .eyebrow,.about-copy>p:not(.eyebrow){color:var(--pale)}.values{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(245,248,248,.5)}.values span{font-size:.85rem}.values b{display:block;font:400 1.25rem var(--serif);margin-bottom:.2rem}.testimonial{text-align:center;background:var(--pale);color:var(--ink)}.testimonial .eyebrow,.quote-author{color:var(--green)}.testimonial blockquote{font:300 clamp(2rem,4vw,3.8rem)/1.25 var(--serif);max-width:980px;margin:1rem auto 1.7rem;color:var(--deep)}.contact{background:var(--green);display:grid;grid-template-columns:1.05fr 1fr auto;align-items:end;gap:3rem}.contact h2,.contact .eyebrow{color:var(--pale)}.contact-details{display:grid;gap:1rem}.contact-details a{text-decoration:none;color:var(--pale)}.contact-details span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}.button-cream{background:var(--pale);color:var(--deep);white-space:nowrap}footer{padding:3rem clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr auto;gap:1rem 3rem;align-items:center;background:var(--deep);color:var(--pale);font-size:.85rem}.footer-brand{font:400 1.55rem var(--serif);text-decoration:none}.social{display:flex;gap:1.4rem}.copyright{grid-column:1/-1;border-top:1px solid rgba(245,248,248,.4);padding-top:1rem;margin-top:1rem}@media(max-width:1150px){.service-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr 1fr}.contact .button{justify-self:start}}@media(max-width:760px){.site-header{height:76px;padding:0 1rem}.brand img{width:50px;height:50px}.menu-button{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;align-items:center}.menu-button span{width:24px;height:1.5px;background:var(--deep)}.menu-button b{position:absolute;width:1px;height:1px;overflow:hidden}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1.5rem;background:var(--pale);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero{min-height:640px;padding:3.5rem 1.3rem;align-items:end}.hero-overlay{background:linear-gradient(0deg,rgba(31,79,87,.97),rgba(31,79,87,.78) 58%,rgba(31,79,87,.12) 90%)}.hero-content{width:100%}.hero h1{font-size:clamp(3.2rem,15vw,4.7rem)}.hero-actions{flex-direction:column;align-items:flex-start}.section{padding:4.2rem 1.25rem}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:1rem}.service-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;padding:4.2rem 1.25rem;gap:3rem}.about-image img{height:420px}.values{grid-template-columns:1fr}.contact{grid-template-columns:1fr;align-items:start}.contact .button{width:100%}footer{grid-template-columns:1fr}.copyright{grid-column:1}}
/* Compact homepage scale, aligned with the Services page */
.hero{min-height:560px;padding:clamp(2.75rem,5vw,4.5rem) clamp(1.25rem,6vw,5rem)}
.hero-content{width:min(570px,52vw)}
.hero h1{font-size:clamp(2.75rem,5vw,4.6rem);line-height:1.02;margin-bottom:1rem}
.hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:500px}
.hero-actions{gap:1.25rem;margin-top:1.35rem}
.section{padding:clamp(3rem,6vw,4.75rem) clamp(1.25rem,6vw,5rem)}
.intro>*{max-width:800px}
.intro h2,.section-heading h2,.about h2,.contact h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.12;margin-bottom:.8rem}
.intro>p:last-child{font-size:1rem;line-height:1.6}
.section-heading{margin-bottom:1.75rem}
.service-grid{gap:1rem}
.service-card>div{padding:1.15rem}
.service-card h3{font-size:clamp(1.3rem,1.7vw,1.6rem);margin-bottom:.5rem}
.service-card>div>p:not(.service-number){font-size:.9rem;line-height:1.5;margin-bottom:.8rem}
.service-card ul{margin-bottom:.85rem}
.service-card li{padding:.4rem 0}
.service-card a{font-size:.9rem}
.about{padding:clamp(3rem,6vw,4.75rem) clamp(1.25rem,6vw,5rem);gap:clamp(2rem,5vw,4.5rem)}
.about-image img{height:min(500px,52vw)}
.about-copy>p:not(.eyebrow){line-height:1.6}
.values{margin-top:1.4rem;padding-top:1rem}
.values b{font-size:1.12rem}
.testimonial blockquote{font-size:clamp(1.75rem,3vw,2.75rem);max-width:850px;margin:.75rem auto 1.25rem}
.contact{gap:2rem}
@media(max-width:760px){.hero{min-height:540px;padding:2.75rem 1.2rem}.hero-content{width:100%}.hero h1{font-size:clamp(2.65rem,12vw,3.75rem)}.hero-actions{gap:.85rem;margin-top:1.15rem}.section{padding:3rem 1.1rem}.section-heading{margin-bottom:1.4rem}.about{padding:3rem 1.1rem;gap:2rem}.about-image img{height:360px}.service-card>div{padding:1.1rem}.contact{gap:1.5rem}}

/* Smaller homepage service cards */
.services>.section-heading,.services>.service-grid{width:min(100%,1180px);margin-left:auto;margin-right:auto}
.service-grid{gap:.8rem}
.service-card img{height:160px;aspect-ratio:auto;object-fit:cover}
.service-card>div{padding:.9rem 1rem}
.service-card h3{font-size:1.25rem;line-height:1.18;margin-bottom:.4rem}
.service-card>div>p:not(.service-number){font-size:.875rem;line-height:1.45;margin-bottom:.65rem}
.service-card ul{margin-bottom:.65rem}
.service-card li{padding:.32rem 0;font-size:.875rem}
.service-card a{font-size:.875rem}
@media(min-width:1151px){.service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.services>.section-heading,.services>.service-grid{width:min(100%,860px)}.service-card img{height:150px;aspect-ratio:auto}}
@media(max-width:760px){.services>.service-grid{width:min(100%,430px)}.service-card>div{padding:.9rem}.services .service-card img{height:165px;aspect-ratio:auto}}
@media(max-width:540px){.services .service-card img{height:230px}.site-header nav>.button-small{display:none}}

/* Homepage wellness services preview */
.wellness-preview{background:var(--cream);color:var(--ink)}
.wellness-preview-heading{width:min(100%,1180px);margin:0 auto 2rem;display:flex;align-items:end;justify-content:space-between;gap:3rem}
.wellness-preview-heading>div{max-width:730px}
.wellness-preview .eyebrow{color:var(--green)}
.wellness-preview h2{font:300 clamp(2.35rem,4.2vw,4rem)/1.08 var(--serif);letter-spacing:-.025em;color:var(--deep);margin:.2rem 0 .8rem}
.wellness-preview-heading>div>p:last-child{margin:0;color:var(--green);max-width:650px}
.wellness-preview .text-link{color:var(--deep);white-space:nowrap}
.wellness-preview-grid{width:min(100%,1180px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.wellness-preview-card{background:var(--pale);border-top:4px solid var(--green);padding:1.4rem 1.5rem 1.5rem;display:flex;flex-direction:column;min-height:255px}
.wellness-preview-label{margin:0 0 .65rem;color:var(--green);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.wellness-preview-card h3{font:400 clamp(1.45rem,2vw,1.85rem)/1.15 var(--serif);color:var(--deep);margin:0 0 .65rem}
.wellness-preview-card>p:not(.wellness-preview-label){margin:0 0 1.15rem;color:var(--ink);font-size:.93rem}
.wellness-preview-card a{margin-top:auto;color:var(--deep);font-weight:600;text-decoration:none}
.wellness-preview-card a span{display:inline-block;margin-left:.25rem}
@media(max-width:850px){.wellness-preview-heading{display:block}.wellness-preview-heading .text-link{display:inline-block;margin-top:1rem}.wellness-preview-grid{grid-template-columns:1fr}.wellness-preview-card{min-height:0}}

/* Auto insurance and PIP support */
.insurance-section{background:var(--blue);color:var(--pale);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.insurance-copy{max-width:720px}
.insurance-copy h2{font:300 clamp(2.5rem,4.8vw,4.7rem)/1.05 var(--serif);letter-spacing:-.025em;margin:.2rem 0 1rem;color:var(--pale)}
.insurance-lead{font-size:1.12rem;line-height:1.55;max-width:650px}
.insurance-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1.7rem}
.insurance-link{font-weight:600;text-decoration:none}
.insurance-details{background:var(--pale);color:var(--ink);padding:clamp(1.5rem,3vw,2.5rem);border-top:5px solid var(--deep)}
.insurance-details h3{font:400 clamp(1.5rem,2.4vw,2rem)/1.2 var(--serif);color:var(--deep);margin:0 0 1rem}
.insurance-details ul{list-style:none;padding:0;margin:0 0 1.5rem}
.insurance-details li{padding:.55rem 0 .55rem 1.65rem;border-bottom:1px solid #d6e0e1;position:relative}
.insurance-details li::before{content:'\2713';position:absolute;left:.15rem;color:var(--green);font-weight:700}
.insurance-note{background:var(--cream);border-left:3px solid var(--green);padding:1rem 1.1rem}
.insurance-note strong{color:var(--deep)}
.insurance-note p{font-size:.82rem;line-height:1.5;margin:.4rem 0 0;color:#4f666b}
@media(max-width:850px){.insurance-section{grid-template-columns:1fr}.insurance-details{max-width:650px}}
@media(max-width:540px){.insurance-actions{align-items:stretch;flex-direction:column}.insurance-actions .button{width:100%}.insurance-link{padding:.4rem;text-align:center}}
