.service-detail{max-width:880px;padding-top:40px}.service-detail h1{font-size:clamp(30px,5vw,44px);line-height:1.3;color:var(--navy)}.service-detail h2{font-size:25px;color:var(--navy);margin-top:38px}.service-detail li{margin-block:12px}.service-detail nav{font-size:14px}.service-detail nav a{text-decoration:underline}.service-page-links{padding-block:0;display:flex;flex-wrap:wrap;gap:12px 28px}.service-card h3 a{text-decoration:underline;text-underline-offset:5px}
.orange,.mobile-bar a:last-child{background:#b54e0c;color:#fff}.orange:hover{background:#963e08}.text-link{color:#a74408}.service-card .text-link{display:inline-block;min-height:44px;padding-block:8px}.gallery figure.wide img{object-fit:contain;background:#edf1f3}
.service-grid>*,.video-section>*,.contact>*,.facebook-section>*,.facebook-card>*{min-width:0}
.contact-actions,.hero-actions{flex-wrap:wrap}
.footer-links a,.contact-actions a,.facebook-card strong{overflow-wrap:anywhere}
.button{text-align:center}
.video-section video{aspect-ratio:16/9;object-fit:contain}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:var(--navy);padding:12px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
@media(min-width:961px) and (max-width:1200px){.site-header{gap:12px;padding-inline:20px}.site-header .desktop-nav{gap:12px;font-size:14px}.header-cta{padding:10px 12px;font-size:14px}}
@media(max-width:960px){.mobile-menu nav{max-height:calc(100dvh - 146px - env(safe-area-inset-bottom));overscroll-behavior:contain;gap:4px}.mobile-menu nav a{min-height:44px;display:flex;align-items:center}.contact-actions{flex-direction:column;align-items:stretch}}
@media(max-width:640px){.mobile-bar{height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{min-height:63px;font-size:16px;padding:8px}.hero{height:auto;min-height:620px;display:grid;align-items:end}.hero-photo{position:absolute;inset:0}.hero-content{position:relative;inset:auto;transform:none;max-width:none;padding:90px 20px 42px}.contact{grid-template-columns:1fr}.contact>img{justify-self:start}.contact h2{font-size:clamp(28px,7vw,34px)}.gallery figcaption{padding-top:24px}.image-note{font-size:14px}}

/* Keep layout stable when text wraps or the device has a home indicator. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-size:1rem}.lead{font-size:1.1875rem}.button,.mobile-bar a{font-size:1rem}.service-card h3{font-size:1.625rem}.faq summary{font-size:1.125rem}.faq details p{font-size:1rem}.service-detail h2{font-size:1.5625rem}.section-heading h2,.area h2,.contact h2,.video-copy h2{font-size:clamp(2rem,4vw,3rem)}
.hero{height:auto;min-height:570px;display:grid;align-items:center}.hero-photo{position:absolute;inset:0}.hero-content{position:relative;inset:auto;transform:none;max-width:760px;padding:90px 24px 100px;margin-left:max(0px,calc((100% - var(--max))/2))}.hero h1{font-size:clamp(2.25rem,5vw,4.5rem)}
.video-player{min-width:0}.video-player p{font-size:1rem;line-height:1.7}.video-player a{text-decoration:underline;text-underline-offset:4px}.video-status:empty{display:none}.video-status{padding:10px 14px;background:var(--soft);border-left:3px solid var(--navy)}
@media(max-width:640px){.hero{min-height:560px}.hero-content{margin:0;padding:70px 20px 42px}.hero h1{font-size:2.5rem}.lead{font-size:1.0625rem}.contact h2{font-size:1.875rem}.mobile-bar{height:auto;min-height:calc(64px + env(safe-area-inset-bottom))}.mobile-bar a{font-size:1rem;white-space:normal;overflow-wrap:anywhere}body{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}
@media(max-height:500px) and (orientation:landscape){.site-header{position:relative}.mobile-menu nav{max-height:calc(100dvh - 90px);max-height:calc(100vh - 90px)}.hero{min-height:0}.hero-content{padding-block:36px 60px}.hero h1{font-size:2.25rem}.hero-actions{margin-top:18px;flex-wrap:wrap}.hero-shade{background:rgba(10,34,46,.7)}}

/* At very large browser text sizes, keep both primary actions fully readable. */
@media(max-width:360px){body{padding-bottom:calc(9.5rem + env(safe-area-inset-bottom))}.mobile-bar{grid-template-columns:1fr}.mobile-bar a{min-height:4rem}.site-header .brand-copy small{display:none}.hero h1{font-size:2.125rem}}
