/* Home — static block. Scoped under #bt-root. Values from Figma 776:4647. */

#bt-root .hm-h2 { font-size:var(--fs-h2); font-weight:500; line-height:1.25; color:var(--c-black); margin:0 0 var(--space-6); }
#bt-root .hm-h2--light { color:#fff; }
#bt-root .hm-center { text-align:center; margin:var(--space-7) 0 0; }
#bt-root .hm-btn--blue, #bt-root a.hm-btn--blue { background:var(--c-primary); color:#fff !important; min-height:72px; padding:0 40px; border-radius:var(--r-pill); font-size:1.375rem; }
#bt-root .hm-btn--blue:hover { background:var(--c-black); color:#fff; }
#bt-root section + section { margin-top:var(--space-9); }

/* ---- Hero: 1464×1015 image card r50, left gradient shade, stat top-right, reviews badge bottom-centre ---- */
#bt-root .hm-hero { padding-top:var(--space-5); }
#bt-root .hm-hero__card { position:relative; border-radius:var(--r-pill); overflow:hidden; min-height:clamp(520px, 62vw, 1015px); background:var(--c-surface-alt); }
#bt-root .hm-hero__carousel { position:absolute; inset:0; }
#bt-root .hm-hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#bt-root .hm-hero__dots { position:absolute; right:clamp(24px,5vw,104px); bottom:clamp(28px,4vw,48px); display:flex; gap:10px; z-index:5; }
#bt-root .hm-hero__dots button { width:12px; height:12px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; }
#bt-root .hm-hero__dots button[aria-selected="true"] { background:#fff; width:32px; border-radius:6px; }
#bt-root .hm-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 42%, rgba(0,0,0,0) 65%); pointer-events:none; }
#bt-root .hm-hero__copy { position:absolute; left:clamp(24px,6vw,100px); top:clamp(60px,18vw,207px); }
#bt-root .hm-hero__title { font-size:clamp(3rem, 1.5rem + 7vw, 8.125rem); font-weight:500; line-height:1.08; color:#fff; margin:0; text-shadow:0 2px 24px rgba(0,0,0,.25); }
#bt-root .hm-hero__stat { position:absolute; right:clamp(24px,5vw,104px); top:clamp(60px,15vw,226px); max-width:320px; color:#fff; text-align:left; }
#bt-root .hm-hero__stat-lead { display:block; font-size:1.25rem; font-weight:600; }
#bt-root .hm-hero__stat-num { display:block; font-size:clamp(2.75rem, 1.5rem + 4vw, 4.375rem); font-weight:500; line-height:1.1; letter-spacing:-.03em; }
#bt-root .hm-hero__stat-text { display:block; font-size:1.25rem; line-height:1.4; margin-top:var(--space-2); }
#bt-root .hm-hero__reviews { position:absolute; left:50%; bottom:0; transform:translateX(-50%); display:flex; align-items:center; gap:var(--space-4); background:#fff; padding:14px 26px; border-radius:var(--r-l) var(--r-l) 0 0; text-decoration:none; color:var(--c-black); }
#bt-root .hm-hero__avatars { display:flex; }
#bt-root .hm-hero__avatars img { width:44px; height:44px; border-radius:50%; border:2px solid #fff; margin-left:-12px; object-fit:cover; }
#bt-root .hm-hero__avatars img:first-child { margin-left:0; }
#bt-root .hm-hero__rating { font-size:1.125rem; line-height:1.3; }
#bt-root .hm-hero__rating strong { font-size:1.3125rem; font-weight:600; }
#bt-root .hm-hero__stars { color:var(--c-star); letter-spacing:.05em; }

/* ---- Our Services: 8 cards, 4×2 desktop ---- */
#bt-root .hm-services__grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
#bt-root .hm-service a { display:block; background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; text-decoration:none; color:var(--c-black); transition:transform .15s ease, box-shadow .15s ease; }
#bt-root .hm-service a:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); }
#bt-root .hm-service img { width:100%; aspect-ratio:3/2; object-fit:cover; }
#bt-root .hm-service h3 { font-size:1.25rem; font-weight:500; margin:0; padding:18px 22px 22px; }

