
/* ============================================================
   Home Elegance Care — "GLASS & GRADIENT" DESIGN SYSTEM
   Soft air · Frosted glass · Gradient light · Futuristic
============================================================ */
:root{
  --bg:#F3F0E8;
  --bg-2:#E5E0D4;
  --ink:#29231F;
  --ink-2:#50453D;
  --muted:#82766B;

  --violet:#7041A6;
  --violet-2:#925BCB;

  --teal:#8AAB45;

  --peach:#E87548;
  --sun:#D5E94F;
  --pink:#D96B91;

  --grad-main:linear-gradient(135deg,#7041A6,#925BCB);
  --grad-cool:linear-gradient(135deg,#8AAB45,#C0D982);
  --grad-warm:linear-gradient(135deg,#E87548,#D5E94F);

  --glass:rgba(255,255,255,.62);
  --glass-strong:rgba(255,255,255,.86);

  --line:rgba(255,255,255,.92);
  --stroke:rgba(41,35,31,.10);

  --shadow:0 24px 70px -28px rgba(41,35,31,.28);
  --shadow-sm:0 12px 32px -14px rgba(41,35,31,.20);

  --font-display:'Unbounded',sans-serif;
  --font-body:'Inter',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
/* ---------- base ---------- */
*{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
section{scroll-margin-top:110px;position:relative}
::selection{background:var(--violet);color:#fff}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(108,92,231,.35);border-radius:99px}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:10px}
.skip-link{position:fixed;top:-70px;left:16px;z-index:4000;background:var(--ink);color:#fff;padding:10px 20px;border-radius:999px;font-weight:700;text-decoration:none;transition:top .3s}
.skip-link:focus{top:14px}
h1,h2,h3,h4,.display-font{font-family:var(--font-display)}
.grad-text{background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-text-cool{background:var(--grad-cool);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-text-warm{background:var(--grad-warm);-webkit-background-clip:text;background-clip:text;color:transparent}
.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
.section-pad{padding:clamp(4.5rem,8vw,7.5rem) 0}
.sec-head{max-width:780px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-weight:700;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1.15;letter-spacing:-.01em}
.kicker{display:inline-flex;align-items:center;gap:.55rem;background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.1rem;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--violet);box-shadow:var(--shadow-sm);margin-bottom:1.4rem}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--grad-main)}
.sec-sub{color:var(--muted);font-size:clamp(.98rem,1.15vw,1.07rem)}

/* ---------- buttons & chips ---------- */
.btn-grad{position:relative;display:inline-flex;align-items:center;gap:.6rem;background:var(--grad-main);color:#fff;border:none;border-radius:999px;padding:.95rem 1.9rem;font-weight:600;font-size:.95rem;box-shadow:0 16px 38px -12px rgba(108,92,231,.6);transition:transform .35s var(--ease),box-shadow .35s,filter .35s;overflow:hidden;text-decoration:none}
.btn-grad::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s var(--ease)}
.btn-grad:hover{transform:translateY(-3px);box-shadow:0 22px 46px -12px rgba(108,92,231,.7);filter:saturate(1.1);color:#fff}
.btn-grad:hover::after{left:130%}
.btn-grad.cool{background:var(--grad-cool);box-shadow:0 16px 38px -12px rgba(46,196,182,.55)}
.btn-grad.warm{background:var(--grad-warm);box-shadow:0 16px 38px -12px rgba(255,159,110,.55);color:var(--ink)}
.btn-glass{display:inline-flex;align-items:center;gap:.6rem;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:.95rem 1.9rem;font-weight:600;font-size:.95rem;color:var(--ink);backdrop-filter:blur(14px);transition:all .35s var(--ease);text-decoration:none}
.btn-glass:hover{background:rgba(255,255,255,.9);border-color:var(--violet);color:var(--violet);transform:translateY(-3px)}
.chip-soft{display:inline-flex;align-items:center;gap:.45rem;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;font-size:.8rem;font-weight:600;color:var(--ink-2);backdrop-filter:blur(10px);transition:all .3s var(--ease)}
.chip-soft:hover{transform:translateY(-3px);background:#fff;box-shadow:var(--shadow-sm)}
.icon-tile{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;flex-shrink:0;box-shadow:var(--shadow-sm)}
.tile-violet{background:linear-gradient(135deg,#EDEAFF,#DCD5FF)}
.tile-teal{background:linear-gradient(135deg,#E0F7F3,#C9F0EA)}
.tile-warm{background:linear-gradient(135deg,#FFEFE4,#FFE0C7)}
.tile-sun{background:linear-gradient(135deg,#FFF6D9,#FFEDB0)}
.tile-pink{background:linear-gradient(135deg,#FFE9F0,#FFD6E3)}

/* ---------- reveal (blur-to-sharp) ---------- */
[data-reveal]{opacity:0;transform:translateY(34px);filter:blur(10px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s)}
[data-reveal="left"]{transform:translateX(-46px)}
[data-reveal="right"]{transform:translateX(46px)}
[data-reveal="zoom"]{transform:scale(.88)}
.revealed{opacity:1 !important;transform:none !important;filter:none !important}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;filter:none;transition:none}}

/* ---------- preloader ---------- */
#preloader{position:fixed;inset:0;z-index:5000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;transition:opacity .7s,visibility .7s}
#preloader.done{opacity:0;visibility:hidden}
.pre-ring{width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--violet) 0%,#E6E9F7 0);display:grid;place-items:center;position:relative;transition:background .15s linear}
.pre-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--bg)}
.pre-ring b{position:relative;font-family:var(--font-display);font-size:1.15rem;color:var(--ink)}
.pre-emoji{position:absolute;top:-14px;right:-12px;font-size:1.9rem;animation:preFloat 2s ease-in-out infinite}
@keyframes preFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(8deg)}}
.pre-name{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:.03em}
.pre-name span{color:var(--violet)}

/* ---------- nav ---------- */
.nav-wrap{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 26px));z-index:1600;transition:top .5s var(--ease)}
.nav-wrap.scrolled{top:8px}
.nav-pill{background:var(--glass);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid var(--line);border-radius:999px;padding:.55rem .7rem .55rem 1.3rem;box-shadow:var(--shadow-sm);transition:box-shadow .5s,background .5s}
.nav-wrap.scrolled .nav-pill{background:rgba(255,255,255,.85);box-shadow:0 18px 50px -18px rgba(35,41,70,.35)}
.navbar{padding:0}
.nav-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.nav-brand:hover{color:var(--ink)}
.brand-tile{width:44px;height:44px;border-radius:15px;background:var(--grad-main);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 10px 24px -8px rgba(108,92,231,.6);transition:transform .4s var(--ease)}
.nav-brand:hover .brand-tile{transform:rotate(-8deg) scale(1.08)}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1;letter-spacing:.01em}
.brand-name small{display:block;font-family:var(--font-body);font-size:.58rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:.32rem}
.nav-links{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}
.nav-links .nav-link{font-size:.84rem;font-weight:600;color:var(--ink-2);padding:.55rem .82rem !important;border-radius:999px;transition:all .3s var(--ease)}
.nav-links .nav-link:hover{color:var(--violet);background:rgba(108,92,231,.08)}
.nav-links .nav-link.active{background:var(--grad-main);color:#fff;box-shadow:0 8px 20px -6px rgba(108,92,231,.55)}
.navbar-toggler{border:1px solid var(--stroke);border-radius:14px;background:var(--glass-strong);padding:.45rem .65rem;box-shadow:var(--shadow-sm)}
.navbar-toggler:focus{box-shadow:var(--shadow-sm) !important;outline:3px solid var(--violet)}
.navbar-toggler i{font-size:1.15rem;color:var(--ink)}
.nav-cta{white-space:nowrap;font-size:.82rem;padding:.68rem 1.35rem}
@media(max-width:1199.98px){
  .nav-pill{border-radius:26px}
  .nav-mobile-panel{background:var(--glass-strong);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);margin-top:.7rem;padding:1rem}
  .nav-mobile-panel .nav-links{flex-direction:column;align-items:stretch}
  .nav-mobile-panel .nav-link{display:flex;justify-content:space-between;padding:.75rem 1rem !important;font-size:.93rem}
  .nav-mobile-panel .nav-link i{font-size:.7rem;opacity:.45}
  .nav-mobile-panel .nav-cta{justify-content:center;margin-top:.6rem}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(7.5rem,12vh,10rem) 0 clamp(4rem,7vw,6rem)}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.orb.o1{width:480px;height:480px;background:radial-gradient(circle,#DCD5FF,transparent 65%);top:-160px;right:-120px;animation:drift 16s ease-in-out infinite}
.orb.o2{width:420px;height:420px;background:radial-gradient(circle,#D6F4EF,transparent 65%);bottom:-140px;left:-140px;animation:drift 20s ease-in-out infinite reverse}
.orb.o3{width:300px;height:300px;background:radial-gradient(circle,#FFE7D6,transparent 65%);top:34%;left:42%;animation:drift 24s ease-in-out infinite;opacity:.4}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,26px) scale(.95)}}
.hero .float-em{position:absolute;z-index:1;font-size:2rem;filter:drop-shadow(0 12px 18px rgba(35,41,70,.18));animation:floatY 5.5s ease-in-out infinite;pointer-events:none;user-select:none}
@keyframes floatY{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-16px) rotate(6deg)}}
.hero .fe1{top:16%;right:6%}.hero .fe2{top:58%;right:1%;animation-delay:1.4s;font-size:1.6rem}.hero .fe3{bottom:6%;left:2%;animation-delay:.8s}
.hero-badge{display:inline-flex;align-items:center;gap:.55rem;background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;padding:.55rem 1.15rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);box-shadow:var(--shadow-sm)}
.hero h1{font-weight:700;font-size:clamp(2.2rem,5.2vw,4.2rem);line-height:1.1;letter-spacing:-.015em;margin:1.5rem 0 1.3rem}
.rot-word{display:inline-block;transition:transform .45s var(--ease),opacity .3s}
.rot-word.swap{transform:translateY(-24px) scale(.96);opacity:0}
.hero-sub{color:var(--muted);max-width:540px;font-size:clamp(1rem,1.2vw,1.1rem)}
.hero-trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.2rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
/* floor plan */
.plan-card{position:relative;border-radius:34px;padding:1.4rem;z-index:2}
.plan-card .live-chip{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:.45rem;background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);z-index:5}
.live-chip .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pingDot 1.8s infinite}
@keyframes pingDot{0%{box-shadow:0 0 0 0 rgba(46,196,182,.6)}100%{box-shadow:0 0 0 9px rgba(46,196,182,0)}}
#planSvg{width:100%;height:auto;display:block}
.room{cursor:pointer}
.room rect{fill:#fff;stroke:#E2E6F7;stroke-width:2;transition:all .35s var(--ease)}
.room:hover rect{fill:#F4F2FF;stroke:var(--violet-2)}
.room.active rect{fill:#EFEBFF;stroke:var(--violet);stroke-width:3;filter:drop-shadow(0 10px 16px rgba(108,92,231,.28))}
.room .rm-emoji{font-size:27px;pointer-events:none}
.room .rm-label{font-size:10.5px;font-weight:700;fill:var(--muted);font-family:var(--font-body);letter-spacing:.02em;pointer-events:none}
.room.active .rm-label{fill:var(--violet)}
.room-full rect{fill:url(#gradFull);stroke:none}
.room-full .rm-label{fill:#fff}
.plan-frame{fill:none;stroke:#C9CFF0;stroke-width:2;stroke-dasharray:7 7}
.plan-info{margin-top:1rem;border-radius:22px;padding:1.15rem 1.3rem;min-height:132px;transition:all .4s var(--ease)}
.plan-info .pi-big{font-size:1.7rem}
.plan-info h3{font-weight:700;font-size:1.15rem;margin:.2rem 0 .25rem}
.plan-info p{font-size:.85rem;color:var(--muted);margin:0 0 .6rem}
.plan-info .pi-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.plan-info .pi-chip{font-size:.68rem;font-weight:700;background:#fff;border:1px solid var(--stroke);border-radius:999px;padding:.3rem .7rem;color:var(--ink-2)}
.plan-info .pi-cta{font-size:.8rem;font-weight:700;color:var(--violet);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem}
.plan-info .pi-cta:hover{gap:.7rem}
.plan-info.updated{animation:infoIn .5s var(--ease)}
@keyframes infoIn{0%{opacity:0;transform:translateY(10px) scale(.98)}100%{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.62rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.scroll-cue .cue-pill{width:34px;height:50px;border-radius:99px;background:var(--glass-strong);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;justify-content:center;padding-top:9px}
.scroll-cue .cue-pill i{width:5px;height:9px;border-radius:99px;background:var(--violet);animation:wheel 1.7s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(13px);opacity:0}100%{opacity:0}}

/* ---------- about ---------- */
.about-sticky{position:sticky;top:120px}
.about-statement{font-family:var(--font-display);font-weight:600;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.4;letter-spacing:-.01em}
.about-card{background:var(--glass);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm);padding:1.7rem;transition:transform .4s var(--ease),box-shadow .4s}
.about-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.about-card p{color:var(--muted);font-size:.93rem;margin-bottom:.6rem}
.mv-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:575.98px){.mv-pair{grid-template-columns:1fr}}
.value-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--glass-strong);border:1px solid var(--line);border-radius:999px;padding:.55rem 1.05rem;font-size:.82rem;font-weight:600;box-shadow:var(--shadow-sm);transition:all .3s var(--ease)}
.value-pill:hover{transform:translateY(-4px)}
.hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media(max-width:575.98px){.hl-grid{grid-template-columns:1fr}}
.hl-card{display:flex;gap:.95rem;align-items:flex-start;background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:1.25rem;backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);transition:all .35s var(--ease)}
.hl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(108,92,231,.35)}
.hl-card b{font-family:var(--font-display);font-size:.92rem;display:block}
.hl-card span{font-size:.78rem;color:var(--muted)}

/* ---------- services runway ---------- */
.services{background:linear-gradient(180deg,var(--bg),var(--bg-2) 30%,var(--bg));position:relative;overflow:hidden}
.svc-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.svc-tab{border:1px solid var(--stroke);background:var(--glass-strong);border-radius:999px;padding:.6rem 1.25rem;font-weight:600;font-size:.85rem;color:var(--ink-2);box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .3s var(--ease)}
.svc-tab:hover{transform:translateY(-3px)}
.svc-tab.active{background:var(--grad-main);color:#fff;border-color:transparent;box-shadow:0 12px 26px -8px rgba(108,92,231,.55)}
.runway-wrap{position:relative}
.runway{display:flex;gap:1.15rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .35rem 1.6rem;scrollbar-width:none}
.runway::-webkit-scrollbar{display:none}
.runway-card{flex:0 0 clamp(255px,28vw,295px);scroll-snap-align:start;background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-sm);padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:transform .4s var(--ease),box-shadow .4s;animation:cardIn .55s var(--ease) both}
@keyframes cardIn{0%{opacity:0;transform:translateX(40px)}100%{opacity:1;transform:none}}
.runway-card:hover{transform:translateY(-9px);box-shadow:var(--shadow)}
.runway-card .rc-num{position:absolute;top:1.2rem;right:1.3rem;font-family:var(--font-display);font-size:.68rem;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--stroke);border-radius:999px;padding:.2rem .6rem}
.runway-card .rc-emoji{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.7rem;box-shadow:var(--shadow-sm);margin-bottom:1.1rem;transition:transform .4s var(--ease)}
.runway-card:hover .rc-emoji{transform:rotate(-8deg) scale(1.1)}
.runway-card h3{font-weight:700;font-size:1.08rem;line-height:1.3}
.runway-card .rc-tag{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);margin-top:.35rem}
.runway-card .rc-line{font-size:.83rem;color:var(--muted);flex:1;margin:.55rem 0 1rem}
.rc-btn{border:none;background:var(--bg);border:1px solid var(--stroke);border-radius:999px;padding:.55rem 1.05rem;font-size:.8rem;font-weight:700;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:all .3s var(--ease);align-self:flex-start}
.rc-btn:hover{background:var(--grad-main);color:#fff;border-color:transparent;transform:translateY(-2px)}
.runway-nav{display:flex;align-items:center;gap:1rem}
.rw-btn{width:48px;height:48px;border-radius:50%;background:var(--glass-strong);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:1.05rem;color:var(--ink);cursor:pointer;transition:all .3s var(--ease)}
.rw-btn:hover{background:var(--grad-main);color:#fff;transform:translateY(-3px)}
.rw-dots{display:flex;gap:.4rem}
.rw-dot{width:7px;height:7px;border-radius:99px;border:none;background:rgba(108,92,231,.22);padding:0;transition:all .4s var(--ease)}
.rw-dot.active{width:26px;background:var(--grad-main)}

/* ---------- service modal ---------- */
.modal-svc .modal-content{background:var(--glass-strong);backdrop-filter:blur(30px);border:1px solid var(--line);border-radius:30px;box-shadow:0 60px 140px -30px rgba(35,41,70,.5)}
.modal-svc .sm-hero{display:flex;gap:1.1rem;align-items:center;padding:1.6rem 1.7rem;border-bottom:1px solid var(--stroke)}
.modal-svc .sm-emoji{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:2.2rem;box-shadow:var(--shadow-sm)}
.modal-svc .sm-cat{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--violet)}
.modal-svc .modal-title{font-weight:700;font-size:1.4rem;line-height:1.2}
.modal-svc .modal-body{padding:1.7rem}
.modal-svc h4{font-family:var(--font-display);font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:1.3rem 0 .7rem}
.modal-svc h4:first-child{margin-top:0}
.modal-svc .sm-desc{color:var(--ink-2);font-size:.95rem}
.sm-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.sm-benefits li{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.75);border:1px solid var(--stroke);border-radius:14px;padding:.7rem .95rem;font-size:.88rem;font-weight:500}
.sm-benefits li .em{font-size:1.05rem}
.sm-process{background:rgba(255,255,255,.75);border:1px solid var(--stroke);border-radius:14px;padding:.9rem 1rem;font-size:.87rem;color:var(--ink-2)}
.sm-cta{width:100%;justify-content:center}
.modal-backdrop.show{opacity:.4}

/* ---------- why ---------- */
.why-feature{background:var(--grad-main);color:#fff;border-radius:30px;padding:2.2rem;position:relative;overflow:hidden;box-shadow:0 30px 70px -24px rgba(108,92,231,.6);height:100%}
.why-feature::after{content:attr(data-emoji);position:absolute;right:-10px;bottom:-22px;font-size:7rem;opacity:.16;transform:rotate(-12deg)}
.why-feature h3{font-weight:700;font-size:1.5rem}
.why-feature p{color:rgba(255,255,255,.85);font-size:.92rem}
.why-card{background:var(--glass);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm);padding:1.6rem;position:relative;overflow:hidden;transition:all .35s var(--ease);height:100%}
.why-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.why-card .wc-emoji{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1rem;transition:transform .4s var(--ease)}
.why-card:hover .wc-emoji{transform:rotate(-8deg) scale(1.1)}
.why-card h3{font-weight:700;font-size:1.05rem}
.why-card p{font-size:.85rem;color:var(--muted);margin:0}
/* process timeline */
.timeline{position:relative;margin-top:4rem}
.timeline .t-line{position:absolute;top:30px;left:6%;right:6%;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--teal),var(--peach));transform:scaleX(0);transform-origin:left;transition:transform 2s var(--ease) .3s}
.timeline.drawn .t-line{transform:scaleX(1)}
.t-step{position:relative;text-align:center;padding:0 .8rem}
.t-step .t-num{width:60px;height:60px;margin:0 auto 1rem;border-radius:50%;background:var(--glass-strong);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--violet);position:relative;z-index:2}
.t-step .t-emoji{position:absolute;top:-6px;right:calc(50% - 40px);font-size:1.15rem}
.t-step b{font-family:var(--font-display);font-size:.95rem;display:block}
.t-step span{font-size:.8rem;color:var(--muted)}

/* ---------- protection bands ---------- */
.band{position:relative;overflow:hidden}
.band .band-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;pointer-events:none}
.band-card{background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:clamp(1.7rem,3.5vw,2.8rem);position:relative;height:100%}
.band-card .bc-emoji{width:92px;height:92px;border-radius:28px;display:grid;place-items:center;font-size:2.7rem;box-shadow:var(--shadow);margin-bottom:1.3rem;transition:transform .45s var(--ease)}
.band-card:hover .bc-emoji{transform:rotate(-7deg) scale(1.07)}
.band-card h2{font-weight:700;font-size:clamp(1.7rem,3.2vw,2.5rem);letter-spacing:-.01em}
.band-card .bc-desc{color:var(--muted);font-size:.96rem}
.b-perks{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.6rem}
.b-perks li{display:flex;align-items:center;gap:.75rem;font-size:.9rem;font-weight:500;color:var(--ink-2)}
.b-perks li .em{width:32px;height:32px;border-radius:10px;background:#fff;border:1px solid var(--stroke);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:1rem;flex-shrink:0}
.b-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:1.5rem}
@media(max-width:575.98px){.b-steps{grid-template-columns:1fr}}
.b-step{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:18px;padding:1.05rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease)}
.b-step:hover{transform:translateY(-4px)}
.b-step .n{font-size:.64rem;font-weight:800;letter-spacing:.2em;color:var(--violet)}
.b-step b{font-family:var(--font-display);font-size:.9rem;display:block;margin:.35rem 0 .2rem}
.b-step span{font-size:.76rem;color:var(--muted)}

/* ---------- testimonials ---------- */
.testi-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.6rem .35rem 1.6rem;scrollbar-width:none}
.testi-track::-webkit-scrollbar{display:none}
.t-card{flex:0 0 clamp(300px,32vw,350px);scroll-snap-align:start;background:var(--glass-strong);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-sm);padding:1.7rem;position:relative;transition:all .35s var(--ease)}
.t-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.t-card .t-quote{position:absolute;top:1rem;right:1.4rem;font-family:var(--font-display);font-size:3.4rem;line-height:1;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5}
.t-stars{color:var(--sun);letter-spacing:3px;font-size:.85rem;margin-bottom:.8rem;filter:drop-shadow(0 2px 6px rgba(255,209,102,.5))}
.t-card p{font-size:.9rem;color:var(--ink-2);margin-bottom:1.3rem}
.t-who{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--stroke);padding-top:1.1rem}
.t-ava{width:46px;height:46px;border-radius:50%;background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:1.35rem}
.t-name{font-weight:700;font-size:.92rem;line-height:1.25}
.t-loc{font-size:.74rem;color:var(--muted)}
.t-svc{display:inline-block;margin-top:.7rem;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);background:rgba(108,92,231,.08);border-radius:999px;padding:.3rem .75rem}

/* ---------- FAQ flip ---------- */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;perspective:1600px}
@media(max-width:767.98px){.faq-grid{grid-template-columns:1fr}}
.flip-card{background:transparent;border:none;padding:0;height:200px;perspective:1000px;cursor:pointer;text-align:left;width:100%}
.flip-inner{position:relative;width:100%;height:100%;transition:transform .75s var(--ease);transform-style:preserve-3d}
.flip-card.open .flip-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:24px;padding:1.5rem;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.flip-front{background:var(--glass-strong);border:1px solid var(--line);backdrop-filter:blur(16px)}
.flip-front .fq-emoji{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:1.45rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}
.flip-front b{font-family:var(--font-display);font-size:.98rem;line-height:1.4}
.flip-front .hint{margin-top:auto;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.4rem}
.flip-back{background:var(--grad-main);color:#fff;transform:rotateY(180deg);justify-content:center}
.flip-back p{font-size:.83rem;line-height:1.6;color:rgba(255,255,255,.92);margin:0 0 .9rem}
.flip-back .got-it{align-self:flex-start;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .3s}
.flip-back .got-it:hover{background:#fff;color:var(--violet)}

/* ---------- newsletter ---------- */
.nl-wrap{background:linear-gradient(135deg,var(--violet-2),var(--teal) 55%,var(--peach));border-radius:38px;padding:2px;box-shadow:0 34px 90px -30px rgba(35,41,70,.4);position:relative}
.nl-card{background:rgba(255,255,255,.92);border-radius:37px;padding:clamp(1.8rem,4vw,3.2rem);position:relative;overflow:hidden}
.nl-card .nl-stamp{position:absolute;top:1.6rem;right:1.8rem;width:76px;height:76px;border-radius:20px;background:var(--grad-warm);display:grid;place-items:center;font-size:2rem;box-shadow:var(--shadow);transform:rotate(8deg)}
.nl-card h2{font-weight:700;font-size:clamp(1.7rem,3.2vw,2.6rem);letter-spacing:-.01em}
.nl-card .nl-desc{color:var(--muted);max-width:600px}
.nl-form .form-label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.nl-form .form-control,.nl-form .form-select{border:1px solid var(--stroke);border-radius:16px;padding:.85rem 1.1rem;background:var(--bg);font-size:.92rem;transition:all .25s}
.nl-form .form-control:focus,.nl-form .form-select:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(108,92,231,.14);background:#fff}
.nl-form .form-check-input{border:1.5px solid var(--stroke)}
.nl-form .form-check-input:checked{background-color:var(--violet);border-color:var(--violet)}
.nl-form .form-check-input:focus{box-shadow:0 0 0 4px rgba(108,92,231,.16)}
.nl-form .form-check-label{font-size:.83rem;color:var(--muted)}
.nl-unsub{color:var(--violet);font-weight:700;text-decoration:none;border-bottom:2px dashed rgba(108,92,231,.5)}
.nl-unsub:hover{color:var(--ink)}
.fly-letter{position:absolute;z-index:8;font-size:2.4rem;pointer-events:none;animation:flyLetter 1.5s var(--ease) forwards}
@keyframes flyLetter{0%{opacity:0;transform:translate(0,40px) scale(.5) rotate(-10deg)}20%{opacity:1}100%{opacity:0;transform:translate(90px,-160px) scale(1.2) rotate(14deg)}}
.success-alert{border:1px solid rgba(46,196,182,.5);background:rgba(46,196,182,.12);color:var(--ink);border-radius:16px;font-weight:600;font-size:.9rem}

/* ---------- contact ---------- */
.channel-row{display:flex;align-items:center;gap:1rem;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:1rem 1.15rem;backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);transition:all .3s var(--ease);text-decoration:none;color:var(--ink)}
.channel-row:hover{transform:translateX(6px);box-shadow:var(--shadow);border-color:rgba(108,92,231,.35);color:var(--ink)}
.channel-row .ch-emoji{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;box-shadow:var(--shadow-sm);flex-shrink:0}
.channel-row b{font-family:var(--font-display);font-size:.92rem;display:block}
.channel-row span{font-size:.78rem;color:var(--muted)}
.channel-row .go{margin-left:auto;color:var(--violet);font-size:1.05rem;transition:transform .3s var(--ease)}
.channel-row:hover .go{transform:translateX(4px)}
.radar{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,#EFEBFF,#E0F7F3);border:1px solid var(--line);box-shadow:var(--shadow)}
.radar .radar-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(108,92,231,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(108,92,231,.08) 1px,transparent 1px);background-size:38px 38px}
.radar .ring{position:absolute;border:1.5px dashed rgba(108,92,231,.35);border-radius:50%}
.radar .r1{width:90px;height:90px;top:36%;left:44%}
.radar .r2{width:170px;height:170px;top:26%;left:36%}
.radar .r3{width:260px;height:260px;top:12%;left:26%}
.radar .pin{position:absolute;top:46%;left:54%;font-size:2.2rem;transform:translate(-50%,-100%);animation:pinBob 2.3s ease-in-out infinite;z-index:3}
@keyframes pinBob{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-116%)}}
.radar .pin::after{content:"";position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:rgba(108,92,231,.3);filter:blur(4px);animation:pinSh 2.3s ease-in-out infinite}
@keyframes pinSh{0%,100%{opacity:.5;transform:translateX(-50%) scale(1)}50%{opacity:.9;transform:translateX(-50%) scale(1.4)}}
.radar .rm{position:absolute;font-size:1.15rem;opacity:.85;z-index:2}
.radar-tag{position:absolute;left:12px;bottom:12px;background:var(--glass-strong);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;padding:.6rem .95rem;z-index:3;box-shadow:var(--shadow-sm)}
.radar-tag b{font-family:var(--font-display);font-size:.85rem;display:block}
.radar-tag span{font-size:.7rem;color:var(--muted)}
.contact-form{background:var(--glass-strong);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:clamp(1.7rem,3.5vw,2.7rem)}
.cf-label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.cf-input,.cf-select{border:1px solid var(--stroke);border-radius:16px;padding:.85rem 1.1rem;background:var(--bg);font-size:.92rem;transition:all .25s}
.cf-input:focus,.cf-select:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(108,92,231,.14);background:#fff}
.cf-select option{background:#fff;color:var(--ink)}
.is-invalid{border-color:#E85D75 !important;background:#FFF1F4 !important}
.invalid-feedback{font-size:.76rem;font-weight:600;color:#D6445E}
.contact-success{display:none;text-align:center;padding:2.5rem 1rem}
.contact-success .ok-emoji{width:92px;height:92px;margin:0 auto 1.3rem;border-radius:50%;background:var(--grad-cool);display:grid;place-items:center;font-size:2.4rem;box-shadow:var(--shadow);animation:popIn .6s var(--ease)}
@keyframes popIn{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.hours-row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--stroke);padding:.55rem 0;font-size:.88rem}
.hours-row b{font-family:var(--font-display);font-size:.84rem}
.hours-row .open{color:var(--teal);font-weight:700}

/* ---------- footer ---------- */
.footer{background:linear-gradient(165deg,#232946,#191D31);color:#CDD3EC;position:relative;overflow:hidden;border-radius:44px 44px 0 0;margin-top:1rem}
.footer::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 0%,rgba(108,92,231,.25),transparent 60%),radial-gradient(500px 300px at 10% 100%,rgba(46,196,182,.15),transparent 60%);pointer-events:none}
.footer a{color:#B9C1E8;text-decoration:none}
.footer a:hover{color:#fff}
.f-title{font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sun);margin-bottom:1.2rem}
.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin-bottom:.6rem}
.f-links a{font-size:.88rem;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s}
.f-links a i{font-size:.62rem;color:var(--violet-2);opacity:0;transform:translateX(-6px);transition:all .3s}
.f-links a:hover{transform:translateX(5px)}
.f-links a:hover i{opacity:1;transform:none}
.f-social{display:flex;gap:.65rem}
.f-social a{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;font-size:.95rem;transition:all .3s var(--ease)}
.f-social a:hover{background:var(--grad-main);transform:translateY(-4px) rotate(-6deg);border-color:transparent}
.f-contact li{display:flex;gap:.8rem;font-size:.86rem;color:#B9C1E8;margin-bottom:.75rem}
.f-contact i{color:var(--teal)}
.f-wordmark{text-align:center;font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,10vw,8.5rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.1);user-select:none;padding:2.5rem 0 1rem;letter-spacing:.01em}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0;font-size:.82rem;color:#8E96C4}
.footer-bottom a{color:#CDD3EC;border-bottom:1px dashed rgba(255,255,255,.35);font-weight:600}

/* ---------- modals ---------- */
.modal{
    z-index: 10000;
}
.modal-content{background:var(--glass-strong);backdrop-filter:blur(30px);border:1px solid var(--line);border-radius:28px;box-shadow:0 60px 140px -30px rgba(35,41,70,.5);color:var(--ink)}
.modal.fade .modal-dialog{transform:translateY(24px) scale(.96);transition:transform .45s var(--ease)}
.modal.show .modal-dialog{transform:none}
.modal-header{border-bottom:1px solid var(--stroke);padding:1.5rem 1.7rem}
.modal-title{font-weight:700;font-size:1.4rem}
.modal-body{padding:1.7rem;max-height:66vh;overflow-y:auto}
.modal-body h6{font-family:var(--font-display);font-weight:700;font-size:.98rem;margin:1.5rem 0 .5rem;color:var(--violet)}
.modal-body h6:first-child{margin-top:0}
.modal-body p,.modal-body li{font-size:.9rem;color:var(--muted)}
.modal-body ul{padding-left:1.1rem}
.modal-body ul li{margin-bottom:.4rem}
.modal-footer{border-top:1px solid var(--stroke);padding:1.1rem 1.7rem}
.btn-close{opacity:.6}
.modal-kicker{font-size:.64rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--violet)}
.unsub-card{background:rgba(108,92,231,.06);border:1px solid rgba(108,92,231,.2);border-radius:18px;padding:1.3rem;margin-bottom:1.3rem;display:flex;gap:1rem;align-items:center}
.unsub-card .em{font-size:2.2rem}
.unsub-modal .form-label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.unsub-modal .form-control{border:1px solid var(--stroke);border-radius:14px;padding:.8rem 1.05rem;background:var(--bg)}
.unsub-modal .form-control:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(108,92,231,.14);background:#fff}
.unsub-modal .form-check-input:checked{background-color:var(--violet);border-color:var(--violet)}

/* ---------- back to top ---------- */
#backTop{position:fixed;right:22px;bottom:22px;z-index:1500;width:54px;height:54px;border-radius:50%;background:var(--grad-main);border:none;color:#fff;font-size:1.15rem;box-shadow:0 16px 34px -10px rgba(108,92,231,.65);opacity:0;visibility:hidden;transform:translateY(18px);transition:all .45s var(--ease)}
#backTop.show{opacity:1;visibility:visible;transform:none}
#backTop:hover{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
}


/* ---------- original refinement patch ---------- */
input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
}

