:root{--ink:#17313a;--sea:#1b6f7a;--aqua:#8ac9c5;--sand:#f3eadb;--cream:#fbf8f2;--white:#fff;--accent:#d79657;--shadow:0 18px 60px rgba(20,48,57,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;color:white;transition:.3s}.site-header.scrolled{background:rgba(251,248,242,.96);color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.08);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-family:'Playfair Display';font-size:14px}.brand strong,.brand small{display:block}.brand strong{font-family:'Playfair Display';font-size:22px;line-height:1}.brand small{text-transform:uppercase;letter-spacing:.18em;font-size:9px;margin-top:5px}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px}.main-nav a{opacity:.9}.nav-cta{border:1px solid currentColor;padding:10px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;color:inherit;font-size:24px}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:120px 9vw 70px;color:white;background:url('assets/images/copertina.webp') center 48%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,35,44,.82) 0%,rgba(7,35,44,.48) 48%,rgba(7,35,44,.12) 100%)}.hero-content{position:relative;max-width:790px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700}.eyebrow.dark{color:var(--sea)}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.08;margin:0}h1{font-size:clamp(50px,7vw,96px);font-weight:500}h2{font-size:clamp(38px,5vw,65px);font-weight:500}.hero-copy{max-width:630px;font-size:19px;margin:28px 0 34px}.hero-actions,.booking-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;border-radius:999px;font-weight:700;font-size:14px}.btn-primary{background:var(--accent);color:white}.btn-light{border:1px solid rgba(255,255,255,.75);color:white}.btn-dark{background:var(--ink);color:white}.scroll-hint{position:absolute;bottom:30px;left:50%;font-size:26px}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);background:white;margin:-32px auto 0;max-width:1160px;position:relative;z-index:3;box-shadow:var(--shadow)}.quick-facts div{padding:28px 32px;border-right:1px solid #eee}.quick-facts div:last-child{border:0}.quick-facts span,.quick-facts strong,.quick-facts small{display:block}.quick-facts span{font-size:22px;color:var(--accent)}.quick-facts small{color:#6e7f84}.section{padding:120px 8vw}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center}.intro-media{position:relative}.intro-media img{height:620px;object-fit:cover}.floating-card{position:absolute;right:-30px;bottom:40px;background:white;padding:25px 30px;box-shadow:var(--shadow)}.floating-card strong,.floating-card span{display:block}.floating-card strong{font-family:'Playfair Display';font-size:28px}.intro-copy p{color:#5e7075;font-size:17px}.text-link{display:inline-flex;gap:15px;margin-top:18px;font-weight:700;color:var(--sea)}.rooms{background:white}.section-heading{max-width:760px;margin-bottom:50px}.section-heading>p:last-child{color:#66777c;font-size:17px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{background:var(--cream);box-shadow:0 8px 30px rgba(20,48,57,.07)}.room-card img{height:300px;object-fit:cover}.room-card-body{padding:28px}.room-card h3{font-size:30px}.room-card p{color:#66777c}.amenities{display:flex;gap:8px;flex-wrap:wrap}.amenities span{font-size:12px;background:white;padding:8px 11px;border-radius:999px}.data-note{font-size:12px;color:#819095;margin-top:22px}.breakfast{min-height:680px;display:flex;align-items:center;padding:100px 9vw;color:white;background:linear-gradient(90deg,rgba(14,48,54,.78),rgba(14,48,54,.12)),url('assets/images/colazione-dolci.webp') center/cover no-repeat}.breakfast-copy{max-width:650px}.breakfast-copy p:last-child{font-size:19px}.territory{background:var(--sand)}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(23,49,58,.15)}.experience{background:var(--sand);padding:48px}.experience span{font-size:12px;color:var(--sea);letter-spacing:.2em}.experience h3{font-size:38px;margin-top:20px}.experience p{color:#617176}.map-section{display:grid;grid-template-columns:.75fr 1.25fr;min-height:560px;background:white}.map-copy{padding:90px 8vw}.map-copy p{color:#627278}.map-section iframe{border:0;width:100%;height:100%;min-height:560px}.booking{padding:120px 8vw;background:var(--ink);color:white;text-align:center}.booking-inner{max-width:780px;margin:auto}.booking h2{margin:10px 0 20px}.booking p{font-size:18px}.booking-actions{justify-content:center;margin-top:30px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d8dfde;border-bottom:1px solid #d8dfde}.contact-grid>*{padding:28px;border-right:1px solid #d8dfde}.contact-grid>*:last-child{border:0}.contact-grid small,.contact-grid strong{display:block}.contact-grid small{text-transform:uppercase;letter-spacing:.15em;color:var(--sea);font-size:10px}.contact-grid strong{font-size:17px;margin-top:8px}footer{padding:55px 8vw;background:#10272e;color:white}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-family:'Playfair Display';font-size:30px}.footer-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;color:#b9c8cc;font-size:12px}.footer-note{font-size:11px;color:#789096;margin-top:18px}.whatsapp-fab{position:fixed;right:22px;bottom:22px;z-index:10;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:white;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.22)}.reveal{opacity:0;transform:translateY(25px);transition:.75s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.main-nav{position:absolute;top:78px;left:4vw;right:4vw;display:none;flex-direction:column;align-items:stretch;background:var(--cream);color:var(--ink);padding:25px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{padding-left:7vw}.quick-facts,.room-grid,.experience-grid,.contact-grid{grid-template-columns:1fr}.quick-facts{margin:0}.quick-facts div,.contact-grid>*{border-right:0;border-bottom:1px solid #eee}.intro,.map-section{grid-template-columns:1fr}.intro-media img{height:480px}.floating-card{right:10px}.map-copy{padding:70px 8vw}.room-card img{height:360px}.section{padding:85px 7vw}}
@media(max-width:560px){h1{font-size:48px}.hero-copy{font-size:17px}.hero-actions .btn{width:100%}.intro-media img{height:390px}.floating-card{position:relative;right:auto;bottom:auto}.section{padding:70px 6vw}.room-card img{height:260px}.breakfast{min-height:580px}.contact-grid>*{padding-left:0;padding-right:0}.footer-meta{flex-direction:column;gap:8px}}

.language-switch{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:14px;padding:3px;border:1px solid rgba(255,255,255,.48);border-radius:999px;backdrop-filter:blur(8px)}
.site-header.scrolled .language-switch{border-color:rgba(19,48,61,.22)}
.lang-btn{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.08em;padding:6px 8px;border-radius:999px;cursor:pointer;opacity:.72}
.lang-btn.active{background:currentColor;color:#fff;opacity:1}
.site-header:not(.scrolled) .lang-btn.active{background:#fff;color:#173a49}
@media(max-width:900px){.language-switch{margin-left:auto;margin-right:8px}.lang-btn{padding:5px 7px}.main-nav{top:100%}}

.gallery-section{background:var(--cream)}
.photo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:260px;gap:16px}
.photo-grid figure{margin:0;overflow:hidden;border-radius:4px;background:#e7e2d9}
.photo-grid img{height:100%;object-fit:cover;transition:transform .5s ease}
.photo-grid figure:hover img{transform:scale(1.025)}
.photo-grid .photo-wide{grid-row:span 2}
.photo-grid figure:nth-child(4){grid-column:span 2}
.photo-grid figure:nth-child(7){grid-column:span 2}
@media(max-width:1050px){.experience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.photo-grid .photo-wide{grid-column:1/3;grid-row:auto}.photo-grid figure:nth-child(4),.photo-grid figure:nth-child(7){grid-column:auto}}
@media(max-width:560px){.photo-grid{grid-template-columns:1fr;grid-auto-rows:280px}.photo-grid .photo-wide,.photo-grid figure:nth-child(4),.photo-grid figure:nth-child(7){grid-column:auto}.experience-grid{grid-template-columns:1fr}.hero{background-position:center center}}

/* Gallerie senza ritagli forzati */
.photo-grid{display:block;columns:3;column-gap:16px;background:transparent}
.photo-grid figure,.photo-grid .photo-wide,.photo-grid figure:nth-child(4),.photo-grid figure:nth-child(7){display:inline-block;width:100%;margin:0 0 16px;grid-column:auto;grid-row:auto;break-inside:avoid;overflow:hidden;border-radius:4px;background:#e7e2d9}
.photo-grid img{width:100%;height:auto;object-fit:contain;transition:transform .5s ease}
.photo-grid figure:hover img{transform:scale(1.015)}

.shared-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;background:rgba(23,49,58,.12)}
.shared-features>div{background:var(--cream);padding:20px;text-align:center}
.shared-features strong{font-size:14px}
.stay-policy{margin-top:24px;padding:24px 28px;background:var(--sand);display:grid;grid-template-columns:auto auto 1fr;gap:26px;align-items:center}
.stay-policy>div{display:flex;gap:12px;align-items:center}
.stay-policy small,.stay-policy strong{display:block}
.stay-policy small{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--sea)}
.policy-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--sea);font-weight:700}
.stay-policy p{margin:0;color:#65767b;font-size:14px}

.territory-gallery{margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.territory-gallery figure{margin:0;background:white;box-shadow:0 8px 26px rgba(20,48,57,.09);overflow:hidden}
.territory-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.territory-gallery figure:nth-child(3) img,.territory-gallery figure:nth-child(5) img{object-position:center 55%}
.territory-gallery figcaption{padding:14px 16px;font-weight:600;font-size:14px}

@media(max-width:900px){.photo-grid{columns:2}.shared-features{grid-template-columns:1fr}.stay-policy{grid-template-columns:1fr 1fr}.stay-policy p{grid-column:1/3}.territory-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.photo-grid{columns:1}.stay-policy{grid-template-columns:1fr}.stay-policy p{grid-column:auto}.territory-gallery{grid-template-columns:1fr}.territory-gallery img{aspect-ratio:16/10}}
