/* =====================================================================
   PT. MUKESH PETWAL — FOUNDER & JYOTISHACHARYA BIOGRAPHY PAGE
   Styles: public/css/pandit.css (app/Views/pages/pandit.php)
   Scoped strictly under .pp for style isolation and premium aesthetics.
   ===================================================================== */

.pp {
    --night: #12070a;
    --night-2: #1f0b10;
    --maroon: #8B1A1A;
    --maroon-dark: #6e1419;
    --gold: #C59B2B;
    --gold-hi: #F6DC98;
    --gold-soft: #E2B46A;
    --gold-lo: #8A6417;
    --gold-grad: linear-gradient(135deg, #F6DC98 0%, #D9B048 38%, #C59B2B 62%, #8A6417 100%);
    --ivory: #FFF8EF;
    --cream: #FBF3E7;
    --ink: #241c19;
    --muted: #6a5d52;
    --border: #EFE3CF;
    --wa: #1FAF54;
    --serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --sans: "Raleway", "Roboto", system-ui, sans-serif;
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --ease-io: cubic-bezier(.65, 0, .35, 1);
    --radius: 20px;
    --shadow-card: 0 1px 2px rgba(60, 31, 18, .04), 0 16px 40px -16px rgba(60, 31, 18, .22);
    --shadow-lift: 0 2px 4px rgba(60, 31, 18, .05), 0 30px 64px -22px rgba(110, 20, 25, .38);

    --pp-facets-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%23fff' stroke='%23fff' stroke-opacity='.10' stroke-width='.6'%3E%3Cpath d='M0 0L0 40L40 40Z' fill-opacity='0.050'/%3E%3Cpath d='M0 0L80 0L40 40Z' fill-opacity='0.110'/%3E%3Cpath d='M80 0L40 40L120 40Z' fill-opacity='0.020'/%3E%3Cpath d='M80 0L120 40L160 40Z' fill-opacity='0.080'/%3E%3Cpath d='M80 0L160 0L160 40Z' fill-opacity='0.140'/%3E%3Cpath d='M0 40L40 40L0 80Z' fill-opacity='0.040'/%3E%3Cpath d='M40 40L0 80L80 80Z' fill-opacity='0.090'/%3E%3Cpath d='M40 40L120 40L80 80Z' fill-opacity='0.010'/%3E%3Cpath d='M120 40L80 80L160 80Z' fill-opacity='0.120'/%3E%3Cpath d='M120 40L160 40L160 80Z' fill-opacity='0.060'/%3E%3Cpath d='M0 80L0 120L40 120Z' fill-opacity='0.030'/%3E%3Cpath d='M0 80L80 80L40 120Z' fill-opacity='0.100'/%3E%3Cpath d='M80 80L40 120L120 120Z' fill-opacity='0.070'/%3E%3Cpath d='M80 80L120 120L160 120Z' fill-opacity='0.130'/%3E%3Cpath d='M80 80L160 80L160 120Z' fill-opacity='0.020'/%3E%3Cpath d='M0 120L40 120L0 160Z' fill-opacity='0.080'/%3E%3Cpath d='M40 120L0 160L80 160Z' fill-opacity='0.050'/%3E%3Cpath d='M40 120L120 120L80 160Z' fill-opacity='0.110'/%3E%3Cpath d='M120 120L80 160L160 160Z' fill-opacity='0.030'/%3E%3Cpath d='M120 120L160 120L160 160Z' fill-opacity='0.090'/%3E%3C/g%3E%3C/svg%3E");
    --pp-facets-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%23C59B2B' stroke='%23C59B2B' stroke-opacity='.12' stroke-width='.6'%3E%3Cpath d='M0 0L0 40L40 40Z' fill-opacity='0.035'/%3E%3Cpath d='M0 0L80 0L40 40Z' fill-opacity='0.077'/%3E%3Cpath d='M80 0L40 40L120 40Z' fill-opacity='0.014'/%3E%3Cpath d='M80 0L120 40L160 40Z' fill-opacity='0.056'/%3E%3Cpath d='M80 0L160 0L160 40Z' fill-opacity='0.098'/%3E%3Cpath d='M0 40L40 40L0 80Z' fill-opacity='0.028'/%3E%3Cpath d='M40 40L0 80L80 80Z' fill-opacity='0.063'/%3E%3Cpath d='M40 40L120 40L80 80Z' fill-opacity='0.007'/%3E%3Cpath d='M120 40L80 80L160 80Z' fill-opacity='0.084'/%3E%3Cpath d='M120 40L160 40L160 80Z' fill-opacity='0.042'/%3E%3Cpath d='M0 80L0 120L40 120Z' fill-opacity='0.021'/%3E%3Cpath d='M0 80L80 80L40 120Z' fill-opacity='0.070'/%3E%3Cpath d='M80 80L40 120L120 120Z' fill-opacity='0.049'/%3E%3Cpath d='M80 80L120 120L160 120Z' fill-opacity='0.091'/%3E%3Cpath d='M80 80L160 80L160 120Z' fill-opacity='0.014'/%3E%3Cpath d='M0 120L40 120L0 160Z' fill-opacity='0.056'/%3E%3Cpath d='M40 120L0 160L80 160Z' fill-opacity='0.035'/%3E%3Cpath d='M40 120L120 120L80 160Z' fill-opacity='0.077'/%3E%3Cpath d='M120 120L80 160L160 160Z' fill-opacity='0.021'/%3E%3Cpath d='M120 120L160 120L160 160Z' fill-opacity='0.063'/%3E%3C/g%3E%3C/svg%3E");

    font-family: var(--sans);
    color: var(--ink);
    background: var(--ivory);
    background-image: var(--pp-facets-light);
    overflow-x: clip;
    overflow-y: visible;
}

.pp *, .pp *::before, .pp *::after { box-sizing: border-box; }
.pp img { max-width: 100%; display: block; }
.pp a { text-decoration: none; }
.pp :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 6px; }

