@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/dm-sans-latin.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 500;font-display:swap;src:url("../fonts/newsreader-latin.woff2") format("woff2")}

:root{--ivory:#f4f0e7;--paper:#fbf8f1;--forest:#18382d;--forest-2:#244c3b;--orange:#ed5a24;--orange-deep:#c94b1f;--orange-soft:#f1b092;--clay:var(--orange-deep);--ochre:var(--orange);--ink:#1c2822;--muted:#657168;--line:rgba(28,40,34,.18);--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1320px;--gutter:clamp(20px,4vw,64px);--ease:cubic-bezier(.22,1,.36,1);--radius:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}body.menu-open{overflow:hidden}::selection{background:var(--orange);color:#10271f}img{display:block;max-width:100%;background:#d8d4ca}a{color:inherit}.shell{width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto}.skip{position:fixed;z-index:200;left:1rem;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);transform:translateY(-200%);background:var(--paper);padding:0}.skip:focus-visible{width:auto;height:auto;clip-path:none;transform:translateY(1rem);padding:.8rem 1rem}.site-header{position:fixed;z-index:100;inset:0 0 auto;color:#fff;transition:background .5s var(--ease),color .5s,border .5s}.site-header.scrolled,.site-header.light{background:rgba(244,240,231,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;text-decoration:none;gap:12px}.brand img{width:58px;height:58px;object-fit:contain;background:transparent}.brand-name{font-family:var(--sans);font-size:1.2rem;font-weight:400;line-height:1}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.desktop-nav a{text-decoration:none;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:right .35s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{right:0}.menu-toggle{display:none;border:0;background:none;color:inherit;width:48px;height:48px;padding:12px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0;transition:.35s var(--ease)}.mobile-panel{display:none}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;color:white;overflow:hidden;background:var(--forest)}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroIn 1.8s var(--ease) both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,28,21,.15) 25%,rgba(12,28,21,.78) 100%)}.hero-content{position:relative;z-index:2;padding:160px 0 clamp(54px,9vw,120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);align-items:end;gap:4vw}.kicker{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em}.section>.shell>.kicker,.manifesto>.kicker,.course-copy>.kicker,.enrol-copy>.kicker,.booking-intro>.kicker,.contact-layout .kicker{color:var(--orange-deep)}.hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(3.6rem,9vw,9.5rem);font-weight:300;line-height:.83;letter-spacing:-.045em;margin:.18em 0 0;max-width:10ch}.hero-side{padding-bottom:.5rem}.hero-side p{font-size:clamp(1rem,1.35vw,1.25rem);max-width:30rem;margin:0 0 1.8rem}.text-link,.button{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.text-link:after{content:"→";font-size:1.15rem;color:var(--orange);transition:transform .3s}.text-link:hover:after{transform:translateX(6px)}.button{min-height:52px;padding:0 22px;border:1px solid currentColor;transition:background .25s,color .25s,border-color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button.solid{background:var(--orange-deep);border-color:var(--orange-deep);color:white}.button.solid:hover{background:var(--forest);border-color:var(--forest)}
main{overflow:hidden}.section{padding:clamp(80px,11vw,170px) 0}.manifesto{display:grid;grid-template-columns:.28fr 1fr;gap:6vw;align-items:start}.manifesto h2,.display{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6.8rem);font-weight:300;line-height:.96;letter-spacing:-.035em;margin:0}.manifesto p{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2.15rem);line-height:1.3;max-width:31em;margin:0}.split{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px}.split-media{min-height:620px;position:relative;overflow:hidden}.split-media img{width:100%;height:100%;object-fit:cover}.split-copy{background:var(--forest);color:#f8f3e8;padding:clamp(60px,9vw,140px) var(--gutter);display:flex;flex-direction:column;justify-content:center}.split-copy .display{max-width:8ch;margin:.2em 0 .35em}.split-copy p{max-width:35rem}.split.reverse .split-media{order:2}.split.reverse .kicker{color:var(--orange-soft)}
.journey{background:var(--paper)}.journey-head{display:grid;grid-template-columns:.8fr 1fr;gap:8vw;align-items:end;margin-bottom:clamp(50px,8vw,110px)}.journey-head p{max-width:32rem;margin:0}.journey-flow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.journey-step{padding:24px 10px 0 0;position:relative}.journey-step:before{content:"";width:9px;height:9px;background:var(--clay);border-radius:50%;position:absolute;top:-5px}.journey-step span{display:block;color:var(--clay);font-size:.66rem;letter-spacing:.16em;margin-bottom:10px}.journey-step strong{font-family:var(--serif);font-size:clamp(1.4rem,2vw,2rem);font-weight:400}
.mugello{position:relative;min-height:86svh;color:white;display:grid;align-items:end}.mugello>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mugello:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,43,32,.8),rgba(17,43,32,.08))}.mugello-copy{z-index:2;position:relative;padding:clamp(70px,10vw,140px) 0;max-width:630px}.mugello-copy .display{margin:.15em 0 .3em}.mugello-copy p{max-width:33rem}
.editorial{display:grid;grid-template-columns:.7fr 1.1fr;gap:clamp(40px,9vw,140px);align-items:start}.editorial-copy{position:sticky;top:130px}.editorial-copy .display{margin:.2em 0 .35em}.editorial-copy p{max-width:36rem}.photo-stack{display:grid;grid-template-columns:1fr .68fr;align-items:end;gap:clamp(12px,2vw,28px);padding-top:50px}.photo-stack img:first-child{width:100%;aspect-ratio:3/4;object-fit:cover}.photo-stack img:last-child{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:-90px}
.cta-band{background:var(--paper);color:var(--ink);padding:clamp(65px,8vw,110px) 0}.cta-band .shell{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}.cta-band .kicker{color:var(--orange-deep)}.cta-band h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.6rem);font-weight:300;line-height:.95;margin:.15em 0 0;max-width:12ch}.cta-band .button{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}.cta-band .button:hover{background:var(--forest);border-color:var(--forest)}
.site-footer{background:#10271f;color:#e9e5da;padding:70px 0 30px;border-top:5px solid var(--orange)}.footer-grid{display:grid;grid-template-columns:1.1fr .7fr .7fr;gap:50px}.footer-grid-two{grid-template-columns:1.1fr .7fr}.footer-title{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);line-height:1;margin:0 0 18px}.footer-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.18em;color:var(--orange-soft)}.footer-links{display:grid;gap:8px;margin-top:15px}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--orange-soft)}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:60px;padding-top:22px;font-size:.7rem;letter-spacing:.08em;color:#b9c3bd}
.page-hero{min-height:76svh;position:relative;display:grid;align-items:end;color:white;background:var(--forest)}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,30,23,.76),rgba(12,30,23,.1))}.page-hero .shell{z-index:2;padding-bottom:clamp(55px,8vw,105px)}.page-hero h1{font-size:clamp(4rem,10vw,9rem)}.prose{display:grid;grid-template-columns:.32fr 1fr;gap:7vw}.prose-body{max-width:760px}.prose-body .lead{font-family:var(--serif);font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.3;margin-top:0}.prose-body h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.8rem);font-weight:400;line-height:1;margin:1.5em 0 .4em}.gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--gutter)}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figure{margin:0;min-height:420px}.gallery figure:nth-child(3n){grid-column:1/-1;min-height:72svh}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.contact-list{border-top:1px solid var(--line);margin-top:35px}.contact-row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.contact-row span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em}.contact-row a{text-decoration:none}.map-link{margin-top:32px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media(max-width:860px){.site-header .header-inner{height:72px}.brand img{width:48px;height:48px}.brand-name{font-size:1rem}.desktop-nav{display:none}.menu-toggle{display:block}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-panel{display:flex;position:fixed;inset:0;background:var(--forest);color:white;padding:110px var(--gutter) 38px;flex-direction:column;justify-content:space-between;visibility:hidden;opacity:0;transform:translateY(-12px);transition:.45s var(--ease)}.menu-open .mobile-panel{visibility:visible;opacity:1;transform:none}.mobile-nav{display:grid}.mobile-nav a{font-family:var(--serif);font-size:clamp(2.4rem,10vw,4rem);line-height:1.25;text-decoration:none}.mobile-contact{font-size:.85rem}.hero{min-height:92svh}.hero-content{display:block;padding-bottom:52px}.hero h1{font-size:clamp(3.7rem,16vw,6.2rem);max-width:8ch;margin-top:.28em}.hero-side{margin-top:30px}.hero-side p{font-size:.95rem;max-width:26rem}.manifesto,.journey-head,.prose,.contact-layout{grid-template-columns:1fr}.manifesto{gap:26px}.manifesto p{font-size:1.5rem}.split,.split.reverse{grid-template-columns:1fr;min-height:0}.split-media,.split.reverse .split-media{order:0;min-height:58svh}.split-copy{min-height:520px;padding:72px var(--gutter)}.journey-flow{grid-template-columns:1fr}.journey-step{display:grid;grid-template-columns:45px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.journey-step:before{display:none}.journey-step span{margin:5px 0 0}.editorial{grid-template-columns:1fr}.editorial-copy{position:static}.photo-stack{margin-top:0}.cta-band .shell{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:35px}.page-hero{min-height:68svh}.gallery{grid-template-columns:1fr;gap:16px}.gallery figure,.gallery figure:nth-child(3n){grid-column:auto;min-height:56svh}.contact-row{grid-template-columns:90px 1fr}}
@media(max-width:390px){:root{--gutter:18px}.hero h1{font-size:3.55rem}.brand-name{display:none}.split-copy{min-height:480px}.photo-stack{grid-template-columns:1fr .7fr}.footer-grid{gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.course-hero{min-height:100svh;position:relative;display:grid;align-items:end;color:#fff;background:var(--forest);overflow:hidden}.course-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;animation:heroIn 1.8s var(--ease) both}.course-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,28,21,.86),rgba(11,28,21,.12))}.course-hero-content{position:relative;z-index:2;padding:150px 0 72px}.course-hero h1{font-family:var(--serif);font-size:clamp(4.2rem,10vw,10rem);font-weight:300;letter-spacing:-.05em;line-height:.82;max-width:8ch;margin:.2em 0}.course-hero p{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.85rem);max-width:25em;line-height:1.25;margin-bottom:32px}.course-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,9vw,140px);align-items:start}.course-poster{position:sticky;top:120px}.course-poster img{width:100%;box-shadow:0 20px 60px rgba(24,56,45,.14)}.course-copy .lead{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.5rem);line-height:1.25;margin-top:0}.course-copy h2,.enrol-copy h2{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.4rem);font-weight:300;line-height:1;margin:1.2em 0 .35em}.course-facts{margin:52px 0;border-top:1px solid var(--line)}.course-fact{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}.course-fact span{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.limited{color:var(--orange-deep);font-weight:600}.course-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--orange);padding:10px}.course-strip img{width:100%;height:420px;object-fit:cover}.enrolment{background:var(--paper)}.enrolment-grid{display:grid;grid-template-columns:.75fr 1fr;gap:clamp(50px,9vw,140px);align-items:start}.bank-box{background:var(--forest);color:#fff;padding:clamp(28px,4vw,52px);margin-top:36px;border-top:5px solid var(--orange)}.bank-box span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--orange-soft);margin-bottom:5px}.bank-box p{margin:0 0 22px;overflow-wrap:anywhere}.bank-box p:last-child{margin-bottom:0}.course-form{display:grid;gap:22px}.form-field{display:grid;gap:8px}.form-field label,.consent{font-size:.78rem;font-weight:600}.form-field input{width:100%;min-height:54px;border:1px solid var(--line);border-radius:0;background:#fff;padding:12px 14px;font:inherit;color:var(--ink)}.form-field input:focus{outline:2px solid var(--orange-deep);outline-offset:2px}.form-help{font-size:.77rem;color:var(--muted);margin:0}.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--orange-deep)}.consent a{color:var(--orange-deep);text-underline-offset:2px}.success-page{min-height:100svh;display:grid;place-items:center;padding:120px var(--gutter);background:var(--forest);color:#fff;text-align:center;border-top:7px solid var(--orange)}.success-page .display{margin:.2em auto .35em;max-width:10ch}.success-page p{max-width:38em;margin:0 auto 30px}.success-legal{display:block;width:max-content;margin:24px auto 0;color:var(--orange-soft);font-size:.75rem;text-underline-offset:3px}
@media(max-width:860px){.mobile-panel{padding:100px var(--gutter) 32px;overflow:auto}.mobile-nav a{font-size:clamp(2.15rem,9vw,4rem);line-height:1.18}.course-hero{min-height:92svh}.course-hero:after{background:linear-gradient(0deg,rgba(11,28,21,.88),rgba(11,28,21,.1))}.course-hero-content{padding-bottom:48px}.course-layout,.enrolment-grid{grid-template-columns:1fr}.course-poster{position:static}.course-fact{grid-template-columns:95px 1fr}.course-strip{grid-template-columns:1fr 1fr}.course-strip img{height:45vw}.course-strip img:last-child{grid-column:1/-1;height:70vw}}
.contact-intro{padding-top:clamp(150px,18vw,250px)}.contact-lead{font-family:var(--serif);font-size:clamp(1.4rem,2vw,2rem);max-width:22em}.contact-row address{font-style:normal}.contact-mugello{min-height:58svh}
.registration-page{padding-top:84px}.registration-page .enrolment{min-height:100svh}.registration-page .back-link{margin-bottom:clamp(50px,7vw,90px)}.registration-page .enrol-copy .display{font-size:clamp(3.2rem,6vw,6.5rem);margin:.15em 0 .3em}
.booking-page{padding-top:84px}.booking-page>.section{min-height:100svh}.booking-layout{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(55px,10vw,150px);align-items:start}.booking-intro{position:sticky;top:145px}.booking-intro .display{margin:.15em 0 .3em;max-width:8ch}.booking-intro .lead{font-family:var(--serif);font-size:clamp(1.35rem,2vw,2rem);line-height:1.35;max-width:25em}.booking-note{border-top:1px solid var(--line);padding-top:22px;margin-top:38px;max-width:34rem}.booking-note>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.17em;color:var(--clay);font-weight:600}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:0;background:#fff;padding:14px;font:inherit;color:var(--ink)}.form-field textarea:focus{outline:2px solid var(--forest);outline-offset:2px}
@media(max-width:1080px) and (min-width:861px){.brand-name{display:none}.desktop-nav{gap:13px;font-size:.68rem}}
.desktop-nav>a:last-child{border:1px solid var(--orange);background:var(--orange-deep);color:#fff;padding:8px 12px;transition:background .25s,border-color .25s}.desktop-nav>a:last-child:hover{background:var(--forest);border-color:var(--forest)}.site-header:not(.light):not(.scrolled) .desktop-nav>a:last-child:hover{background:#fff;border-color:#fff;color:var(--forest)}.mobile-nav>a:last-child{margin-top:12px;color:var(--orange-soft)}
@media(max-width:860px){.booking-page{padding-top:72px}.booking-page>.section{padding-top:64px}.booking-layout{grid-template-columns:1fr;gap:50px}.booking-intro{position:static}.booking-intro .display{font-size:clamp(3.5rem,16vw,5.4rem)}.form-pair{grid-template-columns:1fr}.booking-form .button{width:100%}}
.course-photo{position:sticky;top:120px;margin:0}.course-photo img{width:100%;height:min(72svh,820px);object-fit:cover}.course-photo+ .course-copy{padding-top:clamp(35px,5vw,75px)}
@media(max-width:860px){.course-photo{position:static}.course-photo img{height:68svh}.course-photo+ .course-copy{padding-top:0}}
@media(max-width:860px){
  :root{--gutter:clamp(18px,5vw,24px)}
  .reveal{opacity:1;transform:none}
  .header-inner{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
  .header-inner{position:relative;z-index:2}
  .menu-toggle{display:block;min-width:48px;min-height:48px;touch-action:manipulation}
  .mobile-panel{z-index:1;padding-top:max(96px,calc(76px + env(safe-area-inset-top)));padding-bottom:max(30px,env(safe-area-inset-bottom));background:var(--forest)}
  .mobile-nav a{display:flex;align-items:center;min-height:48px}
  .mobile-nav a[aria-current="page"]{color:var(--orange-soft);font-style:italic}
  .section{padding:72px 0}
  .hero-media{object-position:56% center}.hero-content{padding-bottom:max(44px,calc(28px + env(safe-area-inset-bottom)))}
  .page-hero h1{font-size:clamp(3.35rem,15vw,5.5rem);line-height:.88}
  .prose{gap:28px}.prose-body h2{margin-top:1.3em}
  .button{min-height:54px;justify-content:center;padding-inline:20px;touch-action:manipulation}
  .split-media,.split.reverse .split-media{min-height:52svh}.split-copy{min-height:auto;padding-top:70px;padding-bottom:74px}
  .photo-stack{padding-top:20px}.photo-stack img:last-child{margin-bottom:-42px}
  .journey .gallery{display:flex;gap:12px;overflow-x:auto;width:calc(100% + var(--gutter));padding-right:var(--gutter);scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none}.journey .gallery::-webkit-scrollbar{display:none}.journey .gallery figure,.journey .gallery figure:nth-child(3n){flex:0 0 82vw;min-height:62svh;scroll-snap-align:start}
  .course-photo img{height:58svh}.course-copy .lead{font-size:1.7rem}.course-facts{margin:40px 0}.course-fact{padding:18px 0}
  .course-strip{display:flex;gap:10px;overflow-x:auto;padding:10px;scroll-snap-type:x mandatory;scrollbar-width:none}.course-strip::-webkit-scrollbar{display:none}.course-strip img,.course-strip img:last-child{flex:0 0 82vw;width:82vw;height:62svh;grid-column:auto;scroll-snap-align:center}
  .enrolment-grid{gap:46px}.bank-box{margin-top:28px}.course-form{gap:20px}.form-field input{font-size:16px;min-height:56px}.course-form .button{width:100%}
  .footer-grid{gap:32px}.site-footer{padding-top:58px}.footer-bottom{margin-top:45px}
}
@media(max-width:360px){.brand-name{display:none}.hero h1{font-size:3.45rem}.mobile-nav a{font-size:2.15rem;min-height:45px}.mobile-contact{margin-top:24px}.course-hero h1{font-size:3.7rem}.course-fact{grid-template-columns:82px 1fr;gap:16px}.contact-row{grid-template-columns:78px 1fr;gap:12px}.cta-band .button{width:100%}}
@media(max-height:700px) and (max-width:860px){.mobile-panel{padding-top:82px}.mobile-nav a{font-size:1.85rem;min-height:40px}.mobile-contact{font-size:.76rem;margin-top:18px}}

.reviews-section{background:var(--forest);color:#f8f3e8;overflow:hidden}.reviews-head{display:grid;grid-template-columns:1fr auto;gap:clamp(35px,7vw,100px);align-items:end;margin-bottom:clamp(48px,7vw,90px)}.reviews-head .display{max-width:11ch;font-size:clamp(2.7rem,5vw,5.4rem)}.reviews-head .kicker{color:var(--orange-soft)}.reviews-rating{display:grid;justify-items:end;line-height:1.25}.reviews-rating>span,.review-stars{color:var(--orange);letter-spacing:.16em}.reviews-rating strong{font:300 2.2rem/1 var(--serif);margin:.35rem 0}.reviews-rating small{color:#b8c7bf}.reviews-slider{border-top:1px solid rgba(255,255,255,.2);padding-top:clamp(38px,5vw,66px)}.reviews-viewport{overflow:hidden}.reviews-track{display:flex;transition:transform .65s var(--ease)}.review-card{flex:0 0 100%;min-width:0}.review-card blockquote{font:300 clamp(2rem,4vw,4.6rem)/1.05 var(--serif);letter-spacing:-.035em;max-width:16ch;margin:.25em 0 .45em}.review-card>p{color:#b8c7bf;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}.reviews-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-top:clamp(35px,5vw,65px)}.reviews-controls>div:first-child{display:flex;gap:8px}.reviews-controls button{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:1.1rem var(--sans);cursor:pointer;transition:background .25s,border-color .25s}.reviews-controls button:hover,.reviews-controls button:focus-visible{background:var(--orange-deep);border-color:var(--orange-deep)}.reviews-dots{display:flex;justify-content:center;gap:8px}.reviews-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.28)}.reviews-dots button[aria-current="true"]{background:var(--orange)}.reviews-controls .text-link{justify-self:end}
@media(max-width:860px){.reviews-section{padding:64px 0}.reviews-head{grid-template-columns:1fr;align-items:start;gap:22px;margin-bottom:36px}.reviews-head .display{font-size:2.65rem;line-height:1;max-width:11ch}.reviews-rating{justify-items:start}.reviews-rating strong{font-size:1.75rem}.reviews-slider{padding-top:28px}.review-card blockquote{font-size:clamp(1.85rem,8.5vw,2.5rem);line-height:1.08;margin:.2em 0 .4em}.reviews-controls{grid-template-columns:1fr auto;margin-top:30px}.reviews-dots{justify-content:end}.reviews-controls .text-link{grid-column:1/-1;justify-self:start;margin-top:6px}}

.kitchen-hero img{object-position:center 48%}.kitchen-gallery-section{padding-top:0;background:var(--paper)}.kitchen-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(230px,26vw,360px));gap:clamp(8px,1.2vw,18px)}.kitchen-collage figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:var(--forest)}.kitchen-collage figure:first-child{grid-column:1/8;grid-row:1/3}.kitchen-collage figure:nth-child(2){grid-column:8/13;grid-row:1}.kitchen-collage figure:nth-child(3){grid-column:8/10;grid-row:2}.kitchen-collage figure:nth-child(4){grid-column:10/13;grid-row:2}.kitchen-collage img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.kitchen-collage figure:first-child img{object-position:center}.kitchen-collage figure:nth-child(2) img{object-position:center 30%}.kitchen-collage figure:nth-child(4) img{object-position:center 42%}@media(hover:hover){.kitchen-collage figure:hover img{transform:scale(1.025)}}
@media(max-width:860px){.kitchen-gallery-section{padding-bottom:72px}.kitchen-collage{grid-template-columns:1.25fr .75fr;grid-template-rows:52svh 31svh 34svh;gap:8px}.kitchen-collage figure:first-child{grid-column:1/3;grid-row:1}.kitchen-collage figure:nth-child(2){grid-column:1;grid-row:2/4}.kitchen-collage figure:nth-child(3){grid-column:2;grid-row:2}.kitchen-collage figure:nth-child(4){grid-column:2;grid-row:3}.kitchen-collage figure:nth-child(2) img{object-position:center 25%}}

.footer-legal{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid rgba(255,255,255,.18);margin-top:38px;padding-top:20px;font-size:.72rem;color:#b9c3bd}.footer-legal a{text-decoration:none}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--orange-soft)}
.privacy-page{padding-top:84px}.privacy-hero{padding:clamp(90px,12vw,155px) 0 clamp(55px,8vw,95px);background:var(--paper);border-bottom:1px solid var(--line)}.privacy-hero .display{font-size:clamp(3.4rem,7vw,7.5rem);margin:.12em 0 .2em}.privacy-hero p{max-width:43rem;margin:0;color:var(--muted)}.privacy-updated{display:block;margin-top:25px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--orange-deep)}.privacy-layout{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,1fr);gap:clamp(45px,8vw,120px);align-items:start}.privacy-toc{position:sticky;top:125px;border-top:1px solid var(--line);padding-top:20px}.privacy-toc span{display:block;margin-bottom:13px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--orange-deep)}.privacy-toc a{display:block;padding:5px 0;text-decoration:none;font-size:.84rem;color:var(--muted)}.privacy-toc a:hover,.privacy-toc a:focus-visible{color:var(--ink)}.privacy-content{max-width:820px}.privacy-content section{scroll-margin-top:115px;padding:0 0 clamp(48px,7vw,78px);margin-bottom:clamp(48px,7vw,78px);border-bottom:1px solid var(--line)}.privacy-content section:last-child{margin-bottom:0}.privacy-content h2{font:400 clamp(2rem,3.6vw,3.5rem)/1.05 var(--serif);margin:0 0 24px}.privacy-content h3{font:500 1.1rem/1.35 var(--sans);margin:30px 0 8px}.privacy-content p,.privacy-content li{color:#35423b}.privacy-content ul{padding-left:1.25rem}.privacy-content li+li{margin-top:8px}.privacy-content a{color:var(--orange-deep);text-underline-offset:3px}.privacy-note{padding:24px 26px;border-left:4px solid var(--orange);background:var(--paper)}
@media(max-width:860px){.privacy-page{padding-top:72px}.privacy-hero{padding-top:72px}.privacy-layout{grid-template-columns:1fr;gap:45px}.privacy-toc{position:static}.privacy-toc a{min-height:42px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.privacy-content section{scroll-margin-top:90px}.footer-legal{margin-top:30px}}

/* Galleria fotografica 2026 e rifiniture comuni */
.footer-title{font-family:var(--sans);font-weight:400;display:flex;align-items:center;gap:14px;letter-spacing:-.025em}
.footer-title:before{content:"";flex:0 0 62px;width:62px;height:62px;background:url("../images/logo.png") center/contain no-repeat}
.page-hero .shell{padding-bottom:clamp(70px,9vw,120px)}
.contact-intro{padding-top:clamp(118px,13vw,180px)}
.booking-page>.section{padding-top:clamp(68px,8vw,108px)}
.registration-page .enrolment{padding-top:clamp(68px,8vw,108px)}
.privacy-hero{padding-top:clamp(68px,8vw,105px)}
.course-home .split-media img{object-position:center 38%}
.editorial{align-items:center}
.photo-stack{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(10px,1.4vw,20px);padding-top:0}
.photo-stack img:first-child,.photo-stack img:last-child{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin:0}
.photo-stack img:first-child{object-position:center 48%}
.photo-stack img:last-child{object-position:center 50%}
.page-hero+.page-opening{padding-top:clamp(38px,5vw,68px)}
.feature-story{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(44px,8vw,125px);align-items:center}
.feature-copy{max-width:610px}
.feature-copy .kicker{color:var(--orange-deep)}
.feature-copy .lead{font:300 clamp(1.65rem,2.6vw,2.65rem)/1.24 var(--serif);margin:.7em 0 .75em}
.feature-figure{margin:0;overflow:hidden;background:var(--forest);min-height:clamp(390px,43vw,650px)}
.feature-figure img{width:100%;height:100%;min-height:inherit;object-fit:cover;transition:transform .8s var(--ease)}
.inner-story-split{min-height:clamp(620px,55vw,760px)}
.inner-story-split .split-media{min-height:inherit}
.inner-story-split .split-copy{justify-content:center}
.inner-story-split .split-copy .display{max-width:11ch}
.inner-story-split .split-copy h2:not(.display){font:300 clamp(2.5rem,4.2vw,4.6rem)/.98 var(--serif);letter-spacing:-.03em;margin:.65em 0 .24em}
.inner-story-split .split-copy h2:first-of-type{margin-top:.25em}
.inner-story-split .split-copy p{margin-top:0}
.button.is-disabled{background:#777f7a;border-color:#777f7a;color:#fff;cursor:not-allowed;pointer-events:none;transform:none}
.course-closed-notice{max-width:820px;margin:0 auto;padding:clamp(34px,6vw,70px);background:var(--forest);color:#fff;border-top:6px solid var(--orange);text-align:center}
.course-closed-notice[hidden],[data-course-registration-grid][hidden]{display:none}
.course-home[hidden]{display:none}
.course-closed-notice .display{max-width:12ch;margin:.2em auto .3em;font-size:clamp(3rem,6vw,6rem)}
.course-closed-notice p{max-width:36rem;margin:0 auto 28px}
.story-strip-section{padding:clamp(50px,7vw,90px) 0;background:var(--paper)}
.story-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.2vw,16px)}
.story-strip figure{margin:0;overflow:hidden;background:var(--forest);height:clamp(320px,34vw,500px)}
.story-strip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.story-strip figure:nth-child(2) img{object-position:center 42%}
@media(hover:hover){.feature-figure:hover img,.story-strip figure:hover img{transform:scale(1.025)}}
.kitchen-collage figure:first-child{grid-column:1/7;grid-row:1/3}
.kitchen-collage figure:nth-child(2){grid-column:7/10;grid-row:1}
.kitchen-collage figure:nth-child(3){grid-column:10/13;grid-row:1}
.kitchen-collage figure:nth-child(4){grid-column:7/9;grid-row:2}
.kitchen-collage figure:nth-child(5){grid-column:9/13;grid-row:2}
.kitchen-collage figure:nth-child(5) img{object-position:center 44%}
.booking-visual{margin:34px 0 0;overflow:hidden;background:var(--forest)}
.booking-visual img{width:100%;height:clamp(300px,34vw,480px);object-fit:cover;object-position:center 52%;transition:transform .8s var(--ease)}
.product-gallery-section,.landscape-gallery-section{padding-top:0;background:var(--paper)}
.product-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(235px,27vw,360px));gap:clamp(9px,1.2vw,18px)}
.product-collage figure,.landscape-gallery figure{margin:0;min-width:0;overflow:hidden;background:var(--forest)}
.product-collage figure:first-child{grid-column:1/7;grid-row:1/3}
.product-collage figure:nth-child(2){grid-column:7/10;grid-row:1}
.product-collage figure:nth-child(3){grid-column:10/13;grid-row:1}
.product-collage figure:nth-child(4){grid-column:7/9;grid-row:2}
.product-collage figure:nth-child(5){grid-column:9/13;grid-row:2}
.product-collage img,.landscape-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.product-collage figure:nth-child(2) img,.product-collage figure:nth-child(3) img,.product-collage figure:nth-child(4) img{object-position:center 40%}
.landscape-gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,28px);align-items:end}
.landscape-gallery figure{aspect-ratio:4/3}
.landscape-gallery figure:last-child{aspect-ratio:3/4;max-height:720px}
@media(hover:hover){.booking-visual:hover img,.product-collage figure:hover img,.landscape-gallery figure:hover img{transform:scale(1.025)}}
@media(max-width:860px){
  .page-hero .shell{padding-bottom:70px}
  .contact-intro{padding-top:104px}
  .booking-page>.section,.registration-page .enrolment{padding-top:48px}
  .privacy-hero{padding-top:54px}
  .footer-title{font-size:1.85rem;gap:12px}
  .footer-title:before{width:54px;height:54px;flex-basis:54px}
  .booking-visual{margin-top:26px}
  .page-hero+.page-opening{padding-top:34px}
  .feature-story{grid-template-columns:1fr;gap:34px}
  .feature-copy .lead{font-size:1.7rem;margin-top:.65em}
  .feature-figure{min-height:0;aspect-ratio:4/3}
  .feature-figure img{min-height:0}
  .inner-story-split{min-height:0}
  .inner-story-split .split-media{min-height:52svh}
  .inner-story-split .split-copy h2:not(.display){font-size:2.75rem}
  .story-strip-section{padding:48px 0}
  .story-strip{display:flex;gap:9px;overflow-x:auto;width:calc(100% + var(--gutter));padding-right:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none}
  .story-strip::-webkit-scrollbar{display:none}
  .story-strip figure{flex:0 0 78vw;height:54svh;scroll-snap-align:start}
  .editorial{gap:38px}
  .photo-stack{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:8px;padding-top:0;margin-top:0}
  .photo-stack img:first-child,.photo-stack img:last-child{aspect-ratio:4/5;margin:0;height:100%}
  .booking-visual img{height:48svh;min-height:340px;max-height:440px}
  .kitchen-collage{grid-template-columns:1.2fr .8fr;grid-template-rows:48svh 32svh 34svh 38svh;gap:8px}
  .kitchen-collage figure:first-child{grid-column:1/3;grid-row:1}
  .kitchen-collage figure:nth-child(2){grid-column:1;grid-row:2/4}
  .kitchen-collage figure:nth-child(3){grid-column:2;grid-row:2}
  .kitchen-collage figure:nth-child(4){grid-column:2;grid-row:3}
  .kitchen-collage figure:nth-child(5){grid-column:1/3;grid-row:4}
  .product-collage{grid-template-columns:1.2fr .8fr;grid-template-rows:48svh 32svh 34svh 38svh;gap:8px}
  .product-collage figure:first-child{grid-column:1/3;grid-row:1}
  .product-collage figure:nth-child(2){grid-column:1;grid-row:2/4}
  .product-collage figure:nth-child(3){grid-column:2;grid-row:2}
  .product-collage figure:nth-child(4){grid-column:2;grid-row:3}
  .product-collage figure:nth-child(5){grid-column:1/3;grid-row:4}
  .landscape-gallery{grid-template-columns:1fr;gap:10px}
  .landscape-gallery figure,.landscape-gallery figure:last-child{aspect-ratio:4/3;max-height:none}
  .privacy-content{min-width:0}
  .privacy-content p,.privacy-content li{font-size:.96rem}
}

