/* Responsive refinements for the existing SGPRF Bootstrap website. */
:root { --sgprf-brown:#713b1b; --sgprf-gold:#b88b48; }
html { scroll-padding-top: 90px; }
body { overflow-wrap: break-word; }
.topline { font-family:'Noto Sans Devanagari',sans-serif; line-height:1.65; padding:.35rem 1rem; }
.sgprf-brand-name { min-width:0; max-width:260px; white-space:normal; }
.sgprf-brand-name strong { display:block; font-size:clamp(.9rem,1.3vw,1.06rem); line-height:1.35; letter-spacing:0; }
.sgprf-brand-name small { font-size:.78rem; line-height:1.4; }
.navbar .nav-link { font-size:.81rem; }
.language-switch { align-items:center; padding-block:.5rem; font-size:.83rem; }
.sgprf-home-hero { background:radial-gradient(circle at 78% 35%,#f8e5bd 0%,transparent 42%),linear-gradient(115deg,#fffdf7,#fbf0db); border-bottom:1px solid #eddfc8; }
.sgprf-hero-row { padding-block:clamp(1.7rem,4vw,3.4rem); }
.sgprf-home-hero h1 { font-size:clamp(1.8rem,3.4vw,3.1rem); line-height:1.2; color:var(--sgprf-brown); margin:.6rem 0 .85rem; }
.sgprf-hero-lead { font-size:clamp(.95rem,1.3vw,1.1rem); color:#695b4d; max-width:620px; line-height:1.65; margin-bottom:1rem; }
.sgprf-mantra { max-width:650px; background:rgba(255,255,255,.73); border-left:3px solid var(--sgprf-gold); border-radius:0 10px 10px 0; padding:.8rem 1.1rem; margin-bottom:1.2rem; }
.sgprf-mantra-label { display:block; color:#94612e; font-size:.68rem; letter-spacing:.14em; font-weight:700; margin-bottom:.3rem; }
.sgprf-mantra p { font-family:'Noto Sans Devanagari',sans-serif; font-size:clamp(1rem,1.6vw,1.28rem); font-weight:600; color:#783c1b; line-height:1.85; margin:0; }
.sgprf-hero-actions .btn { padding:.6rem 1rem; }
.sgprf-hero-figure { margin:0 auto; width:fit-content; max-width:100%; text-align:center; }
.sgprf-hero-figure a { display:block; padding:6px; background:#fff; border:1px solid #dec38e; border-radius:9px; box-shadow:0 12px 32px rgba(70,44,19,.12); }
.sgprf-hero-figure img { display:block; width:auto; height:auto; max-width:100%; max-height:365px; object-fit:contain; }
.sgprf-hero-figure figcaption { color:#765b3f; font-size:.75rem; line-height:1.5; margin-top:.6rem; }
.feature,.doc-card,.album-card { transition:transform .2s ease,box-shadow .2s ease; }
.feature:hover,.doc-card:hover,.album-card:hover { transform:translateY(-2px); }
@media(max-width:1199.98px) { .navbar .container { max-width:100%; padding-inline:20px; } .navbar .nav-link { font-size:.76rem; } }
@media(max-width:991.98px) { .sgprf-hero-row { padding-block:2rem; } .sgprf-hero-figure img { max-height:310px; } .navbar-collapse { padding:1rem 0; } .navbar .nav-link { font-size:.95rem; padding:.55rem 0; } .language-switch { padding-top:1rem; } }
@media(max-width:575.98px) { .topline { font-size:.7rem; } .navbar .container { padding-inline:14px; } .brandmark { width:39px; height:39px; flex:0 0 39px; } .sgprf-brand-name { max-width:210px; } .sgprf-brand-name strong { font-size:.82rem; } .sgprf-brand-name small { font-size:.69rem; } .sgprf-home-hero h1 { font-size:clamp(1.65rem,7vw,2.1rem); } .sgprf-hero-row { padding-block:1.5rem; } .sgprf-mantra { padding:.75rem .8rem; } .sgprf-mantra p { font-size:clamp(.95rem,4vw,1.12rem); } .sgprf-hero-figure img { max-height:265px; } .sgprf-hero-actions .btn { flex:1 1 auto; } .section { padding-top:3rem; padding-bottom:3rem; } .feature { padding:1.4rem; } .doc-card { padding:1rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* Premium responsive hero: subtle depth, restrained motion, no new libraries. */
.sgprf-premium-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 79% 44%,#f1d6a4 0%,transparent 43%),linear-gradient(115deg,#fffdf9,#fff8e9 56%,#f8e9d0)}
#sgprf-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.sgprf-hero-halo{position:absolute;right:-7%;top:-25%;width:min(58vw,650px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(236,192,113,.25),transparent 68%);pointer-events:none}
.sgprf-premium-hero .sgprf-hero-row{position:relative;min-height:470px;padding-block:38px 42px}
.sgprf-hero-eyebrow{font-size:.72rem;letter-spacing:.2em;color:#98622e}
.sgprf-premium-hero h1{font-size:clamp(2rem,3.5vw,3.4rem);letter-spacing:-.025em;line-height:1.18;color:#54301a;max-width:710px}
.sgprf-premium-hero .sgprf-hero-lead{font-size:clamp(.94rem,1.18vw,1.08rem);line-height:1.72}
.sgprf-mantra-premium{border:1px solid rgba(182,138,76,.27)!important;border-left:3px solid #bd9252!important;border-radius:11px!important;background:rgba(255,255,255,.74)!important;box-shadow:0 10px 32px rgba(93,60,27,.06);backdrop-filter:blur(6px)}
.sgprf-hero-btn{background:linear-gradient(115deg,#a96530,#78401d);border-color:#975222;box-shadow:0 8px 21px rgba(114,64,25,.17);transition:transform .25s,box-shadow .25s}
.sgprf-hero-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(114,64,25,.24)}
.sgprf-hero-visual{position:relative;display:grid;place-items:center;perspective:1000px;min-height:400px}
.sgprf-orbit{position:absolute;width:min(100%,420px);aspect-ratio:1;border:1px solid rgba(180,128,53,.28);border-radius:50%;pointer-events:none}
.sgprf-orbit:before,.sgprf-orbit:after{content:'';position:absolute;inset:22px;border:1px dashed rgba(180,128,53,.19);border-radius:50%}
.sgprf-orbit:after{inset:49px;border-style:solid}
.sgprf-premium-hero .sgprf-hero-figure{position:relative;z-index:1;transform-style:preserve-3d;will-change:transform;transition:transform .4s ease}
.sgprf-premium-hero .sgprf-hero-figure a{border:1px solid #d6b782;border-radius:11px;padding:7px;box-shadow:0 22px 52px rgba(83,51,20,.19),0 0 0 6px rgba(255,255,255,.3)}
.sgprf-premium-hero .sgprf-hero-figure img{max-height:335px}
.sgprf-premium-hero .sgprf-hero-figure figcaption{font-weight:600}
.sgprf-reveal{opacity:0;transform:translateY(17px);transition:opacity .7s ease,transform .7s ease}
.sgprf-reveal.sgprf-visible{opacity:1;transform:none}
@media(max-width:991.98px){.sgprf-premium-hero .sgprf-hero-row{min-height:0;padding-block:30px}.sgprf-hero-visual{min-height:320px}.sgprf-premium-hero .sgprf-hero-figure img{max-height:285px}.sgprf-orbit{max-width:345px}}
@media(max-width:767.98px){.sgprf-premium-hero .sgprf-hero-row{padding-block:25px}.sgprf-hero-visual{min-height:0;padding-block:18px}.sgprf-premium-hero .sgprf-hero-figure img{max-height:265px}.sgprf-orbit{width:285px}.sgprf-hero-halo{width:85vw;right:-30%;top:45%}}
@media(max-width:380px){.sgprf-premium-hero h1{font-size:1.75rem}.sgprf-premium-hero .sgprf-hero-figure img{max-height:220px}}
@media(prefers-reduced-motion:reduce){.sgprf-reveal{opacity:1;transform:none;transition:none}.sgprf-premium-hero .sgprf-hero-figure{transition:none}}

/* Compact premium hero v2 — deliberate tighter visual hierarchy. */
.sgprf-premium-hero{background:radial-gradient(ellipse at 77% 47%,rgba(238,203,145,.46),transparent 44%),linear-gradient(112deg,#fffdf9 0%,#fff9ef 60%,#f9edd8 100%)}
.sgprf-premium-hero .sgprf-hero-row{min-height:0;padding-block:27px 29px;--bs-gutter-x:3.3rem;--bs-gutter-y:1.2rem}
.sgprf-premium-hero .sgprf-hero-content{padding-block:0}
.sgprf-premium-hero .sgprf-hero-eyebrow{font-size:.66rem;letter-spacing:.17em;margin-bottom:8px}
.sgprf-premium-hero h1{font-size:clamp(1.75rem,2.72vw,2.75rem);line-height:1.18;letter-spacing:-.026em;margin:0 0 11px;max-width:620px}
.sgprf-hero-heading-second{display:block;color:#a46a34}
.sgprf-premium-hero .sgprf-hero-lead{font-size:clamp(.89rem,1.03vw,1rem);line-height:1.62;margin:0 0 14px;max-width:570px}
.sgprf-premium-hero .sgprf-mantra-premium{max-width:600px;padding:11px 16px 12px;margin:0 0 14px;background:rgba(255,255,255,.54)!important;border-radius:9px!important;box-shadow:0 6px 22px rgba(93,60,27,.035)}
.sgprf-premium-hero .sgprf-mantra-label{font-size:.63rem;margin-bottom:2px}
.sgprf-premium-hero .sgprf-mantra p{font-size:clamp(.96rem,1.23vw,1.14rem);line-height:1.67;font-weight:600}
.sgprf-premium-hero .sgprf-hero-actions{gap:.55rem!important}
.sgprf-premium-hero .sgprf-hero-actions .btn{padding:.52rem .85rem;font-size:.86rem;border-radius:7px}
.sgprf-premium-hero .sgprf-hero-visual{min-height:320px}
.sgprf-premium-hero .sgprf-orbit{width:min(100%,320px);border-color:rgba(181,134,68,.21)}
.sgprf-premium-hero .sgprf-orbit:before{inset:20px}.sgprf-premium-hero .sgprf-orbit:after{inset:42px}
.sgprf-orbit-glow{position:absolute;pointer-events:none;width:min(100%,290px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(232,182,97,.24),transparent 73%);filter:blur(9px)}
.sgprf-premium-hero .sgprf-hero-figure{max-width:100%}
.sgprf-premium-hero .sgprf-hero-figure a{display:block;padding:4px;border-radius:6px;border:1px solid rgba(177,131,64,.48);background:#fff;box-shadow:0 16px 36px rgba(84,51,21,.13),0 0 0 4px rgba(255,255,255,.3)}
.sgprf-premium-hero .sgprf-hero-figure img{max-height:282px;max-width:100%;border-radius:2px}
.sgprf-premium-hero .sgprf-hero-figure figcaption{font-size:.71rem;font-weight:500;line-height:1.45;margin-top:9px;color:#765b3f}
.sgprf-premium-hero .sgprf-hero-halo{opacity:.48}
@media(min-width:1200px){.sgprf-premium-hero .sgprf-hero-row{padding-block:32px 35px}.sgprf-premium-hero .sgprf-hero-figure img{max-height:300px}}
@media(max-width:991.98px){.sgprf-premium-hero .sgprf-hero-row{--bs-gutter-x:1.6rem;padding-block:24px}.sgprf-premium-hero h1{font-size:clamp(1.65rem,3.2vw,2.3rem)}.sgprf-premium-hero .sgprf-hero-visual{min-height:280px}.sgprf-premium-hero .sgprf-hero-figure img{max-height:245px}.sgprf-premium-hero .sgprf-orbit{max-width:270px}}
@media(max-width:767.98px){.sgprf-premium-hero .sgprf-hero-row{padding-block:22px 27px;--bs-gutter-y:1rem}.sgprf-premium-hero .sgprf-hero-visual{min-height:0;padding-block:9px}.sgprf-premium-hero .sgprf-hero-figure img{max-height:235px}.sgprf-premium-hero .sgprf-orbit{width:245px}.sgprf-premium-hero .sgprf-hero-lead{margin-bottom:12px}.sgprf-premium-hero .sgprf-mantra-premium{margin-bottom:12px}}
@media(max-width:380px){.sgprf-premium-hero h1{font-size:1.62rem}.sgprf-premium-hero .sgprf-hero-figure img{max-height:205px}.sgprf-premium-hero .sgprf-orbit{width:210px}}
