/* ═══════════════════════════════════════════════════════════
   RANGSANSKRITI — Shared Design System v3
   Traditional Indian Festival Palette
   Deep crimson · Saffron · Champagne gold · Maroon night
═══════════════════════════════════════════════════════════ */

/* ── SVG Pattern helpers ── */
/* Rangoli circle pattern */
:root {
  --pat-rangoli: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='rgba(200,151,42,0.07)' stroke-width='0.6'%3E%3Ccircle cx='40' cy='40' r='30'/%3E%3Ccircle cx='40' cy='40' r='20'/%3E%3Ccircle cx='40' cy='40' r='10'/%3E%3Cline x1='10' y1='40' x2='70' y2='40'/%3E%3Cline x1='40' y1='10' x2='40' y2='70'/%3E%3Cline x1='18' y1='18' x2='62' y2='62'/%3E%3Cline x1='62' y1='18' x2='18' y2='62'/%3E%3C/g%3E%3C/svg%3E");
  --pat-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='rgba(200,151,42,0.06)' stroke-width='0.5'%3E%3Cpath d='M30 5 L33 20 L48 20 L36 29 L40 44 L30 35 L20 44 L24 29 L12 20 L27 20Z'/%3E%3Ccircle cx='30' cy='30' r='8'/%3E%3C/g%3E%3C/svg%3E");
  --pat-paisley: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='rgba(200,151,42,0.05)' stroke-width='0.5'%3E%3Cpath d='M50 10 Q60 20 50 30 Q40 20 50 10Z'/%3E%3Cpath d='M50 70 Q60 80 50 90 Q40 80 50 70Z'/%3E%3Cpath d='M10 50 Q20 60 30 50 Q20 40 10 50Z'/%3E%3Cpath d='M70 50 Q80 60 90 50 Q80 40 70 50Z'/%3E%3Ccircle cx='50' cy='50' r='12'/%3E%3C/g%3E%3C/svg%3E");
}

/* ── Palette ── */
:root {
  --saffron:      #E8631A;
  --saffron-d:    #C4501A;
  --gold:         #C8972A;
  --gold-lt:      #E8B94A;
  --gold-pale:    #F5E0A0;
  --crimson:      #9E1B32;
  --maroon:       #7A1C2E;

  --nav-h:        130px;
  --nav-h-mobile: 110px;

  /* Dark backgrounds — deep crimson-maroon festival night */
  --bg-deep:      #0D0408;   /* deepest — footer */
  --bg-dark:      #150408;   /* dark sections */
  --bg-dark2:     #1A0510;   /* slightly lighter dark */
  --bg-mid:       #200810;   /* midtone dark */
  --bg-warm:      #250B14;   /* warmest dark */

  /* Light accents — champagne, NOT plain white */
  --bg-card:      #1E0C12;   /* card on dark — slightly lighter than bg */
  --bg-card-lt:   #281018;   /* hovered card */

  /* Text */
  --tx-bright:    #F0E6D0;   /* bright cream — headings */
  --tx-mid:       rgba(240,220,180,0.72);  /* body text on dark */
  --tx-muted:     rgba(240,220,180,0.45);  /* secondary text */
  --tx-dim:       rgba(240,220,180,0.22);  /* very muted */
  --tx-gold:      #E8B94A;   /* gold text */

  /* Borders */
  --bdr-gold:     rgba(200,151,42,0.2);
  --bdr-gold-lt:  rgba(200,151,42,0.1);
  --bdr-warm:     rgba(232,99,26,0.25);

  /* Fonts */
  --f-title: 'Cinzel', 'Times New Roman', serif;
  --f-body:  'EB Garamond', Georgia, serif;
  --f-ui:    'Nunito Sans', system-ui, sans-serif;
  --f-deva:  'Noto Serif Devanagari', serif;

  --max-w: 1200px;
  --ease:  cubic-bezier(0.4,0,0.2,1);
  --trans: all 0.32s var(--ease);
}

