@font-face{font-family:Open;src:url('assets/fonts/open-sans-normal-400.ttf')}@font-face{font-family:Open;src:url('assets/fonts/open-sans-normal-700.ttf');font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#123e49;background:#faf9f4;font:15px/1.65 Open,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #d6652c;outline-offset:5px}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff}header img{display:block}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a:hover{color:#bb4923}.nav-contact{border-bottom:1px solid #d6652c;padding:10px 0}.nav-contact span{margin-left:15px}.hero{display:grid;grid-template-columns:52% 48%;background:#003e50;color:white;min-height:650px}.hero-copy{padding:65px 9% 25px 10%;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 25px}.hero h1{font-size:clamp(36px,4.6vw,74px);line-height:1.08;font-weight:400;letter-spacing:-2.5px;margin:0 0 26px}.hero em{font-style:normal;color:#f28744}.hero em.lime{color:#cedc72}.intro{font-size:19px;max-width:430px}.hero-detail{font-size:14px;color:#ccdade;max-width:410px;margin:0 0 30px}.button{display:flex;justify-content:space-between;gap:22px;align-self:flex-start;background:#e87a39;padding:16px 22px;color:#132e32;font-weight:700;font-size:12px}.button:hover{background:#f89b60}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:auto;padding-top:50px;font-size:8px;letter-spacing:2px}.hero-bottom a{font-size:28px}.hero-photo{position:relative;min-height:600px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:18% center;position:absolute}.hero-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#002e3bc9)}.photo-caption{position:absolute;bottom:40px;left:35px;z-index:1}.photo-caption span{font-size:9px;letter-spacing:2px}.photo-caption p{font-size:27px;line-height:1.3;margin:15px 0}.wrap{padding:85px max(6%,calc((100% - 1200px)/2))}h2{font-size:clamp(30px,3.3vw,48px);line-height:1.18;letter-spacing:-1.5px;font-weight:400;margin:0 0 25px}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.vision .eyebrow{color:#b74a24}.large{font-size:22px;line-height:1.55;margin-top:0}.vision-grid p:last-child{color:#546b70}.expertise{padding-top:30px}.section-heading{margin-bottom:40px}.duo{display:grid;grid-template-columns:1fr 1fr}.duo article{padding:50px}.substance{background:#e6edb8}.shape{background:#ef8143;color:#213b3f}.number{font-size:10px;letter-spacing:2px}.duo h3{font-size:55px;font-weight:400;letter-spacing:-2px;margin:25px 0 16px}.duo h3 span{color:#00617b}.lead{font-size:21px;line-height:1.4}.duo ul{padding:20px 0 0;list-style:none;font-size:13px}.duo li{padding:12px 0;border-top:1px solid #12434a33}.method{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#edf0ed}.method>div>p:last-child{max-width:340px;color:#546b70}.steps article{display:flex;gap:30px;padding:24px 0;border-top:1px solid #bac9c9}.steps article>span{color:#b74a24;font-size:12px}.steps h3{margin:0;font-size:20px;font-weight:400}.steps p{font-size:14px;color:#546b70}.applications{background:#003e50;color:white}.applications>p:not(.eyebrow){color:#ccdadd}.system-list{margin-top:50px}details{border-top:1px solid #63818a;padding:22px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:22px}summary::-webkit-details-marker{display:none}summary span{color:#cddd71;font-size:28px}details[open] summary span{transform:rotate(45deg)}details p{max-width:700px;color:#ccdadd;font-size:15px}.team-title{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.team-title>p{font-size:18px}.people{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.people article{display:flex;gap:25px;align-items:center;border-top:1px solid #c0cecb;padding-top:30px}.person-mark{font-size:100px;line-height:1;color:#c6d66d;font-weight:700}.people article:nth-child(2) .person-mark{color:#e97e40}.people h3{font-size:25px;font-weight:400;margin:0 0 10px}.people .eyebrow{margin:0 0 7px;font-size:9px}.people a{display:block;font-size:12px;overflow-wrap:anywhere}.contact{background:#e7ecce;text-align:center}.contact h2{font-size:clamp(36px,4vw,60px)}.contact>a{display:inline-block;padding:10px 0;border-bottom:2px solid #c85625;font-size:20px}.contact>a span{margin-left:30px}.contact>p:last-child{font-size:13px}footer{display:flex;justify-content:space-between;gap:30px;padding:50px 6%;background:white;font-size:11px;color:#546b70}footer>div:last-child{text-align:right;align-self:flex-end}footer a{text-decoration:underline}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:5;background:white;padding:10px}@media(max-width:800px){header{padding:18px 6%;flex-wrap:wrap;gap:15px}header img{width:115px}nav{gap:15px;flex-wrap:wrap;font-size:11px}nav .nav-contact{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 25px}.hero h1{font-size:54px}.hero-photo{min-height:340px}.hero-photo img{object-position:18% 50%}.hero-bottom{padding-top:25px}.hero-detail{max-width:500px}.wrap{padding:55px 6%}.vision-grid,.method,.team-title{grid-template-columns:1fr;gap:15px}.large{font-size:20px}.duo{grid-template-columns:1fr}.duo article{padding:35px 25px}.duo h3{font-size:48px}.people{grid-template-columns:1fr;gap:30px}.method{gap:25px}.photo-caption{bottom:25px;left:6%}.photo-caption p{font-size:23px}summary{font-size:18px}footer{flex-direction:column}footer>div:last-child{text-align:left;align-self:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Versione 02: colori ALEA, secondo faro e ritratto condiviso. */
body{background:#f0eee4}
header{padding-top:15px;padding-bottom:15px;background:#f0eee4;border-bottom:3px solid #d8753e}
header img{width:125px;height:auto}
.vision{background:#e9ead7}
.vision-layout{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:clamp(35px,7vw,100px);align-items:center}
.lighthouse-portrait{margin:0;position:relative;padding:0 16px 16px 0}
.lighthouse-portrait:before{content:'';position:absolute;inset:30px 0 0 30px;background:#d8793e;z-index:0}
.lighthouse-portrait img{position:relative;display:block;width:100%;height:auto}
.lighthouse-portrait figcaption{position:relative;background:#003e50;color:#e7edcf;font-size:10px;letter-spacing:1.5px;padding:16px 18px}
.vision-copy h2{font-size:clamp(34px,3.6vw,52px)}
.vision-copy>p:not(.eyebrow){max-width:550px}
.vision-copy>p:not(.eyebrow):not(.large){color:#49636a}
.vision-link{display:inline-block;margin-top:20px;padding-bottom:9px;border-bottom:2px solid #c96531;font-size:13px;font-weight:700}
.vision-link span{margin-left:25px}
.expertise{padding-top:65px;background:#f0eee4}
.method{background:#dfe7e2}
.team{background:#ece8dc}
.team-photo{margin:35px 0 0;max-width:1050px}
.team-photo img{display:block;width:100%;height:auto}
.people{max-width:1050px;gap:0;margin-top:0;background:#003e50;color:white}
.people article{padding:28px 32px;border-top:4px solid #ee874c}
.people article:nth-child(2){border-top-color:#cbd978;border-left:1px solid #51707a}
.people article:first-child .eyebrow{color:#ffab78}
.people article:nth-child(2) .eyebrow{color:#d9e58e}
.people a{font-size:13px;line-height:1.9}
.contact{background:#dce4af}
footer{background:#eeeade}
@media(max-width:800px){header{padding:14px 6%}header img{width:110px}.vision-layout{grid-template-columns:1fr;gap:30px}.vision-copy{grid-row:1}.lighthouse-portrait{max-width:390px;width:100%;justify-self:center}.expertise{padding-top:55px}.team-photo{margin-top:25px}.people{grid-template-columns:1fr 1fr}.people article{padding:20px 16px}.people h3{font-size:20px}.people a{font-size:11px}.people .eyebrow{font-size:8px;letter-spacing:1px}}
@media(max-width:420px){.people{grid-template-columns:1fr}.people article:nth-child(2){border-left:0}.team-title>p{font-size:16px}}

/* Pagina servizi: testi approvati e approfondimenti. */
.service-hero{background:#003e50;color:white;padding-top:65px;padding-bottom:55px}
.service-hero h1{font-size:clamp(35px,4.5vw,64px);font-weight:400;line-height:1.15;letter-spacing:-1.5px;margin:0 0 35px}
.page-nav{display:flex;flex-wrap:wrap;gap:12px 28px;color:#dce4af;font-size:13px}
.service-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:65px;background:#e9ead7}
.service-block:nth-of-type(3){background:#eee2d3}
.service-block h2{font-size:clamp(28px,3vw,40px)}
.service-block ul{padding:0;margin:0;list-style:none}
.service-block li{padding:17px 0;border-top:1px solid #aebbb1}
.requirements{background:#003e50;color:white}
.requirements-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.requirements h2{font-size:30px}.requirements p,.requirements li{color:#dce5e5}
.requirements li{padding:5px 0}.requirements ul{padding-left:20px}
.technical{background:#ece8dc}.technical details{border-color:#aabdb9}
.technical details p{color:#234a53}.technical summary span{color:#a34220}
.technical h3{font-size:17px;font-weight:700;margin:25px 0 10px}
.technical li{margin-bottom:10px;max-width:850px}.technical ul{padding-left:20px}
.service-applications{background:#dfe7e2}.service-applications>p{max-width:950px}
.service-applications ul{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;list-style:none;padding:0}
.service-applications li{padding:16px 0;border-top:1px solid #acbdb8}
.technical-link{display:inline-block;border-bottom:1px solid #dce4af;margin-top:25px;padding-bottom:10px;color:#dce4af}
.technical-link span{margin-left:20px}
.team-title{grid-template-columns:1fr}
@media(max-width:800px){.service-block,.requirements-grid{grid-template-columns:1fr;gap:20px}.service-applications ul{grid-template-columns:1fr}.page-nav{font-size:12px;gap:15px}.service-hero{padding-top:40px;padding-bottom:40px}}

/* Contatti e informativa: stessa identità, lettura e navigazione coerenti. */
.contact-nav{padding:9px 0;border-bottom:2px solid #c65c2c}
nav [aria-current="page"]{font-weight:700}
.contact-heading{background:#003e50;color:white;padding-top:65px;padding-bottom:65px}
.contact-heading h1{font-size:clamp(38px,4.8vw,66px);font-weight:400;letter-spacing:-1.8px;line-height:1.14;margin:0 0 35px}
.contact-email{display:inline-block;font-size:clamp(20px,2.5vw,32px);color:#dce4af;border-bottom:1px solid #cbd978;padding-bottom:10px}
.contact-email span{margin-left:25px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#eee7d9;padding-top:50px;padding-bottom:50px}
.contact-details article{border-top:4px solid #dd7940;padding-top:25px;min-width:0}
.contact-details article:nth-child(2){border-color:#a9b855}
.contact-details h2{font-size:30px;letter-spacing:-.5px}
.contact-details a{display:block;overflow-wrap:anywhere;margin:8px 0}
.location{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr);gap:50px;background:#dfe7e2;align-items:center}
.address address{font-style:normal;line-height:1.9;margin-bottom:25px}.address>a{display:inline-block;border-bottom:1px solid #a34423;padding-bottom:8px}
.map-shell{border:1px solid #a7bab6;background:#f0eee4}
#alea-map-panel{height:380px}.map-placeholder{height:100%;padding:35px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.map-label{font-size:26px;margin:0 0 15px}.map-placeholder p:not(.map-label){font-size:12px;line-height:1.7;max-width:430px}.map-placeholder a{text-decoration:underline}
.alea-map-button{font:700 13px Open,Arial,sans-serif;background:#003e50;color:white;border:0;cursor:pointer;padding:15px 22px;margin-top:15px}
.alea-map-button:hover{background:#075c6d}.alea-map-button:focus-visible{outline:3px solid #b85126;outline-offset:4px}
#alea-map-panel iframe{display:block;width:100%;height:100%;border:0}
.privacy-heading{background:#003e50;color:white;padding-top:45px;padding-bottom:45px}.privacy-heading h1{font-size:clamp(32px,4vw,50px);font-weight:400;margin:0;line-height:1.2}
.privacy-body{max-width:1000px;margin:auto;padding:45px 6% 65px;overflow-wrap:anywhere}
.privacy-body h2{font-size:24px;letter-spacing:-.5px;margin:30px 0 12px}.privacy-body p{line-height:1.8}.privacy-body a{color:#994522;text-decoration:underline}.updated{font-size:12px;color:#52686d}
@media(max-width:800px){.contact-details{gap:30px}.contact-details h2{font-size:25px}.location{grid-template-columns:1fr;gap:30px}#alea-map-panel{height:340px}.map-placeholder{padding:25px}.contact-heading{padding-top:45px;padding-bottom:45px}header nav{column-gap:18px;row-gap:8px}.privacy-body{padding:30px 6% 50px}}
@media(max-width:480px){.contact-details{grid-template-columns:1fr}.contact-email span{margin-left:12px}.contact-heading h1{font-size:38px}.map-placeholder{padding:20px}}

/* Language switch is always visible, including narrow screens. */
header{flex-wrap:wrap;gap:18px}header nav{margin-left:auto;min-width:0}.language-switch{display:flex;align-items:center;gap:10px;font-size:12px;flex-shrink:0}.language-switch a{padding:6px 8px;border:1px solid #9caaa1}.language-switch span{padding:6px 8px;background:#003e50;color:white}.hero h1{font-size:clamp(34px,4.1vw,64px)}
@media(max-width:800px){header nav{order:3;flex-basis:100%;margin:0}.language-switch{margin-left:auto}.hero h1{font-size:clamp(34px,7vw,52px)}}

/* Homepage: concise system list, with no expanding panels. */
.system-overview{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
.system-overview li{padding:15px 0;border-top:1px solid #63818a;font-size:clamp(19px,2vw,26px);line-height:1.4;color:#f2f3e9}
@media(max-width:600px){.system-overview{grid-template-columns:1fr;margin-top:25px}.system-overview li{padding:12px 0}}

/* Revision 07: readable primary navigation and language controls, IT and EN. */
header nav{font-size:16px;font-weight:700;line-height:1.4;flex-wrap:wrap;column-gap:24px;row-gap:8px}
header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
header .language-switch{font-size:16px;font-weight:700;line-height:1.25;gap:8px}
header .language-switch a,header .language-switch span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;box-sizing:border-box}
@media(max-width:1100px){header nav{order:3;flex-basis:100%;margin-left:0}header .language-switch{margin-left:auto}}
@media(max-width:800px){header nav,header .language-switch{font-size:14px}header nav{column-gap:20px;row-gap:6px}}
@media(max-width:600px){header nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 16px;align-items:stretch}header nav a{min-width:0;overflow-wrap:break-word}header nav .contact-nav{justify-self:start}}

/* Logo ALEA: versione pubblica 09. */
header>a{flex-shrink:0}
header>a img{width:180px;height:auto}
@media(max-width:800px){header>a img{width:145px}}
@media(max-width:360px){header>a img{width:135px}}
