/* Bremo Sunset design system, 2026-07-03.
   Scoped with bs- prefix so it never collides with bremo-shared.css or brand.css.
   Fonts: Montserrat (headings) + Open Sans (body), loaded per page with display=swap.
   Hard rules honoured here: no hover effects, no hard rectangles, no heavy drop shadows. */

:root{
  --bs-ink:#23252B;
  --bs-muted:#5A5F6A;
  --bs-line:#EDEAF2;
  --bs-peach:#FFDAB9;
  --bs-mintcream:#F0FFF0;
  --bs-lavender:#E6E6FA;
  --bs-cream:#FFFACD;
  --bs-purple:#A786D4;
  --bs-green:#98E0AD;
  --bs-pink:#F4C2C2;
  --bs-blue:#A0C4FF;
  --bs-orange:#FFC8A9;
  --bs-heading:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --bs-body:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

/* Base scope */
.bs-page{font-family:var(--bs-body);font-size:17px;color:var(--bs-ink);background:#fff;line-height:1.7;-webkit-text-size-adjust:100%}
.bs-page h1,.bs-page h2,.bs-page h3,.bs-page h4{font-family:var(--bs-heading);color:var(--bs-ink);letter-spacing:-.02em;line-height:1.12;margin:0}
.bs-page h1{font-weight:800}
.bs-page h2{font-weight:800}
.bs-page h3,.bs-page h4{font-weight:700}
.bs-page img{max-width:100%;height:auto}

/* Layout */
.bs-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.bs-narrow{max-width:780px;margin:0 auto;padding:0 24px}
.bs-section{position:relative;overflow:hidden;padding:clamp(60px,9vh,110px) 0}
.bs-section h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin:0 0 14px}
.bs-center{text-align:center}
.bs-center .bs-lead{margin-left:auto;margin-right:auto}
.bs-eyebrow{font-family:var(--bs-heading);font-weight:700;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bs-purple);margin:0 0 14px}
.bs-lead{font-size:1.12rem;color:var(--bs-muted);max-width:640px;margin:0 0 10px}
.bs-muted{color:var(--bs-muted)}