.runway-card,
.t-card{
  will-change:transform;
}

/* ---------- shared multi-page helpers ---------- */
#site-nav:empty{
  display:block;
  min-height:76px;
}

.subpage main > section:first-child{
  padding-top:clamp(7.25rem, 14vh, 10rem);
}

.page-intro{
  max-width:860px;
}

.page-intro .sec-head{
  max-width:860px;
}

/* ---------- legal pages ---------- */
.legal-card{
  max-width:1080px;
  margin-inline:auto;
}

.legal-body{
  color:var(--ink-2);
}

.legal-body p{
  margin-bottom:1rem;
  font-size:.92rem;
  line-height:1.8;
}

.legal-body h6{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.98rem;
  margin:1.75rem 0 .7rem;
  color:var(--violet);
}

.legal-body h6:first-of-type{
  margin-top:0;
}

.legal-note{
  font-size:.85rem;
  color:var(--muted);
}

/* ---------- unsubscribe page ---------- */
.unsubscribe-wrap{
  max-width:780px;
  margin-inline:auto;
}

.unsubscribe-card{
  background:rgba(108,92,231,.06);
  border:1px solid rgba(108,92,231,.2);
  border-radius:18px;
  padding:1.3rem;
  margin-bottom:1.3rem;
  display:flex;
  gap:1rem;
  align-items:center;
}