/* ---- Booking: 4 white day cards 309×308 r20 ---- */
#bt-root .hm-book__head { display:grid; grid-template-columns:1fr minmax(0,416px); gap:var(--space-8); align-items:start; margin-bottom:var(--space-7); }
#bt-root .hm-book__lead { font-size:1.5625rem; line-height:1.5; color:var(--c-black); margin:0; }
#bt-root .hm-book__lead a { font-weight:500; color:var(--c-primary); }
#bt-root .hm-book__quote { margin:0; background:var(--c-surface); border-radius:var(--r-m); padding:28px; font-size:var(--fs-xs); line-height:1.6; }
#bt-root .hm-book__quote p { margin:0 0 var(--space-3); }
#bt-root .hm-book__quote footer { font-weight:600; font-size:1.25rem; }
#bt-root .hm-book__days { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:38px; }
#bt-root .hm-day { background:var(--c-surface); border-radius:var(--r-m); padding:40px 30px 30px; display:flex; flex-direction:column; align-items:center; text-align:center; min-height:308px; }
#bt-root .hm-day time { display:flex; flex-direction:column; gap:2px; font-size:2.5rem; font-weight:500; line-height:1.15; color:var(--c-black); margin-bottom:auto; }
#bt-root .hm-day__dow, #bt-root .hm-day__mon { font-size:1.375rem; font-weight:400; color:var(--c-text-60); }
#bt-root .hm-day__btn { margin-top:var(--space-6); width:100%; color:#fff; }
#bt-root .hm-day__btn:hover { color:#fff; }

/* ---- Featured in ---- */
#bt-root .hm-press__strip { background:var(--c-surface); padding:var(--space-5) var(--gutter); display:flex; gap:30px; overflow-x:auto; scrollbar-width:none; }
#bt-root .hm-press__strip::-webkit-scrollbar { display:none; }
#bt-root .hm-press__logo { flex:0 0 261px; height:90px; border-radius:var(--r-s); display:flex; align-items:center; justify-content:center; padding:0 30px; }
#bt-root .hm-press__logo img { max-height:80px; max-width:200px; width:auto; height:auto; }

/* ---- Case studies on primary glow: cards 658×404 white@.7 r30 with 302×364 photo ---- */
#bt-root .hm-cases, #bt-root .hm-clients { position:relative; padding:var(--space-9) 0; overflow:hidden; }
#bt-root .hm-cases__glow, #bt-root .hm-clients__glow { position:absolute; inset:-40% -20%; background:radial-gradient(50% 50% at 40% 45%, rgba(0,81,125,.45) 0%, rgba(0,81,125,0) 70%); filter:blur(80px); pointer-events:none; }
#bt-root .hm-cases .bt-container, #bt-root .hm-clients .bt-container { position:relative; }
#bt-root .hm-cases__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:36px; }
#bt-root .hm-case { display:grid; grid-template-columns:302px 1fr; gap:24px; background:rgba(255,255,255,.7); backdrop-filter:blur(6px); border-radius:var(--r-xl); padding:20px; min-height:404px; }
#bt-root .hm-case img { width:100%; height:100%; object-fit:cover; border-radius:var(--r-xl); }
#bt-root .hm-case__body { display:flex; flex-direction:column; padding:20px 20px 20px 0; }
#bt-root .hm-case h3 { font-size:2.1875rem; font-weight:500; margin:0 0 var(--space-4); }
#bt-root .hm-case p { font-size:var(--fs-small); line-height:1.6; color:var(--c-text-70); margin:0 0 auto; }
#bt-root .hm-case__link { font-size:1.25rem; font-weight:500; color:var(--c-primary); text-decoration:none; margin-top:var(--space-5); }

/* ---- Houzz ---- */
#bt-root .hm-houzz__row { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
#bt-root .hm-houzz__row img { width:120px; height:auto; }

/* ---- Testimonials slider: cards 416 wide ---- */
#bt-root .hm-clients__track { display:flex; gap:30px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:var(--space-4); cursor:grab; }
#bt-root .hm-clients__track::-webkit-scrollbar { display:none; }
#bt-root .hm-review { flex:0 0 416px; scroll-snap-align:start; margin:0; background:var(--c-surface); border-radius:var(--r-xl); padding:40px 36px 32px; min-height:480px; display:flex; flex-direction:column; }
#bt-root .hm-review p { font-size:var(--fs-body-lg); font-weight:500; line-height:1.6; color:var(--c-black); margin:0 0 auto; }
#bt-root .hm-review footer { font-size:1.25rem; font-weight:600; margin-top:var(--space-6); display:flex; justify-content:space-between; align-items:center; }
#bt-root .hm-review__stars { color:var(--c-star); font-size:1rem; }

