/* Light theme: white page, saffron and maroon accents, soft saffron bands.
   Layout: full-width bands, content in a 1140px column. Breakpoints at 1024px, 768px and 520px. */
:root{
  --bg:#ffffff;
  --bg-soft:#fff6ea;
  --panel:#ffffff;
  --ink:#2d1a0e;
  --muted:#6b5546;
  --saffron:#e8730c;
  --saffron-dark:#c45f06;
  --maroon:#8b1a1a;
  --red:#c4161c;
  --wa:#1fa855;
  --line:#f0dcc4;
  --shadow:0 6px 22px rgba(139,26,26,.08);
  --display:"Rozha One","Tiro Devanagari Hindi",Georgia,serif;
  --body:"Mukta","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
img{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.18;text-wrap:balance;margin:0;color:var(--maroon)}
p{margin:0}
[hidden]{display:none!important}

.wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{padding-block:72px}
.band.alt{background:var(--bg-soft)}
.trust-band{padding-top:0}
.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron-dark);font-weight:700}
.sec-head{display:grid;gap:10px;max-width:660px;margin-bottom:36px}
.sec-head.flush{margin-bottom:0}
.sec-head h2{font-size:clamp(1.7rem,4vw,2.5rem)}
.sec-head p{color:var(--muted)}