/* ── Reset ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--f-body);background:var(--bg-dark);color:var(--tx-mid);overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:var(--nav-h)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit;transition:var(--trans)}
button{cursor:pointer;border:none;outline:none;transition:var(--trans);font-family:var(--f-ui)}
ul{list-style:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--saffron),var(--gold));border-radius:2px}

/* ── Layout ── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 4rem;width:100%}

/* ── Section label ── */
.lbl{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--f-ui);font-size:.65rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--saffron);margin-bottom:1.2rem}
.lbl::before{content:'◆';font-size:.5rem;color:var(--gold)}
.lbl.gold{color:var(--gold-lt)}
.lbl.gold::before{color:var(--gold)}
.lbl.c{justify-content:center}

/* ── Ornament separator ── */
.orn-sep{display:block;font-size:.75rem;color:rgba(200,151,42,0.45);letter-spacing:.5em;text-align:center;margin:1.2rem 0}

/* ── Temple stripe border ── */
.temple-stripe{height:4px;background:repeating-linear-gradient(90deg,#C8972A 0,#C8972A 3px,#E8631A 3px,#E8631A 6px,#9E1B32 6px,#9E1B32 9px,transparent 9px,transparent 12px)}

/* ── Divider ── */
.divider{width:100%;height:1px;background:var(--bdr-gold)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-ui);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border:none;padding:.95rem 2.4rem;cursor:pointer;transition:var(--trans)}
.btn-p{background:linear-gradient(135deg,var(--saffron),var(--crimson));color:#fff;box-shadow:0 4px 24px rgba(232,99,26,0.38)}
.btn-p:hover{background:linear-gradient(135deg,var(--saffron-d),var(--maroon));transform:translateY(-3px);box-shadow:0 10px 36px rgba(232,99,26,.5)}
.btn-o{background:transparent;color:var(--gold-lt);border:1px solid rgba(200,151,42,.45)}
.btn-o:hover{background:rgba(200,151,42,.1);border-color:var(--gold-lt);transform:translateY(-2px)}
.btn-os{background:transparent;color:var(--saffron);border:1px solid rgba(232,99,26,.4)}
.btn-os:hover{background:rgba(232,99,26,.08);border-color:var(--saffron)}
.btn-sm{padding:.55rem 1.5rem;font-size:.68rem}
.btn-full{width:100%;justify-content:center}

/* ── Photo Frame ── */
.frame{position:relative;border:1px solid rgba(200,151,42,.3);background:rgba(200,151,42,.04);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;overflow:visible}
.frame::before{content:'';position:absolute;top:-9px;left:-9px;width:52px;height:52px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);pointer-events:none}
.frame::after{content:'';position:absolute;bottom:-9px;right:-9px;width:52px;height:52px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);pointer-events:none}
.frame-orn{font-size:2.2rem;color:var(--gold);opacity:.45}
.frame-lbl{font-family:var(--f-body);font-style:italic;font-size:.95rem;color:var(--gold-lt);opacity:.75}
.frame-sub{font-family:var(--f-ui);font-size:.72rem;color:rgba(200,151,42,.4);letter-spacing:.07em}
.frame-badge{position:absolute;bottom:-1px;right:-1px;background:linear-gradient(135deg,var(--saffron),var(--crimson));color:#fff;padding:.5rem 1rem;font-family:var(--f-body);font-style:italic}
.frame-badge .bn{font-size:.95rem;font-weight:500;display:block}
.frame-badge .bs{font-size:.65rem;opacity:.85;display:block}
.frame-img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Toast ── */
#toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(80px);background:var(--bg-deep);color:var(--gold-lt);border:1px solid var(--bdr-gold);padding:.85rem 2rem;font-family:var(--f-ui);font-size:.82rem;letter-spacing:.06em;z-index:9999;pointer-events:none;white-space:nowrap;transition:transform .42s cubic-bezier(.34,1.56,.64,1)}
#toast.show{transform:translateX(-50%) translateY(0)}

/* ── Nav ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--nav-h);display:flex;align-items:center;padding:0 3rem;transition:background .4s,box-shadow .4s;background:rgba(13,4,8,.9);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 1px 0 rgba(200,151,42,.2)}
#nav.scrolled{background:rgba(13,4,8,.95);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 0 rgba(200,151,42,.2),0 8px 40px rgba(0,0,0,.5)}
.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}
.nav-logo-img{width:170px;height:110px;border-radius:12px;border:1.5px solid rgba(200,151,42,.5);object-fit:cover;object-position:center;background:transparent;box-shadow:0 0 18px rgba(200,151,42,.25);transition:var(--trans);margin-top:8px}
.nav-brand:hover .nav-logo-img{border-color:var(--gold-lt);box-shadow:0 0 30px rgba(200,151,42,.45)}
.nav-brand-text{line-height:1.15}
.nav-brand-name{font-family:var(--f-title);font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,var(--gold-pale),var(--gold-lt),var(--gold),var(--saffron));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.07em;display:block}
.nav-brand-company{font-family:var(--f-ui);font-size:.52rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,220,180,.28);display:block;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:.2rem;margin:0 auto}
.nav-links a{font-family:var(--f-ui);font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,220,180,.65);padding:.5rem .9rem;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:1px;background:var(--gold);transition:left .3s,right .3s}
.nav-links a:hover,.nav-links a.active{color:var(--gold-lt)}
.nav-links a:hover::after,.nav-links a.active::after{left:.9rem;right:.9rem}
.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.hbg{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:7px}
.hbg span{display:block;width:22px;height:1.5px;background:var(--gold-lt);border-radius:1px;transition:transform .3s,opacity .3s}
.hbg.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0}
.hbg.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mob-nav{position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(13,4,8,.98);backdrop-filter:blur(24px);border-bottom:1px solid rgba(200,151,42,.2);transform:translateY(-110%);transition:transform .38s var(--ease);z-index:499;padding:2rem;display:flex;flex-direction:column;gap:.5rem}
.mob-nav.open{transform:translateY(0)}
.mob-nav a{font-family:var(--f-ui);font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,220,180,.65);padding:1rem .5rem;border-bottom:1px solid rgba(200,151,42,.08);display:block}
.mob-nav a:hover{color:var(--gold-lt)}
@media (min-width: 769px){
  .mob-nav{display:none}
}

/* ── Page Hero (inner pages) ── */
.pg-hero{
  min-height:44vh;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='rgba(200,151,42,0.06)' stroke-width='0.6'%3E%3Ccircle cx='40' cy='40' r='30'/%3E%3Ccircle cx='40' cy='40' r='20'/%3E%3Ccircle cx='40' cy='40' r='10'/%3E%3Cline x1='10' y1='40' x2='70' y2='40'/%3E%3Cline x1='40' y1='10' x2='40' y2='70'/%3E%3Cline x1='18' y1='18' x2='62' y2='62'/%3E%3Cline x1='62' y1='18' x2='18' y2='62'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(ellipse at 70% 30%,rgba(122,28,46,.3) 0%,transparent 55%),
    radial-gradient(ellipse at 5% 80%,rgba(200,151,42,.07) 0%,transparent 45%),
    linear-gradient(165deg,#1E0810 0%,#150408 55%,#200A10 100%);
  display:flex;align-items:flex-end;padding:8rem 4rem 4rem;position:relative;overflow:hidden;
}
/* Torana stripe at top of page hero */
.pg-hero::before{display:none} 
/* Corner ornament */
.pg-hero::after{content:'';position:absolute;bottom:2rem;right:3rem;width:120px;height:120px;border-bottom:1.5px solid rgba(200,151,42,.22);border-right:1.5px solid rgba(200,151,42,.22)}
.pg-hero-in{position:relative;z-index:2;max-width:var(--max-w);width:100%;margin:0 auto}
.pg-hero h1{font-family:var(--f-title);font-size:clamp(2.4rem,5vw,4.4rem);font-weight:400;color:var(--tx-bright);margin-bottom:1rem;line-height:1.1;letter-spacing:.03em}
.pg-hero h1 em{background:linear-gradient(90deg,var(--gold-lt),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic}
.pg-hero p{font-family:var(--f-body);font-style:italic;font-size:1.08rem;color:var(--tx-muted);max-width:520px;line-height:1.75}

/* ── Dark section base (alternating 1) ── */
.sec-dark{
  padding:7rem 0;
  background:var(--pat-rangoli),linear-gradient(170deg,var(--bg-dark2) 0%,var(--bg-dark) 100%);
  position:relative;overflow:hidden;
}
.sec-dark::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#C8972A 0,#C8972A 3px,#E8631A 3px,#E8631A 6px,#9E1B32 6px,#9E1B32 9px,transparent 9px,transparent 12px)}

/* ── Deeper dark section (alternating 2) ── */
.sec-deep{
  padding:7rem 0;
  background:var(--pat-star),linear-gradient(160deg,var(--bg-dark) 0%,var(--bg-deep) 100%);
  position:relative;overflow:hidden;
}
.sec-deep::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(232,99,26,.5),rgba(200,151,42,.5),rgba(232,99,26,.5),transparent)}

/* ── Warm crimson section ── */
.sec-warm{
  padding:7rem 0;
  background:var(--pat-paisley),radial-gradient(ellipse at 85% 50%,rgba(122,28,46,.25) 0%,transparent 55%),linear-gradient(160deg,#1E0810 0%,#150408 100%);
  position:relative;overflow:hidden;
}
.sec-warm::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(200,151,42,.4),transparent)}