.unsubscribe-card .em{
  font-size:2.2rem;
}

/* ---------- compact form pages ---------- */
.form-wrap{
  max-width:980px;
  margin-inline:auto;
}

/* ---------- service page spacing ---------- */
.services-page .band{
  scroll-margin-top:110px;
}

/* ---------- small screen polish ---------- */
@media (max-width:575.98px){
  .subpage main > section:first-child{
    padding-top:clamp(6.5rem, 18vw, 8rem);
  }

  .unsubscribe-card{
    align-items:flex-start;
  }
}
/* ============================================================
Homepage helper styles for index.html
Add these to your style.css
=========================================================== */

.z-2 {
  z-index: 2;
}

.hero-badge-dot {
  background: var(--violet);
  box-shadow: none;
}

.plan-help-text {
  font-size: 11px;
  font-weight: 600;
  fill: #8E96C4;
  font-family: var(--font-body);
}

.plan-info .pi-cta.pi-cta-initial-hidden {
  display: none;
}

.about-title {
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  letter-spacing: -0.01em;
}

.about-card-title {
  font-size: 1.1rem;
}

.hl-icon {
  width: 44px;
  height: 44px;
  font-size: 1.2rem;
}

.why-feature-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  width: 60px;
  height: 60px;
  font-size: 1.7rem;
  margin-bottom: 1.2rem;
}

