
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#f3efe7;--ink:#2f342e;--sage:#7e8b77;--line:#cbc4b8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',sans-serif}.envelope-screen{position:fixed;inset:0;z-index:70;background:#d8d0c1;display:grid;place-items:center;transition:opacity .6s,visibility .6s}.envelope-screen.off{opacity:0;visibility:hidden}.envelope-wrap{text-align:center;padding:20px}.envelope{width:min(560px,88vw);aspect-ratio:1.55;background:#eee9df;position:relative;box-shadow:0 28px 80px rgba(70,61,45,.18);overflow:hidden}.envelope:before{content:'';position:absolute;inset:0;background:linear-gradient(150deg,transparent 49.5%,#d7d0c5 50%) left/50% 100% no-repeat,linear-gradient(210deg,transparent 49.5%,#d7d0c5 50%) right/50% 100% no-repeat}.flap{position:absolute;left:0;right:0;top:0;height:58%;background:#e4ded3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:1s cubic-bezier(.25,.75,.1,1);z-index:3}.seal{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#66705f;color:#fff;display:grid;place-items:center;font:400 2rem 'Libre Caslon Display';z-index:4;transition:.5s}.invite-card{position:absolute;width:72%;height:74%;left:14%;top:13%;background:#faf7f1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;transition:1s .25s cubic-bezier(.25,.75,.1,1);z-index:2}.invite-card b{font:400 clamp(2rem,6vw,3.8rem) 'Libre Caslon Display'}.invite-card span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:12px}.envelope.open .flap{transform:rotateX(180deg);z-index:1}.envelope.open .seal{opacity:0}.envelope.open .invite-card{transform:translateY(-28%)}.open-btn{margin-top:24px;border:0;background:#30362e;color:#fff;padding:14px 22px;border-radius:999px;font-weight:600}.nav{position:sticky;top:0;z-index:30;background:rgba(243,239,231,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav .wrap{height:68px;display:flex;align-items:center;justify-content:space-between}.monogram{font:400 1.8rem 'Libre Caslon Display'}.navlinks{display:flex;gap:22px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.nav a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.hero{padding:36px 0 90px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:32px;align-items:stretch}.hero-photo{min-height:760px;background:url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1800&q=90') center/cover}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:7vw 4vw;border:1px solid var(--line);background:#f8f4ec}.eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#788074}.hero h1,.serif{font:400 clamp(4rem,9vw,8.6rem)/.82 'Libre Caslon Display';letter-spacing:-.04em;margin:22px 0}.hero p{font:400 1.08rem/1.8 'Manrope';max-width:560px;color:#5f655c}.datebox{margin-top:36px;display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.datebox strong{font:400 3.4rem/1 'Libre Caslon Display'}.datebox span{align-self:center;line-height:1.6}.story{padding:110px 0}.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.story-copy h2{font:400 clamp(3rem,6vw,5.7rem)/.98 'Libre Caslon Display';margin:14px 0 24px}.story-copy p{line-height:1.8;color:#62675e}.story-photo{height:620px;background:url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1800&q=90') center/cover}.weekend{background:#30362f;color:#f5f1e9;padding:110px 0}.weekend h2{font:400 clamp(3rem,7vw,6.2rem) 'Libre Caslon Display';margin:12px 0 45px}.event-list{border-top:1px solid rgba(255,255,255,.22)}.event{display:grid;grid-template-columns:130px 1fr 190px;gap:25px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.22);align-items:start}.event .day{font:400 1.5rem 'Libre Caslon Display'}.event h3{margin:0 0 7px;font:400 2rem 'Libre Caslon Display'}.event p{margin:0;color:#c8cec4;line-height:1.55}.event .place{text-align:right;color:#c8cec4;font-size:.88rem}.details{padding:110px 0}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.paper-card{border:1px solid var(--line);padding:30px;min-height:260px;background:#f8f4ec}.paper-card .num{font:400 4rem 'Libre Caslon Display';color:#8d9786}.paper-card h3{font:400 2rem 'Libre Caslon Display';margin:18px 0 12px}.paper-card p{line-height:1.65;color:#60665c}.paper-card button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:5px;color:inherit;font-weight:600}.photo-strip{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px;padding:0 0 110px}.photo-strip img{width:100%;height:420px;object-fit:cover}.photo-strip img:nth-child(2){height:350px;margin-top:70px}.photo-strip img:nth-child(3){height:300px;margin-top:120px}.closing{padding:130px 0;text-align:center;border-top:1px solid var(--line)}.closing .serif{font-size:clamp(4rem,10vw,9rem)}.rsvp-btn{display:inline-block;margin-top:15px;background:#30362e;color:white;border:0;padding:16px 28px;border-radius:999px;font-weight:700}.modal{position:fixed;inset:0;z-index:90;background:rgba(34,37,32,.58);display:grid;place-items:end center;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.sheet{width:min(760px,100%);background:#f7f3eb;padding:34px;border-radius:28px 28px 0 0;transform:translateY(100%);transition:.45s}.modal.open .sheet{transform:none}.sheet-head{display:flex;justify-content:space-between;gap:20px}.sheet h3{font:400 2.8rem 'Libre Caslon Display';margin:0}.close{border:1px solid var(--line);background:transparent;width:42px;height:42px;border-radius:50%}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.form input,.form select{padding:15px;border:1px solid var(--line);background:#fffdf8;font:500 1rem 'Manrope'}.form .wide{grid-column:1/-1}.form button{grid-column:1/-1;background:#30362e;color:#fff;border:0;padding:16px;border-radius:999px;font-weight:700}.foot{padding:30px 0;border-top:1px solid var(--line);color:#7f817a;font-size:.8rem}.foot .wrap{display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(22px);transition:.8s}.reveal.is-in{opacity:1;transform:none}#toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);background:#30362e;color:#fff;padding:12px 18px;border-radius:999px;opacity:0;visibility:hidden;transition:.3s;z-index:100}#toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}@media(max-width:820px){.navlinks{display:none}.hero-grid,.story-grid{grid-template-columns:1fr}.hero-photo{min-height:66svh;order:1}.hero-copy{order:2;padding:60px 24px}.story{padding:80px 0}.story-grid{gap:35px}.story-photo{height:500px}.event{grid-template-columns:80px 1fr}.event .place{grid-column:2;text-align:left}.details-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip img{height:320px!important;margin:0!important}.photo-strip img:first-child{grid-column:1/-1;height:440px!important}.form{grid-template-columns:1fr}.form .wide,.form button{grid-column:1}.foot .wrap{flex-direction:column;gap:8px}}


