@import "https://fonts.googleapis.com/css2?family=Alex+Brush&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap";:root{--color-primary:#2e3a34;--color-text:#4b4f49;--color-muted:#8a8d84;--color-accent:#6e8b7b;--color-accent-2:#9cb29f;--color-accent-soft:#e4ebe2;--color-on-accent:#fff;--color-background:#faf7f2;--color-surface:#fff;--color-card:#fff;--card-border:1px solid #2e3a3414;--color-border:#2e3a341a;--color-cover-text:#fff;--cover-overlay:linear-gradient(to bottom, #141a1740, #141a1799);--shadow-card:0 18px 50px #2e3a3414;--shadow-soft:0 8px 24px #2e3a340f;--radius:16px;--font-heading:"Cormorant Garamond", serif;--font-script:"Alex Brush", cursive;--font-body:"Inter", sans-serif;--names-weight:400}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);font-weight:500;line-height:1.15}::selection{background:var(--color-accent);color:var(--color-on-accent)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-accent);border:2px solid var(--color-background);border-radius:10px}.section-container{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);display:flex}.text-center{text-align:center}.section-title{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.01em;margin-bottom:2rem;font-size:clamp(2.2rem,6vw,3.5rem);font-weight:600;position:relative}.section-title:after{content:"";background-color:var(--color-accent);width:60px;height:2px;position:absolute;bottom:-.6rem;left:0}.section-title.text-center:after{left:50%;transform:translate(-50%)}.ornament{color:var(--color-accent);justify-content:center;align-items:center;gap:.9rem;display:flex}.ornament:before,.ornament:after{content:"";opacity:.6;background:currentColor;width:clamp(2.5rem,10vw,5rem);height:1px}.ornament span{font-size:.7rem;display:inline-block;transform:rotate(45deg)}.cover-section{justify-content:center;align-items:center;width:100%;height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.cover-image-wrapper{z-index:1;position:absolute;inset:0}.cover-image{object-fit:cover;object-position:center;width:100%;height:100%;animation:18s ease-out forwards cover-zoom;transform:scale(1.05)}@keyframes cover-zoom{to{transform:scale(1)}}.cover-overlay{background:var(--cover-overlay);position:absolute;inset:0}.cover-content{z-index:2;text-align:center;color:var(--color-cover-text);padding:2rem;position:relative}.cover-subtitle{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;opacity:.85;color:var(--color-cover-text);margin-bottom:1.25rem;font-size:clamp(.78rem,2.2vw,1rem)}.cover-names{font-family:var(--font-script);font-size:clamp(3.4rem,13vw,7rem);font-weight:var(--names-weight);color:var(--color-cover-text);text-shadow:0 4px 24px #00000059;margin-bottom:1.5rem;line-height:1.05}.cover-date-row{justify-content:center;align-items:center;gap:1.1rem;display:flex}.cover-rule{background:var(--color-cover-text);opacity:.7;width:clamp(1.5rem,8vw,3.5rem);height:1px}.cover-date{font-family:var(--font-heading);letter-spacing:.08em;color:var(--color-cover-text);white-space:nowrap;font-size:clamp(1.1rem,4vw,2rem);font-weight:500}.rsvp-block{margin-top:2.75rem}.btn-rsvp{-webkit-backdrop-filter:blur(10px);color:var(--color-cover-text);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;background-color:#ffffff26;border:1px solid #fff6;border-radius:999px;padding:1rem 2.5rem;font-size:.85rem;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 26px #0003}.cover-scroll{z-index:3;cursor:pointer;color:var(--color-cover-text);opacity:.8;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;transition:opacity .3s;display:flex;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}.cover-scroll:hover{opacity:1}.cover-scroll-text{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;font-size:.65rem}.cover-scroll-arrow{font-size:1.3rem;line-height:.6;animation:2s ease-in-out infinite cover-bounce}@keyframes cover-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (width<=768px){.cover-names{margin-bottom:1.2rem}.rsvp-block{margin-top:2rem}}@media (prefers-reduced-motion:reduce){.cover-image,.cover-scroll-arrow{animation:none!important}.cover-image{transform:scale(1)}}.quote-section{background-color:var(--color-background);color:var(--color-text)}.quote-content{text-align:center;background:var(--color-card);border:var(--card-border);border-radius:var(--radius);max-width:820px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3.5rem);position:relative}.quote-icon{color:var(--color-accent);opacity:.35;font-size:clamp(3.5rem,9vw,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:clamp(1.05rem,2.4vw,1.45rem);font-style:italic;line-height:1.85}.quote-content footer{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);font-size:.85rem;font-weight:500}.ceremony-section{background-color:var(--color-surface);flex-direction:row;padding:0;display:flex}.ceremony-image-wrapper{background-color:var(--color-surface);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:clamp(2.5rem,6vw,5rem);display:flex}.ceremony-illustration{mix-blend-mode:multiply;width:100%;max-width:460px;height:auto}.sketch-caption{font-family:var(--font-script);color:var(--color-accent);font-size:clamp(1.9rem,4vw,2.6rem);line-height:1}.ceremony-content{background-color:var(--color-surface);flex-direction:column;flex:1;justify-content:center;padding:clamp(2.5rem,6vw,4.5rem);display:flex}.ceremony-details h3{color:var(--color-primary);margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2rem)}.ceremony-time{font-family:var(--font-body);color:var(--color-accent);letter-spacing:.02em;margin-bottom:2rem;font-size:1.15rem;font-weight:500}.ceremony-actions{flex-wrap:wrap;gap:1rem;margin-bottom:3rem;display:flex}.btn-action{letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:1rem 2rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-maps{background-color:var(--color-primary);color:var(--color-surface)}.btn-maps:hover{background-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.btn-calendar{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.btn-calendar:hover{background-color:var(--color-primary);color:var(--color-surface);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.parking-info{background:var(--color-background);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);border-left:4px solid var(--color-accent);padding:1.75rem}.parking-info h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:.5rem;font-size:.78rem}.parking-info p{color:var(--color-text);font-size:1rem;line-height:1.6}@media (width<=900px){.ceremony-section{flex-direction:column}.ceremony-image-wrapper{gap:.5rem;min-height:0;padding:clamp(2.5rem,8vw,3.5rem) 1.5rem 1rem}.ceremony-illustration{max-width:300px}.ceremony-content{min-height:auto;padding:clamp(2rem,8vw,3.5rem) clamp(1.5rem,6vw,2.5rem) clamp(2.5rem,9vw,4rem)}}.reception-section{background-color:var(--color-background);flex-direction:row;padding:0;display:flex}.reception-image-wrapper{background-color:var(--color-background);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:clamp(2.5rem,6vw,5rem);display:flex}.reception-illustration{mix-blend-mode:multiply;width:100%;max-width:480px;height:auto}.reception-content{background-color:var(--color-background);flex-direction:column;flex:1;justify-content:center;padding:clamp(2.5rem,6vw,4.5rem);display:flex}.reception-details h3{color:var(--color-primary);margin-bottom:.5rem;font-size:clamp(1.8rem,5vw,2.5rem)}.reception-location{font-family:var(--font-body);color:var(--color-accent);letter-spacing:.02em;margin-bottom:3rem;font-size:1.15rem;font-weight:500}.reception-parking{border-left:none;border-right:4px solid var(--color-accent);background-color:var(--color-surface)}.parking-list{margin-top:1rem;padding:0;list-style:none}.parking-list li{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:.8rem 0;font-size:1.05rem}.parking-list li:last-child{border-bottom:none}.small-text{color:var(--color-muted);margin-left:.5rem;font-size:.85rem;font-style:italic}@media (width<=900px){.reception-section{flex-direction:column-reverse}.reception-image-wrapper{gap:.5rem;min-height:0;padding:clamp(2.5rem,8vw,3.5rem) 1.5rem 1rem}.reception-illustration{max-width:300px}.reception-content{min-height:auto;padding:clamp(2rem,8vw,3.5rem) clamp(1.5rem,6vw,2.5rem) clamp(2.5rem,9vw,4rem)}}.registry-section{background-color:var(--color-background)}.registry-card{background:var(--color-card);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);width:100%;max-width:900px;padding:clamp(2rem,6vw,4rem)}.registry-intro{text-align:center;color:var(--color-text);max-width:720px;margin:0 auto 3.5rem;font-size:clamp(1rem,2.4vw,1.15rem)}.registry-options{gap:2.5rem;display:flex}.registry-option{text-align:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);flex:1;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s}.registry-option:hover{box-shadow:var(--shadow-soft);transform:translateY(-5px)}.option-icon{margin-bottom:1rem;font-size:2.75rem}.registry-option h3{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:1.5rem;font-size:clamp(1.4rem,3.5vw,1.8rem)}.iban{background:var(--color-accent-soft);color:var(--color-primary);word-break:break-all;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-family:monospace;font-size:1rem}.intestazione,.agenzia{color:var(--color-muted);margin-bottom:1.75rem;font-size:.95rem}.btn-copy{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--color-accent);border:1px solid var(--color-accent);background:0 0;border-radius:999px;padding:.6rem 1.5rem;font-size:.78rem;transition:all .25s}.btn-copy:hover{background:var(--color-accent);color:var(--color-on-accent)}.btn-registry{background-color:var(--color-accent);color:var(--color-on-accent);letter-spacing:.08em;border-radius:999px;padding:.85rem 2rem;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-block}.btn-registry:hover{background-color:var(--color-primary);color:var(--color-surface);transform:translateY(-2px)}@media (width<=768px){.registry-options{flex-direction:column;gap:1.5rem}}.rsvp-section{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100svh;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);display:flex}.rsvp-card{background:var(--color-card);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);width:100%;max-width:700px;padding:clamp(2rem,6vw,4rem)}.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:1.05rem}.form-group input,.form-group textarea{font-family:var(--font-body);border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);border-radius:10px;padding:.9rem 1rem;font-size:1rem;transition:all .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-muted);opacity:.7}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);outline:none}.form-group textarea{resize:vertical}.rsvp-form .btn-rsvp{background-color:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-heading);letter-spacing:.05em;cursor:pointer;-webkit-backdrop-filter:none;border:none;border-radius:999px;margin-top:1rem;padding:1rem 3rem;font-size:1.1rem;transition:background-color .3s,transform .3s,box-shadow .3s;display:inline-block}.rsvp-form .btn-rsvp:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-surface);transform:translateY(-2px)}.rsvp-form .btn-rsvp:disabled{background:var(--color-muted);color:var(--color-surface);cursor:not-allowed;box-shadow:none}.rsvp-error{color:#b3261e;text-align:center;background-color:#fdecec;border-radius:10px;padding:1rem;font-size:.95rem}.rsvp-success-message{color:var(--color-text);margin-top:1.5rem;font-size:1.2rem}@media (width<=768px){.form-row{flex-direction:column;gap:1.5rem}}.gallery-section{background-color:var(--color-surface)}.gallery-subtitle{font-family:var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent);text-align:center;margin-bottom:.75rem;font-size:.78rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;width:100%;max-width:1200px;margin-top:3rem;display:grid}.gallery-item{border-radius:var(--radius);aspect-ratio:1;box-shadow:var(--shadow-soft);transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-card);transform:translateY(-4px)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.gallery-item:hover img{transform:scale(1.08)}.gallery-note{font-family:var(--font-script);color:var(--color-accent);text-align:center;margin-top:clamp(3rem,8vw,5rem);font-size:clamp(2.5rem,8vw,4rem);line-height:1.1}.gallery-footer-date{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-muted);text-align:center;margin-top:.5rem;font-size:.8rem}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}}.vertical-wrapper{flex-direction:column;width:100%;display:flex;overflow-x:hidden}