/* ── Section headings ── */
.sec-h2{font-family:var(--f-title);font-size:clamp(1.7rem,3.2vw,2.8rem);font-weight:500;color:var(--tx-bright);line-height:1.28;letter-spacing:.04em;margin-bottom:1.5rem}
.sec-h2 em{background:linear-gradient(90deg,var(--gold-lt),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic}
.sec-h2.center{text-align:center}
.sec-p{font-family:var(--f-body);font-size:1.05rem;color:var(--tx-mid);line-height:1.92}
.sec-p.center{text-align:center;max-width:600px;margin:0 auto}
.sec-p.muted{color:var(--tx-muted)}

/* ── Pull quote ── */
.pq{border-left:3px solid var(--saffron);padding:1.5rem 2rem;background:rgba(200,151,42,.06);margin:2rem 0}
.pq p{font-family:var(--f-body);font-style:italic;font-size:1.22rem;color:var(--gold-lt);line-height:1.65;margin:0}

/* ── Cards on dark bg ── */
.dk-card{background:rgba(240,220,180,.03);border:1px solid var(--bdr-gold);padding:2.5rem 2rem;position:relative;transition:var(--trans)}
.dk-card::before{content:'';position:absolute;top:0;left:0;width:40px;height:40px;border-top:1.5px solid rgba(200,151,42,.4);border-left:1.5px solid rgba(200,151,42,.4)}
.dk-card::after{content:'';position:absolute;bottom:0;right:0;width:40px;height:40px;border-bottom:1.5px solid rgba(200,151,42,.4);border-right:1.5px solid rgba(200,151,42,.4)}
.dk-card:hover{background:rgba(200,151,42,.07);border-color:rgba(232,99,26,.5);transform:translateY(-7px);box-shadow:0 20px 60px rgba(0,0,0,.5)}

/* ── Form inputs (dark theme) ── */
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-group label{font-family:var(--f-ui);font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,220,180,.55)}
.form-input{padding:.9rem 1.15rem;border:1.5px solid rgba(200,151,42,.2);background:rgba(240,220,180,.04);color:var(--tx-bright);font-family:var(--f-body);font-size:.95rem;width:100%;outline:none;transition:var(--trans)}
.form-input::placeholder{color:rgba(240,220,180,.25)}
.form-input:focus{border-color:var(--saffron);box-shadow:0 0 0 3px rgba(232,99,26,.1);background:rgba(240,220,180,.06)}
textarea.form-input{resize:vertical;min-height:110px}
select.form-input option{background:var(--bg-dark2);color:var(--tx-bright)}

