@charset "UTF-8";
:root{--paper:#f4ebd9;--ivory:#fbf3e3;--olive:#283b25;--ink:#253220;--gold:#ae8d52;--brown:#84623c;--line:#baa075;--serif:'Cormorant Garamond',Georgia,serif;--roman:'Cinzel',Georgia,serif;--script:'Great Vibes',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:#e4d4b7;color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.45}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:-100px;left:12px;z-index:200;background:var(--ivory);padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #8e632c;outline-offset:4px}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.075;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='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%239a733c' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.header{height:74px;margin:auto;max-width:1100px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:100;background:linear-gradient(110deg,#efe1c9,#fff7e5 50%,#e7d6b6);border-bottom:3px double var(--gold);box-shadow:0 3px 14px #5e452820}.brand{font:40px var(--roman);text-decoration:none;display:flex;align-items:center;gap:10px}.brand small{font-size:21px;color:var(--gold)}.header-meta{font:13px var(--roman);letter-spacing:.3em}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:9px;border:0;background:none;color:var(--olive)}.menu-toggle span{display:block;height:2px;width:30px;background:currentColor}.nav{position:absolute;top:100%;right:18px;display:none;flex-direction:column;width:min(320px,calc(100vw - 36px));padding:18px;background:#fbf3e6;border:1px solid var(--gold);box-shadow:0 12px 25px #46392230}.nav.open{display:flex}.nav a{padding:12px;text-decoration:none;border-bottom:1px solid #b99c6a50;font-size:18px;min-height:48px}
main,.footer{max-width:1100px;margin:auto;background:var(--paper)}main{box-shadow:0 20px 80px #51432930}.invitation-top{position:relative;background:radial-gradient(ellipse at 50% 40%,#fff8e6,#f1e0bd 80%,#d9bd8d)}.hero{position:relative;isolation:isolate;min-height:830px;overflow:hidden}.hero-scene{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#f4e5c566,transparent 15%),url('assets/claustro-v9.webp') center 46%/cover no-repeat}.hero-content{position:relative;margin:auto;padding:28px 12% 20px;text-align:center;display:flex;flex-direction:column;align-items:center}.crest{width:250px;height:79px;filter:drop-shadow(0 1px 0 #fff9dc)}.overline{font:13px var(--roman);letter-spacing:.22em}.hero-overline{font-size:19px;letter-spacing:.44em;margin:0 0 -3px}.monogram{position:relative;width:350px;height:210px;display:grid;place-items:center}.monogram span{font:220px/.85 var(--roman);letter-spacing:-.08em;padding-right:.08em;color:#2a3821;-webkit-text-stroke:1px #b48c43;text-shadow:2px 2px 0 #694c26,3px 3px 0 #dec184}.monogram svg{position:absolute;inset:-3px -35px;width:420px;height:230px;z-index:-1}.hero h1{font:clamp(60px,7.5vw,103px)/1.3 var(--script);color:#75501f;white-space:nowrap;letter-spacing:-.015em;text-shadow:0 1px 0 #fff8db;margin:3px -8% 10px;font-weight:400}.hero h1 span{font-size:.78em}.hero-quote{font:16px/1.7 var(--roman);letter-spacing:.19em;margin-top:0}.divider{display:flex;align-items:center;justify-content:center;gap:10px;color:#a17a37;font-size:25px;width:240px;margin:6px auto}.divider span{height:1px;width:80px;background:linear-gradient(90deg,transparent,#9e7639)}.divider span:last-child{transform:rotate(180deg)}.intro{font:25px/1.3 var(--serif);max-width:580px;text-wrap:pretty;text-shadow:0 1px 3px #fff6dc}.date-row{position:relative;width:min(100%,620px);margin:28px auto 0;border-block:3px double #ac884d;display:flex;align-items:center;justify-content:center;gap:22px;padding:5px 18px;background:#fff4d58c;outline:1px solid #b3935c60;outline-offset:4px}.date-row:before,.date-row:after{content:'❧';position:absolute;font-size:33px;color:#a27b3f;background:#f7e9cd;line-height:1;top:-18px}.date-row:after{top:auto;bottom:-18px;transform:rotate(180deg)}.date-row>span{font:17px/1.55 var(--roman);letter-spacing:.14em}.date-row strong{font:91px/.95 var(--serif);border-inline:1px solid #ae8d52;padding:0 18px;font-weight:500}
.countdown-section{position:relative;z-index:2;margin:0 7% 0;padding:18px 12px;color:#f9e4aa;background:radial-gradient(ellipse at 30% 20%,#425133,#182919);border:5px double #bf9a50;outline:2px solid #3a4829;outline-offset:3px;box-shadow:0 6px 0 #8d6c34,0 10px 18px #6d512b38}.countdown-section:before,.countdown-section:after{content:'⚜';position:absolute;left:50%;transform:translateX(-50%);top:-30px;font-size:36px;line-height:1;color:#b89752;text-shadow:1px 1px #23331f}.countdown-section:after{top:auto;bottom:-24px;transform:translateX(-50%) rotate(180deg)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.countdown>div+div{border-left:1px solid #b69b5f}.countdown strong{display:block;font:47px/1 var(--serif);font-weight:500}.countdown small{display:block;font:13px var(--roman);letter-spacing:.1em;margin-top:5px}
.section{position:relative;padding:70px 40px;text-align:center;overflow:hidden}.section-width{max-width:780px;margin:auto}.section-width.wide{max-width:1000px}.section h2{font:33px/1.25 var(--roman);font-weight:400;color:#2b3925}.section h2 i{font-family:var(--serif);text-transform:none;font-weight:400}.ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:#a88346;margin:14px auto 22px}.ornament span{width:75px;height:1px;background:#af8b4c}.ornament b{font-weight:400;font-size:22px}.ceremonial{padding:55px 18% 16px;background:linear-gradient(90deg,#af895314,transparent 20%,transparent 80%,#af895314)}.ceremonial:before,.ceremonial:after{content:'';position:absolute;top:28px;bottom:10px;width:150px;opacity:.27;pointer-events:none;background:url('assets/ramas-botanicas.svg') center/contain no-repeat}.ceremonial:before{left:-35px}.ceremonial:after{right:-35px;transform:scaleX(-1)}.section-icon-circle{color:#a17d40;width:42px;height:42px;display:grid;place-items:center;margin:0 auto 8px}.section-icon-circle .icon{width:35px;height:35px}.ceremonial h2{font-size:27px;letter-spacing:.18em}.ceremonial-copy{font:22px/1.4 var(--serif);max-width:660px;margin:0 auto 12px}.ceremonial-copy strong{font-weight:600}.ceremonial .ornament{margin:8px auto 12px}.locations-section{padding:24px 30px 15px}.locations-section .ornament{display:none}.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-card{position:relative;display:grid;grid-template-columns:40% 1fr;border:5px double #b29057;padding:6px;background:linear-gradient(130deg,#f8eccf,#fff6e0 55%,#e9d2a7);box-shadow:3px 4px 0 #91754c42,inset 0 0 18px #b3935c30;isolation:isolate}.location-card:before,.location-card:after,.fancy-card:before,.gifts-card:before{content:'';position:absolute;width:65px;height:65px;top:2px;right:2px;background:url('assets/corner-v9.svg') center/contain;transform:rotate(90deg);z-index:1;pointer-events:none}.location-card:after{top:auto;right:2px;bottom:2px;transform:rotate(180deg)}.location-image{position:relative;overflow:hidden;border:1px solid #b99b6a;border-radius:90px 90px 0 0;align-self:stretch;min-height:285px;background:#c4b18b}.location-image img{height:100%;width:100%;object-fit:cover;object-position:center}.location-image span{position:absolute;left:0;right:0;bottom:0;font:10px/1.5 var(--roman);padding:7px 3px;background:#283b25e8;color:#fff0d1}.location-content{padding:17px 9px 10px;display:flex;flex-direction:column;align-items:center}.card-icon{color:#9c7539;display:grid;place-items:center;margin:auto auto 7px}.card-icon .icon{width:33px;height:33px}.location-content h3{font:25px/1.05 var(--serif);margin-bottom:13px;font-weight:600}.location-content p{font:17px/1.3 var(--serif);margin-bottom:16px}.primary-btn,.secondary-btn,.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:11px 23px;text-decoration:none;font:19px var(--serif);border:1px solid #a58242;border-radius:40px;color:#fff8e7;background:linear-gradient(#52603b,#24341f);box-shadow:inset 0 0 0 3px #d8bd7040,0 3px 6px #5a45262a;transition:filter .2s}.primary-btn:hover{filter:brightness(1.12)}.location-content .primary-btn{font-size:16px;padding:8px 12px;gap:5px;margin-top:auto;white-space:nowrap}.location-content .primary-btn .icon{width:17px;height:17px}.presence{text-align:center;padding:14px 30px 42px;background:linear-gradient(0deg,#d3b17935,transparent)}.presence h2{font:19px var(--roman);letter-spacing:.18em}.presence p{font:23px/1.25 var(--serif);margin-bottom:18px}.presence .primary-btn{font-size:25px;min-width:440px;padding:11px 32px;border:4px double #c7aa65}.presence .divider{margin:3px auto}
.family-section{background:#f6edda;border-top:5px double #b89b68}.family-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px auto 0}.fancy-card,.gifts-card{position:relative;border:4px double #ba9b66;background:radial-gradient(ellipse at 40% 25%,#fff8e7,#ecddc0);padding:32px 24px;box-shadow:0 5px 18px #9c7d4a16}.fancy-card h3{font:18px var(--roman);margin:8px auto 18px}.fancy-card p{font:25px/1.3 var(--serif)}.amp{font:28px var(--script);color:#9e793f;margin:7px;display:block}.agenda-section{background:#e7dac1}.agenda{margin-top:25px}.agenda-event{display:grid;grid-template-columns:54px 1fr 85px;gap:20px;text-align:left;align-items:center;border-bottom:1px solid #b79965;padding:20px 0}.event-icon{color:#96713c}.event-icon .icon{width:35px;height:35px}.event-content>span{font:11px var(--roman);letter-spacing:.08em}.event-content h3{font:25px var(--serif)}.event-content p{font:19px var(--serif)}.agenda-event time{font:25px var(--serif);color:#39442b}.agenda-event small{font-size:14px}.agenda-note{margin-top:25px;font-style:italic}.gifts-section{background:#f4ead7}.body-copy{max-width:630px;margin:auto;font-size:23px}.gifts-card{margin-top:25px}.gift-topline{font:15px var(--roman)}.gift-intro{margin:8px auto 15px}.gift-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gift-amounts span{padding:14px 4px;border:1px solid #c8b386;display:flex;align-items:center;justify-content:center;gap:8px}.gift-amounts .icon{color:#997033}.gift-foot{margin:20px auto 10px;max-width:580px}.gift-disclaimer{font-size:16px;color:#65583e}.final-note{text-align:center;padding:50px 25px;background:#eee0c5}.final-note h2{font:32px var(--serif);margin-bottom:15px}.final-note p{font-size:22px}.final-flower{color:#a17c40;font-size:35px}.final-names{font:48px var(--script)!important;margin-top:18px}.share-btn{background:none;color:#35432d;border:1px solid #a88b59;box-shadow:none;margin-top:18px;font-size:18px}.share-status{font-size:16px!important;margin-top:12px}.footer{text-align:center;padding:28px 12px;background:#273821;color:#eadbbd;font:11px/1.8 var(--roman);letter-spacing:.08em}.footer>span{color:#ba9b60}.footer a{display:inline-block;min-height:44px;padding:12px}
@media(min-width:1200px){.header{padding-inline:80px}.hero-scene{background-size:100% auto;background-position:center 51%}.hero{min-height:850px}.hero-content{padding-top:30px}.hero h1{font-size:105px}.intro{font-size:26px}.header-meta{font-size:15px}}
@media(max-width:767px){body{font-size:18px}.header{height:61px;padding:0 20px}.brand{font-size:30px;gap:6px}.brand small{font-size:15px}.header-meta{font-size:10px;letter-spacing:.14em}.menu-toggle{width:44px;height:44px;padding:8px}.menu-toggle span{width:27px}.hero{min-height:690px}.hero-scene{background-position:center top;background-size:auto 100%}.hero-content{padding:26px 11% 27px}.crest{width:170px;height:57px}.hero-overline{font-size:11px;letter-spacing:.26em}.monogram{width:235px;height:160px;margin-top:2px}.monogram span{font-size:156px}.monogram svg{width:290px;height:178px;inset:-5px -28px}.hero h1{font-size:clamp(43px,11.5vw,75px);line-height:1.35;margin:13px -12% 13px;letter-spacing:-.025em}.hero-quote{font-size:10px;letter-spacing:.13em;white-space:nowrap;margin-top:3px}.intro{font-size:20px;line-height:1.3;max-width:360px}.divider{width:160px;font-size:20px;gap:7px;margin:8px auto}.divider span{width:58px}.date-row{margin-top:27px;gap:8px;padding:8px 3px;width:106%;max-width:none}.date-row>span{font-size:10px;letter-spacing:.07em}.date-row strong{font-size:66px;padding-inline:12px}.date-row:before,.date-row:after{font-size:25px;top:-15px}.date-row:after{top:auto;bottom:-13px}.countdown-section{margin:0 6%;padding:19px 3px;border-width:4px}.countdown strong{font-size:33px}.countdown small{font-size:9px;letter-spacing:.02em;margin-top:6px}.countdown-section:before{font-size:30px;top:-24px}.countdown-section:after{font-size:30px;bottom:-21px}.ceremonial{padding:46px 30px 15px}.ceremonial h2{font-size:21px;letter-spacing:.13em}.ceremonial-copy{font-size:20px;line-height:1.4}.ceremonial:before,.ceremonial:after{opacity:.18;width:70px}.ceremonial:before{left:-29px}.ceremonial:after{right:-29px}.locations-section{padding:15px 19px 22px}.locations-grid{grid-template-columns:1fr;gap:20px}.location-card{grid-template-columns:38% 1fr;min-height:280px}.location-image{min-height:260px}.location-content{padding:15px 10px 10px}.location-content h3{font-size:25px}.location-content p{font-size:18px}.location-content .primary-btn{font-size:16px;padding:9px 12px}.presence{padding:10px 25px 35px}.presence h2{font-size:14px;letter-spacing:.12em}.presence p{font-size:21px}.presence .primary-btn{font-size:21px;min-width:0;width:100%;padding:11px 10px;gap:8px}.presence .primary-btn>.icon{width:21px}.section:not(.ceremonial):not(.locations-section){padding:50px 23px}.section h2{font-size:25px}.family-cards{grid-template-columns:1fr;gap:20px}.fancy-card p{font-size:24px}.overline{font-size:11px}.agenda-event{grid-template-columns:32px 1fr 58px;gap:10px}.event-content h3{font-size:21px}.event-content>span{font-size:9px}.event-content p{font-size:17px}.agenda-event time{font-size:22px}.agenda-event small{font-size:11px}.event-icon .icon{width:28px}.body-copy{font-size:21px}.gifts-card{padding:25px 16px}.gift-topline{font-size:12px}.gift-amounts{grid-template-columns:1fr 1fr}.gift-amounts span{font-size:21px}.gift-disclaimer{font-size:16px}.final-note h2{font-size:29px}.final-note p{font-size:20px}}
@media(max-width:380px){.hero h1{font-size:43px}.hero-quote{font-size:9px}.hero-content{padding-inline:10%}.intro{font-size:19px}.location-content p{font-size:17px}.location-content .primary-btn{padding-inline:8px}.countdown small{font-size:9px}.header{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-scene{background-size:100% 100%;background-position:center}
.hero-content:before{content:'';position:absolute;z-index:-1;top:12%;bottom:3%;left:18%;right:18%;background:radial-gradient(ellipse,#fff4d8c9 0%,#fff3d69c 55%,#fff4d800 73%);pointer-events:none}
.intro{padding:5px 10px;background:radial-gradient(ellipse,#fff3d4df,#fff3d4b3 65%,#fff3d400 90%);text-shadow:0 1px 2px #fff8e7}
.monogram{height:198px}.monogram span{font-size:203px}.monogram svg{height:218px}
@media(max-width:767px){.hero h1{font-size:clamp(49px,13.5vw,76px);margin-inline:-15%}.monogram{height:150px}.monogram span{font-size:146px}.monogram svg{height:167px}.hero-content:before{left:12%;right:12%;top:15%;bottom:5%}.intro{margin-inline:-8%;padding:7px 12px}.hero-quote{font-size:10px;letter-spacing:.1em}}
@media(max-width:380px){.hero h1{font-size:49px}.hero-quote{font-size:9px}}
.misa-niche{position:absolute;left:2%;width:16%;height:85%;top:10%;object-fit:contain;opacity:.94}.misa-aside{position:absolute;right:2%;width:15%;top:25%;font-size:23px;line-height:1.3;color:#805d2e}.misa-aside p{font-style:italic;margin:15px 0}.ceremonial:before,.ceremonial:after{display:none}.location-content p.location-time{font-size:18px;color:#755524;margin:-3px auto 12px;font-weight:600}.location-content h3{margin-bottom:9px}
.ceremonial-copy,.intro,.location-content p{font-weight:500}
@media(max-width:767px){.misa-niche,.misa-aside{display:none}.location-content p.location-time{font-size:17px}.location-image span{font-size:10px}.intro{background:radial-gradient(ellipse,#fff3d4f2,#fff3d4df 65%,#fff3d400 96%)}.hero-quote{background:#fff1d1a3;padding:1px 4px}}
.lower-flora{position:absolute;pointer-events:none;z-index:0;bottom:0;width:340px;height:1060px;background:url('assets/lirios-v9.webp') left bottom/100% 100% no-repeat}.flora-left{left:0}.flora-right{right:0;transform:scaleX(-1)}.invitation-top>.section,.presence{position:relative;z-index:1}.presence{padding-bottom:48px}.presence h2,.presence p{position:relative;text-shadow:0 1px 3px #fff4df,0 0 12px #fff4df}.ceremonial{background:radial-gradient(ellipse,#fff3dbe8 35%,#f3e3c280)}
@media(max-width:767px){.lower-flora{width:140px;height:1000px;opacity:.75}.presence{padding-inline:25px}.presence p{background:radial-gradient(ellipse,#f6e7c9e8,#f6e7c900)}.presence .primary-btn{position:relative}.ceremonial{background:radial-gradient(ellipse,#fff3dbe8 35%,#f3e3c2ca)}}
.brand{min-height:44px}
.years-label{font:18px var(--roman);letter-spacing:.65em;padding-left:.65em;margin:-6px auto 0}.hero h1{margin-top:0}
@media(max-width:767px){.years-label{font-size:12px;margin-top:-2px}.hero h1{margin-top:9px}}
