
/* ── Reset & Variables ─────────────────────────── */
.pmg-hero{
    --pmg-primary:#2E0651;
    --pmg-secondary:#E5932A;
    --pmg-accent:#A22A46;
    --pmg-gold:#F8D295;
    --pmg-cream:#F3E6D9;
    --pmg-white:#FFFFFF;
    position:relative;
    width:100%;
    height:100svh;
    min-height:580px;
    overflow:hidden;
    font-family:'Segoe UI',system-ui,sans-serif;
}

/* ── Slides ──────────────────────────────────────── */
.pmg-hero__slides{
    position:relative;
    width:100%;
    height:100%;
}
.pmg-hero__slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .9s ease, visibility .9s ease;
    will-change:opacity;
}
.pmg-hero__slide.pmg-active{
    opacity:1;
    visibility:visible;
    z-index:2;
}
.pmg-hero__slide.pmg-prev{
    opacity:0;
    z-index:1;
}

/* ── Background image ────────────────────────── */
.pmg-hero__bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center top;
    transform:scale(1.08);
    transition:transform 7s ease;
    will-change:transform;
}
.pmg-hero__slide.pmg-active .pmg-hero__bg{
    transform:scale(1);
}
.pmg-hero__overlay{
    position:absolute;
    inset:0;
}

/* ── Ornamental SVG border top ───────────────── */
.pmg-hero__ornament{
    position:absolute;
    top:0;left:0;right:0;
    height:6px;
    background:linear-gradient(90deg,transparent,var(--pmg-gold),var(--pmg-secondary),var(--pmg-gold),transparent);
    z-index:10;
}

/* ── Particle canvas ─────────────────────────── */
.pmg-hero__particles{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:3;
    overflow:hidden;
}
.pmg-particle{
    position:absolute;
    font-size:1.1rem;
    opacity:0;
    animation:pmgParticleFall 6s ease-in infinite;
    color:var(--pmg-gold);
    user-select:none;
    pointer-events:none;
}
@keyframes pmgParticleFall{
    0%  {transform:translateY(-30px) rotate(0deg);   opacity:0;}
    10% {opacity:.7;}
    80% {opacity:.4;}
    100%{transform:translateY(105vh) rotate(360deg);  opacity:0;}
}

/* ── Geometric mandala ring ──────────────────── */
.pmg-hero__mandala{
    position:absolute;
    right:-80px;
    top:50%;
    transform:translateY(-50%);
    width:520px;
    height:520px;
    opacity:.13;
    animation:pmgMandalaRotate 40s linear infinite;
    pointer-events:none;
    z-index:3;
}
@keyframes pmgMandalaRotate{
    from{transform:translateY(-50%) rotate(0deg);}
    to  {transform:translateY(-50%) rotate(360deg);}
}
.pmg-hero__mandala svg{width:100%;height:100%;}

/* ── Content ─────────────────────────────────── */
.pmg-hero__content{
    position:absolute;
    inset:0;
    z-index:5;
    display:flex;
    align-items:center;
    padding:0 clamp(1.25rem,5vw,6rem);
}
.pmg-hero__inner{
    max-width:660px;
}

/* Tag badge */
.pmg-hero__tag{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:rgba(229,147,42,.18);
    border:1px solid rgba(248,210,149,.45);
    border-radius:100px;
    padding:.35rem 1rem;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--pmg-gold);
    margin-bottom:1.2rem;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s .1s, transform .6s .1s;
    backdrop-filter:blur(4px);
}
.pmg-hero__tag::before{
    content:'';
    display:inline-block;
    width:6px;height:6px;
    border-radius:50%;
    background:var(--pmg-secondary);
    animation:pmgPulse 1.5s infinite;
}
@keyframes pmgPulse{
    0%,100%{opacity:1;transform:scale(1);}
    50%{opacity:.5;transform:scale(1.5);}
}

/* Heading */
.pmg-hero__heading{
    font-size:clamp(2rem,5.5vw,4rem);
    font-weight:800;
    line-height:1.12;
    color:var(--pmg-white);
    margin:0 0 1.1rem;
    opacity:0;
    transform:translateY(30px);
    transition:opacity .7s .25s, transform .7s .25s;
    text-shadow:0 2px 24px rgba(0,0,0,.45);
}
.pmg-hero__heading em{
    font-style:normal;
    color:var(--pmg-gold);
    position:relative;
}
.pmg-hero__heading em::after{
    content:'';
    position:absolute;
    left:0;bottom:-3px;right:0;
    height:2px;
    background:linear-gradient(90deg,var(--pmg-secondary),transparent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform 1s 1s;
}
.pmg-hero__slide.pmg-active .pmg-hero__heading em::after{
    transform:scaleX(1);
}

/* Sub text */
.pmg-hero__sub{
    font-size:clamp(.9rem,1.8vw,1.1rem);
    line-height:1.7;
    color:rgba(243,230,217,.9);
    margin:0 0 2rem;
    max-width:500px;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .7s .45s, transform .7s .45s;
}

/* CTA buttons */
.pmg-hero__ctas{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .7s .6s, transform .7s .6s;
}
.pmg-hero__slide.pmg-active .pmg-hero__tag,
.pmg-hero__slide.pmg-active .pmg-hero__heading,
.pmg-hero__slide.pmg-active .pmg-hero__sub,
.pmg-hero__slide.pmg-active .pmg-hero__ctas{
    opacity:1;
    transform:translateY(0);
}

.pmg-btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.75rem 1.75rem;
    border-radius:50px;
    font-size:.92rem;
    font-weight:700;
    letter-spacing:.04em;
    text-decoration:none;
    cursor:pointer;
    transition:transform .25s,box-shadow .25s,background .25s;
    border:none;
    outline:none;
    position:relative;
    overflow:hidden;
}
.pmg-btn::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.12);
    opacity:0;
    transition:opacity .25s;
}
.pmg-btn:hover::after{opacity:1;}
.pmg-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.4);}
.pmg-btn:active{transform:translateY(0);}

.pmg-btn--primary{
    background:linear-gradient(135deg,var(--pmg-secondary),#c4731a);
    color:var(--pmg-white);
    box-shadow:0 4px 18px rgba(229,147,42,.4);
}
.pmg-btn--secondary{
    background:rgba(255,255,255,.1);
    color:var(--pmg-white);
    border:1.5px solid rgba(248,210,149,.5);
    backdrop-filter:blur(6px);
}

/* ── Stats strip ─────────────────────────────── */
.pmg-hero__stats{
    position:absolute;
    bottom:0;left:0;right:0;
    z-index:8;
    display:flex;
    justify-content:center;
    gap:0;
    background:rgba(46,6,81,.72);
    backdrop-filter:blur(10px);
    border-top:1px solid rgba(248,210,149,.2);
}
.pmg-hero__stat{
    flex:1;
    max-width:200px;
    text-align:center;
    padding:.9rem .5rem;
    border-right:1px solid rgba(248,210,149,.1);
    opacity:0;
    animation:pmgFadeUp .7s forwards;
}
.pmg-hero__stat:last-child{border-right:none;}
.pmg-hero__stat:nth-child(1){animation-delay:.2s;}
.pmg-hero__stat:nth-child(2){animation-delay:.4s;}
.pmg-hero__stat:nth-child(3){animation-delay:.6s;}
.pmg-hero__stat:nth-child(4){animation-delay:.8s;}
@keyframes pmgFadeUp{
    from{opacity:0;transform:translateY(14px);}
    to  {opacity:1;transform:translateY(0);}
}
.pmg-stat__num{
    font-size:1.4rem;
    font-weight:800;
    color:var(--pmg-gold);
    line-height:1.1;
    display:block;
}
.pmg-stat__label{
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(243,230,217,.7);
    display:block;
    margin-top:.2rem;
}

/* ── Navigation dots ─────────────────────────── */
.pmg-hero__dots{
    position:absolute;
    right:2rem;
    top:50%;
    transform:translateY(-50%);
    z-index:9;
    display:flex;
    flex-direction:column;
    gap:.9rem;
}
.pmg-hero__dot{
    width:10px;height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.3);
    border:1.5px solid rgba(248,210,149,.4);
    cursor:pointer;
    transition:background .3s,transform .3s;
    padding:0;
    outline:none;
}
.pmg-hero__dot.pmg-active{
    background:var(--pmg-secondary);
    transform:scale(1.35);
    border-color:var(--pmg-secondary);
    box-shadow:0 0 10px rgba(229,147,42,.6);
}

/* ── Prev/Next arrows ────────────────────────── */
.pmg-hero__arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:9;
    width:44px;height:44px;
    border-radius:50%;
    background:rgba(46,6,81,.5);
    border:1.5px solid rgba(248,210,149,.3);
    color:var(--pmg-gold);
    font-size:1.2rem;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .25s,transform .25s;
    backdrop-filter:blur(4px);
    outline:none;
    padding:0;
}
.pmg-hero__arrow:hover{
    background:rgba(229,147,42,.35);
    transform:translateY(-50%) scale(1.08);
}
.pmg-hero__arrow--prev{left:1.2rem;}
.pmg-hero__arrow--next{right:3.8rem;}

/* ── Progress bar ────────────────────────────── */
.pmg-hero__progress{
    position:absolute;
    bottom:0;left:0;
    height:3px;
    width:0%;
    background:linear-gradient(90deg,var(--pmg-accent),var(--pmg-secondary),var(--pmg-gold));
    z-index:9;
    transition:none;
}
.pmg-hero__progress.pmg-animating{
    transition:width 5s linear;
}

