:root{--night:#0e2f4d;--indigo:#164a75;--plum:#2b6ea8;--gold:#4a98c9;--gold2:#bfe0f2;--cream:#f7fbfd;--paper:#e8f3fa;--ink:#24384a;--mute:#5d7487;--line:rgba(74,152,201,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.75;color:var(--ink);background:var(--cream)}
h1,h2,h3,h4,.eyebrow,.btn,nav,.brand,label,.stage,footer h4{font-family:'Cinzel',Georgia,serif}
h1{font-size:clamp(2.2rem,5.5vw,4.2rem);font-weight:500;letter-spacing:.06em;line-height:1.15;margin:.2em 0 .3em}
h1 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold2);letter-spacing:.02em}
h2{font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:500;letter-spacing:.05em;margin:1.2em 0 .5em;color:var(--indigo)}
h3{font-size:1.1rem;font-weight:500;letter-spacing:.08em;color:#1f5f94;margin:.4em 0}
a{color:#1f5f94}p{margin:.8em 0}
.wrap{max-width:1120px;margin:0 auto;padding:5.5rem 1.5rem}.narrow{max-width:800px}.center{text-align:center}
.band{background:linear-gradient(180deg,var(--paper),var(--cream))}
.dark{background:radial-gradient(ellipse at 50% 0,var(--plum),var(--night) 70%);color:#e3f0f8;position:relative;overflow:hidden}
.dark h2{color:var(--gold2)}.dark a:not(.btn){color:var(--gold2)}
.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.72rem;color:var(--gold);margin:0}
.lead{font-size:1.45rem;font-weight:300;font-style:italic;color:var(--mute)}.dark .lead{color:#cfe3f0}
.note{background:#fff;padding:1.2rem 1.5rem;border:1px solid var(--line);border-left:4px solid var(--gold);text-align:left;box-shadow:0 10px 30px rgba(22,74,117,.08)}
.mantra{text-align:center;font-size:1.8rem;font-style:italic;color:#1f5f94;margin:2.5rem 0;position:relative}
.mantra:before,.mantra:after{content:"";display:block;width:80px;height:1px;background:var(--gold);margin:1rem auto}
.orn{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);margin:1.2rem 0}.orn i{width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.orn b{font-weight:400}
/* header */
header.site{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:1.2rem 2.5rem;background:linear-gradient(rgba(14,47,77,.85),transparent);transition:.3s}
body.scrolled header.site{background:rgba(14,47,77,.96);padding:.7rem 2.5rem;box-shadow:0 4px 30px rgba(0,0,0,.3);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--gold2);letter-spacing:.3em;font-size:1rem;line-height:1.1}.brand small{display:block;font-size:.55rem;letter-spacing:.5em;color:var(--gold)}
.logo{width:40px;height:40px;color:var(--gold)}
header nav{display:flex;gap:2.2rem;margin-left:auto;font-size:.78rem}
header nav a{color:#e3f0f8;text-decoration:none;letter-spacing:.18em;text-transform:uppercase;padding:.3rem 0;position:relative}
header nav>a:after,.dd>a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.3s}
header nav a:hover:after,header nav a.on:after{width:100%}header nav a:hover,header nav a.on{color:var(--gold2)}
.dd{position:relative}.dd .menu{display:none;position:absolute;top:100%;left:-1.2rem;background:rgba(14,47,77,.97);border:1px solid var(--line);padding:.8rem 1.4rem;min-width:180px}
.dd:hover .menu{display:block}.dd .menu a{display:block;padding:.45rem 0}
.burger{display:none;margin-left:auto;background:none;border:0;font-size:1.7rem;cursor:pointer;color:var(--gold)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold2),var(--gold) 55%,#2b6ea8);color:var(--night)!important;padding:1rem 2.4rem;text-decoration:none;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;font-weight:600;border:0;cursor:pointer;margin-top:1.2rem;border-radius:2px;box-shadow:0 8px 25px rgba(74,152,201,.3);transition:.3s}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(74,152,201,.5)}.btn.small{padding:.7rem 1.4rem;margin:0;font-size:.65rem}
.btn.ghost{background:transparent;color:#1f5f94!important;border:1px solid var(--gold);box-shadow:none}.btn.ghost:hover{background:var(--gold);color:var(--night)!important}
.btn.light{background:transparent;color:var(--gold2)!important;border:1px solid var(--gold2);box-shadow:none}.btn.light:hover{background:var(--gold2);color:var(--night)!important}
/* hero + banner */
.hero,.banner{position:relative;overflow:hidden;color:#ffffff;text-align:center;background:radial-gradient(ellipse at 50% 70%,#2b6ea8 0,var(--indigo) 40%,var(--night) 85%)}
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center}
.banner{padding:11rem 1.5rem 5rem}
.mandala{position:absolute;left:50%;top:50%;width:min(900px,140vw);margin:calc(min(900px,140vw)/-2) 0 0 calc(min(900px,140vw)/-2);color:var(--gold);opacity:.22;animation:spin 140s linear infinite}
.hero .mandala{top:46%;z-index:1}.hero .sun,.hero .water{z-index:0}.hero .sil{z-index:2}.hero .inner{z-index:3}.banner .mandala{width:640px;margin:-320px 0 0 -320px;opacity:.18}
@keyframes spin{to{transform:rotate(360deg)}}
.stars{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#fff9,transparent),radial-gradient(1.5px 1.5px at 55% 12%,#fff,transparent),radial-gradient(1px 1px at 72% 35%,#fff9,transparent),radial-gradient(1.5px 1.5px at 88% 62%,#fff,transparent),radial-gradient(1px 1px at 20% 45%,#fff8,transparent),radial-gradient(1px 1px at 92% 15%,#fff,transparent),radial-gradient(1px 1px at 45% 85%,#fff8,transparent),radial-gradient(1.5px 1.5px at 8% 82%,#fff9,transparent);animation:tw 5s ease-in-out infinite alternate}
@keyframes tw{from{opacity:.4}to{opacity:1}}
.sun{position:absolute;left:50%;top:60%;width:520px;height:520px;margin-left:-260px;border-radius:50%;background:radial-gradient(circle,#ffe2a0 0,#f0a64a 22%,rgba(217,120,60,.35) 45%,transparent 68%);animation:pulse 7s ease-in-out infinite alternate}
@keyframes pulse{from{transform:scale(.92);opacity:.8}to{transform:scale(1.08);opacity:1}}
.water{position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0e2f4dcc 85%),repeating-linear-gradient(#0000 0 12px,#f3d58a22 12px 13px);}
.sil{position:absolute;left:50%;bottom:20%;width:170px;margin-left:-85px;fill:var(--night);filter:drop-shadow(0 0 25px rgba(243,213,138,.5))}
.hero .inner{position:relative;padding:6rem 1.5rem 12rem;max-width:900px;animation:rise 1.4s ease both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero .eyebrow{color:var(--gold2)}.hero .lead{color:#e6d8b8;letter-spacing:.1em}
.binner{position:relative;max-width:850px;margin:0 auto;animation:rise 1s ease both}.banner h1{color:var(--gold2)}
/* sections */
.steps,.cards{display:grid;gap:1.8rem;margin:2.5rem 0}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps>div,.cards>div{position:relative;background:#fff;padding:2.2rem 1.8rem;border:1px solid var(--line);text-align:left;box-shadow:0 12px 40px rgba(22,74,117,.08);transition:.4s}
.steps>div:before,.cards>div:before{content:"";position:absolute;left:12px;top:12px;right:12px;bottom:12px;border:1px solid rgba(74,152,201,.2);pointer-events:none}
.steps>div:hover,.cards>div:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(22,74,117,.18);border-color:var(--gold)}
.steps span,.cards span{font-family:'Cinzel',serif;font-size:2.6rem;font-weight:400;background:linear-gradient(135deg,var(--gold2),#2b6ea8);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps span{display:block}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.stage{display:block;font-size:.7rem!important;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)!important;background:none!important;-webkit-text-fill-color:currentColor;font-weight:500!important}
.sub{color:var(--mute);font-style:italic;margin-top:0}.sched{font-size:.95rem;color:#1f5f94;border-top:1px solid var(--line);padding-top:.8rem}
.facts{list-style:none;padding:0;text-align:left;max-width:560px;margin:2rem auto;background:#fff;border:1px solid var(--line);box-shadow:0 12px 40px rgba(22,74,117,.08)}
.facts li{padding:.8rem 1.4rem;border-bottom:1px solid rgba(74,152,201,.2)}.facts li:last-child{border:0}
.facts b{display:inline-block;min-width:120px;font-family:'Cinzel',serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}
.dark h2:after,.band>.wrap>h2:after{content:"";display:block;width:60px;height:2px;background:var(--gold);margin:.6rem auto 0}
.dark .wrap{padding:6rem 1.5rem}
/* form */
form{margin-top:2.5rem;display:grid;gap:1.3rem;background:#fff;padding:2.5rem;border:1px solid var(--line);box-shadow:0 20px 60px rgba(22,74,117,.12)}
label{display:grid;gap:.4rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#1f5f94}
input,select{font:inherit;font-size:1.1rem;padding:.8rem 1rem;border:1px solid #cfe0ec;background:var(--cream);color:var(--ink);transition:.3s}
input:focus,select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(74,152,201,.25)}
/* footer */
footer{background:var(--night);color:#b9d3e4;padding:4.5rem 2rem 1.5rem;font-size:1rem;border-top:2px solid var(--gold)}
footer a{color:var(--gold2);text-decoration:none}footer a:hover{text-decoration:underline}footer h4{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-weight:500;font-size:.75rem}
.fcols{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2.5rem}
.flogo{text-align:right}.flogo .logo{width:70px;height:70px}
.copy{text-align:center;margin-top:3rem;border-top:1px solid rgba(74,152,201,.2);padding-top:1.3rem;font-size:.85rem;letter-spacing:.1em}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.rv.in{opacity:1;transform:none}
.steps>div.rv:nth-child(2),.cards>div.rv:nth-child(2){transition-delay:.12s}.steps>div.rv:nth-child(3),.cards>div.rv:nth-child(3){transition-delay:.24s}.steps>div.rv:nth-child(4){transition-delay:.36s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.mandala,.sun,.stars{animation:none}}
@media(max-width:900px){
 body{font-size:18px}header.site,body.scrolled header.site{flex-wrap:wrap;padding:.8rem 1.2rem}.burger{display:block}
 header nav,header .btn.small{display:none;width:100%}
 body.open header.site{background:rgba(14,47,77,.98)}
 body.open header nav{display:flex;flex-direction:column;gap:.7rem;margin:0;padding:1rem 0}body.open header .btn.small{display:inline-block;width:auto}
 .dd .menu{display:block;position:static;border:0;padding:0 0 0 1rem;background:none}
 .flogo{text-align:left}.wrap{padding:4rem 1.2rem}.sun{width:360px;height:360px;margin-left:-180px}.banner{padding:9rem 1.2rem 3.5rem}
}

/* logo-colour theme overrides */
header.site,body.scrolled header.site{background:rgba(255,255,255,.96);box-shadow:0 2px 24px rgba(22,74,117,.12);padding:.7rem 2.5rem;border-bottom:1px solid var(--line)}
header nav a{color:var(--indigo)}header nav a:hover,header nav a.on{color:#2b6ea8}
.brand{color:#1f5f94}.brand small{color:#4a98c9}.logo{width:46px;height:auto;max-height:46px;object-fit:contain}
.dd .menu{background:#fff}
.btn{color:#fff!important;background:linear-gradient(135deg,#5aa8d6,#2b6ea8 60%,#1f5f94);box-shadow:0 8px 25px rgba(43,110,168,.35)}
.btn.ghost{color:#1f5f94!important;background:transparent}.btn.ghost:hover{background:#2b6ea8;color:#fff!important}
.btn.light{color:#fff!important}.btn.light:hover{background:#fff;color:#164a75!important}
.hero{background:radial-gradient(ellipse at 50% 55%,#ffffff 0,#e3f1fa 45%,#bcdcf0 100%);color:var(--indigo)}
.hero .mandala{color:#4a98c9;opacity:.2}.hero .stars{display:none}
.hero .sun{background:radial-gradient(circle,#f3e6c4 0,rgba(232,217,180,.6) 30%,transparent 65%);top:52%}
.hero .water{background:linear-gradient(transparent,rgba(169,209,232,.55) 40%,rgba(180,214,196,.75)),repeating-linear-gradient(#0000 0 12px,#ffffff66 12px 13px)}
.hero .eyebrow{color:#2b6ea8}.hero h1{color:#1f5f94}.hero h1 em{color:#4a98c9}.hero .lead{color:#5d7487}
.hero-logo{position:relative;width:170px;height:auto;margin-bottom:.5rem;filter:drop-shadow(0 10px 25px rgba(43,110,168,.3))}
.hero .inner{padding:9rem 1.5rem 11rem}
.hero .btn{color:#fff!important}
.banner{background:radial-gradient(ellipse at 50% 80%,#2b6ea8 0,#164a75 45%,#0e2f4d 90%)}
.banner .eyebrow,.banner h1{color:#fff}.banner .orn{color:#bfe0f2}
.dark{background:radial-gradient(ellipse at 50% 0,#2b6ea8,#0e2f4d 75%)}
.sched{color:#1f5f94}
.note{border-left-color:#b4d6c4}
.flogo .logo{width:90px;max-height:90px;background:#fff;border-radius:50%;padding:8px}
footer{border-top:3px solid #b4d6c4}
.steps span,.cards span{background:linear-gradient(135deg,#7dbbe0,#1f5f94);-webkit-background-clip:text;background-clip:text}
@media(max-width:900px){header.site,body.scrolled header.site{padding:.6rem 1.2rem}body.open header.site{background:#fff}.hero-logo{width:130px}.hero .inner{padding-top:7rem}}

/* hero layout fix */
.hero{padding-top:84px}
.hero .mandala{width:min(720px,120vw);margin:0;left:50%;top:50%;transform:translate(-50%,-50%);animation:none}
.hero .mandala g{transform-origin:200px 200px;animation:spin 140s linear infinite}
.hero .sun{top:50%;margin-top:-260px}
.hero .inner{padding:3rem 1.5rem 8rem}
.hero-logo{display:block;margin:0 auto .8rem}
.banner .mandala{animation:none;left:50%;top:50%;margin:0;transform:translate(-50%,-50%)}
.banner .mandala g{transform-origin:200px 200px;animation:spin 140s linear infinite}

.gal{margin:2rem auto;max-width:520px}.gal img{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(22,74,117,.15)}.gal figcaption{text-align:center;margin-top:.8rem;color:#5d7487}.areas{text-align:center;font-size:.85rem;opacity:.85;margin:1rem 0 .3rem}
.gal{width:100%;max-width:320px;margin:2rem auto;padding:0;box-sizing:border-box}.gal a{display:block}.gal img{display:block;width:100%;max-width:100%;height:auto;box-sizing:border-box}
@media(max-width:480px){.gal{max-width:260px}}
.lang{display:inline-flex;gap:.25rem;align-items:center;flex-wrap:wrap}
.lang button{background:transparent;border:1px solid var(--gold);color:var(--gold2);padding:.25rem .65rem;border-radius:999px;font:500 .8rem/1.2 'Inter',system-ui,sans-serif;cursor:pointer;letter-spacing:0;text-transform:none}
.lang button:hover{background:rgba(74,152,201,.2)}
.lang button[aria-pressed="true"]{background:var(--gold);color:#fff;border-color:var(--gold)}
header.site .lang.top{order:0}
footer .lang.foot{display:flex;justify-content:center;margin:1.5rem auto .5rem;width:100%}
footer .lang.foot button{color:#b9d3e4}
footer .lang.foot button[aria-pressed="true"]{color:#fff}
body:not(.scrolled) header.site .lang button{color:#e3f0f8}
@media(max-width:900px){header.site .lang.top{order:1;margin-left:auto}header.site .burger{order:2;margin-left:.6rem}header.site nav{order:3}header.site .btn.small{order:4}}
html[lang="te"] body,html[lang="te"] h1,html[lang="te"] h2,html[lang="te"] h3,html[lang="te"] h4,html[lang="te"] p,html[lang="te"] nav,html[lang="te"] a,html[lang="te"] label,html[lang="te"] .stage,html[lang="te"] li,html[lang="te"] em,html[lang="te"] strong,html[lang="te"] .eyebrow,html[lang="te"] .btn,html[lang="te"] input,html[lang="te"] select,html[lang="te"] button{font-family:'Noto Sans Telugu','Inter',sans-serif;letter-spacing:normal;text-transform:none}
html[lang="hi"] body,html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3,html[lang="hi"] h4,html[lang="hi"] p,html[lang="hi"] nav,html[lang="hi"] a,html[lang="hi"] label,html[lang="hi"] .stage,html[lang="hi"] li,html[lang="hi"] em,html[lang="hi"] strong,html[lang="hi"] .eyebrow,html[lang="hi"] .btn,html[lang="hi"] input,html[lang="hi"] select,html[lang="hi"] button{font-family:'Noto Sans Devanagari','Inter',sans-serif;letter-spacing:normal;text-transform:none}
html[lang="te"] .lang button,html[lang="hi"] .lang button{font-size:.8rem}
