/* =====================================================
   PRAVEENKUMAR & ANUBAMA — 3D Premium Edition
   Royal Blue + Gold — Vibrant, Rich, Immersive
   ===================================================== */
:root{
    --blue:#0F2C5C;--bl:#1A3F7A;--bd:#091E3F;--bp:#D6E0F0;
    --gold:#D4A853;--gl:#E3C47D;--gd:#B08A3A;--gp:#FDF8ED;
    --ivory:#FAFAF8;--warm:#F5F3EF;--char:#1C1C1C;--txt:#2E2E2E;--mut:#6E6E6E;--lt:#A8A8A8;--w:#FFF;
    --f1:'Barlow',sans-serif;--f2:'Instrument Serif',serif;--f3:'Great Vibes',cursive;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-family:var(--f1);background:var(--ivory);color:var(--txt);overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
::selection{background:var(--blue);color:var(--w)}
img{max-width:100%;display:block}

/* ===== GLOBAL SHIMMER KEYFRAMES ===== */
@keyframes shimmer{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(200%) rotate(25deg)}}
@keyframes float3d{0%,100%{transform:translateY(0) rotateX(0) rotateY(0)}25%{transform:translateY(-12px) rotateX(5deg) rotateY(8deg)}50%{transform:translateY(0) rotateX(-3deg) rotateY(-5deg)}75%{transform:translateY(-8px) rotateX(4deg) rotateY(-3deg)}}
@keyframes spin3d{0%{transform:rotateX(0) rotateY(0) rotateZ(0)}100%{transform:rotateX(360deg) rotateY(360deg) rotateZ(0)}}
@keyframes spinY{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 8px rgba(212,168,83,.15),0 0 20px rgba(212,168,83,.05)}50%{box-shadow:0 0 16px rgba(212,168,83,.35),0 0 40px rgba(212,168,83,.12)}}
@keyframes borderGlow{0%,100%{border-color:rgba(212,168,83,.2)}50%{border-color:rgba(212,168,83,.5)}}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:.8;transform:scale(1.2)}}
@keyframes diamondSpin{0%{transform:rotate(45deg) scale(1)}50%{transform:rotate(225deg) scale(1.15)}100%{transform:rotate(405deg) scale(1)}}
@keyframes gentleRotate{0%{transform:perspective(600px) rotateX(10deg) rotateY(-5deg)}25%{transform:perspective(600px) rotateX(12deg) rotateY(3deg)}50%{transform:perspective(600px) rotateX(8deg) rotateY(-8deg)}75%{transform:perspective(600px) rotateX(14deg) rotateY(2deg)}100%{transform:perspective(600px) rotateX(10deg) rotateY(-5deg)}}

/* ===== LOADER ===== */
.loader{position:fixed;inset:0;z-index:10000;background:linear-gradient(135deg,#0d2248,#14305e,#1a3f7a);display:flex;align-items:center;justify-content:center;transition:opacity .8s,visibility .8s}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{text-align:center}
.draw{stroke-dasharray:110;stroke-dashoffset:110}
.draw-1{animation:drawR 1.4s ease forwards}
.draw-2{animation:drawR 1.4s ease .25s forwards}
@keyframes drawR{to{stroke-dashoffset:0}}
.loader-name{font-family:var(--f3);font-size:1.6rem;color:var(--gold);margin-top:14px;text-shadow:0 0 20px rgba(212,168,83,.4)}

/* ===== MUSIC ===== */
.music-btn{position:fixed;top:14px;right:14px;z-index:9999;width:42px;height:42px;border-radius:50%;border:1px solid var(--gl);background:rgba(15,44,92,.85);backdrop-filter:blur(10px);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gold);transition:all .25s;box-shadow:0 2px 12px rgba(0,0,0,.2),0 0 15px rgba(212,168,83,.1);opacity:0;pointer-events:none}
.music-btn.vis{opacity:1;pointer-events:all;animation:pulse-glow 3s ease-in-out infinite}
.music-btn:hover,.music-btn:active{transform:scale(1.08);box-shadow:0 0 25px rgba(212,168,83,.35)}
.m-icon{display:flex}.m-bars{display:none;align-items:flex-end;gap:2px;height:14px}
.music-btn.on .m-icon{display:none}.music-btn.on .m-bars{display:flex}
.m-bars i{width:2.5px;background:var(--gold);border-radius:1px;animation:bd .8s ease-in-out infinite alternate}
.m-bars i:nth-child(1){height:5px;animation-delay:0s}.m-bars i:nth-child(2){height:11px;animation-delay:.12s}
.m-bars i:nth-child(3){height:8px;animation-delay:.24s}.m-bars i:nth-child(4){height:13px;animation-delay:.36s}
@keyframes bd{from{height:2px}to{height:14px}}

/* =============================================
   GIFT BOX — 3D Enhanced
   ============================================= */
.giftbox{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#081a38,#0F2C5C 40%,#163868 60%,#0a2040);overflow:hidden;transition:opacity .6s .2s,visibility .6s .2s}
.giftbox.hidden{opacity:0;visibility:hidden;pointer-events:none}
#confetti-canvas{position:absolute;inset:0;z-index:10;pointer-events:none}

/* Decorative bg sparkles - enhanced */
.giftbox::before{content:'';position:absolute;inset:0;
    background-image:
        radial-gradient(circle at 15% 20%,rgba(212,168,83,.12) 0%,transparent 3%),
        radial-gradient(circle at 85% 15%,rgba(212,168,83,.1) 0%,transparent 2.5%),
        radial-gradient(circle at 10% 75%,rgba(212,168,83,.08) 0%,transparent 2%),
        radial-gradient(circle at 90% 80%,rgba(212,168,83,.1) 0%,transparent 2.5%),
        radial-gradient(circle at 50% 5%,rgba(255,255,255,.04) 0%,transparent 4%),
        radial-gradient(circle at 30% 50%,rgba(212,168,83,.06) 0%,transparent 3%),
        radial-gradient(circle at 70% 50%,rgba(212,168,83,.06) 0%,transparent 3%);
}
.giftbox::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(212,168,83,.08) 0%,transparent 50%);pointer-events:none;animation:pulse-glow 4s ease-in-out infinite}