/* ── Slide image panel ───────────────────────── */
.pmg-hero__imgwrap{
    position:absolute;
    right:clamp(2rem,8vw,8rem);
    top:50%;
    transform:translateY(-46%);
    z-index:4;
    width:clamp(180px,28vw,400px);
    height:clamp(220px,36vw,500px);
}
.pmg-hero__imgframe{
    position:relative;
    width:100%;
    height:100%;
}
/* Decorative glow ring */
.pmg-hero__imgframe::before{
    content:'';
    position:absolute;
    inset:-16px;
    border-radius:50%;
    background:conic-gradient(from 0deg,var(--pmg-secondary),var(--pmg-accent),var(--pmg-primary),var(--pmg-secondary));
    opacity:.5;
    animation:pmgRingRotate 6s linear infinite;
    filter:blur(8px);
    z-index:-1;
}
@keyframes pmgRingRotate{
    from{transform:rotate(0deg);}to{transform:rotate(360deg);}
}
.pmg-hero__img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50% 50% 46% 54%/50% 44% 56% 50%;
    border:3px solid rgba(248,210,149,.35);
    display:block;
    opacity:0;
    transform:scale(.93) translateY(10px);
    transition:opacity .8s .3s,transform .8s .3s;
    background:rgba(46,6,81,.4);
}
.pmg-hero__slide.pmg-active .pmg-hero__img{
    opacity:1;
    transform:scale(1) translateY(0);
}
/* Floating symbol badge */
.pmg-hero__symbol{
    position:absolute;
    bottom:-14px;
    left:50%;
    transform:translateX(-50%);
    font-size:2.4rem;
    animation:pmgFloat 3s ease-in-out infinite;
    filter:drop-shadow(0 4px 12px rgba(229,147,42,.5));
}
@keyframes pmgFloat{
    0%,100%{transform:translateX(-50%) translateY(0);}
    50%{transform:translateX(-50%) translateY(-10px);}
}

/* ── Starfield ───────────────────────────────── */
.pmg-hero__stars{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}
.pmg-star{
    position:absolute;
    border-radius:50%;
    background:var(--pmg-white);
    animation:pmgStarTwinkle var(--d,3s) ease-in-out infinite var(--delay,0s);
}
@keyframes pmgStarTwinkle{
    0%,100%{opacity:.15;transform:scale(1);}
    50%{opacity:.9;transform:scale(1.4);}
}

/* ── Responsive ──────────────────────────────── */
@media(max-width:900px){
    .pmg-hero__imgwrap{display:none;}
    .pmg-hero__mandala{opacity:.07;width:320px;height:320px;right:-60px;}
    .pmg-hero__inner{max-width:100%;}
    .pmg-hero__dots{display:none;}
    .pmg-hero__arrow--next{right:1.2rem;}
}
@media(max-width:600px){
    .pmg-hero{min-height:100svh;}
    .pmg-hero__content{align-items:flex-start;padding-top:clamp(5rem,18vw,8rem);}
    .pmg-hero__stat{padding:.65rem .3rem;}
    .pmg-stat__num{font-size:1.1rem;}
    .pmg-stat__label{font-size:.6rem;}
    .pmg-hero__arrow{width:36px;height:36px;font-size:1rem;}
    .pmg-hero__arrow--prev{left:.6rem;}
    .pmg-hero__arrow--next{right:.6rem;}
    .pmg-hero__stats{display:grid;grid-template-columns:1fr 1fr;}
    .pmg-hero__stat:nth-child(2){border-right:none;}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .pmg-hero__bg,.pmg-hero__img,.pmg-hero__mandala,.pmg-particle,.pmg-hero__symbol,.pmg-star{
        animation:none!important;transition:none!important;
    }
}





/* ── Root tokens ─────────────────────────────────── */
.pmga-about {
    --pmga-primary:   #2E0651;
    --pmga-secondary: #E5932A;
    --pmga-accent:    #A22A46;
    --pmga-gold:      #F8D295;
    --pmga-cream:     #F3E6D9;
    --pmga-white:     #FFFFFF;
    --pmga-text:      #1a0130;
    --pmga-muted:     #5c4a6e;

    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 9vw, 7rem) 0;
    background: #faf5f0;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ── Background ornament ─────────────────────────── */
.pmga-about__bg-ornament {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}
.pmga-about__bg-ornament::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 520px; height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(46,6,81,.07) 0%, transparent 70%);
}
.pmga-about__bg-ornament::after {
    content: '';
    position: absolute;
    bottom: -80px; left: -80px;
    width: 380px; height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229,147,42,.08) 0%, transparent 70%);
}
/* Floating Sanskrit-style dots */
.pmga-bg-dot {
    position: absolute;
    border-radius: 50%;
    background: var(--pmga-gold);
    opacity: .18;
    animation: pmgaDotPulse var(--d, 4s) ease-in-out infinite var(--dl, 0s);
}
@keyframes pmgaDotPulse {
    0%,100% { transform: scale(1);   opacity: .18; }
    50%      { transform: scale(1.6); opacity: .08; }
}

/* ── Layout ─────────────────────────────────────── */
.pmga-about__container {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2.5rem, 6vw, 5rem);
    align-items: center;
}

/* ── Left: image column ─────────────────────────── */
.pmga-about__imgcol {
    position: relative;
}

/* Layered decorative frame */
.pmga-about__img-frame {
    position: relative;
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}

/* Outer ring — slow rotate */
.pmga-about__ring {
    position: absolute;
    inset: -28px;
    border-radius: 38% 62% 55% 45% / 45% 38% 62% 55%;
    border: 1.5px dashed rgba(229,147,42,.35);
    animation: pmgaRingRotate 22s linear infinite;
    pointer-events: none;
}
.pmga-about__ring--inner {
    inset: -14px;
    border-radius: 55% 45% 38% 62% / 62% 55% 45% 38%;
    border-style: solid;
    border-color: rgba(162,42,70,.2);
    animation-duration: 32s;
    animation-direction: reverse;
}
@keyframes pmgaRingRotate {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Corner glyphs */
.pmga-about__glyph {
    position: absolute;
    font-size: 1.5rem;
    color: var(--pmga-secondary);
    opacity: .6;
    line-height: 1;
    animation: pmgaGlyphFloat 3s ease-in-out infinite;
}
.pmga-about__glyph:nth-child(1) { top: -10px;  left: -10px;  animation-delay: 0s; }
.pmga-about__glyph:nth-child(2) { top: -10px;  right: -10px; animation-delay: .8s; }
.pmga-about__glyph:nth-child(3) { bottom: -10px; left: -10px; animation-delay: 1.5s; }
.pmga-about__glyph:nth-child(4) { bottom: -10px; right: -10px; animation-delay: 2.2s;}
@keyframes pmgaGlyphFloat {
    0%,100% { transform: translateY(0) scale(1);   }
    50%      { transform: translateY(-8px) scale(1.2); }
}

/* Actual photo */
.pmga-about__photo-wrap {
    position: relative;
    border-radius: 42% 58% 50% 50% / 48% 44% 56% 52%;
    overflow: hidden;
    aspect-ratio: 4/5;
    box-shadow:
        0 8px 40px rgba(46,6,81,.25),
        0 2px 8px rgba(0,0,0,.15);
    border: 3px solid rgba(248,210,149,.4);
    background: linear-gradient(160deg, #2E0651, #5a1580);
}
.pmga-about__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform 6s ease;
}
.pmga-about__photo-wrap:hover .pmga-about__photo {
    transform: scale(1.04);
}

/* Shimmer sweep on photo */
.pmga-about__photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.08) 50%, transparent 60%);
    background-size: 200% 100%;
    animation: pmgaShimmer 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes pmgaShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Experience badge — floats bottom-left */
.pmga-about__exp-badge {
    position: absolute;
    bottom: 20px;
    left: -24px;
    background: linear-gradient(135deg, var(--pmga-primary), #5a0f99);
    border: 2px solid rgba(248,210,149,.4);
    border-radius: 16px;
    padding: .9rem 1.2rem;
    text-align: center;
    color: var(--pmga-white);
    box-shadow: 0 8px 30px rgba(46,6,81,.4);
    animation: pmgaBadgeFloat 4s ease-in-out infinite;
    z-index: 5;
    min-width: 110px;
}
.pmga-about__exp-badge strong {
    display: block;
    font-size: 2rem;
    font-weight: 900;
    color: var(--pmga-gold);
    line-height: 1;
}
.pmga-about__exp-badge span {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .85;
    white-space: pre-line;
    line-height: 1.4;
    display: block;
    margin-top: .25rem;
}

/* Award badge — floats top-right */
.pmga-about__award-badge {
    position: absolute;
    top: 20px;
    right: -20px;
    width: 78px; height: 78px;
    background: linear-gradient(135deg, var(--pmga-secondary), #b86d10);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--pmga-white);
    box-shadow: 0 6px 22px rgba(229,147,42,.55);
    animation: pmgaBadgeFloat 3.5s ease-in-out infinite .6s;
    z-index: 5;
    padding: .3rem;
}
.pmga-about__award-badge .pmga-award-icon { font-size: 1.3rem; line-height: 1; }
.pmga-about__award-badge .pmga-award-title { font-size: .55rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; line-height: 1.2; margin-top: .15rem; }
.pmga-about__award-badge .pmga-award-sub   { font-size: .5rem; opacity: .85; }

@keyframes pmgaBadgeFloat {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}

/* ── Right: content column ──────────────────────── */
.pmga-about__content { position: relative; }

/* Section tag */
.pmga-about__tag {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: var(--pmga-secondary);
    margin-bottom: 1rem;
}
.pmga-about__tag::before,
.pmga-about__tag::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, var(--pmga-secondary), transparent);
    display: block;
    width: 28px;
}
.pmga-about__tag::before { background: linear-gradient(270deg, var(--pmga-secondary), transparent); }

/* Heading */
.pmga-about__heading {
    font-size: clamp(1.8rem, 3.8vw, 2.9rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--pmga-primary);
    margin: 0 0 1.4rem;
}
.pmga-about__heading span {
    color: var(--pmga-accent);
    position: relative;
}
.pmga-about__heading span::after {
    content: '';
    position: absolute;
    left: 0; bottom: -2px; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pmga-secondary), var(--pmga-accent));
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .9s .4s;
}
.pmga-about__heading.pmga-visible span::after { transform: scaleX(1); }

