@font-face{font-family:"League Spartan";src:url('league-spartan-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Barlow;src:url('BarlowCondensed-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Henny Penny";src:url('HennyPenny-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--wine:#681f2d;--wine-dark:#401421;--ink:#35161d;--cream:#f7f0e1;--paper:#fcf9f2;--gold:#b28b54;--gold-light:#ddc69f;--sage:#304b3d;--muted:#75645b;--line:#b28b5470;--gap:22px;--serif:Georgia,'Times New Roman',serif;--body:Barlow,'Arial Narrow',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font:20px/1.5 var(--body);padding-bottom:87px;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none;text-underline-offset:6px}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
::selection{background:var(--wine);color:var(--cream)}
.wrap{width:calc(100% - 2 * var(--gap));max-width:1240px;margin-inline:auto}
.skip-link{position:fixed;top:14px;left:20px;z-index:100;background:var(--wine);color:var(--cream);padding:12px 20px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.header{position:sticky;top:0;z-index:20;background:#f7f0e1f5;backdrop-filter:blur(12px);border-bottom:1px solid #b28b5435}
.header:before{content:'';display:block;height:4px;background:repeating-linear-gradient(90deg,var(--wine) 0 24px,var(--cream) 24px 38px,var(--gold) 38px 40px,var(--cream) 40px 46px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:88px}
.brand{width:116px;flex:none;text-align:center;padding-block:10px}
.brand img{width:100%}
.brand span{display:block;font-size:11px;line-height:1.3;letter-spacing:.22em;text-transform:uppercase;margin-top:8px;color:var(--wine)}
.desktop-nav{display:none;gap:30px}
.header-contact{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;border-bottom:1px solid var(--wine);font-size:17px;line-height:1.2}
.eyebrow{font-size:13px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;color:var(--wine);margin-bottom:22px}
.number{margin-right:12px;opacity:.7}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(34px,8.7vw,62px);line-height:1.14;letter-spacing:-.045em}
h2{font-size:clamp(31px,8.1vw,44px);line-height:1.2;letter-spacing:-.035em}
h1 em,h2 em{font-family:"Henny Penny",Georgia,serif;font-weight:400;font-style:normal;letter-spacing:0}
h2 em{display:block;font-size:.82em;line-height:1.6;margin-top:13px}
.hero{position:relative;padding:38px 0 54px;isolation:isolate}

.hero-copy{position:relative;z-index:2}
.hero .eyebrow{font-size:12px;margin-bottom:18px}
.hero-finale{display:block;line-height:1.42}
.hero-finale em{font-size:1.06em;line-height:1.5;margin-left:8px}
.hero-intro{font-size:21px;line-height:1.45;max-width:410px;margin-top:16px;color:var(--sage)}
.hero-dates{display:flex;align-items:center;gap:10px;font-size:16px;margin-top:22px;line-height:1.35}
.tiny-star{color:var(--wine);font-size:14px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:24px}
.button{border:1px solid var(--wine);background:var(--wine);color:var(--cream);padding:16px 24px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;font-size:19px;cursor:pointer;transition:background .18s,color .18s}
.button:hover{background:var(--wine-dark);border-color:var(--wine-dark)}
.button-outline{color:var(--wine);background:transparent}
.button-outline:hover{background:var(--wine);color:var(--cream)}
.text-link{display:inline-flex;align-items:center;min-height:44px;padding-block:9px;font-size:19px;border-bottom:1px solid var(--gold);line-height:1.3}
.text-link:hover{color:var(--wine)}
.hero-note{font-size:15px;line-height:1.5;color:var(--muted);margin-top:17px}
.hero-note strong{font-weight:400;color:var(--wine)}
.hero-visual{position:relative;margin:34px 0 0 0}
.hero-visual picture{display:block;position:relative;z-index:1}
.hero-visual img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 33%}
.image-outline{position:absolute;inset:12px -9px -12px 10px;border:1px solid var(--gold);pointer-events:none}
.visual-seal{display:none}
.occasion-strip{background:var(--wine);color:var(--cream);padding:23px 0;border-block:1px solid #b28b5455}
.occasion-strip .wrap{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;text-align:center;font-size:17px;line-height:1.25}
.occasion-strip i{font-style:normal;color:var(--gold-light);font-size:11px}
.section{padding-block:72px}
.experience{display:grid;gap:38px}
.experience-photo{display:none}
.experience-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 32%}
.experience-copy h2 em{font-size:.76em;line-height:1.6}
.experience-copy>p:not(.eyebrow){max-width:460px;margin-top:22px;color:var(--sage);font-size:21px;line-height:1.55}
.experience-copy .text-link{margin-top:22px}
.easy-host{background:var(--wine);color:var(--cream);padding-block:65px;position:relative}
.easy-host:before{content:'';position:absolute;top:10px;left:12px;right:12px;height:1px;background:#ddc69f60}
.easy-host .eyebrow{color:var(--gold-light)}
.easy-grid{display:grid;gap:30px}
.easy-host h2{font-size:clamp(32px,8.3vw,45px);max-width:520px}
.easy-host h2 em{font-size:1.03em;line-height:1.5;color:var(--gold-light)}
.easy-copy .lead{font-size:25px;line-height:1.4}
.easy-copy>p+p{font-size:20px;line-height:1.5;margin-top:20px;color:#ebddce}
.host-steps{list-style:none;padding:0;margin:30px 0 0}
.host-steps li{display:flex;gap:18px;padding:19px 0;border-top:1px solid #ddc69f50}
.host-steps li>span{font:17px var(--serif);color:var(--gold-light);padding-top:5px}
.host-steps strong{font-size:21px;font-weight:400}
.host-steps p{font-size:18px;color:#ebddce;margin-top:2px}
.formulas-section{padding-bottom:54px}
.section-heading{display:grid;gap:20px;margin-bottom:34px}
.section-heading h2 em{font-size:.76em;line-height:1.6}
.section-aside{font-size:21px;line-height:1.5;max-width:350px;color:var(--sage)}
.formula-grid{display:grid;gap:20px}
.formula-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:28px;background:var(--paper);position:relative}
.formula-index{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.formula-card h3{font-size:26px;line-height:1.25;letter-spacing:-.025em}
.price{font:64px/1 var(--serif);letter-spacing:-.06em;color:var(--wine);margin-top:24px}
.price span{font-size:30px;margin-left:9px;vertical-align:top;display:inline-block;margin-top:9px;letter-spacing:0}
.per-person{font-size:15px;color:var(--muted);margin-top:10px}
.formula-description{font-size:21px;line-height:1.4;margin-top:24px;color:var(--sage)}
.formula-card ul{list-style:none;padding:0;margin:24px 0 28px;font-size:19px}
.formula-card li{position:relative;padding:5px 0 5px 19px}
.formula-card li:before{content:'·';position:absolute;left:0;color:var(--wine)}
.formula-link{font-size:18px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:17px;margin-top:auto;color:var(--wine)}
.formula-link:hover{text-decoration:underline}

.formula-card.chosen{outline:2px solid var(--wine);outline-offset:3px}
.shared-inclusions{margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}
.shared-inclusions .eyebrow{margin-bottom:24px}
.shared-inclusions ul{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px;list-style:none;padding:0;margin:0}
.shared-inclusions strong{font:17px/1.35 var(--serif);display:block}
.shared-inclusions span{font-size:18px;line-height:1.35;color:var(--sage);display:block;margin-top:8px}
.availability-note{font-size:16px;color:var(--muted);margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.menu-section{background:#eee5d5;padding-block:60px}
.menu-grid{display:grid;gap:38px}
.menu-intro>p:not(.eyebrow){font-size:21px;line-height:1.5;color:var(--sage);margin-top:24px;max-width:370px}
.menu-intro .button{margin-top:25px;padding-inline:19px;font-size:18px}
.menu-original{display:table;margin-top:12px;font-size:17px}
details{border-bottom:1px solid var(--line)}
summary{position:relative;cursor:pointer;list-style:none;padding-right:30px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:0;top:23px;font:27px/1 var(--body);color:var(--wine)}
details[open]>summary:after{content:'−'}
.menu-courses details:first-child{border-top:1px solid var(--line)}
.menu-courses summary{padding-block:22px;display:flex;flex-direction:column;gap:7px}
.menu-courses summary span{font:25px var(--serif);color:var(--wine)}
.menu-courses summary small{font-size:16px;color:var(--muted)}
.menu-courses ul{margin:0;padding:0 0 22px 0;list-style:none;color:var(--sage);font-size:20px}
.menu-courses li{padding:7px 0}
.menu-close{display:flex;align-items:center;gap:12px;font-size:18px;color:var(--wine);margin-top:24px}
.menu-close span{font-size:13px}
.after-dinner{position:relative;background:var(--wine-dark);color:var(--cream)}
.after-photo{position:relative}
.after-photo img{width:100%;aspect-ratio:1.25;object-fit:cover;object-position:45% 50%}
.after-copy{position:relative;padding-block:40px 52px}
.after-copy .eyebrow{color:var(--gold-light);font-size:12px}
.after-copy h2 em{font-size:.88em;line-height:1.55;color:var(--gold-light)}
.after-copy>p:not(.eyebrow){font-size:21px;line-height:1.5;max-width:430px;margin-top:20px}
.after-copy .text-link{margin-top:18px}
.after-copy .text-link:hover{color:var(--gold-light)}
.request-section{position:relative;overflow:hidden}

.request-grid{display:grid;gap:35px;position:relative}
.request-copy h2 em{font-size:.76em;line-height:1.6}
.request-copy>p:not(.eyebrow){font-size:21px;line-height:1.5;max-width:400px;color:var(--sage);margin-top:24px}
.contact-direct{margin-top:28px;display:flex;flex-direction:column;align-items:flex-start}
.contact-direct a{font-size:20px;text-decoration:underline;text-decoration-color:var(--gold);min-height:44px;padding-block:10px}
.contact-direct span{font:25px var(--serif);color:var(--wine);margin-top:7px}
.request-copy address{font-style:normal;font-size:19px;line-height:1.5;margin-top:28px;color:var(--sage)}
.request-copy>.text-link{font-size:18px;margin-top:8px}
.request-panel{border:1px solid var(--line);padding:25px 21px;background:var(--paper)}
.form-heading{margin-bottom:26px}
.form-heading h3{font-size:25px;line-height:1.3}
.form-heading p{font-size:14px;color:var(--muted);margin-top:9px}
.form-fields{display:grid;gap:20px}
.field{min-width:0}
.field label{display:block;font-size:18px;margin-bottom:8px}
.field input,.field select,.field textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #b28b5480;border-radius:0;background:#fffdf9;color:var(--ink);padding:11px 12px;font-size:19px;line-height:1.35;box-shadow:none;appearance:none}
.field select{appearance:auto;padding-right:8px}
.field textarea{resize:vertical;min-height:82px}
.field small{display:block;font-size:14px;color:var(--muted);margin-top:7px}
.field input[type=date]{min-height:49px;max-width:100%}
.field input::placeholder,.field textarea::placeholder{color:#807168;opacity:1}
.request-panel button{width:100%;margin-top:25px;font-size:18px;padding-inline:12px}
.form-note{font-size:15px;line-height:1.5;color:var(--muted);margin-top:14px}
.request-panel noscript p{margin-block:22px}
[hidden]{display:none!important}
.questions{display:grid;gap:25px;padding-bottom:75px}
.questions h2{font-size:33px}
.question-list summary{padding-block:22px;font-size:21px;line-height:1.4}
.question-list p{padding:0 22px 25px 0;font-size:20px;color:var(--sage)}
.question-list details:first-child{border-top:1px solid var(--line)}
.footer{background:var(--wine-dark);color:var(--cream);padding-block:38px 25px}
.footer-main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:28px}
.footer-main img{width:115px;height:auto}
.footer-main>a{padding-block:7px}
.footer-main>p{font:17px/1.6 var(--serif);color:#e7d8c6}
.footer-main>div{display:flex;flex-wrap:wrap;gap:5px 20px;width:100%}
.footer-main>div a{min-height:44px;padding-block:10px;font-size:17px}
.footer-bottom{border-top:1px solid #ddc69f40;margin-top:25px;padding-top:22px;font-size:14px;color:#d9c6b3;display:flex;flex-direction:column;gap:8px}
.mobile-cta{position:fixed;inset:auto 0 0;z-index:25;background:var(--cream);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px))}
.mobile-cta p{font-size:15px;line-height:1.25;flex:none}
.mobile-cta strong{font-weight:400;font:25px var(--serif);margin-left:3px}
.mobile-cta p span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.mobile-cta .button{min-height:50px;padding:12px 18px;font-size:18px;flex:1;max-width:230px}
@media(max-width:359px){
 :root{--gap:20px}
 .brand{width:101px}
 .header-contact{font-size:16px;max-width:130px}
 .hero h1{font-size:31px}
 .hero .eyebrow{font-size:11px}
 .hero-intro{font-size:20px}
 .hero-actions{column-gap:18px}
 .hero-actions .button{font-size:18px;padding-inline:17px}
 .hero-note{font-size:14px}
 .hero-dates{font-size:15px}
 .occasion-strip .wrap{font-size:15px;gap:7px}
 .request-panel{padding:22px 16px}
 .shared-inclusions ul{gap:22px 16px}
 .mobile-cta{padding-inline:20px;gap:12px}
 .mobile-cta .button{font-size:17px;padding-inline:14px}
}
@media(min-width:600px){
 :root{--gap:36px}
 .hero-copy{max-width:560px}
 .hero-visual img{aspect-ratio:1.25}
 .hero h1{font-size:49px}
 .hero-intro{max-width:470px}
 .experience{grid-template-columns:1fr;align-items:center;gap:34px}
 .experience-photo img{aspect-ratio:3/5}
 .experience-copy h2{font-size:30px}
 .experience-copy h2 em{font-size:.76em}
 .experience-copy>p:not(.eyebrow){font-size:20px}
 .form-fields{grid-template-columns:1fr 1fr}
 .field.full{grid-column:1/-1}
 .request-panel{padding:32px}
 .menu-courses summary{flex-direction:row;justify-content:space-between;align-items:center;padding-right:35px;gap:20px}
 .occasion-strip .wrap{font-size:21px;gap:20px}
}
@media(min-width:760px){
 :root{--gap:44px}
 .header-inner{min-height:100px}
 .brand{width:140px}
 .desktop-nav{display:flex;font-size:18px}
 .header-contact{font-size:18px}
 body{padding-bottom:0}
 .hero{padding:50px 0 78px}
 .hero-grid{display:grid;grid-template-columns:.95fr 1fr;gap:30px;align-items:center}
 .hero .eyebrow{font-size:12px}
 .hero h1{font-size:clamp(35px,4.1vw,58px)}
 .hero-finale{white-space:nowrap}
 .hero-intro{font-size:21px}
 .hero-dates{font-size:16px}
 .hero-actions{gap:12px 22px}
 .hero-actions .button{font-size:18px;padding-inline:20px}
 .hero-note{font-size:15px}
 .hero-visual{margin:0}
 .hero-visual img{height:570px;aspect-ratio:auto;object-position:53% 65%}
 .image-outline{inset:16px -12px -16px 14px}

 .experience{grid-template-columns:.9fr 1fr;align-items:center;gap:34px}
 .experience-photo{display:block}
 .section{padding-block:98px}
 .easy-host{padding-block:88px}
 .easy-grid{grid-template-columns:1fr 1.05fr;gap:55px}
 .easy-host h2{font-size:38px}
 .easy-copy .lead{font-size:26px}
 .section-heading{grid-template-columns:1.5fr 1fr;gap:45px;align-items:end;margin-bottom:42px}
 .section-heading h2{font-size:38px}
 .section-aside{font-size:21px}
 .formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .formula-card{padding:25px 20px}
 .formula-card h3{font-size:22px;min-height:56px}
 .formula-index{font-size:11px}
 .price{font-size:62px}
 .per-person{font-size:13px}
 .formula-description{font-size:20px;min-height:86px}
 .formula-card ul{font-size:18px}
 .formula-link{font-size:17px;min-height:64px;line-height:1.3}
 .shared-inclusions{padding-top:32px;margin-top:42px}
 .shared-inclusions ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
 .shared-inclusions strong{font-size:17px}
 .shared-inclusions span{font-size:19px}
 .menu-grid{grid-template-columns:1fr 1.15fr;gap:60px}
 .menu-intro h2{font-size:36px}
 .menu-intro h2 em{font-size:.76em}
 .after-photo img{aspect-ratio:1.8;object-position:center 50%}
 .after-copy{padding-block:46px 60px;display:grid;grid-template-columns:1.2fr 1fr;column-gap:50px;align-items:end}
 .after-copy .eyebrow{grid-column:1/-1}
 .after-copy h2{grid-row:2/4;font-size:39px}
 .after-copy>p:not(.eyebrow){font-size:21px;margin:0}
 .after-copy .text-link{justify-self:start}
 .request-grid{grid-template-columns:.9fr 1.1fr;gap:45px;align-items:start}
 .request-copy h2{font-size:37px}
 .request-copy h2 em{font-size:.76em}
 .request-panel{padding:30px 25px}
 .form-fields{gap:20px 18px}
 .field label{font-size:17px;min-height:25px}
 .questions{grid-template-columns:1fr 1.35fr;gap:60px;padding-bottom:95px}
 .questions h2{font-size:38px}
 .footer-main{align-items:center;gap:35px}
 .footer-main>div{width:auto;gap:22px}
 .footer-bottom{flex-direction:row;justify-content:space-between}
 .mobile-cta{display:none}
}
@media(min-width:1100px){
 :root{--gap:60px}
 .header-inner{min-height:108px}
 .hero{padding:55px 0 90px}
 .hero-grid{grid-template-columns:.9fr 1.2fr;gap:42px}
 .hero h1{font-size:59px}
 .hero .eyebrow{font-size:13px}
 .hero-intro{font-size:23px;max-width:415px;margin-top:20px}
 .hero-actions{gap:14px 24px}
 .hero-visual img{height:615px;object-position:51% 66%}
 .visual-seal{display:block;position:absolute;bottom:-24px;right:35px;width:158px;height:158px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream);border:1px solid var(--gold);border-radius:50%;text-align:center;font:16px/1.4 var(--serif);transform:rotate(-9deg);box-shadow:0 0 0 7px #f7f0e165}
 .visual-seal span{font:19px/1.5 "Henny Penny",Georgia,serif;margin-top:4px}
 .occasion-strip{padding-block:26px}
 .occasion-strip .wrap{font-size:25px;max-width:1100px}
 .section{padding-block:120px}
 .experience{grid-template-columns:.85fr 1fr;gap:100px;max-width:1100px}
 .experience-photo img{aspect-ratio:4/5}
 .experience-copy h2{font-size:44px}
 .experience-copy>p:not(.eyebrow){font-size:23px}
 .easy-grid{grid-template-columns:1fr 1fr;gap:100px;max-width:1100px}
 .easy-host{padding-block:100px}
 .easy-host h2{font-size:45px}
 .easy-copy .lead{font-size:28px}
 .section-heading h2{font-size:45px}
 .section-heading{grid-template-columns:1.55fr 1fr;gap:90px}
 .formula-grid{gap:26px}
 .formula-card{padding:32px}
 .formula-card h3{font-size:25px}
 .formula-index{font-size:12px}
 .formula-description{font-size:22px;min-height:67px}
 .per-person{font-size:15px}
 .formula-card ul{font-size:20px;margin-bottom:35px}
 .formula-link{font-size:19px}
 .shared-inclusions{margin-top:42px}
 .shared-inclusions strong{font-size:19px}
 .shared-inclusions span{font-size:21px}
 .menu-grid{grid-template-columns:1fr 1fr;gap:120px;max-width:1100px}
 .menu-intro h2{font-size:43px}
 .menu-intro>p:not(.eyebrow){font-size:23px}
 .menu-courses summary span{font-size:28px}
 .menu-courses ul{font-size:22px}
 .after-dinner{min-height:660px}
 .after-photo{position:absolute;inset:0}
 .after-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#35101ced 0%,#35101c77 35%,transparent 75%)}
 .after-photo img{height:100%;aspect-ratio:auto;object-position:center 43%}
 .after-copy{padding:310px 0 65px;display:block;max-width:1240px}
 .after-copy h2{font-size:48px;max-width:730px}
 .after-copy h2 em{display:block;font-size:.88em;line-height:1.55;margin-left:0}
 .after-copy>p:not(.eyebrow){max-width:475px;font-size:23px;margin-top:17px}
 .request-grid{grid-template-columns:1fr 1fr;gap:95px;max-width:1100px}
 .request-copy h2{font-size:45px}
 .request-copy>p:not(.eyebrow){font-size:23px}
 .request-panel{padding:36px}

 .questions{max-width:1100px;grid-template-columns:1fr 1.2fr;gap:100px;padding-bottom:120px}
 .question-list summary{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{
 body{padding:0;background:white;color:black;font-size:12pt}
 .header,.mobile-cta,.visual-seal,.request-panel{display:none!important}
 .wrap{width:100%;max-width:none}
 .hero,.section,.easy-host{padding-block:22pt}
 .hero-grid,.experience,.easy-grid,.menu-grid,.request-grid{display:block}
 .hero-visual,.experience-photo,.after-photo{display:none}
 .easy-host,.after-dinner,.footer,.menu-section{background:white;color:black}
 .after-copy{padding:20pt 0;display:block}
 .formula-grid{grid-template-columns:repeat(3,1fr);gap:10pt}
 .formula-card{padding:14pt;break-inside:avoid}
 details{break-inside:avoid}
 details>ul,details>p{display:block!important}
 .footer{padding:20pt 0}
}

/* Il font natalizio resta un accento: dimensioni contenute sui testi lunghi. */
.menu-intro h2 em{font-size:.76em;line-height:1.6}
.menu-intro .menu-program-note{font-size:17px;line-height:1.5;color:var(--wine);margin-top:18px}
.hero-finale{white-space:normal}
.visual-seal span{max-width:130px}

/* Natale contemporaneo: oggetti interi, pieni colori e ampio spazio al contenuto. */
.standalone-garland{width:100%;max-width:520px;margin:-14px auto 24px;pointer-events:none}
.standalone-garland img{width:100%;height:auto}
.festive-baubles{position:absolute;z-index:3;right:12px;top:-22px;width:88px;height:auto;pointer-events:none;filter:drop-shadow(0 4px 4px #40142124)}
.festive-divider{display:flex;justify-content:center;align-items:center;gap:13px;color:var(--gold);margin:-20px auto 35px;max-width:190px;line-height:1;font-size:17px}
.festive-divider:before,.festive-divider:after{content:'';height:1px;flex:1;background:var(--line)}
.festive-divider span:nth-child(2){font-size:28px;color:var(--wine)}
.easy-host{position:relative;isolation:isolate;padding-top:85px}
.easy-host:before{display:none}
.festive-lights{position:absolute;top:10px;left:2%;width:96%;height:auto;max-height:65px;pointer-events:none}
.standalone-ornament{width:95px;margin:-12px 0 22px;pointer-events:none}
.standalone-ornament img{width:100%;height:auto}
.request-panel{position:relative}
@media(min-width:600px){
 .festive-baubles{width:105px;right:22px;top:-26px}
}
@media(min-width:760px){
 .hero{padding-top:32px}
 .hero-grid{align-items:center}
 .standalone-garland{margin:0 0 24px}
 .festive-baubles{width:106px;right:18px;top:-32px}
 .festive-divider{margin-top:-35px;margin-bottom:42px;max-width:240px}
 .easy-host{padding-top:100px}
 .standalone-ornament{width:115px;margin-top:0}
}
@media(min-width:1100px){
 .hero{padding-top:36px}
 .festive-baubles{width:120px;right:32px;top:-36px}
 .easy-host{padding-top:112px}
 .standalone-ornament{width:128px}
}
@media print{
 .standalone-garland,.standalone-ornament,.festive-baubles,.festive-divider,.festive-lights{display:none!important}
}

/* Identità Taste: titoli decisi, Natale nei materiali e nei contrasti. */
h1,h2{font-family:"League Spartan",Arial,sans-serif;font-weight:900;letter-spacing:-.035em}
h1{line-height:1.04}
h2{line-height:1.12}
h1 em,h2 em{font-weight:400;letter-spacing:0}
.hero-finale{line-height:1.35}
.hero-finale em{font-size:.96em}
.hero{padding-top:26px}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:9px}
.hero-copy .eyebrow:before{content:'✦';font-size:16px;color:var(--gold)}
.occasion-strip{background:var(--wine);border-block:2px solid var(--gold);position:relative}
.formula-card{border-top:3px solid var(--gold)}

.menu-section{background:#102e28;color:var(--cream);position:relative;border-block:1px solid var(--gold)}
.menu-section .eyebrow{color:var(--gold-light)}
.menu-intro h2 em{color:var(--gold-light)}
.menu-section .menu-intro>p:not(.eyebrow){color:#eee3cf}
.menu-actions{display:grid;gap:12px;margin-top:28px;max-width:390px}
.menu-intro .menu-actions .button{width:100%;margin:0;padding:16px 18px;min-height:58px;border:1px solid var(--gold-light);color:var(--cream);background:transparent;font-size:19px}
.menu-intro .menu-actions .button:hover{background:var(--cream);color:#102e28}
.menu-courses details{border-color:#ddc69f70}
.menu-courses details:first-child{border-top-color:#ddc69f70}
.menu-courses summary span{color:var(--cream)}
.menu-courses summary small{color:#dfcfae}
.menu-courses summary:after{color:var(--gold-light)}
.menu-courses ul{color:#eee3cf}
.menu-close{color:var(--gold-light)}
.menu-intro .menu-program-note{color:#dfcfae!important}
.after-copy h2{letter-spacing:-.025em}
.footer{border-top:2px solid var(--gold)}
@media(min-width:760px){
 .hero{padding-top:30px}
 .menu-actions{max-width:100%}
}
@media(min-width:1100px){
 .hero{padding-top:34px}
 .hero h1{font-size:58px}
 .menu-actions{max-width:390px}
}
@media print{
 .menu-section{background:white;color:black}
 .menu-section .menu-intro>p:not(.eyebrow),.menu-courses ul,.menu-courses summary span{color:black}
}

/* Una sola composizione tropicale natalizia, riutilizzata senza nuove richieste. */
.standalone-ornament{width:180px;margin:-8px 0 22px}
.menu-seasonal-art{width:180px;max-width:65%;margin:28px auto 0;pointer-events:none}
.menu-seasonal-art img{width:100%;height:auto}
@media(min-width:760px){
 .standalone-ornament{width:220px;margin-top:0}
 .menu-seasonal-art{width:220px;margin:28px auto 0}
}
@media print{.menu-seasonal-art{display:none!important}}

/* Angoli completi della composizione Taste, senza ritagli della grafica. */
.photo-corner{position:absolute;z-index:4;left:-10px;bottom:-22px;width:120px;pointer-events:none}
.photo-corner img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.experience-photo{position:relative}
.experience-photo:after{content:'';position:absolute;z-index:2;right:-18px;top:-24px;width:140px;height:105px;background:url('taste-natale-tropicale-240.webp') no-repeat center/contain;pointer-events:none}
.after-photo:before{content:'';position:absolute;z-index:2;left:12px;top:12px;width:115px;height:86px;background:url('taste-natale-tropicale-240.webp') no-repeat center/contain;pointer-events:none}
@media(min-width:760px){
 .photo-corner{width:170px;left:-15px;bottom:-28px}
 .experience-photo:after{width:170px;height:128px;right:-20px;top:-30px}
 .after-photo:before{width:170px;height:128px;left:24px;top:24px}
}
@media(min-width:1100px){.after-photo:before{width:195px;height:146px;left:max(24px,calc((100% - 1240px)/2));top:24px}}
@media print{.photo-corner,.experience-photo:after,.after-photo:before{display:none!important}}

/* Greca mini della stessa composizione, un solo file ripetuto via CSS. */
.holiday-frieze{height:43px;background-color:var(--cream);background-image:url('greca-taste.webp');background-repeat:repeat-x;background-position:center;background-size:240px auto;border-block:1px solid var(--line);pointer-events:none}
.holiday-frieze--wine{background-color:var(--wine)}
.holiday-frieze--dark{background-color:var(--wine-dark)}
@media(min-width:760px){.holiday-frieze{height:50px;background-size:280px auto}}
@media print{.holiday-frieze{display:none!important}}

/* Revisione 9: quattro schede verticali, promo per prima. */
.formula-badge{position:absolute;top:-14px;right:18px;background:var(--wine);color:var(--cream);padding:6px 13px;border-radius:2px;font:700 14px/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase}
.promo-condition{font-size:16px;line-height:1.4;color:var(--muted);margin:0 0 20px}
.hero-promo-note{font-size:16px;line-height:1.4;max-width:410px;color:var(--muted);margin-top:8px}
.hero-promo-note a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:760px){.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}}
@media(min-width:1100px){
 .formula-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
 .formula-card{padding:30px 22px}
 .formula-card h3{font-size:23px;min-height:58px}
 .formula-description{font-size:20px;min-height:84px}
 .formula-link{font-size:18px;min-height:100px}
 .formula-card ul{font-size:19px}
}
@media print{.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