/* Floating 3D sparkles */
.gb-sparkles{position:absolute;inset:0;z-index:2;pointer-events:none}
.gb-sparkle{position:absolute;width:4px;height:4px;background:var(--gold);border-radius:50%;animation:twinkle 2s ease-in-out infinite}
.s1{top:15%;left:10%;animation-delay:0s;width:3px;height:3px}.s2{top:20%;right:12%;animation-delay:.4s;width:5px;height:5px}
.s3{top:60%;left:8%;animation-delay:.8s}.s4{top:70%;right:15%;animation-delay:1.2s;width:3px;height:3px}
.s5{top:30%;left:20%;animation-delay:.3s;width:2px;height:2px}.s6{top:80%;left:25%;animation-delay:1.5s;width:5px;height:5px}
.s7{top:25%;right:25%;animation-delay:.7s}.s8{top:55%;right:8%;animation-delay:1s;width:3px;height:3px}

/* Floating 3D rings */
.gb-float-rings{position:absolute;inset:0;z-index:1;pointer-events:none;perspective:800px}
.gb-ring{position:absolute;border:1.5px solid rgba(212,168,83,.12);border-radius:50%;transform-style:preserve-3d}
.gb-ring-1{width:80px;height:80px;top:12%;left:8%;animation:spin3d 18s linear infinite}
.gb-ring-2{width:50px;height:50px;bottom:20%;right:10%;animation:spin3d 14s linear infinite reverse;border-color:rgba(255,255,255,.06)}
.gb-ring-3{width:120px;height:120px;top:40%;right:5%;animation:spin3d 22s linear infinite;border-color:rgba(212,168,83,.06)}

.gb-scene{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:5}

/* 3D Gift Box — now with idle animation */
.gb-box{width:160px;height:140px;position:relative;transform-style:preserve-3d;animation:gentleRotate 6s ease-in-out infinite;cursor:pointer;transition:transform .3s}
.gb-box:hover{animation-play-state:paused;transform:perspective(600px) rotateX(8deg) rotateY(-3deg) scale(1.05)}

/* Shine sweep on the box */
.gb-shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:shimmer 3.5s ease-in-out infinite 1s}

