:root{--navy:#111e31;--teal:#087775;--teal-dark:#075c5a;--orange:#f27620;--muted:#475a65;--line:#c7d8d7;--soft:#eef7f6;--heading:'Plus Jakarta Sans',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;color-scheme:light;scrollbar-color:#809c9b #eef7f6;scrollbar-gutter:stable}
*{box-sizing:border-box}body{margin:0;color:var(--navy);background:#fff;font:400 1.125rem/1.6 var(--body)}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--teal-dark);text-underline-offset:4px}a:hover{color:var(--teal)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:4px}h1,h2,h3{font-family:var(--heading);line-height:1.15;margin:0;letter-spacing:-.025em}h2{font-size:clamp(1.875rem,3.2vw,2.75rem)}h3{font-size:1.4375rem}p{margin:0 0 20px}ul,ol{padding-left:22px}.container{width:min(1180px,calc(100% - 64px));margin:auto}.section{padding:80px 0;scroll-margin-top:120px}.eyebrow{font-size:0.875rem;letter-spacing:.13em;font-weight:800;color:var(--teal-dark);margin:0 0 18px}.section-lead{font-size:1.25rem;line-height:1.65;color:var(--muted);margin-top:24px}.text-link{font:700 1rem/1.5 var(--body);background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--teal-dark);text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;padding:16px 24px;min-height:54px;border-radius:9px;border:1px solid transparent;font:700 1rem/1.4 var(--body);text-decoration:none;letter-spacing:0;transition:background .15s ease,box-shadow .15s ease}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark);color:#fff;box-shadow:0 4px 14px #08777525}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:#e2f3f1;color:var(--navy)}.micro{font-size:0.875rem;line-height:1.5;color:var(--muted);margin:14px 0 0}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;padding:12px 18px;border:2px solid var(--teal)}.skip-link:focus{top:12px}.utility{background:var(--navy);color:#e0efed;font-size:0.875rem}.utility .container{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:36px}.utility a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px;min-height:36px}.site-header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid #dce7e6}.header-inner{display:flex;align-items:center;gap:28px;min-height:100px}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0;text-decoration:none}.personal-logo{width:152px;height:auto}.endorsement{border-left:1px solid var(--line);padding-left:18px;display:flex;align-items:center;gap:6px}.endorsement span{font:700 .875rem/1 var(--body);letter-spacing:.1em;color:var(--muted)}.endorsement img{width:92px;height:auto}#primary-nav{display:flex;gap:24px;margin-left:auto;align-items:center}#primary-nav a{font-size:0.875rem;font-weight:700;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center;color:var(--navy)}#primary-nav a:hover{color:var(--teal)}.header-book{padding:13px 18px;font-size:0.875rem;min-height:48px;gap:14px}.menu-toggle{display:none}
.hero{padding:54px 0 58px;background:#f7fbfa}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.hero h1{font-size:clamp(2.875rem,5.6vw,4.625rem);line-height:1.08;letter-spacing:-.035em;max-width:640px}.hero h1 span{color:var(--teal)}.hero-sub{font-size:1.1875rem;line-height:1.65;color:var(--muted);max-width:530px;margin:24px 0}.hero-actions{display:flex;align-items:flex-start;gap:8px;flex-direction:column}.hero-actions .button{min-height:58px}.hero-location{display:flex;align-items:flex-start;gap:11px;margin-top:26px;font-size:0.875rem;line-height:1.5;color:var(--muted)}.hero-location p{margin:0}.location-dot{width:8px;height:8px;border-radius:100%;background:var(--orange);margin-top:6px;flex-shrink:0}.hero-location a{font-weight:700}.advisor-photo{margin:0;position:relative;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px #111e3110;isolation:isolate}.advisor-photo>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.advisor-photo figcaption{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.advisor-photo strong{display:block;font:800 1.5rem/1.3 var(--heading);letter-spacing:-.03em}.advisor-photo figcaption span:not(.photo-signature){display:block;font-size:0.875rem;color:#c4dcd9;margin-top:4px}.photo-signature{font:800 1rem/1.2 var(--heading);color:#ffb680;transform:rotate(-7deg)}.trust-line{border-block:1px solid var(--line);background:#fff}.trust-line .container{display:flex;justify-content:space-between;gap:24px;padding-block:18px}.trust-line span{font-size:0.875rem;font-weight:700;display:flex;gap:10px;align-items:center}.trust-line span:before{content:'✓';color:var(--teal);font-size:1.125rem}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:32px}.section-intro>p{max-width:375px;font-size:1rem;color:var(--muted);margin:0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.guide-card{padding:28px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;text-decoration:none;color:var(--navy);background:#fff}.guide-card:hover{border-color:var(--teal);background:#f8fcfb;color:var(--navy)}.guide-tag{font-size:0.875rem;letter-spacing:.09em;font-weight:700;color:var(--teal);margin-bottom:24px}.guide-card h3{font-size:1.5625rem;line-height:1.25}.guide-card p{font-size:1rem;line-height:1.6;color:var(--muted);margin:18px 0 28px}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:1rem;font-weight:700;color:var(--teal-dark)}.urgent-help{margin:24px 0 0;font-size:0.875rem;color:var(--muted)}.urgent-help a{font-weight:700}.approach{background:var(--soft)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.steps{padding:0;margin:0;list-style:none;display:grid;gap:28px}.steps li{display:flex;gap:20px}.step-number{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border:1px solid #9cbfba;background:#fff;border-radius:50%;font:800 1rem/1 var(--heading);color:var(--teal-dark)}.steps h3{font-size:1.25rem;margin:4px 0 10px}.steps p{color:var(--muted);font-size:1rem;margin:0}.hoppy-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hoppy-review{background:#f7faf9;border:1px solid #dce7e6;border-radius:16px;padding:26px;display:flex;flex-direction:column;font-size:1rem}.hoppy-review blockquote{margin:16px 0 22px;font-size:1.125rem;line-height:1.6;flex:1}.hoppy-review small{font-size:0.875rem;color:var(--muted)}.hoppy-review b{font-weight:700}.hoppy-review a{font-size:0.875rem}.hoppy-review br{display:none}.stars{color:#946000;font-size:1rem;letter-spacing:3px}.review-note{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:20px}.review-note p{font-size:0.875rem;color:var(--muted);max-width:660px;margin:0}.review-note .text-link{white-space:nowrap;font-size:0.875rem}.booking-section{background:var(--navy);color:#fff}.booking-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.booking-section .eyebrow{color:#8cdbd0}.booking-section h2{margin-bottom:22px}.booking-section p{color:#c8dcd9;font-size:1.125rem}.booking-section .micro{font-size:0.875rem}.booking-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:26px}.booking-section .text-link{color:#e4f3f0}.visit-notes{padding:30px;border:1px solid #ffffff35;border-radius:16px;background:#ffffff05}.visit-notes h3{font-size:1.375rem}.visit-notes ul{padding:0;list-style:none;margin:22px 0}.visit-notes li{padding:11px 0;border-bottom:1px solid #ffffff20;font-size:1rem}.visit-notes li:before{content:'✓';color:#8cdbd0;margin-right:12px}.visit-notes p{font-size:0.875rem;line-height:1.6;margin:0}.area-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.area-grid>div>p:not(.eyebrow){max-width:610px}.area-grid>div>p{color:var(--muted)}.location-card{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:32px}.location-card img{width:145px;height:auto;margin-bottom:24px}.location-card h3{font-size:1.375rem}.location-card address{font-style:normal;margin:12px 0 24px;font-size:1.125rem}.location-card a{display:block;font-size:1rem;margin-top:10px;min-height:34px}.faq-section{background:#f7faf9;border-block:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq-grid>div>p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:1rem}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding:22px 30px 22px 0;cursor:pointer;font-weight:700;font-size:1.125rem;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:22px;font-size:1.4375rem;line-height:1}.faq-list details[open]>summary:after{content:'−'}.faq-list details>p,.faq-list details>a{font-size:1rem;color:var(--muted);margin-bottom:22px}.faq-list details>a{display:block;color:var(--teal-dark)}.equipment-guides{padding-bottom:64px}.equipment-guides h2{font-size:2rem}.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-links a{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:18px 0;font-size:1rem;text-decoration:none;font-weight:700}.subscribe-section{border-top:1px solid var(--line);padding-block:60px}.subscribe-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.subscribe-grid h2{font-size:2rem;margin-bottom:20px}.subscribe-grid>div>p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:420px}form{display:grid;gap:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{font-size:0.875rem;line-height:1.4;font-weight:700;display:block}label>span{font-weight:400;color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;min-height:48px;border:1px solid #829e9c;border-radius:8px;background:#fff;color:var(--navy);font-size:1rem;padding:11px 12px;margin-top:7px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b42318}.check-label{display:flex;align-items:flex-start;gap:10px;min-height:25px;font-weight:400}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--teal);margin:0}.form-note{font-size:0.875rem;line-height:1.6;color:var(--muted);margin:0}.form-status{font-size:0.875rem;margin:0;line-height:1.6}.form-status:not(:empty){padding:14px;border-radius:8px;background:var(--soft);border:1px solid var(--line)}.form-status.error{color:#8e231b;background:#fff5f2;border-color:#e9b0a5}.form-status a{display:inline-block;margin-left:5px;font-weight:700}form .button{justify-self:start;min-width:210px}.field-error{display:block;color:#a1281c;font-size:0.875rem;line-height:1.5;margin-top:7px;font-weight:400}footer{background:var(--navy);color:#e1efed;padding:52px 0 20px;font-size:0.875rem}footer a{color:#d4e8e4;text-decoration:none}footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:50px}.footer-brand{font:800 2rem/1.2 var(--heading);color:#fff}.footer-grid p{font-size:0.875rem;color:#b5cbc7;margin-top:12px}.footer-grid h2{font:700 1rem/1.3 var(--body);letter-spacing:0;margin:0 0 15px}.footer-grid>div>a:not(.footer-brand){display:block;min-height:36px}.footer-bottom{border-top:1px solid #ffffff25;display:flex;gap:24px;flex-wrap:wrap;font-size:0.875rem;padding-top:22px;margin-top:30px}.aw-ga-settings{margin:20px auto 0!important;display:block!important;color:#d4e8e4!important;background:transparent!important}.mobile-actions{display:none}dialog{border:0;border-radius:18px;background:#fff;color:var(--navy);padding:30px;width:min(560px,calc(100% - 32px));max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #111e3140}dialog::backdrop{background:#111e31aa}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.dialog-header h2{font-size:1.75rem}.dialog-header .eyebrow{margin-bottom:10px;font-size:0.875rem}.dialog-close{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:1.5625rem;line-height:1;color:var(--navy)}dialog>p{font-size:0.875rem;margin:20px 0}body:has(dialog[open]){overflow:hidden}body:has(dialog[open]) .mobile-actions{display:none}
.aw-ga-choice{max-width:700px!important;box-shadow:0 6px 28px #111e3120!important}.aw-ga-choice strong{font-size:1rem}.aw-ga-choice p{font-size:0.875rem!important}.aw-ga-choice button{min-height:44px!important}.aw-ga-choice[hidden]{display:none!important}.aw-booking-glow{animation:none!important;box-shadow:none!important}.aw-booking-dialog{padding:0}.aw-booking-help{padding:10px 16px;background:#fff;font:400 .875rem/1.5 var(--body);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 20px}.aw-booking-help a{font-weight:700}.aw-booking-loading{padding:12px 18px;background:var(--soft);font-size:0.875rem}.aw-booking-close{min-height:44px!important}.aw-booking-dialog iframe{height:calc(100% - 100px)!important}.aw-booking-dialog:has(.aw-booking-loading:not([hidden])) iframe{height:calc(100% - 146px)!important}
@media(min-width:761px){.home-page .aw-ga-choice{left:24px;right:auto;bottom:20px;transform:none;width:min(700px,calc(100% - 48px))}}
@media(max-width:1150px){.header-inner{gap:20px}#primary-nav{gap:16px}.header-book{display:none}.hero-grid{gap:38px}.approach-grid,.booking-grid,.area-grid,.subscribe-grid{gap:48px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.section{padding:56px 0;scroll-margin-top:100px}.utility{font-size:0.875rem}.utility .container{min-height:34px}.desktop-only{display:none}.header-inner{min-height:80px;justify-content:space-between;gap:12px}.personal-logo{width:126px}.endorsement{padding-left:12px;gap:4px}.endorsement img{width:78px}.brand{gap:12px}.endorsement span{display:none}.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:0.875rem;font-weight:700;color:var(--navy)}#primary-nav{display:none;position:absolute;left:20px;right:20px;top:calc(100% + 6px);padding:14px 20px;background:#fff;box-shadow:0 12px 30px #111e3125;border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;gap:0}#primary-nav.is-open{display:flex}#primary-nav a{min-height:48px}.hero{padding:36px 0 40px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(2.5rem,10vw,4.25rem)}.hero .eyebrow{font-size:0.875rem;margin-bottom:16px}.hero-sub{font-size:1.125rem;line-height:1.6;margin:20px 0;max-width:580px}.hero-actions{gap:8px}.hero-actions .button{font-size:1rem;min-height:54px;padding:15px 18px;gap:16px}.hero-actions .text-link{font-size:0.875rem}.hero .micro{font-size:0.875rem;margin-top:8px}.hero-location{font-size:0.875rem;margin-top:18px}.advisor-photo{max-width:540px;width:100%}.advisor-photo>img{aspect-ratio:1.25;object-position:center 36%}.advisor-photo figcaption{padding:18px 20px}.advisor-photo strong{font-size:1.375rem}.trust-line .container{gap:12px;flex-wrap:wrap;padding-block:16px}.trust-line span{font-size:0.875rem;gap:7px}.section-intro{display:block;margin-bottom:28px}.section-intro>p{margin-top:18px;max-width:100%}.section-intro>p br{display:none}.guide-grid{grid-template-columns:1fr;gap:14px}.guide-card{padding:24px}.guide-tag{margin-bottom:12px}.guide-card h3{font-size:1.5rem}.guide-card h3 br{display:none}.guide-card p{margin:14px 0 20px}.guide-card .card-link{padding-top:14px}.urgent-help{font-size:0.875rem;line-height:1.7}.approach-grid,.booking-grid,.area-grid,.faq-grid,.subscribe-grid{grid-template-columns:1fr;gap:34px}.section-lead{font-size:1.125rem}.steps{gap:26px}.steps h3{font-size:1.1875rem}.hoppy-review-grid{grid-template-columns:1fr;gap:16px}.hoppy-review{padding:24px}.hoppy-review blockquote{font-size:1.125rem}.review-note{display:block}.review-note .text-link{margin-top:12px}.booking-section p{font-size:1rem}.visit-notes{padding:24px}.location-card{padding:26px}.faq-list summary{font-size:1rem;padding-block:20px}.faq-list details>p{font-size:1rem}.service-links{grid-template-columns:1fr;gap:0}.equipment-guides h2{font-size:1.75rem}.subscribe-grid h2{font-size:1.875rem}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:18px;margin-top:20px}footer{padding-bottom:100px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;gap:20px;justify-content:center;background:#fffffffa;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #111e310b}.mobile-actions>a:first-child{font-size:0.875rem;font-weight:700;min-height:44px;display:flex;align-items:center;white-space:nowrap}.mobile-actions .button{min-height:46px;font-size:0.875rem;padding:12px 16px;flex:1;max-width:320px}.aw-ga-choice{bottom:82px!important;width:calc(100% - 24px)!important}.aw-ga-choice p{margin:4px 0 0!important}.aw-ga-choice strong{font-size:0.875rem}.aw-ga-choice .aw-ga-buttons{flex-direction:row}.aw-ga-choice button{font-size:0.875rem}dialog{padding:22px;width:calc(100% - 24px);max-height:94dvh}.dialog-header h2{font-size:1.5625rem}.field-row{grid-template-columns:1fr;gap:16px}.aw-booking-dialog iframe{height:calc(100% - 110px)!important}.aw-booking-dialog:has(.aw-booking-loading:not([hidden])) iframe{height:calc(100% - 156px)!important}.aw-booking-help{font-size:0.875rem;padding:8px 14px}.aw-booking-help a{min-height:24px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.personal-logo{width:112px}.endorsement img{width:65px}.brand{gap:8px}.endorsement{padding-left:8px}.menu-toggle{padding:8px;font-size:0.875rem}.mobile-actions{gap:12px}.mobile-actions .button{padding:12px 10px;font-size:0.875rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.button,.guide-card,.menu-toggle{border:1px solid ButtonText}.button-primary{color:ButtonText}.location-dot{background:CanvasText}}
@media print{.site-header,.mobile-actions,.aw-ga-choice,dialog{display:none!important}.section{padding:24px 0}.hero-grid{grid-template-columns:1fr 1fr}.container{width:100%}footer{padding-bottom:20px}}

/* Let booking content flex so fallback links stay visible at every width. */
.aw-booking-dialog[open]{display:flex!important;flex-direction:column}
.aw-booking-bar,.aw-booking-loading,.aw-booking-help{flex:none}
.aw-booking-dialog iframe,.aw-booking-dialog:has(.aw-booking-loading:not([hidden])) iframe{flex:1 1 0;min-height:0;height:0!important}

/* Clearer reading, concise guide cards, and real local imagery. */
.hero-sub{font-size:1.25rem;max-width:44ch;line-height:1.6}
#primary-nav a,.header-book,.menu-toggle,.text-link,.card-link,form label,.trust-line span,.location-card a,footer{font-size:1rem}
.section-intro>p,.guide-card p,.steps p,.booking-section p,.faq-grid>div>p:not(.eyebrow),.faq-list details>p,.subscribe-grid>div>p:not(.eyebrow){font-size:1.125rem;line-height:1.65}
.visit-notes p,.booking-section .micro{font-size:.875rem}
.faq-list summary{font-size:1.125rem;line-height:1.5}
.guide-card{position:relative;overflow:hidden;transition:border-color .15s,box-shadow .15s;background:#eef7f6;min-width:0}
.guide-card:nth-child(2){background:#fff4e7;border-color:#e8d5bd}
.guide-card:nth-child(3){background:var(--navy);border-color:var(--navy);color:#fff}
.guide-card:hover{box-shadow:0 8px 24px #111e3110;border-color:var(--teal)}
.guide-icon{display:block;width:64px;height:64px;margin:0 0 24px;color:var(--teal-dark)}
.guide-icon svg{width:100%;height:100%}
.guide-card:nth-child(2) .guide-icon{color:#9a480e}
.guide-card:nth-child(3) .guide-icon{color:#9ddfd5}
.guide-card:nth-child(3) p{color:#d1e3e1}
.guide-card:nth-child(3) .card-link{color:#fff;border-color:#ffffff40}
.guide-card h3{font-size:1.5rem;line-height:1.3}
.guide-card p{margin:16px 0 24px}
.card-link{text-decoration:underline;text-underline-offset:5px}
.steps li{position:relative}
.steps li:not(:last-child):before{content:'';position:absolute;left:21px;top:48px;bottom:-22px;border-left:1px solid #a9c7c2}
.step-number{position:relative;background:#fff}
.hoppy-review blockquote{font-size:1.125rem}
.location-card{padding:0;overflow:hidden;background:#fff}
.location-card .service-van{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0}
.location-details{padding:26px 30px}
.location-card address{font-size:1rem;margin:12px 0}
.location-card a{min-height:44px;display:flex;align-items:center;margin:0}
.equipment-guides{padding-block:48px}
.equipment-guides .section-intro{margin-bottom:12px}
.service-links a{font-size:1.125rem}
.check-label{align-items:flex-start;min-height:32px}
.footer-grid>div>a:not(.footer-brand){min-height:44px}
.hero-copy,.section-intro>*{min-width:0}
@media(max-width:800px){
 .utility .container{gap:12px}.utility .container>span{max-width:70%;font-size:.875rem}
 .hero-sub{font-size:1.125rem}.hero-actions .button,.hero-actions .text-link{font-size:1rem}
 .hero .micro,.hero-location{font-size:.875rem}.hero .eyebrow{font-size:.875rem;letter-spacing:.07em}
 .advisor-photo figcaption{gap:12px}.advisor-photo figcaption span:not(.photo-signature){font-size:.875rem}
 .photo-signature{display:none}.trust-line .container{gap:8px 24px}
 .guide-card{padding:24px}.guide-icon{width:48px;height:48px;margin-bottom:16px}
 .guide-card p{margin:10px 0 18px}.mobile-actions{gap:12px;padding-inline:12px}
 .mobile-actions>a:first-child,.mobile-actions .button{font-size:1rem}
 .mobile-actions .button{padding:12px 10px;min-width:0}
 .section-intro>p{max-width:48ch}.location-details{padding:22px 24px}
 .menu-toggle{font-size:1rem}.menu-toggle span{display:none}
 .hero h1{letter-spacing:-.03em}.equipment-guides{padding-block:36px}
}
@media(max-width:360px){.mobile-actions{gap:8px}.brand{gap:6px}.endorsement{padding-left:6px}.personal-logo{width:108px}.endorsement img{width:61px}}

/* Allow enlarged text to wrap instead of clipping controls. */
.header-inner{flex-wrap:wrap}
.endorsement>span{display:none}
h1,h2,h3,.button{overflow-wrap:break-word}
.button{max-width:100%;text-align:center}
.steps li>div{min-width:0}
.mobile-actions>a{min-width:0;white-space:normal!important;overflow-wrap:anywhere}


/* Restore a welcoming, personal story with a stronger Hoppy endorsement. */
.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}
.endorsement img{width:148px;height:auto}
.header-inner{gap:24px}
#primary-nav{gap:20px}
.button-primary{background:var(--orange);color:var(--navy)}
.button-primary:hover{background:#ff9b55;color:var(--navy);box-shadow:0 5px 18px #111e3120}
.hero{background:var(--navy);color:#fff;padding-block:56px}
.hero .eyebrow{color:#9ddfd5}
.hero h1{font-size:clamp(2.875rem,5.2vw,4.5rem);line-height:1.1;letter-spacing:-.035em}
.hero h1 span{color:#ffac70}
.hero-sub{color:#e0ecea;max-width:44ch}
.hero .text-link,.hero-location a{color:#fff}
.hero .text-link:hover,.hero-location a:hover{color:#ffbc8b}
.hero .micro,.hero-location{color:#c8dbd8}
.hero-location{margin-top:22px}
.advisor-photo{border:1px solid #ffffff30;box-shadow:0 18px 48px #0003}
.advisor-photo figcaption{background:#fff;color:var(--navy)}
.advisor-photo figcaption span:not(.photo-signature){color:var(--muted);font-size:1rem}
.photo-signature{display:none}
.trust-line{background:#f6faf8}
.guide-card h3{max-width:18ch}
.comfort-invitation{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:24px;padding:18px 24px;background:#eef7f6;border-radius:12px}
.comfort-invitation p{margin:0;font-size:1.125rem;font-weight:700}
.urgent-help{margin-top:16px}
.approach{background:#fff7ec}
.approach .section-lead{font-size:1.125rem;max-width:46ch}
.steps{gap:30px}
.steps h3{font-size:1.25rem}
.steps p{font-size:1.125rem}
.step-number{border-color:#dfc9b0;color:#8b450e}
.steps li:not(:last-child):before{border-color:#ddcbb7}
.hoppy-backing{display:flex;align-items:center;gap:36px;border-top:1px solid #e3d6c5;margin-top:44px;padding-top:30px}
.hoppy-backing img{flex:none;width:180px;height:auto}
.hoppy-backing h3{font-size:1.375rem;line-height:1.35;margin-bottom:8px}
.hoppy-backing p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:66ch;margin:0}
.booking-section{background:#083f45}
.booking-section .button-light{background:var(--orange);color:var(--navy)}
.booking-section .button-light:hover{background:#ff9b55}
.visit-notes{background:#ffffff09;border-color:#ffffff45}
.visit-notes h3{line-height:1.35}
@media(max-width:1150px){.header-inner{gap:20px}#primary-nav{gap:16px}}
@media(max-width:800px){
 .header-inner{min-height:84px;gap:8px;flex-wrap:nowrap}
 .brand{gap:10px}.endorsement{padding-left:10px}.endorsement img{width:124px}
 .menu-toggle{flex:none;width:44px;height:44px;justify-content:center;padding:10px}
 .menu-toggle .sr-only{display:block}.menu-toggle svg{display:block;flex:none}
 .hero{padding-block:36px}.hero h1{font-size:clamp(2.5rem,9.5vw,4.25rem);line-height:1.08}
 .hero .eyebrow{margin-bottom:16px}.hero-sub{font-size:1.125rem;margin-block:20px}
 .hero-actions .text-link{max-width:32ch}.hero-location{margin-top:18px}
 .trust-line .container{gap:10px 24px}
 .comfort-invitation{display:block;padding:18px 20px}.comfort-invitation .text-link{margin-top:6px}
 .hoppy-backing{align-items:flex-start;gap:24px;margin-top:32px;padding-top:28px}
 .hoppy-backing img{width:148px}.hoppy-backing h3{font-size:1.25rem}
 .guide-card h3{max-width:100%}
}
@media(max-width:520px){.hoppy-backing{flex-direction:column;gap:16px}.hoppy-backing img{width:172px}}
@media(max-width:360px){.personal-logo{width:108px}.endorsement img{width:94px}.brand{gap:8px}.endorsement{padding-left:8px}.header-inner{gap:8px}}
.approach-grid{row-gap:36px}
.hoppy-backing{grid-column:1/-1;margin-top:0}
@media(max-width:360px){.hero h1{font-size:2.25rem}}

/* Keep enlarged text inside the shared grid and footer at narrow widths. */
.container>*,.approach-grid>*,.faq-grid>*,.booking-grid>*,.area-grid>*,.footer-grid>*{min-width:0}
.section h2,.section h3,.section p,.section a,.section button,.faq-list summary,footer{overflow-wrap:anywhere}
.text-link{max-width:100%;white-space:normal;text-align:left}
@media(max-width:800px){.approach-grid,.faq-grid,.booking-grid,.area-grid,.subscribe-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-grid>div:first-child{grid-column:auto}}

/* Brand messaging is source-led. Let the layout support the approved full headline. */
.brand-home .hero h1{font-size:clamp(2.25rem,4.1vw,3.5rem);line-height:1.14;max-width:20ch}
.brand-home .hero-grid{grid-template-columns:1.25fr .85fr;gap:48px}
.brand-home .hero-sub{font-size:1.125rem;max-width:49ch}
.hero-location{display:block}.hero-location a{display:inline-block}
.brand-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
button.guide-card{font:inherit;text-align:left;color:var(--navy);width:100%}
.brand-paths .guide-card:nth-child(4){background:#eef7f6;color:var(--navy)}
.brand-paths .guide-card:nth-child(3){color:#fff}
.brand-paths .guide-card h3{max-width:28ch}.brand-paths .guide-card p{max-width:48ch}
.brand-plan{min-width:0}.brand-plan>h2{font-size:1.75rem;margin-bottom:28px}
.brand-problem h2{max-width:30ch}.problem-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;color:var(--muted)}.problem-copy p{margin:0}
.brand-proof{background:#f7f7f3}.proof-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:24px}.proof-points>div{border-top:3px solid var(--teal);padding-top:20px}.proof-points h3{font-size:1.25rem;margin-bottom:14px}.proof-points p{font-size:1.125rem;color:var(--muted)}
@media(max-width:800px){.brand-home .hero-grid,.problem-copy,.proof-points{grid-template-columns:minmax(0,1fr);gap:26px}.brand-home .hero h1{font-size:2.25rem;max-width:22ch}.brand-paths{grid-template-columns:minmax(0,1fr)}.brand-plan>h2{font-size:1.5rem}.hero .button{white-space:normal;max-width:100%}.proof-points{gap:14px}}