/* Intro */
.pmga-about__intro {
    font-size: clamp(.95rem, 1.6vw, 1.08rem);
    line-height: 1.78;
    color: var(--pmga-muted);
    margin-bottom: 1.25rem;
    border-left: 3px solid var(--pmga-secondary);
    padding-left: 1rem;
    font-style: italic;
}

/* Bio paragraphs */
.pmga-about__bio p {
    font-size: .96rem;
    line-height: 1.82;
    color: #3d2952;
    margin-bottom: 1rem;
}

/* Credentials grid */
.pmga-about__credentials {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin: 1.6rem 0;
}
.pmga-about__cred {
    display: flex;
    align-items: center;
    gap: .7rem;
    background: rgba(46,6,81,.05);
    border: 1px solid rgba(46,6,81,.08);
    border-radius: 10px;
    padding: .6rem .9rem;
    transition: background .25s, transform .25s, box-shadow .25s;
}
.pmga-about__cred:hover {
    background: rgba(46,6,81,.1);
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(46,6,81,.1);
}
.pmga-about__cred-icon { font-size: 1.2rem; flex-shrink: 0; }
.pmga-about__cred-label {
    font-size: .8rem;
    font-weight: 600;
    color: var(--pmga-primary);
    line-height: 1.3;
}

/* Stats row */
.pmga-about__stats {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1.4rem 0;
    border-top: 1px solid rgba(46,6,81,.1);
    border-bottom: 1px solid rgba(46,6,81,.1);
    margin-bottom: 1.8rem;
}
.pmga-about__stat { text-align: center; flex: 1; min-width: 60px; }
.pmga-about__stat-num {
    display: block;
    font-size: clamp(1.3rem, 2.5vw, 1.7rem);
    font-weight: 900;
    color: var(--pmga-primary);
    line-height: 1;
}
.pmga-about__stat-label {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--pmga-muted);
    margin-top: .3rem;
    display: block;
}

/* CTA */
.pmga-about__cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: linear-gradient(135deg, var(--pmga-primary), #5a0f99);
    color: var(--pmga-white);
    text-decoration: none;
    padding: .85rem 2rem;
    border-radius: 50px;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: 0 6px 24px rgba(46,6,81,.35);
    transition: transform .25s, box-shadow .25s;
    position: relative;
    overflow: hidden;
}
.pmga-about__cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--pmga-secondary), var(--pmga-accent));
    opacity: 0;
    transition: opacity .3s;
}
.pmga-about__cta:hover::before  { opacity: 1; }
.pmga-about__cta:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(46,6,81,.45); }
.pmga-about__cta span { position: relative; z-index: 1; }
.pmga-about__cta svg  { position: relative; z-index: 1; flex-shrink: 0; }

/* ── Scroll-reveal base states ───────────────────── */
.pmga-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity .75s ease, transform .75s ease;
}
.pmga-reveal--left  { transform: translateX(-36px); }
.pmga-reveal--right { transform: translateX(36px); }
.pmga-reveal.pmga-visible {
    opacity: 1;
    transform: translate(0);
}

/* ── Divider ornament ────────────────────────────── */
.pmga-about__divider {
    width: 80px; height: 4px;
    background: linear-gradient(90deg, var(--pmga-secondary), var(--pmga-accent));
    border-radius: 2px;
    margin-bottom: 1.2rem;
}

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 860px) {
    .pmga-about__container {
        grid-template-columns: 1fr;
    }
    .pmga-about__imgcol {
        max-width: 380px;
        margin: 0 auto;
        width: 100%;
    }
    .pmga-about__exp-badge { left: -10px; }
    .pmga-about__award-badge { right: -8px; }
}
@media (max-width: 520px) {
    .pmga-about__credentials { grid-template-columns: 1fr; }
    .pmga-about__stats { gap: .8rem; }
    .pmga-about__exp-badge { display: none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .pmga-about__ring,
    .pmga-about__glyph,
    .pmga-about__exp-badge,
    .pmga-about__award-badge,
    .pmga-bg-dot,
    .pmga-about__photo-wrap::after { animation: none !important; }
    .pmga-reveal { opacity: 1 !important; transform: none !important; }
}





/* ── Tokens ──────────────────────────────────────────── */
.pmgs-svc {
    --pmgs-primary:   #2E0651;
    --pmgs-secondary: #E5932A;
    --pmgs-accent:    #A22A46;
    --pmgs-gold:      #F8D295;
    --pmgs-cream:     #F3E6D9;
    --pmgs-white:     #FFFFFF;
    --pmgs-dark:      #120020;

    position: relative;
    padding: clamp(4rem, 9vw, 7rem) 0;
    /* background: var(--pmgs-dark); */
    background: linear-gradient(135deg, #000000 0%, #B80200 100%);
    overflow: hidden;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ── Deep background glow ────────────────────────────── */
.pmgs-svc__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.pmgs-svc__bg::before {
    content: '';
    position: absolute;
    top: -180px; left: 50%;
    transform: translateX(-50%);
    width: 1000px; height: 650px;    
    background: radial-gradient(ellipse, rgba(46,6,81,.95) 0%, transparent 72%);
}
.pmgs-svc__bg::after {
    content: '';
    position: absolute;
    bottom: -120px; right: -80px;
    width: 480px; height: 480px;
    background: radial-gradient(circle, rgba(162,42,70,.15) 0%, transparent 70%);
}
/* Floating particles */
.pmgs-svc-dot {
    position: absolute;
    border-radius: 50%;
    background: var(--pmgs-gold);
    opacity: 0;
    animation: pmgsDotTwinkle var(--d, 4s) ease-in-out infinite var(--dl, 0s);
}
@keyframes pmgsDotTwinkle {
    0%,100% { opacity: .06; transform: scale(1);   }
    50%      { opacity: .35; transform: scale(1.8); }
}

/* ── Container ───────────────────────────────────────── */
.pmgs-svc__wrap {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
}

/* ── Section Header ──────────────────────────────────── */
.pmgs-svc__header {
    text-align: center;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.pmgs-svc__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pmgs-gold);
    margin-bottom: .9rem;
}
.pmgs-svc__eyebrow::before,
.pmgs-svc__eyebrow::after {
    content: '';
    display: block;
    width: 38px;
    height: 1px;
}
.pmgs-svc__eyebrow::before { background: linear-gradient(270deg, var(--pmgs-gold), transparent); }
.pmgs-svc__eyebrow::after  { background: linear-gradient(90deg,  var(--pmgs-gold), transparent); }

.pmgs-svc__h2 {
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--pmgs-white);
    line-height: 1.14;
    margin: 0 0 1rem;
}
.pmgs-svc__h2 em {
    font-style: normal;
    background: linear-gradient(90deg, var(--pmgs-secondary), var(--pmgs-gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pmgs-svc__sub {
    font-size: clamp(.88rem, 1.5vw, 1.03rem);
    line-height: 1.78;
    color: rgba(243,230,217,.6);
    max-width: 580px;
    margin: 0 auto;
}
.pmgs-svc__ruleset {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-top: 1.2rem;
    color: rgba(248,210,149,.4);
    font-size: .72rem;
    letter-spacing: .35em;
}
.pmgs-svc__ruleset::before,
.pmgs-svc__ruleset::after {
    content: '';
    display: block;
    width: 55px;
    height: 1px;
    background: rgba(248,210,149,.2);
}

/* ── Grid ────────────────────────────────────────────── */
.pmgs-svc__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1rem;
}

/* ── Card ────────────────────────────────────────────── */
.pmgs-svc-card {
    position: relative;
    display: block;
    text-decoration: none;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #1e003a;
    cursor: pointer;

    /* scroll reveal */
    opacity: 0;
    transform: translateY(30px) scale(.97);
    transition:
        opacity  .65s ease,
        transform .65s ease;
}
.pmgs-svc-card.pmgs-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* ── Background image ────────────────────────────────── */
.pmgs-svc-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .7s ease;
    will-change: transform;
}
.pmgs-svc-card:hover .pmgs-svc-card__img {
    transform: scale(1.09);
}

/* ── Base dark gradient always visible at bottom ─────── */
.pmgs-svc-card__base-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(10,0,25,.92) 0%,
        rgba(10,0,25,.55) 40%,
        rgba(10,0,25,.1)  70%,
        transparent       100%
    );
    z-index: 1;
    pointer-events: none;
}

/* ── Hover overlay (colour tinted) ──────────────────── */
.pmgs-svc-card__hover-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(var(--card-rgb), .78) 0%,
        rgba(10,0,25,.88) 100%
    );
    opacity: 0;
    transition: opacity .45s ease;
    z-index: 2;
    pointer-events: none;
}
.pmgs-svc-card:hover .pmgs-svc-card__hover-grad { opacity: 1; }

