/* Approved brand review 16 October 2026: three type roles, official vector marks. */
:root{
--brand-navy:#033373;--brand-grey:#D4D3D4;--brand-royal:#0052D4;--brand-ink:#0f2959;--brand-mint:#1CE5BA;
--font-display:'Zilla Slab',Georgia,serif;--font-body:'Lexend Deca',Arial,sans-serif;--font-ui:var(--font-body);--font-mono:var(--font-body);
--navy:#033373;--navy-2:#0f2959;--blue:#0052D4;--ink:#0f2959;--muted:#033373;--white:#fff;--ice:#fff;--line:#D4D3D4;--gold:#D4D3D4;
--acqua:#1CE5BA;--acqua-ink:#0052D4;--acqua-10:rgba(0,82,212,.06);--nero:#0f2959;--petrolio:#033373;--avorio:#fff;--avorio-60:#D4D3D4;--avorio-30:rgba(212,211,212,.3);--hairline:rgba(212,211,212,.3);
--c-nero:#0f2959;--c-fondo:#033373;--c-avorio:#fff;--c-avorio-70:#D4D3D4;--c-avorio-55:#D4D3D4;--c-acqua:#0052D4;--c-acqua-ink:#0052D4;--c-hairline:#D4D3D4;--c-vetro:#fff;--c-vetro-2:rgba(212,211,212,.2);
--text-body:clamp(1.0625rem,1.5vw,1.333333rem);--text-ui:1rem;--text-heading:1.666667rem;--stella-b1:url('pittogramma-navy.php');
}
body{font-family:var(--font-body);font-weight:300;font-size:var(--text-body);line-height:1.25;background:#fff;color:var(--brand-ink)}
h1,h2,h3,h4,dialog h2{font-family:var(--font-display);font-weight:500;line-height:1.35;color:var(--brand-navy);letter-spacing:0}
h1{font-size:clamp(2.3rem,4.2vw,3.8rem)}h2{font-size:clamp(1.9rem,3vw,2.8rem)}h3,h4{font-size:var(--text-heading)}
button,input,textarea,select,.btn,summary,label,th,.mono,.eyebrow,.k-num,.k-label,.glass,.pill,.cta-line{font-family:var(--font-body);font-weight:500;line-height:1.25}
button,input,textarea,select,.btn,summary,label,th,.eyebrow,.k-num,.k-label,.glass,.pill,.cta-line{font-size:var(--text-ui)}
.lead{font-size:var(--text-body);line-height:1.25;color:inherit;font-weight:300}strong,b{font-weight:500}.eyebrow,.k-num{letter-spacing:.08em}
.micro,.nota,.albo,.legal,.footer-legal{font-family:var(--font-body);font-size:1rem;line-height:1.5}
a{color:var(--brand-royal)}a:hover{color:var(--brand-navy)}::selection{background:var(--brand-navy);color:#fff}:focus-visible{outline:3px solid var(--brand-royal);outline-offset:4px}
/* Pale surfaces dominate. Blue anchors navigation, photographic heroes and footers. */
.section{background:#fff;color:var(--brand-ink)}.section-alt{background:rgba(212,211,212,.25);color:var(--brand-ink);border-color:var(--brand-grey)}.section-alt::before{background:var(--brand-navy);opacity:.05}
.pagina-hero,.hero{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.hero :is(h1,h2,h3,.lead),.pagina-hero :is(h1,h2,.lead){color:#fff}
.hero .eyebrow,.pagina-hero .eyebrow,.hero h1 .accent,.pagina-hero .accent,.hero-proof,.hero-proof b{color:var(--brand-grey)}
.hero-media-veil{background:linear-gradient(90deg,rgba(15,41,89,.74),rgba(15,41,89,.42))}
.section-navy,.cta-finale{background:var(--brand-navy);color:#fff}.section-navy :is(h1,h2,h3,h4,p,.lead),.cta-finale :is(h1,h2,h3,h4,p,.lead){color:#fff}.section-navy .eyebrow,.cta-finale .eyebrow{color:var(--brand-grey)}
.card,.tech-card,.medico,.review,.pannello,.scheda-rapida,.faq details,.slot-card,.fondi span{background:#fff;color:var(--brand-ink);border-color:var(--brand-grey);backdrop-filter:none;box-shadow:0 8px 28px rgba(15,41,89,.06)}
.card:hover,.medico:hover{border-color:var(--brand-royal);box-shadow:0 12px 32px rgba(15,41,89,.1)}.card :is(h3,p),.medico :is(h3,p),.review blockquote,.slot-card .slot,.fondi span,.fondi span small{color:var(--brand-ink)}
.card .link,.tech-card .sigla,.medico .ruolo,.slot-card .tag,.eyebrow{color:var(--brand-royal)}.card .icona{background:rgba(0,82,212,.08);color:var(--brand-royal)}.eyebrow::before{background:var(--brand-royal)}
.tech-specs li{color:var(--brand-ink);background:rgba(212,211,212,.25);border-color:var(--brand-grey)}.check-list li::before{background-color:rgba(0,82,212,.08)}
.faq summary,.faq details p,.scheda-rapida dt,.scheda-rapida dd,.scheda-rapida .micro,.passi p,.tabella{color:var(--brand-ink)}.faq summary::after,.passi li::before{color:var(--brand-royal);border-color:var(--brand-royal)}.faq details[open]{border-color:var(--brand-royal)}.tabella th{background:rgba(212,211,212,.35);color:var(--brand-navy)}
.search-exam,.campo input,.campo textarea,.campo select{background:#fff;color:var(--brand-ink);border-color:var(--brand-grey)}.search-exam input,.search-exam input::placeholder{color:var(--brand-ink)}.search-hints a{background:#fff;border-color:var(--brand-grey);color:var(--brand-navy)}
.campo label,.scelta label b,.scelta label small,.scelta label .p{color:var(--brand-ink)}.scelta label,.wizard-steps span,.orari button{background:#fff;color:var(--brand-ink);border-color:var(--brand-grey)}
.wizard-steps span.attivo,.scelta input:checked+label,.orari button.sel{background:var(--brand-mint);color:var(--brand-navy);border-color:var(--brand-navy)}.riepilogo,.conferma .codice{background:rgba(212,211,212,.25);color:var(--brand-ink);border-color:var(--brand-grey)}
/* Mint only for principal actions and interface states. */
.btn-solid,.btn-acqua,.btn-prenota,.cta-fill,.site-nav>a.btn-acqua{background:var(--brand-mint);color:var(--brand-navy);font-weight:500}
.btn-solid:hover,.btn-acqua:hover,.btn-prenota:hover,.cta-fill:hover,.site-nav>a.btn-acqua:hover{background:var(--brand-grey);color:var(--brand-navy);box-shadow:0 12px 34px rgba(15,41,89,.15)}
.btn-ghost{color:var(--brand-navy);border-color:var(--brand-navy)}.section-navy .btn-ghost,.pagina-hero .btn-ghost,.hero .btn-ghost{color:#fff;border-color:var(--brand-grey)}
/* Clear space >= T height, approximately one tenth of the vector mark width. */
.brand::before,.footer-brand::before,.foot-grid>div:first-child::before{content:none!important;display:none!important}
.brand{display:flex;align-items:center;gap:0;padding:18px;flex:none}.brand-art{display:block;width:180px;flex:none;line-height:0}.brand-art img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.top,.site-header{background:var(--brand-navy);color:#fff;border-color:rgba(212,211,212,.3)}.top{padding:0 clamp(.5rem,3vw,3rem);min-height:108px}
.site-header .header-inner{max-width:1380px;min-height:108px;height:auto;padding-top:0;padding-bottom:0}.site-nav>a{font-size:1rem;color:#fff}.site-nav>a:hover{color:var(--brand-grey)}.site-nav>a[aria-current=page]{color:#fff;border-color:var(--brand-grey)}.site-nav{gap:1rem}.nav-toggle{font-size:1rem;color:#fff;border-color:var(--brand-grey)}
.footer-logo{display:inline-block;padding:18px;margin:0 0 1.5rem;color:var(--brand-grey)}.footer-logo .brand-art{width:180px}.footer-brand>h4,.footer-brand>svg{display:none}
.menu-brand{display:block;padding:18px}.menu-brand .brand-art{width:180px}.menu{background:rgba(15,41,89,.98);color:#fff}.menu h5,.menu a,.menu-piede,.menu-lato .mono,.menu-primario a.voce sup{color:var(--brand-grey)}.menu a:hover{color:#fff}
.menu .menu-primario a.voce[href="prenota.html"]{display:inline-block;background:var(--brand-mint);color:var(--brand-navy)!important;padding:.5rem 1rem;border-radius:8px;font-size:1.5rem}
.foot,.site-footer{background:var(--brand-ink);color:var(--brand-grey)}.foot :is(h4,a,p),.site-footer :is(h4,a,p),.footer-legal .ds,.gruppo-todisco p b{color:var(--brand-grey)}
.foot-grid>div:first-child>h4{position:static;width:auto;height:auto;clip:auto}.foot h4,.site-footer h4{font-family:var(--font-display);font-weight:500;font-size:var(--text-heading);line-height:1.35;text-transform:none;letter-spacing:0}
.foot .legal,.footer-legal{border-color:rgba(212,211,212,.3);overflow-wrap:anywhere}.telefono-in-attesa{font-size:1rem;line-height:1.4}
/* Preserve the natural scroll and the opening film's light veil. */
.home-cinematica{background:var(--brand-ink);color:#fff}.home-cinematica .scene{padding-top:150px;scroll-margin-top:108px}.home-cinematica .scene :is(h1,h2,.lead){color:#fff}
.home-cinematica .scene-media{background-color:var(--brand-ink)}.home-cinematica .scene-media::after{background:linear-gradient(180deg,rgba(15,41,89,.66),rgba(15,41,89,.42) 40%,rgba(15,41,89,.8))}
.home-cinematica .scene:first-child .scene-media::after{background:linear-gradient(180deg,rgba(15,41,89,.38),rgba(15,41,89,.22) 40%,rgba(15,41,89,.56))}.home-cinematica .scene:first-child :is(h1,.lead){text-shadow:0 2px 12px rgba(15,41,89,.7)}
.home-cinematica .gl,.k-num,.k-label{color:var(--brand-grey)}.k-num::after{background:var(--brand-grey)}.home-cinematica .cta-line{color:#fff;border-color:var(--brand-grey);letter-spacing:.04em}
.home-cinematica .pill{color:#fff;border-color:var(--brand-grey)}.home-cinematica .pill:hover{background:rgba(212,211,212,.15)}.home-cinematica .glass{color:#fff;background:rgba(15,41,89,.6);border-color:rgba(212,211,212,.5)}.home-cinematica .glass small{color:var(--brand-grey);font-size:.875rem;letter-spacing:.03em}
.home-cinematica .scene-light{background:#fff;color:var(--brand-ink)}.home-cinematica .scene-light .scene-media{left:52%;background-color:#fff}.home-cinematica .scene-light .scene-media::after{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.2) 35%,rgba(255,255,255,0) 70%)}
.home-cinematica .scene-light .content{max-width:57%;text-shadow:none}.home-cinematica .scene-light :is(h1,h2,.lead,.lead b,.lead strong,.gl,.k-num,.k-label,.cta-line,.pill){color:var(--brand-ink)}
.home-cinematica .scene-light .cta-line,.home-cinematica .scene-light .pill{border-color:var(--brand-navy)}.home-cinematica .scene-light .k-num::after{background:var(--brand-navy)}.home-cinematica .scene-light .glass{color:var(--brand-navy);background:rgba(212,211,212,.25);border-color:var(--brand-grey)}.home-cinematica .scene-light .glass small{color:var(--brand-navy)}
.rail .dot{background:var(--brand-grey);border-color:var(--brand-ink)}.rail a.on .dot{background:var(--brand-royal);box-shadow:0 0 0 4px rgba(212,211,212,.4)}.compass{color:var(--brand-grey);background:rgba(15,41,89,.92);border-radius:40px;padding:.6rem 1rem}.compass .cap,.compass .cap b{color:var(--brand-grey)}.compass #ago path:first-child{fill:var(--brand-grey)}
/* One gallery, with captions, touch scroll and no duplicated loop. */
.marquee-wrap{overflow:auto;mask-image:none;-webkit-mask-image:none;padding-bottom:.75rem;scrollbar-width:thin;scrollbar-color:var(--brand-grey) transparent}.marquee{animation:none!important;display:flex;gap:1rem;width:max-content;transform:none!important}.marquee .volto{margin:0;flex:0 0 180px;width:180px;height:240px}.volto figcaption{font-size:1rem;line-height:1.25;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,transparent,rgba(15,41,89,.95));padding:2.5rem .8rem .8rem}
/* Respect the optional high-contrast mode; ordinary controls follow the palette. */
html:not(.a11y-contrasto) .a11y-bar{background:var(--brand-navy);border-color:var(--brand-grey)}html:not(.a11y-contrasto) .a11y-main{background:var(--brand-mint);color:var(--brand-navy)}html:not(.a11y-contrasto) :is(.a11y-more,.a11y-hide,.a11y-fab){background:var(--brand-navy);color:#fff;border-color:var(--brand-grey)}
#a11y-ui,#a11y-ui *{font-family:var(--font-body)!important}#a11y-ui h2{font-family:var(--font-display)!important}
html.a11y-contrasto .scene-light{background:#000!important;color:#fff!important}html.a11y-contrasto .scene-light :is(h1,h2,p,span,b,strong,a){color:inherit!important}
@media(min-width:1400px){.brand-art,.footer-logo .brand-art{width:300px}.brand,.footer-logo{padding:30px}.top,.site-header .header-inner{min-height:188px}.home-cinematica .scene{padding-top:220px;scroll-margin-top:188px}.menu-brand .brand-art{width:180px}.menu-brand{padding:18px}.foot-grid>div:first-child{max-width:370px!important}.footer-grid,.foot-grid{grid-template-columns:minmax(360px,1.5fr) 1fr 1fr 1fr}}
@media(max-width:1100px){.header-inner{flex-wrap:wrap}.site-nav{gap:.65rem}.site-nav>a{font-size:.875rem}.home-cinematica .scene-light .content{max-width:65%}.home-cinematica .scene-light .scene-media{left:55%}}
@media(max-width:920px){.site-nav{background:var(--brand-navy);border-color:var(--brand-grey)}.site-nav>a{font-size:1rem;color:#fff}.site-nav>a[aria-current=page]{background:rgba(212,211,212,.15)}.home-cinematica .scene-light{padding-bottom:42svh;min-height:100svh}.home-cinematica .scene-light .content{max-width:100%}.home-cinematica .scene-light .scene-media{left:0;top:auto;bottom:0;height:35svh;min-height:200px}.home-cinematica .scene-light .scene-media::after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 35%)}}
@media(max-width:700px){.brand{padding:14px}.brand-art{width:132px}.top,.site-header .header-inner{min-height:84px}.site-header .header-inner{padding-inline:.5rem}.top{padding-inline:.3rem}.top-right{gap:.5rem}.home-cinematica .scene{padding-top:120px;padding-bottom:100px;scroll-margin-top:84px}.home-cinematica .scene-light{padding-bottom:42svh}.home-cinematica .scene h1{font-size:clamp(2.1rem,8vw,3rem)}.home-cinematica .scene h2{font-size:clamp(1.9rem,7vw,2.6rem)}.home-cinematica .scene .lead{font-size:var(--text-body);line-height:1.35}.menu{padding:1rem}.menu-brand{padding:14px}.menu-brand .brand-art{width:132px}.menu-primario a.voce{font-size:1.6rem}.menu-lato a{overflow-wrap:anywhere}.footer-logo .brand-art{width:180px}.footer-logo{padding:18px}.marquee .volto{flex-basis:160px;width:160px;height:215px}.scene .k-num{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.home-cinematica .scene-light{padding-bottom:3rem}.home-cinematica .scene-light .scene-media{display:none}}

/* Readable information on every pale surface; keep the same three type roles. */
.section:not(.section-navy):not(.cta-finale),.card,.tech-card,.medico,.review,.pannello,.scheda-rapida,.faq details,.slot-card{--c-avorio:#0f2959;--c-avorio-55:#033373;--c-avorio-70:#033373}
.nota-info{font-size:1rem;line-height:1.5;color:var(--brand-ink)}.section-navy .nota-info{color:var(--brand-grey)}
.tabella td,.tabella td.mono,.review cite,.slot-card .nota,.medico .albo{color:var(--brand-ink)}
#a11y-ui *{font-weight:500!important}#a11y-ui h2{font-weight:500!important}.nav-toggle{font-family:var(--font-body);font-weight:500}
.scene .stat .n{font-family:var(--font-display);font-weight:500}.scene .stat .l{font-family:var(--font-body);font-size:1rem;line-height:1.25}

/* Web adaptation of 20/27 pt headings and 16/20 pt body copy. */
.section :is(p,li,dt,dd),.card p,.medico p,.tech-card p,.passi p,.faq details p{font-size:var(--text-body);line-height:1.25}
h3,h4{font-size:var(--text-heading)!important;line-height:1.35!important}
.section :is(.eyebrow,.micro,.nota,.nota-info),.card .link,.card .meta,.medico .albo{font-size:var(--text-ui);line-height:1.5}
