/* Drizzle v3.7.3 — faithful, responsive marketing presentation inspired by client-approved mockup.
   Non-destructive cascade over v3.7.2; do not simulate payment collection on marketing pages. */
:root{--v373-navy:#0b2850;--v373-blue:#0d4d84;--v373-teal:#0895a1;--v373-orange:#e97819;--v373-cream:#f7fbff;--v373-text:#4f6883;--v373-stroke:#dfebf3;--v373-shadow:0 14px 36px rgba(11,49,84,.085)}
html{scroll-padding-top:86px}body.v373-public{background:#f3f8fc;color:var(--v373-navy)}.v373-public .container{width:min(1380px,calc(100% - 52px))}
.v373-public .site-header{position:sticky;top:0;z-index:99;background:#fff!important;backdrop-filter:saturate(140%) blur(10px);box-shadow:0 3px 20px rgba(12,45,81,.06)}
.v373-public .site-header .navbar{min-height:77px;max-width:1490px;width:min(1490px,calc(100% - 52px))}
.v373-public .site-header .brand--v22 .brand-title{font:700 1.17rem/1.06 var(--dr-display,Georgia,serif);color:#0b2850;letter-spacing:-.035em}
.v373-public .site-header .brand--v22 .brand-tag{font-size:.7rem;color:#647d92;font-style:normal;line-height:1.27}
.v373-public .site-header .nav-links a{font-size:.835rem;color:#1b416a;font-weight:750}
.v373-public .site-header .nav-links a:hover{color:#00849a}
.v373-public .site-header .payment-action{background:#e3f6f7;border:1px solid #bee5e9;color:#006c7d}
.v373-public .btn-primary,.v373-public .nav-book-btn{background:linear-gradient(135deg,#f08423,#d96910)!important;border:1px solid #df741c!important;color:#fff!important;box-shadow:0 8px 18px #c96a1930;border-radius:10px;min-height:46px}
.v373-public .btn-primary:hover{background:linear-gradient(135deg,#f18f39,#ce6109)!important;box-shadow:0 12px 24px #c96a193b}
.v373-public .btn-outline{border:1px solid #b8d3e5;color:#114c7a;background:#fff;border-radius:10px;min-height:44px}
.v373-public .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.89rem;font-weight:750;line-height:1.2}
.v373-hero{position:relative;isolation:isolate;min-height:clamp(430px,39vw,590px);background:#eaf6fd url('../img/drizzle-hero-premium-v373.webp') center center/cover no-repeat;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #d7e8f2}
.v373-hero:before{content:"";position:absolute;z-index:-1;left:-10%;bottom:-73%;height:105%;aspect-ratio:1;border:3px solid #d1e8f8;border-radius:50%;pointer-events:none}
.v373-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eef8ff59 0%,#ecf7fe00 70%)}
.v373-hero-inner{position:relative;min-height:inherit;display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:46px}
.v373-hero-copy{width:min(650px,52%);position:relative;z-index:2}
.v373-kicker{display:inline-block;letter-spacing:.11em;font-size:.7rem;font-family:var(--dr-ui,'Segoe UI',sans-serif);font-weight:800;color:#1e668e;text-transform:uppercase}
.v373-hero .v373-kicker{border-radius:100px;padding:9px 13px;background:#dcefffe6;border:1px solid #d0e6f4;margin:0 0 18px}
.v373-hero .v373-kicker span{color:#009eaa;padding:0 5px}
.v373-hero h1{font-family:var(--dr-display,Georgia,serif);font-size:clamp(3rem,4.3vw,5rem);line-height:1.05;color:#0a2854;letter-spacing:-.052em;margin:0 0 21px;font-weight:700;text-wrap:balance}
.v373-hero-lead{font-family:var(--dr-ui,'Segoe UI',sans-serif);font-size:clamp(1.01rem,1.23vw,1.19rem);line-height:1.62;color:#466783;max-width:620px;margin:0 0 24px}
.v373-hero-actions,.v373-payment-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.v373-hero-actions .btn{padding:13px 24px}
.v373-hero-foot{display:flex;flex-wrap:wrap;gap:17px;margin-top:30px;color:#23647d;font-size:.78rem;font-weight:700}
.v373-hero-foot>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.v373-hero-benefits{align-self:center;position:relative;z-index:2;flex:0 0 178px;background:#ffffffda;box-shadow:0 17px 42px #0d365733;border:1px solid #ffffffe0;border-radius:19px;overflow:hidden;backdrop-filter:blur(12px);margin-top:70px;color:#12476b;font-weight:750;font-size:.83rem}
.v373-hero-benefits div{display:flex;align-items:center;gap:12px;padding:19px 17px;line-height:1.28;border-bottom:1px solid #dcebf4}
.v373-hero-benefits div:last-child{border-bottom:0}
.v373-hero-benefits span{color:#0090a7;font-size:25px;flex:0 0 26px}
.v373-services-section{background:#f5fafe;padding:50px 0 58px!important}
.v373-services-section .section-intro{max-width:1020px!important;margin-inline:auto!important;margin-bottom:26px!important}
.v373-services-section .section-intro .eyebrow{font-size:.66rem;letter-spacing:.16em;background:#e2f0f9;color:#2d6084;border-color:#cfdfed;padding:6px 14px}
.v373-services-section .section-intro h2{font-family:var(--dr-display,Georgia,serif);font-weight:700;font-size:clamp(2.3rem,3vw,3.55rem);color:#0b2951;margin:12px auto 6px;max-width:990px;letter-spacing:-.047em}
.v373-services-section .section-intro p{font-size:1rem;max-width:810px;margin:auto;color:#66809a;line-height:1.48}
.v373-services-section .grid-3{gap:18px;align-items:stretch}
.v373-services-section .service-card{background:#fff;border:1px solid #e1edf4;border-radius:17px;overflow:hidden;box-shadow:var(--v373-shadow);display:flex;flex-direction:column}
.v373-services-section .service-card>img{height:clamp(178px,19vw,265px)!important;width:100%;display:block;object-fit:cover;border:0;filter:none!important}
.v373-services-section .service-card .body{display:flex;flex:1;flex-direction:column;padding:19px 23px 22px!important}
.v373-services-section .service-card h3{font-size:1.38rem!important;font-weight:700;letter-spacing:-.035em;line-height:1.17;margin:0 0 9px;color:#0e3159}
.v373-services-section .service-card p{font-size:.94rem!important;line-height:1.55!important;color:#57738e;margin-bottom:16px}
.v373-services-section .service-card .btn{font-size:.81rem!important;min-height:39px!important;padding:10px 15px!important;margin-top:auto}
.v373-payment-band{position:relative;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 85% 120%,#167d9d7a,transparent 48%),linear-gradient(112deg,#0c2852,#0b477b 65%,#0a667d);isolation:isolate;padding:51px 0}
.v373-payment-band:after{content:"";position:absolute;z-index:-1;right:-100px;top:-180px;width:600px;height:600px;border:2px solid #ffffff17;border-radius:50%}
.v373-payment-content{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:36px}
.v373-payment-band .v373-kicker{background:#d9f7f7;color:#026881;border-radius:40px;padding:7px 12px;font-size:.69rem;margin-bottom:12px}
.v373-payment-band h2{font:700 clamp(2.7rem,3.7vw,4.4rem)/1.04 var(--dr-display,Georgia,serif);color:#fff;letter-spacing:-.048em;margin:0 0 13px}
.v373-payment-band p{color:#dbeef6;font-size:1.04rem;line-height:1.65;max-width:680px;margin:0 0 23px}
.v373-payment-ctas .btn{padding:11px 23px;min-height:45px}
.v373-payment-graphic{justify-self:center;min-height:205px;width:min(330px,100%);padding:22px 28px;border:1px solid #ffffff55;border-radius:21px;background:linear-gradient(140deg,#ffffffe9,#d1eaf7de);color:#163857;box-shadow:0 25px 55px #06213a43;display:flex;flex-direction:column;gap:9px;transform:rotate(-2deg)}
.v373-payment-shield{font-size:28px;color:#fff;background:#1385a2;border-radius:50%;width:46px;height:46px;display:grid;place-items:center}
.v373-payment-graphic span{font-size:.68rem;letter-spacing:.16em;font-weight:800;color:#157c98}
.v373-payment-graphic strong{font-family:var(--dr-display,Georgia,serif);font-size:1.73rem;line-height:1.16}
.v373-payment-graphic small{font-size:.84rem;color:#5a7891}
.v373-services-section+.v373-payment-band{margin:0}
/* Dedicated booking grid with true published prices; no hidden fees claimed. */
.v373-public .booking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1120px;margin:0 auto 30px;align-items:stretch}
.v373-public .booking-card{border:1px solid #d8e8f2;background:white;border-radius:24px;box-shadow:var(--v373-shadow);padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;min-width:0}
.v373-public .booking-card.featured{border-color:#2ba1a6;box-shadow:0 19px 56px rgba(7,113,149,.16)}
.v373-public .booking-card h3{font:700 clamp(1.52rem,2vw,2.2rem)/1.19 var(--dr-display,Georgia,serif);color:#102e55;letter-spacing:-.037em}
.v373-public .booking-card p{color:#59748e;font-size:1.03rem;line-height:1.65;flex:1}
.v373-public .booking-card .duration{color:#186483;background:#e6f4fc;border-radius:50px;padding:6px 12px;font-weight:750}
.v373-booking-icon{width:51px;height:51px;border-radius:14px;background:#e1f5f6;color:#00879b;font-size:30px;display:grid;place-items:center;margin:24px 0 14px}
.v373-booking-price{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;margin:17px 0}
.v373-booking-price strong{font:700 clamp(1.85rem,2.5vw,2.5rem)/1 var(--dr-display,Georgia,serif);color:#0c416d}
.v373-booking-price strong small{font:700 .78rem var(--dr-ui,'Segoe UI',sans-serif);color:#678096}
.v373-booking-price span{color:#6c8295;font-size:.88rem}
.v373-booking-choice .booking-footer{margin-top:auto}.v373-booking-choice .booking-footer .btn{padding:13px 19px;text-align:center}
.v373-public .page-hero.booking-page-hero{background:linear-gradient(125deg,#e9f6fd,#f9fcff)!important;padding:80px 0 77px;color:#0b2950}
.v373-public .page-hero.booking-page-hero h1{color:#0b2950}.v373-public .page-hero.booking-page-hero p{color:#53728e}
/* Shared text and focus presentation, careful not to fight responsive navigation. */
.v373-public :is(a,button,input,select,textarea):focus-visible{outline:3px solid #0e94a5;outline-offset:3px}
.v373-public :is(.resource-card,.payment-card,.booking-card){transition:box-shadow .18s ease,transform .18s ease}
.v373-public :is(.resource-card,.payment-card,.booking-card):hover{box-shadow:0 18px 44px #15395818}
@media(max-width:1250px){.v373-hero-benefits{display:none}.v373-hero-copy{width:min(620px,55%)}.v373-public .site-header .nav-links a{font-size:.79rem}}
@media(max-width:980px){.v373-hero{min-height:480px;background-position:56% center}.v373-hero-copy{width:56%}.v373-hero h1{font-size:clamp(2.6rem,4.7vw,3.8rem)}.v373-services-section{padding-block:45px!important}.v373-services-section .grid-3{gap:13px}.v373-services-section .service-card .body{padding:16px!important}}
@media(max-width:730px){.v373-public .container{width:calc(100% - 30px)}.v373-hero{background-position:69% center;min-height:635px;align-items:flex-start}.v373-hero:after{background:linear-gradient(180deg,#ecf8ffff 0%,#effafff5 49%,#effaff57 70%,transparent 100%)}.v373-hero-inner{align-items:flex-start;padding-top:37px}.v373-hero-copy{width:100%;max-width:540px}.v373-hero h1{font-size:clamp(2.45rem,10.5vw,3.65rem)}.v373-hero h1 br{display:none}.v373-hero-lead{font-size:.98rem;max-width:490px}.v373-hero-foot{display:none}.v373-payment-content{grid-template-columns:1fr}.v373-payment-graphic{display:none}.v373-services-section .grid-3{grid-template-columns:1fr}.v373-services-section .service-card>img{height:245px!important}.v373-public .booking-cards{grid-template-columns:1fr}.v373-public .site-header .navbar{width:calc(100% - 24px)}}
@media(max-width:430px){.v373-hero{min-height:650px}.v373-hero .v373-kicker{font-size:.62rem}.v373-hero h1{font-size:2.35rem}.v373-payment-band h2{font-size:2.55rem}.v373-hero-actions .btn{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.v373-public :is(.booking-card,.service-card,.payment-card){transition:none!important;transform:none!important}}
