*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f2e9;color:#28352d;font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:88px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:#f6f2e9;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;font:600 23px "Playfair Display",serif;line-height:1}.brand i{font-weight:500}.brand small{display:block;font:600 8px "DM Sans",sans-serif;letter-spacing:2.7px;margin-top:7px;color:#8b927e}.flower{font-size:30px;color:#b68c4c}nav{display:flex;gap:38px;font-size:12px;letter-spacing:1px}nav a:hover,.text-link:hover{color:#b18449}.lang{border:1px solid #c9c7b9;background:transparent;border-radius:30px;padding:9px 14px;font-size:11px;cursor:pointer}.hero{min-height:640px;height:76vh;max-height:800px;position:relative;display:flex;align-items:center;background-image:linear-gradient(0deg,rgba(25,35,29,.18),rgba(25,35,29,0)),url("assets/hero-sicilia-tramonto.png");background-size:cover;background-position:center center;color:white;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 35%,rgba(244,222,174,.22),transparent 42%);pointer-events:none}.hero-content{position:relative;z-index:1;margin-left:12vw;max-width:620px}.eyebrow{font-size:9px;letter-spacing:3px;font-weight:700;color:#a17b45}.hero .eyebrow{color:#e3c895}.hero h1,.intro h2,.territory h2,.contact h2{font:500 clamp(54px,7vw,92px)/.99 "Playfair Display",serif;letter-spacing:-2px;margin:25px 0}.hero-copy{font-size:15px;line-height:1.9;max-width:440px;color:#f0eee5}.button{display:inline-flex;align-items:center;gap:38px;padding:17px 22px;font-size:9px;letter-spacing:1.8px;font-weight:700;margin-top:26px}.button-light{background:#f6f2e9;color:#2d3b31}.button-dark{background:#28382e;color:#fff}.button span{font-size:16px}.hero-note{position:absolute;right:7vw;bottom:36px;font-size:9px;letter-spacing:2px;color:#eee}.intro{text-align:center;padding:115px 24px 90px;max-width:760px;margin:auto}.intro h2{font-size:clamp(42px,5vw,62px);letter-spacing:-1px;color:#2d3a30}.intro h2 em{color:#a17b45;font-weight:500}.intro>p:last-child{font-size:14px;line-height:2;color:#72786d;max-width:580px;margin:25px auto 0}.homes{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:0 7vw 120px}.photo-placeholder{height:390px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;background:linear-gradient(135deg,#9c8061,#d1b99a 55%,#68775d)}.photo-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,37,29,.5),transparent 65%)}.photo-comfort{background:linear-gradient(135deg,#657a68,#c4b18e 55%,#7c614c)}.photo-placeholder>span{position:absolute;top:25px;left:28px;z-index:1;font:italic 22px "Playfair Display",serif}.photo-placeholder div{position:relative;z-index:1;text-align:center;display:grid;gap:10px}.photo-placeholder b{font:500 34px "Playfair Display",serif;letter-spacing:2px}.photo-placeholder small{font-size:8px;letter-spacing:1.4px}.home-info{padding:30px 8px}.home-info h3{font:500 43px "Playfair Display",serif;margin:12px 0}.home-info>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#73796f;max-width:430px;min-height:50px}.text-link{font-size:9px;letter-spacing:1.7px;font-weight:700;display:inline-block;margin-top:18px}.territory{display:grid;grid-template-columns:1fr 1fr;background:#e9e5d9;min-height:570px}.territory-image{position:relative;background:linear-gradient(145deg,#7c8a6d,#c0a77b 55%,#667d69);min-height:480px}.image-label{position:absolute;bottom:28px;left:30px;color:white;font-size:9px;letter-spacing:2px}.territory-copy{padding:90px 10vw 70px 8vw;align-self:center}.territory h2{font-size:clamp(44px,5vw,65px);letter-spacing:-1px}.territory-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#687166;max-width:460px}.places{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px}.places span{font-size:8px;letter-spacing:1.2px;border-bottom:1px solid #b9a37d;padding-bottom:8px}.quote{text-align:center;padding:100px 20px;background:#28382e;color:#f6f2e9}.quote-mark{font:80px "Playfair Display",serif;color:#c39a5b;line-height:.7}.quote p{font:italic 32px "Playfair Display",serif;margin:12px auto 22px}.quote small{font-size:8px;letter-spacing:3px;color:#c9b68f}.contact{text-align:center;padding:105px 20px 115px}.contact h2{font-size:clamp(48px,6vw,72px);margin:18px 0}.contact>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#72786d}.contact-actions{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap}footer{padding:30px 7vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dfdbcf}footer p,footer>a:last-child{font-size:9px;color:#777d72;letter-spacing:1px}.footer-brand{font-size:18px}@media(max-width:700px){.topbar{height:76px;padding:0 5vw}.brand{font-size:19px}nav{gap:13px;font-size:10px}nav a:nth-child(2){display:none}.hero{min-height:610px;height:78vh}.hero-content{margin:0 8vw}.hero h1{font-size:65px}.intro{padding:85px 25px 65px}.homes{grid-template-columns:1fr;padding:0 6vw 75px;gap:15px}.photo-placeholder{height:300px}.home-info{padding:25px 4px 35px}.territory{grid-template-columns:1fr}.territory-image{min-height:300px}.territory-copy{padding:65px 8vw}.quote{padding:75px 20px}.quote p{font-size:26px}footer{gap:20px;flex-wrap:wrap}footer p{order:3;width:100%}}.homes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.home-card {
  min-width: 0;
  width: 100%;
}
/* Gallery of nearby destinations */
.territory-image{overflow:hidden}
.territory-image img{width:100%;height:100%;min-height:480px;object-fit:cover;display:block}
.destinations{padding:105px 7vw 90px;background:#f6f2e9}
.destinations-heading{text-align:center;max-width:690px;margin:0 auto 48px}
.destinations-heading h2{font:500 clamp(40px,5vw,62px)/1.05 "Playfair Display",serif;letter-spacing:-1px;margin:18px 0;color:#2d3a30}
.destinations-heading>p:last-child{font-size:14px;line-height:1.9;color:#72786d}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1200px;margin:0 auto}
.destination-card{background:#eee9dd;min-width:0}
.destination-card img{width:100%;height:245px;object-fit:cover;display:block}
.destination-info{padding:25px 25px 30px}
.destination-info .eyebrow{margin:0 0 12px}
.destination-info h3{font:500 30px "Playfair Display",serif;margin:0 0 12px;color:#2d3a30}
.destination-info>p:last-child{font-size:12px;line-height:1.9;color:#72786d;margin:0}
.photo-credits{max-width:1200px;margin:24px auto 0;font-size:10px;line-height:1.7;color:#85877e}
.photo-credits a{text-decoration:underline}
@media(max-width:800px){.destination-grid{grid-template-columns:1fr 1fr}.destination-card img{height:210px}}
@media(max-width:560px){.destination-grid{grid-template-columns:1fr}.destination-card img{height:230px}.destinations{padding:75px 6vw}.territory-image img{min-height:300px}}


/* Galleria fotografica Romantic */
.romantic-gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 64px;
}
.romantic-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 3px;
}
@media (max-width: 760px) {
  .romantic-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-bottom: 42px; }
}


/* Dimensioni controllate delle foto delle case */
.photo-placeholder > div { width: min(88%, 440px); }
.photo-placeholder small { display: block; width: 100%; height: 250px; overflow: hidden; }
.photo-placeholder small img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; }
.romantic-gallery { grid-column: 1 / -1; width: 100%; max-width: 1100px; margin: -12px auto 54px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.romantic-gallery img { width: 100%; height: 190px; aspect-ratio: auto; object-fit: cover; }
@media (max-width: 760px) {
  .photo-placeholder small { height: 210px; }
  .romantic-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0 auto 38px; }
  .romantic-gallery img { height: 155px; }
}


/* Pulsanti di prenotazione e contatto */
.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.booking-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 15px;min-height:43px;font-size:9px;letter-spacing:1px;font-weight:700;border:1px solid #9b8058;transition:background .2s,color .2s}
.airbnb-button{background:#28382e;color:#fff;border-color:#28382e}
.airbnb-button:hover{background:#405748}
.bookingcom-button{background:transparent;color:#28382e}
.bookingcom-button:hover{background:#e9e5d9}
.button-outline{border:1px solid #28382e;color:#28382e;background:transparent}
.button-outline:hover{background:#e9e5d9}
.contact-details{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:12px;color:#72786d}
.contact-details a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.booking-actions{gap:8px}.booking-button{flex:1 1 145px;padding:12px 9px;font-size:8px}.contact-details{font-size:11px}}

/* Hero fotografico Sicilia al tramonto */
.hero:after{display:none}
.hero-content .eyebrow,.hero-content h1,.hero-content .hero-copy{display:none}
.hero-content{align-self:flex-end;margin:0 0 54px 7vw;max-width:none}
.hero-content .button{margin-top:0}
@media(max-width:700px){.hero-content{margin:0 0 38px 6vw}.hero{background-position:center center}}

/* Correzione hero per smartphone: titolo HTML leggibile e immagine senza testo incorporato */
@media (max-width: 700px) {
  .hero {
    min-height: 620px;
    height: 82svh;
    max-height: 780px;
    background-image: linear-gradient(180deg, rgba(25,35,29,.08), rgba(25,35,29,.30)), url("assets/hero-sicilia-mobile.jpg");
    background-size: cover;
    background-position: center center;
    align-items: center;
  }
  .hero-content {
    align-self: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 22px;
    text-align: center;
  }
  .hero-content .eyebrow {
    display: block;
    color: #fff2d9;
    font-size: 9px;
    letter-spacing: 2px;
    line-height: 1.6;
  }
  .hero-content h1 {
    display: block;
    max-width: 100%;
    margin: 18px auto;
    color: #fffaf0;
    font-size: clamp(42px, 11vw, 56px);
    line-height: 1.05;
    letter-spacing: -1.5px;
    text-wrap: balance;
    text-shadow: 0 2px 18px rgba(0,0,0,.28);
  }
  .hero-content .hero-copy {
    display: block;
    max-width: 330px;
    margin: 0 auto;
    color: #fffaf0;
    font-size: 13px;
    line-height: 1.7;
    text-shadow: 0 1px 8px rgba(0,0,0,.35);
  }
  .hero-content .button {
    margin-top: 24px;
  }
  .hero-note { display: none; }
}

/* Accessible multilingual selector */
.lang{border:1px solid #c9c7b9;background:#f6f2e9;color:#28352d;border-radius:30px;padding:9px 12px;font:600 11px "DM Sans",sans-serif;cursor:pointer;max-width:150px}
.lang:focus{outline:2px solid #a17b45;outline-offset:3px}
@media(max-width:700px){.lang{max-width:116px;padding:8px 7px;font-size:10px}.topbar{gap:8px}nav{gap:10px}}