/* V4 polish: one couple identity, paper-like depth and cleaner mobile reading */
body.intro-lock,body.modal-open{overflow:hidden}
.envelope-screen{background:radial-gradient(circle at 50% 25%,#ece4d6,#d3cabb 68%)}
.envelope{border:1px solid rgba(84,78,67,.08)}
.invite-card{box-shadow:0 18px 35px rgba(74,66,53,.08)}
.hero-photo,.story-photo{position:relative}
.hero-photo::after,.story-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(37,39,34,.16),transparent 45%);pointer-events:none}
.story-photo{background-position:center 38%}
.paper-card{transition:transform .25s ease,box-shadow .25s ease}
.paper-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(69,66,58,.08)}
.photo-strip .couple-shot{object-position:center 42%}
.nav{box-shadow:0 1px 0 rgba(48,54,46,.03)}
.open-btn,.paper-card button,.rsvp-btn,.close,.form button{cursor:pointer}
@media(max-width:820px){
  .hero{padding-top:18px}
  .hero-photo{min-height:72svh;background-position:center 42%}
  .hero-copy{border-top:0;padding:52px 24px 58px}
  .hero h1{font-size:clamp(4.2rem,20vw,6.9rem)}
  .datebox{grid-template-columns:82px 1fr}
  .datebox strong{font-size:3rem}
  .story-photo{height:560px;background-position:center 42%}
  .photo-strip{gap:8px}
}

/* Pulido final CIVRA */
.brand-credit{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.brand-credit img{display:block;width:64px;height:auto;opacity:.82;object-fit:contain}
@media(max-width:820px){
  .foot{padding:24px 0 30px}
  .foot .wrap{gap:12px}
  .brand-credit{width:max-content}
  .brand-credit img{width:60px}
  .envelope-wrap{width:100%}
  .open-btn{min-height:48px;padding-inline:24px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