/* ---- Gallery: 3 cards image 436×418 + white body 205 ---- */
#bt-root .hm-gallery__head { display:grid; grid-template-columns:1fr minmax(0,634px); gap:var(--space-8); align-items:start; margin-bottom:var(--space-7); }
#bt-root .hm-gallery__head p { font-size:1.4375rem; line-height:1.6; margin:0; }
#bt-root .hm-gallery__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; }
#bt-root .hm-gcard { background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; }
#bt-root .hm-gcard img { width:100%; aspect-ratio:436/418; object-fit:cover; }
#bt-root .hm-gcard__body { padding:30px 40px 34px; }
#bt-root .hm-gcard h3 { font-size:1.875rem; font-weight:500; margin:0 0 4px; }
#bt-root .hm-gcard p { font-size:1.25rem; color:var(--c-text-70); margin:0 0 var(--space-5); }
#bt-root .hm-gcard .hm-btn--blue { min-height:56px; padding:0 30px; font-size:1.25rem; }

/* ---- Open houses: video 1352×760 r10 ---- */
#bt-root .hm-open__lead { font-size:1.375rem; line-height:1.6; max-width:1100px; margin:0 0 var(--space-7); }
#bt-root .hm-open__video { width:100%; aspect-ratio:16/9; border-radius:var(--r-xs); background:var(--c-black); }

/* ---- 3D tours: 3 tall cards 434×710 r30 with bottom gradient + body ---- */
#bt-root .hm-3d__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
#bt-root .hm-tour { position:relative; border-radius:var(--r-xl); overflow:hidden; aspect-ratio:434/710; background:var(--c-surface-alt); }
#bt-root .hm-tour img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#bt-root .hm-tour__body { position:absolute; inset:auto 0 0; padding:36px 32px 32px; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.65) 45%, rgba(0,0,0,0) 100%); }
#bt-root .hm-tour .bt-btn--light { background:#fff; color:var(--c-black) !important; border:0; }
#bt-root .hm-tour .bt-btn--light:hover { background:var(--c-primary); color:#fff !important; }
#bt-root .hm-tour h3 { font-size:1.75rem; font-weight:500; color:#fff; margin:0 0 var(--space-3); }
#bt-root .hm-tour p { font-size:var(--fs-small); line-height:1.5; margin:0 0 var(--space-5); color:rgba(255,255,255,.92); }

/* ---- Newsletter: primary card r50 ---- */
#bt-root .hm-news__card { background:var(--c-primary); border-radius:var(--r-pill); padding:clamp(40px,6vw,90px) clamp(24px,10vw,189px); text-align:center; color:#fff; }
#bt-root .hm-news__card p { font-size:1.875rem; margin:0 0 var(--space-7); }
#bt-root .hm-news__form { display:flex; flex-direction:column; align-items:center; gap:var(--space-7); }
#bt-root .hm-news__form input { width:100%; max-width:963px; min-height:83px; border:0; border-radius:var(--r-2xl); background:rgba(255,255,255,.9); padding:0 40px; font:inherit; font-size:1.6875rem; color:var(--c-black); }
#bt-root .hm-news__form input:focus-visible { outline:3px solid #fff; }
#bt-root .hm-news__form .bt-btn { min-width:284px; min-height:82px; font-size:1.5625rem; text-transform:uppercase; }