/* Preferenze statistiche: Google Analytics viene caricato solo dopo consenso. */
.cookie-consent{position:fixed;z-index:300;right:clamp(16px,3vw,42px);bottom:clamp(16px,3vw,38px);left:clamp(16px,3vw,42px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(22px,4vw,58px);width:min(100% - clamp(32px,6vw,84px),1040px);margin-left:auto;padding:clamp(24px,3vw,38px);background:var(--forest);color:#fff;border-top:5px solid var(--orange);box-shadow:0 24px 70px rgba(10,28,21,.3)}
.cookie-consent-copy strong{display:block;font:400 clamp(1.5rem,2.4vw,2.15rem)/1.05 var(--serif);margin-bottom:9px}.cookie-consent-copy p{max-width:44rem;margin:0;color:#d6dfda;font-size:.9rem;line-height:1.55}.cookie-consent-copy a{color:var(--orange-soft);text-underline-offset:3px}.cookie-consent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.cookie-consent-actions button{min-height:48px;padding:0 17px;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;font:600 .69rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.cookie-consent-actions button.solid{background:var(--orange-deep);border-color:var(--orange-deep)}.cookie-consent-actions button:hover,.cookie-consent-actions button:focus-visible{outline:2px solid #fff;outline-offset:2px}.cookie-settings-link{border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.cookie-settings-link:hover,.cookie-settings-link:focus-visible{color:var(--orange-soft)}
@media(max-width:760px){.cookie-consent{grid-template-columns:1fr;gap:20px;bottom:max(12px,env(safe-area-inset-bottom));padding:24px 20px}.cookie-consent-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.cookie-consent-actions button{padding-inline:10px;font-size:.63rem}}
@media(max-width:360px){.cookie-consent-actions{grid-template-columns:1fr}.cookie-consent-copy p{font-size:.82rem}}