/* Holographic sunset hero */
.bs-hero{position:relative;overflow:hidden;padding:clamp(88px,14vh,150px) 24px clamp(72px,11vh,120px);text-align:center;
  background:
    radial-gradient(80% 90% at 82% 10%, rgba(160,196,255,.80) 0%, rgba(160,196,255,0) 58%),
    radial-gradient(75% 85% at 10% 16%, rgba(167,134,212,.62) 0%, rgba(167,134,212,0) 60%),
    radial-gradient(70% 80% at 86% 88%, rgba(255,200,169,.85) 0%, rgba(255,200,169,0) 55%),
    radial-gradient(65% 75% at 18% 88%, rgba(152,224,173,.72) 0%, rgba(152,224,173,0) 58%),
    radial-gradient(55% 60% at 52% 52%, rgba(244,194,194,.50) 0%, rgba(244,194,194,0) 66%),
    linear-gradient(155deg, #FFDAB9 0%, #E6E6FA 42%, #F0FFF0 72%, #FFFACD 100%)}
.bs-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto}
.bs-hero h1{font-size:clamp(2.5rem,7vw,4.9rem);color:var(--bs-ink)}
.bs-hero .bs-tagline{font-size:1.16rem;color:var(--bs-ink);opacity:.82;max-width:580px;margin:14px auto 0}
.bs-hero .bs-eyebrow{color:#fff;opacity:.95;text-shadow:0 2px 18px rgba(35,37,43,.15)}
.bs-hero-short{padding:clamp(70px,10vh,110px) 24px clamp(56px,8vh,90px)}

/* White heavy wordmark on the gradient */
.bs-wordmark{font-family:var(--bs-heading);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1;text-shadow:0 10px 44px rgba(35,37,43,.20)}

/* Organic decorative blobs */
.bs-blob{position:absolute;border-radius:50%;filter:blur(72px);opacity:.5;pointer-events:none;z-index:0}
.bs-blob-purple{background:var(--bs-purple)}
.bs-blob-green{background:var(--bs-green)}
.bs-blob-pink{background:var(--bs-pink)}
.bs-blob-blue{background:var(--bs-blue)}
.bs-blob-orange{background:var(--bs-orange)}
.bs-blob-lavender{background:var(--bs-lavender)}
.bs-blob-peach{background:var(--bs-peach)}

/* Soft gradient washes for alternating sections */
.bs-wash-dawn{background:linear-gradient(170deg,#FFF3E8 0%,#F2EEFB 55%,#FFFFFF 100%)}
.bs-wash-meadow{background:linear-gradient(170deg,#EEFBF2 0%,#FDFBEA 60%,#FFFFFF 100%)}
.bs-wash-dusk{background:linear-gradient(170deg,#F2EEFB 0%,#FDEFF0 55%,#FFFFFF 100%)}
.bs-wash-sky{background:linear-gradient(170deg,#ECF3FF 0%,#F0FFF0 60%,#FFFFFF 100%)}

/* White floating cards */
.bs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:22px;margin:36px 0 10px;position:relative;z-index:1}
.bs-card{position:relative;overflow:hidden;display:block;background:#fff;border-radius:24px;padding:30px 26px;text-decoration:none;color:var(--bs-ink);box-shadow:0 26px 60px -38px rgba(167,134,212,.55)}
.bs-card h3{font-size:1.08rem;margin:0 0 8px;position:relative;z-index:1}
.bs-card p{font-size:.95rem;color:var(--bs-muted);margin:0;position:relative;z-index:1}
.bs-card .bs-go{font-family:var(--bs-heading);font-weight:700;font-size:.85rem;margin-top:14px;color:var(--bs-purple);position:relative;z-index:1}
.bs-card .bs-dot{position:absolute;top:-34px;right:-34px;width:110px;height:110px;border-radius:50%;opacity:.5;filter:blur(6px);z-index:0}

/* Gradient pill CTAs, coral to lavender */
.bs-pill{display:inline-block;font-family:var(--bs-heading);font-weight:700;font-size:.95rem;color:#fff;text-decoration:none;padding:15px 30px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap;
  background:linear-gradient(100deg,#F49E8D 0%,#E3A9CB 48%,#A786D4 100%);
  box-shadow:0 16px 44px -20px rgba(167,134,212,.75)}
.bs-pill-light{background:#fff;color:var(--bs-ink);box-shadow:0 16px 44px -22px rgba(35,37,43,.35)}
.bs-pill-ink{background:var(--bs-ink);color:#fff;box-shadow:0 16px 44px -24px rgba(35,37,43,.5)}
.bs-pill-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* Full-bleed gradient banner card */
.bs-banner{position:relative;overflow:hidden;border-radius:32px;padding:clamp(44px,6vw,72px) clamp(26px,5vw,64px);text-align:center;color:var(--bs-ink);
  background:
    radial-gradient(70% 90% at 85% 15%, rgba(160,196,255,.75) 0%, rgba(160,196,255,0) 60%),
    radial-gradient(70% 80% at 12% 80%, rgba(152,224,173,.70) 0%, rgba(152,224,173,0) 60%),
    radial-gradient(60% 70% at 80% 85%, rgba(255,200,169,.80) 0%, rgba(255,200,169,0) 58%),
    linear-gradient(140deg,#E6E6FA 0%,#F4C2C2 55%,#FFDAB9 100%)}
.bs-banner h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:0 0 10px}
.bs-banner p{max-width:560px;margin:0 auto;color:var(--bs-ink);opacity:.82}
.bs-banner .bs-eyebrow{color:#fff;opacity:.95}

/* Numbered steps */
.bs-step{display:flex;gap:20px;align-items:flex-start;margin:26px 0;position:relative;z-index:1}
.bs-step .bs-num{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--bs-heading);font-weight:800;font-size:1.05rem;color:#fff;background:linear-gradient(120deg,#F49E8D,#A786D4)}
.bs-step h3{font-size:1.06rem;margin:0 0 4px}
.bs-step p{margin:0;color:var(--bs-muted);font-size:.98rem}

/* Offer math card */
.bs-offer-card{position:relative;z-index:1;max-width:560px;margin:0 auto;background:#fff;border-radius:28px;padding:32px 34px;text-align:left;box-shadow:0 30px 70px -40px rgba(167,134,212,.6)}
.bs-offer-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--bs-line)}
.bs-offer-row:first-of-type{border-top:none}
.bs-offer-row b{font-weight:700;font-family:var(--bs-heading)}
.bs-offer-total{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:6px;border-top:2px solid var(--bs-lavender);font-family:var(--bs-heading);font-weight:800;font-size:1.25rem}

/* Data table */
.bs-table{width:100%;border-collapse:separate;border-spacing:0;margin:24px 0;font-size:.94rem;border-radius:20px;overflow:hidden;box-shadow:0 22px 55px -38px rgba(167,134,212,.5);background:#fff}
.bs-table th{background:linear-gradient(100deg,#E6E6FA,#F0FFF0);color:var(--bs-ink);font-family:var(--bs-heading);font-weight:700;padding:13px 15px;text-align:left}
.bs-table td{padding:12px 15px;border-top:1px solid var(--bs-line);color:var(--bs-muted);vertical-align:top}

/* FAQ cards */
.bs-faq{display:grid;gap:14px;margin-top:18px;position:relative;z-index:1}
.bs-faq-item{background:#fff;border-radius:20px;padding:20px 24px;box-shadow:0 20px 50px -36px rgba(167,134,212,.5)}
.bs-faq-item h3{margin:0 0 6px;font-size:1.04rem}
.bs-faq-item p{margin:0;color:var(--bs-muted);font-size:.96rem}

/* Highlight callout card */
.bs-callout{position:relative;overflow:hidden;background:#fff;border-radius:24px;padding:28px 30px;margin:28px 0;box-shadow:0 26px 60px -38px rgba(167,134,212,.55)}
.bs-callout h3{margin:0 0 8px;font-size:1.2rem;position:relative;z-index:1}
.bs-callout p{margin:0 0 16px;color:var(--bs-muted);position:relative;z-index:1}
.bs-callout .bs-pill{position:relative;z-index:1}

/* Inline text links inside bs scope */
.bs-link{color:var(--bs-purple);font-weight:600;text-decoration:none}

/* Stats */
.bs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;text-align:center;position:relative;z-index:1}
.bs-stat-num{font-family:var(--bs-heading);font-weight:800;font-size:2.4rem;letter-spacing:-.03em;color:var(--bs-ink)}
.bs-stat-label{font-size:.9rem;color:var(--bs-muted);margin-top:4px}

/* Small print */
.bs-fineprint{font-size:.85rem;color:var(--bs-muted)}

/* Mobile */
@media(max-width:640px){
  .bs-section{padding:48px 0}
  .bs-hero{padding:76px 18px 56px}
  .bs-wrap,.bs-narrow{padding:0 18px}
  .bs-cards{gap:16px}
  .bs-card{padding:26px 22px;border-radius:20px}
  .bs-offer-card{padding:26px 22px}
  .bs-banner{border-radius:24px}
  .bs-step{gap:14px}
  .bs-table{font-size:.88rem}
  .bs-pill{padding:14px 26px;font-size:.92rem}
}
