/* ============================================================
   RAMYA · SHARED STYLESHEET
   All pages load this. Liquid glass, forest green, gold.
   ============================================================ */
/* CUSTOM CURSOR (desktop only — js/cursor.js injects the .cursor element) */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion: no-preference){
  *{cursor:none!important;}
  .cursor{position:fixed;pointer-events:none;z-index:99999;top:0;left:0;will-change:transform;}
  .cursor>div{position:absolute;border-radius:50%;top:0;left:0;}
  .cursor-dot{width:10px;height:10px;background:var(--gold);transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(168,133,76,0.9),0 0 2px rgba(255,255,255,0.8);transition:width .2s,height .2s;}
  .cursor-ring{width:38px;height:38px;border:1.6px solid rgba(168,133,76,0.6);transform:translate(-50%,-50%);box-shadow:0 0 16px rgba(168,133,76,0.22),inset 0 0 10px rgba(168,133,76,0.10);transition:width .25s,height .25s,border-color .25s;}
  .cursor-aura{width:84px;height:84px;background:radial-gradient(circle,rgba(168,133,76,0.14),transparent 70%);transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s;}
  body.hovering .cursor-ring{width:56px;height:56px;border-color:rgba(168,133,76,0.85);}
  body.hovering .cursor-aura{width:120px;height:120px;background:radial-gradient(circle,rgba(168,133,76,0.20),transparent 70%);}
  body.hovering .cursor-dot{width:14px;height:14px;}
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1!important;transform:none!important;}
}
:root{
  --bg:#EDE8DE;
  --forest:#1F3A32;--forest-2:#2C4D43;--forest-line:rgba(31,58,50,0.12);
  --gold:#A8854C;--gold-2:#C2A368;--gold-text:#7E6439;--gold-line:rgba(168,133,76,0.30);
  /* Body + subtitle text deliberately dark (near-black forest) for readability
     on the light ivory/sand backgrounds. Headings keep --forest / --gold. */
  --t1:#1A2A24;--t2:rgba(26,42,36,0.90);--t3:rgba(26,42,36,0.80);
  --green:#4A7A5E;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --sh:0 8px 32px rgba(31,58,50,0.09),0 2px 8px rgba(31,58,50,0.05);
  --sh-lg:0 24px 64px rgba(31,58,50,0.15),0 8px 24px rgba(31,58,50,0.08);
  --sh-xl:0 50px 120px rgba(31,58,50,0.24),0 18px 48px rgba(31,58,50,0.12);
  --r:22px;--r-lg:28px;--r-xl:36px;
  --lg-blur:blur(40px) saturate(180%);
  --lg-inset:inset 0 1.5px 0 rgba(255,255,255,0.95),inset 0 -1px 0 rgba(255,255,255,0.08);
}
body{
  background:
    radial-gradient(ellipse 120% 80% at 82% -5%,rgba(194,163,104,0.20),transparent 55%),
    radial-gradient(ellipse 100% 90% at -5% 102%,rgba(31,58,50,0.10),transparent 50%),
    var(--bg);
  background-attachment:fixed;
  color:var(--t1);font-family:var(--sans);font-weight:400;
  overflow-x:hidden;min-height:100vh;
}
/* WASH — gentle continuation of the hero atmosphere across the rest of the page */
.wash{position:fixed;inset:-15%;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 62% 52% at 24% 26%,rgba(219,200,179,0.50),transparent 62%),
    radial-gradient(ellipse 58% 48% at 78% 74%,rgba(31,58,50,0.18),transparent 64%),
    radial-gradient(ellipse 160% 130% at 50% 52%,rgba(219,200,179,0.11),transparent 78%);
  filter:blur(55px);
  animation:washDrift 24s ease-in-out infinite;
  will-change:transform;
}
@keyframes washDrift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(3%,-3%) scale(1.06);}}
@media(max-width:900px){.wash{filter:blur(36px);animation-duration:14s;}}