/* top strip: moving ticker line */
.strip{background:linear-gradient(90deg,var(--maroon),var(--red));color:#fff;font-size:.92rem;font-weight:500;overflow:hidden}
.ticker{overflow:hidden;padding-block:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;width:max-content;animation:ticker 40s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-run{display:flex;align-items:center;gap:18px;padding-right:18px;white-space:nowrap}
.ticker-run span:first-child{color:#ffd8a6;font-weight:700}
.ticker-run i{font-style:normal;color:#ffc77a;font-size:.8em}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
  .ticker-run + .ticker-run{display:none}
  .ticker-run{white-space:normal;flex-wrap:wrap;justify-content:center;padding-inline:16px}
  .ticker{-webkit-mask-image:none;mask-image:none}
}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.97);box-shadow:0 2px 14px rgba(139,26,26,.08);border-bottom:3px solid var(--saffron)}
header.site .wrap{display:flex;align-items:center;gap:20px;padding-block:10px;position:relative}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .om{font-family:var(--display);font-size:1.6rem;line-height:1;color:#fff;background:var(--saffron);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none}
.brand span{font-family:var(--display);font-size:1.35rem;color:var(--maroon)}
.brand small{display:block;font-family:var(--body);font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:-2px}
nav.main{display:flex;gap:24px;margin-left:auto}
nav.main a{text-decoration:none;color:var(--ink);font-weight:500;padding-block:4px;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--saffron-dark);border-color:var(--saffron)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:44px;height:42px;padding:10px;cursor:pointer;flex-direction:column;justify-content:space-between}
.menu-btn span{display:block;height:2px;background:var(--maroon);border-radius:2px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:1rem;cursor:pointer;font-family:var(--body);transition:transform .15s,box-shadow .15s;line-height:1.2}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
.btn-call{background:var(--saffron);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.btn-ghost{border-color:var(--saffron);color:var(--saffron-dark);background:#fff}
.btn svg{width:18px;height:18px;flex:none}
.btn-sm{padding:8px 16px;font-size:.9rem}
/* link slot not filled in yet */
.unset{outline:2px dashed var(--red);outline-offset:3px;position:relative}
.unset::after{content:"add link";position:absolute;top:-11px;right:10px;background:var(--red);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 6px;border-radius:4px;line-height:1.6}

/* hero */
.hero{padding-block:56px 72px;background:radial-gradient(ellipse at 80% 20%,#ffe2bf 0%,transparent 55%),linear-gradient(180deg,#fff6ea,#fff)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero .wrap > div{min-width:0}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin-top:12px}
.hero h1 em{font-style:normal;color:var(--saffron)}
.hero .lead{color:var(--muted);font-size:1.1rem;max-width:56ch;margin-top:18px}
.hero .hindi{font-family:var(--display);font-size:1.3rem;color:var(--red);margin-top:14px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .num{margin-top:16px;color:var(--muted);font-size:.95rem}
.hero .num b{color:var(--maroon);font-variant-numeric:tabular-nums;user-select:all}
.kundli{width:100%;max-width:440px;justify-self:center;margin:0}
.kundli svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(232,115,12,.18))}
.kundli figcaption{text-align:center;color:var(--muted);font-size:.85rem;margin-top:8px}
@media (prefers-reduced-motion:no-preference){.ring{animation:spin 120s linear infinite;transform-origin:220px 220px}}
@keyframes spin{to{transform:rotate(360deg)}}

/* trust */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-28px}
.trust div{background:var(--panel);padding:22px 24px;display:grid;gap:4px;border-radius:14px;box-shadow:var(--shadow);border-top:4px solid var(--saffron)}
.trust h3{font-size:1.2rem}
.trust p{color:var(--muted);font-size:.95rem}

/* services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow);min-width:0}
.svc .glyph{font-family:var(--display);font-size:1.4rem;line-height:1;color:#fff;background:linear-gradient(135deg,var(--saffron),var(--red));width:48px;height:48px;border-radius:50%;display:grid;place-items:center}
.svc h3{font-size:1.28rem}
.svc p{color:var(--muted);font-size:.96rem;flex:1}
.svc .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}

/* problems + steps */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.split > div{min-width:0}
.problems{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.problems li{padding:12px 16px 12px 42px;background:var(--bg-soft);border-radius:10px;position:relative}
.problems li::before{content:"✦";position:absolute;left:16px;color:var(--red)}
.steps{display:grid;gap:22px}
.step{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start}
.step .n{font-family:var(--display);font-size:1.6rem;width:52px;height:52px;border-radius:50%;background:var(--saffron);color:#fff;display:grid;place-items:center}
.step h3{font-size:1.25rem}
.step p{color:var(--muted)}
.birth{margin-top:24px;padding:16px 18px;border:1px dashed var(--saffron);border-radius:12px;font-size:.95rem;color:var(--muted);background:#fff}
.birth b{color:var(--maroon)}

/* media slots */
.media{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.slot{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;text-decoration:none;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#8b1a1a,#e8730c);padding:16px;max-width:100%;color:#fff;box-shadow:var(--shadow)}
.slot.yt{aspect-ratio:16/9}
.slot.ig{aspect-ratio:4/5;background:linear-gradient(160deg,#c4161c,#e8730c 60%,#f4b23c)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot img + .play{background:rgba(0,0,0,.25)}
.slot .play{position:absolute;inset:0;display:grid;place-items:center}
.slot .play span{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;border:2px solid rgba(255,255,255,.75)}
.slot .play svg{width:22px;height:22px;fill:#fff;margin-left:3px}
.slot .cap{position:relative;font-weight:700;font-size:.98rem;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slot.yt img ~ .cap,.slot.yt img ~ .sub{z-index:1}
.slot.yt::before{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));z-index:1;pointer-events:none}
.slot.yt .cap,.slot.yt .sub,.slot.yt .play{z-index:2}
.slot .sub{position:relative;font-size:.8rem;opacity:.9}
.slot.unset{outline-color:#fff;outline-offset:-6px}
.slot.unset::after{top:12px;right:12px;background:#fff;color:var(--red)}
.media-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{margin:0;background:var(--panel);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);border-left:4px solid var(--saffron)}
.review p{font-size:1.02rem}
.review cite{display:block;margin-top:8px;color:var(--muted);font-style:normal;font-size:.9rem}

/* faq */
.faq{display:grid;gap:10px;max-width:840px}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 20px}
.faq details[open]{border-color:var(--saffron)}
.faq summary{cursor:pointer;padding:16px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--maroon)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--saffron);font-size:1.4rem;line-height:1;flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{padding-bottom:16px;color:var(--muted)}

/* enquiry */
.enquiry{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
.enquiry > *{min-width:0}
form.card{background:var(--panel);border-radius:16px;padding:26px;display:grid;gap:14px;box-shadow:var(--shadow);border-top:4px solid var(--saffron)}
label{display:grid;gap:6px;font-weight:500;font-size:.95rem}
input,select,textarea{font:inherit;color:var(--ink);background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:11px 13px;width:100%}
textarea{min-height:96px;resize:vertical}
.form-out{font-size:.95rem;color:var(--muted)}
.form-out a{color:var(--wa);font-weight:700}
.contact-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.contact-list li{display:grid;grid-template-columns:110px 1fr;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}
.contact-list span{color:var(--muted);font-size:.9rem}
.contact-list b{font-weight:500;overflow-wrap:anywhere}

/* footer */
footer{background:var(--maroon);color:#fbe9d6;padding-block:48px 110px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer .brand span{color:#fff}
footer .brand small{color:#f3c99b}
footer h3{font-size:1.15rem;color:#ffc77a;margin-bottom:10px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.95rem}
footer .about{margin-top:12px;max-width:42ch;opacity:.9}
footer .social{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
footer .btn-ghost{background:transparent;color:#fff;border-color:#ffc77a}
footer .unset{outline-color:#ffc77a}
footer .fine{margin-top:32px;font-size:.82rem;border-top:1px solid rgba(255,255,255,.2);padding-top:16px;opacity:.85}

/* floating buttons */
.float{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);text-decoration:none;color:#fff}
.float svg{width:28px;height:28px}
.float.wa{right:calc(16px + env(safe-area-inset-right,0px));background:var(--wa)}
.float.call{left:calc(16px + env(safe-area-inset-left,0px));background:var(--saffron)}
.float.unset::after{top:-8px;right:-6px}

/* trust band sits directly above About */
.trust-band{padding-bottom:0}
.sec-head.center{margin-inline:auto;text-align:center}

/* about */
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start}
.about-grid > *{min-width:0}
.about-text{display:grid;gap:16px}
.about-text > p{color:var(--muted);max-width:62ch}
.about-text .quote{font-family:var(--display);font-size:1.2rem;color:var(--red);border-left:4px solid var(--saffron);padding:6px 0 6px 16px;background:var(--bg-soft);border-radius:0 10px 10px 0}
.card-box{background:var(--panel);border-radius:16px;padding:26px;box-shadow:var(--shadow);border-top:4px solid var(--saffron);display:grid;gap:16px}
.card-box h3{font-size:1.4rem}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ticks li{padding-left:30px;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--saffron);color:#fff;font-size:.75rem;display:grid;place-items:center;font-weight:700}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--maroon),var(--red) 55%,var(--saffron));color:#fff}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:44px}
.cta-band .wrap > div:first-child{flex:1 1 480px;min-width:0;display:grid;gap:8px}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.2rem)}
.cta-band p{opacity:.92;max-width:60ch}
.cta-hi{font-family:var(--display);font-size:1.15rem;color:#ffd8a6}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px}
.btn-light{background:#fff;color:var(--maroon)}
.cta-band .unset{outline-color:#fff}
.cta-band .unset::after{background:#fff;color:var(--red)}

/* vedic grid */
.vedic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.vd{background:var(--panel);border-radius:14px;padding:20px 16px;text-align:center;box-shadow:var(--shadow);display:grid;gap:6px;justify-items:center;align-content:start;transition:transform .15s}
.vd:hover{transform:translateY(-3px)}
.vd span{width:54px;height:54px;border-radius:50%;border:2px solid var(--saffron);color:var(--saffron-dark);display:grid;place-items:center;font-size:1.4rem;font-family:var(--display);margin-bottom:4px}
.vd h3{font-size:1.08rem}
.vd p{color:var(--muted);font-size:.88rem;line-height:1.45}

/* online + chips */
.online-list{display:grid;gap:16px}
.online-list > div{padding:14px 18px;border-left:4px solid var(--saffron);background:var(--bg-soft);border-radius:0 12px 12px 0}
.online-list h3{font-size:1.15rem}
.online-list p{color:var(--muted);font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-block;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--saffron);color:var(--maroon);font-weight:500;font-size:.93rem;text-decoration:none;transition:background .15s,color .15s}
.chip:hover{background:var(--saffron);color:#fff}
.chip.unset{outline:none;border-style:dashed}
.chip.unset::after{display:none}

/* privacy note */
.note-band .wrap{padding-block:28px}
.note{background:#fff8e6;border:1px solid #f4d48a;border-radius:12px;padding:16px 20px;color:var(--muted);font-size:.95rem}
.note b{color:var(--maroon)}

/* ================= astrology decoration layer ================= */
/* ornament under section headings: line · ॐ · line */
.sec-head h2::after{content:"ॐ";display:block;width:150px;margin-top:12px;text-align:center;font-size:1.1rem;color:var(--saffron);
  background:linear-gradient(var(--saffron),var(--saffron)) left center/52px 2px no-repeat,linear-gradient(var(--saffron),var(--saffron)) right center/52px 2px no-repeat}
.sec-head.center h2::after{margin-inline:auto}
.cta-band h2::after{display:none}

/* soft star pattern on tinted bands */
.band.alt{background-color:var(--bg-soft);background-image:radial-gradient(rgba(232,115,12,.16) 1.2px,transparent 1.6px),radial-gradient(rgba(139,26,26,.08) 1px,transparent 1.4px);background-size:34px 34px,22px 22px;background-position:0 0,11px 17px}

/* header om glow */
.brand .om{background:radial-gradient(circle at 35% 30%,#ffb54a,var(--saffron) 55%,var(--red));box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(232,115,12,.35),0 0 18px rgba(232,115,12,.45)}

/* buttons: richer call button */
.btn-call{background:linear-gradient(135deg,#f59a23,var(--saffron) 45%,var(--red));box-shadow:0 6px 18px rgba(196,22,28,.25)}
.btn-wa{box-shadow:0 6px 18px rgba(31,168,85,.25)}

/* hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 78% 42%,rgba(255,196,120,.55) 0%,rgba(255,226,191,.35) 22%,transparent 46%),
  radial-gradient(circle at 10% 90%,rgba(196,22,28,.07),transparent 40%),
  linear-gradient(180deg,#fff3e2 0%,#fffaf3 70%,#fff 100%)}
.hero .wrap{position:relative;z-index:1}
.stars{position:absolute;inset:0;pointer-events:none;opacity:.7;background-image:
  radial-gradient(2px 2px at 12% 18%,#e8730c,transparent),radial-gradient(1.5px 1.5px at 30% 70%,#c4161c,transparent),
  radial-gradient(2px 2px at 48% 12%,#d9a400,transparent),radial-gradient(1.5px 1.5px at 62% 82%,#e8730c,transparent),
  radial-gradient(2px 2px at 88% 14%,#c4161c,transparent),radial-gradient(1.5px 1.5px at 94% 66%,#d9a400,transparent),
  radial-gradient(1.5px 1.5px at 6% 52%,#d9a400,transparent),radial-gradient(2px 2px at 40% 40%,#f5b24a,transparent)}
@media (prefers-reduced-motion:no-preference){.stars{animation:twinkle 4s ease-in-out infinite alternate}}
@keyframes twinkle{from{opacity:.35}to{opacity:.85}}
.hero h1{position:relative}
.hero h1 em{background:linear-gradient(90deg,var(--saffron),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.badges{display:flex;flex-wrap:wrap;gap:8px}
.badges span{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;box-shadow:0 2px 8px rgba(139,26,26,.06)}
.badges span:first-child{background:var(--maroon);color:#ffd8a6;border-color:var(--maroon)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0 0}
.stats div{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:12px;padding:12px 10px;text-align:center}
.stats dt{font-family:var(--display);font-size:1.6rem;color:var(--maroon);line-height:1.1}
.stats dd{margin:2px 0 0;font-size:.78rem;color:var(--muted);line-height:1.3}

/* kundli wheel with halo and orbiting planets */
.kundli{position:relative;padding:22px}
.kundli svg{position:relative;z-index:2}
.halo{position:absolute;inset:4%;border-radius:50%;z-index:0;
  background:repeating-conic-gradient(from 0deg,rgba(232,115,12,.16) 0 4deg,transparent 4deg 10deg);
  -webkit-mask:radial-gradient(circle,transparent 46%,#000 47%,#000 70%,transparent 71%);mask:radial-gradient(circle,transparent 46%,#000 47%,#000 70%,transparent 71%)}
.halo::after{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,rgba(255,190,100,.45),transparent 65%)}
.orbit{position:absolute;border-radius:50%;border:1px dashed rgba(232,115,12,.45);z-index:1}
.orbit.o1{inset:-2%}
.orbit.o2{inset:5%;border-color:rgba(139,26,26,.25)}
.orbit.o3{inset:-8%;border-style:dotted;border-color:rgba(217,164,0,.5)}
.orbit b{position:absolute;top:-9px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%}
.p-sun{background:radial-gradient(circle at 35% 35%,#ffe08a,#f59a23 60%,#e8730c);box-shadow:0 0 16px 4px rgba(245,154,35,.6)}
.p-moon{width:13px!important;height:13px!important;top:-6.5px!important;margin-left:-6.5px!important;background:radial-gradient(circle at 35% 35%,#fff,#cfd6e2);box-shadow:0 0 10px 2px rgba(160,175,200,.6)}
.p-mars{width:11px!important;height:11px!important;top:-5.5px!important;margin-left:-5.5px!important;background:radial-gradient(circle at 35% 35%,#ff8a7a,#c4161c);box-shadow:0 0 10px 2px rgba(196,22,28,.45)}
@media (prefers-reduced-motion:no-preference){
  .orbit.o1{animation:spin 26s linear infinite}
  .orbit.o2{animation:spin 18s linear infinite reverse}
  .orbit.o3{animation:spin 40s linear infinite}
  .halo{animation:spin 90s linear infinite reverse}
}

/* trust cards: icon medallion feel */
.trust div{position:relative;overflow:hidden}
.trust div::after{content:"✦";position:absolute;right:14px;top:10px;color:rgba(232,115,12,.25);font-size:2rem}

/* navagraha band */
.graha-band{background:linear-gradient(180deg,#fff,#fff6ea);padding-block:64px 56px}
.graha{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,1fr);gap:12px}
.graha li{display:grid;justify-items:center;gap:4px;text-align:center}
.graha span{--c:#e8730c;font-variant-emoji:text;font-family:"Segoe UI Symbol","Noto Sans Symbols","DejaVu Sans",sans-serif;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;color:#fff;
  background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,#fff),var(--c) 70%);
  box-shadow:0 0 0 3px #fff,0 0 0 4px color-mix(in srgb,var(--c) 45%,transparent),0 8px 18px color-mix(in srgb,var(--c) 30%,transparent);transition:transform .2s}
.graha li:hover span{transform:translateY(-4px) scale(1.05)}
.graha b{font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--maroon);margin-top:6px}
.graha small{font-size:.75rem;color:var(--muted);line-height:1.3}

/* service cards: mandala corner + hover glow */
.svc{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.svc::before{content:"";position:absolute;right:-50px;top:-50px;width:140px;height:140px;border-radius:50%;
  background:repeating-conic-gradient(rgba(232,115,12,.14) 0 6deg,transparent 6deg 15deg);
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 31%);mask:radial-gradient(circle,transparent 30%,#000 31%)}
.svc:hover{transform:translateY(-4px);border-color:var(--saffron);box-shadow:0 14px 30px rgba(196,22,28,.14)}
.svc .glyph{box-shadow:0 0 0 4px #fff,0 0 0 6px rgba(232,115,12,.3);position:relative}
.svc h3{position:relative}

/* vedic tiles */
.vd{border:1px solid var(--line);transition:transform .2s,box-shadow .2s,border-color .2s}
.vd:hover{border-color:var(--saffron);box-shadow:0 12px 26px rgba(196,22,28,.12)}
.vd span{background:radial-gradient(circle,#fff 55%,#ffe7c8)}

/* cta band: mandala watermark */
.cta-band{position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-120px;top:50%;width:420px;height:420px;margin-top:-210px;border-radius:50%;
  background:repeating-conic-gradient(rgba(255,255,255,.12) 0 5deg,transparent 5deg 12deg);
  -webkit-mask:radial-gradient(circle,transparent 25%,#000 26%,#000 68%,transparent 69%);mask:radial-gradient(circle,transparent 25%,#000 26%,#000 68%,transparent 69%)}
.cta-band .wrap{position:relative}
@media (prefers-reduced-motion:no-preference){.cta-band::before{animation:spin 80s linear infinite}}

/* footer: subtle star field */
footer{background:radial-gradient(circle at 85% 10%,rgba(232,115,12,.25),transparent 40%),linear-gradient(180deg,#7a1414,#5c0f0f)}

/* instagram reels: 6 portrait cards */
.reels{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.reel{position:relative;aspect-ratio:9/16;max-width:100%;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:14px;
  background:radial-gradient(circle at 30% 110%,#fdd36b 0%,#f58529 25%,#dd2a7b 55%,#8134af 80%,#515bd4 100%);
  box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(221,42,123,.35),0 12px 26px rgba(129,52,175,.22);transition:transform .2s,box-shadow .2s}
.reel:nth-child(even){background:radial-gradient(circle at 70% -10%,#fdd36b 0%,#f58529 25%,#dd2a7b 55%,#8134af 85%)}
.reel::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 45%,rgba(255,255,255,.08) 0 6deg,transparent 6deg 14deg)}
.reel:hover{transform:translateY(-5px);box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(221,42,123,.6),0 18px 34px rgba(129,52,175,.3)}
.reel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel-img ~ .reel-top,.reel-img ~ .cap,.reel-img ~ .sub{z-index:2}
.reel:has(.reel-img)::before{background:linear-gradient(rgba(0,0,0,.35),transparent 25%,transparent 55%,rgba(0,0,0,.7));z-index:1}
.reel .play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.reel .play span{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;border:2px solid rgba(255,255,255,.8)}
.reel .play svg{width:20px;height:20px;fill:#fff;margin-left:3px}
.reel-top{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700}
.reel-top svg{width:18px;height:18px}
.reel .cap{position:relative;font-weight:700;font-size:.95rem;line-height:1.25;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.reel .sub{position:relative;font-size:.75rem;opacity:.9}
.reel.unset{outline-color:#fff;outline-offset:-7px}
.reel.unset::after{top:40px;right:auto;left:12px;background:#fff;color:#dd2a7b}
.media-cta.center{justify-content:center;margin-top:30px}
.btn-insta{color:#fff;background:linear-gradient(90deg,#f58529,#dd2a7b,#8134af);box-shadow:0 6px 18px rgba(221,42,123,.3)}

/* astrologer photo in hero */
.astro{position:relative;margin:0;justify-self:center;width:100%;max-width:420px;padding:26px 26px 0}
.astro .halo{inset:0 0 auto;aspect-ratio:1;top:0}
.astro .orbit.o1{inset:4px 4px auto;aspect-ratio:1;bottom:auto}
.astro .orbit.o3{inset:-14px -14px auto;aspect-ratio:1;bottom:auto}
.astro-frame{position:relative;z-index:2;border-radius:200px 200px 22px 22px;overflow:hidden;aspect-ratio:760/848;
  border:6px solid #fff;box-shadow:0 0 0 3px var(--saffron),0 0 0 9px rgba(232,115,12,.18),0 24px 50px rgba(139,26,26,.25);background:#f3ece4}
.astro-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.astro-plate{position:relative;z-index:3;margin:-34px auto 0;width:max-content;max-width:100%;display:grid;justify-items:center;gap:2px;text-align:center;
  background:linear-gradient(135deg,var(--maroon),var(--red));color:#fff;padding:10px 22px;border-radius:14px;box-shadow:0 10px 24px rgba(139,26,26,.3);border:2px solid #ffc77a}
.astro-plate b{font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.2}
.astro-plate > span{font-size:.8rem;color:#ffe2bd}

/* love kundli section */
.lk-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:36px;align-items:center}
.lk-grid .vedic-grid{grid-template-columns:repeat(4,1fr)}
.lk-grid .kundli{max-width:420px;justify-self:center}

/* youtube button + subscriber pill */
.btn-yt{background:#e62117;color:#fff;box-shadow:0 6px 18px rgba(230,33,23,.28)}
.subs-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:#fff;border:2px solid #e62117;color:#3a1a12;font-weight:500;box-shadow:var(--shadow)}
.subs-pill b{color:#e62117;font-size:1.15rem}
.media-cta.center{align-items:center}
.services{grid-template-columns:repeat(3,1fr)}

/* service cards with picture header */
.svc{padding:0;gap:0}
.svc::before{display:none}
.svc-art{position:relative;aspect-ratio:200/120;overflow:hidden;background:linear-gradient(135deg,#e8730c,#c4161c)}
.svc-art.tone-1{background:linear-gradient(135deg,#c4161c,#8b1a1a)}
.svc-art.tone-2{background:linear-gradient(135deg,#dd2a7b,#c4161c 70%)}
.svc-art.tone-3{background:linear-gradient(135deg,#8b1a1a,#e8730c)}
.svc-art svg{display:block;width:100%;height:100%;transition:transform .4s}
.svc:hover .svc-art svg,.svc:hover .svc-art img{transform:scale(1.06)}
.svc-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.svc-art.has-photo svg{visibility:hidden}
.svc-art.has-photo::before{content:"";position:absolute;inset:0;z-index:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,transparent 55%,rgba(139,26,26,.45))}
.svc-art::after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#ffd27a,#e8730c,#ffd27a)}
.svc-tag{position:absolute;right:12px;bottom:-22px;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--display);font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--saffron),var(--red));box-shadow:0 0 0 4px #fff,0 6px 14px rgba(139,26,26,.25)}
.svc-art{overflow:visible}
.svc-art svg,.svc-art img{border-radius:14px 14px 0 0}
.svc-art{border-radius:14px 14px 0 0}
.svc-art svg{overflow:hidden}
.svc-body{padding:22px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc-body h3{font-size:1.25rem;padding-right:46px}
.svc-body p{color:var(--muted);font-size:.95rem;flex:1}
.svc-body .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}

/* ---------- laptop / tablet ---------- */
@media (max-width:1024px){
  .services,.media{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:1fr 1fr}
}
/* ---------- tablet / large phone ---------- */
@media (max-width:768px){
  body{font-size:16px}
  .band{padding-block:52px}
  .strip{font-size:.85rem}
  .ticker-track{animation-duration:30s}
  .menu-btn{display:flex}
  .head-wa{display:none}
  .brand{margin-right:auto}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;border-bottom:3px solid var(--saffron);box-shadow:0 10px 20px rgba(0,0,0,.08);padding:6px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}
  nav.main.open{display:flex}
  nav.main a{padding:12px 4px;border-bottom:1px solid var(--line)}
  .hero{padding-block:36px 56px}
  .hero .wrap{grid-template-columns:1fr;gap:28px}
  .hero .wrap > div{text-align:center}
  .hero .lead{margin-inline:auto}
  .hero .ctas{justify-content:center}
  .kundli{max-width:300px}
  .trust{grid-template-columns:1fr;margin-top:0;gap:12px}
  .split,.enquiry{grid-template-columns:1fr;gap:40px}
  footer .cols{grid-template-columns:1fr 1fr}
  footer .cols > div:first-child{grid-column:1/-1}
}
/* ---------- small phone ---------- */
@media (max-width:520px){
  .services,.media,.reviews{grid-template-columns:1fr}
  .hero .ctas .btn{flex:1 1 100%}
  .contact-list li{grid-template-columns:1fr;gap:2px}
  form.card{padding:20px}
  footer .cols{grid-template-columns:1fr}
}

@media (max-width:1024px){
  .vedic-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .about-grid{grid-template-columns:1fr;gap:32px}
  .vedic-grid{grid-template-columns:repeat(2,1fr)}
  .cta-band .wrap{flex-direction:column;align-items:flex-start;padding-block:36px}
  .cta-band .wrap > div:first-child{flex:none}
}
@media (max-width:520px){
  .vedic-grid{gap:10px}
  .vd{padding:16px 10px}
  .cta-btns{width:100%}
  .cta-btns .btn{flex:1 1 140px}
}

@media (max-width:1024px){
  .graha{grid-template-columns:repeat(5,1fr);row-gap:22px}
}
@media (max-width:768px){
  .badges{justify-content:center}
  .stats{grid-template-columns:repeat(2,1fr)}
  .kundli{max-width:320px;padding:18px}
  .graha span{width:56px;height:56px;font-size:1.5rem}
}
@media (max-width:520px){
  .graha{grid-template-columns:repeat(3,1fr)}
  .stats dt{font-size:1.4rem}
  .sec-head h2::after{width:130px;background-size:44px 2px,44px 2px}
}

@media (max-width:1024px){ .reels{grid-template-columns:repeat(3,1fr)} }
@media (max-width:520px){ .reels{grid-template-columns:repeat(2,1fr);gap:14px} .reel .cap{font-size:.85rem} }

@media (max-width:1024px){
  .lk-grid{grid-template-columns:1fr}
  .lk-grid .vedic-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:768px){
  .astro{max-width:300px;padding:18px 18px 0;order:-1}
  .astro-plate b{font-size:1.15rem}
  .lk-grid .vedic-grid{grid-template-columns:repeat(2,1fr)}
  .lk-grid .kundli{max-width:300px}
}

/* =========== top header (call | logo | whatsapp) + menu bar =========== */
header.site{position:relative;top:auto;background:#fff;border-bottom:0;box-shadow:none}
header.site .head-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:14px}
header.site .brand{justify-self:center;margin:0}
.brand .om{width:56px;height:56px;font-size:1.9rem}
header.site .brand span{font-size:1.65rem}
.head-box{display:flex;align-items:center;gap:12px;text-decoration:none;padding:8px 18px 8px 8px;border-radius:999px;border:2px solid var(--line);background:#fff;transition:border-color .15s,box-shadow .15s}
.head-box:hover{box-shadow:var(--shadow)}
.hb-call{justify-self:start}
.hb-wa{justify-self:end}
.hb-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.hb-ic svg{width:22px;height:22px}
.hb-call .hb-ic{background:linear-gradient(135deg,#f59a23,var(--saffron) 45%,var(--red))}
.hb-call:hover{border-color:var(--saffron)}
.hb-wa .hb-ic{background:var(--wa)}
.hb-wa:hover{border-color:var(--wa)}
.hb-tx{display:grid;line-height:1.2}
.hb-tx small{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.hb-tx b{font-size:1.15rem;color:var(--maroon);font-variant-numeric:tabular-nums;white-space:nowrap}
.head-box.unset::after{top:-10px}

.navbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:linear-gradient(90deg,var(--maroon),var(--red) 50%,var(--maroon));box-shadow:0 4px 14px rgba(139,26,26,.25)}
.navbar .wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px}
.navbar nav.main{margin:0;gap:4px;flex-wrap:wrap;justify-content:center}
.navbar nav.main a{color:#fff;padding:13px 16px;border-bottom:0;font-weight:500;letter-spacing:.02em}
.navbar nav.main a:hover{background:rgba(255,255,255,.14);color:#ffd8a6}
.navbar .nav-label{display:none}
.navbar .menu-btn{border-color:rgba(255,255,255,.5)}
.navbar .menu-btn span{background:#fff}

/* =========== banner (top hero) =========== */
.hero.banner{background:
  radial-gradient(circle at 78% 38%,rgba(255,190,100,.45),transparent 42%),
  linear-gradient(120deg,#5c0f0f 0%,var(--maroon) 35%,var(--red) 70%,#e8730c 100%);color:#fff}
.hero.banner .stars{opacity:.9}
.hero.banner h1{color:#fff}
.hero.banner h1 em{background:none;-webkit-background-clip:initial;background-clip:initial;color:#ffd27a}
.hero.banner .hindi{font-family:var(--body);font-weight:500;font-size:1.15rem;color:#ffe2bd;line-height:1.6}
.hero.banner .badges span{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);box-shadow:none}
.hero.banner .badges span:first-child{background:#ffd27a;color:var(--maroon);border-color:#ffd27a}
.banner-q{margin-top:18px;font-weight:700;color:#fff;font-size:1.05rem}
.hero-list{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;max-width:560px}
.hero-list li{position:relative;padding-left:28px;color:#fff;font-size:1rem}
.hero-list li::before{content:"✓";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:#ffd27a;color:var(--maroon);font-size:.72rem;font-weight:700;display:grid;place-items:center}
.hero.banner .btn-call{background:#fff;color:var(--maroon);box-shadow:0 6px 18px rgba(0,0,0,.2)}
.hero.banner .num{color:#ffe2bd}
.hero.banner .num b{color:#fff}
.hero.banner .stats div{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25)}
.hero.banner .stats dt{color:#ffd27a}
.hero.banner .stats dd{color:#ffe2bd}
.hero.banner .unset{outline-color:#fff}
.hero.banner .astro-frame{border-color:#fff;box-shadow:0 0 0 3px #ffd27a,0 0 0 10px rgba(255,210,122,.2),0 24px 50px rgba(0,0,0,.35)}
.hero.banner .astro-plate{background:#fff;color:var(--maroon);border-color:#ffd27a}
.hero.banner .astro-plate > span{color:var(--muted)}

/* ---------- phone / tablet ---------- */
@media (max-width:768px){
  header.site .head-top{grid-template-columns:1fr 1fr;gap:10px;padding-block:12px}
  header.site .brand{grid-column:1/-1;grid-row:1}
  .hb-call,.hb-wa{justify-self:stretch;justify-content:center;padding:6px 10px 6px 6px;gap:8px}
  .hb-ic{width:36px;height:36px}
  .hb-ic svg{width:18px;height:18px}
  .hb-tx small{font-size:.66rem}
  .hb-tx b{font-size:.92rem}
  .brand .om{width:48px;height:48px;font-size:1.6rem}
  header.site .brand span{font-size:1.35rem}
  .navbar .wrap{justify-content:flex-start;gap:10px;min-height:52px}
  .navbar .nav-label{display:block;color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}
  .navbar nav.main{flex-wrap:nowrap}
  .navbar nav.main a{color:var(--ink);padding:12px 4px}
  .navbar nav.main a:hover{background:none;color:var(--saffron-dark)}
  .hero-list{grid-template-columns:1fr;max-width:none;text-align:left;justify-items:start;margin-inline:auto;width:max-content;max-width:100%}
  .banner-q{text-align:center}
}
@media (max-width:420px){
  .hb-tx small{display:none}
  .hb-tx b{font-size:.86rem}
}
@media (max-width:768px){
  .hb-call,.hb-wa{min-width:0}
  .hb-tx{min-width:0}
  .hb-tx b{overflow:hidden;text-overflow:clip}
}
@media (max-width:420px){
  .hb-call,.hb-wa{padding:5px 8px 5px 5px;gap:6px}
  .hb-ic{width:32px;height:32px}
  .hb-tx b{font-size:.82rem}
}

/* ================= simple font for Hindi lines ================= */
.cta-hi{font-family:var(--body);font-weight:500;font-size:1.1rem;line-height:1.6}

/* ================= top bar: badges + yellow scrolling line ================= */
.topbar{background:var(--maroon);padding-block:8px}
.topbar .wrap{display:flex;align-items:center;gap:20px}
.topbar .wrap{max-width:1520px}
.tb-badges{display:flex;align-items:center;background:#fff;border-radius:10px;padding:6px 14px;gap:0;flex:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.tb-badges > span{display:flex;align-items:center;gap:8px;padding:0 14px;border-left:1px solid var(--line)}
.tb-badges > span:first-child{border-left:0;padding-left:0}
.tb-badges > span:last-child{padding-right:0}
.tb-badges b{display:grid;font-size:.9rem;line-height:1.05;color:#2d1a0e;text-transform:uppercase;letter-spacing:.03em}
.tb-badges small{font-size:.66rem;font-weight:700;color:var(--muted)}
.tb-i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;flex:none}
.tb-i.ok{background:#2f9e44;color:#fff;box-shadow:0 0 0 3px #d6f0d9}
.tb-i.num{background:#4a1a12;color:#fff;font-size:.6rem}
.tb-i.smile{background:#f7c22a;color:#7a4b00;font-size:1.2rem}
.tb-marquee{flex:1;min-width:0;background:#ffe418;border-radius:999px;padding-block:9px;-webkit-mask-image:none;mask-image:none;overflow:hidden}
.tb-marquee .ticker-run{color:#5c0f0f;font-weight:700}
.tb-marquee .ticker-run span:first-child{color:#c4161c}
.tb-marquee .ticker-run i{color:#c4161c}

/* ================= main header ================= */
header.site.hdr{background:#fff;border-bottom:3px solid var(--maroon)}
header.site .wrap.hdr-grid{display:grid;grid-template-columns:auto minmax(330px,1fr) auto;align-items:center;gap:28px;padding-block:12px;max-width:1520px}
.hdr-left{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.hdr-wheel{position:relative;width:132px;height:132px;flex:none;display:block}
.hdr-wheel .wheel{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 4px 10px rgba(179,65,14,.35))}
.hdr-wheel .wheel text{font-family:"Segoe UI Symbol","Noto Sans Symbols","DejaVu Sans",sans-serif}
@media (prefers-reduced-motion:no-preference){.hdr-wheel .wheel{animation:spin 60s linear infinite}}
.hdr-wheel img{position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%);border-radius:50%;object-fit:cover;object-position:center 18%;border:3px solid #ffd27a;box-shadow:0 0 0 3px #fff;background:#f3ece4}
.hdr-name{display:grid;justify-items:center;text-align:center;gap:2px;min-width:0}
.hdr-pre{font-family:var(--display);font-size:1.05rem;color:#2d1a0e;border-bottom:2px solid var(--saffron);padding:0 10px 2px}
.hdr-title{font-family:var(--body);font-weight:700;font-size:2.1rem;line-height:1.1;color:#c4161c;letter-spacing:-.01em}
.hdr-ribbon{display:inline-block;background:linear-gradient(90deg,#f5b030,#ffd27a 50%,#f5b030);color:#5c0f0f;font-weight:700;font-family:var(--display);font-size:1.05rem;padding:3px 22px;margin-top:2px;clip-path:polygon(0 50%,12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%)}
.hdr-feats{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;justify-content:center}
.hdr-feats > span{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#2d1a0e;letter-spacing:.02em}
.hdr-feats i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;color:#fff;background:var(--saffron)}
.hdr-feats > span:nth-child(2) i{background:var(--red)}
.hdr-feats > span:nth-child(3) i{background:#2f9e44}

.hdr-mid{text-align:center;display:grid;gap:4px;justify-items:center;min-width:330px}
.hm-1{font-weight:700;font-size:1.25rem;color:#2d1a0e}
.hm-2{font-family:var(--body);font-weight:700;font-size:2rem;line-height:1.2;color:#2d1a0e}
.hm-3{background:linear-gradient(90deg,#5b2a86,#8134af);color:#fff;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.03em;padding:5px 18px;border-radius:999px}
.hm-4{font-family:var(--display);font-size:1.2rem;color:#2d1a0e;font-variant:small-caps;letter-spacing:.04em}

.hdr-right{display:grid;gap:4px;justify-items:start;min-width:0}
.hr-1{font-weight:700;font-size:1.25rem;color:#c4161c;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hr-1 span{background:#ffe418;color:#2d1a0e;font-size:.68rem;padding:2px 7px;border-radius:4px;text-transform:uppercase}
.hr-phone{display:flex;align-items:center;gap:10px}
.hr-ic{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}
.hr-ic svg{width:26px;height:26px}
.hr-ic.wa{background:var(--wa)}
.hr-ic.call{background:#1d1d1d;border-radius:50%}
.hr-num{font-weight:700;font-size:2rem;line-height:1;color:#111;text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.hr-num:hover{color:var(--red)}
.hr-2{font-weight:700;font-size:.85rem;text-transform:uppercase;color:#2d1a0e}
.hr-3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem}
.hr-exp{background:#3a3a3a;color:#ffd27a;border-radius:6px;padding:2px 10px;font-weight:700}
.hr-exp b{color:#fff}
.hr-avail{color:#c4161c;font-weight:700}
.hdr .unset{outline-offset:2px}
.hr-num.unset::after{top:-14px}

/* ---- responsive header ---- */
@media (max-width:1380px){
  .hdr-mid{display:none}
  header.site .wrap.hdr-grid{grid-template-columns:1fr auto}
}
@media (max-width:860px){
  .tb-badges{display:none}
  header.site .wrap.hdr-grid{grid-template-columns:1fr;gap:10px;justify-items:center}
  .hdr-right{justify-items:center;text-align:center}
  .hr-1{justify-content:center;font-size:1.05rem}
  .hr-3{justify-content:center}
}
@media (max-width:520px){
  .topbar{padding-block:6px}
  .tb-marquee{padding-block:7px;font-size:.85rem}
  .hdr-left{gap:10px}
  .hdr-wheel{width:92px;height:92px}
  .hdr-pre{font-size:.82rem;padding:0 6px 1px}
  .hdr-title{font-size:1.45rem}
  .hdr-ribbon{font-size:.8rem;padding:2px 16px}
  .hdr-feats{display:none}
  .hr-1{display:none}
  .hr-num{font-size:1.45rem}
  .hr-ic{width:38px;height:38px}
  .hr-ic svg{width:22px;height:22px}
  .hr-2{font-size:.74rem}
  .hr-3{font-size:.76rem}
}
@media (max-width:370px){
  .hr-num{font-size:1.25rem}
  .hdr-title{font-size:1.3rem}
}

/* ================= love marriage banner (top of page) ================= */
.lm-hero{position:relative;overflow:hidden;color:#fff;padding-block:28px 26px;
  background:radial-gradient(circle at 28% 48%,rgba(255,120,150,.45),transparent 34%),
             radial-gradient(circle at 82% 46%,rgba(255,170,120,.35),transparent 30%),
             linear-gradient(135deg,#7a0a1e 0%,#b3122e 38%,#c8173a 60%,#8e0b24 100%)}
.lm-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:
  radial-gradient(1.6px 1.6px at 18% 22%,#ffd27a,transparent),radial-gradient(1.4px 1.4px at 42% 12%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 58% 78%,#ffd27a,transparent),radial-gradient(1.2px 1.2px at 72% 18%,#fff,transparent),
  radial-gradient(1.6px 1.6px at 90% 70%,#ffd27a,transparent),radial-gradient(1.2px 1.2px at 8% 70%,#fff,transparent),
  radial-gradient(1.4px 1.4px at 36% 60%,#ffd27a,transparent),radial-gradient(1.4px 1.4px at 66% 40%,#fff,transparent)}
.lm-hero::after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#b8761a,#ffe08a,#b8761a)}
.lm-deco{position:absolute;inset:0;pointer-events:none}
.lm-lan{position:absolute;top:-10px;width:34px}
.lm-lan svg{width:100%;height:auto;display:block;filter:drop-shadow(0 0 10px rgba(127,230,242,.55))}
.lm-lan.l1{left:2%}.lm-lan.l2{left:7%;top:-50px;width:28px}
.lm-lan.r1{right:2%}.lm-lan.r2{right:7%;top:-50px;width:28px}
@media (prefers-reduced-motion:no-preference){.lm-lan{animation:sway 5s ease-in-out infinite alternate;transform-origin:top center}.lm-lan.l2,.lm-lan.r2{animation-delay:-2.5s}}
@keyframes sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
.fh{position:absolute;fill:#ff2e63;filter:drop-shadow(0 0 10px rgba(255,80,120,.8));opacity:.9}
.fh.h1{width:34px;left:30%;top:16%}.fh.h2{width:24px;left:33%;top:60%}.fh.h3{width:28px;right:20%;top:10%}
.fh.h4{width:22px;right:26%;top:66%}.fh.h5{width:18px;left:46%;top:6%}
@media (prefers-reduced-motion:no-preference){.fh{animation:floaty 6s ease-in-out infinite alternate}.fh.h2{animation-delay:-2s}.fh.h3{animation-delay:-4s}.fh.h4{animation-delay:-1s}}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-14px)}}

.lm-hero .wrap{position:relative;z-index:1}
.lm-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr) minmax(0,.7fr);gap:20px;align-items:end;max-width:1320px}
.lm-photo{position:relative;margin:0;align-self:end}
.lm-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;
  -webkit-mask-image:radial-gradient(ellipse 72% 78% at 50% 44%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 78% at 50% 44%,#000 62%,transparent 100%)}
.lm-glow{position:absolute;z-index:0;inset:-6% -10% auto;width:120%;fill:none;stroke:rgba(255,160,190,.55);stroke-width:2.2;filter:drop-shadow(0 0 14px rgba(255,120,160,.9))}

.lm-main{display:grid;justify-items:center;text-align:center;gap:14px;padding-bottom:6px;min-width:0}
.lm-title{display:grid;justify-items:center;line-height:.95;margin:0;color:#fff}
.lm-title > span{display:inline-block}
.lm-love{font-family:"Lilita One","Rozha One",sans-serif;font-size:clamp(3rem,7vw,5.6rem);color:#fff;letter-spacing:.01em;
  text-shadow:0 3px 0 #ffd6de,0 6px 0 #9e0d26,0 10px 18px rgba(0,0,0,.35)}
.lm-o{display:inline-block;width:.78em;height:.78em;vertical-align:-.04em;margin:0 .02em}
.lm-o svg{width:100%;height:100%;fill:#e0112b;stroke:#fff;stroke-width:6;filter:drop-shadow(0 4px 0 #9e0d26)}
.lm-gold,.lm-script{background:linear-gradient(180deg,#fffbe0 0%,#ffe37a 35%,#f8b51e 70%,#e08a00 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 3px 0 #8a0e1e) drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.lm-title{grid-template-columns:auto auto;column-gap:.25em;align-items:end}
.lm-gold{font-family:"Lilita One","Rozha One",sans-serif;font-size:clamp(3rem,7vw,5.6rem);letter-spacing:.01em}
.lm-script{grid-column:1/-1;font-family:"Pacifico",cursive;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.25;margin-top:-.15em;padding-inline:.2em}
.lm-script::before,.lm-script::after{content:"";display:inline-block;width:1.4em;height:.12em;border-radius:99px;vertical-align:middle;margin:0 .3em;background:linear-gradient(90deg,transparent,#ffd23f)}
.lm-script::after{transform:scaleX(-1)}
.lm-ribbon{display:flex;align-items:center;gap:12px;padding:9px 26px;border-radius:999px;background:linear-gradient(180deg,#5a0717,#7d0c22);
  border:2px solid #f5c542;box-shadow:0 0 0 4px rgba(245,197,66,.18),0 8px 20px rgba(0,0,0,.25);font-weight:700;font-style:italic;font-size:1.25rem;color:#fff}
.lm-ribbon i{font-style:normal;color:#ffd23f;font-size:1.1em}
.lm-hindi{font-weight:500;font-size:1.05rem;color:#ffe2bd}
.lm-icons{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:640px}
.lm-icons li{border-left:1px solid rgba(245,197,66,.5)}
.lm-icons li:first-child{border-left:0}
.lm-icons a{display:grid;justify-items:center;gap:8px;text-decoration:none;padding:4px 6px;color:#fff}
.lm-ic{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;color:#ffd23f;
  background:radial-gradient(circle at 40% 35%,#a8132e,#5a0717);border:3px solid #f5c542;box-shadow:0 0 0 4px rgba(245,197,66,.2),0 8px 18px rgba(0,0,0,.3);transition:transform .2s}
.lm-ic svg{width:44px;height:44px;fill:currentColor}
.lm-icons a:hover .lm-ic{transform:translateY(-4px) scale(1.05)}
.lm-lb{font-weight:700;font-size:1.02rem;line-height:1.15;text-shadow:0 2px 4px rgba(0,0,0,.3)}
.lm-icons .unset{outline:none}.lm-icons .unset::after{display:none}

.lm-right{position:relative;align-self:end;min-height:260px}
.lm-wheel{position:absolute;right:-10%;top:0;width:100%;opacity:.9}
@media (prefers-reduced-motion:no-preference){.lm-wheel{animation:spin 90s linear infinite}}
.lm-rings{position:relative;z-index:1;display:block;width:100%;margin-top:110px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}

.lm-bar{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:12px 18px;border-radius:16px;
  background:linear-gradient(180deg,#6a0819,#8a0d25);border:2px solid #f5c542;box-shadow:0 0 0 4px rgba(245,197,66,.15),0 10px 24px rgba(0,0,0,.3)}
.lm-name,.lm-phone{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#fffbea,#ffe9b0);border-radius:999px;padding:6px 26px 6px 6px;text-decoration:none;color:#7a0a1e}
.lm-name b,.lm-phone b{font-weight:700;font-size:1.6rem;line-height:1.1;white-space:nowrap}
.lm-phone b{color:#1d1d1d;font-variant-numeric:tabular-nums}
.lm-user{width:48px;height:48px;border-radius:50%;background:#b3122e;color:#fff;display:grid;place-items:center;flex:none}
.lm-user svg{width:26px;height:26px}
.lm-pi{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe37a,#e09a00);color:#7a0a1e;display:grid;place-items:center;flex:none}
.lm-pi svg{width:24px;height:24px}
.lm-div{width:2px;align-self:stretch;background:rgba(245,197,66,.6)}
.lm-wa{display:flex;align-items:center;gap:8px;background:var(--wa);color:#fff;border-radius:999px;padding:12px 20px;text-decoration:none;font-weight:700}
.lm-wa svg{width:22px;height:22px}
.lm-phone:hover b{color:#b3122e}
.lm-bar .unset{outline-color:#fff}

@media (max-width:1100px){
  .lm-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr)}
  .lm-right{display:none}
}
@media (max-width:768px){
  .lm-hero{padding-block:18px 20px}
  .lm-grid{grid-template-columns:1fr;gap:6px;justify-items:center}
  .lm-photo{max-width:250px}
  .lm-lan{width:24px}.lm-lan.l2,.lm-lan.r2{display:none}
  .lm-ribbon{font-size:1rem;padding:8px 16px;gap:8px}
  .lm-ic{width:62px;height:62px}
  .lm-ic svg{width:34px;height:34px}
  .lm-lb{font-size:.85rem}
  .lm-bar{flex-direction:column;gap:10px;padding:12px}
  .lm-div{display:none}
  .lm-name,.lm-phone{width:100%;justify-content:center;padding:5px 18px 5px 5px}
  .lm-name b,.lm-phone b{font-size:1.25rem}
  .lm-user,.lm-pi{width:40px;height:40px}
  .lm-wa{width:100%;justify-content:center}
}
@media (max-width:420px){
  .lm-love,.lm-gold{font-size:2.6rem}
  .lm-script{font-size:2.2rem}
  .lm-ribbon{font-size:.86rem;padding:7px 12px}
  .lm-icons a{padding:2px}
  .lm-ic{width:54px;height:54px}
  .lm-ic svg{width:30px;height:30px}
  .lm-lb{font-size:.74rem}
  .lm-name b,.lm-phone b{font-size:1.1rem}
}
/* photo in gold arch frame */
.lm-photo{padding:14px 8px 0}
.lm-photo img{-webkit-mask-image:none;mask-image:none;border-radius:220px 220px 18px 18px;border:5px solid #ffe08a;
  box-shadow:0 0 0 3px #b8761a,0 0 0 10px rgba(255,210,122,.22),0 0 40px rgba(255,120,160,.55),0 20px 40px rgba(0,0,0,.35);background:#f3ece4;aspect-ratio:760/848;object-fit:cover;object-position:center 20%}
.lm-glow{inset:-2% -8% auto;width:116%}
.lm-ic svg[fill="none"]{fill:none}
/* menu bar now sits at the very top */
.navbar{border-bottom:2px solid #f5c542}
.navbar{z-index:80}
/* simple photo: no arch, no glow */
.lm-photo{padding:0}
.lm-photo img{border-radius:10px;border:0;box-shadow:0 10px 24px rgba(0,0,0,.3);aspect-ratio:auto;object-fit:initial}
.views-pill{border-color:#e8730c}
.views-pill b{color:#e8730c}
footer{padding-bottom:40px}
/* About section: text only, centred column */
.about-grid{grid-template-columns:1fr;max-width:860px}
.about-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
@media (max-width:520px){.about-ctas .btn{flex:1 1 140px}}
/* About section: more compact */
#about{padding-block:40px}
#about .sec-head{gap:6px}
#about .sec-head h2{font-size:clamp(1.35rem,2.6vw,1.8rem)}
#about .sec-head h2::after{margin-top:8px}
#about .about-text{gap:10px}
#about .about-text > p{font-size:.95rem;line-height:1.55}
#about .quote{font-size:1.05rem;padding:4px 0 4px 14px}
#about .about-ctas .btn{padding:10px 20px;font-size:.95rem}
@media (max-width:768px){#about{padding-block:32px}}

/* ================= banner images (replace the coded Love Marriage banner) ================= */
.banner-img{background:#7a0a1e;line-height:0}
.banner-link{display:block;max-width:1600px;margin:0 auto}
.banner-img img{display:block;width:100%;height:auto}
.banner-link.unset{outline:none}.banner-link.unset::after{display:none}
/* two banners: side by side (same height) on laptop, stacked on phone */
.banner-img{padding:12px 0;background:linear-gradient(135deg,#7a0a1e,#b3122e 60%,#8e0b24)}
.banner-row{display:flex;gap:12px;max-width:1600px;margin:0 auto;padding-inline:max(12px,env(safe-area-inset-left,0px))}
.banner-row .banner-link{margin:0;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.bl-wide{flex:2.548 1 0;min-width:0}
.bl-poster{flex:.6667 1 0;min-width:0}
.banner-row img{width:100%;height:auto;display:block}
@media (max-width:860px){
  .banner-row{flex-direction:column;gap:10px;padding-inline:10px}
  .bl-wide,.bl-poster{flex:none;width:100%}
}
/* single poster banner, centred */
.banner-row{justify-content:center}
.bl-poster{flex:0 1 auto;width:min(100%,520px)}
@media (max-width:860px){.bl-poster{width:100%;max-width:560px;margin-inline:auto}}

/* ===== poster banner covers the full screen ===== */
.banner-img{position:relative;overflow:hidden;padding:0;background:#7a0a1e}
.banner-img .bn-blur{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(28px) saturate(1.2) brightness(.8);transform:scale(1.1);pointer-events:none}
.banner-img .banner-row{position:relative;z-index:1;padding:0;max-width:none;gap:0;display:flex;justify-content:center}
.banner-img .bl-poster{width:auto;max-width:100%;border-radius:0;box-shadow:0 0 50px rgba(0,0,0,.45)}
.banner-img .bl-poster img{width:auto;max-width:100%;height:calc(100vh - 50px);height:calc(100svh - 50px);min-height:520px;object-fit:contain}
@media (max-width:860px){
  .banner-img .bl-poster{width:100%;max-width:none;box-shadow:none}
  .banner-img .bl-poster img{width:100%;height:auto;min-height:0}
  .banner-img .bn-blur{display:none}
}
/* poster: full screen width, no blur */
.banner-img .bn-blur{display:none}
.banner-img .bl-poster{width:100%;max-width:none;box-shadow:none}
.banner-img .bl-poster img{width:100%;height:auto;min-height:0;max-width:none}
/* Love Marriage banner under the About section: full width */
.banner-wide-sec{line-height:0;background:#7a0a1e}
.banner-wide-sec .banner-link{display:block;max-width:none}
.banner-wide-sec img{display:block;width:100%;height:auto}

/* ================= customer reviews (YouTube comment screenshots) ================= */
.rv-grid{columns:3 300px;column-gap:16px}
.rv{break-inside:avoid;margin:0 0 16px;border-radius:14px;overflow:hidden;background:#212121;border:3px solid #fff;
  box-shadow:0 0 0 1px var(--line),0 10px 24px rgba(139,26,26,.12);transition:transform .2s,box-shadow .2s}
.rv:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--saffron),0 14px 30px rgba(139,26,26,.18)}
.rv img{display:block;width:100%;height:auto}
@media (max-width:520px){.rv-grid{columns:1}}
section[id]{scroll-margin-top:56px}

/* yellow scrolling line at the very top, badges row below it */
.tb-line{background:#ffe418;border-bottom:2px solid #f5c542}
.tb-line .tb-marquee{border-radius:0;padding-block:9px;background:transparent}
.topbar .wrap{justify-content:center}
.topbar .tb-badges{display:flex}
section[id]{scroll-margin-top:0}
@media (max-width:860px){
  .topbar .tb-badges{display:flex;padding:5px 10px}
  .tb-badges > span{padding:0 8px;gap:6px}
  .tb-badges b{font-size:.74rem}
  .tb-badges small{font-size:.58rem}
  .tb-i{width:24px;height:24px}
  .tb-i.num{font-size:.5rem}
  .tb-i.smile{font-size:1rem}
}
@media (max-width:380px){
  .tb-badges > span{padding:0 5px;gap:4px}
  .tb-badges b{font-size:.68rem}
  .tb-i{width:20px;height:20px}
}
/* bigger text in the yellow scrolling line */
.tb-line .tb-marquee{font-size:1.25rem;padding-block:11px}
.tb-line .ticker-run{gap:22px;padding-right:22px}
@media (max-width:768px){.tb-line .tb-marquee{font-size:1.1rem;padding-block:9px}}
/* bigger badges row */
.topbar{padding-block:10px}
.topbar .tb-badges{padding:9px 20px;border-radius:12px}
.topbar .tb-badges > span{padding:0 20px;gap:10px}
.topbar .tb-badges b{font-size:1.15rem}
.topbar .tb-badges small{font-size:.8rem}
.topbar .tb-i{width:38px;height:38px}
.topbar .tb-i.num{font-size:.72rem}
.topbar .tb-i.smile{font-size:1.5rem}
@media (max-width:860px){
  .topbar .tb-badges{padding:7px 10px}
  .topbar .tb-badges > span{padding:0 9px;gap:6px}
  .topbar .tb-badges b{font-size:.9rem}
  .topbar .tb-badges small{font-size:.66rem}
  .topbar .tb-i{width:30px;height:30px}
  .topbar .tb-i.num{font-size:.58rem}
  .topbar .tb-i.smile{font-size:1.2rem}
}
@media (max-width:400px){
  .topbar .tb-badges{padding:6px 6px}
  .topbar .tb-badges > span{padding:0 6px;gap:5px}
  .topbar .tb-badges b{font-size:.8rem}
  .topbar .tb-badges small{font-size:.6rem}
  .topbar .tb-i{width:26px;height:26px}
  .topbar .tb-i.num{font-size:.52rem}
}
@media (max-width:380px){
  .topbar .tb-badges > span{padding:0 4px;gap:4px}
  .topbar .tb-badges b{font-size:.72rem}
  .topbar .tb-badges small{font-size:.54rem}
  .topbar .tb-i{width:22px;height:22px}
  .topbar .tb-i.num{font-size:.46rem}
  .topbar .tb-i.smile{font-size:.95rem}
}

/* About section centred */
#about .about-grid{margin-inline:auto;max-width:820px}
#about .about-text{text-align:center;justify-items:center}
#about .sec-head{margin-inline:auto;justify-items:center;text-align:center}
#about .sec-head h2::after{margin-inline:auto}
#about .quote{border-left:0;border-radius:10px;padding:8px 16px}

/* Hindi about section below the Love Marriage banner */
.about-hi{padding-block:44px;background:var(--bg-soft)}
.about-hi .sec-head{margin-bottom:16px}
.about-hi .sec-head h2{font-family:var(--body);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.4}
.about-hi .eyebrow{letter-spacing:.04em;font-size:.9rem}
.ah-text{max-width:820px;margin:0 auto;display:grid;gap:12px;justify-items:center;text-align:center}
.ah-text > p{color:var(--muted);font-size:1.02rem;line-height:1.8}
.ah-text b{color:var(--ink)}
.ah-text .quote{font-family:var(--body);font-weight:500;font-size:1.08rem;color:var(--red);background:#fff;border-radius:10px;padding:8px 16px}
.ah-text .about-ctas{justify-content:center}

/* bigger text in English + Hindi About sections */
#about .eyebrow,.about-hi .eyebrow{font-size:1rem}
#about .sec-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
.about-hi .sec-head h2{font-size:clamp(1.6rem,3.2vw,2.25rem)}
#about .about-grid{max-width:900px}
#about .about-text > p{font-size:1.15rem;line-height:1.7}
.ah-text{max-width:900px}
.ah-text > p{font-size:1.18rem;line-height:1.85}
#about .quote,.ah-text .quote{font-size:1.25rem}
@media (max-width:520px){
  #about .about-text > p,.ah-text > p{font-size:1.05rem}
  #about .quote,.ah-text .quote{font-size:1.1rem}
}

/* big YouTube / Instagram labels with icons */
.plat{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:0 auto;font-family:var(--body);font-weight:700;
  font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;letter-spacing:-.01em}
.plat svg{height:1.1em;width:auto;flex:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}
.plat-yt{color:#e62117}
.plat-ig span{background:linear-gradient(90deg,#fa7e1e,#d62976 50%,#4f5bd5);-webkit-background-clip:text;background-clip:text;color:transparent}
#videos .sec-head h2,#reels .sec-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
#videos .sec-head p,#reels .sec-head p{font-size:1.1rem}
#videos .sec-head p.plat,#reels .sec-head p.plat{font-size:clamp(1.9rem,4vw,2.6rem);color:#e62117}
#reels .sec-head p.plat{color:#d62976}

/* "Talk to SR Sastri Ji" image banner with working Call / WhatsApp buttons */
.talk-banner{background:linear-gradient(180deg,#141a4a,#2a0d2e 55%,#6a0819);padding-block:24px;line-height:0}
.tb-wrap{position:relative;max-width:720px;margin:0 auto;padding-inline:0}
.tb-wrap img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.tb-hot{position:absolute;display:block;border-radius:999px}
.tb-all{inset:0;border-radius:12px;z-index:1}
.tb-call{z-index:2;left:21%;top:76.8%;width:33.8%;height:10%}
.tb-wa{z-index:2;left:55.8%;top:76.8%;width:35%;height:10%}
.tb-hot:focus-visible{outline:3px solid #ffd27a;outline-offset:2px}
.tb-call:hover,.tb-wa:hover{box-shadow:0 0 0 3px rgba(255,255,255,.7)}
.talk-banner .unset{outline:none}.talk-banner .unset::after{display:none}
@media (max-width:760px){
  .talk-banner{padding-block:0}
  .tb-wrap img{border-radius:0;box-shadow:none}
  .tb-all{border-radius:0}
}
/* talk banner: full screen width */
.talk-banner{padding-block:0;background:#141a4a}
.tb-wrap{max-width:none}
.tb-wrap img{border-radius:0;box-shadow:none}
.tb-all{border-radius:0}

/* bigger small labels */
#reviews .eyebrow,#about .eyebrow,.about-hi .eyebrow{font-size:clamp(1.15rem,2.2vw,1.5rem);letter-spacing:.08em;color:var(--saffron-dark)}
.about-hi .eyebrow{letter-spacing:.02em}

/* reviews: horizontal auto-scroll */
.rv-scroller{overflow:hidden;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.rv-row{display:flex;align-items:center;gap:18px;width:max-content;padding-block:10px}
.rv-row .rv{flex:none;width:400px;margin:0}
.rv-row.rv-run{animation:rvscroll 60s linear infinite}
.rv-scroller:hover .rv-row{animation-play-state:paused}
@keyframes rvscroll{to{transform:translateX(calc(-50% - 9px))}}
@media (max-width:520px){.rv-row .rv{width:290px}.rv-row.rv-run{animation-duration:45s}}
@media (prefers-reduced-motion:reduce){
  .rv-scroller{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .rv-row.rv-run{animation:none}
}
.rv-row.rv-run{animation-duration:90s}
@media (max-width:520px){.rv-row.rv-run{animation-duration:70s}}
/* tighter Reviews section */
#reviews{padding-block:36px 32px}
#reviews .sec-head{margin-bottom:14px;gap:6px}
#reviews .sec-head h2::after{margin-top:8px}
#reviews .rv-row{padding-block:4px}
#reviews .media-cta{margin-top:14px}
@media (max-width:768px){#reviews{padding-block:28px 24px}}
/* Hindi note below the English note */
.note-band .wrap{display:grid;gap:10px}
.note-hi{font-size:1rem;line-height:1.75}
#services .eyebrow,#marriage .eyebrow{font-size:clamp(1.15rem,2.2vw,1.5rem);letter-spacing:.08em;color:var(--saffron-dark)}
/* 10 YouTube videos: 5 per row on laptop, 2 on tablet, 1 on phone */
#yt-grid{grid-template-columns:repeat(5,1fr);gap:14px}
#yt-grid .slot .cap{font-size:.9rem}
@media (max-width:1100px){#yt-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){#yt-grid{grid-template-columns:1fr}}
/* 10 Instagram reels: 5 per row on laptop/tablet, 2 on phone */
.reels{grid-template-columns:repeat(5,1fr)}
@media (max-width:1024px){.reels{grid-template-columns:repeat(5,1fr);gap:12px}}
@media (max-width:700px){.reels{grid-template-columns:repeat(2,1fr);gap:14px}}

/* ======================= PHONE-FIRST TUNING ======================= */
.swipe-hint{display:none}
@media (max-width:700px){
  body{font-size:16px}
  .band{padding-block:34px}
  .sec-head{margin-bottom:18px}
  .sec-head h2{font-size:1.6rem}
  .sec-head p{font-size:1rem}

  /* swipe rows instead of long stacked lists */
  #yt-grid,#ig-grid,#svc-grid,#marriage-grid{
    display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding:4px max(16px,env(safe-area-inset-left,0px)) 10px;
    scroll-padding-inline:max(16px,env(safe-area-inset-left,0px));scrollbar-width:none}
  #yt-grid::-webkit-scrollbar,#ig-grid::-webkit-scrollbar,#svc-grid::-webkit-scrollbar,#marriage-grid::-webkit-scrollbar{display:none}
  #yt-grid > *,#ig-grid > *,#svc-grid > *,#marriage-grid > *{scroll-snap-align:start}
  #yt-grid > .slot{flex:0 0 84%}
  #ig-grid > .reel{flex:0 0 44%}
  #svc-grid > .svc,#marriage-grid > .svc{flex:0 0 82%}
  .swipe-hint{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:.88rem;font-weight:700;color:var(--saffron-dark)}
  @media (prefers-reduced-motion:no-preference){.swipe-hint span{display:inline-block;animation:nudge 1.4s ease-in-out infinite}}
  @keyframes nudge{50%{transform:translateX(5px)}}

  /* bigger, easier tap targets */
  .btn{min-height:46px}
  .btn-sm{min-height:44px;padding:10px 16px;font-size:.95rem}
  .svc-body .row .btn{flex:1 1 auto}
  .media-cta .btn,.about-ctas .btn{width:100%;max-width:360px}
  .subs-pill{flex:1 1 140px;justify-content:center}

  /* form: 16px text stops iPhone zooming in */
  input,select,textarea{font-size:16px;padding:13px 14px}
  form.card{padding:18px}
  #contact .sec-head h2{font-size:1.5rem}

  /* notes + footer more compact */
  .note-band .wrap{padding-block:20px}
  .note{padding:14px 16px;font-size:.95rem}
  footer{padding-block:32px 28px}
  footer .cols{gap:22px}
  footer ul{gap:4px;font-size:.92rem}
}
.subs-pill b{white-space:nowrap}
@media (max-width:700px){.subs-pill{padding:10px 12px;font-size:.95rem}}

/* badges row: full screen width, three equal parts */
.topbar{padding:0;background:#fff;border-bottom:3px solid var(--maroon)}
.topbar .wrap{max-width:none;padding:0}
.topbar .tb-badges{width:100%;display:grid;grid-template-columns:repeat(3,1fr);border-radius:0;box-shadow:none;padding:12px max(16px,env(safe-area-inset-left,0px))}
.topbar .tb-badges > span{justify-content:center;padding:0 10px}
.topbar .tb-badges > span:first-child{padding-left:10px}
.topbar .tb-badges > span:last-child{padding-right:10px}
@media (max-width:860px){.topbar .tb-badges{padding:9px 6px}.topbar .tb-badges > span,.topbar .tb-badges > span:first-child,.topbar .tb-badges > span:last-child{padding:0 4px}}
@media (max-width:400px){.topbar .tb-badges{padding:8px 2px}.topbar .tb-badges > span{flex-direction:column;gap:3px;text-align:center}.topbar .tb-badges b{justify-items:center}}
/* badges: bigger text, less space */
.topbar .tb-badges{padding-block:5px}
.topbar .tb-badges > span{gap:10px}
.topbar .tb-badges b{font-size:1.4rem;line-height:1.05}
.topbar .tb-badges small{font-size:.9rem}
.topbar .tb-i{width:42px;height:42px}
.topbar .tb-i.num{font-size:.78rem}
.topbar .tb-i.smile{font-size:1.65rem}
@media (max-width:860px){
  .topbar .tb-badges{padding:4px 4px}
  .topbar .tb-badges > span{gap:6px}
  .topbar .tb-badges b{font-size:1.05rem}
  .topbar .tb-badges small{font-size:.72rem}
  .topbar .tb-i{width:32px;height:32px}
  .topbar .tb-i.num{font-size:.6rem}
}
@media (max-width:400px){
  .topbar .tb-badges{padding:4px 2px}
  .topbar .tb-badges > span{gap:2px}
  .topbar .tb-badges b{font-size:1rem}
  .topbar .tb-badges small{font-size:.68rem}
  .topbar .tb-i{width:28px;height:28px}
}

/* About (English + Hindi): bigger text, English heading in capitals */
#about .sec-head h2{text-transform:uppercase;font-family:var(--body);font-weight:700;letter-spacing:.01em;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.2}
.about-hi .sec-head h2{font-size:clamp(1.8rem,3.8vw,2.7rem);line-height:1.35}
#about .eyebrow,.about-hi .eyebrow{font-size:clamp(1.3rem,2.6vw,1.75rem)}
#about .about-grid,.ah-text{max-width:980px}
#about .about-text > p{font-size:1.35rem;line-height:1.7}
.ah-text > p{font-size:1.4rem;line-height:1.85}
#about .quote,.ah-text .quote{font-size:1.4rem}
@media (max-width:700px){
  #about .sec-head h2{font-size:1.45rem}
  .about-hi .sec-head h2{font-size:1.6rem}
  #about .eyebrow,.about-hi .eyebrow{font-size:1.2rem}
  #about .about-text > p{font-size:1.15rem}
  .ah-text > p{font-size:1.2rem}
  #about .quote,.ah-text .quote{font-size:1.2rem}
}
/* About (English): even bigger text */
#about .eyebrow{font-size:clamp(1.5rem,3vw,2.1rem)}
#about .sec-head h2{font-size:clamp(1.85rem,4.4vw,3.2rem)}
#about .about-grid{max-width:1080px}
#about .about-text > p{font-size:1.6rem;line-height:1.65}
#about .quote{font-size:1.55rem}
/* Hindi section kept in step */
.about-hi .eyebrow{font-size:clamp(1.5rem,3vw,2.1rem)}
.about-hi .sec-head h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.ah-text{max-width:1080px}
.ah-text > p{font-size:1.6rem;line-height:1.8}
.ah-text .quote{font-size:1.55rem}
@media (max-width:700px){
  #about .eyebrow,.about-hi .eyebrow{font-size:1.35rem}
  #about .sec-head h2{font-size:1.7rem}
  .about-hi .sec-head h2{font-size:1.85rem}
  #about .about-text > p,.ah-text > p{font-size:1.3rem}
  #about .quote,.ah-text .quote{font-size:1.3rem}
}

/* ===== PHONE: grids instead of swipe rows ===== */
@media (max-width:700px){
  .swipe-hint{display:none}
  #yt-grid,#ig-grid,#svc-grid,#marriage-grid{display:grid;overflow:visible;margin-inline:0;padding:0;scroll-snap-type:none}
  #yt-grid > *,#ig-grid > *,#svc-grid > *,#marriage-grid > *{flex:none;width:auto}
  /* YouTube: 1 per row */
  #yt-grid{grid-template-columns:1fr;gap:12px}
  /* Instagram: 2 per row */
  #ig-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  /* Love + Marriage solutions: 2 per row, compact cards */
  #svc-grid,#marriage-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  #svc-grid .svc-tag,#marriage-grid .svc-tag{width:34px;height:34px;font-size:1rem;right:8px;bottom:-17px;box-shadow:0 0 0 3px #fff}
  #svc-grid .svc-body,#marriage-grid .svc-body{padding:14px 10px 12px;gap:6px}
  #svc-grid .svc-body h3,#marriage-grid .svc-body h3{font-size:1.02rem;line-height:1.25;padding-right:22px}
  #svc-grid .svc-body p,#marriage-grid .svc-body p{font-size:.82rem;line-height:1.45}
  #svc-grid .svc-body .row,#marriage-grid .svc-body .row{flex-direction:column;gap:6px;margin-top:4px}
  #svc-grid .svc-body .row .btn,#marriage-grid .svc-body .row .btn{width:100%;min-height:40px;padding:8px 6px;font-size:.85rem}
}
/* easy-to-read font for the Hindi line in the English About section */
#about .quote{font-family:var(--body);font-weight:500;line-height:1.6;letter-spacing:0}
/* YouTube section: its own background so it stands apart from the cream section above */
#videos{background:linear-gradient(180deg,#ffe9e9 0%,#fff5f5 55%,#ffffff 100%);background-image:linear-gradient(180deg,#ffe9e9 0%,#fff5f5 55%,#ffffff 100%);border-top:4px solid #e62117}

/* YouTube: dark (like YouTube's dark mode) — Instagram: light blue-violet. No pink. */
#videos{background:#141414;background-image:linear-gradient(180deg,#0f0f0f 0%,#1c1c1c 100%);border-top:4px solid #e62117}
#videos .sec-head h2{color:#ffffff}
#videos .sec-head p:not(.plat){color:#c9c9c9}
#videos .slot{box-shadow:0 8px 22px rgba(0,0,0,.5)}
#videos .subs-pill{background:#262626;color:#f1f1f1;border-color:#e62117;box-shadow:none}
#videos .views-pill{border-color:#e8730c}

#reels{background:#eef1ff;background-image:linear-gradient(180deg,#e9edff 0%,#f6f7ff 100%);border-top:4px solid #4f5bd5}
#reels .sec-head h2{color:#2b2f6b}
#reels .sec-head p:not(.plat){color:#4b4f7a}

/* YouTube: light mint background, no lines between sections */
#videos{background:#eaf7f0;background-image:linear-gradient(180deg,#e6f5ed 0%,#f2fbf6 100%);border-top:0}
#videos .sec-head h2{color:var(--maroon)}
#videos .sec-head p:not(.plat){color:var(--muted)}
#videos .slot{box-shadow:var(--shadow)}
#videos .subs-pill{background:#fff;color:#3a1a12;border-color:#e62117;box-shadow:var(--shadow)}
#videos .views-pill{border-color:#e8730c}
#reels{border-top:0}
/* YouTube section: plain white */
#videos{background:#ffffff;background-image:none}
/* floating Call (left) + WhatsApp (right) buttons */
.float{z-index:90;width:60px;height:60px}
.float.wa{box-shadow:0 6px 20px rgba(31,168,85,.45)}
.float.call{box-shadow:0 6px 20px rgba(232,115,12,.45)}
@media (prefers-reduced-motion:no-preference){.float.wa{animation:pulse 2.2s ease-out infinite}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,168,85,.55),0 6px 20px rgba(31,168,85,.45)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0),0 6px 20px rgba(31,168,85,.45)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0),0 6px 20px rgba(31,168,85,.45)}}
footer{padding-bottom:100px}
@media (max-width:700px){.float{width:56px;height:56px}footer{padding-bottom:96px}}
/* floating Call button pulses like the WhatsApp one */
@media (prefers-reduced-motion:no-preference){.float.call{animation:pulseCall 2.2s ease-out infinite}}
@keyframes pulseCall{0%{box-shadow:0 0 0 0 rgba(232,115,12,.6),0 6px 20px rgba(232,115,12,.45)}70%{box-shadow:0 0 0 16px rgba(232,115,12,0),0 6px 20px rgba(232,115,12,.45)}100%{box-shadow:0 0 0 0 rgba(232,115,12,0),0 6px 20px rgba(232,115,12,.45)}}
