:root { --puja-red:#65170f; --puja-red-2:#8d2918; --puja-gold:#c98b25; --puja-cream:#f7e8be; --puja-ink:#3d1b13; --puja-green:#1c653a; }
[data-elementor-type="wp-page"],
.puja-redesign-active .puja-legacy-page { display:none !important; }
.puja-page { overflow:hidden; color:var(--puja-ink); background:#f8edcf; font-family:Roboto,Arial,sans-serif; }
.puja-page *, .puja-page *::before, .puja-page *::after { box-sizing:border-box; }
.puja-shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.puja-hero { min-height:690px; position:relative; display:grid; align-items:center; isolation:isolate; background:linear-gradient(110deg,#faeac0 0%,#edcf89 56%,#d49b3d 100%); border-block:5px solid #6c2412; }
.puja-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.58),transparent 28%),repeating-radial-gradient(circle at 2% 12%,transparent 0 22px,rgba(142,74,19,.035) 23px 24px); }
.puja-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,transparent 0 43%,#edcf89 49%,rgba(237,207,137,.72) 53%,transparent 64%),linear-gradient(180deg,rgba(61,17,7,.08),transparent 24%,transparent 78%,rgba(61,17,7,.2)); }
.puja-hero__photo { position:absolute; z-index:0; top:0; right:0; bottom:58px; width:53%; margin:0; overflow:hidden; background:#7e2b14; }
.puja-hero__photo::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 8px rgba(103,35,14,.22),inset 18px 0 36px rgba(67,18,7,.18); pointer-events:none; }
.puja-hero__photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.puja-hero__inner { width:min(1280px,100%); margin:auto; padding:120px clamp(24px,6vw,90px) 115px; }
.puja-hero__copy { position:relative; z-index:2; width:min(610px,48%); }
.puja-kicker,.puja-section-label { margin:0 0 14px; color:#8b2a17; font:800 .78rem/1.4 Montserrat,Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.puja-hero h1 { margin:0; color:#4e100b; font:700 clamp(3rem,5.2vw,5.3rem)/.98 Alice,Georgia,serif; letter-spacing:-.04em; text-wrap:balance; }
.puja-hero__lead { max-width:570px; margin:24px 0 28px; font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.65; font-weight:500; }
.puja-actions { display:flex; flex-wrap:wrap; gap:12px; }
.puja-actions a,.puja-muhurat a { min-height:52px; padding:14px 22px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #f3c869; border-radius:9px 9px 16px 16px; background:linear-gradient(#b75b21,#7b1c12); box-shadow:inset 0 0 0 2px rgba(63,13,5,.28),0 8px 20px rgba(72,24,7,.22); color:#fff5d6!important; font:800 .86rem/1.1 Montserrat,Arial,sans-serif; text-decoration:none!important; transition:.2s ease; }
.puja-actions a:hover,.puja-muhurat a:hover { transform:translateY(-2px); }
.puja-actions .puja-actions__whatsapp { background:linear-gradient(#2a8149,#15582f); }
.puja-hero__ribbon { position:absolute; z-index:3; inset:auto 0 0; min-height:58px; padding:12px 5vw; display:flex; align-items:center; justify-content:center; gap:clamp(22px,6vw,88px); background:rgba(79,18,10,.96); border-top:1px solid #dda743; color:#ffe6a5; font:700 .72rem/1.3 Montserrat,Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.puja-hero__ribbon span::before { content:"\2726"; margin-right:9px; color:#e7ad3d; }
.puja-welcome { position:relative; padding:55px 30px 45px; text-align:center; }
.puja-welcome__ornament { color:#bd7d19; font:700 3rem/1 serif; }
.puja-welcome p { max-width:820px; margin:12px auto 0; color:#6c2818; font:700 clamp(1.3rem,2.2vw,2rem)/1.35 Alice,Georgia,serif; }
.puja-story { padding:30px 0 85px; display:grid; grid-template-columns:1.35fr .65fr; gap:24px; }
.puja-panel { position:relative; padding:clamp(30px,4vw,58px); border:1px solid #b97622; background:linear-gradient(135deg,rgba(255,249,228,.98),rgba(232,195,119,.7)); box-shadow:0 18px 44px rgba(91,39,11,.14),inset 0 0 0 5px rgba(255,247,216,.55); }
.puja-panel::before { content:""; position:absolute; inset:9px; border:1px solid rgba(124,58,18,.32); pointer-events:none; }
.puja-panel h2,.puja-process h2,.puja-preparation h2,.puja-muhurat h2,.puja-book h2,.puja-faq h2,.puja-final h2 { margin:0 0 18px; color:#58150e; font:700 clamp(2rem,3.5vw,3.35rem)/1.05 Alice,Georgia,serif; letter-spacing:-.025em; }
.puja-panel p,.puja-process p,.puja-preparation p,.puja-muhurat p,.puja-book__copy>p,.puja-faq p { font-size:1.02rem; line-height:1.75; }
.puja-panel--dark { background:linear-gradient(145deg,#6a1c11,#35100b); color:#ffedc1; box-shadow:inset 0 0 0 5px rgba(220,163,63,.16),0 18px 44px rgba(91,39,11,.2); }
.puja-panel--dark h2 { color:#ffdfa0; font-size:clamp(1.8rem,2.6vw,2.65rem); }
.puja-checks { margin:24px 0 0; padding:0; list-style:none; }
.puja-checks li { position:relative; padding:13px 0 13px 29px; border-bottom:1px solid rgba(255,228,161,.22); line-height:1.5; }
.puja-checks li::before { content:"\2726"; position:absolute; left:0; color:#e8ad3d; }
.puja-process { padding:90px 0; background:linear-gradient(rgba(78,18,10,.96),rgba(78,18,10,.96)),radial-gradient(circle at 20% 20%,#bd671e,transparent 40%); color:#ffe9b7; border-block:4px double #d69a35; }
.puja-process .puja-section-label,.puja-process h2 { color:#ffdda0; text-align:center; }
.puja-steps { margin-top:45px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:step; }
.puja-steps article { position:relative; min-height:280px; padding:32px 25px; border:1px solid rgba(235,182,77,.58); background:linear-gradient(145deg,rgba(255,244,208,.1),rgba(0,0,0,.14)); box-shadow:inset 0 0 0 4px rgba(255,222,153,.05); }
.puja-steps article span { color:#eab24b; font:700 2.3rem/1 Alice,Georgia,serif; opacity:.75; }
.puja-steps h3 { margin:26px 0 12px; color:#fff0c7; font:700 1.42rem/1.15 Alice,Georgia,serif; }
.puja-steps p { margin:0; font-size:.94rem; line-height:1.65; color:#f5ddb0; }
.puja-gallery { padding:95px 0 35px; text-align:center; }
.puja-gallery h2 { margin:0 0 14px; color:#58150e; font:700 clamp(2rem,3.5vw,3.35rem)/1.05 Alice,Georgia,serif; letter-spacing:-.025em; }
.puja-gallery__intro { max-width:720px; margin:0 auto 38px; font-size:1.02rem; line-height:1.7; }
.puja-gallery__grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:16px; text-align:left; }
.puja-gallery figure { position:relative; min-height:390px; margin:0; overflow:hidden; border:1px solid #ad6c21; background:#5b180f; box-shadow:0 18px 36px rgba(83,31,8,.18),inset 0 0 0 5px rgba(255,235,179,.15); }
.puja-gallery figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(40,9,4,.9)); pointer-events:none; }
.puja-gallery img { width:100%; height:100%; min-height:390px; display:block; object-fit:cover; transition:transform .45s ease; }
.puja-gallery figure:hover img { transform:scale(1.035); }
.puja-gallery figcaption { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:42px 22px 20px; color:#fff0c8; font:700 .92rem/1.45 Montserrat,Arial,sans-serif; }
.puja-gallery figcaption span { display:block; margin-bottom:6px; color:#e7ad42; font:700 1.45rem/1 Alice,Georgia,serif; }
.puja-preparation { padding:95px 0; display:grid; grid-template-columns:.65fr 1.35fr; gap:65px; align-items:center; }
.puja-preparation__wheel { aspect-ratio:1; display:grid; place-items:center; border:18px double #b7761d; border-radius:50%; background:radial-gradient(circle,#fff0be 0 36%,#d2a13c 37% 42%,#6a1b12 43% 47%,#e2b550 48% 58%,#8b2716 59%); box-shadow:0 22px 50px rgba(88,36,8,.23); }
.puja-preparation__wheel span { width:42%; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:#f9e1a6; color:#8b2514; font:700 clamp(3rem,8vw,7rem)/1 serif; }
.puja-checks--light { display:grid; grid-template-columns:repeat(2,1fr); gap:8px 22px; }
.puja-checks--light li { border-color:rgba(113,48,15,.18); }
.puja-note { margin-top:24px; padding:18px 20px; border-left:4px solid #b7791f; background:#fff5d9; }
.puja-muhurat { padding:68px 0; background:linear-gradient(90deg,#d89a2e,#f6dc9b 48%,#c98223); border-block:2px solid #8b3a14; }
.puja-muhurat .puja-shell { display:grid; grid-template-columns:120px 1fr auto; gap:30px; align-items:center; }
.puja-muhurat__icon { width:110px; aspect-ratio:1; display:grid; place-items:center; border:8px double #6e1d10; border-radius:50%; color:#6e1d10; font-size:4.4rem; }
.puja-muhurat h2 { margin-bottom:10px; font-size:clamp(1.8rem,3vw,2.8rem); }
.puja-muhurat p { margin:0; max-width:720px; }
.puja-muhurat a { max-width:210px; text-align:center; }
.puja-book { padding:100px 0; display:grid; grid-template-columns:.85fr 1.15fr; gap:58px; align-items:start; }
.puja-contact-card { margin-top:30px; padding:24px; display:flex; flex-direction:column; gap:8px; border:1px solid #b97824; background:#efe0b5; }
.puja-contact-card strong { color:#6a1c11; font:700 1.25rem Alice,Georgia,serif; }
.puja-contact-card a { color:#14633a; font:800 1.7rem Montserrat,Arial,sans-serif; text-decoration:none; }
.puja-contact-card span { font-size:.88rem; }
.puja-booking { padding:34px; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; border:7px double #8b3518; background:linear-gradient(#fff2c9,#e8c77f); box-shadow:0 20px 50px rgba(84,31,9,.2); }
.puja-booking label { display:flex; flex-direction:column; gap:7px; color:#612115; font:700 .75rem Montserrat,Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.puja-booking input,.puja-booking textarea { width:100%; border:1px solid #a86524; border-radius:3px; background:rgba(255,250,231,.82); color:#3e1a12; font:500 .95rem Roboto,Arial,sans-serif; padding:13px 14px; outline:none; }
.puja-booking input:focus,.puja-booking textarea:focus { border-color:#6f1c11; box-shadow:0 0 0 3px rgba(141,41,24,.14); }
.puja-booking__wide,.puja-booking button,.puja-booking p { grid-column:1/-1; }
.puja-booking button { min-height:54px; border:1px solid #f0c367; border-radius:8px 8px 15px 15px; background:linear-gradient(#277d48,#15562f); box-shadow:inset 0 0 0 2px rgba(29,74,44,.4); color:white; font:800 .9rem Montserrat,Arial,sans-serif; cursor:pointer; }
.puja-booking p { margin:0; text-align:center; font-size:.8rem; }
.puja-faq { padding:20px 0 100px; }
.puja-faq>.puja-section-label,.puja-faq>h2 { text-align:center; }
.puja-faq__grid { margin-top:38px; display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.puja-faq details { border:1px solid #bd7d2c; background:#fff5d9; box-shadow:inset 0 0 0 3px rgba(215,166,72,.12); }
.puja-faq summary { padding:20px 48px 20px 22px; position:relative; color:#5f1a10; font:700 1.08rem/1.35 Alice,Georgia,serif; cursor:pointer; list-style:none; }
.puja-faq summary::after { content:"+"; position:absolute; right:20px; top:16px; color:#a6681b; font-size:1.7rem; }
.puja-faq details[open] summary::after { content:"-"; }
.puja-faq details p { margin:0; padding:0 22px 22px; font-size:.94rem; }
.puja-final { padding:80px 0; text-align:center; background:linear-gradient(120deg,#7e1d11,#a83a19 50%,#5d140d); color:#ffe5ac; border-top:5px double #d69a35; }
.puja-final p { margin:0 0 12px; font:700 1.05rem Alice,Georgia,serif; }
.puja-final h2 { color:#fff0c9; }
.puja-final .puja-actions { justify-content:center; }

@media (max-width:900px) {
  .puja-hero { min-height:780px; align-items:start; }
  .puja-hero::after { background:linear-gradient(180deg,#f7e3b2 0%,rgba(247,227,178,.96) 48%,rgba(247,227,178,.35) 67%,transparent 80%); }
  .puja-hero__photo { top:auto; bottom:58px; width:100%; height:46%; }
  .puja-hero__photo img { object-position:center 42%; }
  .puja-hero__inner { padding-top:105px; text-align:center; }
  .puja-hero__copy { width:min(650px,100%); margin:auto; }
  .puja-actions { justify-content:center; }
  .puja-story,.puja-book { grid-template-columns:1fr; }
  .puja-steps { grid-template-columns:repeat(2,1fr); }
  .puja-preparation { grid-template-columns:280px 1fr; gap:35px; }
  .puja-gallery__grid { grid-template-columns:1fr 1fr; }
  .puja-gallery figure:first-child { grid-column:1/-1; }
  .puja-muhurat .puja-shell { grid-template-columns:90px 1fr; }
  .puja-muhurat a { grid-column:2; }
  .puja-muhurat__icon { width:85px; font-size:3rem; }
}

@media (max-width:600px) {
  .puja-shell { width:min(100% - 28px,1180px); }
  .puja-hero { min-height:850px; }
  .puja-hero__photo { height:43%; }
  .puja-hero__inner { padding:90px 18px 390px; }
  .puja-hero h1 { font-size:clamp(2.35rem,11vw,3.5rem); }
  .puja-hero__lead { font-size:.95rem; line-height:1.55; }
  .puja-actions a { flex:1 1 145px; padding-inline:12px; font-size:.74rem; }
  .puja-hero__ribbon { min-height:48px; padding:10px; gap:14px; font-size:.56rem; }
  .puja-hero__ribbon span:last-child { display:none; }
  .puja-welcome { padding-top:42px; }
  .puja-story { padding-bottom:55px; }
  .puja-panel { padding:34px 27px; }
  .puja-process { padding:65px 0; }
  .puja-steps { grid-template-columns:1fr; }
  .puja-steps article { min-height:auto; }
  .puja-gallery { padding-top:65px; }
  .puja-gallery__grid { grid-template-columns:1fr; }
  .puja-gallery figure:first-child { grid-column:auto; }
  .puja-gallery figure,.puja-gallery img { min-height:310px; }
  .puja-preparation { padding:65px 0; grid-template-columns:1fr; }
  .puja-preparation__wheel { width:220px; margin:auto; }
  .puja-checks--light { grid-template-columns:1fr; }
  .puja-muhurat .puja-shell { grid-template-columns:1fr; text-align:center; }
  .puja-muhurat__icon,.puja-muhurat a { grid-column:auto; margin:auto; }
  .puja-book { padding:70px 0; gap:35px; }
  .puja-booking { padding:24px 18px; grid-template-columns:1fr; }
  .puja-booking label,.puja-booking__wide,.puja-booking button,.puja-booking p { grid-column:1; }
  .puja-faq { padding-bottom:70px; }
  .puja-faq__grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) { .puja-page * { scroll-behavior:auto!important; transition:none!important; } }
