/* Solar Clean – visual refresh r1 (preview). Loaded AFTER the app stylesheet; overrides only, no markup in here. */
:root{--sc-gold:#e6b200;--sc-ink:#0d0d0d;--sc-text:#1b1b1b;--sc-muted:#5c5c5c;--sc-line:#ebebeb;--sc-soft:#f6f6f3;--sc-r:18px;
  --sc-pad:clamp(72px,9vw,124px);--sc-pad-sm:clamp(48px,6vw,72px)}
html{scroll-padding-top:84px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--sc-text);background:#fff}

/* ---------- Header ---------- */
#root header{background:rgba(255,255,255,.94)!important;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--sc-line);box-shadow:none!important}
#root header nav a{font-size:15px;font-weight:500}
#root header .sc-book-btn{padding:11px 22px!important;border-radius:999px!important;box-shadow:none!important;font-weight:600}
#root header a[href="/commercial"]{border-width:1.5px!important;background:#fff!important}

/* ---------- Typography scale ---------- */
#root section h2.font-bebas,#root section h2{font-size:clamp(40px,5.2vw,64px)!important;line-height:1!important;letter-spacing:.5px}
#root .section-label{font-size:13px!important;letter-spacing:2.5px!important;margin-bottom:12px!important}
#root section .text-lg{font-size:17px;line-height:1.7}
#root .text-center.max-w-2xl.mx-auto.mb-16{margin-bottom:clamp(36px,5vw,56px)!important}

/* ---------- Section rhythm: light / dark alternating, consistent spacing ---------- */
#about,#services,#process,#booking,#contact,#why-us{padding-top:var(--sc-pad)!important;padding-bottom:var(--sc-pad)!important}
#commercial-banner{padding:var(--sc-pad-sm) 0!important}
#why-us{background:var(--sc-soft)}
#about{background:#fff!important}
#services{background:var(--sc-soft)!important}
#process{background:#fff!important}
#booking{background:var(--sc-soft)!important}
#contact{background:var(--sc-ink)!important}
#contact>.absolute.bg-black{background:var(--sc-ink)!important}
/* decorative layers (patterns, blurred blobs) off */
#about>.absolute,#services>.absolute,#process>.absolute,#booking>.absolute,footer>.absolute,footer>.h-1{display:none!important}