/* ── Featured ribbon ─────────────────────────────────── */
.pmgs-svc-card__ribbon {
    position: absolute;
    top: 16px; left: -28px;
    background: linear-gradient(90deg, var(--pmgs-secondary), #c4731a);
    color: var(--pmgs-white);
    font-size: .6rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    padding: .28rem 2.4rem;
    transform: rotate(-45deg);
    z-index: 5;
    box-shadow: 0 3px 12px rgba(229,147,42,.5);
}

/* ── Icon pill — always visible top-right ────────────── */
.pmgs-svc-card__icon-pill {
    position: absolute;
    top: 14px; right: 14px;
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(10,0,25,.55);
    border: 1.5px solid rgba(248,210,149,.25);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 6;
    transition: background .3s, border-color .3s, transform .3s;
}
.pmgs-svc-card__icon-pill i {
    font-size: 1rem;
    color: var(--pmgs-gold);
    transition: color .3s, transform .3s;
}
.pmgs-svc-card:hover .pmgs-svc-card__icon-pill {
    background: rgba(var(--card-rgb), .7);
    border-color: rgba(248,210,149,.5);
    transform: rotate(10deg) scale(1.1);
}
.pmgs-svc-card:hover .pmgs-svc-card__icon-pill i {
    color: var(--pmgs-white);
    transform: scale(1.15);
}

/* ── Content block at bottom ─────────────────────────── */
.pmgs-svc-card__content {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 7;
    padding: 1.2rem 1.25rem 1.3rem;
}

.pmgs-svc-card__title {
    font-size: clamp(.88rem, 1.2vw, 1rem);
    font-weight: 700;
    color: var(--pmgs-white);
    line-height: 1.3;
    margin: 0 0 .45rem;
    transition: color .3s;
}
.pmgs-svc-card:hover .pmgs-svc-card__title {
    color: var(--pmgs-gold);
}

/* Description — hidden by default, slides up on hover */
.pmgs-svc-card__desc {
    font-size: .78rem;
    line-height: 1.65;
    color: rgba(243,230,217,.82);
    margin: 0 0 .8rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: max-height .45s ease, opacity .4s .05s, transform .4s .05s;
}
.pmgs-svc-card:hover .pmgs-svc-card__desc {
    max-height: 120px;
    opacity: 1;
    transform: translateY(0);
}

/* Sub tags */
.pmgs-svc-card__subs {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .75rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .4s .1s, opacity .35s .1s;
}
.pmgs-svc-card:hover .pmgs-svc-card__subs {
    max-height: 60px;
    opacity: 1;
}
.pmgs-svc-card__sub {
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: rgba(248,210,149,.12);
    border: 1px solid rgba(248,210,149,.22);
    color: var(--pmgs-gold);
    padding: .18rem .52rem;
    border-radius: 4px;
}

/* CTA row */
.pmgs-svc-card__cta {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--pmgs-gold);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .35s .15s, transform .35s .15s, gap .25s;
}
.pmgs-svc-card:hover .pmgs-svc-card__cta {
    opacity: 1;
    transform: translateY(0);
}
.pmgs-svc-card:hover .pmgs-svc-card__cta:hover { gap: .7rem; }
.pmgs-svc-card__cta i { font-size: .7rem; transition: transform .25s; }
.pmgs-svc-card:hover .pmgs-svc-card__cta i { transform: translateX(3px); }

/* ── Shimmer line across card top on hover ───────────── */
.pmgs-svc-card__shimmer {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--pmgs-gold), transparent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s ease;
    z-index: 8;
    pointer-events: none;
}
.pmgs-svc-card:hover .pmgs-svc-card__shimmer { transform: scaleX(1); }

/* ── Bottom CTA ──────────────────────────────────────── */
.pmgs-svc__cta-row {
    text-align: center;
    margin-top: 3rem;
}
.pmgs-svc__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: linear-gradient(135deg, var(--pmgs-secondary), #b86d10);
    color: var(--pmgs-white);
    text-decoration: none;
    padding: .92rem 2.4rem;
    border-radius: 50px;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: 0 6px 28px rgba(229,147,42,.38);
    position: relative;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.pmgs-svc__cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--pmgs-primary), #6b1fa0);
    opacity: 0;
    transition: opacity .3s;
}
.pmgs-svc__cta-btn:hover::before  { opacity: 1; }
.pmgs-svc__cta-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(229,147,42,.5); }
.pmgs-svc__cta-btn span,
.pmgs-svc__cta-btn i { position: relative; z-index: 1; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1100px) {
    .pmgs-svc__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .pmgs-svc__grid { grid-template-columns: repeat(2, 1fr); gap: .85rem; }
    .pmgs-svc-card  { aspect-ratio: 3/4; }
    /* Always show desc & CTA on touch */
    .pmgs-svc-card__desc,
    .pmgs-svc-card__subs,
    .pmgs-svc-card__cta {
        max-height: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .pmgs-svc-card__hover-grad { opacity: .9 !important; }
}
@media (max-width: 480px) {
    .pmgs-svc__grid { grid-template-columns: 1fr 1fr; gap: .65rem; }
    .pmgs-svc-card__content { padding: .9rem 1rem 1rem; }
    .pmgs-svc-card__title { font-size: .82rem; }
    .pmgs-svc-card__desc  { font-size: .73rem; }
}
@media (max-width: 360px) {
    .pmgs-svc__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .pmgs-svc-card,
    .pmgs-svc-card__img,
    .pmgs-svc-dot { animation: none !important; transition: none !important; }
    .pmgs-svc-card { opacity: 1 !important; transform: none !important; }
    .pmgs-svc-card__desc,
    .pmgs-svc-card__subs,
    .pmgs-svc-card__cta { max-height: none !important; opacity: 1 !important; transform: none !important; }
}





/* ── Tokens ──────────────────────────────────────────── */
.pmgw-wcu {
    --pmgw-primary:   #2E0651;
    --pmgw-secondary: #E5932A;
    --pmgw-accent:    #A22A46;
    --pmgw-gold:      #F8D295;
    --pmgw-cream:     #F3E6D9;
    --pmgw-white:     #FFFFFF;
    --pmgw-bg:        #faf5f0;

    position: relative;
    padding: clamp(4rem, 9vw, 7rem) 0;
    background: var(--pmgw-bg);
    overflow: hidden;
    font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ── Background texture ──────────────────────────────── */
.pmgw-wcu__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.pmgw-wcu__bg::before {
    content: '';
    position: absolute;
    top: -200px; right: -180px;
    width: 640px; height: 640px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(46,6,81,.07) 0%, transparent 70%);
}
.pmgw-wcu__bg::after {
    content: '';
    position: absolute;
    bottom: -160px; left: -120px;
    width: 520px; height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(229,147,42,.07) 0%, transparent 70%);
}
/* Grid pattern */
.pmgw-wcu__grid-pat {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(46,6,81,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(46,6,81,.04) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .6;
}
/* Floating orbiting dots */
.pmgw-orb {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    animation: pmgwOrbFloat var(--d,6s) ease-in-out infinite var(--dl,0s);
}
@keyframes pmgwOrbFloat {
    0%,100% { opacity:.12; transform: translateY(0) scale(1); }
    50%      { opacity:.28; transform: translateY(-14px) scale(1.3); }
}

/* ── Container ───────────────────────────────────────── */
.pmgw-wcu__wrap {
    position: relative;
    z-index: 1;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
}

/* ── Section header ──────────────────────────────────── */
.pmgw-wcu__header {
    text-align: center;
    margin-bottom: clamp(2.8rem, 5vw, 4.5rem);
}
.pmgw-wcu__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pmgw-secondary);
    margin-bottom: .9rem;
}
.pmgw-wcu__eyebrow::before,
.pmgw-wcu__eyebrow::after {
    content: '';
    display: block;
    width: 36px; height: 1px;
}
.pmgw-wcu__eyebrow::before { background: linear-gradient(270deg, var(--pmgw-secondary), transparent); }
.pmgw-wcu__eyebrow::after  { background: linear-gradient(90deg,  var(--pmgw-secondary), transparent); }

.pmgw-wcu__h2 {
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.14;
    color: var(--pmgw-primary);
    margin: 0 0 1rem;
}
.pmgw-wcu__h2 span {
    position: relative;
    color: var(--pmgw-accent);
}
.pmgw-wcu__h2 span::after {
    content: '';
    position: absolute;
    left: 0; bottom: -3px; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pmgw-secondary), var(--pmgw-accent));
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .9s .3s ease;
}
.pmgw-wcu__h2.pmgw-vis span::after { transform: scaleX(1); }

.pmgw-wcu__sub {
    font-size: clamp(.9rem, 1.6vw, 1.05rem);
    line-height: 1.78;
    color: #5c4a6e;
    max-width: 620px;
    margin: 0 auto;
}

/* ── Main two-column layout ──────────────────────────── */
.pmgw-wcu__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    margin-bottom: clamp(3rem, 6vw, 5rem);
}

/* ── Left: image column ──────────────────────────────── */
.pmgw-wcu__imgcol {
    position: relative;
}
.pmgw-wcu__img-frame {
    position: relative;
    max-width: 500px;
    margin: 0 auto;
}

/* Decorative behind-image block */
.pmgw-wcu__img-deco {
    position: absolute;
    bottom: -18px; right: -18px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border-radius: 20px;
    background: linear-gradient(135deg, var(--pmgw-secondary), var(--pmgw-accent));
    opacity: .18;
    z-index: 0;
}
/* Second deco outline */
.pmgw-wcu__img-deco2 {
    position: absolute;
    top: -14px; left: -14px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border-radius: 20px;
    border: 2px dashed rgba(46,6,81,.18);
    z-index: 0;
}

.pmgw-wcu__photo-wrap {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 16px 56px rgba(46,6,81,.2), 0 2px 8px rgba(0,0,0,.08);
    background: #2E0651;
}
.pmgw-wcu__photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: top;
    transition: transform 6s ease;
}
.pmgw-wcu__photo-wrap:hover .pmgw-wcu__photo { transform: scale(1.04); }

/* Shimmer */
.pmgw-wcu__photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.06) 50%, transparent 60%);
    background-size: 200% 100%;
    animation: pmgwShimmer 5s ease-in-out infinite;
    pointer-events: none;
}
@keyframes pmgwShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Floating highlight badge */
.pmgw-wcu__badge {
    position: absolute;
    bottom: -20px; left: -20px;
    background: linear-gradient(135deg, var(--pmgw-primary), #5a0f99);
    border: 2px solid rgba(248,210,149,.35);
    border-radius: 16px;
    padding: 1rem 1.4rem;
    z-index: 5;
    text-align: center;
    min-width: 150px;
    box-shadow: 0 10px 32px rgba(46,6,81,.45);
    animation: pmgwBadgeFloat 4s ease-in-out infinite;
}
.pmgw-wcu__badge strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 900;
    color: var(--pmgw-gold);
    line-height: 1;
}
.pmgw-wcu__badge span {
    font-size: .68rem;
    color: rgba(243,230,217,.8);
    text-transform: uppercase;
    letter-spacing: .09em;
    margin-top: .3rem;
    display: block;
}
@keyframes pmgwBadgeFloat {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}