/* LID */
.gb-lid{position:absolute;top:0;left:-6px;width:172px;height:42px;transform-style:preserve-3d;transform-origin:center bottom;transition:transform 1.2s cubic-bezier(.25,.46,.45,.94);z-index:3}
.gb-lid.open{transform:rotateX(-130deg) translateY(-10px)}
.gb-lid-top{position:absolute;width:172px;height:42px;background:linear-gradient(135deg,#1a3a6e,#1e4580);border:2px solid var(--gold);border-radius:4px 4px 0 0;transform:translateZ(42px);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px rgba(212,168,83,.1)}
.gb-lid-front{position:absolute;width:172px;height:42px;background:linear-gradient(180deg,#1a3a6e,#163058);border-left:2px solid var(--gold);border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform-origin:bottom;transform:rotateX(-90deg) translateZ(0px)}
.gb-lid-back{position:absolute;width:172px;height:42px;background:#132a52;transform:rotateX(-90deg) translateZ(-42px) rotateX(180deg)}
.gb-lid-left{position:absolute;width:42px;height:42px;background:linear-gradient(180deg,#17325c,#122848);border:2px solid var(--gold);transform:rotateY(90deg) translateZ(0px);left:-21px}
.gb-lid-right{position:absolute;width:42px;height:42px;background:linear-gradient(180deg,#17325c,#122848);border:2px solid var(--gold);transform:rotateY(90deg) translateZ(172px);left:-21px}

/* Ribbon Bow — enhanced glow */
.gb-ribbon-bow{display:flex;align-items:center;justify-content:center;gap:0;position:relative;top:-2px}
.bow-loop{width:22px;height:14px;border:2px solid var(--gold);border-radius:50%;background:rgba(212,168,83,.15);box-shadow:0 0 10px rgba(212,168,83,.15)}
.bow-left{transform:rotate(-20deg) translateX(4px)}
.bow-right{transform:rotate(20deg) translateX(-4px)}
.bow-knot{width:10px;height:10px;background:var(--gold);border-radius:50%;position:absolute;z-index:1;box-shadow:0 0 12px rgba(212,168,83,.5)}

/* BASE */
.gb-base{position:absolute;top:42px;left:0;width:160px;height:100px;transform-style:preserve-3d}
.gb-base-front{position:absolute;width:160px;height:100px;background:linear-gradient(180deg,#14305e,#0d2248);border:2px solid var(--gold);border-top:none;transform:translateZ(42px);overflow:hidden;animation:borderGlow 3s ease-in-out infinite}
.gb-base-back{position:absolute;width:160px;height:100px;background:#0a1d3d;border:2px solid rgba(212,168,83,.3);transform:rotateY(180deg)}
.gb-base-left{position:absolute;width:42px;height:100px;background:linear-gradient(180deg,#122a50,#0d2040);border:2px solid var(--gold);transform:rotateY(90deg) translateZ(-21px);overflow:hidden}
.gb-base-right{position:absolute;width:42px;height:100px;background:linear-gradient(180deg,#122a50,#0d2040);border:2px solid var(--gold);transform:rotateY(-90deg) translateZ(-139px);overflow:hidden}
.gb-base-bottom{position:absolute;width:160px;height:42px;background:#091a35;transform:rotateX(-90deg) translateZ(-100px)}

/* Ribbons on box */
.gb-ribbon-v{position:absolute;left:50%;width:18px;height:100%;background:linear-gradient(180deg,rgba(212,168,83,.4),rgba(212,168,83,.2));transform:translateX(-50%)}
.gb-ribbon-h{position:absolute;top:50%;width:100%;height:18px;background:linear-gradient(90deg,rgba(212,168,83,.2),rgba(212,168,83,.4),rgba(212,168,83,.2));transform:translateY(-50%)}

/* Inner glow — enhanced */
.gb-glow{position:absolute;top:42px;left:30px;width:100px;height:40px;background:radial-gradient(ellipse,rgba(212,168,83,.6),rgba(212,168,83,.2),transparent);border-radius:50%;filter:blur(15px);opacity:0;transition:opacity .8s .3s;z-index:2}
.gb-lid.open ~ .gb-glow{opacity:1;animation:pulse-glow 2s ease-in-out infinite}

/* Gift box text */
.gb-text{text-align:center;position:relative;z-index:5}
.gb-couple{font-family:var(--f3);font-size:clamp(1.3rem,4vw,2rem);color:var(--gold);margin-bottom:6px;text-shadow:0 0 30px rgba(212,168,83,.3)}
.gb-amp{display:inline-block;animation:diamondSpin 6s ease-in-out infinite;font-size:.8em}
.gb-invite{font-family:var(--f1);font-size:clamp(.72rem,1.4vw,.88rem);color:rgba(255,255,255,.5);letter-spacing:2px;font-weight:300;margin-bottom:18px}
.gb-open-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,var(--gold),var(--gd));color:var(--bd);border:none;border-radius:2px;font-family:var(--f1);font-size:.82rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;min-height:48px;box-shadow:0 4px 20px rgba(212,168,83,.3),0 0 40px rgba(212,168,83,.1);position:relative;overflow:hidden}
.gb-open-btn:hover,.gb-open-btn:active{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 30px rgba(212,168,83,.45),0 0 60px rgba(212,168,83,.2)}
/* Button shimmer */
.btn-shimmer{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2.5s ease-in-out infinite}

/* ===== PARTICLES ===== */
#particles{position:fixed;inset:0;z-index:1;pointer-events:none}

/* ===== MAIN ===== */
main{position:relative;z-index:2}

/* ===== SECTION COMMON ===== */
.sec{padding:0 16px 70px}
.sec-hdr{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:70px;margin-bottom:10px}
.sec-ln{width:50px;height:1px;background:linear-gradient(to right,transparent,var(--gold))}
.sec-ln:last-child{background:linear-gradient(to left,transparent,var(--gold))}
.ln-gold{background:linear-gradient(to right,transparent,var(--gl))!important}
.ln-gold:last-child{background:linear-gradient(to left,transparent,var(--gl))!important}
.sec-diamond{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);opacity:.5;flex-shrink:0;animation:diamondSpin 8s ease-in-out infinite}
.dia-gold{background:var(--gl)}
.sec-t{font-family:var(--f2);font-size:clamp(1.8rem,5vw,3rem);color:var(--blue);text-align:center;margin-bottom:4px}
.sec-t-light{color:var(--w);text-shadow:0 0 30px rgba(212,168,83,.15)}
.sec-s{font-family:var(--f2);font-size:clamp(.82rem,1.6vw,1rem);color:var(--mut);text-align:center;font-style:italic;margin-bottom:36px}
.sec-s-light{color:rgba(255,255,255,.6)}

/* ===== SECTION DIVIDERS ===== */
.sec-divider{width:100%;overflow:hidden;line-height:0}
.sec-divider svg{width:100%;height:30px}

/* ===== CORNER ACCENTS — enhanced with glow ===== */
.corner-box{position:relative}
.corner{position:absolute;width:7px;height:7px;background:var(--gold);pointer-events:none;z-index:5;opacity:.55;transition:opacity .3s,box-shadow .3s,transform .3s}
.corner-box:hover .corner{opacity:.85;box-shadow:0 0 8px rgba(212,168,83,.4);transform:scale(1.3)}
.c-corner{background:var(--gl)}
.tl{top:-1px;left:-1px}.tr{top:-1px;right:-1px}.bl{bottom:-1px;left:-1px}.br{bottom:-1px;right:-1px}

/* ===== CARD SHINE OVERLAY ===== */
.card-shine{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);z-index:10;pointer-events:none;transition:left .6s}
.c-card:hover .card-shine,.c-card:active .card-shine{left:180%;transition:left .8s}

/* ===== CTAs — enhanced with depth ===== */
.cta{position:relative;display:inline-flex;align-items:center;gap:7px;padding:13px 32px;border-radius:2px;font-family:var(--f1);font-size:.82rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .25s;border:none;overflow:hidden;min-height:46px;-webkit-appearance:none}
.cta-fill{background:linear-gradient(135deg,var(--gold),var(--gd));color:var(--bd);box-shadow:0 4px 14px rgba(212,168,83,.2)}
.cta-fill::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}
.cta-fill:hover::after,.cta-fill:active::after{left:180%}
.cta-fill:hover,.cta-fill:active{box-shadow:0 6px 22px rgba(212,168,83,.4);transform:translateY(-2px)}
.cta-outline{background:transparent;color:var(--gold);border:1.5px solid var(--gold);box-shadow:0 0 0 transparent}
.cta-outline:hover,.cta-outline:active{background:rgba(212,168,83,.1);box-shadow:0 0 22px rgba(212,168,83,.18);transform:translateY(-2px)}
.cta-sm{padding:10px 22px;font-size:.78rem}
.cta-block{width:100%;justify-content:center;margin-top:6px}

/* ===== HERO — 3D Enhanced ===== */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;
    background:linear-gradient(180deg,#0c2040 0%,#14305e 20%,#1a4078 40%,#2050a0 60%,#14305e 80%,#0F2C5C 100%)}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.parallax-layer{position:absolute;inset:-50px;will-change:transform}
.plx-1{background:
    radial-gradient(ellipse at 30% 30%,rgba(212,168,83,.12) 0%,transparent 40%),
    radial-gradient(ellipse at 70% 70%,rgba(212,168,83,.1) 0%,transparent 35%)}
.plx-2{background-image:
    radial-gradient(circle at 8% 15%,rgba(212,168,83,.1) 0%,transparent 6%),
    radial-gradient(circle at 92% 20%,rgba(255,255,255,.04) 0%,transparent 4%),
    radial-gradient(circle at 12% 80%,rgba(255,255,255,.03) 0%,transparent 5%),
    radial-gradient(circle at 88% 75%,rgba(212,168,83,.08) 0%,transparent 5%),
    radial-gradient(circle at 50% 50%,rgba(212,168,83,.04) 0%,transparent 8%)}
.plx-3{background:radial-gradient(ellipse at 50% 50%,rgba(212,168,83,.06) 0%,transparent 50%)}

.deco{position:absolute;pointer-events:none;z-index:2;opacity:.7}
.deco-tl{top:0;left:0}.deco-tr{top:0;right:0}.deco-bl{bottom:0;left:0}.deco-br{bottom:0;right:0}

/* Hero 3D floating shapes */
.hero-3d-shapes{position:absolute;inset:0;z-index:3;pointer-events:none;perspective:1000px}
.h3d{position:absolute;transform-style:preserve-3d}
.h3d-diamond{width:12px;height:12px;background:var(--gold);opacity:.18;animation:float3d 6s ease-in-out infinite}
.h3d-diamond::before{content:'';position:absolute;inset:0;background:inherit;transform:rotateZ(45deg)}
.h3d-ring{border:1.5px solid rgba(212,168,83,.15);border-radius:50%;animation:spin3d 15s linear infinite}
.h3d-star{width:8px;height:8px;background:rgba(212,168,83,.25);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:twinkle 3s ease-in-out infinite}
.h3d-dot{width:5px;height:5px;background:rgba(255,255,255,.12);border-radius:50%;animation:float3d 5s ease-in-out infinite}
.h3d-1{top:12%;left:8%;animation-delay:0s;width:14px;height:14px}
.h3d-2{bottom:18%;right:10%;animation-delay:1.5s;width:10px;height:10px}
.h3d-3{top:20%;right:12%;width:45px;height:45px;animation-duration:18s}
.h3d-4{bottom:25%;left:5%;width:30px;height:30px;animation-duration:12s;animation-direction:reverse}
.h3d-5{top:35%;left:15%;animation-delay:.8s}
.h3d-6{bottom:30%;right:18%;animation-delay:2s;width:11px;height:11px}
.h3d-7{top:55%;left:6%;animation-delay:.5s}
.h3d-8{top:15%;right:22%;animation-delay:1.2s;width:7px;height:7px}

.hero-body{position:relative;z-index:5;text-align:center;padding:20px;width:100%;max-width:700px}
.hero-over{font-family:var(--f1);font-size:clamp(.65rem,1.3vw,.78rem);color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:5px;font-weight:300;margin-bottom:18px}
.hero-names-box{padding:28px 14px;margin-bottom:14px;background:rgba(255,255,255,.04);border-radius:8px;backdrop-filter:blur(4px);position:relative;overflow:hidden;animation:borderGlow 4s ease-in-out infinite;border:1px solid rgba(212,168,83,.15)}
/* Sweeping shine on names box */
.names-shine{position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,83,.07),transparent);animation:shimmer 5s ease-in-out infinite 2s;pointer-events:none;z-index:0}
.hero-groom,.hero-bride{font-family:var(--f3);font-size:clamp(2.6rem,8vw,5rem);color:var(--gold);line-height:1.1;text-shadow:0 2px 20px rgba(212,168,83,.25),0 0 40px rgba(212,168,83,.1);position:relative;z-index:1}
.hero-ring-connector{margin:6px 0 8px;padding:0 8px;position:relative;z-index:1}
.ring-svg{width:100%;max-width:260px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 0 8px rgba(212,168,83,.2))}
.hero-tagline{font-family:var(--f2);font-size:clamp(.85rem,1.8vw,1.05rem);color:rgba(255,255,255,.6);margin-bottom:16px}
.hero-date-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px}
.hd-line{width:36px;height:1px;background:var(--gl)}
.hd-text{font-family:var(--f2);font-size:clamp(1.1rem,2.8vw,1.6rem);color:var(--w);letter-spacing:4px;text-shadow:0 0 20px rgba(255,255,255,.1)}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:6px}
.scroll-cue{margin-top:22px}
.scroll-dot{animation:sD 2s ease-in-out infinite}
@keyframes sD{0%,100%{cy:10;opacity:1}50%{cy:26;opacity:.3}}

/* ===== COUNTDOWN — 3D Enhanced ===== */
.cd-sec{background:linear-gradient(180deg,#0F2C5C,#14356a 50%,#0F2C5C);text-align:center;padding-bottom:50px;position:relative;overflow:hidden}
.cd-sec .sec-t{color:var(--w)}.cd-sec .sec-s{color:rgba(255,255,255,.55)}

/* 3D floating cubes */
.cd-3d-decos{position:absolute;inset:0;pointer-events:none;perspective:600px;z-index:0}
.cd-cube{position:absolute;width:28px;height:28px;transform-style:preserve-3d;animation:spin3d 12s linear infinite}
.cd-cube-1{top:15%;left:6%;animation-duration:16s}
.cd-cube-2{bottom:18%;right:8%;animation-duration:20s;width:20px;height:20px;animation-direction:reverse}
.cube-face{position:absolute;border:1px solid rgba(212,168,83,.12);background:rgba(212,168,83,.03);backdrop-filter:blur(2px)}
.cd-cube-1 .cf{width:28px;height:28px;transform:translateZ(14px)}.cd-cube-1 .cb{width:28px;height:28px;transform:translateZ(-14px) rotateY(180deg)}
.cd-cube-1 .cl{width:28px;height:28px;transform:rotateY(-90deg) translateZ(14px)}.cd-cube-1 .cr{width:28px;height:28px;transform:rotateY(90deg) translateZ(14px)}
.cd-cube-1 .ct{width:28px;height:28px;transform:rotateX(90deg) translateZ(14px)}.cd-cube-1 .cbo{width:28px;height:28px;transform:rotateX(-90deg) translateZ(14px)}
.cd-cube-2 .cf{width:20px;height:20px;transform:translateZ(10px)}.cd-cube-2 .cb{width:20px;height:20px;transform:translateZ(-10px) rotateY(180deg)}
.cd-cube-2 .cl{width:20px;height:20px;transform:rotateY(-90deg) translateZ(10px)}.cd-cube-2 .cr{width:20px;height:20px;transform:rotateY(90deg) translateZ(10px)}
.cd-cube-2 .ct{width:20px;height:20px;transform:rotateX(90deg) translateZ(10px)}.cd-cube-2 .cbo{width:20px;height:20px;transform:rotateX(-90deg) translateZ(10px)}

.cd-row{display:flex;align-items:center;justify-content:center;gap:6px;max-width:560px;margin:0 auto;position:relative;z-index:2}
.cd-item{text-align:center;flex-shrink:0;perspective:500px}
.cd-box{width:clamp(58px,17vw,82px);height:clamp(64px,19vw,90px);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(212,168,83,.2);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.15),0 0 15px rgba(212,168,83,.05);position:relative;overflow:hidden;transform-style:preserve-3d;transform:translateZ(0);transition:transform .4s,box-shadow .4s;animation:borderGlow 4s ease-in-out infinite}
.cd-box:hover{transform:translateZ(15px) scale(1.06);box-shadow:0 8px 30px rgba(0,0,0,.25),0 0 25px rgba(212,168,83,.15)}
.cd-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--gl));border-radius:10px 10px 0 0}
.cd-box::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 4s ease-in-out infinite}
.cd-n{font-family:var(--f2);font-size:clamp(1.4rem,5vw,2.2rem);color:var(--gold);transition:all .3s;text-shadow:0 0 15px rgba(212,168,83,.2)}
.cd-l{display:block;margin-top:6px;font-family:var(--f1);font-size:.62rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:2px}
.cd-colon{font-family:var(--f2);font-size:clamp(1rem,3.5vw,1.6rem);color:var(--gold);padding-bottom:20px;flex-shrink:0;animation:pulse-glow 2s ease-in-out infinite}

/* ===== STORY — enhanced cards ===== */
.story-sec{background:linear-gradient(180deg,var(--gp),#f7eed8 30%,#f0e2c2 60%,var(--gp));position:relative}
.story-sec::before{content:'';position:absolute;inset:0;background-image:
    radial-gradient(circle at 5% 50%,rgba(15,44,92,.04) 0%,transparent 15%),
    radial-gradient(circle at 95% 50%,rgba(15,44,92,.04) 0%,transparent 15%);pointer-events:none}
.timeline{position:relative;max-width:560px;margin:0 auto;padding-left:28px}
.tl-bar{position:absolute;left:6px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,var(--blue),var(--gold),var(--blue),transparent)}
.tl-item{position:relative;margin-bottom:28px;perspective:800px}
.tl-dot{position:absolute;left:-25px;top:8px;width:11px;height:11px;background:var(--blue);border:3px solid var(--gp);border-radius:50%;box-shadow:0 0 0 2px var(--blue),0 0 10px rgba(15,44,92,.2);transition:box-shadow .3s}
.tl-dot-gold{background:var(--gold);box-shadow:0 0 0 2px var(--gold),0 0 10px rgba(212,168,83,.3)}
.tl-card{padding:20px;background:var(--w);border:1px solid rgba(212,168,83,.15);border-radius:14px;box-shadow:0 6px 24px rgba(15,44,92,.06);transition:transform .4s,box-shadow .4s;transform-style:preserve-3d;position:relative;overflow:hidden}
.tl-card::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,83,.04),transparent);transition:left .6s}
.tl-card:hover::after,.tl-card:active::after{left:180%}
.tl-card:hover,.tl-card:active{transform:translateY(-4px) rotateX(2deg) translateZ(8px);box-shadow:0 16px 40px rgba(15,44,92,.12)}
.tl-label{font-family:var(--f1);font-size:.62rem;color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-weight:500}
.tl-card h3{font-family:var(--f2);font-size:1.15rem;color:var(--blue);margin:4px 0 6px}
.tl-card p{font-family:var(--f1);font-size:.8rem;color:var(--txt);line-height:1.7;font-weight:300}

/* ===== COUPLE — 3D Deep ===== */
.couple-sec{background:linear-gradient(180deg,#0F2C5C,#163868 30%,#1a4078 50%,#163868 70%,#0F2C5C);text-align:center;position:relative;overflow:hidden}
.couple-sec::before{content:'';position:absolute;inset:0;background-image:
    radial-gradient(circle at 20% 20%,rgba(212,168,83,.06) 0%,transparent 20%),
    radial-gradient(circle at 80% 80%,rgba(212,168,83,.06) 0%,transparent 20%);pointer-events:none}
.couple-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;max-width:880px;margin:0 auto;perspective:1200px;position:relative;z-index:2}
.c-card{width:265px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);border:1px solid rgba(212,168,83,.2);border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.2),0 0 20px rgba(212,168,83,.05);transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;transform-style:preserve-3d;animation:borderGlow 5s ease-in-out infinite;position:relative}
.c-card:hover,.c-card:active{box-shadow:0 20px 50px rgba(0,0,0,.35),0 0 30px rgba(212,168,83,.1);transform:translateZ(20px) scale(1.02)}
.c-photo{position:relative;width:100%;height:250px;overflow:hidden}
.c-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1)}
.c-card:hover .c-photo img,.c-card:active .c-photo img{transform:scale(1.08)}
.c-bride{object-position:right center}
.c-photo-fade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(15,44,92,.3) 100%)}
.c-body{padding:14px}
.c-role{font-family:var(--f1);font-size:.62rem;color:var(--gl);text-transform:uppercase;letter-spacing:3px;font-weight:500}
.c-body h3{font-family:var(--f2);font-size:1.12rem;color:var(--w);margin:4px 0 8px;text-shadow:0 0 15px rgba(255,255,255,.1)}
.sbi-chip{display:inline-block;padding:3px 12px;background:rgba(212,168,83,.15);border:1px solid rgba(212,168,83,.2);border-radius:14px;font-size:.68rem;color:var(--gold);font-weight:500;margin-bottom:8px;box-shadow:0 0 10px rgba(212,168,83,.1)}
.c-par{font-family:var(--f1);font-size:.76rem;color:rgba(255,255,255,.55);font-weight:300}
.c-par strong{color:rgba(255,255,255,.8);font-weight:500}
.c-heart-ring{flex-shrink:0;animation:hb 1.5s ease-in-out infinite;filter:drop-shadow(0 3px 15px rgba(212,168,83,.4))}
@keyframes hb{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.08)}}