/* ---------- Hero ---------- */
#home{min-height:auto!important;background:#fff!important}
#home>.relative{padding-top:clamp(104px,12vw,148px)!important;padding-bottom:clamp(56px,7vw,96px)!important}
#home .font-bebas.leading-none{font-size:clamp(54px,6.6vw,88px)!important;line-height:.95!important}
#home .space-y-1.mb-6{margin-bottom:22px!important}
#home p.text-lg{font-size:18px;line-height:1.65;color:#4a4a4a;max-width:34rem;margin-bottom:24px!important}
.sc-hero-photo{border-radius:22px!important;box-shadow:0 40px 70px -30px rgba(0,0,0,.45)}
.sc-hero-photo>.absolute{background:linear-gradient(to top,rgba(0,0,0,.18),transparent 45%)!important}
.sc-hero-meta{margin:0 0 30px}
.sc-price{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 16px;padding:10px 18px;border-radius:999px;background:#fff7d6;border:1px solid #f0d77a;font-size:17px;color:#222}
.sc-price strong{font-size:21px;font-weight:700;color:#000}
.sc-ticks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px;color:#333}
.sc-ticks li{display:flex;align-items:center;gap:8px}
.sc-ticks li:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;
  background:var(--sc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat}
#home .btn-primary,#home .btn-secondary{border-radius:999px!important;padding:16px 28px!important}
#home .flex.flex-wrap.gap-4.mb-10{margin-bottom:0!important}

/* ---------- Trust ---------- */
.sc-head{text-align:center;max-width:720px;margin:0 auto clamp(36px,5vw,56px)}
.sc-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.sc-trust-item{background:#fff;border:1px solid var(--sc-line);border-radius:var(--sc-r);padding:30px 26px}
.sc-trust-num{display:block;color:var(--sc-gold);font-weight:700;font-size:13px;letter-spacing:2px}
.sc-trust-item h3{font-size:27px;line-height:1.05;margin:10px 0 8px;color:#111;letter-spacing:.5px}
.sc-trust-item p{margin:0;color:var(--sc-muted);font-size:15px;line-height:1.6}

/* ---------- About ---------- */
#about .shadow-card{box-shadow:0 30px 60px -30px rgba(0,0,0,.35)!important;border-radius:22px!important}

/* ---------- Before & After (r2: lives in the About photo slot, replaces a stock photo) ---------- */
.sc-ba .section-label{margin-bottom:6px!important}
.sc-ba-title{font-size:clamp(34px,3.6vw,46px);line-height:1;letter-spacing:.5px;color:#111;margin:0 0 18px}
.sc-ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sc-ba-fig{margin:0}
.sc-ba-img{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:4/5;background:#1a1a1a;box-shadow:0 24px 48px -28px rgba(0,0,0,.45)}
.sc-ba-img img{width:100%;height:100%;object-fit:cover;display:block}
.sc-ba-tag{position:absolute;top:12px;left:12px;font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.sc-ba-tag-before{background:rgba(0,0,0,.75);color:#fff}
.sc-ba-tag-after{background:var(--sc-gold);color:#000}
.sc-ba-fig figcaption{font-size:13px;color:var(--sc-muted);text-align:center;margin-top:10px}
.sc-ba-note{font-size:14px;color:var(--sc-muted);margin:14px 0 0;text-align:center}
#about .grid.items-center{align-items:center}

/* ---------- Services cards ---------- */
#services .grid.gap-8>*{border:1px solid var(--sc-line)!important;border-radius:var(--sc-r)!important;box-shadow:none!important;background:#fff!important;transition:transform .25s,box-shadow .25s}
#services .grid.gap-8>*:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(0,0,0,.3)!important}
#services .grid.gap-8 .p-6{padding:26px 26px 28px!important}

/* ---------- Process ---------- */
#process .text-6xl.font-bebas{display:none!important}


/* ---------- Booking card ---------- */
#booking .bg-white.rounded-2xl:not(form){box-shadow:0 30px 60px -40px rgba(0,0,0,.35)!important;border:1px solid var(--sc-line)}
#booking form .bg-white.rounded-2xl,#booking form.bg-white{border:0!important;box-shadow:none!important}

/* ---------- Footer ---------- */
#root footer{background:var(--sc-ink)!important;border-top:1px solid rgba(255,255,255,.08)}

nav[aria-label="Site links"]{background:var(--sc-ink)!important;border-top:1px solid rgba(255,255,255,.08)}

/* ---------- Mobile-first polish ---------- */
@media (max-width:1023px){
  .sc-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  #home>.relative{padding-top:92px!important}
  #home .grid{gap:28px!important}
  #home .font-bebas.leading-none{font-size:clamp(48px,14vw,60px)!important}
  #home .flex.flex-wrap.gap-4>*{flex:1 1 100%;justify-content:center}
  .sc-price{font-size:16px}
  .sc-ticks{flex-direction:column;gap:8px}
  .sc-trust-grid{grid-template-columns:1fr;gap:14px}
  .sc-trust-item{padding:22px 20px}
  .sc-ba-grid{grid-template-columns:1fr;gap:20px}
  #commercial-banner .btn-primary{width:100%;text-align:center}
}

/* r6: booking submit label "Request this time" must stay on one line on phones */
#booking form button[type="submit"]{white-space:nowrap;padding-left:1.1rem;padding-right:1.1rem}
#booking form button[type="submit"] svg{display:none}
@media(min-width:640px){#booking form button[type="submit"]{padding-left:2rem;padding-right:2rem}#booking form button[type="submit"] svg{display:inline-block}}
