@font-face{font-family:Celebration;src:url('assets/serif.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Celebration;src:url('assets/serif-italic.ttf') format('truetype');font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:Signature;src:url('assets/signature.ttf') format('truetype');font-display:swap}
:root{--navy:#092b50;--gold:#a7792d;--pale-gold:#ddbc80;--cream:#faf8f2;--muted:#62717e;--serif:Celebration,Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}body::before{content:'';position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:3;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b7893a;outline-offset:5px}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}em{font-style:italic;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.12;letter-spacing:-.04em}.eyebrow{font-size:.75rem;letter-spacing:.19em;font-weight:600;display:flex;align-items:center;gap:12px}.gold{color:var(--pale-gold)}.header{max-width:1320px;margin:auto;padding:28px 50px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #092b5017}.brand{display:flex;align-items:center;gap:14px;line-height:1.4;font-size:.72rem;font-weight:600;letter-spacing:.12em}.monogram{font-family:Georgia,serif;font-size:2.5rem;letter-spacing:-.25em;font-weight:400;border-right:1px solid #ad854148;padding-right:23px;line-height:1}.monogram span{color:var(--gold)}nav{display:flex;gap:32px;align-items:center;font-size:.875rem}nav a{padding:8px 0}.nav-video{border-bottom:1px solid var(--gold)}.nav-video span{margin-left:15px;color:var(--gold)}.hero{max-width:1320px;margin:auto;padding:74px 50px 78px;display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;overflow:hidden}.small-snow{color:var(--gold);font-size:1.4rem}h1{font-size:clamp(3.2rem,5.1vw,4.9rem);line-height:1.1;letter-spacing:-.055em;margin:24px 0}h1 em{white-space:nowrap}.hero-copy{color:var(--muted);line-height:1.85;font-size:1rem}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:15px 25px;border:0;border-radius:5px;font-size:.875rem;font-weight:500;transition:transform .25s,background .25s;line-height:1.4}.button:hover{transform:translateY(-3px)}.primary{background:var(--navy);color:#fff}.primary:hover{background:#134570}.button>span{font-size:1.3rem}.text-link{font-size:.85rem;border-bottom:1px solid #b9904e90;padding:8px 0;display:inline-block}.text-link span{color:var(--gold);margin-left:7px}.signature{font-family:Signature,'Brush Script MT',cursive;font-size:2.55rem;font-weight:400;line-height:1.3;margin-top:34px}.hero-art{position:relative;height:555px;isolation:isolate;margin-right:-7px}.hero-photo{position:absolute;inset:19px 23px 17px 20px;border-radius:49% 49% 4px 4px;overflow:hidden;box-shadow:0 25px 45px #092b5015;border:7px solid #fff}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(1.03)}.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#092b5055,transparent 28%)}.art-orbit{position:absolute;inset:0 2px 0 0;border:1px solid #b88e484f;border-radius:50% 50% 4px 4px;transform:rotate(5deg);z-index:-1}.floating-photo{position:absolute;padding:8px 8px 10px;background:white;box-shadow:0 10px 35px #092b5023;width:183px;animation:float 7s ease-in-out infinite}.floating-photo img{height:111px;width:100%;object-fit:cover}.floating-photo figcaption{font-family:var(--serif);font-style:italic;font-size:.85rem;padding:8px 2px 0;white-space:nowrap}.photo-one{left:-28px;top:37px;--rotation:-9deg;transform:rotate(-9deg)}.photo-two{right:-16px;bottom:45px;--rotation:8deg;transform:rotate(8deg);animation-delay:-3s}.photo-stamp{position:absolute;bottom:42px;left:43px;color:#fff}.photo-stamp span{font-size:.62rem;letter-spacing:.17em}.photo-stamp strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.2;margin-top:10px}.art-snow{position:absolute;color:var(--gold);font-size:2.9rem}.snow-one{right:7px;top:4px;animation:turn 30s linear infinite}.snow-two{bottom:1px;left:-15px;font-size:3.7rem}.event-strip{border-top:1px solid #a7792d40;border-bottom:1px solid #a7792d40;max-width:1220px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:25px}.strip-label{display:block;font-size:.67rem;letter-spacing:.13em;color:var(--muted);margin-bottom:6px}.event-strip strong{font-size:1rem;font-weight:500}.event-strip small{font-size:.875rem;color:var(--muted);font-weight:400}.strip-snow{color:var(--gold);font-size:1.8rem}.event-strip>a{font-size:.875rem}.event-strip>a span{margin-left:20px;color:var(--gold)}.film-section{margin-top:80px;background:var(--navy);color:white;padding:76px max(50px,calc((100vw - 1220px)/2)) 60px;position:relative}.film-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}.film-heading h2{margin-top:15px}.film-heading em{color:var(--pale-gold)}.film-heading>p{color:#cad4de;font-size:.875rem;line-height:1.8}.video-frame{position:relative;aspect-ratio:16/9;border:1px solid #d3b07866;border-radius:8px;overflow:hidden;background:#071b32;box-shadow:0 20px 60px #0002}video{display:block;width:100%;height:100%;object-fit:contain}.video-cover{position:absolute;inset:0;width:100%;border:0;color:white;background:linear-gradient(180deg,#092b5015,#04162cd9);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;transition:background .3s}.video-cover:hover{background:linear-gradient(180deg,#092b5000,#04162cb9)}.video-cover>span:nth-child(2){font-family:var(--serif);font-size:clamp(1.6rem,3.3vw,3rem);letter-spacing:.13em}.play-circle{border-radius:50%;width:77px;height:77px;display:grid;place-items:center;padding-left:5px;color:var(--navy);background:var(--pale-gold);font-size:1.6rem;box-shadow:0 0 0 12px #ffffff18;transition:transform .3s}.video-cover:hover .play-circle{transform:scale(1.09)}.video-subtitle{font-size:.9rem;color:#dae1e9}.video-cover[hidden]{display:none}.film-toolbar{padding:20px 0 29px;display:flex;align-items:center;justify-content:space-between;gap:16px}.film-detail{display:flex;align-items:center;gap:10px;color:#c6d1dc;font-size:.8rem}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--pale-gold)}.detail-divider{padding:0 7px;color:#54708a}.film-controls{display:flex;gap:28px;font-size:.8rem;align-items:center}.loop-toggle{display:flex;gap:9px;align-items:center;cursor:pointer;position:relative}.loop-toggle input{position:absolute;width:32px;height:18px;opacity:0}.toggle-track{width:32px;height:18px;border:1px solid #8e9daa;border-radius:16px;position:relative;transition:background .2s}.toggle-track:after{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#c8d3df;transition:transform .2s}.loop-toggle input:checked+.toggle-track{background:var(--pale-gold);border-color:var(--pale-gold)}.loop-toggle input:checked+.toggle-track:after{transform:translateX(14px);background:var(--navy)}.loop-toggle input:focus-visible+.toggle-track{outline:3px solid var(--pale-gold);outline-offset:3px}.screen-button{background:none;color:#e4eaf0;border:0;padding:4px}.screen-button span{font-size:1.1rem;vertical-align:middle;margin-right:5px}.download-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #c2a87345;padding-top:29px}.download-panel h3{font-size:1.9rem}.download-panel p{color:#bdccd9;font-size:.875rem;margin-top:3px}.download-actions{display:flex;align-items:center;gap:28px}.gold-button{position:relative;background:var(--pale-gold);color:var(--navy);display:grid;grid-template-columns:auto 1fr;column-gap:13px;row-gap:2px;padding:13px 23px;text-align:left}.gold-button>span{grid-row:1/3}.gold-button small{grid-column:2;font-size:.69rem;font-weight:400}.light-download{font-size:.8rem;border-bottom:1px solid #bba16e99;padding:5px 0}.light-download span{padding-left:16px;color:var(--pale-gold)}.light-download small{display:block;font-size:.7rem;color:#c6d3df}.video-error{padding-top:15px;color:#ffe0a7}.memories-section{padding:86px 0 70px;overflow:hidden}.section-heading{text-align:center;padding:0 25px}.section-heading .eyebrow{justify-content:center}.section-heading h2{margin:18px 0}.section-heading>p:last-child{color:var(--muted);font-size:.95rem}.memory-wall{margin-top:44px;display:flex;flex-direction:column;gap:20px}.memory-track{display:flex;width:max-content;gap:20px;animation:drift 85s linear infinite;padding:8px 0}.memory-track.reverse{animation-direction:reverse;animation-duration:100s;transform:translateX(-160px)}.memory-card{border:0;flex:0 0 225px;width:225px;padding:8px 8px 11px;background:#fff;box-shadow:0 4px 15px #092b5010;transform:rotate(var(--tilt));transition:transform .25s;position:relative}.memory-card:hover{transform:rotate(0) translateY(-5px)}.memory-card img{height:154px;width:100%;object-fit:cover}.memory-card span{font-family:var(--serif);font-style:italic;display:block;padding-top:9px;font-size:.9rem;color:var(--navy)}.memory-wall:hover .memory-track,.memory-wall:focus-within .memory-track,.memory-wall.paused .memory-track{animation-play-state:paused}.gallery-controls{max-width:1220px;margin:28px auto 0;padding:0 20px;display:flex;justify-content:center;gap:25px;align-items:center;color:var(--muted);font-size:.8rem}.gallery-controls button{background:none;border:0;border-bottom:1px solid #a7792d5c;color:var(--navy);padding:4px 0}.gallery-controls button span{padding-right:6px}.evening-section{border-top:1px solid #a7792d33;border-bottom:1px solid #a7792d33;max-width:1220px;margin:auto;padding:75px 0;display:grid;grid-template-columns:1fr 1fr;gap:100px}.evening-intro h2{margin:20px 0 24px}.evening-intro>p:not(.eyebrow){color:var(--muted);max-width:380px;font-size:.95rem}.venue{margin:27px 0 8px;display:flex;gap:14px;align-items:center}.venue>span{font-size:2.4rem;color:var(--gold);line-height:1}.venue strong{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:400}.venue div>span{display:block;color:var(--muted);font-size:.875rem}.poster-link{font-size:.85rem;margin-left:25px;color:var(--muted);display:inline-block;padding:8px 0}.program-label{font-size:.73rem;letter-spacing:.17em;color:var(--gold);padding:4px 0 14px}.program-item{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #092b501c;align-items:start}.program-number{font-family:var(--serif);font-size:1.5rem;color:var(--gold);line-height:1.3}.program-item h3{font-size:1.45rem;line-height:1.3}.program-item p{font-size:.875rem;color:var(--muted);margin-top:5px}.program-time{margin-left:auto;font-size:.8rem;color:var(--gold);padding-top:5px}.stay-note{font-size:.8rem;color:var(--muted);line-height:1.7;margin-top:22px;padding-left:42px}.thanks-section{text-align:center;padding:70px 25px 78px;background:radial-gradient(ellipse at center,#fff 10%,transparent 70%)}.thanks-snow{display:block;color:var(--gold);font-size:2.5rem;margin-bottom:20px;animation:turn 45s linear infinite}.thanks-section .eyebrow{justify-content:center}.thanks-section h2{margin:23px 0}.thanks-section>p:not(.eyebrow):not(.signature):not(.celebration-message){color:var(--muted);font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.75}.thanks-section .button{margin-top:27px}.thanks-section .signature{color:var(--gold);margin-top:20px}.celebration-message{min-height:24px;margin-top:8px;font-size:.9rem;color:var(--gold)}footer{border-top:1px solid #092b501c;max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 50px;font-size:.75rem;color:var(--muted)}.footer-brand{font-size:.65rem}.footer-brand .monogram{font-size:2rem}.footer-brand>span:last-child{letter-spacing:.08em}footer>a:last-child{color:var(--navy)}#confetti{position:fixed;inset:0;pointer-events:none;z-index:20;width:100%;height:100%}dialog{border:0;padding:20px;border-radius:8px;background:var(--cream);max-width:min(90vw,1100px);max-height:90vh;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#04182ceb;backdrop-filter:blur(6px)}dialog img{max-height:74vh;width:auto;object-fit:contain;margin:auto}dialog p{font-family:var(--serif);text-align:center;margin-top:12px;font-style:italic}.close-photo{position:absolute;top:25px;right:25px;border:0;border-radius:50%;width:40px;height:40px;font-size:1.7rem;line-height:1;background:white;color:var(--navy);box-shadow:0 2px 15px #0003}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:10px 15px;z-index:30}.skip-link:focus{top:10px}.reveal{transition:opacity .65s ease,transform .65s ease}.js-motion .reveal{opacity:0;transform:translateY(18px)}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0) rotate(var(--rotation))}50%{transform:translateY(-9px) rotate(var(--rotation))}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes drift{to{transform:translateX(-50%)}}
@media(min-width:1500px){.hero-art{height:580px}}
@media(max-width:1100px){.header{padding:24px 32px}.hero{padding:55px 32px 65px;gap:25px}.hero-art{height:500px}.floating-photo{width:145px}.floating-photo img{height:92px}.floating-photo figcaption{font-size:.7rem}.photo-one{left:-12px}.photo-two{right:-4px}.hero-actions{gap:15px;flex-wrap:wrap}.event-strip{margin:0 32px;gap:15px}.event-strip>a{display:none}.film-section{padding:60px 32px}.evening-section{margin:0 32px;gap:45px}.film-heading>p{max-width:300px}.download-actions{gap:20px}.photo-stamp{left:38px;bottom:42px}.photo-stamp strong{font-size:1.8rem}footer{padding:25px 32px}}
@media(max-width:760px){.header{padding:20px 22px}.brand{font-size:.62rem;gap:12px}.monogram{font-size:2.2rem}nav{gap:16px}nav>a:not(.nav-video){display:none}.nav-video{font-size:.8rem}.hero{padding:38px 24px 46px;grid-template-columns:1fr;gap:30px}.hero-text{text-align:center}.hero-text .eyebrow{justify-content:center;font-size:.69rem}h1{font-size:clamp(3rem,9.5vw,4.5rem);margin:20px 0;line-height:1.12}.hero-copy{font-size:.9rem}.hero-actions{justify-content:center;margin-top:23px;gap:17px}.signature{font-size:2.2rem;margin-top:24px}.hero-art{height:430px;max-width:430px;width:100%;margin:8px auto 0}.hero-photo{inset:15px 25px 12px}.hero-photo img{object-position:50% 45%}.photo-one{left:-5px;top:30px}.photo-two{right:-4px;bottom:30px}.photo-stamp{left:45px;bottom:42px}.art-snow{font-size:2.4rem}.event-strip{margin:0 24px;flex-direction:column;gap:18px;padding:24px 0;text-align:center}.strip-snow{display:none}.event-strip strong{font-size:.95rem}.strip-label{font-size:.65rem;margin-bottom:3px}.film-section{margin-top:42px;padding:44px 20px 38px}.film-heading{display:block;margin-bottom:25px}.film-heading>p{margin-top:20px;max-width:none;font-size:.85rem}.film-heading h2{font-size:2.55rem}.film-heading .eyebrow{font-size:.67rem}.video-frame{border-radius:4px}.play-circle{width:53px;height:53px;font-size:1.1rem;box-shadow:0 0 0 7px #ffffff18}.video-cover{gap:14px}.video-cover>span:nth-child(2){font-size:1.45rem}.video-subtitle{font-size:.64rem}.film-toolbar{padding:18px 0 23px;flex-wrap:wrap;justify-content:center;gap:13px}.film-detail{font-size:.75rem}.film-controls{font-size:.75rem;gap:20px}.download-panel{display:block;text-align:center;padding-top:24px}.download-panel h3{font-size:1.7rem}.download-actions{margin-top:20px;justify-content:center;flex-wrap:wrap;gap:18px}.gold-button{font-size:.85rem}.memories-section{padding:52px 0 42px}.section-heading h2{font-size:2.45rem;margin:18px 0}.section-heading>p:last-child{font-size:.85rem}.section-heading .eyebrow{font-size:.67rem}.memory-wall{margin-top:25px;gap:14px}.memory-track{gap:14px;animation-duration:85s}.memory-card{width:180px;flex-basis:180px;padding:6px 6px 9px}.memory-card img{height:125px}.memory-card span{font-size:.8rem}.gallery-controls{margin-top:22px;gap:14px;flex-direction:column;font-size:.73rem}.evening-section{grid-template-columns:1fr;gap:37px;padding:46px 0;margin:0 24px}.evening-intro h2{font-size:2.8rem}.evening-intro>p:not(.eyebrow){max-width:none;font-size:.875rem}.evening-intro .eyebrow{font-size:.7rem}.program-item{padding:21px 0;gap:16px}.program-item h3{font-size:1.3rem}.program-item p{font-size:.83rem}.program-label{font-size:.68rem}.stay-note{padding-left:36px;font-size:.75rem}.thanks-section{padding:50px 20px 45px}.thanks-section h2{font-size:2.65rem}.thanks-section .eyebrow{font-size:.65rem;letter-spacing:.13em}.thanks-section>p:not(.eyebrow):not(.signature):not(.celebration-message){font-size:1.2rem}.thanks-section .signature{font-size:2rem}footer{padding:25px 20px;flex-direction:column;text-align:center;gap:18px}.footer-brand .monogram{border:0;padding-right:12px}.desktop-break{display:none}dialog{padding:12px}.close-photo{top:18px;right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.memory-track{transform:none}.memory-wall{overflow-x:auto}.memory-track.reverse{transform:none}}

.party-gallery{max-width:1220px;margin:0 auto;padding:65px 0 75px;border-top:1px solid #a7792d33;border-bottom:1px solid #a7792d33}.party-coming-soon{position:relative;max-width:850px;margin:38px auto 0;padding:45px 25px;text-align:center;border:1px solid #b58b4550;border-radius:8px;background:radial-gradient(ellipse at 50% 30%,#fff,#f5f1e7);box-shadow:0 12px 40px #092b5005}.party-coming-soon::before{content:'';position:absolute;inset:9px;border:1px solid #b58b4528;border-radius:4px;pointer-events:none}.album-mark{width:70px;height:70px;margin:0 auto 16px;color:var(--gold);transform:rotate(-6deg)}.album-mark svg{width:100%;height:100%}.coming-soon-label{display:inline-block;border:1px solid #a7792d4d;border-radius:30px;padding:5px 14px;color:var(--gold);font-size:.75rem;letter-spacing:.13em}.party-coming-soon h3{font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.25;margin:18px 0 12px}.party-coming-soon p{font-size:1rem;color:var(--muted);line-height:1.8}.coming-soon-spark{display:block;color:var(--gold);font-size:1.7rem;margin-top:17px}.party-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.party-photo{position:relative;display:block;padding:8px;border:1px solid #a7792d25;background:white;border-radius:4px;overflow:hidden;box-shadow:0 5px 20px #092b500b;transition:transform .25s}.party-photo:hover{transform:translateY(-4px)}.party-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.party-photo-expand{position:absolute;right:17px;bottom:17px;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;background:#fff;color:var(--navy);box-shadow:0 3px 15px #092b5025}.party-coming-soon[hidden],.party-photo-grid[hidden]{display:none}@media(max-width:1100px){.party-gallery{margin:0 32px}}@media(max-width:760px){.party-gallery{margin:0 24px;padding:45px 0 46px}.party-gallery .section-heading{padding:0}.party-coming-soon{margin-top:27px;padding:32px 20px}.party-coming-soon p{font-size:.95rem}.party-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.party-photo{padding:5px}.party-photo-expand{right:11px;bottom:11px;width:28px;height:28px}}

/* Fondo opaco per mantenere leggibile il saluto sulla fotografia. */
.photo-stamp{background:var(--navy);padding:13px 17px 15px;border:1px solid #ddbc8066;border-radius:4px;box-shadow:0 8px 24px #04172c30;max-width:calc(100% - 100px)}.photo-stamp span{display:block;color:#f0d39d;font-size:.75rem;letter-spacing:.12em;line-height:1.5}.photo-stamp strong{color:#fff;margin-top:7px}@media(max-width:760px){.photo-stamp{padding:10px 13px 12px;max-width:calc(100% - 90px)}.photo-stamp span{font-size:.7rem}.photo-stamp strong{font-size:1.65rem}}

.music-credit{color:#c7d4e0;font-size:.78rem;line-height:1.8;margin:0 0 22px;max-width:850px}.music-credit a{color:#f0d39d;text-decoration:underline;text-underline-offset:3px}.music-credit a:hover{color:#fff}@media(max-width:760px){.music-credit{text-align:center;font-size:.75rem}}

/* I filmati proiettati durante la festa. */
.evening-videos{max-width:1220px;margin:0 auto;padding:72px 0 65px;border-bottom:1px solid #a7792d33}.collection-summary{text-align:center;color:var(--muted);font-size:.8rem;margin:26px 0 30px;letter-spacing:.04em}.evening-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.evening-video-card{overflow:hidden;background:#fff;border:1px solid #a7792d2b;border-radius:7px;box-shadow:0 8px 24px #092b5006}.evening-video-preview{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy);overflow:hidden;aspect-ratio:16/9}.evening-video-preview img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.evening-video-preview::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#04182b70,transparent 60%)}.evening-video-preview:hover img{transform:scale(1.035)}.preview-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;display:grid;place-items:center;width:57px;height:57px;border:1px solid #ffffffb3;border-radius:50%;background:#092b50e6;color:white;font-size:1.8rem;box-shadow:0 0 0 7px #ffffff25}.preview-time{position:absolute;bottom:12px;right:12px;background:#092b50f2;border:1px solid #ffffff40;border-radius:3px;color:#fff;font-size:.75rem;padding:2px 9px;z-index:1;font-variant-numeric:tabular-nums}.evening-video-copy{padding:22px}.video-chapter{font-size:.65rem;letter-spacing:.16em;color:var(--gold);font-weight:600}.evening-video-copy h3{font-size:1.7rem;line-height:1.15;margin:8px 0 11px;letter-spacing:-.025em}.evening-video-copy p{font-size:.85rem;color:var(--muted);line-height:1.7;min-height:2.9em}.evening-video-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:.8rem;border-top:1px solid #092b5014;padding-top:14px}.evening-video-actions button{background:none;border:0;color:var(--navy);padding:0;text-align:left}.evening-video-actions a{color:var(--gold);white-space:nowrap}.evening-video-actions a:hover,.evening-video-actions button:hover{text-decoration:underline;text-underline-offset:4px}.featured-video{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;background:#f2eee4}.featured-video .evening-video-copy{padding:36px;display:flex;flex-direction:column;justify-content:center}.featured-video h3{font-size:clamp(2rem,3vw,2.7rem)}.featured-video .evening-video-copy p{min-height:0;font-size:1rem}.featured-video .preview-play{width:72px;height:72px;font-size:2.2rem}.collection-error{text-align:center;color:var(--muted)}

/* Album della serata, con caricamento progressivo delle sole anteprime. */
.album-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:36px}.album-toolbar[hidden]{display:none}.album-filters{display:flex;gap:8px;flex-wrap:wrap}.album-filters button{border:1px solid #092b502b;border-radius:30px;background:transparent;color:var(--navy);padding:7px 18px;font-size:.85rem;transition:background .2s,color .2s}.album-filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.album-count{color:var(--muted);font-size:.8rem;white-space:nowrap}.album-loading{text-align:center;margin-top:32px;color:var(--muted)}.party-photo-grid{margin-top:24px}.party-photo{aspect-ratio:4/3}.party-photo img{height:100%;aspect-ratio:auto}.party-photo-expand{background:var(--navy);color:#fff}.party-video-badge{position:absolute;top:18px;left:18px;background:#092b50f2;color:#fff;border:1px solid #ffffff60;border-radius:3px;padding:3px 10px;font-size:.7rem;letter-spacing:.05em}.album-more{text-align:center;margin-top:32px}.album-more-button{background:transparent;color:var(--navy);border:1px solid #a7792d80}.album-more-button:hover{background:#f0e9dc}.album-more-button[hidden]{display:none}

/* Lettore condiviso: gli MP4 vengono caricati solo quando si apre un filmato. */
.media-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:20px 24px 18px;overflow:auto}.media-dialog::backdrop{background:#03172cea;backdrop-filter:blur(5px)}.media-dialog-header{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:16px}.media-kicker{color:var(--gold);font-size:.65rem;letter-spacing:.15em;font-weight:600}.media-dialog-header h2{font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.025em;line-height:1.15;margin-top:5px}.media-dialog-header button{width:38px;height:38px;border:1px solid #092b5030;border-radius:50%;background:#fff;color:var(--navy);font-size:1.7rem;line-height:1;flex-shrink:0}.media-stage{background:#061c32;border-radius:4px;overflow:hidden;min-height:80px;display:flex;align-items:center;justify-content:center}.media-stage img,.media-stage video{display:block;max-height:66dvh;max-width:100%;width:100%;object-fit:contain;margin:0 auto}.media-stage img{height:66dvh}.media-stage [hidden]{display:none}.media-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.media-navigation{display:flex;align-items:center;gap:14px}.media-navigation button{width:36px;height:36px;border:1px solid #092b502b;border-radius:50%;background:transparent;color:var(--navy);font-size:1rem}.media-navigation button:disabled{opacity:.3;cursor:default}.media-navigation span{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted)}.media-dialog-footer .text-link{font-size:.8rem}.media-error{color:var(--navy);font-size:.8rem;margin-top:10px}.media-error[hidden]{display:none}
@media(max-width:1100px){.evening-videos{margin:0 32px}.evening-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.featured-video .evening-video-copy{padding:25px}.header nav{gap:20px}.header nav a[href='#ricordi']{display:none}}
@media(max-width:760px){.evening-videos{margin:0 24px;padding:48px 0}.evening-videos .section-heading{padding:0}.evening-video-grid{grid-template-columns:1fr;gap:22px}.collection-summary{margin:22px 0;font-size:.75rem}.featured-video{display:block}.featured-video .evening-video-copy{padding:22px}.featured-video h3{font-size:1.9rem}.featured-video .evening-video-copy p{font-size:.9rem}.evening-video-copy p{min-height:0}.evening-video-copy h3{font-size:1.6rem}.album-toolbar{flex-direction:column;gap:14px;margin-top:26px}.album-filters{gap:6px;justify-content:center}.album-filters button{padding:7px 13px;font-size:.8rem}.party-video-badge{left:11px;top:11px;font-size:.6rem;padding:2px 6px}.media-dialog{padding:15px 12px;width:96vw;max-width:96vw}.media-dialog-header{gap:12px}.media-dialog-header h2{font-size:1.4rem}.media-kicker{font-size:.59rem}.media-dialog-footer{gap:10px}.media-navigation{gap:8px}.media-navigation button{width:32px;height:32px}.media-dialog-footer .text-link{font-size:.74rem}.media-stage img,.media-stage video{max-height:65dvh}.media-stage img{height:65dvh}.header nav a[href='#rivivi-serata']{display:none}}
@media(max-width:760px){.header{flex-wrap:wrap;gap:18px}.header nav{width:100%;justify-content:space-between;gap:10px}.header nav>a[href='#rivivi-serata'],.header nav>a[href='#foto-serata']{display:inline-block;font-size:.75rem}.header nav>a[href='#ricordi']{display:none}.header .nav-video{font-size:.75rem}.nav-video span{margin-left:6px}}

/* I ricordi degli invitati, su carta avorio. */
.guest-section{padding:100px max(24px,calc((100vw - 1240px)/2));border-top:1px solid var(--line,#dfd1b7);scroll-margin-top:40px}
.guest-heading{max-width:770px;text-align:center;margin:0 auto 80px}.guest-heading>p:not(.eyebrow){font-size:20px;line-height:1.7;color:#586b7d;margin:26px 0}.guest-heading h2{font-size:clamp(44px,5.5vw,74px)}
.guest-wall{background:#e9e1d2;border:1px solid #dbccb0;border-radius:10px;padding:48px 32px;box-shadow:inset 0 1px 12px #684e1710;text-align:center}.guest-wall h3,.guest-upload h3{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:clamp(34px,4vw,48px);line-height:1.15;margin:14px 0 24px}.guest-wall h3{color:#0a2b4b}
.guest-board{columns:3;column-gap:22px;margin-top:30px;text-align:left}.guest-note{break-inside:avoid;background:#fffaf0;padding:30px 24px 22px;margin:0 0 24px;border:1px solid #dfd2b8;box-shadow:2px 6px 14px #59431816;position:relative;border-radius:2px}.guest-note:before{content:'';display:block;width:72px;height:20px;background:#d7bc85aa;margin:-40px auto 20px;transform:rotate(-4deg)}.guest-note:nth-child(even):before{transform:rotate(5deg)}.guest-note-message{font-family:Georgia,serif;font-size:22px;line-height:1.55;color:#15334e;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 22px}.guest-note-footer{display:flex;flex-direction:column;gap:6px;margin-top:22px;font-size:14px;color:#617080}.guest-note-footer strong{color:#a67929;font-size:16px}.guest-note-media{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.guest-note-media:has(> :only-child){grid-template-columns:1fr}.guest-attachment{border:0;padding:0;position:relative;cursor:pointer;background:#e9e1d2;border-radius:3px;overflow:hidden}.guest-attachment img{width:100%;height:140px;object-fit:cover;display:block}.guest-note-media:has(> :only-child) img{height:auto;max-height:260px}.guest-play{position:absolute;inset:0;display:grid;place-items:center;background:#07294455;color:white;font-size:42px}.guest-empty{padding:50px 12px}.guest-empty>span{font-size:42px;color:#ac7e2b}.guest-empty p:first-of-type{font-family:Georgia,serif;font-size:28px;color:#0a2b4b}.guest-empty p{color:#586b7d}.guest-upload{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;margin-top:80px;scroll-margin-top:40px}.guest-upload>div>p{font-size:19px;line-height:1.7;color:#586b7d}.guest-small,.guest-upload>div>.guest-small{font-size:14px;line-height:1.6;color:#617080}.guest-upload form{display:flex;flex-direction:column;gap:12px}.guest-upload label{font-weight:600;color:#0a2b4b;margin-top:8px}.guest-upload label span{font-weight:400;font-size:14px}.guest-upload input:not([type=hidden]),.guest-upload textarea{width:100%;box-sizing:border-box;padding:15px 16px;border:1px solid #c9bda7;background:#fffdf8;border-radius:4px;font:inherit;color:#0a2b4b}.guest-upload textarea{resize:vertical}.guest-upload input:focus,.guest-upload textarea:focus{outline:2px solid #ae7e29;outline-offset:2px}.guest-upload input[type=file]{font-size:14px}.guest-upload input::file-selector-button{border:0;background:#e9e1d2;color:#0a2b4b;padding:10px;margin-right:10px;border-radius:3px;cursor:pointer}.guest-captcha{border:1px solid #dacdb6;border-radius:5px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0 14px}.guest-captcha legend{padding:0 6px;font-size:15px}.guest-captcha img{max-width:100%;height:auto;border-radius:3px}.guest-captcha button{border:0;background:none;color:#0a2b4b;text-decoration:underline;padding:5px 0;cursor:pointer;font:inherit}.guest-captcha input{max-width:220px;letter-spacing:.18em}.guest-upload progress{width:100%;accent-color:#ad7e2b}.guest-upload button:disabled{opacity:.55;cursor:wait}#guest-status{line-height:1.6;color:#0a2b4b}#guest-board-status{color:#586b7d}#guest-more{margin-top:22px}
@media(max-width:1100px){.guest-board{columns:2}.guest-upload{gap:35px}.site-header nav{gap:18px}}
@media(max-width:760px){.guest-section{padding:65px 24px}.guest-heading{margin-bottom:45px}.guest-wall{padding:35px 18px}.guest-board{columns:1}.guest-upload{grid-template-columns:1fr;gap:25px;margin-top:50px}.guest-heading>p:not(.eyebrow){font-size:18px}.guest-note{padding:28px 24px}.site-header nav{flex-wrap:wrap;justify-content:center;gap:12px 20px}.guest-captcha{padding:15px}}
[hidden]{display:none!important}
@media(max-width:1100px){.header nav{gap:18px}}
@media(max-width:760px){.header nav{flex-wrap:wrap;justify-content:center;gap:12px 20px}.header nav>a[href='#i-vostri-ricordi']{font-size:.75rem}}
@media(max-width:760px){.header nav>a[href='#i-vostri-ricordi']{display:inline-block}}

/* Invito al caricamento subito sotto la navigazione. */
.upload-invitation{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--navy);color:#fff;padding:19px max(50px,calc((100vw - 1220px)/2))}
.upload-invitation p{margin:0;line-height:1.5}.upload-invitation strong{font-size:18px;font-weight:600}.upload-invitation p+p{font-size:14px;color:#e7eaf0;margin-top:3px}.upload-invitation-button{flex-shrink:0;background:var(--pale-gold);color:var(--navy);font-weight:600}.upload-invitation-button:hover{background:#eed09b}.upload-invitation-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:760px){.upload-invitation{padding:20px 24px;flex-direction:column;text-align:center;gap:14px}.upload-invitation strong{font-size:17px}.upload-invitation p+p{font-size:13px;max-width:420px}.upload-invitation-button{padding:12px 22px}}

.chapter-music-credit{font-size:.78rem;line-height:1.8;color:var(--muted);margin:28px 0 0}.chapter-music-credit a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* Il ritorno al sito resta visibile anche nella navigazione mobile. */
.header nav>a.site-return{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
@media(max-width:760px){.header nav>a.site-return{font-size:.75rem}}
