:root{--ink:#19352f;--forest:#24483b;--deep:#18372d;--brass:#b79863;--cream:#fbfaf7;--sand:#efede6;--line:#d8d9d0;--muted:#526058;--content:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}img{max-width:100%;height:auto}a{color:var(--forest);text-underline-offset:3px}a:hover{color:#80643a}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d8ae65;outline-offset:3px}.container{width:min(calc(100% - 64px),var(--content));margin-inline:auto}.skip-link{position:absolute;z-index:200;top:-100px;left:12px;background:#fff;padding:10px}.skip-link:focus{top:12px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.14;letter-spacing:-.035em;color:var(--ink)}h1{font-size:clamp(2.7rem,4.4vw,4.7rem)}h2{font-size:clamp(2rem,3.2vw,3.3rem)}h3{font-size:1.4rem}.eyebrow{display:inline-block;color:#715a31;font-size:.72rem;line-height:1.45;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#f2dba9}
/* One shared header for every page. The navigation never covers the logo. */
.site-header{position:relative;z-index:50;background:#fff;border-bottom:1px solid #dcded4}.logo-row{position:relative;background:#fff;display:flex;justify-content:center;align-items:center;min-height:120px}.brand{display:block;position:relative;z-index:2;width:185px;line-height:0}.brand img{display:block;width:100%;height:auto;max-height:106px;object-fit:contain;mix-blend-mode:multiply}.menu-button{display:none;position:absolute;right:0;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:12px;cursor:pointer}.menu-button span{display:block;width:25px;height:2px;margin:5px;background:var(--ink)}.primary-navigation{position:relative;background:#fff;border-top:1px solid #e5e5dc}.nav-inner{display:flex;align-items:center;justify-content:center;gap:clamp(17px,2.5vw,38px);min-height:66px}.nav-inner>a,.nav-dropdown>summary{display:block;padding:12px 0;color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.085em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.nav-inner>a:hover,.nav-dropdown>summary:hover{color:#8a7047}.nav-dropdown{position:static}.nav-dropdown>summary{display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary:after{content:'';display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.nav-dropdown[open]>summary:after{transform:translateY(2px) rotate(225deg)}.nav-inner .nav-quote{padding:11px 19px;background:var(--forest);color:#fff;border:1px solid var(--forest);border-radius:2px}.nav-inner .nav-quote:hover{background:#122c22;color:#fff}.mega-menu{position:absolute;z-index:3;top:100%;left:50%;transform:translateX(-50%);width:min(680px,calc(100vw - 40px));max-height:70vh;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:26px 22px;border:1px solid #dddcd3;border-top:3px solid var(--brass);background:#fff;box-shadow:0 24px 55px #112a2029}.mega-menu>div{padding:0 20px}.mega-menu>div+div{border-left:1px solid var(--line)}.mega-menu .menu-heading{display:block;margin:0 0 12px;padding:0 12px;color:#765d35;font:700 .68rem/1.4 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}.mega-menu a{display:block;padding:9px 12px;border-radius:3px;color:var(--ink);font-size:.88rem;line-height:1.35;text-decoration:none;transition:background .18s,color .18s}.mega-menu a:hover{background:#f3f1eb;color:#76582d;text-decoration:none}
/* Controls and page heroes */
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:240px;min-height:56px;padding:13px 24px;border:1px solid var(--forest);border-radius:2px;background:var(--forest);color:#fff;font-size:.76rem;line-height:1.35;font-weight:700;letter-spacing:.08em;text-align:center;text-decoration:none;text-transform:uppercase;cursor:pointer}.button:hover{background:#142f25;color:#fff}.button-outline{border-color:#fff;background:transparent;color:#fff}.button-outline:hover{background:#fff;color:var(--forest)}.button-light{border-color:#f4efe4;background:#f4efe4;color:var(--forest)}.button-light:hover{background:#fff;color:var(--forest)}.button-outline-on-light{border-color:var(--forest);background:transparent;color:var(--forest)}.button-outline-on-light:hover{background:var(--forest);color:#fff}.text-link{display:inline-flex;align-items:center;gap:24px;padding-bottom:5px;border-bottom:1px solid #a89b7f;color:var(--forest);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.text-link:hover{color:#866a3c}.light-link{color:#fff;border-color:#dbc69d}.light-link:hover{color:#f5dfa9}.hero{position:relative;isolation:isolate;overflow:hidden;background:#2c493d}.hero-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#142b23df,#142b23ba 48%,#142b238c)}.hero-inner{display:flex;justify-content:center;align-items:center;min-height:clamp(490px,48vw,650px);padding-block:64px}.hero-panel{width:min(100%,850px);padding:0;text-align:center;color:#fff}.hero-panel h1{max-width:950px;margin:18px auto 22px;color:#fff;font-size:clamp(2.7rem,4.5vw,4.8rem)}.hero-panel .eyebrow{color:#f2dba9}.hero-lead{max-width:640px;margin:0 auto 28px;color:#fff;font-size:1.07rem;line-height:1.7;text-align:left}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;color:#f3f1e9;font-size:.76rem}.breadcrumbs a{color:#f3f1e9;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:12px}.hero-actions .button{flex:0 0 260px;width:260px;min-height:58px;padding:12px 18px}.hero-facts{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:25px;font-size:.82rem}.hero-facts span:before{content:'✓';margin-right:6px;color:#e6d19f}
/* Service and location content */
.directory-section{padding:82px 0 18px}.directory-section.compact{padding-block:50px 0}.section-title{max-width:760px;margin:0 auto 34px;text-align:center}.section-title h2{margin:10px 0}.section-title p{margin:0;color:var(--muted)}.two-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px}.two-panel>div{min-width:0}.two-panel .section-title{text-align:left}.two-panel .section-title h2{font-size:2.2rem}.two-panel>div>h3{margin:0 0 18px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.two-panel .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{display:flex;flex-direction:column;justify-content:flex-start;min-height:140px;padding:24px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}.card:hover{border-color:var(--brass);box-shadow:0 9px 25px #162d241a;transform:translateY(-2px)}.card h3{margin:0 0 10px;font-size:1.32rem}.card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.section-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--brass);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.town-note{max-width:850px;margin:25px auto 0;text-align:center;color:var(--muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(35px,5vw,75px);align-items:start;padding-block:clamp(65px,7vw,105px)}.article-layout.full{grid-template-columns:minmax(0,920px);justify-content:center}.prose{min-width:0}.prose h2{margin:40px 0 18px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:24px}.prose h2:first-of-type{margin-top:0;padding-top:0;border:0}.prose h3{margin:26px 0 10px}.prose p{max-width:76ch;margin:0 0 20px;color:#3d4d44}.prose ul,.prose ol{margin:0 0 24px;padding-left:24px}.prose li{margin:8px 0}.prose a{font-weight:650}.faq{margin:12px 0;padding:0 18px;border:1px solid var(--line);background:#fff}.faq summary{position:relative;padding:16px 25px 16px 0;cursor:pointer;font-weight:700;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:2px;top:12px;font-size:23px;font-weight:400}.faq[open] summary:after{content:'−'}.faq p{margin-bottom:18px}.sidebar{position:static;min-width:0;align-self:start}.side-box{position:static;width:100%;padding:28px;border:1px solid #d5dacf;background:#eaede6;overflow-wrap:anywhere}.side-box .eyebrow{color:#69552e}.side-box h2{margin:10px 0;font-size:1.8rem}.side-box p{color:#45564a;font-size:.91rem}.side-box .button{width:100%;min-width:0;padding-inline:10px}.side-phone{display:block;margin-top:18px;font-size:.84rem;font-weight:700;text-align:center;text-decoration:none}.side-links{padding:22px 8px 0}.side-links h2{font-size:1.14rem}.side-links a{display:block;margin:0 0 10px;font-size:.88rem;overflow-wrap:anywhere}.gallery-section{padding:0 0 85px}.gallery-section h2{text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-item{margin:0;overflow:hidden}.gallery-item img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.content-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.estimate-form{margin:30px 0;padding:26px;border:1px solid var(--line);background:var(--sand)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.form-grid label{font-size:.86rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #a4aaa3;background:#fff;color:var(--ink)}.form-grid .wide{grid-column:1/-1}.form-note{font-size:.8rem;color:var(--muted)}
/* Booking and close */
.booking-header{padding:72px 0 35px;background:var(--sand)}.booking-intro{max-width:770px;text-align:center}.booking-intro h1{margin:14px 0}.booking-intro p{max-width:680px;margin:0 auto;color:#46564b;text-align:left}.booking-form-shell{width:100%;background:#fff}.booking-form-shell iframe{display:block;width:100%;height:3400px;border:0;overflow:hidden}.booking-help{padding-block:22px 60px;text-align:center}.booking-help p{margin:0;font-size:.9rem}.closing-cta{background:#e9e7dd;border-block:1px solid #dcd8c9}.closing-cta .container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding-block:65px;text-align:center}.closing-cta h2{max-width:760px;margin:8px auto}.closing-cta p{margin:0;color:var(--muted)}.closing-cta .button{flex:0 0 auto;width:260px}
/* Consistent footer */
.site-footer{background:var(--deep);color:#fff;padding:66px 0 20px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,55px)}.site-footer a{display:block;margin:0 0 10px;color:#f0f2ec;font-size:.85rem;text-decoration:none}.site-footer a:hover{color:#f3dba5;text-decoration:underline}.site-footer h2{margin:0 0 17px;color:#e6ca94;font:700 .72rem/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.site-footer p{max-width:30ch;color:#e2e9e2;font-size:.9rem}.site-footer .footer-logo{font:400 1.55rem/1.25 Georgia,serif}.footer-contact-links{display:grid;gap:14px;margin-top:24px}.site-footer .footer-contact-links a{width:fit-content;margin:0;overflow-wrap:anywhere;font-size:.94rem}.footer-contact-links a span{display:block;margin-bottom:3px;color:#e6ca94;font-size:.65rem;font-weight:700;letter-spacing:.16em}.footer-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:52px;padding-top:18px;border-top:1px solid #ffffff36;color:#d9e3d9;font-size:.8rem}.error-page{display:grid;min-height:100vh;place-content:center;padding:20px;text-align:center}.error-page h1{font-size:6rem;margin:0}
/* Home page */
.home-hero{position:relative;min-height:700px;overflow:hidden;background:var(--deep);color:#fff}.home-hero-image,.home-hero-shade{position:absolute;inset:0;width:100%;height:100%}.home-hero-image{object-fit:cover;object-position:center 48%}.home-hero-shade{background:linear-gradient(90deg,#10281fe8,#10281fc7 46%,#10281f69)}.home-hero-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:700px;padding-block:95px 125px;text-align:center}.home-hero h1{max-width:1080px;margin:22px auto;font-size:clamp(3rem,4.7vw,5rem);color:#fff;line-height:1.03}.home-hero p{max-width:600px;margin:0 auto 34px;color:#fff;font-size:1.17rem;text-align:left}.home-hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:30px}.home-hero .button{width:260px;min-width:260px;background:#ecd9b3;border-color:#ecd9b3;color:var(--ink)}.home-hero .button:hover{background:#fff}.home-hero-actions .button-outline{border-color:#fff;background:transparent;color:#fff}.home-hero-actions .button-outline:hover{background:#fff;color:var(--forest)}.hero-caption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:18px max(32px,calc((100vw - 1240px)/2));border-top:1px solid #ffffff72;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.16em}.trust-bar{background:#e9e9e0}.trust-bar .container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.trust-bar span,.trust-bar a{color:#284a3a;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.trust-bar span:not(:first-child){padding-left:clamp(12px,3vw,50px);border-left:1px solid #c8c9bc}.home-intro{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(55px,9vw,140px);padding-block:clamp(95px,12vw,170px)}.intro-copy{max-width:550px;text-align:center}.intro-copy p{text-align:left}.home-intro h2,.home-locations h2{margin:20px 0 27px;font-size:clamp(2.7rem,4.1vw,4.5rem)}.home-locations h2{font-size:clamp(2.5rem,3.6vw,3.6rem)}.home-intro p,.home-locations p{color:var(--muted);font-size:1.03rem;line-height:1.85}.intro-copy .text-link{margin-top:22px}.intro-visual img,.locations-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.image-note{padding:13px 0;border-bottom:1px solid #b7b09f;color:#62543b;font-size:.66rem;font-weight:700;letter-spacing:.16em}.home-services{padding:clamp(85px,10vw,145px) 0;background:var(--sand)}.section-heading{display:block;max-width:850px;margin:0 auto 50px;text-align:center}.section-heading h2{max-width:850px;margin:18px auto 0;font-size:clamp(2.7rem,4.4vw,4.8rem)}.section-heading p{max-width:680px;margin:20px auto 0;color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.editorial-card{color:var(--ink);text-decoration:none}.editorial-photo{overflow:hidden;background:#d7d8d1}.editorial-photo img{display:block;width:100%;aspect-ratio:4/4.6;object-fit:cover;transition:transform .3s}.editorial-card:hover img{transform:scale(1.035)}.editorial-card-copy{display:flex;flex-direction:column;align-items:center;position:relative;min-height:188px;padding:22px 14px 8px;text-align:center}.editorial-card-copy>span{color:#765d35;font-size:.66rem;font-weight:700;letter-spacing:.16em}.editorial-card-copy h3{margin:12px 0;font-size:clamp(1.7rem,2.3vw,2.4rem)}.editorial-card-copy p{min-height:3.1em;margin:0;color:var(--muted);font-size:.92rem}.editorial-card-copy strong{display:grid;place-items:center;width:32px;height:32px;margin:13px auto 0;border:1px solid #b6aa91;border-radius:50%;font-size:1.05rem;font-weight:400}.section-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;margin-top:42px;text-align:center}.section-bottom>span{color:#655b46;font-size:.65rem;letter-spacing:.14em}.home-philosophy{padding:clamp(80px,9vw,135px) 0;background:var(--deep);color:#fff}.philosophy-grid{display:block;max-width:850px;text-align:center}.home-philosophy h2{margin:20px auto 24px;color:#fff;font-size:clamp(3rem,5vw,5.1rem)}.home-philosophy p{max-width:720px;margin:0 auto 30px;color:#e5eee5;font-size:1.08rem;line-height:1.85}.home-locations{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(65px,9vw,135px);padding-block:clamp(95px,12vw,175px)}.locations-copy{max-width:650px;text-align:center}.town-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:28px 0 35px}.town-links a{padding:8px 13px;border:1px solid #b8c0b5;color:var(--forest);font-size:.77rem;text-decoration:none}.town-links a:hover{background:#ebe9e0}.commercial-feature{display:grid;grid-template-columns:1fr 1fr;min-height:530px;background:#263f36;color:#fff}.commercial-image img{display:block;width:100%;height:100%;object-fit:cover}.commercial-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(60px,7vw,115px)}.commercial-copy h2{margin:18px 0;color:#fff;font-size:clamp(2.7rem,4vw,4.5rem)}.commercial-copy p{max-width:500px;margin:0 0 30px;color:#e3ece3;text-align:left}.home-journal{padding:clamp(85px,10vw,145px) 0}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:40px 0}.journal-grid a{display:flex;flex-direction:column;min-height:270px;padding:30px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:background .2s,transform .2s}.journal-grid a:hover{background:#f4f1e8;transform:translateY(-2px)}.journal-grid span{color:#725b32;font-size:.65rem;font-weight:700;letter-spacing:.15em}.journal-grid h3{min-height:3.3em;margin:17px 0 12px;font-size:1.65rem}.journal-grid p{margin:0;color:var(--muted);font-size:.9rem}.journal-grid strong{align-self:flex-end;margin-top:auto;font-size:1.25rem;font-weight:400}.home-contact{padding:clamp(95px,11vw,155px) 0;background:#eeeae0;text-align:center}.home-contact h2{max-width:700px;margin:20px auto;font-size:clamp(3rem,5vw,5.4rem)}.home-contact p{max-width:550px;margin:0 auto 32px;color:var(--muted)}.home-contact .button{width:260px}.home-philosophy .button{width:260px}.home-contact .container>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px}
@media(max-width:1050px){.nav-inner{gap:18px}.nav-inner>a,.nav-dropdown>summary{font-size:.68rem}.two-panel{gap:30px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-copy{padding:55px}}
@media(max-width:850px){.logo-row{min-height:93px}.brand{width:145px}.brand img{max-height:82px}.menu-button{display:block}.primary-navigation{display:none}.primary-navigation.open{display:block}.nav-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:8px 0 22px}.nav-inner>a,.nav-dropdown>summary{padding:13px 4px;border-bottom:1px solid var(--line);font-size:.88rem;text-align:center}.nav-inner .nav-quote{align-self:center;min-width:225px;margin-top:13px;text-align:center}.nav-dropdown>summary{display:flex;justify-content:center;width:100%}.mega-menu{position:static;left:auto;transform:none;width:100%;max-height:none;overflow:visible;gap:20px;padding:18px;border:0;box-shadow:none}.mega-menu .menu-heading,.mega-menu a{text-align:center}.two-panel{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.sidebar{width:min(100%,650px);margin-inline:auto}.side-links{display:none}.closing-cta .container{flex-direction:column;align-items:center;text-align:center}.section-heading{align-items:start}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-bar .container{flex-wrap:wrap;justify-content:center;padding-block:18px}.trust-bar span:not(:first-child){padding-left:0;border:0}}
@media(max-width:600px){.container{width:min(calc(100% - 36px),var(--content))}.logo-row{min-height:88px}.brand{width:133px}.mega-menu{grid-template-columns:1fr}.mega-menu>div{padding:10px}.mega-menu>div+div{border-left:0;border-top:1px solid var(--line)}.hero-inner{min-height:520px;padding-block:55px}.hero-panel h1{font-size:clamp(2.55rem,10vw,3.6rem)}.hero-lead{font-size:1rem}.hero-actions{flex-direction:column;align-items:center;width:100%}.hero-actions .button{flex:none;width:min(100%,340px);min-height:56px}.hero-facts{font-size:.74rem}.card-grid,.two-panel .card-grid,.form-grid{grid-template-columns:1fr}.card{min-height:0}.article-layout{padding-block:60px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-header{padding:53px 0 28px}.booking-form-shell iframe{height:4800px}.footer-grid{grid-template-columns:1fr 1fr;gap:33px 20px}.footer-contact{grid-column:1/-1;padding-bottom:20px;border-bottom:1px solid #ffffff35}.footer-bottom{flex-direction:column}.site-footer{padding-top:53px}.home-hero,.home-hero-content{min-height:660px}.home-hero-image{object-position:61% center}.home-hero-shade{background:linear-gradient(90deg,#10281ff2,#10281fc9 60%,#10281f9c)}.home-hero-content{padding-block:75px 110px}.home-hero h1{font-size:clamp(3.15rem,12vw,5rem)}.home-hero p{font-size:1rem}.home-hero-actions{flex-direction:column;gap:20px}.home-hero-actions .button{width:min(100%,340px);min-width:0}.hero-caption{padding-inline:18px}.hero-caption span{display:none}.trust-bar .container{justify-content:flex-start;gap:10px 18px}.trust-bar span,.trust-bar a{font-size:.62rem}.home-intro,.home-locations{grid-template-columns:1fr;gap:43px;padding-block:85px}.home-intro h2,.home-locations h2{font-size:clamp(2.5rem,9vw,3.8rem)}.intro-visual img,.locations-photo img{aspect-ratio:4/3}.home-services,.home-journal{padding-block:85px}.section-heading{display:block;margin:0 auto 35px;text-align:center}.section-heading h2{font-size:clamp(2.7rem,10vw,4rem)}.section-heading p{margin-top:23px}.editorial-grid,.journal-grid{grid-template-columns:1fr;gap:40px}.journal-grid h3,.editorial-card-copy p{min-height:0}.editorial-photo img{aspect-ratio:4/3}.section-bottom{flex-direction:column;align-items:flex-start;gap:20px;margin-top:45px}.philosophy-grid{display:block}.home-philosophy h2{font-size:3.5rem}.commercial-feature{grid-template-columns:1fr}.commercial-image img{height:300px}.commercial-copy{padding:65px 22px}.home-contact{padding-block:90px}.home-contact h2{font-size:3.2rem}.home-contact .container>div{flex-direction:column;gap:14px}.home-contact .button{width:min(100%,340px)}.journal-grid a{min-height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.editorial-photo img,.journal-grid a{transition:none}}

/* Flagship review refinements */
.location-menu{width:min(760px,calc(100vw - 40px));grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 24px 27px}
.location-menu .menu-overview{grid-column:1/-1;padding:4px 14px 18px;margin-bottom:17px;border-bottom:1px solid var(--line)}
.location-menu .menu-overview>a{padding:0;color:var(--forest);font:400 1.5rem/1.2 Georgia,serif}
.location-menu .menu-overview p{margin:7px 0 0;color:var(--muted);font-size:.8rem}
.location-menu>div:nth-child(2){border-left:0}
.location-menu>div:nth-child(3){border-left:1px solid var(--line)}
.directory-section .card{text-align:center;align-items:center;justify-content:center;padding:28px 20px}
.directory-section .card h3{max-width:26ch}
.directory-section .card p{max-width:40ch}
.directory-section .section-title .eyebrow,.section-heading .eyebrow{text-align:center}
.journal-grid a{align-items:center;text-align:center}
.journal-grid h3{min-height:0;max-width:26ch}
.journal-grid p{max-width:37ch}
.journal-grid strong{align-self:center;margin:24px auto 0}
.editorial-card-copy{min-height:200px}
.editorial-card-copy h3{font-size:clamp(1.45rem,2vw,2.2rem);white-space:nowrap}
.editorial-card-copy .card-button,.journal-grid .card-button{display:inline-flex;align-items:center;justify-content:center;min-width:175px;min-height:43px;padding:10px 20px;border-radius:999px;background:#214d3c;color:#fff;font:700 .75rem/1.2 Arial,sans-serif;letter-spacing:.01em;text-align:center;text-transform:none;transition:background .2s,transform .2s}
.editorial-card:hover .card-button,.journal-grid a:hover .card-button{background:#122e23;transform:translateY(-2px)}
.home-reviews{padding:clamp(80px,9vw,125px) 0;background:#233d33;color:#fff;text-align:center}
.home-reviews h2{max-width:900px;margin:16px auto 12px;color:#fff;font-size:clamp(2.8rem,4.4vw,4.7rem)}
.home-reviews .eyebrow{color:#eed5a2}
.reviews-intro{max-width:620px;margin:0 auto 35px;color:#e8eee7}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:31px;text-align:left}
.review-card{display:flex;flex-direction:column;min-height:228px;margin:0;padding:30px;background:#fff;color:var(--ink)}
.review-stars{color:#886522;letter-spacing:.16em;font-size:.91rem}
.review-card blockquote{margin:24px 0;font:400 clamp(1.3rem,1.8vw,1.8rem)/1.28 Georgia,serif}
.review-card figcaption{margin-top:auto;font-size:.83rem;font-weight:700}
.review-card figcaption span{display:block;margin-top:5px;color:#52665a;font-size:.71rem;font-weight:400}
.home-reviews .button{min-width:260px}
.booking-intro{max-width:1120px}
.booking-intro h1{font-size:clamp(2.8rem,5vw,4.7rem);white-space:nowrap}
.booking-intro p{max-width:850px}
.booking-form-shell iframe{height:5100px}
@media(max-width:850px){.review-grid{grid-template-columns:1fr;max-width:540px;margin-inline:auto}.review-card{min-height:170px}.booking-intro h1{font-size:clamp(2.5rem,5.6vw,4.1rem)}.location-menu{width:100%}}
@media(max-width:600px){.location-menu{grid-template-columns:1fr}.location-menu .menu-overview{grid-column:auto;margin-bottom:0}.location-menu>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.booking-intro h1{white-space:nowrap;font-size:clamp(1.55rem,6.1vw,2.35rem)}.booking-form-shell iframe{height:6800px}.editorial-card-copy h3{font-size:clamp(1.22rem,5.8vw,1.7rem)}.review-card{padding:25px}.home-reviews .button{width:min(100%,340px)}}

/* Editorial navigation links below the home cards. */
.home-services .section-bottom{align-items:center;margin-top:40px}
.home-services .section-bottom .text-link,.home-journal>.container>.text-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;width:max-content;max-width:100%;min-width:0;min-height:0;padding:0 0 8px;border:0;border-bottom:1px solid #ad9c79;border-radius:0;background:transparent;color:var(--forest);font-size:.78rem;font-weight:700;letter-spacing:.09em;line-height:1.5;text-align:center;text-decoration:none;text-transform:uppercase}
.home-services .section-bottom .text-link:hover,.home-journal>.container>.text-link:hover{border-bottom-color:var(--forest);background:transparent;color:#9a7440}
.home-services .section-bottom .text-link span,.home-journal>.container>.text-link span{display:inline;font-size:1rem;line-height:1}
.home-journal>.container>.text-link{display:flex;margin:30px auto 0}

/* Center reviews and keep their stars, quotes and names in aligned rows. */
.review-grid{text-align:center;gap:20px}
.review-card{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:center;min-height:255px;padding:29px 24px;text-align:center}
.review-card blockquote{max-width:27ch;margin:18px auto;font-size:clamp(1.25rem,1.7vw,1.7rem)}
.review-card figcaption{margin:0;line-height:1.4}
.review-card figcaption span{margin-top:7px}

/* Reserve matching space for article titles and excerpts, then align actions. */
.journal-grid{gap:22px;margin:42px 0 0}
.journal-grid a{min-height:298px;height:100%;padding:28px 25px 26px}
.journal-grid h3{min-height:3.45em;margin:17px 0 8px;line-height:1.17}
.journal-grid p{min-height:3.2em;line-height:1.55}
.journal-grid .card-button{flex:none;margin:18px auto 0}

/* Give the blog index the same breathing room above and below the cards. */
.blog-directory{padding-bottom:82px}
@media(max-width:850px){.review-card{min-height:205px}.journal-grid{gap:18px}.journal-grid a{min-height:300px}}
@media(max-width:600px){.home-services .section-bottom{align-items:center}.home-services .section-bottom .text-link,.home-journal>.container>.text-link{white-space:normal}.review-card{min-height:190px}.journal-grid a{min-height:260px}.journal-grid h3,.journal-grid p{min-height:0}.blog-directory{padding-bottom:65px}}


/* Quiet seasonal accent, confined to the home hero. */
.home-hero .autumn-leaves{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.autumn-leaves span{position:absolute;top:-12%;left:var(--leaf-x);width:11px;height:17px;background:#d7a66b;opacity:0;clip-path:polygon(50% 0,63% 24%,89% 14%,78% 43%,100% 58%,67% 65%,57% 100%,44% 76%,20% 91%,27% 60%,0 47%,27% 36%);animation:leaf-fall var(--leaf-duration) linear infinite;animation-delay:var(--leaf-delay)}
.autumn-leaves span:nth-child(1){--leaf-x:4%;--leaf-duration:14s;--leaf-delay:-2s}
.autumn-leaves span:nth-child(2){--leaf-x:14%;--leaf-duration:19s;--leaf-delay:-10s;background:#aa754d}
.autumn-leaves span:nth-child(3){--leaf-x:26%;--leaf-duration:16s;--leaf-delay:-7s}
.autumn-leaves span:nth-child(4){--leaf-x:38%;--leaf-duration:22s;--leaf-delay:-15s;background:#bb8958}
.autumn-leaves span:nth-child(5){--leaf-x:52%;--leaf-duration:18s;--leaf-delay:-3s}
.autumn-leaves span:nth-child(6){--leaf-x:64%;--leaf-duration:21s;--leaf-delay:-11s;background:#aa754d}
.autumn-leaves span:nth-child(7){--leaf-x:73%;--leaf-duration:15s;--leaf-delay:-8s}
.autumn-leaves span:nth-child(8){--leaf-x:84%;--leaf-duration:23s;--leaf-delay:-17s;background:#bb8958}
.autumn-leaves span:nth-child(9){--leaf-x:95%;--leaf-duration:17s;--leaf-delay:-5s}
.home-hero-content,.home-hero .hero-caption{z-index:2}
@keyframes leaf-fall{0%{transform:translate3d(0,-15px,0) rotate(0);opacity:0}8%{opacity:.42}85%{opacity:.38}100%{transform:translate3d(80px,820px,0) rotate(570deg);opacity:0}}
@media(max-width:600px){.autumn-leaves span:nth-child(n+6){display:none}}
@media(prefers-reduced-motion:reduce){.home-hero .autumn-leaves{display:none}}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin:18px 0;padding:14px 16px;border:1px solid #aebbae;font-size:.92rem}
.form-status[hidden]{display:none}
.form-status-success{background:#e9f2e9;color:#17402e}
.form-status-error{background:#fff1ec;color:#742b1f}

@media(min-width:601px) and (max-width:1000px){.booking-form-shell iframe{height:6000px}}

/* Keep long headings readable without horizontal scrolling on compact screens. */
@media(max-width:380px){.booking-intro h1{font-size:clamp(1.2rem,5.8vw,1.55rem)}.hero-panel h1,.home-hero h1{overflow-wrap:normal}.hero-actions .button,.home-hero-actions .button{max-width:100%}}

/* Use an honest, photo-free treatment where the archive lacks a matching scene. */
.hero-no-photo{background:radial-gradient(circle at 78% 18%,#426356 0,#234539 34%,#19352c 80%)}
.hero-no-photo:before{background:linear-gradient(100deg,#10281f52,#10281f20)}
.hero-lead,.home-hero p{text-align:center}
@media(max-width:600px){.hero-no-photo .hero-inner{min-height:470px}.hero-actions .button{min-height:60px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-contact{grid-column:auto}.site-footer .footer-contact-links a{max-width:100%}}

.home-process{padding:clamp(78px,9vw,125px) 0;background:#fbfaf7;text-align:center}
.home-process h2{max-width:780px;margin:18px auto 17px;font-size:clamp(2.5rem,4vw,4.3rem)}
.home-process .process-intro{max-width:680px;margin:0 auto 42px;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:35px}
.process-grid>div{padding:28px 24px;border:1px solid var(--line);background:#fff}
.process-grid h3{margin:0 0 14px;font-size:clamp(1.35rem,1.7vw,1.7rem)}
.process-grid p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.7}
.home-process .text-link{margin-inline:auto}
.commercial-feature .eyebrow{color:#eed5a2}
@media(max-width:850px){.process-grid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}.process-grid>div{padding:24px}.home-process .process-intro{margin-bottom:30px}}

.article-meta{margin:0 0 28px;color:#715a31;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:850px){.commercial-feature{grid-template-columns:1fr}.commercial-image img{height:360px}.commercial-copy{padding:65px 30px}}
@media(max-width:600px){.commercial-image img{height:280px}.commercial-copy{padding:55px 22px}}

/* Compact layouts keep the spacing and alignment of the desktop design. */
@media (max-width:850px){
  .container{width:min(calc(100% - 48px),var(--content))}
  .home-intro,.home-locations{grid-template-columns:minmax(0,1fr);gap:42px;max-width:720px;padding-block:85px}
  .intro-copy,.locations-copy{max-width:650px;margin-inline:auto;text-align:center}
  .intro-copy p,.locations-copy p,.commercial-copy p,.booking-intro p{text-align:center}
  .intro-copy .text-link,.locations-copy .text-link{justify-content:center}
  .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  .editorial-grid .editorial-card:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,420px);justify-self:center}
  .editorial-card-copy h3{white-space:normal;overflow-wrap:normal}
  .editorial-card-copy{min-height:190px;padding:20px 12px 10px}
  .journal-grid>a:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,520px);justify-self:center}
  .home-services .section-bottom,.home-journal .container{text-align:center}
  .home-services .section-bottom{align-items:center}
  .home-reviews h2,.section-heading h2,.home-process h2{font-size:clamp(2.6rem,6vw,4rem)}
  .section-heading p,.hero-lead,.reviews-intro{margin-inline:auto;text-align:center}
  .two-panel .section-title{text-align:center}
  .two-panel .section-title h2{font-size:clamp(2rem,4.8vw,3rem)}
  .home-hero-actions,.hero-actions{gap:14px}
  .home-hero-actions .button,.hero-actions .button{width:260px;min-width:260px;min-height:58px}
  .commercial-copy p{margin-inline:auto}
  .mega-menu{max-height:min(70vh,640px);overflow:auto}
}
@media (max-width:600px){
  .container{width:min(calc(100% - 36px),var(--content))}
  .home-hero,.home-hero-content{min-height:610px}
  .home-hero-content{padding-block:72px 96px}
  .home-hero h1{font-size:clamp(2.6rem,10vw,3.6rem);line-height:1.08}
  .home-hero p,.hero-lead{font-size:1rem;line-height:1.65;text-align:center}
  .hero-panel h1{font-size:clamp(2.2rem,9.4vw,3.3rem);line-height:1.1}
  .hero-inner{min-height:480px;padding-block:50px}
  .home-hero-actions,.hero-actions{width:100%;gap:12px}
  .home-hero-actions .button,.hero-actions .button,.home-philosophy .button,.home-contact .button,.home-reviews .button,.commercial-copy .button{width:min(100%,320px);min-width:0;min-height:56px;margin-inline:auto}
  .editorial-grid,.journal-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .editorial-grid .editorial-card:last-child:nth-child(odd),.journal-grid>a:last-child:nth-child(odd){grid-column:auto;width:100%}
  .editorial-photo img{aspect-ratio:4/3}
  .editorial-card-copy{min-height:0;padding:20px 12px 7px}
  .editorial-card-copy p{min-height:0}
  .editorial-card-copy .card-button,.journal-grid .card-button{width:180px;min-width:180px;min-height:44px;margin-inline:auto}
  .journal-grid a{min-height:0;padding:26px 22px}
  .journal-grid h3,.journal-grid p{min-height:0}
  .home-services,.home-journal,.home-process,.home-philosophy,.home-reviews{padding-block:72px}
  .home-intro,.home-locations{padding-block:72px}
  .home-intro h2,.home-locations h2,.section-heading h2,.home-process h2,.home-reviews h2{font-size:clamp(2.4rem,9vw,3.5rem)}
  .home-philosophy h2,.home-contact h2{font-size:clamp(2.5rem,9vw,3.7rem)}
  .process-grid{gap:14px}
  .process-grid>div{padding:23px 20px}
  .home-services .section-bottom{margin-top:32px;text-align:center}
  .home-services .section-bottom .text-link,.home-journal>.container>.text-link{justify-content:center;gap:8px;white-space:normal;text-align:center}
  .trust-bar .container{justify-content:center;text-align:center}
  .trust-bar span,.trust-bar a{max-width:100%}
  .review-card{min-height:0;padding:25px 22px}
  .review-card blockquote{margin:16px auto}
  .commercial-copy{padding:58px 22px}
  .commercial-copy h2{font-size:clamp(2.4rem,9vw,3.5rem)}
  .commercial-copy p{text-align:center}
  .booking-intro h1{font-size:clamp(1.15rem,5.5vw,2.2rem);white-space:nowrap}
  .booking-intro p{text-align:center}
  .footer-grid{gap:30px;text-align:center}
  .site-footer p,.site-footer .footer-contact-links a{margin-inline:auto}
  .footer-contact-links a span{text-align:center}
  .side-box{text-align:center}
  .estimate-form{padding:20px}
  .estimate-form .button{width:100%;min-width:0}
  .location-menu,.mega-menu{padding:12px 10px 18px}
  .mega-menu>div{padding:11px 5px}
  .mega-menu a{padding:11px 9px}
}
@media (max-width:380px){
  .home-hero h1{font-size:clamp(2.35rem,10vw,2.7rem)}
  .home-intro h2,.home-locations h2,.section-heading h2,.home-process h2,.home-reviews h2{font-size:2.35rem}
  .breadcrumbs{font-size:.69rem}
  .hero-facts{gap:5px 10px}
}

/* Final tablet and phone alignment pass. Keep controls text-only and consistent. */
.nav-dropdown>summary:after{flex:none;width:7px;height:7px;margin-left:3px;transform-origin:center}
@media(max-width:850px){
  .nav-inner{padding-block:10px 24px}
  .nav-inner>a,.nav-dropdown>summary{min-height:48px;justify-content:center;text-align:center}
  .nav-inner .nav-quote{display:flex;justify-content:center;align-items:center;min-height:54px;width:min(100%,280px);margin:18px auto 0}
  .mega-menu{gap:0;padding-block:12px 20px}
  .mega-menu>div{padding-block:8px}
  .mega-menu .menu-heading{margin-bottom:5px}
  .hero-actions,.home-hero-actions{gap:12px}
  .hero-actions .button,.home-hero-actions .button{flex:0 1 280px;width:min(100%,280px);min-width:0}
  .home-intro,.home-locations{row-gap:36px}
  .intro-copy,.locations-copy{justify-self:center}
  .section-heading,.section-title{max-width:680px;margin-inline:auto;text-align:center}
  .editorial-grid,.journal-grid{align-items:stretch}
  .editorial-card,.journal-grid>a{min-width:0}
  .editorial-card-copy h3,.journal-grid h3{overflow-wrap:normal;hyphens:none}
  .home-services .section-bottom,.home-journal>.container{text-align:center}
  .home-services .section-bottom .text-link,.home-journal>.container>.text-link,.home-process .text-link{margin-inline:auto;justify-content:center;text-align:center}
  .home-philosophy .button,.commercial-copy .button,.home-reviews .button,.home-contact .button{width:min(100%,280px);min-width:0}
  .process-grid>div{height:100%}
}
@media(max-width:600px){
  .hero-inner{padding-block:52px}
  .hero-panel,.booking-intro{width:100%;max-width:100%;margin-inline:auto}
  .hero-panel h1{max-width:100%;margin-inline:auto}
  .hero-actions .button,.home-hero-actions .button{flex:none;width:min(100%,320px)}
  .home-intro,.home-locations{row-gap:32px;padding-block:68px}
  .home-services,.home-journal,.home-process,.home-philosophy,.home-reviews{padding-block:68px}
  .section-heading,.section-title{margin-bottom:30px}
  .editorial-grid,.journal-grid{gap:28px}
  .editorial-card-copy{align-items:center;text-align:center}
  .editorial-card-copy h3{margin:10px auto}
  .editorial-card-copy p{margin-inline:auto}
  .editorial-card-copy .card-button,.journal-grid .card-button{margin-top:18px}
  .journal-grid{margin-top:30px}
  .home-services .section-bottom{margin-top:30px}
  .home-journal>.container>.text-link{margin-top:30px}
  .home-philosophy p,.home-contact p,.commercial-copy p,.reviews-intro,.section-heading p,.process-intro{text-align:center}
  .process-grid{margin-bottom:28px}
  .town-links{gap:8px;margin-block:24px}
  .town-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px}
  .review-grid{gap:15px}
  .review-card{width:100%}
  .two-panel{gap:42px}
  .two-panel .section-title{text-align:center}
  .directory-section{padding-top:68px}
  .directory-section .card-grid{gap:14px}
  .directory-section .card{min-height:0;padding:25px 20px}
  .article-layout{gap:34px;padding-block:55px}
  .article-layout .prose{max-width:100%}
  .booking-header{padding-block:58px 35px}
  .booking-help{padding:25px 18px 50px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-contact{grid-column:auto}
  .footer-bottom{align-items:center;text-align:center}
  .location-menu .menu-overview{text-align:center}
}
@media(max-width:380px){
  .container{width:calc(100% - 32px)}
  .hero-panel h1{font-size:clamp(2rem,9vw,2.4rem)}
  .home-hero h1{font-size:clamp(2.2rem,9.5vw,2.55rem)}
  .home-hero-actions .button,.hero-actions .button{padding-inline:12px}
  .booking-intro h1{font-size:5.3vw}
}

/* Phone layout reviewed against the supplied 354px viewport screenshots. */
@media(max-width:600px){
  .site-header .logo-row{min-height:76px}
  .site-header .brand{width:120px}
  .site-header .brand img{max-height:68px}
  .site-header .menu-button{right:2px;padding:13px}
  .home-hero,.home-hero-content{min-height:0}
  .home-hero-content{padding-block:74px 77px}
  .home-hero h1{max-width:11ch;margin:17px auto 22px;font-size:clamp(2.5rem,10vw,3.2rem);line-height:1.07}
  .home-hero .eyebrow{max-width:100%;font-size:.65rem;letter-spacing:.12em}
  .home-hero p{max-width:33ch;margin:0 auto 27px;font-size:1rem;line-height:1.6}
  .home-hero-actions,.hero-actions{flex-direction:column;align-items:center;gap:12px}
  .home-hero-actions .button,.hero-actions .button,.home-philosophy .button,.commercial-copy .button,.home-contact .button,.home-reviews .button{width:min(100%,320px);min-width:0;min-height:54px;padding:13px 18px;line-height:1.25}
  .hero-caption{padding-block:13px;font-size:.59rem;letter-spacing:.1em;text-align:center;justify-content:center}
  .trust-bar .container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px;padding-block:17px;text-align:center}
  .trust-bar span,.trust-bar a{display:block;padding:0;font-size:.58rem;line-height:1.35;letter-spacing:.08em}
  .trust-bar span:not(:first-child){padding:0;border:0}
  .home-intro,.home-locations{gap:28px;padding-block:60px}
  .home-services,.home-process,.home-philosophy,.home-reviews,.home-journal{padding-block:62px}
  .home-contact{padding-block:66px}
  .home-intro h2,.home-locations h2,.section-heading h2,.home-process h2,.home-reviews h2,.home-philosophy h2,.home-contact h2,.commercial-copy h2{font-size:clamp(2.35rem,9vw,3.15rem);line-height:1.12}
  .home-intro p,.home-locations p,.home-philosophy p,.commercial-copy p,.home-contact p{font-size:1rem;line-height:1.65}
  .home-philosophy h2{max-width:12ch}
  .home-philosophy p{margin-bottom:25px}
  .section-heading{margin-bottom:27px}
  .editorial-grid,.journal-grid{gap:27px}
  .editorial-card-copy{padding:19px 10px 0}
  .editorial-card-copy h3{font-size:clamp(1.5rem,6.5vw,2rem)}
  .editorial-card-copy p{line-height:1.5}
  .editorial-card-copy .card-button,.journal-grid .card-button{margin-top:18px}
  .home-services .section-bottom{margin-top:32px}
  .journal-grid{margin-top:28px}
  .home-journal>.container>.text-link{margin-top:27px}
  .home-contact .container>div{width:100%;gap:12px}
  .home-contact .container>div .button{width:min(100%,320px)}
  .commercial-copy{padding:58px 22px}
  .commercial-copy p{margin-bottom:25px}
  .site-footer{padding:54px 0 22px}
  .site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;text-align:center}
  .site-footer .footer-grid>div{min-width:0;text-align:center}
  .site-footer .footer-contact{grid-column:1;border-bottom:1px solid #ffffff35;padding-bottom:26px}
  .site-footer .footer-logo,.site-footer h2,.site-footer p{text-align:center}
  .site-footer p{max-width:32ch;margin-inline:auto}
  .site-footer .footer-grid a{width:fit-content;max-width:100%;margin:0 auto 11px;text-align:center}
  .site-footer .footer-contact-links{justify-items:center;gap:15px}
  .site-footer .footer-contact-links a{margin-inline:auto}
  .site-footer .footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-top:36px;text-align:center}
  .site-footer .footer-bottom span{display:block;text-align:center}
}
@media(max-width:380px){
  .home-hero h1{font-size:clamp(2.3rem,10vw,2.65rem)}
  .home-hero .eyebrow{font-size:.61rem;letter-spacing:.1em}
  .home-hero-actions .button,.hero-actions .button{padding-inline:12px}
}

/* Full-screen booking on compact devices avoids clipping a cross-origin form. */
.booking-mobile-panel{display:none}
.home-hero-actions .button{width:310px;min-width:310px}
@media(max-width:1000px){
  .booking-form-shell{display:none}
  .booking-help{display:none}
  .booking-mobile-panel{display:block;padding:60px 0 75px;background:#fbfaf7}
  .booking-mobile-card{width:min(100%,680px);margin-inline:auto;padding:clamp(26px,5vw,52px);border:1px solid var(--line);background:#fff;text-align:center}
  .booking-mobile-card h2{margin:12px auto 18px;font-size:clamp(2.2rem,5vw,3.4rem)}
  .booking-mobile-card p{max-width:50ch;margin:0 auto 28px;color:var(--muted);line-height:1.7}
  .booking-mobile-card .button{width:min(100%,320px);min-width:0}
  .booking-mobile-card .booking-mobile-phone{margin:20px auto 0;font-size:.88rem}
}
@media(max-width:600px){
  .home-hero-actions .button{width:min(100%,320px);min-width:0}
  .booking-mobile-panel{padding:34px 0 65px}
  .booking-mobile-card{padding:30px 22px}
  .booking-mobile-card h2{font-size:clamp(2rem,8vw,2.8rem)}
  .booking-mobile-card .button{min-height:56px}
}

/* One article system across all guides. */
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 20px;margin:0 0 22px;color:#6b5b3e;font:700 .73rem/1.5 Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase}
.article-meta time{font:inherit}
.article-summary{margin:0 0 36px;padding:25px 28px;border-left:3px solid var(--brass);background:#f1efe8}
.article-summary strong{display:block;margin-bottom:7px;color:#6d5833;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase}
.article-summary p{max-width:68ch;margin:0;color:var(--ink);font-size:1.07rem;line-height:1.7}
.article-related{margin-top:44px;padding-top:25px;border-top:1px solid var(--line)}
.article-related h2{margin:0 0 13px;padding:0;border:0;font-size:1.8rem}
.article-related ul{margin:0;padding-left:21px}
.article-related li{margin:8px 0}
.blog-directory .card{align-items:center;text-align:center}
.blog-card-topic{margin-bottom:14px;color:#765d35;font-size:.67rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.blog-directory .card h3{margin-bottom:12px}
.blog-card-date{display:block;margin-top:auto;padding-top:20px;color:#6b5b3e;font-size:.73rem;font-weight:700;letter-spacing:.03em}
@media(max-width:600px){.article-meta{justify-content:center;gap:4px 12px;text-align:center}.article-summary{padding:21px 20px}.article-summary p{font-size:1rem}.article-related{text-align:left}.blog-directory .card{padding:25px 21px}}