/* Centered icon rules */
.pp [class^="flaticon-"]::before,
.pp [class*=" flaticon-"]::before,
.pp [class^="flaticon-"]::after,
.pp [class*=" flaticon-"]::after,
.pp .fa::before,
.pp .fa::after {
    margin: 0 !important;
    display: inline-block;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}

/* Sections & Headers */
.pp-section {
    padding: clamp(68px, 8vw, 110px) 0;
    position: relative;
    isolation: isolate;
    background: var(--ivory);
}
.pp-section--cream { background: var(--cream); }
.pp-section--night {
    background: radial-gradient(1200px 700px at 78% 40%, rgba(139, 26, 26, .55), transparent 60%),
                radial-gradient(900px 600px at 10% 110%, rgba(197, 155, 43, .16), transparent 60%),
                linear-gradient(180deg, #1c0a0e 0%, var(--night) 100%);
    color: #fff;
}

.pp-head { text-align: center; max-width: 820px; margin: 0 auto clamp(36px, 4.5vw, 60px); }
.pp-head--left { text-align: left; margin-left: 0; }
.pp-eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    font: 600 12.5px/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase;
    color: var(--maroon); margin: 0 0 16px;
}
.pp-eyebrow__line { width: 36px; height: 1px; background: var(--gold); }
.pp-eyebrow--light { color: var(--gold-soft); }
.pp-eyebrow--light .pp-eyebrow__line { background: var(--gold-soft); }

.pp-title {
    font: 600 clamp(34px, 4.4vw, 54px)/1.1 var(--serif);
    color: var(--ink); margin: 0; letter-spacing: -.01em;
}
.pp-title em { color: var(--maroon); font-style: italic; }
.pp-title--sm { font-size: clamp(28px, 3.4vw, 42px); }
.pp-intro { font-size: 17px; line-height: 1.75; color: var(--muted); margin: 18px auto 0; max-width: 680px; }

.pp-shimmer {
    color: transparent; font-style: italic;
    background: linear-gradient(100deg, #C59B2B 0%, #F6DC98 25%, #fff6dc 35%, #D9B048 50%, #C59B2B 70%, #F6DC98 100%);
    background-size: 220% 100%; -webkit-background-clip: text; background-clip: text;
    animation: pp-shimmer 6s linear infinite;
}

/* 3D Liquid Cut-Gem Buttons */
.pp-btn {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 50px; padding: 0 28px; border-radius: 999px; border: 0; cursor: pointer;
    font: 600 13.5px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    isolation: isolate; overflow: hidden; white-space: nowrap; text-decoration: none !important;
    transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), color .3s, filter .3s;
}
.pp-btn i { font-size: 16px; transition: transform .35s var(--ease-out); }
.pp-btn:hover { filter: brightness(1.06) saturate(1.08); transform: translateY(-2px); }

