@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap";:root{--ivory:#f3efe5;--paper:#fbf8f0;--wine:#5b1825;--sage:#69705b;--gold:#b39055;--ink:#28241f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);margin:0;font-family:Montserrat,sans-serif;animation:.8s both pageFade}@keyframes pageFade{0%{opacity:0}to{opacity:1}}a{color:inherit}main{overflow:hidden}.reading-progress{z-index:200;background:linear-gradient(90deg,var(--gold),#d7be8a);height:3px;transition:width .12s linear;position:fixed;top:0;left:0;box-shadow:0 0 12px #b3905599}.hero{border:14px solid var(--paper);color:#fffaf0;background:#292820;flex-direction:column;justify-content:space-between;min-height:100svh;padding:34px 5vw 46px;display:flex;position:relative}.hero-photo{background:linear-gradient(90deg,#1c1913bf,#1c19132e 48%,#1c19138c),url(/images/san-miguel-hero.jpg) 50%/cover;animation:2.2s cubic-bezier(.2,.8,.2,1) both heroIn;position:absolute;inset:0}.hero-grain{opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes heroIn{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.hero:after{content:"";pointer-events:none;border:1px solid #b3905573;position:absolute;inset:30px}.nav{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.hero .nav{animation:.9s .25s both fadeDown}.monogram{letter-spacing:.08em;font-family:Cormorant Garamond,serif;font-size:30px;text-decoration:none}.monogram span,footer div span{color:var(--gold);font-style:italic}.nav-links{text-transform:uppercase;letter-spacing:.18em;gap:34px;font-size:10px;display:flex}.nav-links a{text-decoration:none}.hero-content{z-index:1;text-align:center;margin:auto;padding:64px 0 30px;position:relative}.hero-content>.eyebrow{animation:.8s .5s both fadeUp}.hero-content h1 span:first-child{animation:1s .65s both fadeUp}.hero-content h1 em{animation:.8s .85s both softScale}.hero-content h1 span:last-child{animation:1s .95s both fadeUp}.hero-copy{animation:.9s 1.15s both fadeUp}.hero-content>.text-link{animation:.9s 1.3s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}@keyframes softScale{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.eyebrow{color:var(--sage);letter-spacing:.24em;text-transform:uppercase;margin:0 0 22px;font-size:10px;font-weight:600}.hero .eyebrow{color:#e8dcc5;text-shadow:0 1px 15px #0006}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:400}h1{color:#fff9ec;letter-spacing:-.055em;text-shadow:0 5px 30px #17100c47;margin:0;font-size:clamp(66px,10vw,150px);line-height:.65}h1 span{display:block}h1 em{color:var(--gold);font-size:.54em;font-weight:400;line-height:.7;display:block}.hero-copy{margin:50px auto 26px;font:italic 19px/1.55 Cormorant Garamond,serif}.text-link{text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid;padding-bottom:7px;font-size:9px;font-weight:600;text-decoration:none;display:inline-block}.text-link span{color:var(--gold);margin-left:8px}.hero-place{z-index:1;text-align:right;margin:0;font:16px Cormorant Garamond,serif;position:relative}.hero-place span{text-transform:uppercase;letter-spacing:.2em;font:8px Montserrat,sans-serif}.scroll-note{z-index:2;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;margin:0;font-size:8px;position:absolute;bottom:32px;left:5vw;transform:rotate(180deg)}.scroll-note span{background:#fff;width:1px;height:42px;margin:0 4px 12px;animation:1.8s infinite scrollPulse;display:inline-block}@keyframes scrollPulse{50%{opacity:.45;transform:scaleY(.45)}}.leaf{z-index:0;opacity:.18;border-left:1px solid var(--sage);border-radius:50%;width:190px;height:300px;position:absolute;transform:rotate(-30deg)}.leaf:before,.leaf:after{content:"";border:1px solid var(--sage);border-left:0;border-radius:0 100%;width:95px;height:38px;position:absolute}.leaf:before{top:75px;left:-5px;transform:rotate(-15deg)}.leaf:after{top:145px;left:-15px;transform:rotate(25deg)}.leaf-one{top:16%;left:-55px}.leaf-two{bottom:10%;right:-65px;transform:rotate(145deg)}.section{padding:120px max(7vw,30px)}.intro{text-align:center;background:var(--paper)}.intro h2,.details h2,.itinerary h2,.dress-gifts h2,.rsvp h2{color:var(--wine);margin:0;font-size:clamp(48px,7vw,86px);line-height:.95}.ornament{width:200px;color:var(--gold);align-items:center;margin:40px auto;display:flex}.ornament:before,.ornament:after{content:"";background:var(--gold);flex:1;height:1px}.ornament span{margin:0 14px;font-size:9px}.lead{max-width:650px;margin:0 auto;font:25px/1.5 Cormorant Garamond,serif}.intro blockquote{color:var(--sage);margin:60px 0 0;font:italic 18px/1.5 Cormorant Garamond,serif}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(34px)}.reveal.is-visible{opacity:1;transform:none}.gallery-section{color:#f5edde;background:#1d201c;padding:125px max(5vw,24px) 70px}.gallery-title{text-align:center;max-width:780px;margin:0 auto 65px}.gallery-title .eyebrow{color:#bda982}.gallery-title h2{margin:0;font-size:clamp(54px,8vw,105px);line-height:.86}.gallery-grid{grid-template-rows:350px 520px;grid-template-columns:1.18fr .82fr;gap:16px;max-width:1200px;margin:auto;display:grid}.gallery-item{color:#fff;cursor:zoom-in;text-align:left;background:#333;border:0;padding:0;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;filter:saturate(.78)contrast(1.04);width:100%;height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s;display:block}.gallery-item:hover img{filter:saturate();transform:scale(1.045)}.gallery-item span{background:linear-gradient(#0000,#0e0e0cbf);align-items:center;gap:12px;padding:50px 24px 22px;font:italic 20px Cormorant Garamond,serif;display:flex;position:absolute;inset:auto 0 0}.gallery-item span i{letter-spacing:.16em;color:#d4bd8f;font:8px Montserrat}.gallery-item span b{margin-left:auto;font:300 18px Montserrat}.gallery-1{grid-row:1/3}.gallery-4{grid-column:1/3;height:420px}.photo-credit{text-align:center;color:#918a7c;text-transform:uppercase;letter-spacing:.16em;margin:35px 0 0;font-size:8px}.date-section{background:linear-gradient(#27241e57,#27241e8c),radial-gradient(circle at 20% 20%,#8d8774,#393c32 70%);place-items:center;min-height:720px;padding:80px 10%;display:grid;position:relative}.date-section:before{content:"";opacity:.16;background-image:repeating-linear-gradient(105deg,#0000 0 22px,#ffffff40 23px,#0000 24px 48px);position:absolute;inset:0}.date-card{text-align:center;width:min(560px,100%);color:var(--paper);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2a2a2338;border:1px solid #ffffff8c;padding:65px 35px;position:relative}.date-card .eyebrow{color:#ddd6bf}.date-lockup{justify-content:center;align-items:center;gap:26px;display:flex}.date-lockup strong{font:150px/.8 Cormorant Garamond,serif}.date-lockup span{text-align:left;letter-spacing:.18em;font-size:10px;line-height:1.8}.date-card>p{font:italic 19px Cormorant Garamond,serif}.countdown{border-block:1px solid #ffffff40;grid-template-columns:repeat(4,1fr);margin:42px 0;display:grid}.countdown-unit{border-right:1px solid #ffffff40;padding:18px 4px}.countdown-unit:last-child{border:0}.countdown strong{font:35px Cormorant Garamond,serif;display:block}.countdown span{text-transform:uppercase;letter-spacing:.14em;font-size:8px}.button{border:1px solid var(--wine);background:var(--wine);color:#fff;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;padding:17px 24px;font:600 9px Montserrat,sans-serif;text-decoration:none;display:inline-block}.button-light{background:0 0;border-color:#eee7d8}.details{background:var(--paper)}.section-heading{text-align:center;margin-bottom:70px}.detail-grid{border:1px solid #d8d0bf;grid-template-columns:1fr 1fr;display:grid}.detail-grid article{flex-direction:column;justify-content:center;min-height:360px;padding:65px;display:flex;position:relative}.detail-grid article+article{border-left:1px solid #d8d0bf}.number{color:#d5cbb8;font:italic 54px Cormorant Garamond,serif;position:absolute;top:22px;right:28px}.detail-grid h3{color:var(--wine);margin:0 0 18px;font-size:42px}.detail-grid article>p:not(.eyebrow){font:17px/1.7 Cormorant Garamond,serif}.detail-grid .text-link{align-self:flex-start;margin-top:20px}.itinerary{text-align:center;background:var(--ivory)}.timeline{grid-template-columns:repeat(5,1fr);max-width:1000px;margin:70px auto 0;display:grid}.timeline>div{gap:16px;display:grid;position:relative}.timeline span{color:var(--gold);font:20px Cormorant Garamond,serif}.timeline i{border:2px solid var(--wine);background:var(--ivory);z-index:1;border-radius:50%;width:11px;height:11px;margin:auto;position:relative}.timeline>div:after{content:"";background:#c9bda8;height:1px;position:absolute;top:48px;left:50%;right:-50%}.timeline>div:last-child:after{display:none}.timeline strong{font:500 15px Cormorant Garamond,serif}.dress-gifts{background:#d6cebc;grid-template-columns:1fr 1fr;gap:1px;padding:0;display:grid}.dress-gifts>div{background:var(--paper);text-align:center;padding:100px 9vw}.dress-gifts h2{font-size:52px}.dress-gifts p:not(.eyebrow){font:17px/1.6 Cormorant Garamond,serif}.dress-gifts small{color:#716b61;font:italic 14px Cormorant Garamond,serif;display:block}.swatches{justify-content:center;gap:9px;margin:30px 0 18px;display:flex}.swatches i{background:#77765f;border-radius:50%;width:26px;height:26px}.swatches i:nth-child(2){background:#846d5d}.swatches i:nth-child(3){background:#44493e}.swatches i:nth-child(4){background:#6a202b}.dress-gifts .button{margin-top:24px}.rsvp{color:#f5eee1;background:radial-gradient(circle at 15% 15%,#c29b6524,#0000 27%),linear-gradient(135deg,#641c2d,#49121f 62%,#351019);grid-template-columns:.85fr 1.15fr;align-items:center;gap:7vw;padding-block:135px;display:grid;position:relative;overflow:hidden}.rsvp:before,.rsvp:after{content:"";pointer-events:none;border:1px solid #d3b78424;border-radius:50%;width:360px;height:360px;position:absolute}.rsvp:before{top:-170px;left:-230px;box-shadow:0 0 0 45px #d3b78409,0 0 0 90px #d3b78406}.rsvp:after{bottom:-220px;right:-250px}.rsvp-copy{padding:45px 0;position:relative}.rsvp-copy:before{content:"";background:linear-gradient(#0000,#dbbe8b8c,#0000);width:1px;position:absolute;top:0;bottom:0;left:-32px}.rsvp .eyebrow{color:#d5bd91}.rsvp h2{color:#fffaf0;letter-spacing:-.035em;max-width:520px;font-size:clamp(58px,6.6vw,96px);font-weight:400}.rsvp-copy>p:not(.eyebrow){color:#e9ddd0;max-width:440px;font:20px/1.65 Cormorant Garamond,serif}.rsvp-copy strong{color:#f2d6a4;font-weight:600}.rsvp-monogram{color:#ead6b4;letter-spacing:.12em;margin-bottom:32px;font:36px/1 Cormorant Garamond,serif;display:block}.rsvp-monogram i{color:#bf965a;font-weight:400}.rsvp-ornament{color:#c9a66a;align-items:center;width:175px;margin:30px 0;display:flex}.rsvp-ornament:before,.rsvp-ornament:after{content:"";opacity:.6;background:currentColor;flex:1;height:1px}.rsvp-ornament span{margin:0 13px;font-size:8px}.contact{border-top:1px solid #ffffff24;padding-top:28px;color:#cdbeb3!important;margin-top:48px!important;font-size:16px!important}.contact a{color:#efd39f;margin-top:8px;text-decoration:none;display:inline-block}form{gap:26px;display:grid}form>label,legend,.guest-field{text-transform:uppercase;letter-spacing:.17em;gap:10px;font-size:9px;display:grid}input,select,textarea{color:#fff;background:0 0;border:0;border-bottom:1px solid #fff6;border-radius:0;outline:none;width:100%;padding:11px 0;font:17px Cormorant Garamond,serif}input::placeholder,textarea::placeholder{color:#baa}select option{color:#222}fieldset{border:0;flex-wrap:wrap;gap:28px;margin:0;padding:0;display:flex}legend{width:100%;margin-bottom:14px}fieldset label{font:15px Cormorant Garamond,serif}fieldset input{accent-color:#c7a66b;width:auto;margin-right:7px}.guest-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.guest-field{animation:.4s both guestIn}@keyframes guestIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}form .button{border-color:#dfceb0;justify-self:start;margin-top:5px}.rsvp-form{color:#3e2d2c;background:#fffaf0f6;border:1px solid #e1c99de6;padding:64px 58px 58px;position:relative;box-shadow:0 28px 80px #1604094d}.rsvp-form:before{content:"";pointer-events:none;border:1px solid #966c3942;position:absolute;inset:12px}.rsvp-form>*{z-index:1;position:relative}.form-heading{text-align:center;margin:-10px 0 8px}.form-heading span{color:var(--wine);font:italic 34px Cormorant Garamond,serif;display:block}.form-heading small{color:#8c776c;text-transform:uppercase;letter-spacing:.18em;margin-top:7px;font:8px Montserrat,sans-serif;display:block}.rsvp-form>label,.rsvp-form legend,.rsvp-form .guest-field{color:#735d55}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{color:#322624;border-color:#cdbda8;padding:13px 0}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:#8b3b4c;box-shadow:0 1px #8b3b4c}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#a8958b}.rsvp-form fieldset{border-bottom:1px solid #ded2c2;padding-bottom:22px}.rsvp-form fieldset label{color:#4c3b37}.rsvp-form .button{text-align:center;background:var(--wine);border-color:var(--wine);justify-self:stretch;margin-top:12px;padding:19px;transition:transform .25s,background .25s,box-shadow .25s}.rsvp-form .button:hover{background:#721e30;transform:translateY(-2px);box-shadow:0 10px 25px #5b182533}.thanks{text-align:center;border:1px solid #ffffff59;align-self:center;padding:60px 35px}.thanks span{color:#c9aa76;font:italic 30px Cormorant Garamond,serif}.thanks h3{margin:18px 0 10px;font-size:38px}footer{color:#e7dfd0;text-align:center;background:#221f1a;padding:75px 20px 38px}footer>p{margin:12px;font:italic 16px Cormorant Garamond,serif}footer div{color:#fff;font:50px Cormorant Garamond,serif}footer small{color:#898277;letter-spacing:.16em;text-transform:uppercase;margin-top:42px;font-size:8px;display:block}.floating-tools{z-index:20;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.floating-tools a{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#5b1825eb;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:48px;height:48px;text-decoration:none;transition:transform .25s,background .25s;display:grid;position:relative;box-shadow:0 8px 30px #0003}.floating-tools a:hover{background:#721e30;transform:translateY(-3px)}.floating-tools a.tool-whatsapp{background:#315b44}.floating-tools a.tool-whatsapp:hover{background:#3c7153}.floating-tools span{font:16px Cormorant Garamond,serif}.floating-tools .tool-whatsapp span{letter-spacing:.04em;font:600 9px Montserrat,sans-serif}.floating-tools i{color:#fff;opacity:0;pointer-events:none;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;background:#222;padding:7px 10px;font:8px Montserrat;transition:all .2s;position:absolute;right:58px;transform:translate(5px)}.floating-tools a:hover i{opacity:1;transform:none}.toast{z-index:50;color:#fff;letter-spacing:.12em;text-transform:uppercase;background:#222;padding:13px 20px;font-size:10px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #0000004d}.location-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px;display:flex}.location-actions button{color:#6b655a;cursor:pointer;text-transform:uppercase;letter-spacing:.14em;background:0 0;border:0;border-bottom:1px solid #b9ad99;padding:0 0 7px;font:600 8px Montserrat,sans-serif}.contact a{color:#f0d6a7;border-bottom:1px solid #f0d6a773;padding-bottom:5px;font-size:22px;transition:all .25s}.contact a:hover{color:#fff;border-color:#fff;transform:translate(4px)}.contact a span{margin-left:6px;font-size:14px}.lightbox{z-index:100;background:#0f0e0cf0;place-items:center;padding:5vw;animation:.35s both lightboxBackdrop;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:92vw;max-height:86vh;animation:.65s cubic-bezier(.18,.8,.24,1) both imageReveal;box-shadow:0 25px 80px #000}.lightbox button{color:#fff;cursor:pointer;background:0 0;border:0;font:40px Cormorant Garamond;animation:.5s .25s both fadeIn;position:absolute;top:20px;right:28px}@keyframes lightboxBackdrop{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes imageReveal{0%{opacity:0;filter:blur(10px);transform:scale(.82)translateY(28px)}to{opacity:1;filter:none;transform:none}}@keyframes fadeIn{0%{opacity:0}}.gift-modal{z-index:110;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171410d1;place-items:center;padding:25px;animation:.3s both fadeIn;display:grid;position:fixed;inset:0}.gift-card{text-align:center;background:var(--paper);width:min(560px,100%);color:var(--ink);border:1px solid var(--gold);padding:68px 55px;animation:.6s cubic-bezier(.18,.8,.24,1) both imageReveal;position:relative;box-shadow:0 28px 90px #00000061}.gift-card:before{content:"";pointer-events:none;border:1px solid #b3905559;position:absolute;inset:12px}.gift-card h2{color:var(--wine);margin:0;font-size:48px;line-height:.95}.gift-card>p:not(.eyebrow){max-width:420px;margin:28px auto;font:19px/1.55 Cormorant Garamond,serif}.gift-monogram{color:var(--gold);margin-bottom:22px;font:italic 28px Cormorant Garamond,serif;display:block}.modal-close{z-index:2;color:var(--wine);cursor:pointer;background:0 0;border:0;font:36px Cormorant Garamond,serif;position:absolute;top:14px;right:20px}.gift-whatsapp{z-index:1;background:#315b44;border-color:#315b44;position:relative}@media (max-width:760px){.hero{border-width:8px;min-height:850px;padding:26px 24px 35px}.hero:after{inset:18px}.hero-photo{background-position:58%}.nav-links{display:none}.hero-content{padding-top:90px}.hero-copy br{display:none}.hero-place{text-align:center}.scroll-note{display:none}.leaf{width:110px}.section{padding:85px 24px}.gallery-section{padding-top:85px}.gallery-grid{grid-template-rows:410px repeat(3,270px);grid-template-columns:1fr;display:grid}.gallery-item,.gallery-1,.gallery-4{grid-area:auto;height:auto}.date-section{padding:45px 20px}.date-card{padding:55px 15px}.date-lockup{gap:14px}.date-lockup strong{font-size:105px}.countdown strong{font-size:28px}.detail-grid,.dress-gifts,.rsvp{grid-template-columns:1fr}.detail-grid article{padding:60px 30px}.detail-grid article+article{border-top:1px solid #d8d0bf;border-left:0}.timeline{text-align:left;grid-template-columns:1fr;gap:28px;margin-left:25%}.timeline>div{grid-template-columns:60px 20px 1fr;align-items:center;gap:12px}.timeline>div:after{width:1px;height:auto;inset:50% auto -30px 82px}.timeline i{grid-column:2}.timeline strong{grid-column:3}.dress-gifts>div{padding:75px 24px}.rsvp{gap:55px;padding-block:90px}.rsvp-copy{padding:0}.rsvp-copy:before{display:none}.rsvp-monogram{margin-bottom:24px}.rsvp-form{padding:52px 28px 38px}.guest-fields{grid-template-columns:1fr}h1{font-size:68px}.intro h2,.details h2,.itinerary h2,.rsvp h2{font-size:50px}.floating-tools{bottom:12px;right:12px}.floating-tools i{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (max-width:560px){.gift-card{padding:58px 25px 42px}.gift-card h2{font-size:40px}.gift-whatsapp{line-height:1.4}}