/* Decorative star glyph top-right */
.pmgw-wcu__star-glyph {
    position: absolute;
    top: -18px; right: -18px;
    width: 64px; height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pmgw-secondary), #c4731a);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
    color: var(--pmgw-white);
    box-shadow: 0 6px 20px rgba(229,147,42,.5);
    z-index: 5;
    animation: pmgwStarSpin 8s linear infinite;
}
@keyframes pmgwStarSpin {
    0%   { transform: rotate(0deg) scale(1); }
    50%  { transform: rotate(180deg) scale(1.1); }
    100% { transform: rotate(360deg) scale(1); }
}

/* ── Right: reasons list ─────────────────────────────── */
.pmgw-wcu__reasons {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

/* Reason item */
.pmgw-reason {
    display: flex;
    gap: 1.1rem;
    align-items: flex-start;
    padding: 1.1rem 1.3rem;
    border-radius: 14px;
    background: rgba(46,6,81,.04);
    border: 1px solid rgba(46,6,81,.07);
    position: relative;
    overflow: hidden;
    transition: background .3s, border-color .3s, transform .3s, box-shadow .3s;
    cursor: default;

    /* scroll reveal */
    opacity: 0;
    transform: translateX(30px);
    transition:
        opacity .6s ease,
        transform .6s ease,
        background .3s,
        border-color .3s,
        box-shadow .3s;
}
.pmgw-reason.pmgw-vis {
    opacity: 1;
    transform: translateX(0);
}
.pmgw-reason::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--reason-color, #E5932A), transparent);
    border-radius: 4px 0 0 4px;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .4s .1s;
}
.pmgw-reason:hover::before { transform: scaleY(1); }
.pmgw-reason:hover {
    background: rgba(46,6,81,.07);
    border-color: rgba(46,6,81,.15);
    box-shadow: 0 4px 18px rgba(46,6,81,.08);
    transform: translateX(4px);
}
.pmgw-reason.pmgw-vis:hover { transform: translateX(4px); }

/* Icon box */
.pmgw-reason__icon {
    width: 46px; height: 46px;
    border-radius: 12px;
    background: rgba(46,6,81,.08);
    border: 1px solid rgba(46,6,81,.1);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .3s, transform .3s;
}
.pmgw-reason__icon i {
    font-size: 1.1rem;
    color: var(--reason-color, #E5932A);
    transition: transform .3s;
}
.pmgw-reason:hover .pmgw-reason__icon {
    background: rgba(var(--reason-color-raw, '229,147,42'), .12);
    transform: rotate(-6deg) scale(1.08);
}
.pmgw-reason:hover .pmgw-reason__icon i { transform: scale(1.15); }

.pmgw-reason__text { flex: 1; min-width: 0; }
.pmgw-reason__title {
    font-size: .96rem;
    font-weight: 700;
    color: var(--pmgw-primary);
    margin: 0 0 .3rem;
    line-height: 1.3;
}
.pmgw-reason__desc {
    font-size: .83rem;
    line-height: 1.7;
    color: #5c4a6e;
    margin: 0;
}

/* ── Trust badges strip ──────────────────────────────── */
.pmgw-wcu__trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(46,6,81,.08);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(46,6,81,.1);
}
.pmgw-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 1.8rem 1rem;
    background: var(--pmgw-bg);
    text-align: center;
    transition: background .3s;
    position: relative;

    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s ease, background .3s;
}
.pmgw-trust-badge.pmgw-vis {
    opacity: 1;
    transform: translateY(0);
}
.pmgw-trust-badge:hover { background: rgba(46,6,81,.04); }
.pmgw-trust-badge__icon {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pmgw-primary), #5a0f99);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(46,6,81,.25);
}
.pmgw-trust-badge__icon i {
    font-size: 1.1rem;
    color: var(--pmgw-gold);
}
.pmgw-trust-badge__val {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--pmgw-primary);
    line-height: 1;
}
.pmgw-trust-badge__label {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #5c4a6e;
}

/* CTA */
.pmgw-wcu__cta-row {
    text-align: center;
    margin-top: 2.8rem;
}
.pmgw-wcu__cta {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    background: linear-gradient(135deg, var(--pmgw-primary), #5a0f99);
    color: var(--pmgw-white);
    text-decoration: none;
    padding: .9rem 2.3rem;
    border-radius: 50px;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: 0 6px 26px rgba(46,6,81,.35);
    position: relative;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.pmgw-wcu__cta::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--pmgw-secondary), var(--pmgw-accent));
    opacity: 0;
    transition: opacity .3s;
}
.pmgw-wcu__cta:hover::before  { opacity: 1; }
.pmgw-wcu__cta:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(46,6,81,.45); }
.pmgw-wcu__cta span,
.pmgw-wcu__cta i { position: relative; z-index: 1; }

/* ── Reveal helpers ──────────────────────────────────── */
.pmgw-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .7s ease;
}
.pmgw-reveal--left  { transform: translateX(-32px); }
.pmgw-reveal.pmgw-vis { opacity: 1; transform: translate(0); }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 940px) {
    .pmgw-wcu__body { grid-template-columns: 1fr; }
    .pmgw-wcu__imgcol { max-width: 440px; margin: 0 auto; width: 100%; }
    .pmgw-wcu__badge  { bottom: -16px; left: -10px; }
    .pmgw-wcu__star-glyph { right: -8px; }
}
@media (max-width: 640px) {
    .pmgw-wcu__trust { grid-template-columns: repeat(2,1fr); }
    .pmgw-trust-badge:nth-child(2) { border-right: none; }
}
@media (max-width: 400px) {
    .pmgw-reason { padding: .9rem 1rem; gap: .8rem; }
    .pmgw-reason__icon { width: 38px; height: 38px; }
    .pmgw-wcu__badge { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .pmgw-wcu__photo,.pmgw-wcu__photo-wrap::after,
    .pmgw-wcu__badge,.pmgw-wcu__star-glyph,.pmgw-orb {
        animation: none !important;
    }
    .pmgw-reveal,.pmgw-reason,.pmgw-trust-badge {
        opacity: 1 !important; transform: none !important;
        transition: none !important;
    }
}






/* ---------- CSS custom properties (scoped) ---------- */
:root {
    --tmg-primary:    #2E0651;
    --tmg-secondary:  #E5932A;
    --tmg-accent:     #A22A46;
    --tmg-gold:       #F8D295;
    --tmg-cream:      #F3E6D9;
    --tmg-white:      #FFFFFF;
    --tmg-primary-80: rgba(46,6,81,0.80);
    --tmg-primary-40: rgba(46,6,81,0.40);
    --tmg-gold-30:    rgba(248,210,149,0.30);
    --tmg-gold-10:    rgba(248,210,149,0.10);
    --tmg-radius:     20px;
    --tmg-gap:        1.5rem;
    --tmg-transition: 0.45s cubic-bezier(0.4,0,0.2,1);
}

/* ---------- Section shell ---------- */
.tmg-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #1a0330 0%, var(--tmg-primary) 45%, #3d0a14 100%);
    padding: clamp(60px, 8vw, 120px) 0 clamp(60px, 8vw, 100px);
    isolation: isolate;
}

/* ---------- Cosmos background ---------- */
.tmg-cosmos { position: absolute; inset: 0; pointer-events: none; z-index: 0; }

/* Floating orbs */
.tmg-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.18;
    animation: tmgFloat 10s ease-in-out infinite alternate;
}
.tmg-orb--left {
    width: clamp(250px, 35vw, 500px);
    height: clamp(250px, 35vw, 500px);
    background: radial-gradient(circle, var(--tmg-secondary), transparent 70%);
    top: -10%;
    left: -10%;
    animation-delay: 0s;
}
.tmg-orb--right {
    width: clamp(200px, 28vw, 420px);
    height: clamp(200px, 28vw, 420px);
    background: radial-gradient(circle, var(--tmg-accent), transparent 70%);
    bottom: -5%;
    right: -8%;
    animation-delay: -5s;
}

/* Rotating mandala */
.tmg-mandala {
    position: absolute;
    width: clamp(300px, 40vw, 600px);
    height: clamp(300px, 40vw, 600px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='95' fill='none' stroke='%23F8D295' stroke-width='0.4' stroke-dasharray='4 6'/%3E%3Ccircle cx='100' cy='100' r='75' fill='none' stroke='%23E5932A' stroke-width='0.3' stroke-dasharray='3 8'/%3E%3Ccircle cx='100' cy='100' r='55' fill='none' stroke='%23F8D295' stroke-width='0.3' stroke-dasharray='2 10'/%3E%3Cpolygon points='100,5 120,60 180,60 132,95 152,150 100,115 48,150 68,95 20,60 80,60' fill='none' stroke='%23F8D295' stroke-width='0.5' opacity='0.6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.08;
    animation: tmgSpin 60s linear infinite;
}

/* Twinkling stars */
.tmg-star {
    position: absolute;
    background: var(--tmg-gold);
    border-radius: 50%;
    animation: tmgTwinkle var(--d,3s) ease-in-out infinite;
    opacity: 0;
}
.tmg-star--1 { width:3px; height:3px; top:12%; left:18%; --d:2.4s; animation-delay:0s; }
.tmg-star--2 { width:2px; height:2px; top:25%; left:72%; --d:3.1s; animation-delay:-1.2s; }
.tmg-star--3 { width:4px; height:4px; top:65%; left:8%;  --d:2.7s; animation-delay:-0.8s; }
.tmg-star--4 { width:2px; height:2px; top:80%; left:55%; --d:3.5s; animation-delay:-2.1s; }
.tmg-star--5 { width:3px; height:3px; top:40%; left:90%; --d:2.1s; animation-delay:-0.5s; }
.tmg-star--6 { width:2px; height:2px; top:55%; left:40%; --d:4.0s; animation-delay:-3.0s; }

/* ---------- Layout container ---------- */
.tmg-container {
    position: relative;
    z-index: 1;
    width: min(100%, 1200px);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 48px);
}