.pp-btn--gold {
    color: #3b0d10 !important; text-shadow: 0 1px 0 rgba(255, 245, 215, .55);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 45%, rgba(90, 55, 0, 0) 60%, rgba(90, 55, 0, .3) 100%),
        linear-gradient(115deg, #8A6417 0%, #D9B048 16%, #FFF1C4 30%, #C59B2B 45%, #F6DC98 60%, #A77A1E 78%, #EBCB6E 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -2px 1px rgba(110, 70, 10, .45),
        0 3px 0 #8A6417, 0 14px 30px -10px rgba(197, 155, 43, .8);
}
.pp-btn--maroon {
    color: #fff !important; text-shadow: 0 1px 1px rgba(40, 0, 0, .5);
    background:
        linear-gradient(180deg, rgba(255, 200, 200, .32) 0%, rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(30, 0, 0, .35) 100%),
        linear-gradient(115deg, #4a0b10 0%, #8B1A1A 22%, #cf4a4f 36%, #8B1A1A 52%, #b52d34 70%, #5a0f14 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 190, 190, .6), inset 0 -2px 1px rgba(40, 0, 0, .55),
        0 3px 0 #4a0b10, 0 14px 30px -10px rgba(139, 26, 26, .75);
}
.pp-btn--wa {
    color: #fff !important; text-shadow: 0 1px 1px rgba(0, 40, 15, .45);
    background:
        linear-gradient(180deg, rgba(210, 255, 225, .35) 0%, rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(0, 35, 15, .35) 100%),
        linear-gradient(115deg, #0b5d2c 0%, #1FAF54 22%, #7ce8a4 36%, #1FAF54 52%, #16a049 70%, #0a4f25 100%);
    box-shadow:
        inset 0 1px 0 rgba(210, 255, 225, .7), inset 0 -2px 1px rgba(0, 45, 18, .5),
        0 3px 0 #0b5d2c, 0 14px 30px -10px rgba(31, 175, 84, .75);
}
.pp-btn--ghost-dark {
    color: var(--maroon) !important; background: #fff;
    box-shadow: inset 0 0 0 1px var(--gold-soft), 0 4px 14px rgba(60, 31, 18, .08);
}
.pp-btn--ghost-dark:hover {
    color: var(--maroon) !important; background: var(--cream);
    box-shadow: inset 0 0 0 1px var(--gold), 0 8px 24px rgba(60, 31, 18, .12);
}

/* 4-Pillar Trust Concierge */
.pp-hero-trust {
    position: relative; z-index: 4; background: #fffdf9;
    border-top: 1px solid rgba(246, 220, 152, 0.35);
    border-bottom: 1px solid rgba(197, 155, 43, 0.22);
    padding: 24px 0;
    box-shadow: 0 10px 30px -15px rgba(60, 31, 18, 0.1);
}
.pp-hero-trust__deck { display: flex; flex-direction: column; gap: 16px; }
.pp-hero-trust__pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pp-trust-pod {
    display: flex; align-items: center; gap: 14px; padding: 12px 16px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(253, 247, 237, 0.85) 100%);
    border: 1px solid rgba(197, 155, 43, 0.2); border-radius: 14px;
    box-shadow: 0 4px 14px -6px rgba(60, 31, 18, 0.06);
    transition: transform 0.35s var(--ease-out), border-color 0.3s;
}
.pp-trust-pod:hover { transform: translateY(-2px); border-color: var(--gold); }
.pp-trust-pod__icon {
    display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
    background: linear-gradient(135deg, #FFF1C4 0%, #D9B048 45%, #C59B2B 75%, #8A6417 100%);
    color: #3b0d10; font-size: 15px; flex-shrink: 0;
}
.pp-trust-pod__title { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); line-height: 1.25; }
.pp-trust-pod__desc { display: block; font-size: 11.5px; font-weight: 500; color: var(--muted); margin-top: 2px; }

.pp-hero-trust__concierge { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pp-hero-trust__tagline { display: flex; align-items: center; gap: 12px; }
.pp-hero-trust__tagline strong { font-family: var(--serif); font-size: 18px; font-weight: 600; color: var(--ink); }
.pp-hero-trust__tagline span { font-size: 13px; color: var(--muted); }
.pp-hero-trust__ctas { display: flex; align-items: center; gap: 14px; }
.pp-hero-trust__ctas .pp-btn { min-height: 48px; padding: 0 24px; font-size: 13px; }

/* =====================================================================
   SECTION: FOUNDER BIO & VEDIC SADHNA (Sticky Visual)
   ===================================================================== */
.pp-founder__grid {
    display: grid; grid-template-columns: 5fr 6fr; gap: clamp(36px, 4.5vw, 60px);
    align-items: start; position: relative;
}

/* STICKY FOUNDER PORTRAIT */
.pp-founder__visual { position: relative; }
@media (min-width: 992px) {
    .pp-founder__visual {
        position: -webkit-sticky;
        position: sticky;
        top: 115px;
        align-self: start;
        z-index: 4;
        will-change: transform;
    }
}
.pp-founder__frame-wrap {
    position: relative; border-radius: 28px; padding: 10px;
    background: linear-gradient(145deg, rgba(246, 220, 152, 0.75), rgba(255, 255, 255, 0.95), rgba(197, 155, 43, 0.5));
    box-shadow: 0 24px 50px -15px rgba(60, 31, 18, 0.22);
}
.pp-founder__aura {
    position: absolute; inset: -14px; border-radius: 36px;
    border: 1.5px dashed var(--gold-soft); opacity: 0.55; pointer-events: none;
    z-index: -1; animation: pp-spin 120s linear infinite;
}
.pp-founder__frame { position: relative; border-radius: 20px; overflow: hidden; background: #fff; }
.pp-founder__frame img {
    width: 100%; height: 460px; object-fit: cover; object-position: center top; display: block;
    transition: transform 0.8s var(--ease-out);
}
.pp-founder__frame:hover img { transform: scale(1.035); }
.pp-founder__caption {
    position: absolute; bottom: 18px; left: 18px; right: 18px;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 20px; border-radius: 999px; background: rgba(18, 4, 7, 0.88);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(246, 220, 152, 0.45); color: #fff;
}
.pp-founder__caption-text strong {
    display: block; font-family: var(--serif); font-size: 16px; font-weight: 600; color: #fff;
}
.pp-founder__caption-text small {
    display: block; font-size: 12px; color: var(--gold-hi); font-weight: 500;
}
.pp-founder__badge-seal {
    font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 999px; background: var(--maroon); color: #fff;
}

/* Founder Editorial Narrative */
.pp-founder__narrative { display: flex; flex-direction: column; gap: 20px; }
.pp-founder__phone-chip {
    display: inline-flex; align-items: center; gap: 10px; padding: 8px 20px;
    border-radius: 999px; background: rgba(139, 26, 26, 0.08); border: 1px solid rgba(197, 155, 43, 0.35);
    font-family: var(--sans); font-size: 14px; font-weight: 700; color: var(--maroon);
}
.pp-founder__phone-chip:hover { color: var(--gold-lo); }

.pp-card {
    position: relative; padding: 26px 30px; border-radius: 20px;
    background: #fff; border: 1px solid rgba(197, 155, 43, 0.22);
    box-shadow: var(--shadow-card);
}
.pp-card__accent {
    position: absolute; left: 0; top: 20px; bottom: 20px; width: 4px; border-radius: 0 4px 4px 0;
    background: var(--gold-grad);
}
.pp-card p {
    margin: 0; font-size: 15.5px; line-height: 1.8; color: #433932; text-align: left;
}
.pp-card p + p { margin-top: 14px; }

.pp-creds-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 4px;
}
.pp-cred-pod {
    display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px;
    background: #fff; border: 1px solid rgba(197, 155, 43, 0.22);
    box-shadow: 0 2px 8px rgba(60, 31, 18, 0.04);
}
.pp-cred-pod__icon {
    width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
    background: var(--gold-grad); color: #3b0d10; font-size: 14px; flex-shrink: 0;
}
.pp-cred-pod__text { font-size: 13.5px; font-weight: 600; color: var(--ink); line-height: 1.35; }

/* =====================================================================
   SECTION: SPIRITUAL GUIDANCE & GOLD MEDAL (Sticky Media)
   ===================================================================== */
.pp-guidance__box {
    display: grid; grid-template-columns: 5fr 6fr; gap: clamp(36px, 4.5vw, 60px);
    align-items: start; border-radius: 24px; padding: clamp(28px, 4vw, 48px);
    background: #fff;
    border: 1px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(145deg, rgba(246, 220, 152, .95), var(--border) 32%, var(--border) 68%, rgba(197, 155, 43, .85)) border-box;
    box-shadow: var(--shadow-card);
}
.pp-medal__visual { position: relative; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lift); }
@media (min-width: 992px) {
    .pp-medal__visual {
        position: -webkit-sticky;
        position: sticky;
        top: 115px;
        align-self: start;
        z-index: 4;
        will-change: transform;
    }
}
.pp-medal__visual img { width: 100%; height: auto; display: block; }
.pp-medal__zoom {
    position: absolute; inset: 0; display: grid; place-items: center;
    background: rgba(18, 7, 10, .4); opacity: 0; transition: opacity .35s;
    color: #fff; font-size: 14px; font-weight: 700;
}
.pp-medal__zoom i {
    width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
    background: var(--gold-grad); color: #3b0d10; font-size: 20px;
}
.pp-medal__visual:hover .pp-medal__zoom { opacity: 1; }

/* =====================================================================
   SECTION: HONOURS & ACCOLADES GALLERY GRID
   ===================================================================== */
.pp-gallery__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.pp-gallery-card {
    position: relative; border-radius: 18px; overflow: hidden;
    background: #fff; border: 1px solid rgba(197, 155, 43, 0.25);
    box-shadow: var(--shadow-card);
    transition: transform .4s var(--ease-out), box-shadow .4s;
}
.pp-gallery-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.pp-gallery-card img {
    width: 100%; height: 260px; object-fit: cover; display: block;
    transition: transform 0.6s var(--ease-out);
}
.pp-gallery-card:hover img { transform: scale(1.05); }
.pp-gallery-card__caption {
    padding: 16px 18px; background: #fff; border-top: 1px solid rgba(197, 155, 43, 0.15);
}
.pp-gallery-card__caption p {
    margin: 0; font-size: 13.5px; line-height: 1.5; color: #433932; font-weight: 600;
}

/* =====================================================================
   SECTION: GRAND COSMIC CLOSING CTA BAND
   ===================================================================== */
.pp-band {
    position: relative; overflow: hidden; padding: clamp(68px, 8vw, 104px) 0;
    color: #fff; text-align: center;
    background:
        radial-gradient(900px 500px at 50% 20%, rgba(139, 26, 26, .7), transparent 70%),
        linear-gradient(180deg, var(--night-2), var(--night));
}
.pp-band::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: 150vmax; height: 150vmax; margin: -75vmax 0 0 -75vmax; pointer-events: none;
    background: conic-gradient(from 0deg, transparent 0deg, rgba(139, 26, 26, .5) 55deg, rgba(197, 155, 43, .24) 115deg, transparent 165deg,
        rgba(96, 44, 150, .24) 215deg, rgba(139, 26, 26, .42) 275deg, rgba(197, 155, 43, .18) 330deg, transparent 360deg);
    filter: blur(70px); animation: pp-spin 80s linear infinite;
}
.pp-band > .container { position: relative; z-index: 2; }
.pp-band h2 {
    font: 600 clamp(32px, 4.4vw, 54px)/1.15 var(--serif); color: #fff; margin: 0 0 18px;
}
.pp-band h2 em { color: transparent; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; }
.pp-band p {
    font-size: 17px; line-height: 1.75; color: rgba(255, 244, 228, .8); max-width: 620px; margin: 0 auto 34px;
}
.pp-band__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

/* Responsive */
@media (max-width: 1199px) {
    .pp-hero-trust__pillars { grid-template-columns: repeat(2, 1fr); }
    .pp-hero-trust__concierge { flex-direction: column; align-items: flex-start; gap: 14px; }
    .pp-gallery__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
    .pp-founder__grid { grid-template-columns: 1fr; }
    .pp-guidance__box { grid-template-columns: 1fr; }
    .pp-founder__frame img { height: 350px; }
}
@media (max-width: 767px) {
    .pp-hero-trust__pillars { grid-template-columns: 1fr; }
    .pp-hero-trust__ctas { flex-direction: column; width: 100%; }
    .pp-hero-trust__ctas .pp-btn { width: 100%; }
    .pp-creds-grid { grid-template-columns: 1fr; }
    .pp-gallery__grid { grid-template-columns: 1fr; }
    .pp-band__ctas { flex-direction: column; width: 100%; }
    .pp-btn { width: 100%; justify-content: center; }
}

@keyframes pp-shimmer { to { background-position: -220% 0; } }
@keyframes pp-spin { to { transform: rotate(360deg); } }
