/* Public pages and service flows. The main visual system lives in the shared design files. */
html,body.berry-site{background:var(--bp-canvas);color:#fff}
.berry-site .bp-site-footer,.berry-site .bp-footer,.berry-site .bp-footer__wordmark{background:var(--bp-canvas)}
.bp-page-heading{padding-top:clamp(150px,18vw,260px);padding-bottom:clamp(70px,8vw,120px)}
.bp-page-heading h1,.bp-generic-page h1{max-width:1100px;font-size:clamp(56px,8vw,126px);line-height:.92;text-transform:uppercase}
@media(max-width:767px){.bp-generic-page h1{font-size:clamp(42px,11vw,56px);overflow-wrap:anywhere}}
.bp-generic-page{min-height:68vh;padding:clamp(160px,18vw,250px) 0 100px;background:#1d1c1b}
.bp-generic-page__inner{max-width:1050px}
.bp-entry-content{max-width:850px;color:#fff;font-size:clamp(16px,1.25vw,19px);line-height:1.8}
.bp-entry-content :is(h2,h3,h4){margin-top:2em;color:#fff}
.bp-entry-content a{color:#fff;text-decoration:underline;text-underline-offset:4px}

.bp-service-hero{position:relative;display:grid;min-height:clamp(680px,88svh,940px);place-items:center;overflow:hidden;background:#12100e}
.bp-service-hero__media,.bp-service-hero__shade{position:absolute;inset:0}
.bp-service-hero__media .bp-picture,.bp-service-hero__media img{width:100%;height:100%;object-fit:cover}
.bp-service-hero__shade{background:radial-gradient(ellipse 62% 52% at 50% 48%,rgba(8,7,6,.68),rgba(8,7,6,.38) 58%,transparent 100%),linear-gradient(180deg,rgba(12,10,9,.45),rgba(12,10,9,.25) 35%,rgba(12,10,9,.86))}
.bp-service-hero__copy{position:relative;z-index:1;padding-top:110px;text-align:center}
.bp-service-hero__copy .bp-breadcrumb{justify-content:center;margin-bottom:30px}
.bp-service-hero__copy h1{max-width:1200px;margin:0 auto 22px;font-size:clamp(64px,8vw,132px);line-height:.9;text-transform:uppercase}
.bp-service-hero__copy>p:not(.bp-eyebrow){max-width:680px;margin:0 auto;color:#e4ded5;font-size:17px;line-height:1.7}
.bp-booking-switch{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:34px}
.bp-booking-switch a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border:1px solid rgba(255,255,255,.58);color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.bp-booking-switch a:hover,.bp-booking-switch a[aria-current]{border-color:#fff;background:#fff;color:#17130f}

.bp-service-booking,.bp-inquiry{padding:clamp(80px,9vw,145px) 0;background:#171513;color:#fff}
.bp-service-booking__grid,.bp-inquiry__grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(55px,8vw,130px);align-items:start}
.bp-service-booking h2,.bp-inquiry h2{margin:0 0 24px;color:#fff;font-size:clamp(45px,5vw,72px);line-height:.96;text-transform:uppercase}
.bp-service-booking__aside>p,.bp-inquiry__aside>p{max-width:430px;color:#d6d0c8;line-height:1.75}
.bp-service-booking dl,.bp-inquiry dl{margin-top:45px}
.bp-service-booking dl div,.bp-inquiry dl div{padding:18px 0;border-top:1px solid rgba(255,255,255,.18)}
.bp-service-booking dt,.bp-inquiry dt{margin-bottom:7px;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.bp-service-booking dd,.bp-inquiry dd{margin:0;color:#fff;font-style:normal;line-height:1.6}
.bp-service-booking a,.bp-inquiry a{color:inherit}
.bp-service-booking__embed>h2{font-size:clamp(42px,4vw,62px)}
.bp-consent-embed{min-height:320px;margin-top:30px}
.consent-embed__overlay{display:flex;min-height:280px;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:clamp(25px,4vw,48px);border-left:3px solid #d9ad47;background:rgba(217,173,71,.08);color:#e8e1d8;line-height:1.75}
.consent-embed__overlay p{max-width:680px;margin:0}
.consent-embed__overlay a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.canwell_iframe{display:block;width:100%;min-height:950px;border:0;background:#fff}
.canwell_iframe[hidden]{display:none}

.bp-inquiry-hero{min-height:clamp(620px,80svh,850px)}
.bp-inquiry__form-wrap>h2{font-size:clamp(45px,4.6vw,68px)}
.bp-inquiry-form{margin-top:36px;color-scheme:dark}
.bp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px}
.bp-form-grid label{display:grid;gap:8px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.03em}
.bp-form-grid label span{font-weight:400;opacity:.65}
.bp-form-grid input,.bp-form-grid select,.bp-form-grid textarea{width:100%;min-height:52px;padding:10px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);border-radius:0;background:transparent;color:#fff;font:400 16px/1.5 var(--bp-body);box-shadow:none}
.bp-form-grid select option{background:#171513;color:#fff}
.bp-form-grid textarea{min-height:130px;resize:vertical}
.bp-form-grid :is(input,select,textarea):focus{border-bottom-color:#fff;outline:2px solid #fff;outline-offset:4px}
.bp-form-grid__wide{grid-column:1/-1}
.bp-form-privacy{max-width:650px;margin:26px 0;color:#cec7bf;font-size:13px;line-height:1.65}
.bp-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bp-form-status{margin:24px 0;padding:18px 22px;border-left:3px solid #fff;background:rgba(255,255,255,.08);line-height:1.6}
.bp-form-status.is-error{border-left-color:#ef7272}

@media(max-width:800px){
  .bp-service-hero{min-height:760px}
  .bp-service-hero__copy{padding-top:100px}
  .bp-service-hero__copy h1{font-size:clamp(50px,14vw,76px)}
  .bp-booking-switch{display:grid;grid-template-columns:1fr;width:100%}
  .bp-booking-switch a{justify-content:center}
  .bp-service-booking__grid,.bp-inquiry__grid{grid-template-columns:1fr;gap:70px}
  .bp-form-grid{grid-template-columns:1fr}
  .bp-form-grid__wide{grid-column:auto}
  .canwell_iframe{min-height:900px}
}