/* ── Scroll reveal ── */
.fu{opacity:0;transform:translateY(26px);transition:opacity .72s ease,transform .72s ease}
.fu.vis{opacity:1;transform:translateY(0)}
.fu1{transition-delay:.12s}.fu2{transition-delay:.24s}.fu3{transition-delay:.36s}

/* ── Footer ── */
footer{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='rgba(200,151,42,0.04)' stroke-width='0.5'%3E%3Ccircle cx='30' cy='30' r='25'/%3E%3Ccircle cx='30' cy='30' r='15'/%3E%3Ccircle cx='30' cy='30' r='5'/%3E%3C/g%3E%3C/svg%3E"),var(--bg-deep);padding:5rem 4rem 0}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(200,151,42,.1)}
.foot-brand-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.foot-logo{width:42px;height:42px;border-radius:50%;border:1px solid rgba(200,151,42,.4);object-fit:cover}
.foot-bname{font-family:var(--f-title);font-size:.95rem;font-weight:600;background:linear-gradient(135deg,var(--gold-lt),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.foot-btag{font-family:var(--f-ui);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,220,180,.25);display:block;margin-top:2px}
.foot-desc{font-family:var(--f-body);font-style:italic;font-size:.88rem;color:rgba(240,220,180,.38);line-height:1.82;max-width:230px}
.foot-ishan{margin-top:.85rem;font-family:var(--f-body);font-style:italic;font-size:.82rem;color:rgba(200,151,42,.45)}
.foot-social{display:flex;gap:.65rem;margin-top:1.5rem}
.soc-btn{width:36px;height:36px;border:1px solid rgba(200,151,42,.2);background:transparent;color:rgba(240,220,180,.35);font-family:var(--f-ui);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--trans)}
.soc-btn:hover{border-color:var(--saffron);color:var(--saffron);background:rgba(232,99,26,.1)}
.soc-btn .soc-ico{width:16px;height:16px;display:block}
.page-watermark{position:fixed;left:3%;top:140px;transform:none;font-family:'Noto Serif Devanagari',serif;font-size:clamp(8rem,18vw,18rem);color:rgba(200,151,42,0.04);pointer-events:none;user-select:none;z-index:0;line-height:1}
@media (max-width:980px){.page-watermark{display:none}}
.foot-col h4{font-family:var(--f-ui);font-size:.62rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.foot-col ul{display:flex;flex-direction:column;gap:.7rem}
.foot-col ul li a{font-family:var(--f-ui);font-size:.78rem;color:rgba(240,220,180,.35);transition:color .25s;letter-spacing:.05em}
.foot-col ul li a:hover{color:var(--gold-lt)}
.foot-ci{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.25rem}
.foot-ci a{font-family:var(--f-ui);font-size:.75rem;color:rgba(240,220,180,.35);transition:color .25s}
.foot-ci a:hover{color:var(--saffron)}
.foot-cities{font-family:var(--f-ui);font-size:.72rem;color:rgba(240,220,180,.2);line-height:1.75;margin-bottom:1.25rem}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0}
.foot-bottom span{font-family:var(--f-ui);font-size:.68rem;color:rgba(240,220,180,.2);letter-spacing:.06em}

/* ── Responsive ── */
@media(max-width:768px){
  .container{padding:0 1.5rem}
  #nav{padding:0 1.5rem;height:var(--nav-h-mobile)}
  .nav-links,.nav-right .btn{display:none}
  .hbg{display:flex}
  .mob-nav{top:var(--nav-h-mobile)}
  body{padding-top:var(--nav-h-mobile)}
  .sec-dark,.sec-deep,.sec-warm{padding:4rem 0}
  .pg-hero{padding:7rem 1.5rem 3rem}
  .pg-hero::after{display:none}
  footer{padding:3rem 1.5rem 0}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .foot-grid>div:first-child{grid-column:1/-1}
  .foot-bottom{flex-direction:column;gap:.5rem;text-align:center;padding:1.25rem 0}
}
@media(max-width:480px){
  .foot-grid{grid-template-columns:1fr}
}