/* ===== EVENTS — 3D Glass Cards ===== */
.events-sec{background:linear-gradient(180deg,#0d2248,#112a52 30%,#14305e 50%,#112a52 70%,#0d2248);position:relative;overflow:hidden}
.events-sec::before{content:'';position:absolute;inset:0;background-image:
    radial-gradient(circle at 10% 30%,rgba(212,168,83,.05) 0%,transparent 15%),
    radial-gradient(circle at 90% 70%,rgba(212,168,83,.05) 0%,transparent 15%);pointer-events:none}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px;max-width:880px;margin:0 auto;perspective:1200px;position:relative;z-index:2}
.ev-card{position:relative;padding:26px 20px;background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border:1px solid rgba(212,168,83,.15);border-radius:14px;text-align:center;overflow:hidden;transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;transform-style:preserve-3d;box-shadow:0 6px 24px rgba(0,0,0,.15);animation:borderGlow 5s ease-in-out infinite}
.ev-card:hover,.ev-card:active{box-shadow:0 18px 45px rgba(0,0,0,.3),0 0 25px rgba(212,168,83,.08);transform:translateZ(18px) rotateX(2deg) scale(1.02)}
.ev-card::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);transition:left .6s}
.ev-card:hover::after,.ev-card:active::after{left:180%}
.ev-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--gl))}
.ev-accent-gold{background:linear-gradient(to right,var(--bl),var(--gold))}
.ev-accent-main{background:linear-gradient(to right,var(--gold),var(--w),var(--gold));height:4px;box-shadow:0 0 15px rgba(212,168,83,.3)}
.ev-main{border:1.5px solid rgba(212,168,83,.25);background:rgba(255,255,255,.1);box-shadow:0 8px 30px rgba(0,0,0,.2),0 0 20px rgba(212,168,83,.08)}
.ev-badge{position:absolute;top:12px;right:12px;padding:3px 9px;background:var(--gold);color:var(--bd);border-radius:2px;font-family:var(--f1);font-size:.56rem;text-transform:uppercase;letter-spacing:2px;font-weight:600;box-shadow:0 2px 10px rgba(212,168,83,.3)}
.ev-date{font-family:var(--f1);font-size:.66rem;color:var(--gl);text-transform:uppercase;letter-spacing:2px;font-weight:500}
.ev-name{font-family:var(--f2);font-size:1.15rem;color:var(--w);margin:6px 0 4px;text-shadow:0 0 10px rgba(255,255,255,.08)}
.ev-time{font-family:var(--f1);font-size:.86rem;color:var(--gold);font-weight:500;margin-bottom:8px;text-shadow:0 0 10px rgba(212,168,83,.15)}
.ev-desc{font-family:var(--f1);font-size:.78rem;color:rgba(255,255,255,.6);line-height:1.7;font-weight:300}

