@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--green:#173e34;--deep:#12342b;--cream:#f6f1e6;--gold:#cab07b;--red:#7e2e38;--ink:#233d33;--muted:#657268}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}.skip{position:absolute;top:-80px;left:20px;background:var(--cream);padding:15px;z-index:20}.skip:focus{top:10px}.header{height:110px;padding:0 6.7%;background:var(--green);color:var(--cream);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand{font-size:20px;letter-spacing:2.5px;white-space:nowrap}.brand strong{font-weight:700}.brand span{display:block;font-size:8px;letter-spacing:2.1px;margin-top:8px}.nav-link{font-size:12px;padding:12px 0;border-bottom:1px solid #cab07b88}.nav-link span{margin-left:24px}.hero{background:var(--green);color:var(--cream);padding:65px 6.7% 85px;min-height:720px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:6%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;display:block}.spark{color:var(--gold);font-size:21px;vertical-align:middle;margin-right:13px}h1,h2,p{margin:0}h1{font-family:'Italiana',Georgia,serif;font-size:clamp(66px,6.4vw,101px);font-weight:400;line-height:1.04;letter-spacing:-2.5px;margin:23px 0 24px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:var(--gold);font-size:.91em}.intro{font-size:14px;line-height:1.9;color:#d7dfd8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:70px;padding:18px 24px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--cream);color:var(--green);margin-top:31px}.primary:hover{background:#e8d8b8}.hero-meta{font-size:9px;letter-spacing:2px;margin-top:26px;color:#b9c6bc}.hero-meta span{margin:0 10px}.invitation-scene{position:relative;display:flex;justify-content:center;padding:20px 20px 35px}.invitation{position:relative;width:365px;min-height:510px;background:var(--cream);color:var(--green);padding:17px;transform:rotate(5deg);box-shadow:17px 26px 45px #071d2044;z-index:1}.card-inner{height:100%;border:1px solid #bdab805e;padding:29px 18px 25px;text-align:center}.card-top{font-size:7px;letter-spacing:1.5px}.toast{width:178px;height:142px;color:#a5844a;margin:17px auto 0;display:block}.invitation h2{font-family:'Italiana',Georgia,serif;font-size:44px;font-weight:400;line-height:1.1}.invitation h2 em{font-size:.88em;color:var(--red)}.card-rule{display:flex;align-items:center;gap:10px;color:#b49a65;margin:20px auto 11px;width:130px;font-size:11px}.card-rule:before,.card-rule:after{content:'';height:1px;flex:1;background:#c8b78e}.card-date{font-size:9px;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:12px}.card-date strong{font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:0}.card-time{font-size:9px;letter-spacing:2px;margin-top:7px}.card-venue{font-family:'Italiana',Georgia,serif;font-size:30px;margin-top:20px}.card-venue span{font-family:'DM Sans',sans-serif;display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.ribbon{position:absolute;width:120%;height:90px;top:47%;left:-10%;background:var(--red);transform:rotate(-26deg);box-shadow:0 14px 25px #08251f44}.scene-star{position:absolute;color:var(--gold);font-size:60px}.star-one{right:-5%;top:-15px}.star-two{left:-6%;bottom:80px;font-size:28px}.scene-note{position:absolute;bottom:-24px;font-family:Georgia,serif;font-style:italic;font-size:16px;color:#cabd9a;transform:rotate(-4deg)}.details{padding:53px 6.7%;display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #1f3c3420;gap:40px}.detail+.detail{border-left:1px solid #1f3c3420;padding-left:40px}.detail-label{font-size:9px;letter-spacing:2px;color:#6b7267}.detail h2{font-family:'Italiana',Georgia,serif;font-size:29px;font-weight:400;margin:13px 0 8px}.detail p{font-size:13px;color:#667267;line-height:1.6}.detail a,.detail-sign{display:inline-block;font-size:11px;margin-top:20px}.detail a{border-bottom:1px solid #879788;padding-bottom:5px}.detail a span{margin-left:14px}.detail-sign{font-family:Georgia,serif;font-style:italic}.welcome{text-align:center;padding:80px 24px 90px}.small-star{color:#a18650;font-size:22px}.welcome p{font-family:'Italiana',Georgia,serif;font-size:44px;line-height:1.2;margin:22px 0}.welcome p em{font-size:.85em}.welcome div{font-size:13px;line-height:1.9;color:var(--muted)}.booking{background:#eae8dd;padding:85px 6.7%;display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}.booking-copy{padding-top:30px}.booking h2{font-family:'Italiana',Georgia,serif;font-size:59px;font-weight:400;line-height:1.1;letter-spacing:-1px;margin:23px 0}.booking h2 em{color:var(--red)}.booking-copy>p{font-size:14px;line-height:1.85;max-width:330px;color:#5a6a5d}.booking-date{display:flex;align-items:center;gap:20px;border-top:1px solid #1f3c3425;border-bottom:1px solid #1f3c3425;max-width:310px;margin:32px 0;padding:15px 0}.booking-date time{display:block;font-family:'DM Sans',Arial,sans-serif;letter-spacing:0;line-height:1.5}.booking-date time strong{display:block;font-size:clamp(19px,2vw,23px);font-weight:600}.booking-date time span{display:block;font-size:18px;margin-top:4px}.booking-copy>p.privacy-note{font-size:11px;line-height:1.8;max-width:300px}.form-shell{min-width:0;background:white;border:1px solid #dcded1;border-radius:4px;overflow:hidden}.form-shell iframe{display:block;border:0;width:100%;height:1040px}.form-fallback{text-align:center;font-size:11px;padding:13px 15px 20px;color:#637267}.form-fallback a{text-decoration:underline;text-underline-offset:3px}.closing{text-align:center;background:var(--red);color:var(--cream);padding:65px 24px}.closing>span{color:var(--gold);font-size:23px}.closing p{font-family:'Italiana',Georgia,serif;font-size:47px;line-height:1.2;margin:22px 0}.closing p em{font-size:.88em}.closing>div{font-size:12px;color:#e0c9c4}footer{padding:32px 6.7%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:16px}footer>span{font-size:8px;letter-spacing:2px}footer>span span{font-size:18px;margin-left:15px}footer small{font-size:10px;color:var(--muted)}
@media(min-width:1550px){.hero,.header,.details,.booking,footer{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}
@media(max-width:900px){.hero{gap:20px;min-height:680px;padding-left:5%;padding-right:5%}h1{font-size:70px}.invitation{width:300px;min-height:480px}.card-inner{padding:24px 10px}.card-top{font-size:6px}.invitation h2{font-size:40px}.ribbon{width:110%;left:-5%}.star-one{right:0}.details{gap:20px}.detail+.detail{padding-left:20px}.detail h2{font-size:25px}.booking{gap:4%;padding-left:5%;padding-right:5%}.booking h2{font-size:48px}}
@media(max-width:650px){.header{height:90px;padding:0 6%}.brand{font-size:16px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:1.5px}.nav-link{font-size:10px;max-width:120px;line-height:1.5}.nav-link span{margin-left:5px}.hero{grid-template-columns:1fr;padding:43px 7% 60px;gap:45px;overflow:hidden}.eyebrow{font-size:8px;letter-spacing:2px}h1{font-size:65px;letter-spacing:-2px;margin-top:20px}.intro{font-size:13px;max-width:330px}.desktop{display:none}.hero-meta{font-size:8px}.invitation-scene{padding:20px 12px 30px;max-width:360px;width:100%;margin:auto}.invitation{width:282px;min-height:470px}.ribbon{height:70px;width:125%;left:-12.5%}.scene-note{font-size:14px;bottom:-10px}.star-one{right:-12px;font-size:42px;top:0}.star-two{left:-7px}.details{grid-template-columns:1fr;padding:35px 7%;gap:26px}.detail+.detail{border-left:0;border-top:1px solid #1f3c3420;padding:25px 0 0}.detail h2{font-size:30px}.detail a,.detail-sign{margin-top:12px}.welcome{padding:55px 7%}.welcome p{font-size:34px}.welcome div{font-size:12px}.booking{grid-template-columns:1fr;padding:45px 4%;gap:30px}.booking-copy{padding:0 4%}.booking h2{font-size:51px}.booking-copy>p{max-width:100%}.booking-date{margin:22px 0;max-width:100%}.booking-copy>p.privacy-note{max-width:100%}.form-shell iframe{height:1120px}.closing{padding:48px 7%}.closing p{font-size:36px}footer{padding:27px 7%;flex-wrap:wrap;gap:18px}footer>span{order:3;width:100%;font-size:7px}footer small{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.menu-link{display:inline-block;margin-left:26px;font-size:12px;color:#d9ddcd;border-bottom:1px solid #cab07b77;padding:7px 0}.menu-link span{margin-left:16px}.buffet{padding:0 6.7% 85px;background:var(--cream)}.buffet-heading{text-align:center;border-top:1px solid #1f3c3420;padding-top:65px}.buffet-heading .eyebrow{color:#8b7448}.buffet-heading h2{font-family:'Italiana',Georgia,serif;font-size:54px;font-weight:400;margin:21px 0 20px;line-height:1.12;letter-spacing:-1px}.buffet-heading h2 em{font-size:.89em;color:var(--red)}.buffet-heading>p{font-size:13px;line-height:1.9;color:var(--muted)}.menu-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin:50px 0}.menu-course+.menu-course{padding-left:38px;border-left:1px solid #1f3c3420}.course-number{font-family:Georgia,serif;font-size:13px;font-style:italic;color:#9a8255}.menu-course h3{font-family:'Italiana',Georgia,serif;font-size:28px;font-weight:400;line-height:1.15;margin:16px 0}.menu-course>p{font-size:12px;line-height:1.8;color:var(--muted);min-height:44px}.menu-course ul{list-style:none;padding:0;margin:22px 0 0}.menu-course li{font-size:13px;line-height:1.8;padding:7px 0;border-bottom:1px solid #1f3c3412}.menu-course li:last-child{border-bottom:0}.open-bar{background:var(--green);color:var(--cream);padding:32px 36px;display:flex;align-items:center;gap:30px}.bar-star{font-size:34px;color:var(--gold)}.open-bar .eyebrow{font-size:8px;letter-spacing:1.8px;color:#d2c09a}.open-bar h3{font-family:'Italiana',Georgia,serif;font-size:43px;font-weight:400;margin:9px 0 0;line-height:1}.open-bar>p{font-size:12px;line-height:1.8;color:#d5ded6;margin-left:auto}.open-bar>a{font-size:11px;border-bottom:1px solid #cab07b88;padding:10px 0;white-space:nowrap}.open-bar>a span{margin-left:17px}@media(min-width:1550px){.buffet{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}@media(max-width:900px){.menu-columns{gap:23px}.menu-course+.menu-course{padding-left:23px}.open-bar{flex-wrap:wrap;gap:20px}.open-bar>a{margin-left:auto}.bar-star{font-size:25px}.menu-link{margin-left:18px}}@media(max-width:650px){.buffet{padding:0 7% 45px}.buffet-heading{padding-top:43px}.buffet-heading h2{font-size:39px;line-height:1.15}.menu-columns{grid-template-columns:1fr;gap:28px;margin:35px 0}.menu-course+.menu-course{padding:26px 0 0;border-left:0;border-top:1px solid #1f3c3420}.menu-course h3{font-size:29px;margin:12px 0}.menu-course>p{min-height:0}.menu-course ul{margin-top:16px}.menu-course li{font-size:13px}.open-bar{padding:27px 24px;gap:17px}.open-bar>div{flex:1}.open-bar .eyebrow{font-size:7px;line-height:1.8}.open-bar>p{width:100%;margin:0}.open-bar>a{margin:0}.menu-link{font-size:11px;margin-left:20px}.open-bar h3{font-size:41px}}
.form-shell{background:var(--cream);border:1px solid #b8bea980;border-radius:0;box-shadow:0 12px 40px #173e3408}.booking-form,.booking-success{padding:42px}.form-kicker{display:block;font-size:8px;letter-spacing:2px;color:#74806b}.form-shell h3{font-family:'Italiana',Georgia,serif;font-weight:400;font-size:40px;margin:16px 0 12px;line-height:1.15}.form-intro{font-size:12px;color:#657268;line-height:1.7;margin-bottom:30px}.field{margin-bottom:23px}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:9px}.field label span{color:#8c7b56}.field input{font:inherit;font-size:14px;color:var(--ink);border:1px solid #b7beaf;background:#ffffff55;width:100%;padding:14px 15px;border-radius:0;min-height:49px;transition:border .15s}.field input:focus{outline:2px solid #cab07b;outline-offset:2px;background:#fff}.field input::placeholder{color:#899181;font-size:12px}.field input[type=number]{width:96px;max-width:100%}.field small{display:block;font-size:10px;line-height:1.6;color:#657268;margin-top:8px}.form-privacy{font-size:10px;color:#657268;line-height:1.8;margin:9px 0 24px}.submit-button{font-family:inherit;width:100%;border:0;background:var(--green);color:var(--cream);cursor:pointer;gap:16px}.submit-button:hover{background:#245447}.submit-button:disabled{opacity:.65;cursor:wait;transform:none}.submit-button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.booking-status{font-size:12px;line-height:1.65;margin-top:16px}.booking-status:empty{display:none}.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-success{text-align:center;padding-top:70px;padding-bottom:70px}.success-star{display:block;color:#a18650;font-size:40px;margin-bottom:25px}.booking-success p{font-size:14px;line-height:1.8;margin:25px 0}.booking-success a{display:inline-block;border-bottom:1px solid #9ca58f;padding-bottom:5px;font-size:12px}.booking-success:focus{outline:0}[hidden]{display:none!important}@media(max-width:650px){.booking-form,.booking-success{padding:30px 24px}.form-shell h3{font-size:36px}.field input{font-size:16px}.booking{padding-bottom:50px}}

/* Personal invitation, inspired by Riccardo’s previous Grey events. */
.welcome h2{font-family:'Italiana',Georgia,serif;font-size:44px;font-weight:400;line-height:1.2;margin:22px 0 30px}.welcome h2 em{font-size:.85em}.welcome .personal-invite{max-width:660px;margin:0 auto;text-align:left}.welcome .personal-invite p{font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.9;margin:0 0 18px}.personal-invite strong{font-weight:600;color:var(--green)}.welcome .personal-invite .invite-emphasis{color:var(--green);font-weight:600;margin-top:26px}.welcome .invite-signature{margin-top:30px;font-family:Georgia,serif;font-style:italic;font-size:17px;color:var(--green)}.invite-signature strong{display:block;font-size:25px;font-weight:400;margin:4px 0}.invite-signature span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:8px;font-style:normal;letter-spacing:1.8px;margin-top:7px}.intro{max-width:490px}@media(max-width:650px){.welcome h2{font-size:34px}.welcome .personal-invite p{font-size:14px;line-height:1.85}.closing>div{line-height:1.8}.hero h1{font-size:clamp(48px,11.5vw,65px)}}

/* Original brand marks on a light background. */
.header{height:126px;background:#fff;color:var(--green);border-bottom:0}.header .nav-link{border-bottom-color:#879788}.brand-logos{display:flex;align-items:center;gap:27px;flex-shrink:0}.brand-logos img{display:block;object-fit:contain;height:auto}.logo-gruppo{width:110px}.logo-post{width:245px}.brand-divider{height:48px;width:1px;background:#173e3425}footer{background:#fff}footer .logo-gruppo{width:89px}footer .logo-post{width:205px}footer .brand-logos{gap:22px}@media(max-width:650px){.header{height:auto;min-height:132px;padding:15px 6%;flex-wrap:wrap;justify-content:center;gap:9px}.brand-logos{gap:18px}.logo-gruppo{width:85px}.logo-post{width:190px}.brand-divider{height:35px}.header .nav-link{max-width:none;font-size:11px;line-height:1.4;padding:7px 0}.header .nav-link span{margin-left:12px}footer{justify-content:center}footer .brand-logos{width:100%;justify-content:center;gap:18px}footer .logo-gruppo{width:80px}footer .logo-post{width:180px}footer>span{width:auto;order:0;text-align:center}footer small{width:100%;text-align:center}}
@media(max-width:380px){.brand-logos,footer .brand-logos{gap:16px}.logo-gruppo,footer .logo-gruppo{width:72px}.logo-post,footer .logo-post{width:164px}}

/* Compact venue information. */
.venue{padding:0 6.7% 42px}.venue-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:30px 0;border-top:1px solid #173e3425;border-bottom:1px solid #173e3425}.venue h2{font-family:'Italiana',Georgia,serif;font-size:44px;font-weight:400;line-height:1.15;margin:12px 0}.venue h2 em{color:var(--red);font-size:.9em}.venue-copy>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:530px}.venue address{font-style:normal;font-size:17px;line-height:1.65}.venue address strong{display:block;font-weight:600}.venue-map{display:inline-block;font-size:16px;font-weight:600;border-bottom:1px solid #879788;padding:8px 0;margin-top:10px}.venue-map span{margin-left:18px}
@media(min-width:1550px){.venue{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}
@media(max-width:650px){.venue{padding:0 7% 32px}.venue-grid{grid-template-columns:1fr;gap:20px;padding:26px 0}.venue h2{font-size:36px}.venue-copy>p,.venue address{font-size:16px}}

/* Always-available booking and WhatsApp actions. */
body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:110px}.reservation-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fffdf8f7;border-top:1px solid #b9ab8b66;box-shadow:0 -5px 26px #12342b18;padding:13px 6.7% calc(13px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(12px)}.reservation-bar-inner{display:flex;align-items:center;gap:15px;max-width:1320px;margin:auto}.reservation-reminder{margin-right:auto}.reservation-reminder strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:17px}.reservation-reminder>span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.bar-book,.bar-whatsapp{display:flex;align-items:center;justify-content:center;gap:17px;min-height:49px;padding:13px 23px;font-size:12px;font-weight:600;white-space:nowrap}.bar-book{background:var(--green);color:var(--cream);border:1px solid var(--green)}.bar-book:hover{background:#245447}.bar-whatsapp{border:1px solid #24754c;color:#1d6742;background:#f5faf5;gap:9px}.bar-whatsapp:hover{background:#e8f3e9}.bar-whatsapp svg{width:23px;height:23px;flex-shrink:0}@media(max-width:800px){.reservation-reminder{display:none}.reservation-bar-inner{justify-content:center}.bar-book{flex:1}.bar-whatsapp{flex:.6}.reservation-bar{padding-left:5%;padding-right:5%}}@media(max-width:450px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.reservation-bar{padding:10px 4% calc(10px + env(safe-area-inset-bottom,0px))}.reservation-bar-inner{gap:10px}.bar-book,.bar-whatsapp{font-size:11px;padding:12px;gap:9px;min-height:48px}.bar-whatsapp{flex:.55}.bar-whatsapp svg{width:21px;height:21px}}
/* Decorative snowfall never receives pointer input. */
.snowfall{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;contain:strict}.snowfall span{position:absolute;top:-14px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff;opacity:.58;box-shadow:0 0 5px #ffffff50;animation:snow-fall var(--duration) var(--delay) linear infinite}.snowfall span:nth-child(3n){opacity:.35}.snowfall span:nth-child(4n){filter:blur(.7px)}@keyframes snow-fall{0%{transform:translate3d(0,-20px,0)}100%{transform:translate3d(var(--drift),calc(100vh + 40px),0)}}@media(max-width:650px){.snowfall span:nth-child(n+18){display:none}}@media(prefers-reduced-motion:reduce){.snowfall{display:none}.snowfall span{animation:none}}

/* Readable text and shorter section rhythm. */
:root{--muted:#4c5e52}
body{font-size:16px}
.hero{min-height:640px;padding-top:42px;padding-bottom:48px}
.intro{font-size:17px;line-height:1.65;color:#edf0e8;max-width:510px}
.eyebrow,.detail-label,.form-kicker{font-size:11px;letter-spacing:1.6px}
.hero-meta{font-size:11px;color:#d7dfd8}
.button,.menu-link,.nav-link{font-size:15px}
.details{padding-top:32px;padding-bottom:32px;gap:28px}
.detail h2{font-family:'DM Sans',Arial,sans-serif;font-size:22px;font-weight:600;line-height:1.3;margin:10px 0 6px}
.detail p{font-size:16px;color:var(--muted)}
.detail a,.detail-sign{font-size:14px;margin-top:12px}
.welcome{padding:42px 7%}
.welcome h2{margin:12px 0 20px;font-size:40px}
.welcome .personal-invite{max-width:750px}
.welcome .personal-invite p{font-size:17px;line-height:1.65;margin-bottom:14px;color:var(--muted)}
.welcome .invite-signature{margin-top:18px}
.invite-signature span{font-size:10px;letter-spacing:1.2px}
.buffet{padding-bottom:44px}.buffet-heading{padding-top:0;border-top:0}
.buffet-heading h2{font-size:46px;margin:14px 0}
.buffet-heading>p{font-size:17px;line-height:1.6}
.menu-columns{margin:28px 0;gap:28px}.menu-course+.menu-course{padding-left:28px}
.menu-course h3{font-family:'DM Sans',Arial,sans-serif;font-size:21px;font-weight:600;line-height:1.3;margin:10px 0 12px}
.menu-course ul{margin-top:0}.menu-course li{font-size:16px;line-height:1.55;padding:6px 0}
.open-bar{padding:22px 28px}.open-bar .eyebrow{font-size:10px}.open-bar>p,.open-bar>a{font-size:15px}
.booking{padding-top:45px;padding-bottom:45px}.booking-copy{padding-top:15px}
.booking h2{font-size:50px;margin:16px 0}.booking-copy>p{font-size:17px;line-height:1.65;max-width:380px}
.booking-form,.booking-success{padding:30px}.form-intro{font-size:15px;line-height:1.6;margin-bottom:22px}
.field{margin-bottom:18px}.field label{font-size:16px;font-weight:600}.field input,.field input::placeholder{font-size:16px}
.field small,.form-privacy{font-size:13px;line-height:1.55;color:var(--muted)}
.booking-status{font-size:16px}.closing{padding:36px 7%}.closing p{font-size:38px;line-height:1.3}.closing>div{font-size:14px}
.reservation-reminder strong{font-family:'DM Sans',Arial,sans-serif;font-size:16px;font-weight:600}.reservation-reminder>span{font-size:13px}
.bar-book,.bar-whatsapp{font-size:15px}
@media(max-width:900px){.hero{min-height:0}.detail h2{font-size:20px}.menu-course h3{font-size:19px}}
@media(max-width:650px){
 .hero{padding:32px 7% 38px;gap:24px}.intro{font-size:16px;line-height:1.65;max-width:100%}.hero h1{margin:16px 0 20px}.hero-meta{margin-top:20px;font-size:10px}
 .eyebrow,.detail-label,.form-kicker{font-size:10px}.button{padding:16px 22px}.menu-link{font-size:14px;margin-left:18px}
 .invitation-scene{padding-top:8px;padding-bottom:12px}.invitation{min-height:0}.card-inner{padding:20px 10px}.toast{width:142px;height:108px;margin-top:12px}.card-top{font-size:8px;letter-spacing:1px}.card-time{font-size:11px;letter-spacing:1px}.card-venue span{font-size:10px}.card-date{font-size:10px;letter-spacing:1px}.invitation h2{font-size:38px}
 .details{padding:26px 7%;gap:16px}.detail+.detail{padding-top:16px}.detail h2{font-size:21px}.detail a,.detail-sign{margin-top:8px}
 .welcome{padding:32px 7%}.welcome h2{font-size:33px;margin:10px 0 20px}.welcome .personal-invite p{font-size:16px;line-height:1.65}.welcome .invite-signature{margin-top:16px}.invite-signature strong{font-size:23px}
 .buffet{padding-bottom:32px}.buffet-heading h2{font-size:37px}.buffet-heading>p{font-size:16px}.menu-columns{gap:18px;margin:22px 0}.menu-course+.menu-course{padding:18px 0 0}.menu-course h3{font-size:20px}.menu-course li{font-size:16px;padding:5px 0}.course-number{font-size:12px}
 .open-bar{padding:20px;gap:14px}.open-bar .eyebrow{font-size:9px}.open-bar>p{font-size:16px}.open-bar h3{font-size:36px}
 .booking{padding:30px 4%;gap:22px}.booking-copy{padding:0 4%}.booking h2{font-size:42px;margin:12px 0 16px}.booking-copy>p{font-size:16px;max-width:100%}.booking-date{margin:18px 0 0}.booking-form,.booking-success{padding:26px 20px}
 .closing{padding:30px 7%}.closing p{font-size:30px}.closing>div{font-size:13px;line-height:1.6}.bar-book,.bar-whatsapp{font-size:14px}
}

/* Additional RSVP details, kept compact and readable. */
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-fields>.field{min-width:0}
.field textarea{display:block;width:100%;resize:vertical;min-height:94px;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);border:1px solid #b7beaf;background:#ffffff55;border-radius:0;padding:12px 15px}
.field textarea:focus{outline:2px solid var(--gold);outline-offset:2px;background:#fff}.field textarea::placeholder{color:#6b776a}.field label .optional{font-weight:400;font-size:12px;color:var(--muted)}
.dietary-consent{margin:4px 0 20px}.dietary-consent label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55}.dietary-consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0;accent-color:var(--green)}
@media(max-width:800px){.contact-fields{grid-template-columns:1fr;gap:0}}

/* Photographs from Aromatico's official profile. */
.venue-grid{grid-template-columns:.85fr 1.5fr;gap:36px;align-items:center}
.venue-copy address{margin-top:18px}.venue-gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:12px;min-width:0}
.venue-gallery figure{margin:0;overflow:hidden}.venue-gallery img{display:block;width:100%;height:310px;object-fit:cover}
.venue-moment img{object-position:44% center}.venue-drink img{object-position:center 65%}
.photo-credit{grid-column:1/-1;font-size:11px;line-height:1.5;color:var(--muted);text-align:right;margin:0}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.venue-grid{grid-template-columns:1fr;gap:24px}.venue-copy{display:block}.venue-gallery img{height:280px}.venue-copy>p{max-width:100%}}
@media(max-width:650px){.venue-gallery{grid-template-columns:1.35fr 1fr;gap:9px}.venue-gallery img{height:210px}.photo-credit{font-size:10px;text-align:left}.venue-grid{gap:20px}}

/* Viste complete degli interni, senza tagliare gli ambienti. */
.venue-gallery{grid-template-columns:1fr 1fr;align-items:start}
.venue-gallery img{height:auto;aspect-ratio:3/2;object-fit:contain}
.menu-course>p{font-size:16px;line-height:1.6;min-height:0;margin:16px 0 0}
@media(max-width:650px){.venue-gallery{grid-template-columns:1fr}.venue-gallery img{height:auto;aspect-ratio:3/2}.photo-credit{grid-column:1}}

/* Sala in primo piano, cucina e accoglienza in una composizione compatta. */
.venue-grid{grid-template-columns:.72fr 1.6fr;gap:32px}
.venue-mosaic{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:176px 176px auto;gap:10px;align-items:stretch}
.venue-mosaic figure{min-width:0;min-height:0;background:#d6c6ae}
.venue-mosaic img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.venue-mosaic .venue-room{grid-column:1/3;grid-row:1/3}
.venue-mosaic .venue-room img{object-position:42% center}
.venue-mosaic .venue-food img{object-position:center 63%}
.venue-mosaic .venue-drink img{object-position:center 62%}
.venue-mosaic .venue-staff img{object-position:center top}
.venue-mosaic .venue-counter img{object-position:57% center}
.venue-mosaic .photo-credit{grid-column:1/-1;margin-top:2px}
@media(max-width:1000px){.venue-grid{grid-template-columns:1fr;gap:24px}.venue-copy>p{max-width:620px}.venue-mosaic{grid-template-rows:170px 170px auto}}
@media(max-width:650px){.venue-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto 150px 150px auto;gap:9px}.venue-mosaic .venue-room{grid-column:1/-1;grid-row:1;aspect-ratio:3/2}.venue-mosaic .venue-room img{object-fit:contain}.venue-mosaic .photo-credit{font-size:10px;text-align:left}}

/* Sei scatti, incluse le due fotografie scelte dall'organizzatore. */
.venue-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:190px 190px auto}
.venue-mosaic .venue-room{grid-column:auto;grid-row:auto;aspect-ratio:auto}
.venue-mosaic .venue-staff img{object-position:center 43%}
.venue-mosaic .venue-bottles img{object-position:center 45%}
@media(max-width:650px){.venue-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:165px 165px 165px auto}.venue-mosaic .venue-room{grid-column:auto;grid-row:auto;aspect-ratio:auto}.venue-mosaic .venue-room img{object-fit:cover}}

/* Frecce vettoriali: stesso disegno su desktop e mobile, senza emoji. */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
