/* ===== Rudram Clinic — shared styles (tokens, header, footer, buttons) ===== */
:root{--ivory:#f5f7ff;--paper:#ffffff;--mint:#eaf0ff;--green:#173eaa;--deep:#071b55;--gold:#e6323e;--gold-l:#ff8991;--ink:#111c3d;--mu:#5c657d;--ln:rgba(23,62,170,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope','Noto Sans Gujarati',system-ui,sans-serif;--e:cubic-bezier(.16,1,.3,1);--arc:clamp(32px,5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font:400 16px/1.7 var(--sans);color:var(--ink);background:var(--ivory);overflow-x:clip}
img,video{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{width:min(1360px,100% - 64px);margin-inline:auto;position:relative;z-index:2}
section{position:relative;padding:70px 0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.02;letter-spacing:-.015em;text-wrap:balance}
h2{font-size:clamp(30px,3.6vw,52px);margin-bottom:16px}
.lead{color:var(--mu);max-width:54ch;font-size:17px;line-height:1.65}
.kick{display:block;font:700 12px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.gu{font-family:'Noto Sans Gujarati',var(--sans)}
.ghost{display:none}
.arc{border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:3}
.dk{background:var(--deep);color:#d4e6de}.dk h2,.dk h3{color:#fff}.dk .lead{color:#a9c6bb}
/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border-radius:999px;font:700 14px var(--sans);letter-spacing:.02em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;overflow:hidden;transition:background .4s var(--e),color .4s,border-color .4s,box-shadow .4s,translate .4s}
.btn::after{content:"\2192";transition:transform .4s var(--e)}.btn:hover::after{transform:translateX(6px)}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .8s var(--e)}
.btn:hover::before{left:130%}
.btn:active{scale:.96}
.btn-gold{background:var(--gold);color:#1a1405;box-shadow:0 14px 34px rgba(196,161,90,.4)}.btn-gold:hover{background:var(--gold-l)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--deep)}
.btn-line{border-color:currentColor;color:var(--green)}.btn-line:hover{background:var(--green);border-color:var(--green);color:#fff}
.dk .btn-line{color:#fff}.dk .btn-line:hover{background:#fff;color:var(--deep);border-color:#fff}
.btn-wa{background:#25a244;color:#fff;box-shadow:0 14px 30px rgba(37,162,68,.35)}.btn-wa:hover{background:#1e8a39}.btn-wa::after{content:none}
.btn-wa svg{width:20px;height:20px;fill:currentColor;flex:none}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.sec-head{margin-bottom:34px;position:relative;z-index:2}
.more{display:flex;justify-content:center;margin-top:36px;position:relative;z-index:2}
/* cursor spotlight (shared by interactive cards) */
.spl::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--sx,50%) var(--sy,0),rgba(196,161,90,.24),transparent 60%);opacity:0;transition:opacity .6s;pointer-events:none;z-index:0}
.spl:hover::before{opacity:1}
.spl>*{position:relative;z-index:1}
/* progress / top */
.progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),#3ddc84);transform:scaleX(0);transform-origin:0;z-index:100;pointer-events:none}
.top{background:var(--deep);color:#b7d2c8;font-size:13.5px;position:relative;z-index:60}
.top .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0;flex-wrap:wrap;align-items:center}
.top a{color:#fff;font-weight:700;text-decoration:none}
.tinfo{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.tinfo span{display:inline-flex;align-items:center;gap:8px}
.tinfo svg{width:15px;height:15px;color:var(--gold-l)}
.tsoc{display:flex;align-items:center;gap:10px}
.tsoc a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;transition:background .4s var(--e),border-color .4s,color .4s,transform .5s var(--e)}
.tsoc a svg{width:16px;height:16px;fill:currentColor;display:block}
.tsoc a:hover{background:var(--gold);border-color:var(--gold);color:#1a1405;transform:translateY(-3px)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold-l);flex:none;box-shadow:0 0 0 4px rgba(230,207,152,.25)}
.dot.on{background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.28)}
/* ===== HEADER: floating pill + dropdowns ===== */
header.nav{position:sticky;top:14px;z-index:70;margin-top:14px;pointer-events:none}
.nav .wrap{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;height:98px;padding:0 22px 0 26px;width:min(1280px,100% - 40px);border-radius:999px;background:rgba(251,248,242,.88);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:0 14px 40px rgba(6,36,30,.12);transition:height .5s var(--e),box-shadow .5s}
header.nav.sm .wrap{height:80px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none;min-width:0}
.brand img{flex:none;width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--gold);box-shadow:0 8px 20px rgba(6,36,30,.18);transition:width .5s var(--e),height .5s var(--e),transform .6s var(--e);background:#fff}
.nav.sm .brand img{width:62px;height:62px}.brand:hover img{transform:scale(1.04)}
.brand-t{display:flex;flex-direction:column;gap:3px;line-height:1.2;min-width:0}
.brand-t b{font:600 25px/1.1 var(--serif);letter-spacing:-.01em;color:var(--green)}
.brand-t small{font:600 12px var(--sans);letter-spacing:.03em;color:var(--mu)}
.nav ul{position:relative;display:flex;gap:4px;list-style:none}
.nav ul a{position:relative;z-index:1;display:block;padding:9px 15px;font:600 14px var(--sans);text-decoration:none;white-space:nowrap;color:var(--mu);border-radius:999px;transition:color .3s,background .3s}
.nav ul a:hover,.nav ul a.act{color:var(--green)}
.nav.pg ul>li>a.act{background:var(--mint)}
.ind{position:absolute;z-index:0;top:50%;height:36px;margin-top:-18px;border-radius:999px;background:var(--mint);left:0;width:0;opacity:0;transition:left .5s var(--e),width .5s var(--e),opacity .3s}
.nav li.m-only{display:none}
.nav li.dd{position:relative}
.dd-t::after{content:"";display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 8px;transition:transform .4s var(--e)}
.nav ul.sub{list-style:none}
.nav ul.sub a{display:block;padding:11px 16px;border-radius:12px;font:600 14.5px var(--sans);color:var(--ink);white-space:nowrap}
.nav ul.sub a:hover,.nav ul.sub a.cur{background:var(--mint);color:var(--green)}
.nav ul.sub li.all a{color:var(--green);border-top:1px solid var(--ln);border-radius:0 0 12px 12px;margin-top:4px}
.nav-call{display:none}
.burger{display:none;position:relative;flex:none;width:46px;height:46px;min-width:46px;padding:0;border-radius:50%;border:1px solid var(--ln);background:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(6,36,30,.08);-webkit-tap-highlight-color:transparent}
.burger span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:var(--green);transition:top .45s var(--e),transform .45s var(--e),opacity .25s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}
@media(min-width:1061px){
 .nav ul.sub{position:absolute;top:100%;left:50%;margin-top:22px;min-width:270px;display:block;padding:10px;border-radius:22px;background:rgba(251,248,242,.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--ln);box-shadow:0 30px 60px rgba(6,36,30,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px);transition:opacity .35s var(--e),transform .5s var(--e),visibility 0s .35s;z-index:5;max-height:calc(100vh - 160px);overflow-y:auto}
 .nav ul.sub::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
 .dd:hover>.sub,.dd:focus-within>.sub,.dd.open>.sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
 .dd:hover>.dd-t,.dd.open>.dd-t{color:var(--green)}
 .dd:hover>.dd-t::after{transform:rotate(225deg)}
}
@media(min-width:1061px) and (max-width:1260px){
 .nav>.wrap>.btn:not(.nav-call){display:none}
 .nav-call{display:inline-flex;margin-left:0}
 .nav ul a{padding:9px 11px}
 .brand-t small{display:none}
}
@media(max-width:1060px){
 .nav .wrap{height:80px;gap:10px;padding:0 14px 0 16px;width:min(1280px,100% - 28px)}
 header.nav.sm .wrap{height:70px}
 .nav>.wrap>.btn:not(.nav-call){display:none}
 .nav-call{display:inline-flex;margin-left:0;padding:10px 20px;flex:none}
 .burger{display:block}
 .ind{display:none}
 .brand{flex:1 1 auto;gap:12px}
 .brand img{width:58px;height:58px}.nav.sm .brand img{width:50px;height:50px}
 .brand-t b{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .brand-t small{font-size:11.5px;line-height:1.3}
 .nav ul{position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;gap:2px;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(251,248,242,.98);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--ln);border-radius:26px;padding:10px;box-shadow:0 30px 60px rgba(6,36,30,.22);opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);pointer-events:none;transition:opacity .35s var(--e),transform .45s var(--e),visibility 0s .35s}
 .nav ul.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
 .nav ul a{padding:14px 18px;font-size:16px;border-radius:14px;white-space:normal}
 .nav ul>li>a.act{background:var(--mint);color:var(--green)}
 .dd-t{display:flex;align-items:center;justify-content:space-between}
 .dd-t::after{margin:0 4px 3px 8px}
 .dd.open>.dd-t::after{transform:rotate(225deg)}
 .nav ul.sub{position:static;display:none;flex-direction:column;gap:0;min-width:0;max-height:none;overflow:visible;margin:0 0 6px 14px;padding:0 0 0 12px;background:none;border:0;border-left:2px solid var(--mint);border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:none}
 .nav .dd.open>.sub{display:flex}
 .nav ul.sub a{padding:12px 14px;font-size:15px;color:var(--mu)}
 .nav li.m-only{display:block}
 .nav ul .m-cta{margin-top:6px;padding-top:10px;border-top:1px solid var(--ln);display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .nav ul .m-cta a{text-align:center;padding:13px 10px;font-weight:700;font-size:15px}
 .nav ul .m-cta .m-book{background:var(--gold);color:#1a1405}
 .nav ul .m-cta .m-call{background:var(--green);color:#fff}
}
@media(max-width:520px){
 header.nav{top:10px;margin-top:10px}
 .nav .wrap{height:70px;padding:0 10px 0 12px;width:calc(100% - 20px)}
 header.nav.sm .wrap{height:62px}
 .nav-call{display:none}
 .brand{gap:10px}
 .brand img{width:50px;height:50px}.nav.sm .brand img{width:44px;height:44px}
 .brand-t{gap:2px}
 .brand-t b{font-size:19px}
 .brand-t small{font-size:10.5px;letter-spacing:.01em}
 .nav ul{top:calc(100% + 8px);max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);border-radius:22px}
}
@media(max-width:360px){.brand img{width:44px;height:44px}.brand-t b{font-size:17px}.brand-t small{font-size:10px}}
/* ===== shared cards: conditions (.dc) and blog (.bc) ===== */
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:2}
.dc{position:relative;display:flex;flex-direction:column;padding:26px 24px 22px;border-radius:24px;background:var(--paper);border:1px solid var(--ln);overflow:hidden;text-decoration:none;transition:translate .7s var(--e),box-shadow .7s var(--e),background .5s,border-color .5s,color .5s,opacity 1.1s var(--e) var(--d,0s),transform 1.1s var(--e) var(--d,0s)}
.dc .tg{align-self:flex-start;padding:5px 12px;border-radius:999px;background:var(--mint);font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:20px;transition:background .4s,color .4s}
.dc h3{font-size:clamp(21px,1.9vw,27px);line-height:1.12;color:var(--green);margin-bottom:10px;transition:color .4s,transform .6s var(--e)}
.dc p{color:var(--mu);font-size:15px;line-height:1.6;transition:color .4s}
.dc::after{content:"\2192";margin-top:auto;padding-top:18px;align-self:flex-end;color:var(--gold);font-size:20px;transition:transform .6s var(--e)}
.dc:hover{translate:0 -6px;background:var(--green);border-color:var(--green);box-shadow:0 30px 60px rgba(6,36,30,.2)}
.dc:hover h3{color:#fff;transform:translateX(4px)}.dc:hover p{color:#b9d6cb}.dc:hover .tg{background:var(--gold);color:#1a1405}.dc:hover::after{transform:translateX(6px) rotate(-45deg)}
@media(max-width:960px){.dgrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.dgrid{grid-template-columns:1fr}}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2}
.bc{position:relative;display:flex;flex-direction:column;border-radius:26px;background:#fff;border:1px solid var(--ln);overflow:hidden;text-decoration:none;transition:translate .7s var(--e),box-shadow .7s var(--e),border-color .5s,opacity 1.1s var(--e) var(--d,0s),transform 1.1s var(--e) var(--d,0s)}
.bc:hover{translate:0 -8px;box-shadow:0 34px 70px rgba(6,36,30,.16);border-color:rgba(196,161,90,.6)}
.bc .bimg{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--mint)}
.bc .bimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}.bc:hover .bimg img{transform:scale(1.06)}
.bc .bcat{position:absolute;left:14px;top:14px;padding:6px 13px;border-radius:999px;background:rgba(251,248,242,.95);font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.bc .bbody{display:flex;flex-direction:column;flex:1;padding:22px 24px 22px}
.bc .bmeta{font:600 12.5px var(--sans);color:var(--mu);margin-bottom:10px;letter-spacing:.02em}
.bc h3{font-size:clamp(22px,1.9vw,27px);line-height:1.12;color:var(--green);margin-bottom:10px;transition:color .4s}
.bc p{color:var(--mu);font-size:15px;line-height:1.6;margin-bottom:16px}
.bc .rm{margin-top:auto;font:700 13.5px var(--sans);color:var(--ink);display:inline-flex;align-items:center;gap:10px}
.bc .rm::after{content:"\2192";display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid currentColor;transition:transform .5s var(--e),background .4s,border-color .4s}
.bc:hover .rm::after{transform:translateX(6px) rotate(-45deg);background:var(--gold);border-color:var(--gold);color:#1a1405}
@media(max-width:960px){.bgrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.bgrid{grid-template-columns:1fr}}
/* form notes (appointment forms) */
.fnote{margin-top:12px;text-align:center;font-size:13px;color:var(--mu);line-height:1.5}
.fnote.ok{color:#1e8a39;font-weight:700}.fnote.bad{color:#c0392b;font-weight:700}
.fnote a{color:inherit}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* ===== footer ===== */
.ft{background:var(--deep);color:#b6d1c6;font-size:14.5px;position:relative;overflow:hidden;border-radius:var(--arc) var(--arc) 0 0;margin-top:calc(var(--arc) * -1);z-index:20}
.ft::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 100% 0,rgba(196,161,90,.2),transparent 60%)}
.ftop{display:flex;justify-content:center;padding:calc(var(--arc) * .5 + 10px) 0 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.fsoc{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.fsoc a{padding:9px 20px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;text-decoration:none;font-weight:700;font-size:13.5px;transition:.4s var(--e)}
.fsoc a:hover{background:var(--gold);border-color:var(--gold);color:#1a1405;transform:translateY(-3px)}
.fgrid{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:28px;padding:32px 0}
.ft h4{font:600 24px/1.1 var(--serif);color:#fff;margin-bottom:16px;position:relative;padding-bottom:8px}.ft h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:1px;background:var(--gold);transition:width .6s var(--e)}.fcol:hover h4::after{width:72px}
.ft ul{list-style:none;display:grid;gap:8px}.ft li a{display:inline-flex;gap:10px;align-items:center;color:#d8eae2;text-decoration:none;transition:.4s var(--e);font-size:14px}
.ft li a::before{content:"\2192";color:var(--gold);transition:transform .4s var(--e)}.ft li a:hover{color:var(--gold-l);transform:translateX(4px)}.ft li a:hover::before{transform:translateX(4px)}
.ft li a.cur{color:var(--gold-l)}
.fcon p{margin-bottom:8px;line-height:1.6;font-size:14px}.fcon a{color:#fff;text-decoration:none;overflow-wrap:anywhere}.fcon a:hover{color:var(--gold-l)}
.fhrs{list-style:none;display:grid;gap:6px;font-size:14px}.fhrs li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(255,255,255,.12);padding-bottom:6px}.fhrs b{color:#fff;font-weight:600}
.fbar{position:relative;background:#041a16;text-align:center;padding:14px 20px;font-size:13px;border-top:1px solid rgba(255,255,255,.1)}.fbar p{margin:2px 0;line-height:1.6}.fbar a{color:var(--gold-l);font-weight:700;text-decoration:none}
.stars{font-style:normal;color:var(--gold);letter-spacing:2px}
@media(max-width:1000px){.fgrid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.fgrid{grid-template-columns:1fr;gap:20px;padding:24px 0}.fsoc{display:grid;grid-template-columns:1fr 1fr;width:100%}.fsoc a{text-align:center;padding:11px 8px}.fbar{padding-bottom:96px}}
/* float + cursor */
.float{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:95;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.float a,.float button{position:relative;height:52px;min-width:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:0;padding:0 14px;color:#fff;text-decoration:none;border:0;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.25);font:700 13.5px var(--sans);overflow:hidden;transition:gap .5s var(--e),padding .5s var(--e)}
.float em{font-style:normal;max-width:0;opacity:0;white-space:nowrap;transition:max-width .5s var(--e),opacity .4s}
@media(hover:hover){.float a:hover,.float button:hover{gap:10px;padding:0 20px}.float a:hover em,.float button:hover em{max-width:160px;opacity:1}}
.float .wa{background:#25a244;animation:pulse 3s 3s infinite}.float .wa svg{width:26px;height:26px;flex:none;fill:currentColor}.float .call{background:var(--green)}.float .up{background:var(--gold);color:#1a1405;display:none}.float .up.show{display:flex}
@keyframes pulse{0%{box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 0 rgba(37,162,68,.55)}60%,100%{box-shadow:0 14px 34px rgba(0,0,0,.3),0 0 0 20px rgba(37,162,68,0)}}
.mcur{position:fixed;left:0;top:0;z-index:99;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:1.5px solid var(--gold);pointer-events:none;display:none;transition:width .4s var(--e),height .4s var(--e),margin .4s var(--e),background .3s;font:700 11px/1 var(--sans);color:#1a1405;align-items:center;justify-content:center}
.mcur.big{width:42px;height:42px;margin:-21px 0 0 -21px;background:rgba(196,161,90,.2)}.mcur.view{width:68px;height:68px;margin:-34px 0 0 -34px;background:var(--gold)}.mcur.view::after{content:"View"}
@media(hover:hover) and (pointer:fine){.mcur{display:flex}}
.cta,.ctl,.btn,.cb,summary,.pl{position:relative;z-index:5}
a,button,summary{cursor:pointer}.btn,.cb,.float a,.float button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* lightbox (gallery pages + home photos) */
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,20,15,.92);backdrop-filter:blur(6px)}
.lb.open{display:flex}
.lb img{max-width:min(1100px,100%);max-height:84vh;width:auto;height:auto;border-radius:18px;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;transition:background .3s,color .3s}
.lb button:hover{background:var(--gold);color:#1a1405;border-color:var(--gold)}
.lb .x{top:20px;right:20px}.lb .pv{left:16px;top:50%;margin-top:-24px}.lb .nx{right:16px;top:50%;margin-top:-24px}
.lb .ct{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#cfe4db;font:600 13px var(--sans);letter-spacing:.1em}
/* reveal */
.rv{opacity:0;transform:translateY(36px);transition:opacity 1.1s var(--e) var(--d,0s),transform 1.1s var(--e) var(--d,0s),translate .7s var(--e),box-shadow .7s var(--e),background .5s,border-color .5s}.rv.in{opacity:1;transform:none}
@media(max-width:700px){section{padding:54px 0}.wrap{width:calc(100% - 32px)}.top .wrap{justify-content:center}.tinfo{display:none}.sec-head{margin-bottom:28px}h2{font-size:clamp(28px,8vw,38px)}.float a,.float button{height:50px;min-width:50px}.float .wa svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}.progress{display:none}}

/* ===== Royal Rudram identity ===== */
body{background:#f5f7ff}body::after{opacity:.025}
.top{background:linear-gradient(90deg,#06143d,#102f88 55%,#06143d);color:#dbe5ff;border-bottom:1px solid rgba(255,255,255,.1)}
.progress{background:linear-gradient(90deg,#e6323e,#ff7b84,#294fb7)}
header.nav{top:12px}.nav .wrap{height:94px;padding:0 24px;background:rgba(255,255,255,.96);border:1px solid rgba(23,62,170,.14);border-radius:24px;box-shadow:0 18px 52px rgba(7,27,85,.17),0 2px 0 rgba(230,50,62,.05)}
.brand-lockup{width:310px;padding:7px 4px}.brand-lockup img,.nav.sm .brand-lockup img{width:100%;height:auto;max-height:72px;border:0;border-radius:0;box-shadow:none;object-fit:contain;background:transparent;filter:drop-shadow(0 5px 9px rgba(7,27,85,.08))}.brand-lockup:hover img{transform:translateY(-1px) scale(1.01)}
.nav ul a{color:#46506a}.nav ul a:hover,.nav ul a.act{color:#173eaa}.ind,.nav.pg ul>li>a.act{background:#eaf0ff}.nav ul.sub{background:rgba(255,255,255,.98);border-color:rgba(23,62,170,.14);box-shadow:0 28px 64px rgba(7,27,85,.18)}
.btn-gold{color:#fff;background:linear-gradient(135deg,#ef4350,#c91e2c);box-shadow:0 14px 32px rgba(230,50,62,.28)}.btn-gold:hover{color:#fff;background:linear-gradient(135deg,#ff5964,#d52634)}.btn-green{background:linear-gradient(135deg,#244fbe,#102e87)}
.dk{background:linear-gradient(145deg,#061746,#0c2d80 70%,#071b55)}
.ft{background:linear-gradient(145deg,#06143d,#0a246a 60%,#071747);color:#cad5f4;border-radius:56px 56px 0 0;box-shadow:0 -18px 65px rgba(7,27,85,.16)}
.ft::before{background:radial-gradient(740px 420px at 100% 0,rgba(230,50,62,.15),transparent 62%),radial-gradient(600px 340px at 0 20%,rgba(76,116,225,.18),transparent 68%)}
.ftop{flex-direction:column;align-items:center;gap:20px;padding:54px 0 28px}.footer-brand{display:flex;align-items:center;justify-content:center;width:min(460px,100%);padding:16px 24px;background:#fff;border:1px solid rgba(255,255,255,.75);border-radius:20px;box-shadow:0 18px 42px rgba(0,0,0,.2)}.footer-brand img{width:100%;height:auto;max-height:86px;object-fit:contain}.footer-tagline{max-width:620px;margin-top:-8px;text-align:center;color:#dce5ff;font-size:14px;letter-spacing:.02em}
.fsoc a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24)}.fsoc a:hover{background:#e6323e;border-color:#e6323e;color:#fff}.ft li a{color:#d9e1f8}.ft h4::after{background:#e6323e}.ft li a::before{color:#ff737c}.ft li a:hover,.ft li a.cur,.fcon a:hover{color:#ff9299}.fbar{background:#040f31}.fbar a{color:#ff9299}.stars{color:#ff606b}
@media(max-width:1060px){.nav .wrap{border-radius:20px}.brand-lockup{width:255px}.brand-lockup img,.nav.sm .brand-lockup img{width:100%;height:auto;max-height:60px}.brand-t{display:none}}
@media(max-width:520px){.nav .wrap{border-radius:16px}.brand-lockup{width:195px}.brand-lockup img,.nav.sm .brand-lockup img{width:100%;height:auto;max-height:50px}.footer-brand{padding:13px 18px;border-radius:16px}.ft{border-radius:34px 34px 0 0}}

/* Dropdown hover bridge: keeps menu open while pointer moves into submenu */
@media(min-width:1061px){
 .nav li.dd{padding-bottom:12px;margin-bottom:-12px}
 .nav ul.sub{top:calc(100% - 2px);margin-top:0;overflow-y:auto}
 .nav ul.sub::before{top:-14px;height:14px}
}

/* Footer contact icons */
.fcon .contact-line{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.fcon .contact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;color:#ff737c;font-size:17px;line-height:1}.fcon .contact-line>span:last-child{min-width:0}.fcon .contact-line a{word-break:break-word}

/* Readable justified content */
.prose p,.side p,.svc p,.bc p,.dc p,.wc p{text-align:justify;text-justify:inter-word;hyphens:auto}


/* Small-screen hardening: keep every page inside the viewport. */
@media(max-width:520px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .wrap{width:calc(100% - 28px);min-width:0}
 section,.wrap>*{min-width:0}
 header.nav{top:8px;margin-top:8px}
 .nav .wrap{width:calc(100% - 16px);height:66px;padding:0 9px 0 10px;gap:8px}
 header.nav.sm .wrap{height:60px}
 .brand-lockup{width:min(180px,calc(100% - 52px));padding:4px 0}
 .brand-lockup img,.nav.sm .brand-lockup img{max-height:46px}
 .burger{width:42px;height:42px;min-width:42px}
 .burger span{left:11px;right:11px}.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:26px}
 .burger[aria-expanded="true"] span:nth-child(1),.burger[aria-expanded="true"] span:nth-child(3){top:20px}
 .nav ul{left:0;right:0;max-width:100%}
 .btn{max-width:100%;white-space:normal;text-align:center}
 .float{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:8px}
 .float a,.float button{height:46px;min-width:46px;padding:0 11px}
 .ftop{padding-top:42px}.fbar{padding-inline:14px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 24px)}
 .brand-lockup{width:min(170px,calc(100% - 50px))}
 .top .wrap{width:100%}
 .tsoc{gap:8px}
}