/* ORBS */
.orbs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);}
.orb-1{top:-10%;right:-6%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(194,163,104,0.28),transparent 65%);animation:orb1 20s ease-in-out infinite;}
.orb-2{bottom:-15%;left:-10%;width:55vw;height:55vw;background:radial-gradient(circle,rgba(31,58,50,0.16),transparent 65%);animation:orb2 26s ease-in-out infinite;}
.orb-3{top:38%;left:48%;width:36vw;height:36vw;background:radial-gradient(circle,rgba(168,133,76,0.14),transparent 65%);animation:orb1 32s ease-in-out infinite reverse;}
@keyframes orb1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-40px,50px) scale(1.05);}}
@keyframes orb2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(50px,-35px) scale(1.03);}}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;z-index:1;}
/* NAV */
.nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:calc(100% - 32px);max-width:1180px;}
.nav-inner{
  background:rgba(255,255,255,0.22);backdrop-filter:blur(48px) saturate(190%);-webkit-backdrop-filter:blur(48px) saturate(190%);
  border:1px solid rgba(255,255,255,0.78);border-top-color:rgba(255,255,255,0.98);border-radius:20px;
  box-shadow:0 8px 40px rgba(31,58,50,0.10),inset 0 1.5px 0 rgba(255,255,255,0.98);
  height:68px;padding:0 14px 0 18px;display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{display:flex;align-items:center;text-decoration:none;height:50px;overflow:visible;}
.nav-logo img{height:48px;width:auto;display:block;object-fit:contain;animation:logoIntro .7s cubic-bezier(.16,.8,.3,1) both;}
@keyframes logoIntro{0%{opacity:0;transform:scale(.85) translateY(-4px);}100%{opacity:1;transform:scale(1) translateY(0);}}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:13px;font-weight:400;color:var(--t2);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--forest);}
.nav-cta{
  background:rgba(31,58,50,0.90);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  color:#fff!important;padding:10px 20px;border-radius:12px;font-size:13px;font-weight:500;
  border:1px solid rgba(255,255,255,0.14);box-shadow:0 4px 16px rgba(31,58,50,0.25),inset 0 1px 0 rgba(255,255,255,0.12);
  transition:all .2s!important;
}
@media(hover:hover){.nav-cta:hover{background:rgba(44,77,67,0.95)!important;transform:translateY(-1px);}}
.nav-cta:active{background:rgba(44,77,67,0.95)!important;transform:scale(.97);}
.nav-signin{
  color:var(--forest)!important;font-weight:500;padding:9px 17px;
  border:1.5px solid var(--forest-line);border-radius:11px;
  transition:all .2s!important;
}
@media(hover:hover){.nav-signin:hover{background:rgba(31,58,50,0.06);border-color:var(--gold-line);}}
.nav-signin:active{transform:scale(.97);background:rgba(31,58,50,0.08);}
.nav-toggle{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:3px;}
.nav-toggle span{display:block;height:2px;width:22px;background:var(--forest);border-radius:2px;transition:.3s;}
.nav-overlay{display:none;position:fixed;inset:0;z-index:99;background:rgba(237,232,222,0.96);backdrop-filter:blur(48px);flex-direction:column;align-items:center;justify-content:center;gap:32px;}
.nav-overlay.open{display:flex;}
.nav-overlay a{font-family:var(--serif);font-size:34px;font-weight:400;color:var(--forest);text-decoration:none;}
.nav-overlay .nav-cta{font-family:var(--sans);font-size:16px;padding:14px 34px;border-radius:14px;}
.nav-overlay .nav-signin{font-family:var(--sans);font-size:15px;padding:12px 26px;border-radius:12px;border-width:1.5px;}
@media(max-width:860px){.nav-links{display:none;}.nav-toggle{display:flex;padding:14px;margin-right:-11px;}}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;border-radius:14px;padding:15px 30px;border:none;transition:transform .2s,box-shadow .25s,background .25s;cursor:pointer;min-height:44px;}
.btn:active{transform:scale(.97);}
.btn-primary{background:rgba(31,58,50,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;border:1px solid rgba(255,255,255,0.14);box-shadow:0 8px 30px rgba(31,58,50,0.28),inset 0 1px 0 rgba(255,255,255,0.12);}
@media(hover:hover){.btn-primary:hover{background:rgba(44,77,67,0.94);transform:translateY(-2px);box-shadow:0 14px 40px rgba(31,58,50,0.35);}}
.btn-primary:active{background:rgba(44,77,67,0.94);}
.btn-glass{background:rgba(255,255,255,0.22);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);color:var(--forest);border:1px solid rgba(255,255,255,0.75);border-top-color:rgba(255,255,255,0.98);box-shadow:0 4px 20px rgba(31,58,50,0.08),inset 0 1.5px 0 rgba(255,255,255,0.98);}
@media(hover:hover){.btn-glass:hover{background:rgba(255,255,255,0.34);transform:translateY(-2px);}}
.btn-glass:active{background:rgba(255,255,255,0.40);}
.btn-gold{background:linear-gradient(145deg,rgba(194,163,104,0.96),rgba(168,133,76,0.96));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;border:1px solid rgba(255,255,255,0.22);box-shadow:0 8px 30px rgba(168,133,76,0.35),inset 0 1px 0 rgba(255,255,255,0.25);}
@media(hover:hover){.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(168,133,76,0.45);}}
.btn-gold:active{box-shadow:0 6px 20px rgba(168,133,76,0.40);}
/* "A First Conversation" call buttons: main label + a small quiet "complimentary" subline inside the button */
.btn-conv{flex-direction:column;gap:1px;line-height:1.14;}
.btn-conv .btn-s{font-size:11px;font-weight:400;letter-spacing:.06em;opacity:.72;}
.btn-block{width:100%;text-align:center;}
.btn-sm{padding:10px 20px;font-size:13px;border-radius:11px;}
/* EYEBROW */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text);margin-bottom:22px;}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--gold-line);}
/* SECTIONS */
.s{padding:100px 0;}.s-tight{padding:64px 0;}.s-sm{padding:48px 0;}
.s-head{font-family:var(--serif);font-size:clamp(36px,4.8vw,56px);font-weight:400;line-height:1.06;color:var(--forest);margin-bottom:18px;}
.s-head em{font-style:italic;color:var(--gold);}
.s-sub{font-size:16px;color:var(--t2);line-height:1.72;max-width:580px;}
.center{text-align:center;}.center .eyebrow{justify-content:center;}.center .s-sub{margin-left:auto;margin-right:auto;}
/* PAGE HERO */
.page-hero{padding:160px 0 72px;text-align:center;position:relative;overflow:hidden;}
/* No opaque fade-to-bg band at the hero bottom any more: it hid the fixed
   .wash across the hero's lower edge while .wash stayed visible in the
   section below, so the wash 'popped' back in at the boundary = a hard
   horizontal seam. The glow/scrim below are instead inset + masked so they
   fade out ABOVE the clipped edge, leaving the hero's lower edge showing the
   same page bg + .wash as the next section = a seamless transition. */
