@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap');
:root{--mar:#12324a;--sol:#F2A33A;--agua:#2BB3C0;--arena:#f7f1e6;--texto:#1d2a33;--suave:#5b6b75;--bordo:#e7dfcf;--fondo:#fffdf9}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.5}
a{color:var(--mar)}
img{max-width:100%;display:block}
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--mar)}
.marca img{height:46px;width:auto}
.marca b{display:block;font:700 1.45rem/1 Fraunces,serif;letter-spacing:.04em}
.marca small{display:block;font:500 .66rem Inter;letter-spacing:.24em;color:var(--agua);margin-top:.2rem}

/* ---------- home "en construcción" ---------- */
.home{min-height:100vh;display:flex;flex-direction:column;background:
 radial-gradient(1200px 520px at 85% -10%,rgba(242,163,58,.28),transparent 60%),
 radial-gradient(900px 500px at -10% 110%,rgba(43,179,192,.22),transparent 60%),var(--fondo)}
.home .barra{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(16px,5vw,56px)}
.lingue{display:flex;gap:4px}
.lingue button{font:600 .78rem Inter;border:1px solid var(--bordo);background:#fff;color:var(--suave);border-radius:99px;padding:.3rem .6rem;cursor:pointer}
.lingue button[aria-pressed=true]{background:var(--mar);border-color:var(--mar);color:#fff}
.eroe{flex:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(16px,4vw,48px) clamp(16px,5vw,56px) 48px;max-width:1200px;margin:0 auto;width:100%}
.badge{display:inline-flex;align-items:center;gap:.5rem;font:600 .8rem Inter;color:#8a5a12;background:#fdecd2;border-radius:99px;padding:.35rem .8rem;margin-bottom:1.2rem}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--sol);box-shadow:0 0 0 0 rgba(242,163,58,.6);animation:pulsa 1.8s infinite}
@keyframes pulsa{70%{box-shadow:0 0 0 10px rgba(242,163,58,0)}100%{box-shadow:0 0 0 0 rgba(242,163,58,0)}}
.eroe h1{font:700 clamp(2.1rem,5.2vw,3.7rem)/1.05 Fraunces,serif;color:var(--mar);letter-spacing:-.01em}
.eroe h1 span{color:var(--sol)}
.eroe .sotto{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--suave);margin:1.1rem 0 1.6rem;max-width:36em}
.punti{list-style:none;display:grid;gap:.7rem;margin-bottom:1.8rem}
.punti li{display:flex;gap:.7rem;align-items:flex-start}
.punti li b{color:var(--mar)}
.icona{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:1.05rem}
.icona.sol{background:#fdecd2}.icona.agua{background:#d7f1f3}.icona.casa{background:#e6ecf1}
.contatto{display:inline-flex;align-items:center;gap:.6rem;background:var(--mar);color:#fff;text-decoration:none;font-weight:600;border-radius:12px;padding:.85rem 1.2rem}
.contatto:hover{background:#0d2638}
.piccolo{font-size:.82rem;color:var(--suave);margin-top:.8rem}

/* illustrazione: sole, casa, acqua (niente foto finché non arriva quella di ChatGPT) */
.scena{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#fdf3e2 0%,#fbe3bd 55%,#2bb3c0 55%,#1f8f9b 100%);box-shadow:0 30px 60px -30px rgba(18,50,74,.45)}
.scena.con-foto{background:#e8e1d3}
.scena.con-foto img{width:100%;height:100%;object-fit:cover}
.scena .sole{position:absolute;width:38%;aspect-ratio:1;border-radius:50%;left:50%;top:14%;transform:translateX(-50%);background:radial-gradient(circle,#ffd27a 0 55%,#f2a33a 56% 100%);box-shadow:0 0 0 18px rgba(242,163,58,.18),0 0 0 40px rgba(242,163,58,.09)}
.scena .casa{position:absolute;left:16%;right:16%;bottom:45%;height:22%}
.scena .casa .tetto{position:absolute;left:-4%;right:-4%;top:-36%;height:44%;background:#c8643b;clip-path:polygon(8% 100%,50% 0,92% 100%)}
.scena .casa .muro{position:absolute;inset:0;background:#fff8ec;border-radius:4px}
.scena .casa .pannelli{position:absolute;z-index:2;left:56%;top:-20%;width:24%;height:13%;background:repeating-linear-gradient(90deg,#183a56 0 23%,#7fa3c2 23% 25%);transform:skewY(30deg);transform-origin:left bottom;border-radius:2px;box-shadow:0 0 0 2px #fff8ec}
.scena .casa .porta{position:absolute;left:44%;bottom:0;width:12%;height:55%;background:#12324a;border-radius:3px 3px 0 0}
.scena .onde{position:absolute;left:0;right:0;bottom:0;height:45%;background:repeating-linear-gradient(180deg,transparent 0 22px,rgba(255,255,255,.18) 22px 24px)}
.scena .riflesso{position:absolute;left:50%;top:58%;width:30%;height:8%;transform:translateX(-50%);border-radius:50%;background:rgba(255,210,122,.55);filter:blur(6px)}
.piede{padding:22px clamp(16px,5vw,56px);font-size:.8rem;color:var(--suave);display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--bordo)}

.marca span{white-space:nowrap}
@media (max-width:480px){.marca img{height:36px}.marca b{font-size:1.15rem}.marca small{font-size:.58rem;letter-spacing:.18em}.lingue button{padding:.25rem .45rem;font-size:.72rem}}
@media (max-width:820px){.eroe{grid-template-columns:1fr}.scena{max-width:420px;width:100%;margin:0 auto;order:-1;aspect-ratio:4/3}}

/* ---------- pagina della villa ---------- */
.villa .barra{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,5vw,40px);border-bottom:1px solid var(--bordo);background:#fff}
.villa .zona{font-size:.85rem;color:var(--suave)}
.anteprima{background:#12324a;color:#fff;font-size:.85rem;padding:.55rem 16px;text-align:center}
.anteprima a{color:#ffd27a}
.contenuto{max-width:880px;margin:0 auto;padding:28px 16px 40px}
.occhiello{font:600 .8rem Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--agua)}
.contenuto h1{font:700 clamp(1.8rem,4.5vw,2.6rem)/1.1 Fraunces,serif;color:var(--mar);margin:.4rem 0 .6rem}
.lead{color:var(--suave);margin-bottom:1.2rem}
.foto{display:grid;gap:12px}
.foto.doppia{grid-template-columns:1.6fr 1fr}
.foto figure{position:relative;border-radius:18px;overflow:hidden;background:#eee6d6;aspect-ratio:4/3}
.foto img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;left:12px;top:12px;font:600 .8rem Inter;background:var(--sol);color:#1d2a33;border-radius:99px;padding:.2rem .7rem}
.tag.scuro{background:rgba(18,50,74,.9);color:#fff}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}
.tiles div{background:var(--arena);border-radius:14px;padding:14px}
.tiles b{display:block;font:700 1.35rem Fraunces,serif;color:var(--mar)}
.tiles small{color:var(--suave)}
.riquadro{background:#fff;border:1px solid var(--bordo);border-radius:18px;padding:20px;margin-top:14px}
.riquadro h2{font:700 1.25rem Fraunces,serif;color:var(--mar);margin-bottom:.6rem}
.kv{width:100%;border-collapse:collapse}
.kv td{padding:.5rem 0;border-bottom:1px solid #f0e9db;vertical-align:top}
.kv td:last-child{text-align:right;font-weight:600;color:var(--mar);padding-left:1rem}
.nota{font-size:.78rem;color:var(--suave);margin-top:.7rem}
.modulo{display:grid;gap:.8rem;margin-top:.8rem}
.modulo label{display:grid;gap:.3rem;font-weight:500;font-size:.9rem}
.modulo input,.modulo select{font:inherit;padding:.7rem .8rem;border:1px solid var(--bordo);border-radius:10px;background:#fff}
.modulo .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.85rem;color:var(--suave)}
.modulo .check input{margin-top:.2rem}
.modulo button{font:600 1rem Inter;background:var(--sol);color:#1d2a33;border:0;border-radius:12px;padding:.9rem;cursor:pointer}
.esito{font-weight:600;color:#1d8b95}
.villa .piede{justify-content:center}
@media (max-width:640px){.foto.doppia{grid-template-columns:1fr}}

/* ---------- testi legali ---------- */
.testo{max-width:720px;margin:0 auto;padding:32px 16px 48px}
.testo h1{font:700 2rem Fraunces,serif;color:var(--mar);margin-bottom:1rem}
.testo h2{font:700 1.1rem Fraunces,serif;color:var(--mar);margin:1.4rem 0 .4rem}
.testo p{margin-bottom:.7rem}
