:root{
  --cream:#fff7ef; --cream2:#f7e6d7; --paper:#fffdf8; --wine:#5c0f25; --wine2:#8d1d3f;
  --rose:#bd4865; --gold:#d8a947; --gold2:#f0d89a; --brown:#4d3028; --muted:#87695f;
  --shadow:0 24px 70px rgba(79,22,33,.16); --soft:rgba(255,255,255,.72); --container:min(1180px,calc(100vw - 42px));
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,'Noto Sans Devanagari',system-ui,sans-serif;color:var(--brown);background:radial-gradient(circle at 8% 0%,#fff 0 16%,transparent 35%),radial-gradient(circle at 90% 10%,rgba(216,169,71,.2),transparent 28%),linear-gradient(180deg,var(--cream) 0%,#f4e2d5 45%,#fff8f1 100%);overflow-x:hidden} body.no-scroll{overflow:hidden}
img{display:block;width:100%} button,a{font:inherit} a{text-decoration:none;color:inherit} button{cursor:pointer;border:0}.container{width:var(--container);margin:auto}.section{padding:100px 0;position:relative}.soft-section{background:linear-gradient(135deg,rgba(255,255,255,.44),rgba(246,219,200,.38));box-shadow:inset 0 1px rgba(255,255,255,.65),inset 0 -1px rgba(99,39,30,.08)}
.progress{position:fixed;left:0;top:0;height:4px;width:0;background:linear-gradient(90deg,var(--gold),var(--rose));z-index:2000}.petal-layer{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}.petal{position:absolute;top:-20px;width:13px;height:22px;border-radius:70% 0 70% 0;background:linear-gradient(180deg,#f3c174,#f0a568);opacity:.38;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),105vh,0) rotate(420deg);opacity:0}}
.section-kicker,.eyebrow{display:inline-block;margin-bottom:15px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;font-size:.82rem;color:#9b7567}.gold{color:var(--gold2)}h1,h2,h3,.brand{font-family:'Playfair Display','Noto Sans Devanagari',serif}h1{font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;margin:0 0 20px}h2{font-size:clamp(2.3rem,4.8vw,4.7rem);line-height:1;margin:0 0 18px;color:var(--wine)}h3{font-size:clamp(1.7rem,2.8vw,2.9rem);line-height:1.05;margin:0 0 12px;color:var(--wine)}p{font-size:1.04rem;line-height:1.9;color:var(--muted);margin:0 0 14px}.lead{font-size:1.12rem}.main-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;transition:.35s ease}.main-btn{padding:15px 26px;background:linear-gradient(135deg,var(--wine2),var(--wine));color:#fff;font-weight:800;box-shadow:0 18px 38px rgba(92,15,37,.26)}.main-btn:hover,.ghost-btn:hover,.music:hover{transform:translateY(-3px)}.ghost-btn{padding:13px 22px;background:rgba(255,255,255,.72);border:1px solid rgba(92,15,37,.14);font-weight:800;color:var(--wine);backdrop-filter:blur(10px)}
/* opening */
.opening{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;overflow:hidden;background:#300913;transition:opacity .8s ease,visibility .8s ease}.opening.hide{opacity:0;visibility:hidden}.opening-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(216,169,71,.35),transparent 24%),radial-gradient(circle at 15% 10%,rgba(255,255,255,.14),transparent 18%),linear-gradient(135deg,#561124,#21070d 70%)}.opening-mandala{position:absolute;width:min(72vw,720px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(240,216,154,.18) 0 7deg,transparent 7deg 14deg);filter:blur(.1px);animation:spin 38s linear infinite}.opening-mandala:after{content:'';position:absolute;inset:13%;border-radius:50%;border:1px solid rgba(240,216,154,.28);box-shadow:0 0 0 28px rgba(240,216,154,.04),inset 0 0 70px rgba(0,0,0,.22)}@keyframes spin{to{transform:rotate(360deg)}}.opening-card{position:relative;z-index:3;width:min(920px,calc(100vw - 38px));padding:clamp(32px,5vw,60px);text-align:center;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 90px rgba(0,0,0,.32);backdrop-filter:blur(18px);overflow:hidden}.card-shine{position:absolute;inset:-80px;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.13),transparent 60%);transform:translateX(-70%);animation:shine 4s ease-in-out infinite}@keyframes shine{50%,100%{transform:translateX(70%)}}.opening-card h1{color:#fff9ef}.opening-card h1 span{color:#f2d38d}.opening-card p{color:rgba(255,249,239,.86);max-width:730px;margin-left:auto;margin-right:auto}.curtain{position:absolute;top:0;bottom:0;width:50%;z-index:2;background:linear-gradient(90deg,rgba(70,9,24,.95),rgba(122,17,45,.92),rgba(58,8,19,.95));transition:transform 1.15s cubic-bezier(.7,0,.2,1);box-shadow:inset -18px 0 36px rgba(0,0,0,.22)}.curtain.left{left:0}.curtain.right{right:0;transform:scaleX(-1)}.opening.opened .curtain.left{transform:translateX(-100%)}.opening.opened .curtain.right{transform:translateX(100%) scaleX(-1)}
/* nav */
.nav{position:sticky;top:16px;z-index:1000;width:var(--container);margin:18px auto 0;height:76px;padding:0 14px 0 20px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,250,246,.82);border:1px solid rgba(92,15,37,.12);box-shadow:0 14px 45px rgba(79,22,33,.13);backdrop-filter:blur(18px)}.brand{font-size:1.2rem;font-weight:800;display:flex;align-items:center;gap:10px;color:#33141b}.brand span{width:42px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--wine2),var(--wine));color:#fff}.nav nav{display:flex;gap:26px}.nav nav a{font-weight:800;color:#75584f;font-size:.95rem;position:relative}.nav nav a:after{content:'';position:absolute;left:0;bottom:-7px;height:2px;width:0;background:var(--gold);transition:.3s}.nav nav a:hover:after{width:100%}.music{width:52px;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#fff6d7,#eccb76);color:var(--wine);font-size:1.22rem;box-shadow:0 10px 28px rgba(216,169,71,.23)}.music.playing{animation:pulse 1.8s infinite}@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(216,169,71,0)}}
/* hero */
.hero{min-height:calc(100vh - 96px);display:flex;align-items:center;padding-top:54px}.hero:before{content:'';position:absolute;inset:8% -10% auto auto;width:360px;height:360px;border-radius:50%;background:rgba(216,169,71,.13);filter:blur(25px)}.hero-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.hero-text{padding:34px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(255,246,238,.52));border:1px solid rgba(92,15,37,.08);box-shadow:var(--shadow)}.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.hero-badges span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(92,15,37,.08);font-weight:800;color:#6f5148}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-album{position:relative}.album-frame{position:relative;padding:16px;border-radius:38px;background:linear-gradient(135deg,#efce88,#fffaf3 42%,#d7a84a);box-shadow:0 28px 80px rgba(92,15,37,.22);transform:rotate(.6deg)}.album-frame:before{content:'';position:absolute;inset:16px;border-radius:28px;border:1px solid rgba(255,255,255,.7);z-index:2;pointer-events:none}.album-frame img{border-radius:28px;aspect-ratio:4/3;object-fit:cover;object-position:center}.album-caption{position:absolute;left:34px;right:34px;bottom:32px;padding:18px 20px;border-radius:24px;background:rgba(48,9,19,.66);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.18)}.album-caption span{display:block;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:#f3d999;margin-bottom:8px}.album-caption strong{font-family:'Playfair Display','Noto Sans Devanagari',serif;font-size:1.35rem}.floating-invite{position:absolute;right:-10px;top:-34px;width:154px;padding:8px 8px 12px;background:#fff;border-radius:18px;box-shadow:0 18px 48px rgba(50,16,26,.2);transform:rotate(5deg);animation:float 5s ease-in-out infinite}.floating-invite img{border-radius:12px;aspect-ratio:.8/1;object-fit:cover}.floating-invite span{display:block;text-align:center;margin-top:8px;font-weight:800;color:var(--wine);font-size:.82rem}@keyframes float{50%{transform:translateY(10px) rotate(3deg)}}
/* invite */
.invite-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.invite-card{padding:22px;border-radius:34px;background:rgba(255,255,255,.72);box-shadow:var(--shadow);border:1px solid rgba(92,15,37,.08)}.invite-card img{border-radius:18px;aspect-ratio:.78/1;object-fit:cover;box-shadow:inset 0 0 0 1px rgba(92,15,37,.1)}.roll{height:18px;margin:0 28px;border-radius:999px;background:linear-gradient(90deg,#996a24,#f0d89a,#996a24);box-shadow:0 7px 14px rgba(70,40,10,.13)}.roll.top{margin-bottom:14px}.roll.bottom{margin-top:14px}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.mini-grid span{padding:16px;border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(79,22,33,.08);font-weight:800;color:var(--wine)}
/* journey */
.section-head{text-align:center;max-width:850px;margin:0 auto 48px}.chapter-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.chapter{grid-column:span 3;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,246,238,.62));border:1px solid rgba(92,15,37,.08);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:355px;transition:.35s ease}.chapter:hover{transform:translateY(-6px)}.chapter.featured{grid-column:span 6;grid-template-columns:1.05fr .95fr;min-height:430px;background:linear-gradient(135deg,rgba(92,15,37,.97),rgba(141,29,63,.92));color:#fff}.chapter.featured h3,.chapter.featured .chapter-copy span{color:#fff}.chapter.featured p{color:rgba(255,248,240,.84)}.chapter-img{height:100%;min-height:310px;overflow:hidden}.chapter-img img{height:100%;object-fit:cover;transition:.6s ease}.chapter:hover .chapter-img img{transform:scale(1.04)}.chapter-img.landscape img{object-position:center}.chapter-img.portrait img{object-position:center 27%}.chapter-copy{padding:28px;display:flex;flex-direction:column;justify-content:center}.chapter-copy span{font-weight:900;color:var(--gold);letter-spacing:.18em;margin-bottom:10px}.chapter-copy p{margin:0}
/* letter */
.letter-experience{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:20px}.letter-side{display:grid;place-items:center;text-align:center}.letter-hint{margin-top:18px;font-size:.96rem}.lux-envelope{position:relative;width:min(360px,100%);aspect-ratio:1.25/1;background:transparent;filter:drop-shadow(0 26px 38px rgba(91,25,34,.18))}.env-body,.env-pocket,.env-flap{position:absolute;inset:auto 0 0 0;border-radius:28px}.env-body{height:78%;background:linear-gradient(135deg,#f8e0c3,#e5bf90);border:1px solid rgba(120,73,35,.18)}.env-pocket{height:53%;background:linear-gradient(180deg,#efc99b,#d59b61);clip-path:polygon(0 0,50% 64%,100% 0,100% 100%,0 100%);z-index:3}.env-flap{height:50%;bottom:42%;background:linear-gradient(180deg,#fff0d7,#e7bd89);clip-path:polygon(0 100%,50% 0,100% 100%);z-index:4;transform-origin:top;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.env-seal{position:absolute;left:50%;top:57%;z-index:6;transform:translate(-50%,-50%);width:70px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 35%,#ec7893,#9f173c 55%,#5c0f25);font-size:1.7rem;transition:.45s}.env-title{position:absolute;left:12%;right:12%;top:18%;z-index:2;padding:18px;border-radius:16px;background:#fffaf3;color:var(--wine);font-weight:900;box-shadow:0 16px 30px rgba(70,25,30,.12);transition:.8s}.letter-experience.open .env-flap{transform:rotateX(180deg)}.letter-experience.open .env-title{transform:translateY(-80px)}.letter-experience.open .env-seal{opacity:0;transform:translate(-50%,-100%) scale(.5)}.letter-paper{position:relative;max-height:760px;overflow:hidden;padding:34px 34px 38px;border-radius:34px;background:radial-gradient(circle at 50% 0%,rgba(216,169,71,.11),transparent 28%),linear-gradient(180deg,#fffdf8,#fff6e9);box-shadow:var(--shadow);border:1px solid rgba(126,77,35,.16);opacity:.72;transform:translateY(22px) scale(.98);transition:.8s cubic-bezier(.2,.8,.2,1)}.letter-experience.open .letter-paper{opacity:1;transform:none}.letter-paper:before{content:'';position:absolute;inset:16px;border:1px solid rgba(216,169,71,.34);border-radius:26px;pointer-events:none}.letter-paper:after{content:'';position:absolute;right:-44px;top:-44px;width:130px;height:130px;border-radius:50%;background:rgba(216,169,71,.12)}.paper-corner{position:absolute;width:54px;height:54px;border-color:var(--gold);opacity:.7}.paper-corner.tl{left:20px;top:20px;border-left:3px double;border-top:3px double;border-radius:18px 0 0 0}.paper-corner.tr{right:20px;top:20px;border-right:3px double;border-top:3px double;border-radius:0 18px 0 0}.paper-corner.bl{left:20px;bottom:20px;border-left:3px double;border-bottom:3px double;border-radius:0 0 0 18px}.paper-corner.br{right:20px;bottom:20px;border-right:3px double;border-bottom:3px double;border-radius:0 0 18px 0}.letter-heading{text-align:center;padding:4px 12px 18px}.letter-heading span{letter-spacing:.2em;text-transform:uppercase;color:#9c7664;font-size:.78rem;font-weight:900}.letter-heading h3{font-size:clamp(2rem,4vw,3.6rem);margin-top:8px}.letter-content{position:relative;z-index:2;max-height:560px;overflow:auto;padding:4px 18px 4px 6px}.letter-content::-webkit-scrollbar{width:8px}.letter-content::-webkit-scrollbar-thumb{background:rgba(92,15,37,.18);border-radius:999px}.letter-content p:first-child:first-letter{float:left;font-family:'Playfair Display','Noto Sans Devanagari',serif;font-size:4.2rem;line-height:.85;color:var(--wine);padding:10px 10px 0 0}.signoff{font-weight:900;color:var(--wine)!important;text-align:right}
/* moments */
.memory-wall{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:275px;gap:18px}.memory-card{position:relative;overflow:hidden;border-radius:32px;background:#ddd;box-shadow:var(--shadow);text-align:left;color:#fff;transition:.35s}.memory-card:hover{transform:translateY(-6px)}.memory-card img{height:100%;object-fit:cover;transition:.65s}.memory-card:hover img{transform:scale(1.05)}.memory-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(37,9,15,.74))}.memory-card span,.memory-card strong{position:absolute;z-index:3;left:22px}.memory-card span{bottom:76px;color:#f3d38b;text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.78rem}.memory-card strong{bottom:24px;font-family:'Playfair Display','Noto Sans Devanagari',serif;font-size:2.1rem;line-height:1}.memory-card.tall{grid-row:span 2}.memory-card.wide{grid-column:span 2}.memory-card.tall img{object-position:center 13%}.memory-card:nth-child(2) img{object-position:center 17%}.memory-card.wide img{object-position:center 18%}.memory-card.video i{position:absolute;z-index:4;right:24px;top:24px;width:70px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-style:normal;background:rgba(189,72,101,.86);box-shadow:0 15px 34px rgba(87,16,34,.25)}
/* story */
.story-box{min-height:320px;border-radius:38px;padding:42px;background:radial-gradient(circle at 88% 12%,rgba(240,216,154,.24),transparent 24%),linear-gradient(135deg,#5c0f25,#871e3b 65%,#3f0917);box-shadow:var(--shadow);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.story-number{font-family:'Playfair Display';font-size:5rem;color:#f0d89a;line-height:1}.story-box p{font-family:'Playfair Display','Noto Sans Devanagari',serif;font-size:clamp(2rem,4vw,4rem);line-height:1.1;color:#fff;margin:0}.story-box .ghost-btn{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
/* future */
.future-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.future-photo{padding:15px;border-radius:36px;background:linear-gradient(135deg,#fff,#f1d9c2);box-shadow:var(--shadow)}.future-photo img{border-radius:28px;aspect-ratio:.82/1;object-fit:cover;object-position:center}.future-text{padding:34px;border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,246,238,.56));border:1px solid rgba(92,15,37,.08);box-shadow:var(--shadow)}.future-screen{min-height:150px;margin:24px 0;padding:25px 27px;border-radius:28px;background:linear-gradient(135deg,#45101d,#83213d);color:#fff8f1;line-height:1.85;font-weight:700;box-shadow:0 18px 40px rgba(92,15,37,.2);position:relative;overflow:hidden}.future-screen:before{content:'Future Meme';position:absolute;right:18px;top:12px;color:rgba(255,255,255,.16);font-size:2rem;font-family:'Playfair Display'}.future-screen.swap{animation:swap .45s}@keyframes swap{50%{transform:translateY(12px) scale(.97);opacity:.35}}
/* blessings */
.blessing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.blessing-scroll{margin-top:22px;padding:26px 28px;border-radius:28px;background:linear-gradient(180deg,#fff9ec,#f7e2bd);border:1px solid rgba(216,169,71,.35);box-shadow:var(--shadow);font-weight:700;line-height:1.9;color:#684538;min-height:150px;position:relative}.blessing-scroll:before,.blessing-scroll:after{content:'';position:absolute;left:24px;right:24px;height:10px;background:radial-gradient(circle at 5px 5px,rgba(216,169,71,.8) 2px,transparent 2px) repeat-x;background-size:18px 10px;opacity:.55}.blessing-scroll:before{top:14px}.blessing-scroll:after{bottom:14px}.tree-scene{height:560px;border-radius:40px;background:radial-gradient(circle at 50% 18%,rgba(250,224,154,.32),transparent 22%),linear-gradient(180deg,#320812,#65152a 58%,#27060e);box-shadow:var(--shadow);position:relative;overflow:hidden}.moon-glow{position:absolute;left:50%;top:40px;transform:translateX(-50%);width:180px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff4ca 0%,rgba(255,234,160,.55) 40%,transparent 70%);filter:blur(1px)}.tree{position:absolute;inset:0}.trunk{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);width:90px;height:260px;border-radius:50px 50px 16px 16px;background:linear-gradient(90deg,#75411f,#d19a4c 50%,#74401c);box-shadow:inset -15px 0 25px rgba(36,12,4,.18)}.branch{position:absolute;bottom:235px;left:50%;width:32px;height:150px;border-radius:30px;background:linear-gradient(180deg,#c78a3f,#73401d);transform-origin:bottom}.b1{transform:translateX(-75px) rotate(-43deg)}.b2{transform:translateX(48px) rotate(43deg);height:140px}.b3{transform:translateX(-14px) rotate(3deg);height:170px}.leaf{position:absolute;min-width:94px;padding:11px 14px;border-radius:60% 40% 60% 40%;background:linear-gradient(135deg,#f7d77d,#d8a947);color:#521522;font-weight:900;box-shadow:0 14px 28px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.35);transition:.3s}.leaf.active{transform:scale(1.08);box-shadow:0 0 0 8px rgba(240,216,154,.14),0 16px 30px rgba(0,0,0,.22)}.l1{left:17%;top:24%}.l2{left:42%;top:14%}.l3{right:18%;top:25%}.l4{left:25%;top:48%}.l5{right:24%;top:48%}.l6{left:43%;top:62%}
/* final */
.final-card{text-align:center;max-width:900px;padding:52px 40px;border-radius:38px;background:linear-gradient(135deg,rgba(92,15,37,.96),rgba(141,29,63,.92));box-shadow:0 30px 70px rgba(92,15,37,.22);color:#fff}.final-card h2,.final-card p{color:#fff}.final-card p{opacity:.88}.final-card .main-btn{background:linear-gradient(135deg,#f3d790,#d8a947);color:#401412}
/* modal */
.modal{position:fixed;inset:0;z-index:1900;background:rgba(23,5,10,.86);display:grid;place-items:center;padding:28px;opacity:0;visibility:hidden;transition:.35s;backdrop-filter:blur(14px)}.modal.show{opacity:1;visibility:visible}.modal-box{width:min(980px,100%)}.modal-media{background:#14070b;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.45)}.modal-media img,.modal-media video{width:100%;max-height:76vh;object-fit:contain;background:#14070b}.modal-caption{color:#fff;padding:18px 6px 0}.modal-caption h3{color:#fff}.modal-caption p{color:rgba(255,255,255,.78)}.modal-close{position:absolute;right:24px;top:22px;width:48px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem}.sparkle{position:fixed;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff,#f6d26e 60%,transparent 70%);pointer-events:none;z-index:2200;animation:spark .7s ease-out forwards}@keyframes spark{to{transform:scale(2.5);opacity:0}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}
@media(max-width:1060px){
  .hero-wrap,.invite-wrap,.future-wrap,.blessing-wrap{grid-template-columns:1fr}
  .letter-experience{grid-template-columns:1fr;gap:20px}
  .letter-side,.letter-closed-preview,.letter-paper{
    grid-column:1;
    grid-row:auto;
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
  .chapter,.chapter.featured{grid-column:span 6;grid-template-columns:1fr}
  .chapter-img{min-height:300px}
  .memory-wall{grid-template-columns:1fr 1fr}
  .memory-card.wide{grid-column:span 2}
  .story-box{grid-template-columns:1fr;text-align:center}
  .nav nav{display:none}
  .floating-invite{width:120px}
}
@media(max-width:680px){
  :root{--container:calc(100vw - 24px)}
  .section{padding:72px 0}
  .nav{height:66px;top:8px}
  .brand{font-size:1rem}
  .music{width:46px}
  .opening-card{padding:28px 18px}
  .hero-text{padding:24px}
  .album-caption{position:static;margin-top:12px;background:var(--wine)}
  .floating-invite{display:none}
  .mini-grid{grid-template-columns:1fr}
  .memory-wall{grid-template-columns:1fr;grid-auto-rows:320px}
  .memory-card.tall,.memory-card.wide{grid-column:auto;grid-row:auto}
  .chapter-grid{grid-template-columns:1fr}
  .chapter,.chapter.featured{grid-column:auto}
  .letter-experience{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .letter-side{grid-column:auto;grid-row:auto;width:100%}
  .letter-side .lux-envelope{width:min(100%,340px)}
  .letter-closed-preview,
  .letter-paper{grid-column:auto;grid-row:auto;width:100%;max-width:none;min-width:0}
  .letter-closed-preview{min-height:auto;padding:28px 18px}
  .letter-paper{padding:24px 16px}
  .letter-paper:before{inset:10px;border-radius:22px}
  .paper-corner{width:38px;height:38px}
  .paper-corner.tl{left:14px;top:14px}
  .paper-corner.tr{right:14px;top:14px}
  .paper-corner.bl{left:14px;bottom:14px}
  .paper-corner.br{right:14px;bottom:14px}
  .letter-heading{padding:0 0 14px}
  .letter-heading h3{font-size:clamp(1.7rem,8vw,2.4rem)}
  .letter-content{max-height:none;padding:0 6px 0 2px}
  .letter-content p{font-size:1rem;line-height:1.9;margin-bottom:14px}
  .letter-content p:first-child:first-letter{font-size:3.4rem;padding:8px 8px 0 0}
  .signoff{font-size:1.15rem!important}
  .tree-scene{height:500px}
  .leaf{min-width:auto;font-size:.82rem}
  .main-btn,.ghost-btn{width:100%}
  .hero-actions{flex-direction:column}
  .future-screen:before{display:none}
}


/* --- Patch: full first chapter + closed handwritten letter --- */
.chapter.wide-chapter{
  grid-column:span 6;
  grid-template-columns:1.35fr .65fr;
  min-height:420px;
  background:
    radial-gradient(circle at 88% 12%,rgba(216,169,71,.18),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,243,234,.7));
}
.chapter.wide-chapter .chapter-img{min-height:420px;background:#fff7ef;}
.chapter.wide-chapter .chapter-img img{object-fit:cover;object-position:center;}
.chapter.wide-chapter .chapter-copy{
  padding:clamp(30px,4vw,52px);
  background:
    radial-gradient(circle at 95% 8%,rgba(216,169,71,.16),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));
}
.chapter-copy em{
  margin-top:18px;
  display:inline-block;
  color:var(--wine2);
  font-style:normal;
  font-weight:900;
  background:rgba(216,169,71,.14);
  border:1px solid rgba(216,169,71,.25);
  border-radius:999px;
  padding:10px 14px;
  width:max-content;
  max-width:100%;
}

.letter-experience{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  align-items:center;
  gap: 20px;
}
.letter-side{grid-column:1;grid-row:1;}
.letter-closed-preview,
.letter-paper{grid-column:2;grid-row:1;}
.letter-closed-preview{
  min-height:520px;
  border-radius:34px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:40px;
  background:
    radial-gradient(circle at 75% 18%,rgba(216,169,71,.17),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,246,238,.58));
  box-shadow:var(--shadow);
  border:1px dashed rgba(92,15,37,.18);
  transition:opacity .45s ease,transform .45s ease,visibility .45s ease;
}
.closed-note-icon{
  width:110px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  font-size:3rem;
  background:linear-gradient(135deg,#fff7df,#f0d28d);
  box-shadow:0 16px 35px rgba(92,15,37,.13);
}
.letter-closed-preview h3{margin-bottom:10px;}
.letter-closed-preview p{max-width:520px;margin:auto;}
.letter-experience.open .letter-closed-preview{
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.98);
  pointer-events:none;
}
.letter-paper{
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(34px) scale(.965) rotate(.35deg);
  max-height:780px;
  overflow:hidden;
  padding:42px 44px 44px;
  background:
    linear-gradient(90deg,rgba(162,74,60,.08) 0 1px,transparent 1px 100%),
    repeating-linear-gradient(180deg,rgba(255,255,255,0) 0 42px,rgba(126,77,35,.12) 43px,rgba(126,77,35,.12) 44px),
    radial-gradient(circle at 92% 8%,rgba(216,169,71,.13),transparent 20%),
    linear-gradient(180deg,#fffdf8,#fff5e7);
  background-size:100% 100%,100% 44px,100% 100%,100% 100%;
}
.letter-experience.open .letter-paper{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1) rotate(-.25deg);
}
.letter-heading h3{
  font-family:'Kalam','Noto Sans Devanagari',cursive;
  font-weight:700;
  color:#8b3d52;
}
.letter-heading span{
  font-family:Inter,'Noto Sans Devanagari',sans-serif;
}
.letter-content{
  max-height:560px;
  padding:8px 20px 8px 8px;
}
.letter-content p{
  font-family:'Kalam','Noto Sans Devanagari',cursive;
  font-size:1.18rem;
  line-height:2.08;
  color:#74564e;
  margin-bottom:18px;
}
.letter-content p:first-child:first-letter{
  font-family:'Kalam','Noto Sans Devanagari',cursive;
  font-size:4.6rem;
  line-height:.78;
  color:var(--wine2);
}
.signoff{
  font-family:'Kalam','Noto Sans Devanagari',cursive!important;
  font-size:1.35rem!important;
}
.lux-envelope{transition:transform .35s ease;}
.lux-envelope:hover{transform:translateY(-6px) rotate(-1deg);}
.letter-experience.open .lux-envelope{transform:scale(.96);}

@media(max-width:1060px){
  .chapter.wide-chapter{grid-column:span 6;grid-template-columns:1fr;}
  .chapter.wide-chapter .chapter-img{min-height:340px;}
  .letter-side,.letter-closed-preview,.letter-paper{grid-column:1;grid-row:auto;}
  .letter-closed-preview{min-height:300px;}
}
@media(max-width:680px){
  .chapter.wide-chapter{grid-column:auto;}
  .chapter.wide-chapter .chapter-img{min-height:260px;}
  .chapter.wide-chapter .chapter-img img{object-fit:cover;}
  .letter-paper{padding:28px 18px;}
  .letter-content p{font-size:1.05rem;line-height:1.95;}
  .chapter-copy em{width:auto;}
}


/* --- Final polish patch: fuller timeline, smaller gaps, clearer memory image, animated story card --- */
.section{padding:78px 0;}
.hero{min-height:auto;padding-top:64px;padding-bottom:76px;}
.invite.section{padding-top:58px;padding-bottom:72px;}
.journey.section{padding-top:76px;}
.letter.section,.moments.section,.future.section,.blessings.section{padding-top:82px;padding-bottom:82px;}
.section-head{margin-bottom:38px;}

.chapter-grid .chapter:nth-child(5){
  grid-column:span 6;
  grid-template-columns:1fr 1fr;
  min-height:430px;
  background:
    radial-gradient(circle at 92% 12%,rgba(216,169,71,.18),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,243,234,.72));
}
.chapter-grid .chapter:nth-child(5) .chapter-img{min-height:430px;background:#fff7ef;}
.chapter-grid .chapter:nth-child(5) .chapter-img img{object-fit:cover;object-position:center center;}
.chapter-grid .chapter:nth-child(5) .chapter-copy{
  padding:clamp(32px,4vw,54px);
  background:radial-gradient(circle at 88% 18%,rgba(216,169,71,.16),transparent 28%);
}
.chapter-grid .chapter:nth-child(5) .chapter-copy:after{
  content:'मन्दिरको आशिष्, साथको भरोसा';
  margin-top:18px;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:10px 15px;
  border-radius:999px;
  color:var(--wine2);
  background:rgba(216,169,71,.14);
  border:1px solid rgba(216,169,71,.26);
  font-weight:900;
}

.memory-card.wide img{object-fit:cover;object-position:center center;}
.memory-card.wide:before{
  content:'click गरेर पुरै photo हेर्नुहोस्';
  position:absolute;
  right:18px;
  top:18px;
  z-index:4;
  padding:8px 12px;
  border-radius:999px;
  color:#fff8ef;
  background:rgba(62,13,25,.46);
  backdrop-filter:blur(10px);
  font-size:.78rem;
  font-weight:800;
  border:1px solid rgba(255,255,255,.16);
}

.story-box{
  min-height:300px;
  position:relative;
  overflow:hidden;
  grid-template-columns:auto 1fr auto;
  background:
    radial-gradient(circle at 16% 22%,rgba(255,240,191,.24),transparent 18%),
    radial-gradient(circle at 83% 62%,rgba(255,255,255,.12),transparent 22%),
    linear-gradient(135deg,#4b0c1d 0%,#8f1c41 54%,#3a0816 100%);
}
.story-box:before{
  content:'';
  position:absolute;
  inset:-60% auto auto -20%;
  width:55%;
  height:220%;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  animation:storyShine 5.5s ease-in-out infinite;
}
.story-glow{
  position:absolute;
  right:10%;
  top:50%;
  width:210px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,216,154,.25),transparent 68%);
  filter:blur(2px);
  animation:storyPulse 3.2s ease-in-out infinite;
}
.story-message{position:relative;z-index:2;}
.story-message span{
  display:inline-block;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  color:#f3d897;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.story-dots{display:flex;gap:8px;margin-top:18px;}
.story-dots i{
  width:9px;
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  transition:.3s ease;
}
.story-dots i.active{width:34px;background:#f0d89a;}
.story-box.turning{animation:storyPop .52s ease;}
@keyframes storyShine{0%,45%{transform:translateX(-80%) rotate(22deg)}75%,100%{transform:translateX(260%) rotate(22deg)}}
@keyframes storyPulse{50%{transform:scale(1.12);opacity:.7}}
@keyframes storyPop{50%{transform:translateY(-4px) scale(.992)}}

@media(max-width:1060px){
  .chapter-grid .chapter:nth-child(5){grid-template-columns:1fr;}
  .chapter-grid .chapter:nth-child(5) .chapter-img{min-height:340px;}
}
@media(max-width:680px){
  .section{padding:64px 0;}
  .hero{padding-top:46px;padding-bottom:58px;}
  .chapter-grid .chapter:nth-child(5){grid-column:auto;}
  .chapter-grid .chapter:nth-child(5) .chapter-img{min-height:290px;}
  .story-box{grid-template-columns:1fr;text-align:center;padding:30px 22px;}
  .story-dots{justify-content:center;}
}

@media(max-width:1060px){
  .letter-experience,
  .letter-experience.open{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:16px !important;
    width:100% !important;
  }
  .letter-side,
  .letter-closed-preview,
  .letter-paper{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    justify-self:stretch !important;
  }
  .letter-side{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  .letter-side .lux-envelope{
    width:min(100%,340px) !important;
  }
  .letter-closed-preview{
    min-height:auto !important;
    padding:28px 18px !important;
  }
  .letter-paper{
    padding:28px 18px !important;
    transform:none !important;
  }
  .letter-content{
    max-height:none !important;
  }
}

@media(max-width:680px){
  .letter.section .container{
    width:100vw !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:0 12px !important;
  }
  .letter-experience,
  .letter-experience.open{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  .letter-side,
  .letter-closed-preview,
  .letter-paper{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
  }
  .letter-side{
    text-align:center !important;
  }
  .letter-side .lux-envelope{
    width:100% !important;
    max-width:340px !important;
    margin:0 auto !important;
  }
  .letter-hint{
    max-width:100% !important;
    margin:14px auto 0 !important;
  }
  .letter-closed-preview{
    padding:24px 16px !important;
  }
  .letter-paper{
    padding:24px 16px !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }
  .letter-experience,
  .letter-experience.open{
    gap:12px !important;
  }
  .letter-closed-preview,
  .letter-paper{
    border-radius:28px !important;
  }
  .letter-paper:before{
    inset:10px !important;
    border-radius:22px !important;
  }
  .paper-corner{
    width:38px !important;
    height:38px !important;
  }
  .paper-corner.tl{left:14px !important;top:14px !important;}
  .paper-corner.tr{right:14px !important;top:14px !important;}
  .paper-corner.bl{left:14px !important;bottom:14px !important;}
  .paper-corner.br{right:14px !important;bottom:14px !important;}
  .letter-heading{padding:0 0 14px !important;}
  .letter-heading h3{font-size:clamp(1.7rem,8vw,2.4rem) !important;}
  .letter-content{
    max-height:none !important;
    overflow:visible !important;
    padding:0 6px 0 2px !important;
  }
  .letter-content p{
    font-size:1rem !important;
    line-height:1.9 !important;
    margin-bottom:14px !important;
  }
  .letter-content p:first-child:first-letter{
    font-size:3.4rem !important;
    padding:8px 8px 0 0 !important;
  }
  .signoff{font-size:1.15rem !important;}
}
