@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--forest:#374f3c;--sage:#839477;--paper:#faf9f3;--wood:#987c5c;--muted:#788070;--pale:#e6eadd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--forest);font-family:'DM Sans',sans-serif;line-height:1.8}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.03;margin:0}h2{font-size:clamp(2.8rem,5vw,4.6rem);letter-spacing:-.035em}h3{font-size:2.5rem}em{font-weight:400;color:var(--wood)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.gallery:focus-visible{outline:3px solid var(--wood);outline-offset:5px}.wrap{width:min(1100px,calc(100% - 48px));margin-inline:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;font-size:.75rem;border-bottom:1px solid #83947733}.nav>span{font:1.5rem 'Cormorant Garamond',serif;letter-spacing:.1em}.section{padding-block:95px}.eyebrow{font-size:.6rem;letter-spacing:.19em;font-weight:600;color:var(--sage);margin:0 0 22px}.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;min-height:700px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#fffef8 0,#eef0e3 70%,#dfe6d4 100%);padding:75px 24px 55px}.hero-content{position:relative;z-index:2;width:min(560px,100%)}.hero h1{font-size:clamp(4.5rem,9vw,7.5rem);font-style:italic;font-weight:400;letter-spacing:-.055em}.hero h1>span{display:block;font-size:2.8rem;color:var(--wood);margin:12px 0;letter-spacing:0}.hero-sub{font-size:.9rem;color:var(--muted);margin:28px 0 24px}.hero-date{font-size:.7rem;letter-spacing:.22em;margin-bottom:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:14px 24px;border:1px solid var(--forest);border-radius:3px;background:var(--forest);color:var(--paper);font-size:.78rem;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#526853;transform:translateY(-2px)}.discover{display:block;margin-top:28px;padding:12px;font-size:.55rem;letter-spacing:.16em}.bloom-message{font:italic 1.25rem 'Cormorant Garamond',serif;margin:20px auto 0;max-width:320px}.garden{position:absolute;z-index:1;bottom:-30px;width:34%;height:100%;pointer-events:none;transition:transform 1.6s,opacity 1.6s}.garden img{position:absolute;width:100%;height:95%;object-fit:contain;object-position:bottom;opacity:.8;animation:sway 9s ease-in-out infinite;transform-origin:bottom}.garden img+img{transform:rotate(30deg);opacity:.45;width:80%;left:-25%;animation:sway2 11s ease-in-out infinite}.garden-left{left:-3%;transform:rotate(-19deg)}.garden-right{right:-3%;transform:rotate(19deg) scaleX(-1)}.hero.bloomed .garden-left{transform:translateX(-22%) rotate(-28deg)}.hero.bloomed .garden-right{transform:translateX(22%) rotate(28deg) scaleX(-1)}.hero-mark{position:absolute;bottom:25px;left:22px;writing-mode:vertical-rl;font-size:.5rem;letter-spacing:.15em;color:var(--muted)}.couple-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:center}.couple-photo{position:relative;margin:0;min-width:0}.photo-button{display:block;position:relative;padding:0;border:0;background:var(--pale);width:100%;cursor:zoom-in;overflow:hidden}.photo-button>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.photo-button:hover>img{transform:scale(1.03)}.photo-button>span{position:absolute;bottom:14px;right:14px;padding:7px 10px;background:#faf9f3e8;font-size:.5rem;letter-spacing:.13em;color:var(--forest)}.couple-photo>.photo-button{border-radius:220px 220px 2px 2px;border:8px solid var(--paper);outline:1px solid #83947766;box-shadow:14px 14px 0 var(--pale)}.couple-photo figcaption{position:relative;text-align:center;font:2rem 'Cormorant Garamond',serif;padding-top:28px;line-height:1.15}.photo-branch{position:absolute;left:-12%;bottom:13%;width:35%;pointer-events:none;transform:rotate(-27deg)}.story>p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin:24px 0}.signatures{display:flex;gap:16px;align-items:center;font:italic 2.3rem 'Cormorant Garamond',serif;color:var(--wood);margin:30px 0}.signatures i{font-size:1.4rem;color:var(--sage)}details{border-bottom:1px solid #83947744}summary{list-style:none;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8rem;padding-block:14px}summary::-webkit-details-marker{display:none}summary>span{font-size:1.3rem;color:var(--wood);transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:.82rem;color:var(--muted);margin:0 0 20px}.count-section{background:var(--forest);color:var(--paper);text-align:center}.count-section em{color:#c4b08f}.count-section .eyebrow{color:#c2ccb7}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:650px;margin:40px auto 20px}.countdown>div{border-block:1px solid #c2ccb755;padding:22px 2px}.countdown strong{display:block;font:4rem 'Cormorant Garamond',serif;line-height:1.2}.countdown span{font-size:.55rem;letter-spacing:.18em}.text-button{min-height:48px;padding:12px 4px;background:none;border:0;border-bottom:1px solid #c2ccb766;color:inherit;font-size:.72rem;cursor:pointer}.small{font-size:.65rem;color:var(--muted);margin-top:20px}.count-section .small{color:#c2ccb7}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.gallery-heading>p{font-size:.8rem;color:var(--muted)}.gallery{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--sage) var(--pale);padding:10px 4px 20px;overscroll-behavior-x:contain}.gallery>figure{flex:0 0 calc((100% - 56px)/3);min-width:0;margin:0;scroll-snap-align:start}.gallery>figure:nth-child(2){padding-top:35px}.gallery .photo-button{border-radius:140px 140px 2px 2px}.gallery figcaption{font:italic 1.1rem 'Cormorant Garamond',serif;margin-top:18px}.gallery-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:15px}.gallery-controls>span{font-size:.5rem;letter-spacing:.12em}.gallery-controls button{width:48px;height:48px;border:1px solid #83947766;background:transparent;color:var(--forest);font-size:1.2rem;cursor:pointer}.gallery-controls button+button{margin-left:8px}.nature-banner{position:relative;height:450px;overflow:hidden;display:grid;place-items:center;text-align:center;color:white}.nature-banner>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 43%;filter:brightness(.46)}.nature-banner>div{position:relative;padding:24px}.nature-banner em{color:#ded8c5}.nature-banner .eyebrow{color:#dde3ce}.heading{text-align:center;margin-bottom:48px}.events{display:grid;grid-template-columns:1fr 1fr;gap:35px}.event{position:relative;padding:48px;background:var(--pale);border:1px solid #83947744}.event:nth-child(2){background-color:#eee5d7;background-image:repeating-linear-gradient(0deg,transparent,transparent 35px,#987c5c09 36px,#987c5c09 38px),repeating-linear-gradient(2deg,transparent,transparent 100px,#987c5c0b 102px,#987c5c0b 105px)}.event-number{display:block;font:italic 2rem 'Cormorant Garamond',serif;color:var(--sage);margin-bottom:25px}.event h4{font-size:.85rem;margin:24px 0 12px}.event>p:not(.eyebrow){color:var(--muted);font-size:.84rem}.outline{background:transparent;color:var(--forest);margin-top:20px}.outline:hover{color:white}.centered{text-align:center}.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;text-align:center;margin-top:45px;padding-top:30px;border-top:1px solid #83947755}.timeline span{display:block;font-size:.65rem;letter-spacing:.12em;color:var(--wood)}.timeline strong{display:block;font:1.8rem 'Cormorant Garamond',serif;font-weight:500;margin-top:8px}.details-section{background:#edf0e6}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.rsvp{background:var(--forest);color:var(--paper)}.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.rsvp-grid>div:first-child .eyebrow{color:#bdc9b2}.rsvp-grid>div:first-child em{color:#c4b08f}.rsvp-grid>div:first-child>p:not(.eyebrow){font-size:.88rem;color:#d7ddce;max-width:350px;margin-top:26px}.rsvp-grid>div:first-child>img{width:110px;height:160px;object-fit:contain;margin-top:20px;transform:rotate(25deg)}.rsvp-card{padding:35px;background:var(--paper);color:var(--forest);border:1px solid #d6cbb8;min-width:0}.rsvp-card h3{font-size:2.5rem;margin-bottom:26px}.rsvp-card label{display:block;font-size:.74rem;margin-bottom:8px}.rsvp-card label>span{color:var(--muted)}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #bbc5af;background:#fffef9;color:var(--forest);padding:12px;font-size:16px;border-radius:3px;margin-bottom:20px}textarea{resize:vertical}.rsvp-card .button{width:100%}.result{white-space:pre-line;overflow-wrap:anywhere;background:var(--pale);padding:18px;margin-top:20px;font-size:.8rem}.closing{text-align:center;padding-inline:20px}.closing>p:not(.eyebrow){font:italic 2.5rem 'Cormorant Garamond',serif;color:var(--wood);margin:28px 0 12px}.closing>span{font-size:.6rem;letter-spacing:.2em}footer{display:flex;justify-content:space-between;gap:20px;padding-block:26px;border-top:1px solid #83947733;font-size:.7rem}footer>a{font-weight:600}dialog{border:1px solid #83947788;background:var(--paper);padding:18px;width:min(650px,calc(100% - 28px));max-height:90dvh;color:var(--forest)}dialog::backdrop{background:#17281ee8}dialog>img{display:block;width:100%;height:72dvh;object-fit:contain}dialog>button{display:block;margin:0 0 12px auto;width:44px;height:44px;border:1px solid var(--sage);background:var(--paper);color:var(--forest);cursor:pointer}dialog>p{text-align:center;font:italic 1.3rem 'Cormorant Garamond',serif;margin:16px 0 0}.reveal.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.will-reveal.visible{opacity:1;transform:none}@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes sway2{0%,100%{transform:rotate(27deg)}50%{transform:rotate(33deg)}}
@media(max-width:850px){.couple-grid,.rsvp-grid{gap:45px}.event{padding:35px}.details-grid{gap:40px}.gallery{gap:20px}.gallery>figure{flex-basis:calc((100% - 20px)/2)}.hero{min-height:650px}.garden{width:38%}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.nav{padding-block:16px;font-size:.7rem}.nav>span{font-size:1.3rem}.hero{min-height:690px;padding:52px 20px 42px}.hero h1{font-size:clamp(4rem,20vw,6rem)}.hero h1>span{font-size:2.3rem;margin:10px 0}.hero .eyebrow{font-size:.5rem;letter-spacing:.13em}.hero-sub{font-size:.83rem}.hero-date{font-size:.62rem;letter-spacing:.17em}.hero .button{font-size:.7rem;padding-inline:16px}.garden{width:50%;opacity:.65;height:80%;bottom:-45px}.garden-left{left:-26%}.garden-right{right:-26%}.hero-mark{display:none}.section{padding-block:60px}.eyebrow{font-size:.52rem;letter-spacing:.13em}h2{font-size:clamp(2.6rem,11.5vw,3.5rem)}.couple-grid,.rsvp-grid,.details-grid,.events{grid-template-columns:1fr;gap:40px}.couple-photo{width:calc(100% - 30px);max-width:340px;margin:auto}.couple-photo>.photo-button{box-shadow:8px 8px 0 var(--pale)}.photo-branch{left:-10%;width:30%}.couple-photo figcaption{font-size:1.9rem}.story{text-align:center}.story>p:not(.eyebrow){font-size:.85rem}.signatures{justify-content:center;font-size:2rem}.story details{text-align:left}summary{font-size:.76rem;gap:12px}.countdown{gap:8px;margin-top:30px}.countdown strong{font-size:clamp(2.4rem,10vw,3.2rem)}.countdown span{font-size:.45rem;letter-spacing:.08em}.countdown>div{padding-block:18px}.gallery-heading{display:block;margin-bottom:22px}.gallery-heading>p{margin-top:22px}.gallery{gap:18px}.gallery>figure{flex-basis:84%}.gallery>figure:nth-child(2){padding-top:0}.gallery figcaption{font-size:1.15rem}.gallery-controls>span{font-size:.43rem;max-width:150px}.gallery-controls button{width:44px;height:44px}.nature-banner{height:350px}.nature-banner h2{font-size:2.65rem}.heading{margin-bottom:32px}.event{padding:30px}.event h3{font-size:2.4rem}.event .eyebrow{font-size:.52rem}.event .button{width:100%}.timeline{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.timeline strong{font-size:1.7rem}.details-grid>div:first-child{text-align:center}.rsvp-grid>div:first-child{text-align:center}.rsvp-grid>div:first-child>p:not(.eyebrow){margin-inline:auto}.rsvp-grid>div:first-child>img{width:70px;height:95px;margin-top:10px}.rsvp-card{padding:28px 20px}.rsvp-card h3{font-size:2.4rem}.closing>p:not(.eyebrow){font-size:2.1rem}footer{flex-direction:column;align-items:center;text-align:center;gap:8px}dialog{padding:12px}dialog>img{height:64dvh}}
/* Portada fotográfica: los rostros quedan libres y el texto se apoya en el degradado. */
.hero.photo-cover{min-height:850px;min-height:max(850px,95svh);place-items:end center;padding:330px 24px 48px;color:#fffdf4;background:var(--forest)}.cover-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 10%}.photo-cover:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#17281e08 0%,#17281e10 30%,#17281e80 52%,#17281ee8 100%)}.photo-cover .hero-content{width:min(700px,100%);text-shadow:0 2px 18px #17281e88}.photo-cover h1{font-size:clamp(3.7rem,7vw,6rem)}.photo-cover h1>span{display:inline;font-size:.55em;margin:0 12px;color:#e8dcc5}.photo-cover .eyebrow,.photo-cover .hero-sub,.photo-cover .hero-date,.photo-cover .discover,.photo-cover .hero-mark{color:#fffdf4}.photo-cover .hero-sub{margin:18px 0}.photo-cover .hero-date{margin-bottom:20px}.photo-cover .button{background:#faf9f3e8;color:var(--forest);border-color:#fffdf499;text-shadow:none}.photo-cover .button:hover{background:#fffdf4}.photo-cover .discover{margin-top:15px}.photo-cover .garden{z-index:2;opacity:.22;width:20%;height:55%}.photo-cover .hero-mark{z-index:2}
@media(max-width:600px){.hero.photo-cover{min-height:820px;min-height:max(820px,100svh);padding:420px 20px 30px}.photo-cover .cover-photo{object-position:center 24%}.photo-cover h1{font-size:clamp(2.9rem,12.5vw,4.5rem);letter-spacing:-.045em}.photo-cover h1>span{display:inline;font-size:.55em;margin:0 5px}.photo-cover .eyebrow{margin-bottom:16px}.photo-cover .hero-sub{font-size:.8rem;margin:16px 0}.photo-cover .hero-date{font-size:.57rem;letter-spacing:.15em}.photo-cover .garden{width:40%;height:36%;opacity:.18}.photo-cover .bloom-message{font-size:1.15rem}.photo-cover .discover{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.will-reveal{opacity:1;transform:none}}
