/* ================= Colorful theme (logo palette: royal blue · sky · emerald · lime · gold · orange) ================= */
:root{
  --c-blue:#1d6fd8;--c-sky:#1aa7e0;--c-teal:#0fa39a;--c-green:#1f9d55;--c-lime:#7cc142;--c-gold:#f2b01e;--c-orange:#f47c20;--c-coral:#ef5a5a;
  --g-brand:linear-gradient(110deg,#1d6fd8 0%,#1aa7e0 28%,#1f9d55 58%,#f2b01e 85%,#f47c20 100%);
}
/* 7 card colors, used in both themes */
.prod-flex>.prod-box:nth-child(7n+1),.prod-rows>.prod-row:nth-child(7n+1){--cc1:#1d6fd8;--cc2:#1aa7e0}
.prod-flex>.prod-box:nth-child(7n+2),.prod-rows>.prod-row:nth-child(7n+2){--cc1:#1f9d55;--cc2:#7cc142}
.prod-flex>.prod-box:nth-child(7n+3),.prod-rows>.prod-row:nth-child(7n+3){--cc1:#0fa39a;--cc2:#1aa7e0}
.prod-flex>.prod-box:nth-child(7n+4),.prod-rows>.prod-row:nth-child(7n+4){--cc1:#f47c20;--cc2:#f2b01e}
.prod-flex>.prod-box:nth-child(7n+5),.prod-rows>.prod-row:nth-child(7n+5){--cc1:#7a4fd6;--cc2:#c06ad8}
.prod-flex>.prod-box:nth-child(7n+6),.prod-rows>.prod-row:nth-child(7n+6){--cc1:#d99a0b;--cc2:#f2c84b}
.prod-flex>.prod-box:nth-child(7n+7),.prod-rows>.prod-row:nth-child(7n+7){--cc1:#ef5a5a;--cc2:#f47c20}
.prod-box .prod-box-icon,.prod-row .prod-box-icon{background:linear-gradient(135deg,var(--cc1),var(--cc2))!important;box-shadow:0 10px 22px color-mix(in srgb,var(--cc1) 35%,transparent)}
.prod-box::before{background:linear-gradient(90deg,var(--cc1),var(--cc2))!important;height:5px}
.prod-row{border-top:5px solid var(--cc1)!important}
.prod-box-link,.prod-row-link{color:var(--cc1)!important}
html[data-theme="dark"] .prod-box-link,html[data-theme="dark"] .prod-row-link{color:color-mix(in srgb,var(--cc1) 55%,#fff)!important}
/* colorful icon tiles in card grids */
.grid>.policy-card:nth-child(4n+1) .pg-icon,.grid>*:nth-child(4n+1)>.w-12.rounded-lg{background:linear-gradient(135deg,#1d6fd8,#1aa7e0)!important;color:#fff!important}
.grid>.policy-card:nth-child(4n+2) .pg-icon,.grid>*:nth-child(4n+2)>.w-12.rounded-lg{background:linear-gradient(135deg,#1f9d55,#7cc142)!important;color:#fff!important}
.grid>.policy-card:nth-child(4n+3) .pg-icon,.grid>*:nth-child(4n+3)>.w-12.rounded-lg{background:linear-gradient(135deg,#f47c20,#f2b01e)!important;color:#fff!important}
.grid>.policy-card:nth-child(4n+4) .pg-icon,.grid>*:nth-child(4n+4)>.w-12.rounded-lg{background:linear-gradient(135deg,#7a4fd6,#c06ad8)!important;color:#fff!important}
.pg-steps li:nth-child(4n+1){border-top:4px solid #1aa7e0}.pg-steps li:nth-child(4n+2){border-top:4px solid #7cc142}.pg-steps li:nth-child(4n+3){border-top:4px solid #f2b01e}.pg-steps li:nth-child(4n+4){border-top:4px solid #ef8a5a}
.pg-steps li:nth-child(4n+1) .pg-step-no{color:#5fc8f0}.pg-steps li:nth-child(4n+2) .pg-step-no{color:#9bd86a}.pg-steps li:nth-child(4n+4) .pg-step-no{color:#f6a072}

/* ---------------- LIGHT MODE ---------------- */
html:not([data-theme="dark"]) body.bg-surface{
  background:
    radial-gradient(ellipse 55% 40% at 0% 0%,rgba(29,111,216,.22),transparent 70%),
    radial-gradient(ellipse 50% 40% at 100% 20%,rgba(242,176,30,.22),transparent 70%),
    radial-gradient(ellipse 55% 45% at 100% 85%,rgba(31,157,85,.20),transparent 70%),
    radial-gradient(ellipse 50% 40% at 0% 70%,rgba(244,124,32,.16),transparent 70%),
    linear-gradient(135deg,#eaf4ff 0%,#eefaf2 45%,#fff6e3 100%)!important;
  background-attachment:fixed!important;background-color:#f3f8f4!important}
html:not([data-theme="dark"]) main.bg-surface{background:transparent!important}
html:not([data-theme="dark"]) header{border-bottom:0!important}
html:not([data-theme="dark"]) header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--g-brand);pointer-events:none}
/* section bands */
html:not([data-theme="dark"]) .bg-surface-container-low{background:linear-gradient(120deg,rgba(29,111,216,.16) 0%,rgba(26,167,224,.12) 30%,rgba(31,157,85,.14) 62%,rgba(242,176,30,.20) 100%)!important}
html:not([data-theme="dark"]) .coverage-compare-section{background:linear-gradient(120deg,#d7e9ff 0%,#d4f3ea 50%,#ffe9bf 100%)!important}
html:not([data-theme="dark"]) .coverage-ladder-section{background:linear-gradient(120deg,#fff0cf 0%,#dff5e6 50%,#d8ecff 100%)!important}
/* cards: white glass with colored edge */
html:not([data-theme="dark"]) .prod-box,html:not([data-theme="dark"]) .prod-row{background:linear-gradient(160deg,#ffffff 0%,color-mix(in srgb,var(--cc2) 10%,#fff) 100%)!important;border:1px solid color-mix(in srgb,var(--cc1) 22%,transparent)!important}
html:not([data-theme="dark"]) .prod-box:hover{box-shadow:0 22px 46px color-mix(in srgb,var(--cc1) 25%,transparent)!important}
/* headings with brand gradient */
html:not([data-theme="dark"]) main h2.text-on-surface,html:not([data-theme="dark"]) .coverage-compare-intro h2,html:not([data-theme="dark"]) .coverage-ladder-intro h2{background:linear-gradient(100deg,#0f3d7a 0%,#1d6fd8 30%,#1f9d55 65%,#d98b0b 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
/* kicker labels as colorful pills */
html:not([data-theme="dark"]) main span.uppercase.font-semibold.text-label-sm:not([class*="bg-"]){display:inline-block;padding:5px 12px;border-radius:999px;color:#fff!important;background:var(--g-brand);letter-spacing:.12em}
/* stats each in its own color */
html:not([data-theme="dark"]) .grid>*:nth-child(4n+1)>.font-stat-counter,html:not([data-theme="dark"]) .grid>*:nth-child(4n+1) .font-stat-counter{color:#1d6fd8!important}
html:not([data-theme="dark"]) .grid>*:nth-child(4n+2)>.font-stat-counter,html:not([data-theme="dark"]) .grid>*:nth-child(4n+2) .font-stat-counter{color:#1f9d55!important}
html:not([data-theme="dark"]) .grid>*:nth-child(4n+3)>.font-stat-counter,html:not([data-theme="dark"]) .grid>*:nth-child(4n+3) .font-stat-counter{color:#f47c20!important}
html:not([data-theme="dark"]) .grid>*:nth-child(4n+4)>.font-stat-counter,html:not([data-theme="dark"]) .grid>*:nth-child(4n+4) .font-stat-counter{color:#7a4fd6!important}
/* chips */
html:not([data-theme="dark"]) .life-pillars span:nth-child(1){background:#e3efff;color:#1d5fc0;border-color:#b9d4fb}
html:not([data-theme="dark"]) .life-pillars span:nth-child(2){background:#e2f6ea;color:#17834a;border-color:#b6e5c8}
html:not([data-theme="dark"]) .life-pillars span:nth-child(3){background:#fff1d6;color:#a8600a;border-color:#f7d79a}
html:not([data-theme="dark"]) .pg-chip:nth-child(4n+1){background:#e3efff;color:#1d5fc0}html:not([data-theme="dark"]) .pg-chip:nth-child(4n+2){background:#e2f6ea;color:#17834a}html:not([data-theme="dark"]) .pg-chip:nth-child(4n+3){background:#fff1d6;color:#a8600a}html:not([data-theme="dark"]) .pg-chip:nth-child(4n+4){background:#f1e8ff;color:#6a3fc4}
html:not([data-theme="dark"]) .prod-jump a{background:#fff;border-color:rgba(29,111,216,.25)}
html:not([data-theme="dark"]) .prod-jump a:hover{background:var(--g-brand);color:#fff}
/* buttons */
html:not([data-theme="dark"]) a.bg-primary,html:not([data-theme="dark"]) button.bg-primary{background-image:linear-gradient(110deg,#1d6fd8 0%,#1aa7e0 40%,#1f9d55 100%)!important}
/* dark bands become vivid */
html:not([data-theme="dark"]) .pg-dark{background:radial-gradient(ellipse at 90% 0%,rgba(242,176,30,.45),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(124,193,66,.35),transparent 55%),linear-gradient(120deg,#0b3f8a 0%,#0d6e8c 45%,#137a4a 100%)!important}
html:not([data-theme="dark"]) .bg-inverse-surface{background:linear-gradient(120deg,#0b3f8a 0%,#0d6e8c 45%,#137a4a 100%)!important}
html:not([data-theme="dark"]) .pg-mission-hero::after{background:linear-gradient(100deg,rgba(11,63,138,.9) 0%,rgba(13,110,140,.72) 50%,rgba(19,122,74,.45) 100%)}
html:not([data-theme="dark"]) .home-hero .home-hero-shade{background:linear-gradient(0deg,rgba(8,40,90,.88) 0%,rgba(10,80,110,.5) 42%,rgba(10,80,110,0) 72%),linear-gradient(90deg,rgba(8,45,100,.6) 0%,rgba(8,45,100,0) 60%)}
html:not([data-theme="dark"]) .home-hero::after{height:6px;background:var(--g-brand)}
/* CTA banner */
html:not([data-theme="dark"]) #consultation-booking .rounded-2xl{background:radial-gradient(ellipse at 85% 100%,rgba(242,176,30,.55),transparent 55%),linear-gradient(110deg,#1d6fd8 0%,#1aa7e0 40%,#1f9d55 80%)!important}
html:not([data-theme="dark"]) .bg-primary.rounded-xl{background-image:radial-gradient(ellipse at 90% 100%,rgba(242,176,30,.55),transparent 55%),linear-gradient(110deg,#1d6fd8 0%,#1aa7e0 40%,#1f9d55 85%)!important}
/* footer */
html:not([data-theme="dark"]) footer{background:linear-gradient(120deg,#dceaff 0%,#dcf5e6 50%,#ffefcc 100%)!important;position:relative}
html:not([data-theme="dark"]) footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--g-brand)}
/* progress bar */
.site-scroll-progress span{background:var(--g-brand)!important}
html:not([data-theme="dark"]) main span.uppercase.font-semibold.text-label-sm:not([class*="bg-"]){align-self:flex-start;width:max-content;max-width:100%}
html:not([data-theme="dark"]) main section.bg-surface,html:not([data-theme="dark"]) main .bg-surface:not(body):not(main):not(header){background:transparent!important}

/* ===== Fixed photo wallpaper: content scrolls over a still image ===== */
body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none}
body::before{z-index:-2;background:url("images/bg-family-park.jpg") center 40%/cover no-repeat}
body::after{z-index:-1;background:
  linear-gradient(135deg,rgba(225,238,255,.74) 0%,rgba(230,248,238,.66) 45%,rgba(255,242,214,.74) 100%)}
html:not([data-theme="dark"]) body.bg-surface,html[data-theme="dark"] body,html[data-theme="dark"] body.bg-surface{background:transparent!important;background-color:transparent!important}
html{background:#eef5f0}
html[data-theme="dark"]{background:#062536}
html[data-theme="dark"] body::after{background:linear-gradient(135deg,rgba(4,30,46,.88) 0%,rgba(5,40,34,.84) 50%,rgba(40,30,8,.86) 100%)}
html[data-theme="dark"] body::before{filter:saturate(.8)}
@media(prefers-reduced-motion:no-preference){body::before{animation:bg-drift 40s ease-in-out infinite alternate}}
@keyframes bg-drift{from{transform:scale(1.04)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}