/* ===== FAMILY — 3D Gold ===== */
.family-sec{background:linear-gradient(180deg,var(--gp),#f5e6c8 30%,#eddbb5 50%,#f5e6c8 70%,var(--gp));text-align:center;position:relative}
.family-sec::before{content:'';position:absolute;inset:0;background-image:
    radial-gradient(circle at 50% 50%,rgba(15,44,92,.03) 0%,transparent 25%);pointer-events:none}
.fam-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;max-width:680px;margin:0 auto;perspective:1000px;position:relative;z-index:2}
.fam-card{width:255px;padding:26px 20px;background:var(--w);border:1px solid rgba(212,168,83,.2);border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(15,44,92,.06),0 0 15px rgba(212,168,83,.05);transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;transform-style:preserve-3d;position:relative}
.fam-card::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,83,.04),transparent);transition:left .6s}
.fam-card:hover::after,.fam-card:active::after{left:180%}
.fam-card:hover,.fam-card:active{box-shadow:0 16px 40px rgba(15,44,92,.12),0 0 20px rgba(212,168,83,.08);transform:translateZ(15px) rotateX(2deg)}
.fam-label{font-family:var(--f1);font-size:.62rem;color:var(--gold);text-transform:uppercase;letter-spacing:3px;display:block;margin-bottom:6px;font-weight:500}
.fam-card h3{font-family:var(--f2);font-size:1.15rem;color:var(--blue);margin-bottom:6px}
.fam-note{font-family:var(--f2);font-size:.8rem;color:var(--mut);font-style:italic}
.fam-sep{flex-shrink:0;animation:gf 3s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(15,44,92,.1))}
@keyframes gf{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* ===== VENUE — 3D Depth ===== */
.venue-sec{background:linear-gradient(180deg,var(--gp),#faf3e4 40%,var(--gp));position:relative}
.venue-row{display:flex;gap:18px;flex-wrap:wrap;max-width:880px;margin:0 auto;align-items:stretch;justify-content:center;perspective:1200px}
.venue-info{flex:1;min-width:255px;max-width:350px;padding:32px 22px;background:var(--w);border:1px solid rgba(212,168,83,.15);border-radius:14px;box-shadow:0 6px 24px rgba(15,44,92,.06);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;transform-style:preserve-3d;position:relative;overflow:hidden}
.venue-info::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,83,.03),transparent);transition:left .6s}
.venue-info:hover::after,.venue-info:active::after{left:180%}
.venue-info:hover,.venue-info:active{box-shadow:0 16px 40px rgba(15,44,92,.12);transform:translateZ(12px) rotateY(-3deg)}
.v-pin{margin-bottom:10px;animation:pb 2s ease-in-out infinite;filter:drop-shadow(0 3px 10px rgba(15,44,92,.15))}
@keyframes pb{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.v-name{font-family:var(--f2);font-size:1.3rem;color:var(--blue);margin-bottom:8px}
.v-addr{font-family:var(--f1);font-size:.8rem;color:var(--txt);line-height:1.8;margin-bottom:16px;font-weight:300}
.venue-map{flex:1.2;min-width:270px;max-width:500px;height:310px;border-radius:14px;overflow:hidden;box-shadow:0 14px 38px rgba(15,44,92,.1),0 0 20px rgba(212,168,83,.05);border:3px solid var(--w);transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;transform-style:preserve-3d}
.venue-map:hover{transform:translateZ(10px) rotateY(3deg);box-shadow:0 20px 50px rgba(15,44,92,.15)}
.venue-map iframe{display:block;width:100%;height:100%}

/* ===== GALLERY — 3D Perspective Grid ===== */
.gallery-sec{background:linear-gradient(180deg,#0d2248,#14305e 40%,#0d2248);position:relative;overflow:hidden}
.gallery-sec::before{content:'';position:absolute;inset:0;background-image:
    radial-gradient(circle at 30% 30%,rgba(212,168,83,.05) 0%,transparent 20%),
    radial-gradient(circle at 70% 70%,rgba(212,168,83,.05) 0%,transparent 20%);pointer-events:none}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:780px;margin:0 auto;perspective:1200px;position:relative;z-index:2}
.gal-item{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s;border:1px solid rgba(212,168,83,.1)}
.gal-big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal-item:hover,.gal-item:active{transform:translateZ(20px) scale(1.03) rotateX(2deg);box-shadow:0 20px 50px rgba(0,0,0,.35),0 0 25px rgba(212,168,83,.1);z-index:2}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.gal-item:hover img,.gal-item:active img{transform:scale(1.08)}
.gal-ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(15,44,92,.6) 100%);display:flex;align-items:flex-end;padding:14px;opacity:0;transition:opacity .3s}
.gal-item:hover .gal-ov{opacity:1}
.gal-ov span{font-family:var(--f2);color:var(--w);font-size:.88rem;font-style:italic;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.gal-ph{width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(212,168,83,.06));display:flex;align-items:center;justify-content:center;border:2px dashed rgba(212,168,83,.15);border-radius:10px;font-family:var(--f1);font-size:.7rem;color:rgba(255,255,255,.3);font-weight:300}

