:root{--ink:#23364a;--blue:#8da7bd;--cream:#fbf9f4;--gold:#b59a6a;--scroll:0%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif}main{overflow:hidden}.scroll-line{position:fixed;z-index:30;top:0;left:0;height:3px;width:var(--scroll);background:linear-gradient(90deg,var(--blue),var(--gold))}
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:70px 24px 50px;background:radial-gradient(circle at 50% 36%,#fff 0,#fbf9f4 48%,#eef3f4 100%)}.hero:after{content:"";position:absolute;inset:22px;border:1px solid rgba(181,154,106,.38);pointer-events:none}.corner{position:absolute;width:145px;height:145px;z-index:2;opacity:.55}.corner:before,.corner:after{content:"";position:absolute;border:1px solid var(--blue);border-radius:100% 0 100% 0;transform:rotate(35deg)}.corner:before{width:85px;height:26px;top:35px;left:17px}.corner:after{width:55px;height:20px;top:80px;left:62px;transform:rotate(-25deg)}.corner-left{left:14px;top:14px}.corner-right{right:14px;bottom:14px;transform:rotate(180deg)}
.eyebrow{font-size:13px;letter-spacing:.27em;text-transform:uppercase;font-weight:600}.monogram,.mini-monogram{width:88px;height:88px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:58px;font-style:italic;color:var(--blue);line-height:1;margin:28px 0 18px;position:relative}.monogram:before,.monogram:after{content:"";position:absolute;width:60px;border-top:1px solid var(--gold);top:50%}.monogram:before{right:100%;margin-right:17px}.monogram:after{left:100%;margin-left:17px}.intro{font-size:20px;font-style:italic;margin:0 0 2px}h1{margin:0;font-size:clamp(74px,15vw,150px);line-height:.9;font-weight:500;color:#53738d;letter-spacing:-.055em}.date-lockup{display:flex;align-items:center;gap:20px;margin-top:36px}.date-lockup span{font-size:12px;line-height:1.5;letter-spacing:.18em;min-width:74px}.date-lockup strong{font-size:42px;font-weight:400;border-left:1px solid var(--gold);border-right:1px solid var(--gold);padding:0 20px;line-height:1.1}.scroll-hint{position:absolute;bottom:48px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.scroll-hint span{display:block;font-size:20px;margin-top:8px;animation:float 1.8s ease-in-out infinite}.hero-in{opacity:0;transform:translateY(24px);animation:arrive .9s cubic-bezier(.2,.75,.25,1) forwards}.two{animation-delay:.15s}.three{animation-delay:.3s}.four{animation-delay:.42s}.five{animation-delay:.56s}.six{animation-delay:.8s}
.section-pad{padding:110px 24px;text-align:center}.blessing{max-width:850px;margin:auto}.ornament{color:var(--gold);font-size:22px;margin-bottom:26px}.quote{font-size:clamp(32px,5vw,50px);font-style:italic;margin:0 auto 28px;line-height:1.15}.body-copy{font-size:19px;line-height:1.8;max-width:630px;margin:auto;color:#526273}.family{background:var(--ink);color:#fff;position:relative}.family:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.14)}.family>.eyebrow{color:#c6d5df}.family-grid{display:flex;justify-content:center;max-width:850px;margin:55px auto 0}.family-card{width:50%;padding:24px 45px}.family-card+.family-card{border-left:1px solid rgba(181,154,106,.55)}.family-card span{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#b7c9d7}.family-card h2{font-size:36px;font-weight:400;margin:16px 0}.family-card i{color:var(--gold);font-weight:400}
.schedule{background:#f2f5f5}.section-title{font-size:clamp(42px,6vw,64px);font-weight:400;margin:10px 0 62px}.timeline{display:grid;grid-template-columns:1fr 70px 1fr;max-width:900px;margin:auto;align-items:center}.event-card{background:#fff;padding:46px 30px;min-height:440px;border:1px solid #dce3e5;box-shadow:0 18px 45px rgba(35,54,74,.06)}.time{font-size:42px;color:#65839a}.event-icon{font-size:38px;color:var(--gold);height:58px;margin:12px}.rings{font-size:55px}.event-type{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#7790a4}.event-card h3{font-size:31px;font-weight:500;line-height:1.13;margin:16px}.event-card>p:not(.event-type){font-size:17px;color:#687685}.event-card a{display:inline-block;margin-top:24px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding:6px 2px;font-size:15px;letter-spacing:.08em}.event-card a span{color:var(--gold)}.timeline-mark{height:1px;background:var(--gold);position:relative}.timeline-mark span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#f2f5f5;padding:9px;color:var(--gold)}
.countdown{background:#dce7ec}.count-grid{display:flex;justify-content:center;gap:14px;margin-top:45px}.count-box{width:130px;height:130px;background:rgba(255,255,255,.7);border:1px solid rgba(83,115,141,.25);display:flex;flex-direction:column;justify-content:center}.count-box strong{font-size:48px;font-weight:400;line-height:1}.count-box span{font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin-top:13px}.closing{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#fff,var(--cream))}.mini-monogram{width:65px;height:65px;font-size:42px}.closing h2{font-size:clamp(42px,7vw,70px);font-weight:400;margin:22px 0 8px}.closing>p{font-size:18px}.signature{font-size:52px;font-style:italic;color:#65839a;margin-top:45px}.footer-date{letter-spacing:.25em!important;font-size:12px!important}.reveal{opacity:0;transform:translateY(44px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.25,1)}.reveal.is-visible{opacity:1;transform:none}.family-card:nth-child(2),.event-card:nth-child(3){transition-delay:.15s}
@keyframes arrive{to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(7px)}}
@media(max-width:700px){.hero{min-height:100svh}.corner{width:100px;height:100px;transform:scale(.75);transform-origin:top left}.corner-right{transform:rotate(180deg) scale(.75);transform-origin:center}.monogram{width:72px;height:72px;font-size:48px}.date-lockup{gap:10px}.date-lockup strong{padding:0 14px}.section-pad{padding:82px 20px}.family-grid{display:block}.family-card{width:100%;padding:30px 10px}.family-card+.family-card{border-left:0;border-top:1px solid rgba(181,154,106,.55)}.timeline{display:block}.timeline-mark{height:80px;width:1px;margin:auto}.timeline-mark span{background:#f2f5f5}.event-card{min-height:0;padding:38px 22px}.count-grid{gap:7px}.count-box{width:calc(25vw - 12px);height:calc(25vw - 12px);max-width:105px;max-height:105px}.count-box strong{font-size:clamp(27px,9vw,42px)}.count-box span{font-size:8px;letter-spacing:.1em}.scroll-hint{bottom:35px}}
/* Povestea animată */
.curtain{position:fixed;inset:0;z-index:100;pointer-events:none;display:flex;animation:curtainAway .2s 3.9s forwards}.curtain-panel{position:relative;width:50%;height:100%;background:repeating-linear-gradient(90deg,#87a3ba 0,#9bb2c4 12%,#7896af 25%);box-shadow:inset -18px 0 35px rgba(35,54,74,.22);display:flex;align-items:center;overflow:hidden;animation:openLeft 2.4s 1.2s cubic-bezier(.65,0,.25,1) forwards}.curtain-panel.right{justify-content:flex-start;transform-origin:right;animation-name:openRight;box-shadow:inset 18px 0 35px rgba(35,54,74,.22)}.curtain-panel.left{justify-content:flex-end;transform-origin:left}.curtain-panel span{font-size:90px;font-style:italic;color:rgba(255,255,255,.88);transform:translateX(50%)}.curtain-panel.right span{transform:translateX(-50%)}
.falling-name{display:flex;justify-content:center;margin:0;font-size:clamp(74px,15vw,150px);line-height:.9;font-weight:500;color:#53738d;letter-spacing:-.055em}.falling-name span{display:inline-block;opacity:0;transform:translateY(-70vh) rotate(-10deg);animation:letterFall 1.55s cubic-bezier(.18,.72,.25,1.08) forwards;animation-delay:calc(3.35s + var(--letter) * .16s)}
.balloons{position:absolute;z-index:1;display:flex;gap:8px;animation:balloonFloat 5s ease-in-out infinite}.balloons-left{left:6%;top:19%}.balloons-right{right:7%;top:25%;animation-delay:-2.2s}.balloons i{display:block;width:31px;height:39px;border-radius:52% 48% 48% 52%;background:#a9c0d0;position:relative;opacity:.75}.balloons i:nth-child(2){background:#d7c7aa;transform:translateY(21px)}.balloons i:nth-child(3){background:#c5d5df;transform:translateY(-12px)}.balloons i:after{content:"";position:absolute;width:1px;height:62px;background:rgba(83,115,141,.45);left:50%;top:100%;transform:rotate(5deg);transform-origin:top}
.road-scene{height:76px;background:#dce7ec;position:relative;overflow:hidden;border-top:1px solid rgba(83,115,141,.15)}.road-scene:after{content:"";position:absolute;left:0;right:0;bottom:15px;border-top:2px dashed rgba(83,115,141,.32)}.car{position:absolute;bottom:20px;width:72px;height:26px;background:#6f8ea7;border-radius:7px 12px 5px 5px;z-index:2;animation:drive 18s linear infinite}.car span{position:absolute;width:36px;height:19px;left:17px;bottom:18px;background:#8eabc0;border-radius:22px 24px 0 0;border-bottom:4px solid #6f8ea7}.car i{position:absolute;bottom:-7px;width:14px;height:14px;border:4px solid #344b60;background:#edf2f3;border-radius:50%}.car i:nth-of-type(1){left:9px}.car i:nth-of-type(2){right:9px}.car-two{background:#b49b72;transform:scale(.72) rotateY(180deg);animation:driveBack 23s linear infinite 2s}.car-two span{background:#d1bea0;border-color:#b49b72}
.eyebrow{font-size:15px}.family-card span{font-size:15px}.event-type{font-size:14px}.date-lockup span{font-size:14px}.scroll-hint{font-size:14px}.count-box span{font-size:13px}.footer-date{font-size:14px!important}.section-pad{padding:82px 24px}.family-grid{margin-top:0}.family-card{padding-top:14px;padding-bottom:14px}.blessing{padding-top:65px;padding-bottom:65px}.invitation-copy{font-size:clamp(25px,3.5vw,36px);line-height:1.45;color:var(--ink);max-width:760px}.schedule .section-title{margin-bottom:45px}.reveal{transition-duration:1.35s}.hero-in{animation-duration:1.35s}
@keyframes openLeft{to{transform:translateX(-104%) scaleX(.82)}}@keyframes openRight{to{transform:translateX(104%) scaleX(.82)}}@keyframes curtainAway{to{visibility:hidden}}@keyframes letterFall{0%{opacity:0;transform:translateY(-70vh) rotate(-10deg)}72%{opacity:1;transform:translateY(8px) rotate(3deg)}86%{transform:translateY(-5px) rotate(-1.5deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}@keyframes balloonFloat{50%{transform:translateY(-18px) rotate(2deg)}}@keyframes drive{from{left:-100px}to{left:calc(100% + 100px)}}@keyframes driveBack{from{right:-100px}to{right:calc(100% + 100px)}}
@media(max-width:700px){.balloons-left{left:3%;top:16%}.balloons-right{right:4%;top:27%}.balloons i{width:23px;height:30px}.falling-name{font-size:clamp(58px,19vw,92px)}.section-pad{padding:64px 20px}.blessing{padding-top:50px;padding-bottom:50px}.family-card{padding:27px 10px}.count-box span{font-size:10px}.road-scene{height:64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-in,.reveal,.falling-name span{animation:none;transition:none;opacity:1;transform:none}.scroll-hint span,.balloons,.car{animation:none}.curtain{display:none}}