/* ---- Responsive ---- */
@media (max-width:1100px) {
  #bt-root .hm-services__grid { grid-template-columns:repeat(2,1fr); }
  #bt-root .hm-book__days { grid-template-columns:repeat(2,1fr); gap:20px; }
  #bt-root .hm-3d__grid, #bt-root .hm-gallery__grid { grid-template-columns:1fr 1fr; }
  #bt-root .hm-case { grid-template-columns:1fr; }
  #bt-root .hm-case img { aspect-ratio:302/364; height:auto; }
}
@media (max-width:900px) {
  #bt-root section + section { margin-top:var(--space-8); }
  #bt-root .hm-hero__card { border-radius:var(--r-xl); min-height:70vh; }
  #bt-root .hm-hero__shade { background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.2) 55%, rgba(0,0,0,.6) 100%); }
  #bt-root .hm-hero__copy { top:auto; bottom:120px; left:24px; }
  #bt-root .hm-hero__stat { top:24px; right:24px; left:24px; max-width:none; }
  #bt-root .hm-hero__stat-text { font-size:var(--fs-body); }
  #bt-root .hm-hero__reviews { padding:10px 16px; gap:10px; }
  #bt-root .hm-hero__reviews img { width:32px; height:32px; }
  #bt-root .hm-book__head, #bt-root .hm-gallery__head { grid-template-columns:1fr; gap:var(--space-5); }
  #bt-root .hm-book__lead, #bt-root .hm-gallery__head p, #bt-root .hm-open__lead { font-size:var(--fs-body-lg); }
  #bt-root .hm-book__days, #bt-root .hm-3d__grid, #bt-root .hm-gallery__grid, #bt-root .hm-services__grid { grid-template-columns:1fr 1fr; gap:12px; }
  #bt-root .hm-day { min-height:0; padding:24px 16px 20px; }
  #bt-root .hm-day time { font-size:1.5rem; }
  #bt-root .hm-day__dow, #bt-root .hm-day__mon { font-size:var(--fs-small); }
  #bt-root .hm-service h3 { font-size:var(--fs-body); padding:12px 14px 16px; }
  #bt-root .hm-review { flex-basis:85vw; min-height:0; padding:24px; }
  #bt-root .hm-case h3 { font-size:1.5rem; }
  #bt-root .hm-tour__body { padding:20px; }
  #bt-root .hm-tour h3 { font-size:1.25rem; }
  #bt-root .hm-news__card { border-radius:var(--r-xl); }
  #bt-root .hm-news__card p { font-size:1.125rem; }
  #bt-root .hm-news__form input { min-height:60px; font-size:1rem; padding:0 20px; }
  #bt-root .hm-news__form .bt-btn { min-width:0; width:100%; min-height:60px; font-size:1.125rem; }
  #bt-root .hm-btn--blue { min-height:56px; font-size:1.125rem; padding:0 28px; }
}
@media (max-width:560px) {
  #bt-root .hm-services__grid, #bt-root .hm-3d__grid, #bt-root .hm-gallery__grid { grid-template-columns:1fr; }
}
#bt-root .hm-open__video--embed { position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--r-xs); overflow:hidden; background:#000; }
#bt-root .hm-open__video--embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
/* Hero carousel (Oliver #1): three project photos, Google Reviews element unchanged below. */
#bt-root .hm-hero__slide { position:absolute; inset:0; margin:0; opacity:0; transition:opacity .6s ease; }
#bt-root .hm-hero__slide.is-active { opacity:1; }
#bt-root .hm-hero__slide img { width:100%; height:100%; object-fit:cover; display:block; }
#bt-root .hm-hero__dots { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:flex; gap:10px; z-index:3; }
#bt-root .hm-hero__dots button { width:11px; height:11px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; }
#bt-root .hm-hero__dots button[aria-selected="true"] { background:#fff; width:30px; border-radius:6px; }
@media (prefers-reduced-motion:reduce) { #bt-root .hm-hero__slide { transition:none; } }

/* v0.26: keyword kicker inside the H1; newsletter on Gravity Forms */
#bt-root .hm-hero__kicker { display:block; font-size:clamp(1rem, .9rem + .6vw, 1.375rem); font-weight:500; letter-spacing:.02em; line-height:1.3; margin-bottom:.5em; text-shadow:none; }
#bt-root .hm-news__note { font-size:.9375rem !important; margin:0 !important; opacity:.8; }
#bt-root .hm-news__note a { color:#fff; }
#bt-root .hm-news__msg { font-size:1.125rem !important; margin:0 !important; font-weight:600; }

/* Reviews: cards hug their text (no empty block under short reviews), stars and name sit right after it (17 Oct 2026) */
#bt-root .hm-clients__track { align-items:flex-start; }
#bt-root .hm-review { min-height:0; }
#bt-root .hm-review p { margin:0; }
#bt-root .hm-review footer { margin-top:var(--space-5); }
/* Booking date cards on phones: equal columns that never push past the screen */
@media (max-width:1000px) { #bt-root .hm-book__days { grid-template-columns:repeat(2,minmax(0,1fr)); } #bt-root .hm-day__btn { padding:0 12px; } }
