:root{--font-display:Georgia,serif;--type-display-desktop:48px;--type-display-tablet:44px;--type-display-mobile:36px;--type-section-desktop:40px;--type-section-tablet:36px;--type-section-mobile:30px;--ink:#252523;--bg:#f6f4ef;--line:#c9c5bb;--paper:#fffefa;--muted:#77746e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}header{position:sticky;top:0;background:#fffffff0;z-index:5;border-bottom:1px solid var(--line);padding:15px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{font-weight:800;letter-spacing:.16em}.nav{display:flex;gap:22px;font-size:13px;flex-wrap:wrap}a{color:inherit;text-decoration:none}button,.btn{display:inline-block;border:1px solid #242424;background:#242424;color:white;padding:13px 20px;font-size:13px;cursor:pointer}.btn.alt{background:transparent;color:#242424}.wrap{max-width:1250px;margin:auto;padding:80px 5%}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#666}.section-title{font:normal clamp(30px,4vw,54px)/1.07 Georgia,serif;margin:14px 0 18px}p{line-height:1.65;color:#4f4d48}.tag{font:700 11px Arial;letter-spacing:.08em;color:#59574e;background:#e8e4db;padding:8px 12px;display:inline-block;margin-bottom:20px}.photo{background:repeating-linear-gradient(135deg,#dedbd3,#dedbd3 14px,#e8e5de 14px,#e8e5de 28px);border:1px dashed #aaa59b;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:#656057;font-size:13px;line-height:1.55;min-height:200px}.photo b{display:block;color:#34312c;font-size:15px;margin-bottom:8px}.hero{display:grid;grid-template-columns:44% 56%;min-height:640px;background:#ebe8e1}.hero-copy{padding:110px 8% 85px 11%;align-self:center}.hero h1{font:normal clamp(40px,5vw,74px)/1.02 Georgia,serif;margin:20px 0}.hero .photo{min-height:640px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.grid{display:grid;gap:14px}.work{grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px 240px}.work .photo:nth-child(1){grid-row:span 2}.work .photo:nth-child(2){grid-column:span 2}.work .photo:nth-child(5){grid-row:span 2}.work .photo:nth-child(8){grid-column:span 2}.services{grid-template-columns:repeat(3,1fr);gap:25px}.service .photo{height:290px}.service h3{font:normal 25px Georgia;margin:14px 0 6px}.service p{font-size:13px;margin:0 0 9px}.link{font-size:13px;border-bottom:1px solid #666;padding-bottom:4px}.split{display:grid;grid-template-columns:45% 55%;gap:65px;align-items:center}.split .photo{height:520px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}.feature{border-top:1px solid #777;padding-top:18px}.feature h3{font:normal 23px Georgia}.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.price{border:1px solid var(--line);background:white;padding:24px}.price h3{font:normal 26px Georgia}.price .package-facts{background:#ece9e2;padding:18px 16px;margin:20px 0;display:flex;flex-direction:column;gap:10px;min-height:112px;justify-content:center}.price .package-facts .duration{font-size:17px;font-weight:500;color:#45413b;white-space:nowrap}.price .package-facts .amount{font:normal 34px/1.1 Georgia,serif;color:#252523;white-space:nowrap}.price .package-facts .amount.custom{font-size:26px}.price .package-facts .duration::before,.price .package-facts .amount::before{content:"•";font:normal 15px Arial,sans-serif;color:#807b70;margin-right:10px;vertical-align:middle}.placeholder{background:#ece9e2;color:#6b665d;padding:12px;margin:20px 0;font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid #777;padding-top:20px}.step span{font:normal 38px Georgia;color:#8a857b}.step h3{font:normal 23px Georgia}.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.locations .photo{height:260px}.locations h3{font:normal 22px Georgia}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.review{padding:25px;border:1px dashed #aaa;font:normal 21px Georgia;color:#777}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;font-size:16px;font-weight:600}.book{display:grid;grid-template-columns:1fr 1fr;gap:55px}.book .photo{min-height:500px}.form{display:grid;gap:13px}input,textarea{border:1px solid #bbb;background:white;padding:15px;font:14px Arial;width:100%}textarea{min-height:105px}.dark{background:#eae6dd}.note{font-size:12px;color:#6f6a62;margin-top:12px}.divider{border-top:1px solid var(--line)}footer{padding:35px 5%;background:#2c2b28;color:white;display:flex;justify-content:space-between;gap:20px;font-size:12px}.legend{background:#fff7dd;border-bottom:1px solid #d8cba4;padding:11px 5%;font-size:13px}section{scroll-margin-top:65px}@media(max-width:800px){.nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 6%}.hero .photo{min-height:420px}.wrap{padding:60px 5%}.work{grid-template-columns:repeat(2,1fr);grid-template-rows:none}.work .photo{grid-row:auto!important;grid-column:auto!important;height:240px}.services,.prices,.locations,.reviews{grid-template-columns:repeat(2,1fr)}.split,.book{grid-template-columns:1fr;gap:30px}.features,.steps{grid-template-columns:repeat(2,1fr)}.split .photo{height:370px}}@media(max-width:520px){.services,.prices,.locations,.reviews,.features,.steps{grid-template-columns:1fr}.work .photo{height:180px}.hero h1{font-size:45px}.service .photo{height:280px}}.hero .hero-real-photo{padding:0;border:0;background:#242424;overflow:hidden}.hero .hero-real-photo img{width:100%;height:100%;min-height:640px;object-fit:cover;object-position:center;display:block}@media(max-width:800px){.hero .hero-real-photo img{min-height:420px}} #why-alex{padding-top:36px;padding-bottom:48px}#why-alex .features{margin-top:0} @media(max-width:800px){#why-alex .features{grid-template-columns:1fr!important;gap:12px}} .brand-lockup{display:inline-flex;flex-direction:row;align-items:center;gap:0;line-height:1.05;text-decoration:none;white-space:nowrap}.brand-lockup .brand-name{font-weight:800;font-size:19px;letter-spacing:.035em}.brand-lockup .brand-subtitle{font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:600;letter-spacing:.115em;line-height:1.2}.footer-logo.brand-lockup{display:inline-flex}.footer-logo.brand-lockup .brand-name{font-size:19px} @media(max-width:600px){.brand-lockup .brand-name{font-size:16px}.brand-lockup .brand-subtitle{font-size:8px;letter-spacing:.09em}} 
.tag{display:none!important}.quickfacts{background:#e8e5dd;text-align:center;padding:18px 14px;letter-spacing:.09em;font:600 12px/1.8 Arial,sans-serif;color:#45433e}.photo{font-size:12px;letter-spacing:.03em}.photo>div{max-width:85%;text-align:center}#hero h1{max-width:760px}.hero .hero-real-photo{padding:0;border:0;background:#242424;overflow:hidden}.hero .hero-real-photo img{width:100%;height:100%;min-height:640px;object-fit:cover;object-position:center;display:block}@media(max-width:800px){.hero .hero-real-photo img{min-height:420px}}
html{scroll-behavior:smooth;scroll-padding-top:90px}.site-header{min-height:76px;padding:14px max(4%,calc((100vw - 1320px)/2));gap:28px}.site-header .logo{white-space:nowrap;font-size:16px;letter-spacing:.13em}.site-header .logo span{font-weight:400}.site-header .nav{display:flex;gap:clamp(12px,1.6vw,28px);align-items:center;flex-wrap:nowrap;margin-left:auto}.site-header .nav a{white-space:nowrap;font-size:13px}.site-header .nav a:hover,.footer-links a:hover{opacity:.55}.site-header .header-cta{white-space:nowrap;flex-shrink:0}.mobile-menu{display:none}.site-footer{display:block;padding:0 5%;background:#252521;color:#f8f5ee}.footer-main{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;padding:65px 0 55px}.footer-logo{font-weight:800;letter-spacing:.13em;font-size:17px}.footer-brand p,.footer-action p{color:#c7c4bb;font-size:14px;line-height:1.6;margin:16px 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:17px;font-size:14px}.footer-action{text-align:right}.footer-action p{margin:0 0 20px}.footer-button{display:inline-block;border:1px solid #eee;padding:13px 19px;font-size:13px}.footer-button:hover{background:#f8f5ee;color:#252521}.footer-bottom{max-width:1250px;margin:auto;border-top:1px solid #55554f;display:flex;justify-content:space-between;padding:22px 0;color:#bcb9b0;font-size:12px}.footer-bottom a{color:#eee}@media(max-width:1050px){.site-header{gap:16px}.site-header .nav{gap:13px}.site-header .nav a{font-size:12px}.site-header .header-cta{padding:12px;font-size:12px}}@media(max-width:800px){.site-header{padding:14px 5%;min-height:68px}.site-header .nav{display:none}.site-header .header-cta{margin-left:auto}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;font-size:13px;border:1px solid #bcb7ad;padding:11px 12px;white-space:nowrap}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{padding-left:8px}.mobile-menu nav{position:absolute;right:0;top:48px;z-index:30;width:min(280px,88vw);display:flex;flex-direction:column;background:#fffefa;border:1px solid #d4d0c7;box-shadow:0 14px 30px #0002;padding:12px}.mobile-menu nav a{padding:12px;font-size:14px}.mobile-menu nav a.mobile-book{background:#252523;color:white;margin-top:5px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-action{text-align:left}}@media(max-width:520px){.site-header .header-cta{display:none}.mobile-menu{margin-left:auto}.footer-main{grid-template-columns:1fr;gap:25px;padding:45px 0 35px}.footer-action{padding-top:6px}.footer-bottom{gap:14px;flex-wrap:wrap}}.hero .hero-real-photo{padding:0;border:0;background:#242424;overflow:hidden}.hero .hero-real-photo img{width:100%;height:100%;min-height:640px;object-fit:cover;object-position:center;display:block}@media(max-width:800px){.hero .hero-real-photo img{min-height:420px}}

.photo.real-photo{display:block;padding:0;border:0;min-height:0;background:transparent;overflow:hidden}
.real-photo img{display:block;width:100%;height:auto}
.work.photo-review-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:14px;align-items:start}
.portfolio-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.work.photo-review-gallery .photo{height:auto;min-height:0}
.service .photo.real-photo{height:290px;background:#ebe8e1}
.service .photo.real-photo img{width:100%;height:100%;object-fit:contain}
.split .photo.real-photo{height:auto}
.locations .photo.real-photo{height:260px;background:#eae6dd}
.locations .photo.real-photo img{width:100%;height:100%;object-fit:contain}
.book .photo.real-photo{height:auto;min-height:0}
.hero .photo.hero-real-photo{min-height:640px;position:relative;background:#242424}
.hero .hero-real-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
@media(max-width:800px){.work.photo-review-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .photo.hero-real-photo{min-height:420px}.service .photo.real-photo{height:290px}}
@media(max-width:520px){.work.photo-review-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-column{gap:10px}.service .photo.real-photo{height:360px}}


.hero h1{font-size:clamp(32px,4vw,59px)}
.service .photo,.service .photo.real-photo,.locations .photo,.locations .photo.real-photo{height:auto;min-height:0;aspect-ratio:4 / 5;overflow:hidden}
.service .photo.real-photo img,.locations .photo.real-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:520px){.hero h1{font-size:36px}}


.hero h1{font-size:clamp(32px,3.2vw,48px);white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:wrap;max-width:none}
.hero-copy{min-width:0;padding-left:7%;padding-right:7%}
.keep-together{white-space:nowrap}
.quickfacts{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;letter-spacing:.07em}
.quickfacts>span:not(.fact-separator){white-space:nowrap}
.fact-separator{font-size:16px;color:#8a857b}
@media(max-width:800px){.hero-copy{padding-left:6%;padding-right:6%}}
@media(max-width:650px){.quickfacts{flex-direction:column;gap:5px}.fact-separator{font-size:10px;line-height:1}.quickfacts>span:not(.fact-separator){white-space:normal}}
@media(max-width:520px){.hero h1{font-size:36px}}


@media(min-width:801px){.hero{min-height:max(640px,calc(100svh - 138px))}.hero .photo.hero-real-photo{min-height:100%}}
.quickfacts.motion-strip{display:block;overflow:hidden;padding:18px 0}
.strip-track{display:flex;width:max-content;animation:halo-strip 36s linear infinite}
.strip-group{display:flex;align-items:center;justify-content:space-around;gap:32px;min-width:100vw;flex-shrink:0;padding:0 16px}
.strip-group>span{white-space:nowrap}
.motion-strip:hover .strip-track{animation-play-state:paused}
@keyframes halo-strip{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.strip-track{animation:none;width:100%}.strip-group{min-width:0;width:100%;flex-wrap:wrap;gap:12px}.strip-group[aria-hidden="true"]{display:none}.strip-group>span{white-space:normal}}


#booking-status:not([hidden]){display:block;margin:8px 0 0;padding:24px;border:1px solid #b8c9b7;background:#edf3ea;color:#24462b;font:18px/1.5 Arial,sans-serif;outline-offset:4px}
#booking-status strong{display:block;font:normal clamp(25px,2.4vw,32px)/1.2 Georgia,serif;margin-bottom:8px}
#booking-status span{display:block}
#booking-status[data-state="error"]{background:#fbefeb;border-color:#cda9a0;color:#7d3026}
#booking-status[data-state="sending"]{background:#f6f4ef;border-color:#c9c5bb;color:#4f4d48}
.form button:disabled{opacity:.65;cursor:wait}
.booking-contacts{margin-top:26px}
.contact-intro{font-size:15px;line-height:1.6;margin:0 0 13px}
.contact-links{display:flex;flex-wrap:wrap;gap:18px 26px}
.contact-links a{font-size:19px;line-height:1.5;text-decoration:underline;text-underline-offset:5px}
.footer-contacts{margin-top:24px;justify-content:flex-end}
.footer-contacts a{color:#f8f5ee;font-size:17px}
.form input:not([type="hidden"]),.form textarea,.form select{font:16px/1.4 Arial,sans-serif;border:1px solid #bbb;border-radius:4px;padding:15px;width:100%;min-width:0;background-color:white;color:#252523;box-sizing:border-box}
.form input::placeholder,.form textarea::placeholder{color:#85817a;opacity:1}
.form select{appearance:none;-webkit-appearance:none;min-height:54px;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%236f6a62' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form select.is-placeholder{color:#85817a}
.form select option{color:#252523}
.mobile-menu summary{border-bottom:1px solid #bcb7ad}
@media(max-width:800px){.services{row-gap:54px}.footer-contacts{justify-content:flex-start}}
@media(max-width:520px){.services{row-gap:60px}.service .link{display:inline-block;margin-top:6px}.contact-links a{font-size:20px}#booking-status:not([hidden]){padding:22px;font-size:17px}}

.photo-review-gallery .portfolio-column[hidden]{display:none!important}
.contact-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.contact-links a span{text-decoration:underline;text-underline-offset:5px}.contact-icon{flex-shrink:0;width:20px;height:20px}.contact-links a:hover{opacity:.7}

h1,h2,h3{white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:wrap}
.keep-together{white-space:normal}
.book>div{min-width:0}
#book .section-title{font-size:clamp(30px,3.2vw,42px)}


@media(max-width:520px){
.contact-links{flex-wrap:nowrap;gap:10px;justify-content:space-between}
.contact-links a,.footer-contacts a{font-size:clamp(13px,3.7vw,16px);gap:5px;white-space:nowrap}
.contact-links .contact-icon{width:16px;height:16px}
.footer-contacts{justify-content:flex-start;gap:16px}
}

@media(max-width:520px){.contact-links,.footer-contacts{justify-content:center;gap:18px}}
.services{row-gap:64px}@media(max-width:800px){.services{row-gap:80px}}@media(max-width:520px){.services{row-gap:88px}}
.service .image-credit{font-size:11px;color:#77746e;margin:8px 0 0;line-height:1.4}
.hero .hero-real-photo img{object-position:center 60%}
/* Shared C07 safety: long custom prices may wrap instead of overflowing. */
.price .package-facts .amount.custom{white-space:normal;overflow-wrap:normal}.price{min-width:0}

/* ALEX component library: reusable sections */
.c02-gallery{display:grid;gap:18px;margin-top:30px}
.c02-gallery--home{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.c02-gallery--solo{grid-template-columns:repeat(4,minmax(0,1fr))}
.c05-split{display:grid;align-items:center}
.c05-split--home{grid-template-columns:45% 55%;gap:65px}
.c05-split--solo{grid-template-columns:repeat(2,minmax(0,1fr));gap:7%}
.c11-faq details{border-bottom:1px solid var(--line);padding:19px 0}
.c11-faq summary{cursor:pointer}
.c12-cta{text-align:center}
.c12-cta p{max-width:600px;margin:0 auto 28px}
.c12-cta .btn{display:inline-block}
.c02-gallery img,.c05-split img{max-width:100%}
.c02-gallery .thumb,.c05-split .thumb{min-width:0}
@media(max-width:800px){
.c02-gallery--home,.c02-gallery--solo{grid-template-columns:repeat(2,minmax(0,1fr))}
.c05-split--home,.c05-split--solo{grid-template-columns:1fr;gap:30px}
}
@media(max-width:520px){
.c02-gallery--home{grid-template-columns:repeat(2,minmax(0,1fr))}
.c02-gallery--solo{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.c11-faq summary{font-family:Georgia,serif}

/* G05 SectionShell and G06 ResponsiveImage */
.c-section{min-width:0}.c-section .section-title{max-width:100%}.c-responsive-image{display:block;width:100%;height:100%;object-fit:cover}

.c05-split--home .photo{height:520px}.c05-split--solo .thumb{width:100%}@media(max-width:800px){.c05-split--home .photo{height:370px}}

/* C12 BookingCTA: same heading width, spacing and button alignment on every service page. */
.c12-cta{width:100%;max-width:1120px;margin-inline:auto;text-align:center}
.c12-cta>.section-title{max-width:1000px;margin:14px auto 24px;font:normal clamp(36px,4vw,64px)/1.1 Georgia,serif;text-wrap:balance}
.c12-cta>p:not(.c12-cta__microcopy){max-width:650px;margin:0 auto 36px}
.c12-cta>.btn{display:inline-flex;justify-content:center;align-items:center;margin:0 auto}
.c12-cta>.c12-cta__microcopy{font-size:14px;line-height:1.5;max-width:540px;margin:18px auto 0;color:inherit;opacity:.78}
@media(max-width:650px){.c12-cta>.section-title{font-size:clamp(34px,8vw,46px);line-height:1.12}.c12-cta>p:not(.c12-cta__microcopy){margin-bottom:28px}}

/* Approved heading scale */
.hero h1{font-size:clamp(42px,5vw,72px)}
.c-section .section-title{font-size:clamp(30px,3.5vw,50px)}
@media(max-width:800px){.hero h1{font-size:clamp(42px,6vw,56px)}.c-section .section-title{font-size:clamp(30px,4.5vw,42px)}}
@media(max-width:520px){.hero h1{font-size:42px}.c-section .section-title{font-size:30px}}

/* Hierarchy paired with live-scale H1. */
.c-section .section-title{font-size:clamp(30px,2.7vw,40px)}
@media(max-width:520px){.c-section .section-title{font-size:30px}}

/* ALEX approved visual consolidation 2026-10-15: ONE background for every content section.
   Overrides legacy alternating .dark / .solo-muted / .hero surfaces. */
:root{--bg:#f6f4ef;--section-bg:#f6f4ef}
body,main,main>section,.hero,.dark,.solo-muted,.solo-hero,.c-section,.book,#book.book.dark{background:var(--section-bg);color:var(--ink)}
.dark h1,.dark h2,.dark h3,.dark .section-title,.dark p,.dark .eyebrow,.dark .feature,.dark .step,.dark .note,
.solo-offer h2,.solo-offer h3,.solo-offer p,.solo-offer .eyebrow,
#book.book.dark h2,#book.book.dark p{color:var(--ink)}
.solo-offer .solo-benefit+.solo-benefit{border-color:var(--line)}
.solo-offer .btn,.solo-offer .btn:hover{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.hero h1,.solo-hero h1{font:normal clamp(38px,3.2vw,48px)/1.08 Georgia,serif;letter-spacing:-.015em;overflow-wrap:normal;text-wrap:balance}
.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font:normal clamp(30px,2.7vw,40px)/1.13 Georgia,serif;letter-spacing:-.01em}
.solo-offer .solo-offer-subtitle{font:normal clamp(22px,2.1vw,28px)/1.2 Georgia,serif;color:var(--ink)}
@media(max-width:800px){
.hero h1,.solo-hero h1{font-size:clamp(36px,5vw,44px)}
.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font-size:clamp(29px,4vw,36px)}
}
@media(max-width:520px){
.hero h1,.solo-hero h1{font-size:36px}
.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font-size:30px}
}

/* Approved divider policy 2026-10-15: use whitespace, not decorative rules, to separate sections. */
main .divider{border-top:0!important}
main .feature,main .step{border-top:0!important;padding-top:0}
/* Preserve functional boundaries: header, form inputs, FAQ rows, pricing cards, footer. */

/* G03 APPROVED global rollout: neighbor-aware surface zoning, no decorative lines. */
.g03-layout{--g03-gap:72px;--g03-tint:#ede9e2}
.g03-layout>section.c-section:not(.hero){padding-top:var(--g03-gap);padding-bottom:var(--g03-gap)}
.g03-layout>section.c15-fullbleed{margin:0}
.g03-layout>section.g03-tinted{position:relative;isolation:isolate;background:transparent!important;color:var(--ink)!important}
.g03-layout>section.g03-tinted::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--g03-tint);z-index:-1;pointer-events:none}
.g03-layout>section.g03-tinted h2,.g03-layout>section.g03-tinted h3,.g03-layout>section.g03-tinted p,.g03-layout>section.g03-tinted .eyebrow{color:var(--ink)!important}
.g03-layout>section.g03-tinted .btn{background:var(--ink);color:white;border-color:var(--ink)}
.g03-layout>section.g03-tinted .btn:hover{background:#3a3936;color:white}
.g03-layout>section.g03-tinted.solo-offer .solo-benefit+.solo-benefit{border-left:0}
@media(max-width:800px){.g03-layout{--g03-gap:52px}}
@media(max-width:520px){.g03-layout{--g03-gap:44px}}

/* CTA alignment experiment — Contact page only, desktop. Keep all other sections unchanged. */
@media(min-width:801px){.book.cta-bottom-align>div:nth-child(2){align-self:end}}

/* Shared multi-page navigation, desktop dropdown and mobile submenu. */
.site-header .nav .nav-dropdown{position:relative}
.site-header .nav .nav-dropdown>summary{list-style:none;cursor:pointer;font:inherit;color:inherit;white-space:nowrap}
.site-header .nav .nav-dropdown>summary::-webkit-details-marker{display:none}
.site-header .nav .nav-dropdown>summary span{font-size:15px;margin-left:3px}
.site-header .nav .nav-dropdown-panel{position:absolute;top:calc(100% + 18px);left:-20px;z-index:110;background:#fffefa;border:1px solid #d4d0c7;box-shadow:0 14px 30px #0002;min-width:245px;padding:9px;display:flex;flex-direction:column;gap:0}
.site-header .nav .nav-dropdown-panel a{padding:10px 12px;white-space:nowrap;font-size:13px;display:block}
.site-header .nav .nav-dropdown-panel a:hover,.mobile-sessions a:hover{background:#ede9e2}
.mobile-sessions>summary{padding:12px;cursor:pointer;font-size:14px;list-style:none}
.mobile-sessions>summary::-webkit-details-marker{display:none}
.mobile-sessions>div{display:flex;flex-direction:column;background:#f6f4ef;padding:3px 0 5px 14px}
.mobile-menu nav .mobile-sessions a{padding:9px 12px}
.footer-links{flex-wrap:wrap}

/* Contextual SEO copy: restrained editorial treatment, not a promotional card. */
.seo-context{padding-top:38px;padding-bottom:38px}
.seo-context-inner{max-width:760px;margin:0 auto}
.seo-context .section-title{font-size:clamp(22px,2.5vw,32px);margin-bottom:14px}
.seo-context p{font-size:15px;line-height:1.8;color:#494641}
@media(max-width:800px){.seo-context{padding-top:28px;padding-bottom:28px}}

/* Approved homepage hero variant: semantic H1 uses existing eyebrow tokens; display copy inherits canonical hero title sizing. */
.hero h1.hero-seo-heading{font:normal 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#666;margin:0}
.hero p.hero-display-heading{font:normal clamp(48px,3.2vw,48px)/1.08 Georgia,serif;letter-spacing:-.015em;margin:20px 0;color:var(--ink);overflow-wrap:normal;text-wrap:balance}
@media(max-width:800px){.hero p.hero-display-heading{font-size:clamp(36px,5vw,44px)}}
@media(max-width:520px){.hero p.hero-display-heading{font-size:36px}}

.footer-inclusivity{text-align:center;padding:22px 16px 20px;border-top:1px solid rgba(255,255,255,.12)}.footer-inclusivity p{margin:0;color:#e8e5dd;font-size:14px;line-height:1.65}.footer-inclusivity p:first-child{font-weight:600;font-size:16px}.footer-inclusivity p+p{margin-top:3px;color:#c7c4bb;font-size:12px;letter-spacing:.025em}

.footer-inclusivity .footer-pride-flag{display:block;margin-top:8px;font-size:20px;line-height:1.3}.footer-inclusivity p+p{margin-top:4px}

.footer-inclusivity p:nth-child(2),.footer-inclusivity p:nth-child(3){font-size:13px}

/* Anchor booking CTAs to the actual form, not the image in its adjacent column. */
form#book{scroll-margin-top:105px}
@media(max-width:800px){form#book{scroll-margin-top:115px}}

/* Canonical heading hierarchy: shared across homepage, service pages and blog. */
.hero p.hero-display-heading,.hero h1:not(.hero-seo-heading),.solo-hero h1{font-family:var(--font-display);font-size:var(--type-display-desktop);line-height:1.08;letter-spacing:-.015em}
.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font-family:var(--font-display);font-size:var(--type-section-desktop);line-height:1.13}
@media(max-width:800px){.hero p.hero-display-heading,.hero h1:not(.hero-seo-heading),.solo-hero h1{font-size:var(--type-display-tablet)}.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font-size:var(--type-section-tablet)}}
@media(max-width:520px){.hero p.hero-display-heading,.hero h1:not(.hero-seo-heading),.solo-hero h1{font-size:var(--type-display-mobile)}.section-title,.c-section .section-title,.solo-offer .section-title,.solo-offer .solo-benefit .section-title,.c12-cta>.section-title{font-size:var(--type-section-mobile)}}

/* Social identity link in the shared header. */
.header-instagram{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:30px;color:inherit}.header-instagram .contact-icon{width:20px;height:20px}.header-instagram:hover{opacity:.6}@media(max-width:800px){.header-instagram{display:none}}

/* Social identity link in the shared header. */
.header-instagram{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:30px;color:inherit}.header-instagram .contact-icon{width:20px;height:20px}.header-instagram:hover{opacity:.6}@media(max-width:800px){.header-instagram{display:none}}

/* Social identity link in the shared header. */
.header-instagram{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:30px;color:inherit}.header-instagram .contact-icon{width:20px;height:20px}.header-instagram:hover{opacity:.6}@media(max-width:800px){.header-instagram{display:none}}