/* ===== RSVP — 3D Card ===== */
.rsvp-sec{background:linear-gradient(180deg,var(--gp),#f0dfc0 40%,var(--gp));text-align:center}
.rsvp-wrap{max-width:500px;margin:0 auto;padding:30px 24px;background:var(--w);border:1px solid rgba(212,168,83,.2);border-radius:14px;box-shadow:0 8px 28px rgba(15,44,92,.06),0 0 20px rgba(212,168,83,.05);transform-style:preserve-3d;transition:transform .5s,box-shadow .5s;position:relative;overflow:hidden}
.rsvp-wrap::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,168,83,.03),transparent);animation:shimmer 6s ease-in-out infinite}
.rsvp-wrap:hover{box-shadow:0 14px 40px rgba(15,44,92,.1);transform:translateZ(8px)}
.rsvp-form{text-align:left}
.fg{margin-bottom:14px}.fg-row{display:flex;gap:10px}.fg-row .fg{flex:1}
.fg label{display:block;font-family:var(--f1);font-size:.76rem;color:var(--txt);margin-bottom:4px;font-weight:400}
.fg input[type="text"],.fg input[type="tel"],.fg select,.fg textarea{width:100%;padding:11px 13px;border:1.5px solid rgba(212,168,83,.2);border-radius:2px;font-family:var(--f1);font-size:.86rem;color:var(--txt);background:var(--w);transition:border .25s,box-shadow .25s;outline:none;min-height:44px;-webkit-appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(15,44,92,.07),0 0 15px rgba(15,44,92,.04)}
.fg textarea{resize:vertical;min-height:72px}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%236E6E6E' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.rad-row{display:flex;gap:16px;flex-wrap:wrap}
.rl{display:flex;align-items:center;gap:6px;cursor:pointer;font-family:var(--f1);font-size:.84rem;color:var(--txt);font-weight:300;min-height:42px}
.rl input{display:none}
.rc{width:16px;height:16px;border:2px solid var(--gold);border-radius:50%;position:relative;transition:all .25s;flex-shrink:0}
.rl input:checked+.rc{border-color:var(--blue);box-shadow:0 0 8px rgba(15,44,92,.15)}
.rl input:checked+.rc::after{content:'';position:absolute;inset:3px;background:var(--blue);border-radius:50%}
.rsvp-ok{padding:28px;text-align:center}
.rsvp-ok svg{margin-bottom:10px;animation:sPop .5s ease}
@keyframes sPop{0%{transform:scale(0)}80%{transform:scale(1.12)}100%{transform:scale(1)}}
.rsvp-ok h3{font-family:var(--f2);font-size:1.4rem;color:var(--blue);margin-bottom:5px}
.rsvp-ok p{font-family:var(--f1);font-size:.84rem;color:var(--txt);font-weight:300}