/* ---------- Section header ---------- */
.tmg-header {
    text-align: center;
    margin-bottom: clamp(36px, 5vw, 60px);
}

.tmg-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: clamp(11px, 1.2vw, 13px);
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--tmg-gold);
    margin-bottom: 14px;
}
.tmg-eyebrow-line {
    display: block;
    width: clamp(24px, 3vw, 40px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--tmg-secondary), transparent);
}

.tmg-heading {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    margin: 0 0 16px;
    color: var(--tmg-white);
}
.tmg-heading-line {
    display: block;
    opacity: 0;
    transform: translateY(24px);
    animation: tmgSlideUp 0.7s ease forwards;
}
.tmg-heading-line--1 { animation-delay: 0.1s; }
.tmg-heading-line--2 {
    background: linear-gradient(90deg, var(--tmg-secondary), var(--tmg-gold), var(--tmg-secondary));
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: tmgSlideUp 0.7s ease 0.25s forwards, tmgShine 3s linear 1s infinite;
}

.tmg-subheading {
    font-size: clamp(0.9rem, 1.8vw, 1.1rem);
    color: rgba(248, 210, 149, 0.75);
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.7;
}

/* ---------- Stats ---------- */
.tmg-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(12px, 2vw, 24px);
    margin-bottom: clamp(40px, 6vw, 68px);
}
.tmg-stat {
    background: var(--tmg-gold-10);
    border: 1px solid rgba(248,210,149,0.2);
    border-radius: 14px;
    padding: clamp(14px, 2vw, 20px) clamp(20px, 3vw, 36px);
    text-align: center;
    backdrop-filter: blur(6px);
    transition: transform var(--tmg-transition), background var(--tmg-transition);
    cursor: default;
}
.tmg-stat:hover {
    transform: translateY(-4px);
    background: rgba(248,210,149,0.15);
}
.tmg-stat-value {
    display: block;
    font-family: Georgia, serif;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--tmg-secondary);
    line-height: 1.1;
}
.tmg-stat-label {
    display: block;
    font-size: clamp(0.7rem, 1.2vw, 0.82rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tmg-gold);
    margin-top: 4px;
    opacity: 0.85;
}

/* ---------- Carousel ---------- */
.tmg-carousel {
    position: relative;
    overflow: hidden;
}
.tmg-track {
    display: flex;
    gap: var(--tmg-gap);
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* ---------- Cards ---------- */
.tmg-card {
    position: relative;
    flex: 0 0 calc((100% - var(--tmg-gap) * 2) / 3);
    background: linear-gradient(145deg, rgba(255,255,255,0.07) 0%, rgba(46,6,81,0.5) 100%);
    border: 1px solid rgba(248,210,149,0.18);
    border-radius: var(--tmg-radius);
    padding: clamp(24px, 3vw, 36px);
    backdrop-filter: blur(10px);
    overflow: hidden;
    transition: transform var(--tmg-transition), box-shadow var(--tmg-transition), border-color var(--tmg-transition);
}
.tmg-card:hover {
    transform: translateY(-8px) scale(1.015);
    box-shadow: 0 24px 60px rgba(0,0,0,0.35), 0 0 40px rgba(229,147,42,0.12);
    border-color: rgba(248,210,149,0.4);
}
.tmg-card:hover .tmg-card-glow { opacity: 1; }

.tmg-card-glow {
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--tmg-secondary) 0%, transparent 50%, var(--tmg-accent) 100%);
    opacity: 0;
    z-index: -1;
    transition: opacity var(--tmg-transition);
    filter: blur(8px);
}

/* Quote icon */
.tmg-quote-mark {
    color: var(--tmg-secondary);
    opacity: 0.35;
    width: 32px;
    height: 24px;
    margin-bottom: 12px;
}
.tmg-quote-mark svg { width: 100%; height: 100%; }

/* Stars */
.tmg-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 14px;
}
.tmg-star-icon { font-size: 1rem; color: rgba(248,210,149,0.25); }
.tmg-star-icon--filled {
    color: var(--tmg-secondary);
    animation: tmgStarPop 0.4s ease backwards;
}
.tmg-card:nth-child(1) .tmg-star-icon--filled:nth-child(1) { animation-delay: 0.05s; }
.tmg-card:nth-child(1) .tmg-star-icon--filled:nth-child(2) { animation-delay: 0.10s; }
.tmg-card:nth-child(1) .tmg-star-icon--filled:nth-child(3) { animation-delay: 0.15s; }
.tmg-card:nth-child(1) .tmg-star-icon--filled:nth-child(4) { animation-delay: 0.20s; }
.tmg-card:nth-child(1) .tmg-star-icon--filled:nth-child(5) { animation-delay: 0.25s; }

/* Review text */
.tmg-text {
    margin: 0 0 16px;
    padding: 0;
}
.tmg-text p {
    font-size: clamp(0.875rem, 1.4vw, 0.97rem);
    color: rgba(243,230,217,0.9);
    line-height: 1.75;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Service tag */
.tmg-service-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tmg-secondary);
    background: rgba(229,147,42,0.12);
    border: 1px solid rgba(229,147,42,0.25);
    border-radius: 50px;
    padding: 4px 12px;
    margin-bottom: 18px;
}
.tmg-service-dot {
    width: 6px; height: 6px;
    background: var(--tmg-secondary);
    border-radius: 50%;
    animation: tmgPulse 1.8s ease-in-out infinite;
}

/* Author */
.tmg-author {
    display: flex;
    align-items: center;
    gap: 12px;
    border-top: 1px solid rgba(248,210,149,0.1);
    padding-top: 16px;
    margin-top: auto;
}
.tmg-avatar {
    position: relative;
    width: 44px; height: 44px; min-width: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--tmg-secondary), var(--tmg-accent));
    display: flex; align-items: center; justify-content: center;
    font-size: 0.8rem; font-weight: 700;
    color: var(--tmg-white);
    letter-spacing: 0.03em;
}
.tmg-verified {
    position: absolute;
    bottom: -2px; right: -2px;
    width: 16px; height: 16px;
    background: #22c55e;
    border: 2px solid var(--tmg-primary);
    border-radius: 50%;
    font-size: 8px;
    color: var(--tmg-white);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
}
.tmg-author-name {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--tmg-cream);
}
.tmg-author-location {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: rgba(248,210,149,0.6);
    margin-top: 2px;
}
.tmg-author-location svg { flex-shrink: 0; }

/* ---------- Carousel nav ---------- */
.tmg-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 36px;
}
.tmg-btn {
    width: 44px; height: 44px;
    border: 1px solid rgba(248,210,149,0.3);
    border-radius: 50%;
    background: rgba(248,210,149,0.08);
    color: var(--tmg-gold);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background var(--tmg-transition), transform var(--tmg-transition), border-color var(--tmg-transition);
    flex-shrink: 0;
}
.tmg-btn svg { width: 18px; height: 18px; }
.tmg-btn:hover {
    background: var(--tmg-secondary);
    border-color: var(--tmg-secondary);
    color: var(--tmg-white);
    transform: scale(1.1);
}
.tmg-btn:focus-visible {
    outline: 2px solid var(--tmg-secondary);
    outline-offset: 3px;
}
.tmg-dots { display: flex; gap: 8px; align-items: center; }
.tmg-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    background: rgba(248,210,149,0.25);
    padding: 0;
    transition: background var(--tmg-transition), transform var(--tmg-transition), width 0.3s ease;
}
.tmg-dot.tmg-dot--active {
    background: var(--tmg-secondary);
    width: 24px;
    border-radius: 4px;
    transform: scaleY(1.1);
}

/* ---------- CTA ---------- */
.tmg-cta {
    text-align: center;
    margin-top: clamp(44px, 6vw, 72px);
}
.tmg-cta-text {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: rgba(243,230,217,0.8);
    margin: 0 0 20px;
}
.tmg-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--tmg-secondary) 0%, #c97418 100%);
    color: var(--tmg-white);
    font-size: clamp(0.9rem, 1.5vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 50px;
    box-shadow: 0 8px 30px rgba(229,147,42,0.35);
    transition: transform var(--tmg-transition), box-shadow var(--tmg-transition);
    position: relative;
    overflow: hidden;
}
.tmg-cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.15) 50%, transparent 100%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}
.tmg-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(229,147,42,0.5); }
.tmg-cta-btn:hover::before { transform: translateX(100%); }
.tmg-cta-btn:focus-visible { outline: 2px solid var(--tmg-gold); outline-offset: 4px; }

