:root{--cream:#f3f0e7;--pearl:#eae6da;--wine:#651c32;--wine-dark:#481324;--olive:#555d35;--sage:#e6e9dc;--ink:#30332c;--muted:#68695e;--line:#d8d4c7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1,h2{letter-spacing:-.035em}h2{font-size:clamp(36px,4vw,54px);color:var(--wine)}h3{font-size:25px}h2 em{color:var(--olive);font-weight:400}p+p{margin-top:18px}strong{font-weight:700}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.section-label{display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--olive);font-weight:700;margin-bottom:34px}.section-label span{border:1px solid #bfc4ac;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;letter-spacing:0}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--olive);line-height:1.5}.eyebrow.light{color:#e5e5cf}.little-line{display:inline-block;width:30px;height:1px;background:currentColor;vertical-align:middle;margin-right:7px}.lead{font-family:var(--serif);font-size:24px;line-height:1.45}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--wine);color:#fff8eb;border:1px solid var(--wine);border-radius:5px;padding:14px 24px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4;transition:background .18s,transform .18s}.button:hover{background:var(--wine-dark);transform:translateY(-2px)}.button:active{transform:none}.button-small{min-height:45px;font-size:12px;padding:12px 18px;gap:20px}.button-cream{background:var(--cream);border-color:var(--cream);color:var(--wine)}.button-cream:hover{background:#fff;color:var(--wine)}.button-outline{border-color:var(--olive);color:var(--olive);background:transparent}.button-outline:hover{background:var(--olive);color:white}.text-link{font-size:14px;font-weight:700;color:var(--olive);text-decoration:none;border-bottom:1px solid #b6bba5;padding-bottom:6px;display:inline-flex;gap:20px;align-items:center}.light.text-link{color:#fff5e5;border-bottom-color:#b4a694}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #a67828;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:15px;z-index:99;background:white;padding:10px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:rgba(243,240,231,.98);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:100px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none}.brand img{width:112px;height:74px;object-fit:contain}.brand>span{border-left:1px solid var(--line);padding-left:18px;font-family:var(--serif);color:var(--wine);font-size:21px;line-height:1.3}.brand small{font:8px/1.7 var(--sans);letter-spacing:.1em;color:var(--olive)}nav{display:flex;gap:25px;align-items:center}nav>a:not(.button){font-size:12px;text-decoration:none}nav>a:hover{color:var(--wine)}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;background:#372418;color:#fff6e8;min-height:640px}.hero-image{position:absolute;inset:0;z-index:-2;background:url('assets/elena-cucina.webp') center 48%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,20,13,.86) 0%,rgba(28,20,13,.68) 37%,rgba(28,20,13,.16) 72%,rgba(28,20,13,.05) 100%)}.hero-inner{min-height:640px;display:flex;align-items:center;padding-block:65px}.hero-copy{max-width:660px}.hero h1{font-size:clamp(46px,4.6vw,68px);margin-top:22px;line-height:1.08;font-weight:400}.hero-subtitle{font-family:var(--serif);font-size:29px;margin-top:22px;line-height:1.25}.hero-subtitle em{color:#dfdfb7}.hero-description{font-size:16px;line-height:1.7;max-width:470px;margin-top:24px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.hero-note{font-size:11px;color:#ece0cd;margin-top:24px}.hero-caption{position:absolute;right:40px;bottom:22px;font-family:var(--serif);font-style:italic;font-size:14px;color:#fff6e6}.facts{display:grid;grid-template-columns:1.3fr .95fr .95fr 1.1fr;padding-block:32px;border-bottom:1px solid var(--line);gap:20px}.facts>div{display:flex;align-items:center;gap:12px}.facts img{width:40px;height:40px;object-fit:contain}.facts p{font-size:13px;line-height:1.5}.facts p span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.facts strong{font-weight:600}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.method-text{padding-top:4px}.method-text>p:not(.lead){font-size:16px}.method-signoff{color:var(--olive);font-family:var(--serif);font-style:italic;font-size:21px!important}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);margin-top:58px;padding-top:30px}.pillars span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--olive)}.pillars h3{color:var(--wine);margin-top:10px;font-size:27px}.pillars p{font-size:14px;line-height:1.65;margin-top:12px;max-width:290px}.audience-section{background:#e8ebdf}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{max-width:390px;font-size:15px;line-height:1.7}.audience-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:start}.audience-list article{display:flex;gap:22px;padding:24px 0;border-top:1px solid #c8cdba}.audience-list article:last-child{padding-bottom:0}.list-number{font-family:var(--serif);color:var(--olive);font-size:16px;line-height:1.5}.audience-list h3{font-size:24px;color:var(--wine);line-height:1.25}.audience-list p{font-size:15px;line-height:1.7;margin-top:10px}.benefits{padding:34px;background:var(--cream);border-top:3px solid var(--olive)}.benefits h3{font-size:33px;color:var(--wine);margin-top:14px}.benefits ul{padding:0;list-style:none;margin:22px 0 28px}.benefits li{border-bottom:1px solid var(--line);padding:18px 0;font-size:14px}.benefits li:last-child{border:0;padding-bottom:0}.benefits li strong{color:var(--olive)}.experience-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}.experience h2{margin-bottom:30px}.experience p:not(.lead){font-size:15px}.experience .lead{margin-bottom:16px}.experience-details article{display:flex;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.experience-details article:first-child{padding-top:0}.experience-details article:last-child{border:0}.experience-details img{width:49px;height:49px;object-fit:contain;flex:none}.experience-details h3{color:var(--wine);font-size:25px}.experience-details p{margin-top:10px}.ingredients-banner{position:relative;height:440px;isolation:isolate;color:#fff8e8;overflow:hidden}.ingredients-banner>img{height:100%;width:100%;object-fit:cover;object-position:center 65%;position:absolute;inset:0;z-index:-2}.ingredients-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,24,12,.8),rgba(20,24,12,.04) 85%);z-index:-1}.ingredients-caption{position:absolute;bottom:44px;left:max(48px,calc((100% - 1180px)/2))}.ingredients-caption>p:last-child{font:38px/1.25 var(--serif);margin-top:15px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.program-grid article{border-top:1px solid var(--olive);display:flex;flex-direction:column;padding:24px 0 0}.program-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.program-top>span{font-family:var(--serif);font-size:16px;color:#8c927b}.program-top img{width:70px;height:70px;object-fit:contain}.program-grid h3{font-size:28px;color:var(--wine);min-height:64px}.program-grid p{font-size:14px;margin-top:16px;line-height:1.7}.program-tag{display:block;margin-top:auto;padding-top:24px;font-size:10px;color:var(--olive);line-height:1.7}.expectations{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:30px;margin-top:65px;display:grid;grid-template-columns:1fr 2fr;gap:55px}.expectations h3{font-size:27px;color:var(--wine)}.expectations p{font-size:14px}.closing-thought{text-align:center;font:30px/1.4 var(--serif);color:var(--wine);margin-top:50px}.closing-thought em{color:var(--olive)}.booking-section{background:var(--wine);color:#f8f0e4}.booking-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:start}.booking-intro{padding-top:15px}.booking-intro h2{color:#fff7e8;margin-block:25px;font-size:49px}.booking-intro h2 em{color:#d9dcb9}.booking-intro>p:not(.eyebrow){max-width:400px;font-size:16px}.location{display:flex;gap:15px;border-top:1px solid #955467;margin-top:40px;padding-top:30px}.location-mark{font-size:35px;line-height:1.3}.location strong{font-family:var(--serif);font-size:23px;font-weight:400}.location p{font-size:14px}.location a{font-size:12px}.booking-help{margin-top:38px!important}.whatsapp-link{display:inline-block;margin-top:12px;font-weight:700;font-size:14px}.booking-card{background:var(--cream);color:var(--ink);padding:40px;border-radius:8px;box-shadow:0 16px 60px #390d2228}.booking-card h3{font-size:37px;color:var(--wine);margin-top:14px}.booking-date{font-size:14px;line-height:1.6;margin-top:20px}.price{display:flex;align-items:baseline;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.price>strong{font:64px/1.1 var(--serif);color:var(--wine);letter-spacing:-.05em}.price strong span{font-size:37px}.price>span{font-size:13px;color:var(--muted)}.included{padding:0;list-style:none;font-size:13px;margin:20px 0}.included li{padding-left:21px;position:relative;margin-top:6px}.included li:before{content:'✓';position:absolute;left:0;color:var(--olive)}.deposit{padding:18px 0;border-block:1px solid var(--line);margin-bottom:22px;font-size:13px}.deposit span{display:flex;justify-content:space-between;gap:10px}.deposit span+span{margin-top:7px}.booking-card>.button{display:flex;width:100%;font-size:16px}.payment-note{text-align:center;font-size:11px;line-height:1.6;margin-top:12px}.participant-note{font-size:11px;line-height:1.65;color:var(--muted);margin-top:17px}.group-note{text-align:center;font-size:11px;color:var(--olive);font-weight:700;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-section>div>p{margin-top:24px;font-size:15px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font:21px/1.4 var(--serif);color:var(--wine);padding:22px 0}summary::-webkit-details-marker{display:none}summary:after{content:'+';font:25px var(--sans);color:var(--olive)}details[open] summary:after{content:'−'}details>p{padding:0 30px 24px 0;font-size:15px;line-height:1.75}.next-dates{border-top:1px solid var(--line);padding-block:55px 75px;display:flex;align-items:center;justify-content:space-between;gap:40px}.next-dates h2{font-size:37px;margin-top:12px}.next-dates p:not(.eyebrow){font-size:14px;margin-top:18px}.next-dates .button{flex:none}footer{background:#e7e3d7;padding-top:50px}.footer-main{display:grid;grid-template-columns:175px 1fr auto;gap:45px;align-items:center;padding-bottom:40px}.footer-brand img{width:158px;height:104px;object-fit:contain}.footer-main>p{font-size:13px;line-height:1.85}.footer-main em{color:var(--wine);display:block;margin-top:7px;font-family:var(--serif);font-size:16px}.footer-main address{font-style:normal;font-size:12px;display:grid;gap:7px}.footer-main address a{text-decoration:none}.footer-bottom{border-top:1px solid #cec9bc;padding-block:24px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:#585b4d}.footer-bottom>div{display:flex;gap:22px;align-items:start}.mobile-booking{display:none}
.not-found .eyebrow{margin-top:40px}.not-found h1{font-size:48px;margin:20px 0;color:var(--wine)}
@media(min-width:1600px){.hero-image{background-position:center 42%}.hero,.hero-inner{min-height:720px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:16px}.brand>span{display:none}.method-grid,.audience-grid,.experience-grid,.booking-grid{gap:44px}.facts{grid-template-columns:repeat(2,1fr);row-gap:22px}.program-grid{grid-template-columns:repeat(2,1fr);row-gap:40px}.program-grid h3{min-height:0}.program-grid p{max-width:350px}.program-tag{padding-top:18px}.faq-section{gap:45px}.footer-main{gap:25px}.footer-bottom{flex-wrap:wrap}.hero h1{font-size:57px}.hero-copy{max-width:580px}}
@media(max-width:760px){html{scroll-padding-top:90px}body{font-size:16px}.wrap{width:calc(100% - 40px)}.section{padding-block:62px}h2{font-size:37px}.section-label{margin-bottom:26px;font-size:10px}.header-inner{min-height:82px;gap:12px}.brand img{width:93px;height:66px}.brand>span{display:block;font-size:17px;padding-left:12px}.brand{gap:12px}.brand small{font-size:6.5px}.menu-toggle{display:grid;place-items:center;background:none;border:1px solid var(--line);width:44px;height:44px;flex:none;border-radius:4px;cursor:pointer}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:20px;height:1.5px;background:var(--olive);position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;top:-6px}.menu-lines:after{top:6px}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 8px 12px #30201812}nav.is-open{display:flex}nav>a:not(.button){font-size:16px;padding:12px 0;border-bottom:1px solid var(--line)}nav>.button{margin-top:14px}.hero{min-height:690px}.hero-inner{min-height:690px;align-items:flex-end;padding-block:55px 40px}.hero-image{background-position:68% center}.hero:before{background:linear-gradient(0deg,rgba(26,20,14,.95),rgba(26,20,14,.8) 44%,rgba(26,20,14,.12) 100%)}.hero-copy{width:100%}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero h1{font-size:43px;line-height:1.08;margin-top:18px;max-width:440px}.hero-subtitle{font-size:24px;margin-top:18px}.hero-description{font-size:15px;max-width:440px;margin-top:22px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:25px}.hero .button{padding-inline:20px;font-size:14px;gap:20px}.hero .text-link{font-size:12px}.hero-note{font-size:10px;max-width:270px;line-height:1.7;margin-top:20px}.hero-caption{display:none}.facts{grid-template-columns:1fr;padding-block:26px;gap:18px}.facts img{width:34px;height:34px}.facts>div{gap:14px}.facts p{font-size:14px}.facts p span{font-size:10px;margin-bottom:1px}.method-grid,.audience-grid,.experience-grid,.booking-grid,.faq-section{grid-template-columns:1fr;gap:30px}.method-grid h2 br{display:none}.method-grid h2 em{display:block;margin-top:8px}.lead{font-size:22px}.method-text>p:not(.lead){font-size:16px}.pillars{grid-template-columns:1fr;gap:24px;margin-top:35px;padding-top:25px}.pillars>div{border-bottom:1px solid var(--line);padding-bottom:22px}.pillars>div:last-child{border:0;padding-bottom:0}.pillars h3{font-size:27px;margin-top:6px}.pillars p{font-size:15px;max-width:none;margin-top:8px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;max-width:none;font-size:16px}.audience-list article{gap:14px;padding:24px 0}.audience-list h3{font-size:24px}.audience-list p{font-size:16px}.list-number{font-size:14px}.benefits{padding:27px;margin-top:5px}.benefits h3{font-size:33px}.benefits li{font-size:16px}.experience h2{margin-bottom:25px}.experience p:not(.lead){font-size:16px}.experience-details article{gap:16px;padding-block:23px}.experience-details img{width:44px;height:44px}.experience-details h3{font-size:24px}.ingredients-banner{height:350px}.ingredients-banner>img{object-position:60% center}.ingredients-caption{left:20px;right:20px;bottom:30px}.ingredients-caption .eyebrow{font-size:9px}.ingredients-caption>p:last-child{font-size:28px}.program .section-heading h2{font-size:36px}.program-grid{grid-template-columns:1fr;gap:0}.program-grid article{position:relative;padding:25px 0 25px 80px;display:block}.program-top{position:absolute;left:0;top:25px;margin:0;display:block}.program-top img{width:58px;height:58px}.program-top>span{display:none}.program-grid h3{font-size:26px}.program-grid h3 br{display:none}.program-grid p{font-size:16px;max-width:none;margin-top:10px}.program-tag{font-size:10px;margin-top:12px;padding:0}.expectations{grid-template-columns:1fr;gap:18px;margin-top:26px;padding-block:26px}.expectations h3{font-size:27px}.expectations p{font-size:15px}.closing-thought{font-size:27px;margin-top:32px}.booking-grid{gap:35px}.booking-intro{padding-top:0}.booking-intro h2{font-size:39px}.booking-intro>p:not(.eyebrow){font-size:16px;max-width:none}.location{margin-top:28px;padding-top:25px}.booking-help{margin-top:25px!important}.booking-card{padding:28px 24px}.booking-card h3{font-size:35px}.booking-date{font-size:16px}.price>strong{font-size:65px}.included{font-size:14px}.deposit{font-size:14px}.payment-note{font-size:12px}.participant-note{font-size:12px}.group-note{font-size:12px}.faq-section{gap:28px}.faq-section>div>p{font-size:16px;margin-top:20px}.faq-section h2{font-size:37px}summary{font-size:22px;padding-block:21px}details>p{font-size:16px;padding-right:15px}.next-dates{padding-block:38px 55px;display:block}.next-dates h2{font-size:32px}.next-dates p:not(.eyebrow){font-size:16px}.next-dates .button{display:flex;margin-top:25px;width:100%}.footer-main{grid-template-columns:1fr;gap:25px;align-items:start;padding-bottom:30px}.footer-brand img{width:145px;height:96px}.footer-main>p{font-size:14px}.footer-main address{font-size:14px}.footer-bottom{font-size:11px;padding-bottom:105px;gap:20px}.footer-bottom>div{gap:15px;flex-wrap:wrap}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--cream);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:14px;align-items:center;justify-content:space-between;box-shadow:0 -5px 15px #3020180c}.mobile-booking p{font-size:12px;line-height:1.5}.mobile-booking p span{display:block;font-size:10px}.mobile-booking .button{font-size:13px;padding:12px 16px;min-height:45px}.mobile-booking.is-hidden{visibility:hidden;pointer-events:none}}
@media(max-width:360px){.brand>span{display:none}.hero h1{font-size:38px}.hero-actions{gap:17px}.hero .text-link{font-size:11px}.booking-card{padding:25px 20px}.mobile-booking{padding-inline:14px;gap:10px}.mobile-booking .button{font-size:12px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.mobile-booking,.hero-actions,.booking-card>.button,.next-dates,.footer-bottom>div{display:none}.hero{color:var(--ink);background:white;min-height:0}.hero:before,.hero-image{display:none}.hero-inner{min-height:0}.hero .eyebrow,.hero-note,.hero-subtitle em{color:var(--olive)}.section{padding-block:28px}.wrap{width:90%}.booking-section{background:white;color:var(--ink)}.booking-intro h2{color:var(--wine)}.booking-intro h2 em{color:var(--olive)}details>p{display:block}h2{break-after:avoid}article{break-inside:avoid}}
