@import "https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500&display=swap";:root{--color-primary:#2c3e50;--color-accent:#8ba989;--color-background:#fafafa;--font-heading:"Cormorant Garamond", serif;--font-script:"Alex Brush", cursive;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500}.section-container{flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:4rem 2rem;display:flex}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{opacity:0;animation:1s ease-out forwards fade-in-up}.landing-page{background-color:var(--color-background);width:100vw;height:100vh;font-family:var(--font-body);justify-content:center;align-items:center;display:flex}.landing-content{text-align:center;background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 20px #0000000d}.landing-content h1{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem;font-size:3rem}.landing-date{font-family:var(--font-script);color:var(--color-accent);margin-bottom:2rem;font-size:2rem}.landing-options{flex-direction:column;gap:1rem;display:flex}.btn-option{background-color:var(--color-primary);color:#fff;border-radius:4px;padding:1rem 2rem;font-weight:500;text-decoration:none;transition:background-color .3s}.btn-option:hover{background-color:var(--color-accent)}.cover-section{justify-content:center;align-items:center;width:100vw;height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.cover-image-wrapper{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.cover-image{object-fit:cover;object-position:center;width:100%;height:100%}.cover-overlay{background:linear-gradient(#0003,#0009);width:100%;height:100%;position:absolute;top:0;left:0}.cover-content{z-index:2;text-align:center;color:#fff;padding:2rem;animation:2s ease-out forwards fadeIn;position:relative}.cover-subtitle{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:1rem;font-size:1rem}.cover-names{font-family:var(--font-script);text-shadow:2px 2px 8px #0000004d;margin-bottom:1rem;font-size:5rem;font-weight:400;line-height:1.1}.cover-date{font-family:var(--font-heading);letter-spacing:.05em;margin-bottom:3rem;font-size:2rem;font-weight:500}.rsvp-block{margin-top:2rem}.btn-rsvp{-webkit-backdrop-filter:blur(10px);color:#fff;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;background-color:#ffffff26;border:1px solid #ffffff4d;border-radius:30px;padding:1rem 2.5rem;font-size:.9rem;text-decoration:none;transition:all .4s;display:inline-block}.btn-rsvp:hover{color:var(--color-primary);background-color:#fff;transform:translateY(-2px);box-shadow:0 10px 20px #00000026}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.cover-names{font-size:3.5rem}.cover-date{font-size:1.5rem}}.quote-section{background-color:var(--color-background);color:var(--color-primary)}.quote-content{text-align:center;background:#fff;border-radius:20px;max-width:800px;padding:3rem 2rem;position:relative;box-shadow:0 20px 40px #0000000a}.quote-icon{color:var(--color-accent);opacity:.3;font-size:5rem;line-height:1;font-family:var(--font-heading);margin-bottom:-1rem}.quote-content blockquote{position:relative}.quote-content p{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:2rem;font-size:1.4rem;font-style:italic;line-height:1.8}.quote-content footer{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:1rem;font-weight:500}@media (width<=768px){.quote-content p{font-size:1.1rem}}.ceremony-section{background-color:#fff;flex-direction:row;padding:0;display:flex}.ceremony-image-wrapper{flex:1;height:100vh;overflow:hidden}.ceremony-illustration{object-fit:contain;mix-blend-mode:multiply;opacity:0;width:100%;height:100%;padding:4rem;animation:1.5s ease-out .3s forwards fade-in-up}.ceremony-content{background-color:var(--color-background);flex-direction:column;flex:1;justify-content:center;padding:4rem;display:flex}.section-title{color:var(--color-primary);margin-bottom:2rem;font-size:3.5rem;position:relative}.section-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:-10px;left:0}.ceremony-details h3{margin-bottom:.5rem;font-size:2rem}.ceremony-time{font-family:var(--font-body);color:var(--color-accent);margin-bottom:2rem;font-size:1.2rem;font-weight:500}.btn-maps{background-color:var(--color-primary);color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;margin-bottom:3rem;padding:1rem 2rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-block}.btn-maps:hover{background-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.parking-info{border-left:4px solid var(--color-accent);background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 15px #00000008}.parking-info h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem;font-size:.85rem}.parking-info p{font-size:1rem;line-height:1.6}@media (width<=900px){.ceremony-section{flex-direction:column}.ceremony-image-wrapper{height:40vh}.ceremony-content{height:60vh;padding:2rem}.section-title{font-size:2.5rem}}.reception-section{background-color:var(--color-background);flex-direction:row;padding:0;display:flex}.reception-image-wrapper{flex:1;height:100vh;overflow:hidden}.reception-illustration{object-fit:contain;mix-blend-mode:multiply;opacity:0;width:100%;height:100%;padding:4rem;animation:1.5s ease-out .3s forwards fade-in-up}.reception-content{background-color:#fff;flex-direction:column;flex:1;justify-content:center;padding:4rem;display:flex}.reception-details h3{margin-bottom:.5rem;font-size:2.5rem}.reception-location{font-family:var(--font-body);color:var(--color-accent);margin-bottom:3rem;font-size:1.2rem;font-weight:500}.reception-parking{border-left:none;border-right:4px solid var(--color-accent);background-color:var(--color-background)}.parking-list{margin-top:1rem;padding:0;list-style:none}.parking-list li{border-bottom:1px solid #0000000d;padding:.8rem 0;font-size:1.1rem}.parking-list li:last-child{border-bottom:none}.small-text{color:#666;margin-left:.5rem;font-size:.85rem;font-style:italic}@media (width<=900px){.reception-section{flex-direction:column-reverse}.reception-image-wrapper{height:40vh}.reception-content{height:60vh;padding:2rem}}.registry-section{background-color:var(--color-background)}.registry-card{background:#fff;border-radius:16px;width:100%;max-width:900px;padding:4rem;box-shadow:0 10px 40px #0000000d}.text-center{text-align:center}.registry-intro{text-align:center;color:#555;max-width:700px;margin-bottom:4rem;margin-left:auto;margin-right:auto;font-size:1.1rem}.registry-options{gap:3rem;display:flex}.registry-option{text-align:center;background:var(--color-background);border-radius:12px;flex:1;padding:2rem;transition:transform .3s}.registry-option:hover{transform:translateY(-5px)}.option-icon{margin-bottom:1rem;font-size:3rem}.registry-option h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1.5rem;font-size:1.8rem}.iban{word-break:break-all;background:#0000000d;border-radius:4px;margin-bottom:1rem;padding:.5rem 1rem;font-family:monospace;font-size:1.1rem}.intestazione,.agenzia{color:#666;margin-bottom:2rem;font-size:.95rem}.btn-registry{background-color:var(--color-accent);color:#fff;letter-spacing:.05em;border-radius:30px;padding:.8rem 2rem;font-size:.9rem;text-decoration:none;transition:background-color .3s;display:inline-block}.btn-registry:hover{background-color:var(--color-primary)}@media (width<=768px){.registry-options{flex-direction:column}.registry-card{padding:2rem}}.rsvp-section{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:4rem 2rem;display:flex}.rsvp-card{background:#fff;border-radius:16px;width:100%;max-width:700px;padding:4rem;box-shadow:0 10px 40px #0000000d}.rsvp-form{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.form-row{gap:1.5rem;display:flex}.form-group{text-align:left;flex-direction:column;display:flex}.form-group.half{flex:1}.form-group label{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:.5rem;font-size:1rem}.form-group input,.form-group textarea{font-family:var(--font-body);color:#333;background-color:#fafafa;border:1px solid #ddd;border-radius:8px;padding:1rem;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(var(--color-accent-rgb), .1);background-color:#fff;outline:none}.form-group textarea{resize:vertical}.btn-rsvp{background-color:var(--color-accent);color:#fff;font-family:var(--font-heading);letter-spacing:.05em;cursor:pointer;border:none;border-radius:30px;margin-top:1rem;padding:1rem 3rem;font-size:1.1rem;transition:background-color .3s,transform .3s;display:inline-block}.btn-rsvp:hover:not(:disabled){background-color:var(--color-primary);transform:translateY(-2px)}.btn-rsvp:disabled{cursor:not-allowed;background-color:#ccc}.rsvp-error{color:#c62828;text-align:center;background-color:#ffebee;border-radius:8px;padding:1rem;font-size:.95rem}.rsvp-success-message{color:#555;margin-top:1.5rem;font-size:1.2rem}@media (width<=768px){.rsvp-card{padding:2rem}.form-row{flex-direction:column;gap:1.5rem}}.gallery-section{background-color:#fff}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;width:100%;max-width:1200px;margin-top:3rem;display:grid}.gallery-item{aspect-ratio:1;border-radius:8px;transition:transform .4s;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014}.gallery-item:hover{transform:scale(1.03)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.gallery-item:hover img{transform:scale(1.1)}.gallery-note{font-family:var(--font-script);color:var(--color-accent);margin-top:4rem;font-size:2.5rem}.vertical-wrapper{flex-direction:column;width:100vw;display:flex;overflow-x:hidden}