/* ---------- Animations ---------- */
@keyframes tmgFloat {
    from { transform: translate(0, 0) scale(1);   }
    to   { transform: translate(20px, 30px) scale(1.05); }
}
@keyframes tmgSpin {
    from { transform: translate(-50%,-50%) rotate(0deg); }
    to   { transform: translate(-50%,-50%) rotate(360deg); }
}
@keyframes tmgTwinkle {
    0%, 100% { opacity: 0;   transform: scale(0.8); }
    50%       { opacity: 0.9; transform: scale(1.3); }
}
@keyframes tmgSlideUp {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes tmgShine {
    from { background-position: 200% center; }
    to   { background-position: -200% center; }
}
@keyframes tmgStarPop {
    0%   { transform: scale(0.4); opacity: 0; }
    70%  { transform: scale(1.3); }
    100% { transform: scale(1);   opacity: 1; }
}
@keyframes tmgPulse {
    0%, 100% { opacity: 1;   transform: scale(1);   }
    50%       { opacity: 0.4; transform: scale(0.75); }
}
@keyframes tmgCardIn {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Cards animate in when visible */
.tmg-card.tmg-card--visible {
    animation: tmgCardIn 0.6s ease backwards;
}
.tmg-card.tmg-card--visible:nth-child(2) { animation-delay: 0.1s; }
.tmg-card.tmg-card--visible:nth-child(3) { animation-delay: 0.2s; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .tmg-card { flex: 0 0 calc((100% - var(--tmg-gap)) / 2); }
}
@media (max-width: 640px) {
    .tmg-card { flex: 0 0 100%; }
    .tmg-stats { gap: 10px; }
    .tmg-stat  { padding: 12px 18px; }
    .tmg-mandala { display: none; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .tmg-orb, .tmg-mandala, .tmg-star,
    .tmg-heading-line, .tmg-heading-line--2,
    .tmg-cta-btn::before,
    .tmg-service-dot { animation: none !important; }
    .tmg-track { transition: none; }
}





/* ── Root tokens ─────────────────────────────────── */
.pmga-hws {
    --pmga-primary:   #2E0651;
    --pmga-secondary: #E5932A;
    --pmga-accent:    #A22A46;
    --pmga-gold:      #F8D295;
    --pmga-cream:     #F3E6D9;
    --pmga-white:     #FFFFFF;
    --pmga-text:      #1a0130;
    --pmga-muted:     #5c4a6e;

    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 10vw, 8rem) 0;
    --pmga-bg-opacity: 0.6; /* adjust this to change image opacity */
    --pmga-bg-overlay: rgba(0, 0, 0, 0.5); 
    background: none;
    background-color: #f5ede3;
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: var(--pmga-text);
}

/* Background image layer (adjust opacity via --pmga-bg-opacity)
.pmga-hws::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('<?php echo $how_it_works['background_image']; ?>') center/cover fixed no-repeat;
    opacity: var(--pmga-bg-opacity);
    z-index: 0;
    pointer-events: none;
} */

/* Overlay + subtle pattern above the image for readability */
.pmga-hws::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-image:
        linear-gradient(var(--pmga-bg-overlay), var(--pmga-bg-overlay)),
        radial-gradient(circle at 1px 1px, rgba(0,0,0,0.04) 1px, transparent 1px);
    background-size: 100% 100%, 50px 50px;
    background-repeat: no-repeat, repeat;
}

/* ── Layout container ─────────────────────────────── */
.pmga-hws__container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 3rem);
}

/* ── Header section ──────────────────────────────── */
.pmga-hws__header {
    text-align: center;
    margin-bottom: clamp(3.5rem, 8vw, 6rem);
    animation: pmgaHeaderSlideIn 0.8s ease-out;
}

@keyframes pmgaHeaderSlideIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pmga-hws__tag {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--pmga-white);
    margin-bottom: 1rem;
    opacity: 0.9;
}

.pmga-hws__heading {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--pmga-white);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.pmga-hws__subheading {
    font-size: clamp(1rem, 3vw, 1.4rem);
    color: var(--pmga-white);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
    opacity: 0.9;
}

/* ── Steps Grid ──────────────────────────────────── */
.pmga-hws__steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: clamp(2rem, 4vw, 3.5rem);
    margin-bottom: 3rem;
    position: relative;
}

/* Connector line between steps (desktop only) */
.pmga-hws__steps::before {
    content: '';
    position: absolute;
    top: 120px;
    left: 5%;
    right: 5%;
    height: 3px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--pmga-secondary) 25%, 
        var(--pmga-secondary) 75%, 
        transparent 100%);
    pointer-events: none;
    z-index: 0;
    opacity: 0.6;
}

@media (max-width: 900px) {
    .pmga-hws__steps::before {
        display: none;
    }
}

/* ── Individual Step Card ────────────────────────── */
.pmga-hws__step {
    position: relative;
    z-index: 3;
    background: rgba(255, 255, 255, 0.85);
    border: 2px solid var(--pmga-cream);
    border-radius: 20px;
    padding: clamp(2rem, 4vw, 3rem);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    text-align: center;
    box-shadow: 0 8px 25px rgba(46, 6, 81, 0.08);
}

.pmga-hws__step:hover {
    background: rgba(255, 255, 255, 0.95);
    border-color: var(--pmga-secondary);
    transform: translateY(-12px);
    box-shadow: 0 20px 50px rgba(229, 147, 42, 0.2);
}

/* ── Step Number ─────────────────────────────────── */
.pmga-hws__step-number {
    font-size: 3.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--pmga-gold) 0%, var(--pmga-secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 1rem;
    display: block;
    line-height: 1;
    opacity: 0.9;
}

/* ── Step Icon ───────────────────────────────────── */
.pmga-hws__step-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pmga-secondary) 0%, var(--pmga-gold) 100%);
    color: white;
    font-size: 2rem;
    animation: pmgaIconBounce 3s ease-in-out infinite;
}

.pmga-hws__step-icon i {
    font-size: 2rem;
}

.pmga-hws__step:nth-child(1) .pmga-hws__step-icon { animation-delay: 0s; }
.pmga-hws__step:nth-child(2) .pmga-hws__step-icon { animation-delay: 0.2s; }
.pmga-hws__step:nth-child(3) .pmga-hws__step-icon { animation-delay: 0.4s; }

@keyframes pmgaIconBounce {
    0%, 100% { transform: translateY(0) scale(1); }
    50%      { transform: translateY(-15px) scale(1.05); }
}

/* ── Step Title ──────────────────────────────────── */
.pmga-hws__step-title {
    font-size: clamp(1.3rem, 3vw, 1.6rem);
    font-weight: 700;
    color: var(--pmga-primary);
    margin-bottom: 1rem;
    line-height: 1.3;
}

/* ── Step Description ────────────────────────────── */
.pmga-hws__step-desc {
    font-size: 1rem;
    color: var(--pmga-muted);
    line-height: 1.7;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

/* ── Step Details (small list) ───────────────────── */
.pmga-hws__step-details {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    text-align: center;
    font-size: 0.95rem;
    color: var(--pmga-text);
}

.pmga-hws__step-details li {
    padding: 0;
    position: relative;
    color: var(--pmga-muted);
}

.pmga-hws__step-details li::before {
    content: '';
    position: absolute;
    left: 0;
}

/* ── Call to Action Section ──────────────────────── */
.pmga-hws__cta-wrapper {
    text-align: center;
    margin-top: clamp(3rem, 6vw, 5rem);
    animation: pmgaCtaFadeIn 0.8s ease-out 0.4s both;
}

@keyframes pmgaCtaFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pmga-hws__cta-btn {
    display: inline-block;
    padding: 1.2rem 2.8rem;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--pmga-gold) 0%, var(--pmga-secondary) 100%);
    color: var(--pmga-primary);
    border: none;
    border-radius: 50px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 12px 30px rgba(248, 210, 149, 0.3);
    position: relative;
    overflow: hidden;
}

.pmga-hws__cta-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--pmga-secondary) 0%, var(--pmga-gold) 100%);
    transition: left 0.3s ease;
    z-index: -1;
}

.pmga-hws__cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(248, 210, 149, 0.45);
}

.pmga-hws__cta-btn:hover::before {
    left: 0;
}

.pmga-hws__cta-btn:active {
    transform: translateY(-1px);
}

/* ── Responsive adjustments ──────────────────────── */
@media (max-width: 768px) {
    .pmga-hws {
        padding: clamp(3rem, 8vw, 5rem) 0;
    }

    .pmga-hws__heading {
        font-size: 2rem;
    }

    .pmga-hws__step {
        padding: 2rem 1.5rem;
    }

    .pmga-hws__step-number {
        font-size: 2.8rem;
    }

    .pmga-hws__step-icon {
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }

    .pmga-hws__steps::before {
        display: none;
    }
}

@media (max-width: 480px) {
    .pmga-hws__heading {
        font-size: 1.6rem;
    }

    .pmga-hws__subheading {
        font-size: 1rem;
    }

    .pmga-hws__step-title {
        font-size: 1.2rem;
    }

    .pmga-hws__step-details {
        text-align: center;
        align-items: center;
    }

    .pmga-hws__step-details li {
        padding-left: 0;
    }

    .pmga-hws__step-details li::before {
        display: none;
    }
}





/* =============================================
   FAQ v2 — Psychic Master GuruJi
   Prefix: faqv2-  (zero conflicts)
   ============================================= */

.faqv2-section {
    position: relative;
    background: #120225;
    padding: 90px 0 80px;
    overflow: hidden;
}

/* ---- Background ---- */
.faqv2-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }

.faqv2-star {
    position: absolute;
    background: #fff;
    border-radius: 50%;
    opacity: 0;
    animation: faqv2StarBlink linear infinite;
}
@keyframes faqv2StarBlink {
    0%,100% { opacity: 0; transform: scale(1); }
    50%      { opacity: 0.65; transform: scale(1.5); }
}

.faqv2-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    animation: faqv2OrbDrift ease-in-out infinite alternate;
}
.faqv2-orb-a {
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(162,42,70,0.18) 0%, transparent 70%);
    top: -80px; left: -60px;
    animation-duration: 9s;
}
.faqv2-orb-b {
    width: 460px; height: 460px;
    background: radial-gradient(circle, rgba(229,147,42,0.12) 0%, transparent 70%);
    bottom: -120px; right: -80px;
    animation-duration: 11s; animation-delay: 2s;
}
.faqv2-orb-c {
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(46,6,81,0.5) 0%, transparent 70%);
    top: 40%; left: 30%;
    animation-duration: 13s; animation-delay: 4s;
}
@keyframes faqv2OrbDrift {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(20px, 30px) scale(1.08); }
}