/* ===== FOOTER — Depth enhanced ===== */
.footer{padding:36px 16px 28px;background:linear-gradient(180deg,#0d2248,#0a1a36);text-align:center;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(212,168,83,.04) 0%,transparent 50%);pointer-events:none}
.footer svg{display:block;margin:0 auto 14px}
.ft-h{font-family:var(--f2);font-size:1.2rem;color:var(--gold);margin-bottom:14px;text-shadow:0 0 15px rgba(212,168,83,.15)}
.ft-contacts{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.ft-box{padding:14px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(212,168,83,.12);border-radius:10px;backdrop-filter:blur(8px);transition:transform .4s,box-shadow .4s;transform-style:preserve-3d;animation:borderGlow 5s ease-in-out infinite}
.ft-box:hover{transform:translateZ(8px) scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,.2)}
.ft-label{display:block;font-family:var(--f1);font-size:.58rem;color:var(--gl);text-transform:uppercase;letter-spacing:2px;margin-bottom:7px;font-weight:500}
.ft-num{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.7);text-decoration:none;font-family:var(--f1);font-size:.84rem;margin-bottom:4px;transition:color .25s,text-shadow .25s;font-weight:400;min-height:38px}
.ft-num:hover,.ft-num:active{color:var(--gold);text-shadow:0 0 10px rgba(212,168,83,.3)}
.ft-num svg{color:var(--gold);flex-shrink:0}
.ft-end{padding-top:18px;border-top:1px solid rgba(212,168,83,.15)}
.ft-names{font-family:var(--f3);font-size:1.9rem;color:var(--gold);margin-bottom:3px;text-shadow:0 0 25px rgba(212,168,83,.25)}
.ft-date{font-family:var(--f2);font-size:.9rem;color:rgba(255,255,255,.4);letter-spacing:3px}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
    .couple-row{flex-direction:column}.c-card{width:100%;max-width:290px}.c-photo{height:230px}.c-heart-ring{margin:-4px 0}
    .fam-row{flex-direction:column}.fam-card{width:100%;max-width:290px}.fam-sep{margin:-2px 0}
    .venue-row{flex-direction:column;align-items:center}.venue-info,.venue-map{min-width:auto;width:100%;max-width:100%}.venue-map{height:250px}
    .gal-grid{grid-template-columns:repeat(2,1fr)}.gal-big{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10}
    .ev-grid{grid-template-columns:1fr;max-width:370px;margin-left:auto;margin-right:auto}
    .fg-row{flex-direction:column;gap:0}.timeline{padding-left:24px}.tl-dot{left:-21px}
    .hero-names-box{padding:20px 10px}.gb-box{width:130px;height:115px}
    .gb-lid{left:-5px;width:140px;height:36px}.gb-lid-top{width:140px;height:36px}.gb-lid-front{width:140px;height:36px}
    .gb-lid-left,.gb-lid-right{width:36px;height:36px;left:-18px}.gb-base{width:130px;height:80px}
    .gb-base-front{width:130px;height:80px}.gb-base-left,.gb-base-right{width:36px;height:80px}
    .deco{display:none}
    .gb-ring-3{display:none}.h3d-3,.h3d-4{display:none}
    .cd-cube{display:none}
    .hero-3d-shapes .h3d{opacity:.6}
}
@media(max-width:420px){
    .sec{padding:0 12px 50px}.sec-hdr{padding-top:50px}
    .cd-row{gap:3px}.cd-box{width:54px;height:60px;border-radius:8px}.cd-n{font-size:1.3rem}.cd-colon{font-size:.9rem;padding-bottom:16px}
    .gal-grid{grid-template-columns:1fr;gap:8px}.gal-big{grid-column:span 1;aspect-ratio:4/3}
    .ft-contacts{flex-direction:column;align-items:center}.rad-row{flex-direction:column;gap:6px}
    .hero-groom,.hero-bride{font-size:clamp(2.2rem,10vw,3rem)}.ring-svg{max-width:190px}
    .hero-ctas .cta{padding:12px 22px;font-size:.74rem}
    .c-card{max-width:270px}.c-photo{height:210px}.fam-card{max-width:270px;padding:20px 16px}
    .tl-card{padding:16px}.ev-card{padding:20px 16px}.rsvp-wrap{padding:22px 16px}.corner{width:6px;height:6px}
    .gb-box{width:110px;height:100px}.gb-lid{left:-4px;width:118px;height:30px}.gb-lid-top{width:118px;height:30px}.gb-lid-front{width:118px;height:30px}
    .gb-lid-left,.gb-lid-right{width:30px;height:30px;left:-15px}.gb-base{width:110px;height:70px}.gb-base-front{width:110px;height:70px}
    .gb-base-left,.gb-base-right{width:30px;height:70px}
    .gb-float-rings{display:none}.gb-sparkle{display:none}
    .hero-3d-shapes{display:none}
}
@media(hover:none){.tilt{transform:none!important}.venue-map:hover{transform:none}.gal-ov{opacity:1;background:linear-gradient(180deg,transparent 60%,rgba(15,44,92,.4) 100%)}.card-shine{display:none}}
.fh{position:fixed;pointer-events:none;z-index:0;opacity:0}
