@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-arabic-400.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-arabic-600.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

:root{--verde:#2F4A3F;--verde-scuro:#1E302A;--sabbia:#F4F3EE;--testo:#1E2522;--testo2:#444C48;--linea:#DCE1DE;--bordo:#A9B4AE;--chiaro:#D5DDD9;--filo:#8FA39A;--serif:'Fraunces',Georgia,serif;--sans:'Manrope','Helvetica Neue',Arial,sans-serif;--velo:rgba(28,28,28,.48)}
html[lang="zh"]{--serif:'Songti SC','Noto Serif SC','Source Han Serif SC','SimSun',serif;--sans:'PingFang SC','Noto Sans SC','Source Han Sans SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif}
html[lang="ar"]{--serif:'IBM Plex Sans Arabic','Geeza Pro','Segoe UI',Tahoma,sans-serif;--sans:'IBM Plex Sans Arabic','Geeza Pro','Segoe UI',Tahoma,sans-serif}
html[lang="ru"]{--serif:'Fraunces',Georgia,'Times New Roman',serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:var(--testo);font-family:var(--sans);font-size:16px;line-height:1.6;display:flex;flex-direction:column;min-height:100vh}
main{flex:1 0 auto}
a{color:var(--verde)}a:hover{color:var(--verde-scuro)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.01em}
p{margin:0}
.contenitore{max-width:1280px;margin:0 auto;padding:0 40px}
.salta{position:absolute;inset-inline-start:16px;top:-80px;background:#FFFFFF;color:var(--verde);padding:12px 16px;z-index:100}
.salta:focus{top:16px}
:focus-visible{outline:2px solid #E3B23C;outline-offset:2px}

/* barra */
.barra{background:var(--verde);color:#FFFFFF;position:relative;z-index:20}
.barra .contenitore{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:8px 32px}
.logo{display:flex;align-items:baseline;padding:8px 0;color:#FFFFFF;text-decoration:none;direction:ltr}
.logo:hover{color:#FFFFFF}
.logo svg{display:block;margin-right:9px;width:21px;height:28px}
.logo .ilios{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:28px;line-height:1;letter-spacing:-.01em}
.logo .homes{margin-left:7px;font-family:'Manrope','Helvetica Neue',Arial,sans-serif;font-weight:600;font-size:12px;letter-spacing:.32em;line-height:1}
.menu{display:flex;align-items:center;gap:0 28px;font-size:15px;font-weight:500}
.menu a{color:#FFFFFF;text-decoration:none;padding:12px 0}
.menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.menu a.riservata{padding:11px 16px;border:1px solid #FFFFFF;border-radius:2px}
.menu a.riservata[aria-current="page"]{background:#FFFFFF;color:var(--verde);text-decoration:none}
.lingue{position:relative;font-size:15px;font-weight:600}
.lingue summary{list-style:none;display:flex;align-items:center;gap:7px;padding:12px 4px;cursor:pointer;color:#FFFFFF}
.lingue summary::-webkit-details-marker{display:none}
.lingue ul{position:absolute;inset-inline-end:0;top:100%;margin:0;padding:8px 0;list-style:none;background:#FFFFFF;min-width:180px;box-shadow:0 8px 28px rgba(0,0,0,.18);border-top:3px solid var(--verde);z-index:30}
.lingue li a{display:block;padding:10px 20px;color:var(--testo);text-decoration:none;font-weight:500}
.lingue li a:hover{background:var(--sabbia)}
.lingue li a[aria-current="true"]{color:var(--verde);font-weight:700}
.apri-menu{display:none;width:44px;height:44px;padding:0;background:transparent;border:0;cursor:pointer;align-items:center;justify-content:center}
.apri-menu svg{width:22px;height:16px}

/* prima schermata */
.eroe{position:relative;overflow:hidden;color:#FFFFFF;background:var(--verde)}
.eroe picture,.eroe picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eroe .velo{position:absolute;inset:0;background:var(--velo)}
.eroe .contenitore{position:relative;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.eroe-home{height:640px}
.eroe-home .contenitore{justify-content:center;gap:24px}
.eroe-home h1{max-width:820px;font-size:clamp(38px,4.6vw,64px);line-height:1.06;letter-spacing:-.015em}
.eroe-home p{font-size:21px;line-height:1.5;font-weight:500}
.eroe-pagina{height:460px}
.eroe-pagina .contenitore{justify-content:flex-end;padding-bottom:64px}
.eroe-pagina h1{max-width:820px;font-size:clamp(36px,4vw,56px);line-height:1.06;letter-spacing:-.015em}
.eroe-pagina p{max-width:760px;font-size:19px;line-height:1.6;font-weight:500}
.eroe-corta{height:400px}
.etichetta{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

/* pulsanti */
.pulsante{display:inline-block;background:var(--verde);color:#FFFFFF;text-decoration:none;font-weight:600;font-size:16px;padding:16px 30px;border-radius:2px;border:0;font-family:inherit;cursor:pointer;line-height:1.4}
.pulsante:hover{background:var(--verde-scuro);color:#FFFFFF}
.pulsante-chiaro{background:#FFFFFF;color:var(--verde)}
.pulsante-chiaro:hover{background:var(--sabbia);color:var(--verde)}
.pulsante-piccolo{font-size:15px;padding:14px 22px}

/* sezioni */
.sezione{padding:88px 0}
.sezione-sabbia{background:var(--sabbia)}
.sezione-verde{background:var(--verde);color:#FFFFFF}
.due-colonne{display:flex;flex-wrap:wrap;gap:32px 80px}
.due-colonne > .sinistra{flex:1 1 300px}
.due-colonne > .destra{flex:2 1 560px;min-width:0}
.titolo-sezione{font-size:36px;line-height:1.15}
.colonna{display:flex;flex-direction:column;gap:40px}

/* tre ingressi */
.ingressi{display:flex;flex-wrap:wrap;gap:32px}
.ingresso{flex:1 1 300px;min-width:0;background:var(--sabbia);border-top:3px solid var(--verde);padding:36px 32px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ingresso .etichetta{font-size:12px;color:var(--verde)}
.ingresso h2{font-size:30px;line-height:1.15}
.ingresso p{flex-grow:1;color:var(--testo2)}
.ingresso .pulsante{margin-top:8px}

/* numeri */
.numeri{display:flex;flex-wrap:wrap;gap:40px 32px}
.numero{flex:1 1 170px;min-width:0;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--filo);padding-top:20px}
.numero .prefisso{font-family:var(--serif);font-size:20px;line-height:1.2;margin-bottom:-4px}
.numero .cifra{font-family:var(--serif);font-weight:500;font-size:56px;line-height:1;white-space:nowrap}
.numero .cifra small{font-size:24px}
.numero .descrizione{font-size:15px;line-height:1.5;color:var(--chiaro)}

/* invito */
.invito .contenitore{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px}
.invito h2{font-size:48px;line-height:1.1}
.invito p{font-size:18px;color:var(--testo2);margin-top:12px}

/* elenchi */
.elenco{margin:0;padding:0;list-style:none}
.elenco li{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-top:1px solid var(--linea);font-size:18px;line-height:1.5}
.elenco li:last-child{border-bottom:1px solid var(--linea)}
.elenco svg{flex-shrink:0;margin-top:3px;width:22px;height:22px}
.passi{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:40px 32px;counter-reset:passo}
.passi li{flex:1 1 320px;min-width:0;display:flex;align-items:flex-start;gap:18px;font-size:17px;line-height:1.55}
.passi-4 li{flex-basis:220px;flex-direction:column;gap:16px}
.passi li::before{counter-increment:passo;content:counter(passo);flex-shrink:0;width:44px;height:44px;border:1.5px solid var(--verde);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;color:var(--verde)}
.passi:not(.passi-4) li span{padding-top:9px}
.schede{display:flex;flex-wrap:wrap;gap:24px}
.scheda{flex:1 1 340px;min-width:0;background:#FFFFFF;border-top:3px solid var(--verde);padding:28px;font-size:17px;line-height:1.55}
.avviso{background:#FFFFFF;display:flex;align-items:center;gap:14px;padding:20px 24px;margin-top:8px}
.avviso svg{flex-shrink:0}
.testo-verde p{color:#E3E9E6;font-size:18px;line-height:1.65}
.testo-verde p + p{margin-top:20px;color:#FFFFFF;font-weight:600}

/* moduli */
.modulo{display:flex;flex-wrap:wrap;gap:20px 24px}
.campo{flex:1 1 260px;display:flex;flex-direction:column;gap:8px}
.campo-intero{flex-basis:100%}
.campo label,.campo legend{font-size:14px;font-weight:600}
.campo .facoltativo{font-weight:400;color:#5A625E}
.campo input,.campo textarea{width:100%;height:48px;border:1px solid var(--bordo);border-radius:2px;padding:0 14px;font-family:inherit;font-size:16px;background:#FFFFFF;color:var(--testo)}
.campo textarea{height:auto;min-height:140px;padding:12px 14px;resize:vertical}
.campo input:focus,.campo textarea:focus{border-color:var(--verde);outline:2px solid rgba(47,74,63,.25);outline-offset:0}
.trappola{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.modulo-sabbia{background:var(--sabbia);padding:40px}
fieldset.campo{margin:0;padding:0;border:0}
.scelte{display:flex;flex-wrap:wrap;gap:12px}
.scelte label{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:#FFFFFF;border:1px solid var(--bordo);border-radius:2px;font-size:15px;font-weight:500;cursor:pointer}
.scelte input{accent-color:var(--verde);width:18px;height:18px;margin:0}
.esito{flex-basis:100%;padding:14px 16px;font-size:16px;display:none}
.esito-ok{background:#E5F4E4;color:#1F4A24}
.esito-errore{background:#FBEBEB;color:#8A1F1F}
.esito.visibile{display:block}
.nota{font-size:13px;color:var(--testo2)}
.scarica{display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;padding-top:10px;font-size:15px;font-weight:600;color:var(--verde)}
.scarica svg{flex-shrink:0;margin-top:1px}

/* area riservata */
.riservata-box{max-width:520px;margin:0 auto;background:#FFFFFF;border-top:3px solid var(--verde);padding:48px;display:flex;flex-direction:column;gap:24px}
.riservata-box h1{font-size:40px;line-height:1.1}

/* testi lunghi */
.testo-lungo{max-width:760px}
.testo-lungo h1{font-size:44px;line-height:1.1;margin-bottom:32px}
.testo-lungo h2{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--verde);margin:40px 0 12px}
.testo-lungo p,.testo-lungo li{font-size:17px;line-height:1.7}
.testo-lungo p + p{margin-top:12px}
.testo-lungo ul{padding-inline-start:22px;margin:8px 0}

/* piè di pagina */
.piede{background:var(--verde);color:#FFFFFF;flex-shrink:0}
.piede .contenitore{padding-top:64px;padding-bottom:40px;display:flex;flex-direction:column;gap:40px}
.piede-righe{display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px 96px}
.marchio-piede{display:flex;flex-direction:column;align-items:center;gap:16px;direction:ltr}
.marchio-piede .arco{position:relative;width:150px;height:200px}
.marchio-piede .arco svg{position:absolute;inset:0}
.marchio-piede .scritte{position:absolute;inset:0;padding-top:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.marchio-piede .ilios{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:43px;line-height:.9;letter-spacing:-.015em}
.marchio-piede .riga{width:24px;height:1px;background:#FFFFFF}
.marchio-piede .homes{font-family:'Manrope','Helvetica Neue',Arial,sans-serif;font-weight:600;font-size:9.3px;letter-spacing:10.7px;padding-left:10.7px;line-height:1}
.marchio-piede .sotto{font-family:'Manrope','Helvetica Neue',Arial,sans-serif;font-size:13px;letter-spacing:.02em;color:var(--chiaro);text-align:center}
.piede nav{display:flex;flex-direction:column;gap:4px;font-size:15px}
.piede nav a,.piede .contatti a{color:#FFFFFF;text-decoration:none;padding:6px 0}
.piede .contatti{display:flex;flex-direction:column;gap:10px;font-size:15px}
.piede .contatti .etichetta{font-size:12px;color:var(--chiaro)}
.piede .contatti a{text-decoration:underline}
.piede .legale{border-top:1px solid var(--filo);padding-top:24px;font-size:13px;line-height:1.7;color:var(--chiaro)}
.piede .legale a,.piede .legale button{color:#FFFFFF}
.collegamento{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}

/* banner cookie */
.banner-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:760px;margin:0 auto;background:#FFFFFF;color:var(--testo);border-top:3px solid var(--verde);box-shadow:0 8px 32px rgba(0,0,0,.18);padding:24px;display:none;flex-direction:column;gap:16px}
.banner-cookie.visibile{display:flex}
.banner-cookie p{font-size:15px;line-height:1.6}
.banner-cookie .azioni{display:flex;flex-wrap:wrap;gap:12px}
.banner-cookie .pulsante{font-size:15px;padding:12px 24px}
.banner-cookie .pulsante-bordo{background:#FFFFFF;color:var(--verde);border:1px solid var(--verde)}

/* pagine e blocchi aggiunti */
.stretta{gap:14px}
.sotto-titolo{color:var(--testo2)}
.paragrafo{font-size:18px;line-height:1.7;color:var(--testo2)}
.lead{font-family:var(--serif);font-size:26px;line-height:1.45}
.numeri-intro{max-width:760px;font-size:18px;line-height:1.65;color:var(--chiaro);margin-top:-12px}
.schede-4 .scheda{flex:1 1 260px;display:flex;flex-direction:column;gap:10px}
.scheda h3{font-size:22px;line-height:1.25}
.scheda p{color:var(--testo2);font-size:16px;line-height:1.6}
.ingresso-bianco{background:#FFFFFF;border:1px solid var(--linea);border-top:3px solid var(--verde)}
.invio{flex-basis:100%;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.modulo-colonna{flex-direction:column;gap:16px}
.nota-grande{font-size:15px;color:var(--testo2)}
.nota-grande a{font-weight:600}
.sezione-riservata{padding:120px 0}
.seconda-lingua{margin-top:56px;padding-top:32px;border-top:1px solid var(--linea)}
.seconda-lingua h2{font-size:28px;margin-bottom:12px}
.seconda-lingua p + p{margin-top:12px}

/* lingue da destra a sinistra e lingue senza maiuscole */
html[dir="rtl"] .campo input[type="email"],html[dir="rtl"] .campo input[type="tel"],html[dir="rtl"] .campo input[type="url"]{direction:ltr;text-align:right}
html[lang="ar"] .etichetta,html[lang="zh"] .etichetta,html[lang="ar"] .testo-lungo h2,html[lang="zh"] .testo-lungo h2{letter-spacing:0}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{font-weight:600;letter-spacing:0}
html[lang="ar"] body{line-height:1.75}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3{font-weight:600;letter-spacing:0}

/* telefono */
@media (max-width:960px){
.contenitore{padding:0 20px}
.barra .contenitore{min-height:64px}
.logo .ilios{font-size:23px}.logo .homes{font-size:10px;letter-spacing:.3em;margin-left:6px}.logo svg{width:17px;height:23px;margin-right:7px}
.apri-menu{display:flex}
.menu{display:none;position:absolute;left:0;right:0;top:64px;background:var(--verde);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 24px;border-top:1px solid var(--filo)}
.menu.aperto{display:flex}
.menu a{padding:14px 0;font-size:17px;border-bottom:1px solid rgba(255,255,255,.15)}
.menu a.riservata{margin-top:16px;text-align:center;border:1px solid #FFFFFF}
.lingue{border-bottom:1px solid rgba(255,255,255,.15)}
.lingue summary{padding:14px 0;font-size:17px}
.lingue ul{position:static;box-shadow:none;border-top:0;background:transparent;padding:0 0 12px;display:grid;grid-template-columns:1fr 1fr}
.lingue li a{color:#FFFFFF;padding:10px 0;border-bottom:0}
.lingue li a:hover{background:transparent;text-decoration:underline}
.lingue li a[aria-current="true"]{color:#FFFFFF;text-decoration:underline}
.menu .lingue a{border-bottom:0;font-size:16px}
.schede-4 .scheda{flex-basis:100%}
.eroe-home{height:560px}
.eroe-home .contenitore{justify-content:flex-end;padding-bottom:56px;gap:18px}
.eroe-home p{font-size:18px}
.eroe-pagina{height:440px}
.eroe-pagina .contenitore{padding-bottom:48px}
.eroe-pagina p{font-size:17px}
.sezione{padding:56px 0}
.titolo-sezione{font-size:28px}
.ingresso{padding:28px 24px}
.ingresso h2{font-size:26px}
.numero .cifra{font-size:40px}.numero .cifra small{font-size:18px}
.numero{flex-basis:140px}
.invito h2{font-size:36px}
.invito .pulsante{width:100%;text-align:center}
.modulo-sabbia{padding:24px}
.riservata-box{padding:32px 24px}
.testo-lungo h1{font-size:34px}
.piede .contenitore{padding-top:48px}
.passi{gap:22px}
.passi li,.passi-4 li{flex-basis:100%;flex-direction:row;gap:16px;font-size:16px}
.passi li::before{width:38px;height:38px;font-size:18px}
.passi li span,.passi-4 li span{padding-top:7px}
.lead{font-size:22px}
.paragrafo{font-size:16px}
.scheda{padding:22px}
.scheda h3{font-size:20px}
.schede{gap:16px}
.sezione-riservata{padding:40px 0 56px}
.elenco li{font-size:16px;padding:16px 0}
.testo-verde p{font-size:16px}
.numeri-intro{font-size:16px}
.piede-righe{gap:32px 48px}
.marchio-piede .arco{width:120px;height:160px}
.marchio-piede .arco svg{width:120px;height:160px}
.marchio-piede .ilios{font-size:34px}
.marchio-piede .homes{font-size:7.5px;letter-spacing:8.6px;padding-left:8.6px}
.marchio-piede .scritte{padding-top:28px;gap:6px}
.marchio-piede .riga{width:20px}
}