/* ---- Layout wrapper ---- */
.faqv2-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 60px;
    align-items: center;
}

/* ============================================
   LEFT COLUMN — Image + Animations
   ============================================ */
.faqv2-left {
    display: flex;
    align-items: center;
    justify-content: center;
}

.faqv2-img-frame {
    position: relative;
    width: 340px;
    height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Rotating rings */
.faqv2-ring {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
}
.faqv2-ring-1 { animation: faqv2RotateCW 18s linear infinite; }
.faqv2-ring-2 { animation: faqv2RotateCCW 24s linear infinite; }
.faqv2-ring-3 { animation: faqv2RotateCW 10s linear infinite; }
@keyframes faqv2RotateCW  { from { transform: rotate(0deg); }   to { transform: rotate(360deg); } }
@keyframes faqv2RotateCCW { from { transform: rotate(0deg); }   to { transform: rotate(-360deg); } }

/* Glow blob */
.faqv2-img-glow {
    position: absolute;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(162,42,70,0.35) 0%, rgba(46,6,81,0.0) 70%);
    animation: faqv2GlowPulse 3.5s ease-in-out infinite alternate;
    z-index: 1;
}
@keyframes faqv2GlowPulse {
    from { transform: scale(0.9); opacity: 0.7; }
    to   { transform: scale(1.12); opacity: 1; }
}

/* Image holder */
.faqv2-img-holder {
    position: relative;
    z-index: 2;
    width: 220px; height: 280px;
    border-radius: 50% 50% 48% 52% / 55% 55% 45% 45%;
    overflow: hidden;
    border: 2px solid rgba(229,147,42,0.45);
    box-shadow: 0 0 0 6px rgba(46,6,81,0.8), 0 0 40px rgba(229,147,42,0.2);
    animation: faqv2ImgFloat 5s ease-in-out infinite alternate;
}
@keyframes faqv2ImgFloat {
    from { transform: translateY(0px); }
    to   { transform: translateY(-14px); }
}
.faqv2-img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}
.faqv2-img-fallback {
    width: 100%; height: 100%;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, #2E0651, #A22A46);
    color: #F8D295;
    font-size: 5rem;
}

/* Floating badges */
.faqv2-badge {
    position: absolute;
    z-index: 3;
    background: rgba(46,6,81,0.92);
    border: 1px solid rgba(229,147,42,0.45);
    border-radius: 12px;
    padding: 10px 14px;
    backdrop-filter: blur(8px);
    animation: faqv2BadgeFloat ease-in-out infinite alternate;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}
.faqv2-badge-exp {
    top: 18px; right: -10px;
    display: flex; align-items: center; gap: 8px;
    animation-duration: 4s;
}
.faqv2-badge-num {
    font-size: 1.6rem;
    font-weight: 700;
    color: #E5932A;
    font-family: 'Georgia', serif;
    line-height: 1;
}
.faqv2-badge-label {
    font-size: 0.68rem;
    color: rgba(248,210,149,0.8);
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.faqv2-badge-trust {
    bottom: 28px; left: -14px;
    display: flex; align-items: center; gap: 7px;
    font-size: 0.75rem;
    color: #F8D295;
    animation-duration: 5s; animation-delay: 1s;
    white-space: nowrap;
}
.faqv2-badge-trust i { color: #E5932A; font-size: 0.8rem; }
@keyframes faqv2BadgeFloat {
    from { transform: translateY(0); }
    to   { transform: translateY(-8px); }
}

/* Sparkle dots */
.faqv2-sparkle {
    position: absolute;
    color: #E5932A;
    font-size: 1rem;
    z-index: 4;
    animation: faqv2SparkleAnim ease-in-out infinite;
}
.faqv2-sp1 { top: 12%; left: 10%; animation-duration: 2.2s; animation-delay: 0s; }
.faqv2-sp2 { bottom: 18%; right: 8%; animation-duration: 2.8s; animation-delay: 0.7s; }
.faqv2-sp3 { top: 55%; left: 4%; animation-duration: 3.2s; animation-delay: 1.2s; color: #F8D295; font-size: 0.75rem; }
@keyframes faqv2SparkleAnim {
    0%,100% { opacity: 0.2; transform: scale(0.8) rotate(0deg); }
    50%     { opacity: 1;   transform: scale(1.3) rotate(20deg); }
}

/* ============================================
   RIGHT COLUMN — Header & Accordion
   ============================================ */
.faqv2-header { margin-bottom: 30px; }

.faqv2-eyebrow {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 14px;
}
.faqv2-eyebrow-line {
    flex: 1; max-width: 50px; height: 1px;
    background: linear-gradient(90deg, transparent, #E5932A);
}
.faqv2-eyebrow-line:last-child {
    background: linear-gradient(90deg, #E5932A, transparent);
}
.faqv2-eyebrow i {
    color: #E5932A; font-size: 1.15rem;
    animation: faqv2SpinSlow 14s linear infinite;
}
@keyframes faqv2SpinSlow {
    from { transform: rotate(0deg); } to { transform: rotate(360deg); }
}

.faqv2-heading {
    font-family: 'Georgia', serif;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem);
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.2;
    background: linear-gradient(135deg, #F8D295 20%, #E5932A 60%, #F8D295 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: faqv2GoldShimmer 5s linear infinite;
}
@keyframes faqv2GoldShimmer {
    0%   { background-position: 0% center; }
    100% { background-position: 200% center; }
}
.faqv2-sub {
    font-size: 0.95rem;
    color: rgba(243,230,217,0.65);
    font-style: italic;
    margin: 0;
    letter-spacing: 0.03em;
}

/* Accordion list */
.faqv2-list { display: flex; flex-direction: column; gap: 10px; }

.faqv2-item {
    border: 1px solid rgba(229,147,42,0.15);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(46,6,81,0.45);
    backdrop-filter: blur(4px);
    transition: border-color 0.3s, box-shadow 0.3s;
    animation: faqv2SlideIn 0.5s ease var(--faqv2-delay, 0s) both;
}
@keyframes faqv2SlideIn {
    from { opacity: 0; transform: translateX(24px); }
    to   { opacity: 1; transform: translateX(0); }
}
.faqv2-item:hover { border-color: rgba(229,147,42,0.38); }
.faqv2-item.faqv2-open {
    border-color: #E5932A;
    box-shadow: 0 4px 28px rgba(229,147,42,0.15);
}

/* Question button */
.faqv2-q {
    width: 100%;
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    background: transparent;
    border: none; cursor: pointer;
    text-align: left;
    color: #F3E6D9;
    font-size: clamp(0.88rem, 2vw, 0.97rem);
    font-weight: 500;
    line-height: 1.45;
    transition: background 0.2s;
}
.faqv2-q:hover { background: rgba(255,255,255,0.03); }

.faqv2-num {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: #E5932A;
    letter-spacing: 0.1em;
    font-family: 'Georgia', serif;
    opacity: 0.75;
    min-width: 24px;
}
.faqv2-q-text { flex: 1; }

.faqv2-icon {
    flex-shrink: 0;
    width: 26px; height: 26px;
    border-radius: 50%;
    border: 1px solid rgba(229,147,42,0.3);
    display: flex; align-items: center; justify-content: center;
    color: #E5932A;
    transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), background 0.3s;
}
.faqv2-icon svg { width: 13px; height: 13px; }
.faqv2-open .faqv2-icon {
    transform: rotate(45deg);
    background: rgba(162,42,70,0.3);
    border-color: #E5932A;
}

/* Answer */
.faqv2-ans {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.48s cubic-bezier(0.4,0,0.2,1);
}
.faqv2-ans-inner {
    padding: 0 18px 18px 56px;
    border-top: 1px solid rgba(229,147,42,0.1);
}
.faqv2-ans-inner p {
    color: rgba(243,230,217,0.78);
    font-size: clamp(0.85rem, 1.8vw, 0.93rem);
    line-height: 1.78;
    margin: 14px 0 0;
}

/* CTA */
.faqv2-cta { margin-top: 30px; }
.faqv2-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 30px;
    background: linear-gradient(135deg, #A22A46 0%, #E5932A 100%);
    color: #fff;
    font-size: 0.93rem;
    font-weight: 600;
    border-radius: 40px;
    text-decoration: none;
    letter-spacing: 0.04em;
    box-shadow: 0 4px 20px rgba(162,42,70,0.35);
    transition: transform 0.25s, box-shadow 0.25s;
}
.faqv2-cta-btn:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 8px 32px rgba(229,147,42,0.4);
    color: #fff;
    text-decoration: none;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
    .faqv2-wrap {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .faqv2-left { order: -1; }
    .faqv2-img-frame { width: 280px; height: 280px; }
    .faqv2-img-holder { width: 180px; height: 230px; }
}

@media (max-width: 520px) {
    .faqv2-section { padding: 60px 0; }
    .faqv2-wrap { padding: 0 16px; gap: 36px; }
    .faqv2-img-frame { width: 240px; height: 240px; }
    .faqv2-img-holder { width: 154px; height: 196px; }
    .faqv2-badge-exp { right: 0; }
    .faqv2-badge-trust { left: -4px; }
    .faqv2-q { padding: 14px 14px; }
    .faqv2-ans-inner { padding: 0 14px 14px 14px; }
    .faqv2-num { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .faqv2-star, .faqv2-orb,
    .faqv2-ring-1, .faqv2-ring-2, .faqv2-ring-3,
    .faqv2-img-glow, .faqv2-img-holder,
    .faqv2-badge, .faqv2-sparkle,
    .faqv2-eyebrow i, .faqv2-heading { animation: none !important; }
    .faqv2-item { animation: none !important; }
}