.btn-glass-on-grad {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}

.btn-glass-on-grad:hover {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}

.band-hero-title {
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
}

.band-warranty {
  background: linear-gradient(135deg, #EFEBFF, #E4F4FF);
}

.band-orb-warranty {
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, #DCD5FF, transparent 65%);
  top: -100px;
  right: -80px;
}

.band-insurance {
  background: linear-gradient(135deg, #E0F7F3, #EAF6FF);
}

.band-orb-insurance {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, #C9F0EA, transparent 65%);
  bottom: -110px;
  left: -90px;
}

.band-realestate {
  background: linear-gradient(135deg, #FFF0E6, #FFF6E0);
}

.band-orb-realestate {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, #FFE0C7, transparent 65%);
  top: -90px;
  left: 30%;
}

.band-mortgage {
  background: linear-gradient(135deg, #FFF8DC, #F0EEFF);
}

.band-orb-mortgage {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, #FFEDB0, transparent 65%);
  bottom: -100px;
  right: -80px;
}

.testi {
  background: linear-gradient(180deg, var(--bg), #EFEBFF 60%, var(--bg));
  position: relative;
  overflow: hidden;
}

.testi-orb {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, #FFE7D6, transparent 65%);
  top: 10%;
  right: -140px;
  opacity: 0.4;
}

.contact {
  background: linear-gradient(180deg, var(--bg), var(--bg-2));
}

.contact-channels {
  margin-top: 100px;
}

@media (max-width: 991.98px) {
  .contact-channels {
    margin-top: 0;
  }
}

.nl-unsub-note {
  font-size: 0.84rem;
  color: var(--muted);
}

.privacy-note {
  font-size: 0.76rem;
  color: var(--muted);
  font-weight: 600;
}

.footer .brand-name {
  color: #fff;
}

.footer .brand-name small {
  color: var(--violet-2);
}

.footer-about {
  font-size: 0.9rem;
  color: #B9C1E8;
  max-width: 320px;
}

.footer-sep {
  opacity: 0.4;
}

.legal-intro {
  font-size: 0.85rem;
  color: var(--muted);
}

.unsub-card-text {
  font-size: 0.9rem;
  color: var(--muted);
}

.unsub-consent-label {
  font-size: 0.85rem;
  color: var(--muted);
}

/* Reveal delay utilities */
.d-delay-08 {
  --d: 0.08s;
}

.d-delay-12 {
  --d: 0.12s;
}

.d-delay-15 {
  --d: 0.15s;
}

.d-delay-16 {
  --d: 0.16s;
}

.d-delay-24 {
  --d: 0.24s;
}

.d-delay-32 {
  --d: 0.32s;
}

.d-delay-40 {
  --d: 0.4s;
}

.d-delay-48 {
  --d: 0.48s;
}

/* Refinement patch */
input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

.runway-card,
.t-card {
  will-change: transform;
}