.page-hero .eyebrow{justify-content:center;}
.hero-glow{position:absolute;inset:-15% -10% 26% -10%;z-index:0;pointer-events:none;
  /* box stops at ~74% of the hero (bottom inset) so overflow:hidden never
     clips this blurred layer at the hero's edge (that clip anti-aliased into
     a hairline seam); the mask fades it out softly above that. */
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,rgba(0,0,0,0) 82%);
  mask-image:linear-gradient(to bottom,#000 40%,rgba(0,0,0,0) 82%);
  /* every stop fades to a zero-alpha version of its OWN colour, never the
     keyword `transparent` (= rgba(0,0,0,0)). Fading to `transparent` makes
     the browser interpolate the RGB channels toward black, which is what
     produced the muddy grey/green banding + seams in the wash. Same-colour
     zero-alpha stops interpolate cleanly, so the glow renders as a smooth
     wash. Forest tints are also eased down and the blur raised for softness. */
  background:
    radial-gradient(ellipse 80% 70% at 15% 12%,rgba(219,200,179,0.85),rgba(219,200,179,0) 62%),
    radial-gradient(ellipse 75% 65% at 88% 8%,rgba(31,58,50,0.42),rgba(31,58,50,0) 60%),
    radial-gradient(ellipse 95% 80% at 50% 104%,rgba(31,58,50,0.48),rgba(31,58,50,0) 62%),
    linear-gradient(165deg,rgba(219,200,179,0.45) 0%,rgba(219,200,179,0.10) 38%,rgba(31,58,50,0.12) 70%,rgba(31,58,50,0.34) 100%);
  filter:blur(46px);
  opacity:0;
  animation:heroGlowIntro .8s cubic-bezier(.16,.8,.3,1) both,heroGlowDrift 11s ease-in-out .8s infinite;
  will-change:transform,opacity;
}
.hero-scrim{position:absolute;inset:0 0 26% 0;z-index:0;pointer-events:none;
  /* same treatment as the glow: stop above the clipped edge + soft mask fade */
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,rgba(0,0,0,0) 82%);
  mask-image:linear-gradient(to bottom,#000 40%,rgba(0,0,0,0) 82%);
  background:radial-gradient(ellipse 70% 62% at 50% 40%,rgba(247,243,236,0.80),rgba(247,243,236,0.32) 55%,rgba(247,243,236,0) 74%);
}
@keyframes heroGlowIntro{0%{opacity:0;transform:scale(.90);}100%{opacity:1;transform:scale(1);}}
@keyframes heroGlowDrift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-4%,3%) scale(1.08);}}
@media(max-width:900px){
  .hero-glow{
    filter:blur(40px);animation-duration:.8s,7s;
    background:
      radial-gradient(ellipse 95% 45% at 20% 8%,rgba(219,200,179,0.90),rgba(219,200,179,0) 64%),
      radial-gradient(ellipse 90% 40% at 85% 6%,rgba(31,58,50,0.34),rgba(31,58,50,0) 62%),
      radial-gradient(ellipse 110% 55% at 50% 100%,rgba(31,58,50,0.40),rgba(31,58,50,0) 66%),
      linear-gradient(180deg,rgba(219,200,179,0.45) 0%,rgba(219,200,179,0.14) 30%,rgba(31,58,50,0.14) 62%,rgba(31,58,50,0.34) 100%);
  }
}
.page-title{font-family:var(--serif);font-size:clamp(48px,6vw,80px);font-weight:400;line-height:1.02;letter-spacing:-.018em;color:var(--forest);margin-bottom:20px;}
.page-title em{font-style:italic;color:var(--gold);}
.page-sub{font-size:15.5px;line-height:1.72;color:var(--t2);max-width:560px;margin:0 auto;}
/* GLASS CARDS */
.gcard{background:rgba(255,255,255,0.22);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border:1px solid rgba(255,255,255,0.65);border-top-color:rgba(255,255,255,0.95);border-radius:var(--r-lg);box-shadow:var(--sh),var(--lg-inset);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s ease,box-shadow .35s ease;}
@media(hover:hover){.gcard:hover{transform:translateY(-8px);background:rgba(255,255,255,0.30);box-shadow:var(--sh-lg),var(--lg-inset);}}
.gcard:active{transform:scale(.98);background:rgba(255,255,255,0.30);}
.gcard-dark{background:rgba(31,58,50,0.88);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border:1px solid rgba(255,255,255,0.14);border-top-color:rgba(255,255,255,0.24);border-radius:var(--r-lg);box-shadow:var(--sh-xl),inset 0 1.5px 0 rgba(255,255,255,0.18);}
/* SCARCITY */
.scarcity{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.20);backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border:1px solid rgba(168,133,76,0.32);border-top-color:rgba(255,255,255,0.88);border-radius:40px;padding:9px 18px;font-size:13px;color:var(--gold-text);font-weight:500;box-shadow:0 4px 20px rgba(168,133,76,0.08),inset 0 1.5px 0 rgba(255,255,255,0.88);}
.scarcity-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(168,133,76,.5);}50%{box-shadow:0 0 0 6px rgba(168,133,76,0);}}
/* FOOTER */
.footer{background:rgba(31,58,50,0.92);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-top:1px solid rgba(255,255,255,0.08);color:#fff;padding:60px 0 36px;margin-top:100px;position:relative;overflow:hidden;}
.footer::before{content:'';position:absolute;top:-40%;left:58%;width:42%;height:185%;background:radial-gradient(circle,rgba(194,163,104,0.08),transparent 60%);}
.footer-logo img{height:38px;width:auto;opacity:.80;}
.footer-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:36px;position:relative;}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.52);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:#fff;}
.footer-disc{font-size:12px;color:rgba(255,255,255,.36);line-height:1.72;border-top:1px solid rgba(255,255,255,.08);padding-top:22px;position:relative;}
.footer-copy{font-size:11px;color:rgba(255,255,255,.22);margin-top:9px;}
/* WA BUTTON */
.wa{position:fixed;bottom:calc(26px + env(safe-area-inset-bottom));right:26px;z-index:200;width:58px;height:58px;border-radius:50%;background:rgba(37,211,102,0.90);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid rgba(255,255,255,0.55);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;text-decoration:none;-webkit-tap-highlight-color:transparent;outline-offset:3px;box-shadow:0 12px 36px rgba(37,211,102,0.38),inset 0 1.5px 0 rgba(255,255,255,0.38);transition:transform .2s,box-shadow .2s,background-color .2s;}
.wa:link,.wa:visited{color:#fff;}
.wa:focus-visible{outline:2px solid #1F3A32;}
@media(hover:hover){.wa:hover{transform:scale(1.08);}}
.wa:active{transform:scale(.94);background:rgba(20,153,74,0.95);}
.wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,0.45);animation:wa-pulse 3.6s ease-out infinite;pointer-events:none;z-index:-1;}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55;}70%{transform:scale(1.85);opacity:0;}100%{transform:scale(1.85);opacity:0;}}
/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.16,.8,.3,1),transform .85s cubic-bezier(.16,.8,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
/* gentle stagger for items that reveal together inside a grid */
.diff-grid>.reveal:nth-child(2),.plans-grid>.reveal:nth-child(2),.rev-grid>.reveal:nth-child(2),.mob-stack-2>.reveal:nth-child(2),.pc-grid>.reveal:nth-child(2){transition-delay:.09s;}
.diff-grid>.reveal:nth-child(3),.plans-grid>.reveal:nth-child(3),.rev-grid>.reveal:nth-child(3),.mob-stack-2>.reveal:nth-child(3),.pc-grid>.reveal:nth-child(3){transition-delay:.18s;}
.li{animation:fadeup .6s cubic-bezier(.16,.8,.3,1) both;}
.li2{animation:fadeup .6s cubic-bezier(.16,.8,.3,1) .08s both;}
.li3{animation:fadeup .6s cubic-bezier(.16,.8,.3,1) .16s both;}
.li4{animation:fadeup .6s cubic-bezier(.16,.8,.3,1) .24s both;}
@keyframes fadeup{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
/* FORMS */
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;font-weight:500;color:var(--t3);margin-bottom:6px;letter-spacing:.04em;}
.field input,.field textarea,.field select{width:100%;font-family:var(--sans);font-size:14px;background:rgba(255,255,255,0.55);border:1px solid rgba(255,255,255,0.85);border-radius:13px;padding:13px 16px;outline:none;color:var(--t1);transition:border-color .2s;}
.field input:focus,.field textarea:focus{border-color:rgba(168,133,76,0.48);background:rgba(255,255,255,0.80);}
/* MSG */
.msg{align-items:center;gap:10px;padding:13px 18px;border-radius:12px;font-size:14px;font-weight:500;line-height:1.45;margin-bottom:16px;display:none;}
.msg.show{display:flex;}
.msg::before{flex-shrink:0;font-size:13px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.msg.ok{background:rgba(74,122,94,0.18);color:#1F3A32;border:1.5px solid rgba(74,122,94,0.45);}
.msg.ok::before{content:'\2713';background:var(--green);color:#fff;}
.msg.bad{background:rgba(192,57,43,0.14);color:#7A2E23;border:1.5px solid rgba(192,57,43,0.42);}
.msg.bad::before{content:'\2715';background:#C0392B;color:#fff;}
/* SHARED NAV JS */

/* TABLET/PHONE (≤860px) — header clearance + lighter blur for GPU headroom */
@media(max-width:860px){
  /* any anchor/fragment jump lands with clear space below the fixed nav */
  html{scroll-padding-top:100px;}
  /* fixed nav is more solid on touch devices so scrolling text never
     visually "bleeds" through it while passing underneath */
  .nav-inner{background:rgba(237,232,222,0.88);}
  /* backdrop blur is one of the most expensive effects on mobile GPUs;
     keep the frosted look but shrink the radius so compositing is cheaper */
  .nav-inner,.btn-glass,.gcard,.scarcity{backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);}
  .footer{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
  /* fewer/smaller blurred layers moving at once */
  .orb-3{display:none;}
  .orb-1,.orb-2{width:70vw;height:70vw;filter:blur(50px);}
}

/* MOBILE (phones ~480px and under) — additive only, does not change desktop */
@media(max-width:480px){
  .wrap{padding:0 20px;}
  .page-hero{padding:118px 0 44px;}
  .s{padding:52px 0;}
  .s-tight{padding:40px 0;}
  .s-sm{padding:32px 0;}
  .page-title{margin-bottom:14px;font-size:clamp(36px,9vw,44px);}
  .s-head{font-size:clamp(28px,7.5vw,36px);}
  .page-sub{font-size:14px;}
  .s-sub{font-size:15px;}
  .footer{padding:40px 0 96px;margin-top:56px;}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:20px;}
  .footer-links{gap:12px 18px;}
  /* reserve clear scroll room so the floating WhatsApp button never
     sits on top of the last line of real content */
  body{padding-bottom:80px;}
  .wa{width:50px;height:50px;font-size:20px;bottom:calc(16px + env(safe-area-inset-bottom));right:16px;}
  /* tighten card interiors - desktop padding felt cramped at phone widths.
     Applied as a proportional reduction, not a fixed size, so both small
     feature cards and larger CTA cards keep sensible proportions. */
  .gcard,.gcard-dark{padding:28px 24px!important;}
  /* generic hook: any 2/3-column feature grid still using an inline
     grid-template-columns stacks to one column on phones */
  .mob-stack-2{grid-template-columns:1fr!important;gap:24px!important;}
}

/* error boundary: floating retry banner + inline fallback card */
.ramya-error-banner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:14px;background:rgba(31,58,50,0.94);color:#fff;font:500 13.5px/1.4 var(--sans);padding:13px 16px 13px 18px;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,0.35);max-width:min(420px,calc(100vw - 32px));}
.ramya-error-banner .reb-retry{background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.28);color:#fff;font:500 12px var(--sans);padding:6px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;}
.ramya-error-banner .reb-x{background:none;border:none;color:#fff;padding:2px 4px;font-size:13px;opacity:.7;cursor:pointer;}
.ramya-fallback{text-align:center;padding:40px 24px;}
.ramya-fallback-msg{font-size:14px;color:var(--t2);margin-bottom:16px;line-height:1.6;}
.rzp-fallback{display:none;text-align:center;padding:20px 4px;}
.rzp-fallback p{font-size:13.5px;color:var(--t2);line-height:1.6;margin-bottom:14px;}
.rzp-fallback .btn{margin:0 5px;}
