
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Great+Vibes&family=Montserrat:wght@400;500;600&display=swap');
:root{--ink:#180f10;--ivory:#f1e5cf;--gold:#ba9458;--wine:#672433}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:'Cormorant Garamond',Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit} .hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 24px 80px;background:linear-gradient(#100a0d22,#100a0d66),url('../assets/ambiente.png') center/cover;position:relative}.hero-inner{max-width:700px}.eyebrow{font:500 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:5px;color:var(--gold)}.crest{font-size:50px;color:var(--gold);margin-bottom:25px}.crest:before,.crest:after{content:'❧';font-size:32px;margin:0 18px}h1{font-family:'Great Vibes',cursive;font-size:clamp(86px,16vw,155px);font-weight:400;margin:16px 0 20px;line-height:1.15} .intro{font-size:clamp(21px,3vw,27px);font-style:italic;line-height:1.5;max-width:530px;margin:0 auto 30px}.date{font-size:19px;letter-spacing:4px;text-transform:uppercase}.button{display:inline-block;border:1px solid var(--gold);padding:16px 25px;text-decoration:none;font:500 10px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;background:transparent;color:inherit;cursor:pointer;transition:.2s}.button:hover{background:var(--gold);color:var(--ink)}.hero .button{margin-top:24px}.scroll{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);text-decoration:none;font-size:25px;color:var(--gold)}nav{position:sticky;top:0;z-index:5;background:#160f10f5;border-bottom:1px solid #ba945840;display:flex;justify-content:center;gap:30px;padding:20px 12px}nav a{font:10px Montserrat,sans-serif;text-transform:uppercase;text-decoration:none;letter-spacing:2px}section{scroll-margin-top:65px}.section{padding:90px 24px;text-align:center}.container{max-width:1000px;margin:auto}.ornament{color:var(--gold);font-size:28px;margin:18px 0}h2{font-size:clamp(42px,6vw,60px);font-weight:400;margin:12px 0 20px}p{font-size:23px;line-height:1.55}.countdown{display:flex;justify-content:center;gap:clamp(18px,5vw,60px);margin:40px 0}.countdown b{font-size:clamp(36px,6vw,60px);font-weight:400;display:block}.countdown span{font:9px Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.light{background:#eee1c9;color:#301c1a;background-image:radial-gradient(ellipse at top,#fff7e4aa,transparent)}.venues{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.venue{padding:0 15px}.venue+.venue{border-left:1px solid #96744366}.venue h3{font-size:42px;font-weight:400;margin:10px}.time{color:#672433;font-size:30px}.venue h4{font-weight:600;font-size:28px;margin:20px 0 5px}.venue p{font-size:20px;margin:8px 0 27px}.light .button{border-color:#84633b}.dress{border-top:1px solid #ba945850;margin-top:65px;padding-top:35px}.dress p{font-style:italic;font-size:30px}.rose{width:10px;height:10px;background:var(--wine);transform:rotate(45deg);margin:0 auto 30px;box-shadow:0 0 30px #9a354b}.memories{background:linear-gradient(#170e10eb,#170e10eb),url('../assets/ambiente.png') center/cover}.memories p{max-width:590px;margin:20px auto}.poster{display:block;width:min(100%,420px);margin:40px auto 20px;border:1px solid #ba945866;cursor:zoom-in;box-shadow:0 20px 70px #0008}.subtle{font:11px Montserrat,sans-serif!important;line-height:1.8!important;color:#c4b3a1}.closing{padding:70px 24px;text-align:center;border-top:1px solid #ba945833}.closing p{font-size:31px;font-style:italic}.seal{display:grid;place-items:center;border:3px double #ba9458;border-radius:50%;background:#4a1423;width:75px;height:75px;margin:30px auto;font-size:40px;color:var(--gold)}footer{text-align:center;font:9px Montserrat,sans-serif;letter-spacing:3px;padding:20px;color:var(--gold)}dialog{border:0;padding:0;background:transparent;max-width:95vw;max-height:95svh}dialog::backdrop{background:#000e}dialog img{max-width:90vw;max-height:88svh;display:block}dialog button{position:fixed;right:20px;top:15px;background:#170e10;border:1px solid var(--gold);border-radius:50%;color:white;width:42px;height:42px;font-size:26px;cursor:pointer}:focus-visible{outline:2px solid #dbb575;outline-offset:5px}@media(max-width:600px){.hero{padding:90px 26px 80px}.hero-inner{width:100%}.crest{margin-bottom:16px}.intro{max-width:320px}.date{font-size:15px;letter-spacing:2px}.venues{grid-template-columns:1fr;gap:45px}.venue+.venue{border-left:0;border-top:1px solid #96744366;padding-top:40px}nav{gap:14px}nav a{font-size:9px;letter-spacing:1px}.section{padding:65px 24px}.countdown{gap:22px}.countdown span{letter-spacing:1px}.closing p{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.crest-art{width:210px;height:210px;overflow:hidden;margin:-40px auto 0;position:relative}.crest-art img{position:absolute;width:100%;height:200%;object-fit:fill;top:0;left:0}.seal-art{width:145px;height:145px;overflow:hidden;margin:0 auto 20px;position:relative}.seal-art img{position:absolute;width:100%;height:200%;object-fit:fill;bottom:0;left:0}.dress-icons{display:flex;gap:25px;justify-content:center;align-items:center;color:#84633b;margin:30px auto 8px}.dress-icons svg{width:54px;height:74px}.dress-icons span{height:40px;width:1px;background:#84633b55}@media(max-width:600px){.crest-art{width:170px;height:170px;margin-top:-35px}.hero{padding-top:75px}}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:70px;padding:65px max(6vw,24px) 80px;min-height:100svh}.hero-inner{max-width:600px;justify-self:center}.hero .crest-art{width:155px;height:155px;margin:-15px auto 0}.hero h1{font-size:clamp(90px,10vw,145px);margin:6px 0 12px}.hero .intro{font-size:24px;line-height:1.45}.hero-photo{max-width:450px;width:100%;position:relative;justify-self:center;padding:9px;border:1px solid #ba945888;box-shadow:0 20px 90px #0009;transform:rotate(2deg)}.portrait{display:block;width:100%;height:100%;overflow:hidden}.hero-photo .portrait{height:auto;aspect-ratio:510/605}.photo-caption{display:block;padding:14px 4px 5px;font-style:italic;font-size:18px;color:var(--ivory)}.drop-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto}.drop-divider span{display:block;width:75px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.drop-divider span:last-child{transform:rotate(180deg)}.drop-divider i{display:block;width:13px;height:19px;border-radius:70% 30% 65% 35%;transform:rotate(-45deg);background:radial-gradient(ellipse at 30% 30%,#d17b84 0,#752233 30%,#300612 78%);border:1px solid #bd945b;box-shadow:0 2px 8px #0007}.gallery-filters{display:flex;justify-content:center;gap:25px;margin:35px 0}.gallery-filters button{color:#e6d8c1;background:none;border:0;border-bottom:1px solid transparent;padding:12px 8px;font:11px Montserrat,sans-serif;letter-spacing:2px;cursor:pointer}.gallery-filters button.active{color:var(--gold);border-color:var(--gold)}.photo-gallery{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px auto 60px;max-width:1100px;text-align:left}.gallery-photo{appearance:none;border:1px solid #ba945855;padding:7px;background:#150d10;color:var(--ivory);cursor:zoom-in;overflow:hidden;transition:transform .4s,border-color .4s;align-self:start}.gallery-photo:hover{transform:translateY(-5px);border-color:var(--gold)}.gallery-photo svg{aspect-ratio:4/5;height:auto}.gallery-photo span{display:block;font-style:italic;text-align:center;padding:15px 8px 10px;font-size:19px}.photo-2{grid-column:span 2}.photo-2 svg{aspect-ratio:603/540}.photo-7{grid-column:span 2}.photo-7 svg{aspect-ratio:518/458}.gallery-photo[hidden]{display:none}.memories .container{max-width:1100px}.invitation-details{margin:50px auto 0}.invitation-details summary{cursor:pointer;font:11px Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold);padding:15px}.opening{position:fixed;inset:0;z-index:50;display:grid;place-items:center;text-align:center;background:radial-gradient(ellipse,#2a1519,#100c0e 75%);transition:opacity 1s,visibility 1s}.opening:before,.opening:after{content:'';position:absolute;inset:18px;border:1px solid #ba945855;pointer-events:none}.opening:after{inset:27px;border-color:#ba945822}.opening-content{padding:45px 25px}.opening .crest-art{margin:25px auto 0;width:200px;height:200px}.opening-name{font:100px 'Great Vibes',cursive;line-height:1.1}.opening p{font-size:20px;letter-spacing:4px;margin:8px auto 25px}.opening-date{display:block;color:var(--gold);letter-spacing:5px;font-size:14px;margin:35px auto 0}.opening.opened{opacity:0;visibility:hidden;pointer-events:none}.opening.opened .opening-content{transform:scale(1.04);transition:transform 1.2s}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .9s,transform .9s}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}#photo-viewer{background:#160f10;padding:12px;color:var(--ivory);width:min(90vw,650px);border:1px solid #ba945877}#photo-enlarged svg{height:70svh;width:100%;object-fit:contain}#photo-label{text-align:center;font-size:20px;margin:10px}.photo-nav{display:flex;justify-content:center;gap:25px}.photo-nav button{position:static;width:40px;height:40px}#photo-viewer #close-photo{z-index:2}.closing .seal-art{width:170px;height:170px}.opening-name,.opening-content,.hero-inner{position:relative}.opening .eyebrow{line-height:1.8}body.gated{overflow:hidden}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:35px;padding:45px 25px 70px}.hero-photo{max-width:310px;transform:none}.hero h1{font-size:100px}.hero .intro{font-size:22px;max-width:340px}.hero .crest-art{width:140px;height:140px;margin:0 auto}.hero .eyebrow{font-size:10px}.hero .date{font-size:16px}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-2,.photo-7{grid-column:span 2}.gallery-photo span{font-size:16px;padding:12px 3px}.gallery-filters{gap:15px}.gallery-filters button{font-size:10px;letter-spacing:1px}.opening-name{font-size:88px}.photo-gallery .gallery-photo{padding:5px}nav{gap:13px}.opening .crest-art{width:180px;height:180px}}@media(prefers-reduced-motion:reduce){.opening,.opening-content,.reveal,.motion-ready .reveal,.gallery-photo{transition:none!important;transform:none!important}.motion-ready .reveal{opacity:1}.opening.opened{display:none}}

.hero{display:flex;isolation:isolate;overflow:hidden;min-height:100svh;padding:65px 24px 80px;align-items:end}.hero-backdrop{position:absolute;inset:0;z-index:-2;background:#180f10}.hero-backdrop svg{height:100%;width:100%;opacity:.85;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#180f10 0%,#180f10a8 24%,#180f1010 75%)}.hero-inner{max-width:680px;text-shadow:0 2px 20px #0009}.hero .crest-art{width:120px;height:120px}.hero .intro{max-width:550px;font-size:22px}.hero h1{margin:0;font-size:clamp(95px,12vw,150px)}.hero .button{background:#180f1070}.hero .scroll{bottom:12px}.dress-section{background:radial-gradient(ellipse at top,#43212b,#180f10 75%)}.dress{border:0;margin:0;padding:0}.dress h2{margin-bottom:40px}.dress-icons{color:var(--gold);gap:45px}.dress-icons svg{width:85px;height:115px}.dress-icons span{height:85px}.dress p{font-style:normal;font-size:36px;margin:26px 0 0}.timeline{list-style:none;padding:0;max-width:570px;margin:50px auto 0;text-align:left;position:relative}.timeline:before{content:'';position:absolute;left:45px;top:45px;bottom:50px;width:1px;background:#ba945877}.timeline li{position:relative;display:flex;align-items:center;gap:35px;padding:20px 0 35px}.event-icon{width:92px;height:92px;flex-shrink:0;background:#eee1c9;border:1px solid #ba945888;border-radius:50%;padding:18px;position:relative;color:#84633b}.event-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.timeline time{font:500 12px Montserrat,sans-serif;letter-spacing:2px;color:#672433}.timeline h3{font-size:32px;font-weight:400;margin:10px 0 4px}.timeline p{font-size:21px;margin:0}.album{max-width:740px;margin:25px auto}.album-main{display:flex;align-items:center;gap:18px}.album-arrow{border:0;background:none;color:var(--gold);font-size:44px;cursor:pointer;padding:8px}.album-main #album-expand{border:1px solid #ba945866;background:#120b0d;padding:8px;flex:1;min-width:0;cursor:zoom-in;box-shadow:0 20px 70px #0005}#album-image{display:block;aspect-ratio:4/5;overflow:hidden}#album-image svg{height:100%;width:100%;animation:photo-arrive .8s both} @keyframes photo-arrive{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}.album-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 55px}.album-caption p{font-style:italic;font-size:23px;margin:8px 0}.album-pause{font:10px Montserrat,sans-serif;letter-spacing:1px;border:0;border-bottom:1px solid #ba945866;background:none;color:var(--gold);cursor:pointer;padding:8px}.photo-gallery{display:flex;gap:9px;overflow-x:auto;margin:12px 50px 30px;padding:5px 2px 12px;scrollbar-color:#ba9458 #180f10;scrollbar-width:thin}.gallery-photo{flex:0 0 74px;padding:3px;opacity:.55;align-self:stretch;border-color:transparent}.gallery-photo svg{width:100%;height:85px;aspect-ratio:auto}.gallery-photo span{display:none}.gallery-photo.selected{opacity:1;border-color:var(--gold)}.gallery-photo:hover{transform:none;opacity:1}.gallery-photo[hidden]{display:none}.motion-ready .reveal{transform:translateY(30px);transition:opacity 1.1s,transform 1.1s}.motion-ready .venue:nth-child(2){transform:translateX(25px)}.motion-ready .reveal.visible{transform:none}nav{flex-wrap:wrap;gap:20px}@media(max-width:700px){.hero{min-height:100svh;padding:260px 22px 65px}.hero-backdrop svg{width:100%;height:100%;}.hero .crest-art{width:100px;height:100px}.hero .intro{font-size:21px}.hero h1{font-size:100px}.hero .date{font-size:15px}.hero-inner .drop-divider{margin:18px auto}.album-main{gap:0}.album-arrow{font-size:34px;padding:5px}.album-caption{padding:8px 27px}.album-caption p{font-size:20px}.photo-gallery{margin:10px 25px 25px;gap:7px}.gallery-photo{flex-basis:61px}.gallery-photo svg{height:76px}.timeline li{gap:23px}.timeline h3{font-size:28px}.timeline p{font-size:19px}.timeline time{font-size:11px}nav{gap:13px;padding:17px 8px}nav a{font-size:8px;letter-spacing:.7px}.dress-icons{gap:35px}.gallery-filters{gap:12px}}@media(prefers-reduced-motion:reduce){#album-image svg{animation:none}.motion-ready .venue:nth-child(2){transform:none}}

.interlude-photo{padding:65px 24px;background:radial-gradient(ellipse at center,#45212b,#180f10 75%)}.interlude-frame{max-width:460px;margin:auto;padding:9px;border:1px solid #ba945888;box-shadow:0 20px 70px #0006}.interlude-frame svg{width:100%;height:auto;aspect-ratio:952/1653;display:block}.timeline{max-width:700px;margin:55px auto 0}.timeline:before{left:50%;top:45px;bottom:45px;background:linear-gradient(transparent,#ba9458 8%,#ba9458 92%,transparent)}.timeline li{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:25px;min-height:160px;padding:0 0 48px}.timeline li:last-child{padding-bottom:0;min-height:92px}.event-icon{grid-column:2;grid-row:1;background:#eee1c9;border:3px double #ba9458}.event-copy{grid-column:3;grid-row:1}.timeline li:nth-child(even) .event-copy{grid-column:1;text-align:right}.timeline li:nth-child(even) .event-icon{background:#672433;color:#ead9b8}.timeline h3{font-size:30px;margin:8px 0}.timeline time{font-size:10px;letter-spacing:1px}@media(max-width:600px){.timeline li{grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);gap:12px;min-height:142px;padding-bottom:48px}.event-icon{width:68px;height:68px;padding:12px}.timeline h3{font-size:23px;overflow-wrap:normal}.timeline time{font-size:9px;letter-spacing:0}.timeline:before{top:34px;bottom:34px}.timeline li:last-child{min-height:68px}.interlude-photo{padding:45px 30px}.interlude-frame{max-width:360px}}
#music-toggle{position:fixed;right:18px;bottom:18px;z-index:12;background:#180f10e8;padding:12px 16px}#music-toggle[hidden]{display:none}.reserved-color{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px auto 0;max-width:480px;padding:22px 18px;border-top:1px solid #ba945844}.dress .reserved-color p{font-size:22px;line-height:1.45;margin:0;font-style:italic}.wine-swatch{width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#672433;border:1px solid #d0ac71;box-shadow:0 0 0 5px #ba945815}.gift-section{background:radial-gradient(ellipse at top,#39202a,#180f10 80%)}.gift-intro{max-width:660px;margin:25px auto 40px}.gift-card{max-width:540px;margin:35px auto 0;border:1px solid #ba945866;padding:38px 28px;background:#ba945807;box-shadow:0 15px 45px #0003}.gift-card svg{display:block;width:125px;height:95px;margin:auto;color:var(--gold)}.gift-card h3{font-size:33px;font-weight:400;margin:18px 0 14px}.gift-card p{font-size:21px;margin:0;line-height:1.6}@media(max-width:600px){.dress .reserved-color p{font-size:20px}.gift-card{padding:30px 22px}.gift-intro{font-size:22px}}
