:root{--green:#213e32;--deep:#182f26;--ivory:#f7f5ee;--gold:#b79b60;--muted:#62695f;--line:#dcded2;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--green);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}h2{font-size:clamp(2.25rem,3.5vw,3.7rem);margin-bottom:28px}h3{font-size:2rem;margin-bottom:16px}em{font-weight:400;color:inherit}.eyebrow{font-size:.75rem;letter-spacing:.17em;font-weight:600;line-height:1.5;margin-bottom:24px}.header{height:108px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ivory);position:relative;z-index:5}.brand{display:flex;flex-direction:column;line-height:1;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:2.6rem;letter-spacing:.09em;position:relative}.brand-cross{position:absolute;right:-19px;top:3px;font-size:1.25rem;color:var(--gold)}.brand-sub{font-size:.65rem;letter-spacing:.23em;margin-top:9px}.header nav{display:flex;gap:32px;font-size:.9rem}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--gold)}.button{border:1px solid var(--green);background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 23px;font-size:.875rem;line-height:1.5;transition:background .2s}.button:hover{background:#365b48}.button span{font-size:1.25rem}.menu-toggle{display:none}.hero{height:min(740px,76vw);min-height:570px;position:relative;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,20,.64),rgba(13,27,20,.16) 70%),linear-gradient(0deg,rgba(13,27,20,.45),transparent 50%)}.hero-copy{position:relative;padding:100px 7% 90px;max-width:1100px}.hero h1{font-size:clamp(3.3rem,5.6vw,5.7rem);margin-bottom:28px}.hero h1 em{color:#ecddbc}.hero-copy>p:not(.eyebrow){font-size:1.15rem;line-height:1.7;color:#f1f0e8}.hero-link{display:inline-flex;align-items:center;gap:44px;padding:12px 0;border-bottom:1px solid #c3b993;font-size:.9rem;margin-top:12px}.hero-foot{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em}.hero-foot span:last-child{font-family:var(--serif);font-style:italic;font-size:1.15rem;letter-spacing:0}.booking{margin:0 4.5%;padding:38px 3%;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2.4fr;gap:0 40px}.booking .eyebrow{margin-bottom:8px;font-size:.68rem}.booking h2{font-size:1.75rem;margin:0;letter-spacing:-.02em}.booking form{display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr;align-items:end;gap:24px}.booking label{font-size:.75rem;color:var(--muted)}input,select{border:0;border-bottom:1px solid #bbc3b6;border-radius:0;width:100%;padding:10px 0;color:var(--green);background:transparent;font-size:.95rem;min-height:44px}input{min-width:0}.booking button{padding:13px 16px;gap:12px}.booking-note{grid-column:2;margin:14px 0 0;font-size:.75rem;color:var(--muted)}.section{max-width:1500px;margin:auto;padding:100px 7%}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:start}.intro h2{margin-bottom:0}.intro-copy{padding-top:40px;color:var(--muted)}.intro-copy p:last-child{margin:0}.rooms{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:center;padding-top:20px}.room-photo{position:relative}.room-photo img{aspect-ratio:1.12;object-fit:cover;object-position:48% center}.photo-caption{position:absolute;bottom:0;left:0;background:var(--green);color:var(--ivory);padding:14px 24px;font-size:.7rem;letter-spacing:.15em}.room-copy>p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-flex;gap:44px;padding:12px 0;border-bottom:1px solid var(--gold);font-size:.9rem;margin-top:14px}.spaces{padding-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading h2{margin:0}.section-heading>p{max-width:370px;color:var(--muted);margin:0}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.space-grid img{aspect-ratio:1.25;object-fit:cover}.space-grid .index{font-size:.68rem;letter-spacing:.15em;margin:24px 0 14px;color:#78683f}.space-grid article>p:last-child{color:var(--muted);font-size:.95rem;margin:0}.green-band{position:relative;color:white;min-height:510px;display:flex;align-items:center}.green-band img{position:absolute;height:100%;object-fit:cover;object-position:center 60%}.green-band:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,37,22,.86),rgba(12,37,22,.13))}.green-band>div{position:relative;z-index:1;padding:70px 7%}.green-band h2{font-size:clamp(3rem,4.6vw,4.5rem)}.green-band .eyebrow{color:#dfd1ad}.location{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center}.location>div>p:last-child{max-width:520px;color:var(--muted)}.address{border-left:1px solid var(--line);padding:28px 0 28px 65px}.address address{font-style:normal;font-size:1.2rem;margin-bottom:28px}.address .eyebrow{color:#75633e}footer{background:var(--deep);color:var(--ivory);padding:55px 7% 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:35px}footer>p{font:italic 1.35rem var(--serif);margin:0}footer>a:last-of-type{font-size:.85rem}.footer-bottom{flex-basis:100%;display:flex;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:24px;font-size:.75rem;color:#c1c8ba}dialog{width:min(540px,calc(100% - 36px));padding:52px 38px 36px;border:0;background:var(--ivory);color:var(--green)}dialog::backdrop{background:#10221bba}dialog h2{font-size:2.4rem}dialog>p:not(.eyebrow){color:var(--muted)}.dialog-close{position:absolute;right:15px;top:6px;border:0;background:none;font-size:2rem;color:var(--green);width:44px;height:44px}.skip{position:fixed;top:-70px;left:20px;background:var(--green);color:white;padding:10px;z-index:20}.skip:focus{top:5px}:focus-visible{outline:3px solid #bb8d37;outline-offset:5px}
@media(min-width:1700px){.hero-copy{padding-top:120px}.hero{height:800px}}
@media(max-width:1100px){.header{gap:22px}.header nav{gap:20px}.header-cta{padding:12px 16px}.booking{grid-template-columns:1fr}.booking-intro{margin-bottom:20px}.booking-note{grid-column:1}.section{padding:75px 6%}.rooms{gap:6%;padding-top:10px}.hero{min-height:600px}.hero-copy{padding-top:100px}.address{padding-left:35px}.location{gap:8%}}
@media(max-width:760px){html{scroll-padding-top:30px}.header{height:90px;padding:0 6%;gap:15px}.brand-name{font-size:2.1rem}.brand-sub{font-size:.55rem}.header-cta{margin-left:auto;font-size:.75rem;padding:11px 12px;gap:8px}.header-cta span{display:none}.menu-toggle{display:flex;gap:9px;align-items:center;border:0;background:none;color:var(--green);font-size:.85rem;padding:10px 0;order:3}.header nav{display:none;position:absolute;left:0;right:0;top:90px;background:var(--ivory);padding:20px 6%;box-shadow:0 10px 15px #0001}.header nav.open{display:flex;flex-direction:column;gap:20px}.hero{height:650px;min-height:0}.hero-copy{padding:100px 7% 60px}.hero h1{font-size:clamp(2.75rem,9.5vw,4rem);line-height:1.13}.hero .eyebrow{font-size:.65rem;letter-spacing:.11em}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-photo{object-position:44% center}.hero-shade{background:linear-gradient(90deg,#10251bbb,#10251b24),linear-gradient(0deg,#10251b80,transparent)}.hero-foot{bottom:25px;font-size:.6rem;letter-spacing:.09em}.hero-foot span:last-child{display:none}.booking{padding:28px 2%;margin:0 5%;gap:10px}.booking form{grid-template-columns:1fr 1fr;gap:18px}.booking button{font-size:.8rem;gap:8px}.booking-note{font-size:.7rem}.section{padding:60px 7%}.intro,.rooms,.location{grid-template-columns:1fr;gap:28px}.intro-copy{padding:0}.rooms{padding-top:10px}.room-photo img{aspect-ratio:1.1}.room-copy{padding-top:8px}.eyebrow{margin-bottom:18px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:25px;max-width:none}.space-grid{grid-template-columns:1fr;gap:42px}.space-grid img{aspect-ratio:1.5}.space-grid .index{margin-top:19px}.spaces{padding-top:10px}.green-band{min-height:470px}.green-band>div{padding:60px 7%}.green-band h2{font-size:3.2rem}.address{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.address address{font-size:1.1rem}footer{padding:42px 7% 20px;align-items:start;gap:28px}footer>p{flex-basis:100%;font-size:1.25rem;order:1}footer>.brand{order:0}footer>a:last-of-type{order:0;margin-left:auto}.footer-bottom{order:2;flex-direction:column;gap:8px}dialog{padding:48px 26px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Logo originale fornito dal cliente */
.header .brand{width:290px;max-width:30%;line-height:0}.brand img{display:block;width:100%;height:auto}.header .brand img{mix-blend-mode:multiply}footer .brand{width:290px;background:#fcfaf1;padding:10px 14px;line-height:0}
@media(max-width:1100px){.header .brand{width:240px;max-width:28%}.header nav{gap:16px}}
@media(max-width:760px){.header{height:100px;gap:14px}.header .brand{width:225px;max-width:58%}.header nav{top:100px}.header-cta{display:none}.menu-toggle{margin-left:auto}footer .brand{width:245px;max-width:100%}}

/* Percorso di accoglienza */
.house-tour{padding-top:0}.house-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.house-grid img{aspect-ratio:1.45;object-fit:cover}.house-grid .index{font-size:.68rem;letter-spacing:.15em;margin:24px 0 14px;color:#78683f}.house-grid article>p:last-child{color:var(--muted);font-size:.95rem;margin:0}
@keyframes title-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.title-arrive{animation:title-arrive .85s cubic-bezier(.2,.65,.3,1) both}}
@media(max-width:760px){.house-tour{padding-top:0}.house-grid{grid-template-columns:1fr;gap:40px}.house-grid img{aspect-ratio:1.5}.house-grid .index{margin-top:19px}}

.header .brand img{mix-blend-mode:normal}footer .brand{background:transparent;padding:0}footer .brand img{filter:brightness(0) invert(1)}

/* Richiesta di soggiorno */
#booking-dialog{width:min(620px,calc(100% - 28px));max-height:90dvh;overflow-y:auto}#booking-dialog h2{margin-bottom:20px}.payment-note{background:#e9eddf;border-left:3px solid var(--gold);padding:18px 20px;margin:20px 0}.payment-note strong{font-size:.95rem}.payment-note p{margin:8px 0 0;font-size:.85rem;line-height:1.65}#request-form{display:grid;gap:16px}#request-form>label{display:block;font-size:.85rem}#request-form input:not([type=checkbox]),#request-form textarea{display:block;background:#fff8;border:1px solid #b9c2b5;border-radius:3px;padding:10px 12px;margin-top:5px;width:100%;font:inherit;color:var(--green)}.optional,.required-note,.data-note{color:var(--muted);font-size:.75rem}.data-note,.required-note{margin:0}.acknowledge{display:flex!important;gap:10px;align-items:flex-start;line-height:1.5}.acknowledge input{width:18px;height:18px;min-height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--green)}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#request-status{font-size:.9rem;margin:0}#request-status[data-error=true]{color:#95351e}.direct-contact{margin:22px 0 0;font-size:.8rem}.direct-contact a{text-decoration:underline;overflow-wrap:anywhere}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
