/*
 * Font locali, in due sottoinsiemi (latin, latin-ext per gli accentati
 * dell'italiano) e nei soli pesi realmente usati nel sito: non il
 * pacchetto @fontsource intero (nel build Astro finiva inlineato in
 * base64, centinaia di regole, 455KB su ogni pagina), ma 14 file reali
 * per URL, che il browser scarica una volta sola e mette in cache.
 */
@font-face{font-family:'Kaisei Tokumin';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/kaisei-tokumin-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Kaisei Tokumin';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/kaisei-tokumin-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:300;src:url('../fonts/figtree-latin-300-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:300;src:url('../fonts/figtree-latin-ext-300-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/figtree-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:400;src:url('../fonts/figtree-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/figtree-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:500;src:url('../fonts/figtree-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/figtree-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:600;src:url('../fonts/figtree-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:700;src:url('../fonts/figtree-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:700;src:url('../fonts/figtree-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:800;src:url('../fonts/figtree-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:800;src:url('../fonts/figtree-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}

.sb>p{font-size:17.5px;line-height:1.75;color:var(--muted);margin-top:16px}
.sb>p:first-child{margin-top:0}
.sb h3{font-family:var(--disp);font-size:20px;color:var(--ink);margin-top:26px}
.sb ul{list-style:none;margin-top:16px}
.sb li{position:relative;padding-left:26px;font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:12px}
.sb li:before{content:"·";position:absolute;left:0;color:var(--accent-text)}
.sb strong{color:var(--ink);font-weight:700}
.sb-callout{font-family:var(--disp);font-style:italic;font-size:19px!important;line-height:1.55;color:var(--ink)!important;margin-top:26px!important;padding-top:22px;border-top:1px solid var(--hair-faint)}
.letter-break{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy);padding:74px 0}
.lb-inner{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:50px;align-items:center}
.lb-letter{font-family:var(--disp);font-size:clamp(150px,22vw,290px);font-weight:800;line-height:.78;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--accent-soft);opacity:.85;user-select:none}
.lb-num{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft)}
.lb-claim{font-family:var(--disp);font-size:clamp(19px,calc(14.2px + 1.27vw),32px);line-height:1.35;color:var(--on-navy);margin:16px 0 18px;max-width:620px}
.lb-title{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-muted);border-top:1px solid var(--hair-on-navy);padding-top:14px}
@media(max-width:860px){.letter-break{padding:56px 0}.lb-inner{grid-template-columns:1fr;gap:18px}.lb-letter{font-size:clamp(110px,34vw,170px)}}
.svc-open{padding:80px 0 20px}
.svc-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:start}
.svc-text{max-width:680px}
.lead-par{font-size:clamp(17px,calc(14.8px + .59vw),23px);line-height:1.65;color:var(--ink-dim);margin-bottom:24px}
.svc-start{margin-top:54px;padding-top:42px;border-top:1px solid var(--hair-faint)}
.svc-start h2{font-family:var(--disp);font-size:clamp(22px,calc(16.9px + 1.37vw),36px);color:var(--ink);margin-top:14px;line-height:1.15}
.svc-start p{font-size:18px;line-height:1.75;color:var(--muted);margin-top:18px}
.svc-side{position:sticky;top:110px}
.svc-callout{margin-top:26px;padding:24px 26px 26px;background:var(--panel-2);border:1px solid var(--hair-faint);border-left:2px solid var(--accent);border-radius:var(--radius-card)}
.svc-callout p{font-family:var(--disp);font-size:18px;line-height:1.5;color:var(--ink);margin-top:12px}
.svc-how{padding:70px 0 80px}
.svc-how>.wrap>h2{font-family:var(--disp);font-size:clamp(24px,calc(17.4px + 1.76vw),42px);color:var(--ink);line-height:1.12}
.steps{list-style:none;margin-top:40px;max-width:820px}
.step{display:grid;grid-template-columns:68px 1fr;gap:8px;padding:30px 0;border-top:1px solid var(--hair-faint)}
.step-num{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--accent-text);padding-top:6px}
.step-body h3{font-size:clamp(19px,calc(17.5px + .39vw),23px);line-height:1.25;color:var(--ink)}
.step-body>p{font-size:17.5px;line-height:1.75;color:var(--muted);margin-top:12px}
.panel{margin-top:26px;padding:28px 30px 30px;background:var(--panel-2);border:1px solid var(--hair-faint);border-left:2px solid var(--accent);border-radius:var(--radius-card)}
.svc-section{padding:74px 0;background:var(--bg-2);border-top:1px solid var(--hair-faint);border-bottom:1px solid var(--hair-faint)}
.sec-inner{max-width:760px}
.svc-section h2{font-family:var(--disp);font-size:clamp(23px,calc(16.8px + 1.66vw),40px);color:var(--ink);margin-top:14px;line-height:1.15}
.svc-faq{padding:80px 0}
.faq-inner{max-width:800px}
.svc-faq h2{font-family:var(--disp);font-size:clamp(23px,calc(16.8px + 1.66vw),40px);color:var(--ink);margin-top:14px;line-height:1.15}
.svc-faq dl{margin-top:34px;border-top:1px solid var(--hair-faint)}
.qa{padding:26px 0;border-bottom:1px solid var(--hair-faint)}
.qa dt{font-family:var(--disp);font-size:clamp(18px,calc(17.3px + .2vw),20px);font-weight:700;color:var(--ink)}
.qa dd{font-size:17.5px;line-height:1.75;color:var(--muted);margin-top:12px}
.svc-close{padding:74px 0;background:var(--panel-2);border-top:1px solid var(--hair-faint)}
.svc-close-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.svc-close h2{font-family:var(--disp);font-size:clamp(21px,calc(17px + 1.07vw),32px);color:var(--ink);line-height:1.15}
.outcomes ul{list-style:none;margin-top:22px}
.outcomes li{position:relative;padding-left:26px;font-size:17.5px;line-height:1.6;color:var(--ink-dim);padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--hair-faint)}
.outcomes li:last-child{border-bottom:none}
.outcomes li:before{content:"·";position:absolute;left:0;color:var(--accent-text)}
.when p{font-size:17.5px;line-height:1.8;color:var(--muted);margin-top:22px}
.svc-closing{padding:80px 0 20px}
.closing-inner{max-width:800px;margin:0 auto}
.svc-closing h2{font-family:var(--disp);font-size:clamp(22px,calc(16.9px + 1.37vw),36px);color:var(--ink);line-height:1.15;margin-bottom:6px}
.related{padding:80px 0;background:var(--bg-2);border-top:1px solid var(--hair-faint)}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px}
.rel-card{display:block;padding:30px 28px 32px;border:1px solid var(--hair-faint);background:var(--panel);border-radius:var(--radius-card);transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}
.rel-card:hover{border-color:var(--hair);transform:translateY(-4px);box-shadow:0 16px 34px #061b3d14}
.rel-card .num{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--accent-text)}
.rel-card h3{font-size:clamp(18px,calc(16.9px + .29vw),21px);margin:12px 0 14px;line-height:1.2}
.rel-card .arrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
@media(max-width:900px){.svc-cols{grid-template-columns:1fr;gap:44px}.svc-side{position:static}.svc-close-cols{grid-template-columns:1fr;gap:44px}.step{grid-template-columns:1fr;gap:0}.step-num{padding-top:0;margin-bottom:8px}.panel{padding:24px 22px 26px}.rel-grid{grid-template-columns:1fr}}
@media(max-width:560px){.svc-start p,.step-body>p,.qa dd,.when p,.svc-close p{font-size:16.5px}.svc-lead{line-height:1.55}.step-n{font-size:12px}}
.brand-name{display:inline-block}
.brand-name .logo-mark{display:inline-block;height:calc(1em * var(--brand-scale))!important;width:calc(2.189em * var(--brand-scale))!important;vertical-align:calc(-.3em * var(--brand-scale))}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--hair-faint);border-left:1px solid var(--hair-faint)}
.why{padding:44px 42px 48px;border-right:1px solid var(--hair-faint);border-bottom:1px solid var(--hair-faint);position:relative}
.why:before{content:"◆";display:block;font-size:11px;color:var(--accent-text);margin-bottom:20px}
.why h3{font-size:clamp(21px,calc(18.8px + .59vw),27px);margin-bottom:12px}
.why p{color:var(--muted);font-size:17.5px;line-height:1.6}
@media(max-width:900px){.why-grid{grid-template-columns:1fr}.why{padding:36px 26px 40px}}
.badges-sec{padding:70px 0;background:var(--bg-2);border-top:1px solid var(--hair-faint);border-bottom:1px solid var(--hair-faint)}
.badges-head{text-align:center;margin-bottom:40px}
.badges-head .eyebrow{justify-content:center}
.badges-head h2{font-family:var(--disp);font-size:clamp(23px,calc(17.5px + 1.46vw),38px);color:var(--ink);line-height:1.15;margin-top:14px}
.badges-head h2 em{font-style:normal;color:var(--accent-text)}
.badges-head p{max-width:620px;margin:16px auto 0;font-size:17px;line-height:1.7;color:var(--muted)}
.badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px 24px;border:1px solid var(--hair-faint);background:var(--panel);border-radius:var(--radius-card);text-align:center;transition:border-color .3s ease,box-shadow .3s ease;min-height:120px}
.badge:hover{border-color:var(--hair);box-shadow:0 12px 28px #061b3d12}
.b-label{font-family:var(--disp);font-size:clamp(18px,calc(16.9px + .29vw),21px);font-weight:700;color:var(--ink)}
.b-note{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.quotes{background:var(--bg-2);border-top:1px solid var(--hair-faint)}
.quote{margin:0;padding:40px 44px 44px;background:var(--panel);border:1px solid var(--hair-faint);border-radius:var(--radius-card)}
.mark{font-family:var(--disp);font-size:76px;line-height:.5;color:var(--accent-text);height:34px;display:block}
.quote blockquote{font-family:var(--disp);font-weight:400;font-size:clamp(18px,calc(15.8px + .59vw),24px);line-height:1.5;color:var(--ink);margin:22px 0 24px;border:none;padding:0}
.who{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media(max-width:700px){.quote{padding:30px 26px 34px}}
.net-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:54px;align-items:center}
.net-photo{min-width:0}
.net-cap{font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:12px;padding-left:12px;border-left:2px solid var(--accent)}
@media(max-width:900px){.net-grid{grid-template-columns:1fr;gap:34px}.net-photo{max-width:340px}}
.network{background:var(--panel-2);border-top:1px solid var(--hair-faint);border-bottom:1px solid var(--hair-faint);padding:74px 0}
.net-inner{max-width:760px}
.network h2{font-family:var(--disp);font-size:clamp(25px,calc(18.1px + 1.85vw),44px);color:var(--ink);line-height:1.12}
.network h2 em{font-style:normal;color:var(--accent-text)}
.net-lead{font-family:var(--disp);font-style:italic;font-size:clamp(17px,calc(14.8px + .59vw),23px);color:var(--ink-dim);line-height:1.5;margin-top:22px}
.net-body{font-size:17px;color:var(--muted);line-height:1.75;margin-top:20px}
.closing-note{padding:70px 0 10px}
.closing-note p{max-width:760px;font-family:var(--disp);font-size:clamp(18px,calc(15.1px + .78vw),26px);line-height:1.5;color:var(--ink-dim)}
@media(max-width:560px){.net-body{font-size:16.5px;line-height:1.7}.story-band{padding:4px 0 44px}.net-cap{font-size:12.5px}}
:root{--gold: #C2A35B;--gold-soft: #D8BE84;--gold-deep: #8C6F2F;--brand-blue: #004AAD;--blue: #577FE1;--blue-deep: #2F55B8;--blue-soft: #9DB9F2;--navy: #061B3D;--navy-2: #0B2A5C;--navy-overlay: rgba(0, 45, 116, .59);--on-navy: #FFFFFF;--on-navy-dim: rgba(255, 255, 255, .8);--on-navy-muted: rgba(255, 255, 255, .55);--hair-on-navy: rgba(255, 255, 255, .22);--disp: "Kaisei Tokumin", Georgia, serif;--body: "Figtree", system-ui, sans-serif;--sans: "Figtree", system-ui, sans-serif;--maxw: 1200px;--radius-pill: 30px;--radius-card: 2px;--emblem: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23C2A35B'%3E%3Cpath d='M100 10 L190 100 L100 190 L10 100 Z' stroke-width='1.2'/%3E%3Cpath d='M100 40 L160 100 L100 160 L40 100 Z' stroke-width='0.9'/%3E%3Cpath d='M100 82 L118 100 L100 118 L82 100 Z' stroke-width='0.9'/%3E%3Cpath d='M100 10 L100 190 M10 100 L190 100' stroke-width='0.5'/%3E%3C/svg%3E");--band: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='24'%3E%3Cg fill='none' stroke='%23C2A35B' stroke-width='1'%3E%3Cpath d='M0 12 H104'/%3E%3Cpath d='M136 12 H240'/%3E%3Cpath d='M120 4 L128 12 L120 20 L112 12 Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-theme=light]{--bg: #FFFFFF;--bg-2: #F6F7F9;--panel: #FFFFFF;--panel-2: #F6F7F9;--ink: #101010;--ink-dim: #212529;--muted: #565F6B;--muted-2: #8A93A0;--accent: var(--blue);--accent-soft: var(--blue-soft);--accent-text: var(--blue-deep);--accent-text-soft: var(--blue);--on-accent: #FFFFFF;--hair: rgba(6, 27, 61, .22);--hair-faint: #E4E7EC;--header-bg: rgba(255, 255, 255, .94);--mono-bg: radial-gradient(circle at 35% 30%, #E7EDF9, #D4DEF2);--glow-a: transparent;--glow-b: transparent;--grain-opacity: 0;color-scheme:light}
[data-theme=dark]{--bg: #0A1322;--bg-2: #0D1A2E;--panel: #101F38;--panel-2: #0C182B;--ink: #F2EDE1;--ink-dim: #D9D4C7;--muted: #9AA8C4;--muted-2: #647291;--accent: var(--gold);--accent-soft: var(--gold-soft);--accent-text: var(--gold);--accent-text-soft: var(--gold-soft);--on-accent: #081527;--hair: rgba(194, 163, 91, .3);--hair-faint: rgba(236, 229, 214, .11);--header-bg: rgba(6, 20, 42, .9);--mono-bg: radial-gradient(circle at 35% 30%, #17325E, #0B2142);--glow-a: rgba(110, 140, 181, .14);--glow-b: rgba(194, 163, 91, .06);--grain-opacity: .03;color-scheme:dark}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink-dim);font-family:var(--body);font-size:20px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 78% -8%,var(--glow-a),transparent 60%),radial-gradient(700px 500px at 8% 12%,var(--glow-b),transparent 55%)}
body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;line-height:1.12;color:var(--ink);letter-spacing:.002em}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;position:relative;z-index:2}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-text);display:inline-flex;align-items:center;gap:12px}
.eyebrow:before{content:"";width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg);flex:none}
.btn{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:16px 30px;border:1px solid var(--accent);color:var(--accent-text);border-radius:var(--radius-pill);transition:all .3s ease;white-space:nowrap;display:inline-block;background:transparent;cursor:pointer;line-height:1}
.btn:hover{background:var(--accent);color:var(--on-accent)}
.btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn-solid:hover{filter:brightness(1.12)}
.on-navy .btn{color:var(--on-navy);border-color:var(--on-navy-dim)}
.on-navy .btn:hover,.on-navy .btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.on-navy .btn-solid:hover{filter:brightness(1.12)}
section{position:relative;padding:80px 0}
.sec-head{max-width:780px;margin-bottom:48px}
.sec-head h2{font-size:clamp(25px,calc(18.8px + 1.66vw),42px);margin-top:18px}
.sec-head p{color:var(--muted);font-size:20px;margin-top:18px;max-width:660px}
.em-gold em{font-style:normal;color:var(--accent-text)}
.on-navy .em-gold em{color:var(--accent-soft)}
html.js [data-reveal]{opacity:0;transform:translateY(24px)}
@keyframes emblemGlow{0%,to{opacity:.1}50%{opacity:.16}}
@media(max-width:900px){section{padding:64px 0}.wrap{padding:0 24px}body{font-size:18px}.sec-head{margin-bottom:34px}.sec-head p{font-size:17.5px;margin-top:14px}}
@media(max-width:560px){section{padding:52px 0}.wrap{padding:0 20px}body{font-size:17px}.eyebrow{font-size:11px;letter-spacing:.16em;gap:8px}.eyebrow:before{width:6px;height:6px}.sec-head{margin-bottom:26px}.sec-head p{font-size:16.5px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}html{scroll-behavior:auto}html.js [data-reveal]{opacity:1;transform:none}}
.deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.emblem{position:absolute;top:50%;right:6%;transform:translateY(-50%);width:min(38vmin,420px);aspect-ratio:1;background:var(--emblem) no-repeat center / contain;opacity:.12;animation:emblemGlow 11s ease-in-out infinite}
.deco-band{position:relative;z-index:2;height:24px;width:240px;max-width:74%;margin:0 auto;opacity:.65;background:var(--band) no-repeat center / contain}
.deco-band-pad{padding:26px 0 0}
.emblem-seal{width:74px;aspect-ratio:1;background:var(--emblem) no-repeat center / contain;opacity:.9}
@media(max-width:900px){.emblem{right:50%;transform:translate(50%,-50%);opacity:.07;width:66vmin}}
header{position:fixed;top:0;left:0;right:0;z-index:50;padding:12px 0;transition:all .4s ease;border-bottom:1px solid transparent;color:var(--on-navy)}
header.scrolled{padding:12px 0;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hair-faint);color:var(--ink)}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center}
.brand .brand-mark{flex:none;color:currentColor;transition:color .4s ease}
header.scrolled .brand .brand-mark{color:var(--brand-blue)}
.brand .brand-mark{transition:width .35s ease,height .35s ease,color .4s ease}
header.scrolled .brand .brand-mark{width:186px!important;height:85px!important}
.nav-gold .m-rombo{flex:none;margin-right:8px}
.navlinks{display:flex;gap:26px;align-items:center;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.04em}
.navlinks a{position:relative;transition:color .3s;opacity:.92}
.navlinks>a:not(.btn):after,.nav-drop>a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--accent);transition:width .3s ease}
.navlinks a:hover{opacity:1}
.navlinks>a:not(.btn):hover:after,.nav-drop:hover>a:after{width:100%}
.nav-drop{position:relative}
.nav-drop>a{display:inline-flex;align-items:center;gap:6px}
.caret{transition:transform .3s ease}
.nav-drop:hover .caret,.nav-drop:focus-within .caret{transform:rotate(180deg)}
.drop-menu{position:absolute;top:calc(100% + 14px);left:-18px;min-width:330px;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);border:1px solid var(--hair-faint);border-radius:var(--radius-card);box-shadow:0 22px 50px #061b3d29;padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease;z-index:60}
.drop-menu:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.drop-item{display:flex;align-items:baseline;gap:12px;padding:11px 14px;font-size:14.5px;font-weight:600;border-radius:2px;transition:background .25s ease,color .25s ease}
.drop-item:hover{background:var(--bg-2);color:var(--accent-text)}
.drop-num{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--accent-text)}
/* rimando alla panoramica: serve solo nel menu del telefono, dove la voce
   "Servizi" apre l'elenco invece di aprire la pagina */
.drop-all{display:none}
.nav-gold{color:var(--gold-soft);opacity:1;display:inline-flex;align-items:center}
header.scrolled .nav-gold{color:var(--gold-deep)}
.navlinks .nav-gold:after{background:var(--gold)}
.nav-mentoria-desk{font-weight:700;letter-spacing:.04em}
.head-actions{display:flex;align-items:center;gap:22px}
.nav-cta,.nav-mentoria{display:none}
.desk-cta{font-size:13px;padding:13px 24px}
.menu-tog{display:none;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:inherit;background:none;border:none;cursor:pointer;padding:14px 6px;margin-right:-6px}
@media(max-width:980px){.navlinks,.head-actions{display:none}.menu-tog{display:block}/*
   Menu mobile a tutta finestra, che entra di lato.

   Il pannello e' sempre nel documento e non viene mostrato con display,
   che non si puo' animare: sta fuori schermo con una traslazione e
   rientra quando si apre.

   Le misure di testo e spaziatura sono legate all'altezza della finestra
   (vh): le tredici voci devono entrare tutte senza scorrimento anche su
   schermi corti, percio' rimpiccioliscono insieme allo schermo invece di
   traboccare.

   A menu aperto la testata perde la sfocatura: backdrop-filter crea un
   blocco di contenimento per i discendenti a posizione fissa, e con
   quello attivo il pannello resterebbe intrappolato nell'altezza della
   testata invece di coprire la finestra. Dietro c'e' gia' un pannello
   pieno, quindi la sfocatura non serve. */
  .navlinks,.navlinks.open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;width:auto;max-height:none;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:clamp(0px,.5vh,7px);padding:calc(var(--frp-testata-h,121px) + 1vh) 22px 1.4vh;background:var(--panel);color:var(--ink);overflow:hidden;z-index:1;border:0;border-radius:0;transition:transform .42s cubic-bezier(.22,.61,.36,1),visibility 0s linear .42s}
  .navlinks{transform:translateX(100%);visibility:hidden}
  .navlinks.open{transform:none;visibility:visible;transition:transform .42s cubic-bezier(.22,.61,.36,1),visibility 0s}
  /* marchio e pulsante sopra il pannello: aprendo il menu deve restare
     visibile anche il modo per chiuderlo */
  .brand,.menu-tog{position:relative;z-index:2}
  .navlinks>a:not(.btn),.nav-drop>a{font-size:clamp(14px,2.05vh,17px)}
  .drop-menu{padding:clamp(1px,.5vh,7px) 0 0}
  .drop-item{padding:clamp(1px,.55vh,7px) 0;font-size:clamp(11.5px,1.62vh,14px)}
  /* il pulsante tiene margini propri: le regole che compattano le voci
     dell elenco gli azzeravano l imbottitura laterale */
  .nav-cta{margin-top:clamp(4px,1vh,12px);padding:clamp(11px,1.6vh,16px) clamp(22px,7vw,30px);font-size:clamp(12px,1.55vh,14px)}
  header.menu-open{background:var(--header-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--hair-faint);color:var(--ink)}
  header.menu-open .brand .brand-mark{color:var(--brand-blue)}
  header.menu-open .brand .brand-mark::after{background-color:var(--gold-deep)}
  header.menu-open .nav-gold{color:var(--gold-deep)}.nav-cta,.nav-mentoria{display:inline-block;margin-top:6px}.nav-drop{display:flex;flex-direction:column;align-items:flex-end}/* Voce "Servizi" a fisarmonica: le sette schede stanno chiuse e si aprono
     toccando la voce, che sul telefono non porta piu' alla pagina (in fondo
     all'elenco c'e' "Tutti i servizi"). L'altezza di apertura la misura lo
     script in --drop-h: i servizi arrivano dal CMS, un numero fisso nel CSS
     prima o poi non corrisponderebbe piu'. */
  .drop-menu{position:static;transform:none;box-shadow:none;border:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0;visibility:visible;opacity:0;max-height:0;padding:0;overflow:hidden;transition:max-height .38s cubic-bezier(.22,.61,.36,1),opacity .26s ease}
  .nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:0}
  .nav-drop.open .drop-menu{opacity:1;max-height:var(--drop-h,70vh)}
  /* a menu chiuso il ramo si richiude di colpo: succede quando il pannello
     e' gia' uscito di scena, animarlo si vedrebbe solo come uno scatto */
  .navlinks:not(.open) .drop-menu{transition:none}.navlinks.open>a:not(.btn),.navlinks.open .nav-drop>a{padding:clamp(2px,.7vh,9px) 0}.drop-item{justify-content:flex-end}
  .drop-all{display:flex;justify-content:flex-end;font-family:var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:clamp(9.5px,1.25vh,11px);color:var(--accent-text);opacity:.8}
  .caret{display:inline-block;transition:transform .38s cubic-bezier(.22,.61,.36,1)}
  .nav-drop:hover .caret,.nav-drop:focus-within .caret{transform:none}
  .nav-drop.open .caret{transform:rotate(180deg)}
  /* niente filetto sotto "Servizi" sul telefono: lo stato :hover resta
     attaccato dopo il tocco, e su schermo corto il segno finisce addosso
     alla prima voce dell'elenco. Lo stato lo dice gia' la freccetta. */
  .nav-drop:hover>a:after,.nav-drop.open>a:after{width:0}}
@media(max-width:900px){header{padding:10px 0}.brand .brand-mark{width:186px!important;height:85px!important}}
footer{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy-dim);padding:56px 0 36px}
.foot-seal{display:flex;justify-content:center;padding-bottom:36px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--hair-on-navy)}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start}
.foot-brand .foot-mark{flex:none;color:var(--on-navy)}
.foot-col h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:16px}
.foot-col p{font-size:16px;line-height:1.9;font-weight:300}
.foot-sedi{list-style:none}
.foot-sedi li{margin-bottom:12px}
.foot-sedi .fs-city{display:block;font-size:16px;font-weight:400;color:var(--on-navy)}
.foot-sedi .fs-city i{font-style:normal;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--on-navy-muted);margin-left:8px;vertical-align:1px}
.foot-sedi .fs-role{display:block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft);margin-top:2px}
.foot-col a{transition:color .3s}
.foot-col a:hover{color:var(--accent-soft)}
.foot-phones{list-style:none;margin-top:14px}
.foot-phones li{margin-bottom:8px}
.foot-phones .fp-area{display:block;font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-muted)}
.foot-phones a{font-size:16px}
.foot-phones a:hover{color:var(--accent-soft)}
.foot-legal{display:flex;gap:20px}
.foot-legal a{transition:color .3s}
.foot-legal a:hover{color:var(--accent-soft)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:26px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--on-navy-muted);text-transform:uppercase}
.foot-counter{font-variant-numeric:tabular-nums}
@media(max-width:560px){.foot-brand .foot-mark{width:200px!important;height:91px!important}.foot-phones a,.foot-legal a{display:inline-block;padding:10px 0}.foot-col p a{display:block;width:fit-content;padding:8px 0}.foot-col p a br{display:none}.foot-phones li{margin-bottom:2px}.foot-col p{line-height:1.5}.foot-col h4{margin-bottom:10px}}
.svc{display:block;background:var(--panel);border:1px solid var(--hair-faint);border-radius:var(--radius-card);overflow:hidden;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}
.svc:hover{border-color:var(--hair);transform:translateY(-5px);box-shadow:0 18px 40px #061b3d14}
.svc-body{padding:26px 26px 30px}
.num{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--accent-text)}
.svc h3{font-size:clamp(19px,calc(17.5px + .39vw),23px);margin:12px 0 10px;line-height:1.2;transition:color .3s}
.svc:hover h3{color:var(--accent-text)}
.svc p{color:var(--muted);font-size:16.5px;line-height:1.6}
.arrow{display:inline-block;margin-top:18px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);opacity:0;transform:translate(-6px);transition:all .35s ease}
.svc:hover .arrow{opacity:1;transform:translate(0)}
.svc-all{text-align:center;margin-top:44px}
.mentoria-band{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy-dim);padding:96px 0;overflow:hidden}
.band-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.band-text{max-width:640px}
.eyebrow.gold{color:var(--gold-soft)}
.eyebrow.gold:before{background:var(--gold)}
.mentoria-band h2{font-size:clamp(26px,calc(18.7px + 1.95vw),46px);color:var(--on-navy);margin-top:18px}
.mentoria-band h2 em{font-style:normal;color:var(--gold-soft)}
.mentoria-band p{font-size:clamp(17px,calc(15.9px + .29vw),20px);font-weight:300;line-height:1.65;margin-top:20px}
.band-cta{margin-top:34px}
/*
 * .on-navy .btn (due classi) ha specificita' maggiore di .gold-btn (una
 * sola classe) e vince comunque la cascata, qualunque sia l'ordine nel
 * file: bordo bianco tenue e testo bianco al posto di oro pieno e testo
 * scuro. Qui la selezione sale a tre classi (.on-navy .btn.gold-btn) per
 * vincere in modo esplicito, non per posizione nel foglio di stile.
 */
.on-navy .btn.gold-btn{background:var(--gold);border:none;color:#081527}
.on-navy .btn.gold-btn:hover{background:var(--gold-soft);border:none;color:#081527}
.band-art .stock{border:1px solid var(--hair-on-navy);border-radius:var(--radius-card)}
@media(max-width:900px){.band-inner{grid-template-columns:1fr;gap:40px}}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.news-card{display:block;border:1px solid var(--hair-faint);background:var(--panel);border-radius:var(--radius-card);overflow:hidden;transition:border-color .4s ease,transform .4s ease,box-shadow .4s ease}
.news-card:hover{border-color:var(--hair);transform:translateY(-5px);box-shadow:0 18px 40px #061b3d14}
.news-media img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}
.news-body{padding:24px 28px 32px}
.date{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text)}
.news-card h3{font-size:clamp(20px,calc(18.2px + .49vw),25px);margin:16px 0 12px;line-height:1.15}
.news-card p{color:var(--muted);font-size:16.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arrow{display:inline-block;margin-top:20px;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}
.news-all{text-align:center;margin-top:56px}
@media(max-width:900px){.news-grid{grid-template-columns:1fr}}
.globe-scene{position:relative;aspect-ratio:1000 / 560;width:100%;overflow:hidden}
.gs-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.gs-canvas.dragging{cursor:grabbing}
.gs-pins{position:absolute;inset:0;pointer-events:none}
.gpin{position:absolute;transform:translate(-50%,-100%) scale(var(--pz, 1));transform-origin:50% 100%;pointer-events:auto;background:none;border:none;padding:0;cursor:pointer;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));transition:opacity .25s ease}
.gpin[data-far]{opacity:0;pointer-events:none}
.gpin-glyph{display:block;width:24px;height:32px;transition:transform .3s ease;transform-origin:50% 100%}
.gg-body{fill:#c9a85c;stroke:#6b531f;stroke-width:.8}
.gg-hole{fill:#0a1322}
.gpin.primary .gg-body{fill:#dcbe7c}
.gpin:hover .gpin-glyph,.gpin.active .gpin-glyph{transform:scale(1.14)}
.gpin:focus-visible{outline:none}
.gpin:focus-visible .gpin-glyph{transform:scale(1.14)}
.gpin:focus-visible .gpin-label{text-decoration:underline;text-underline-offset:3px}
.gpin-halo{position:absolute;left:50%;bottom:-3px;width:14px;height:5px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(233,201,125,.55),transparent 70%)}
@media(prefers-reduced-motion:no-preference){.gpin:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;border:1px solid rgba(226,190,116,.55);border-radius:50%;transform:translate(-50%) scale(.4);animation:gs-pulse 2.8s ease-out infinite}.gpin.primary:after{animation-duration:2.2s}}
@keyframes gs-pulse{0%{transform:translate(-50%) scale(.35) scaleY(.45);opacity:.8}to{transform:translate(-50%) scale(2.1) scaleY(.45);opacity:0}}
.gpin-label{position:absolute;font-family:var(--disp);font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#f5efdf;white-space:nowrap;text-shadow:0 1px 10px rgba(0,0,0,.9),0 0 3px rgba(0,0,0,.9);pointer-events:none}
.gpin .gpin-label{left:calc(100% + 7px);top:5px}
.gpin[data-side=left] .gpin-label{left:auto;right:calc(100% + 7px)}
.gpin[data-side=top] .gpin-label{left:50%;right:auto;top:-18px;transform:translate(-50%)}
.gpin[data-side=bottom] .gpin-label{left:50%;right:auto;top:calc(100% + 3px);transform:translate(-50%)}
.gs-card{position:absolute;z-index:60;width:min(250px,72vw);transform:translate(-50%,-100%);background:#091427f5;border:1px solid rgba(194,163,91,.4);border-left:3px solid #C2A35B;border-radius:2px;padding:16px 18px 14px;box-shadow:0 22px 50px #0000008c;pointer-events:none}
.gs-card[data-pos=below]{transform:translate(-50%)}
.gs-card[hidden]{display:none}
.gc-type{font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#d8be84}
.gc-city{font-family:var(--disp);font-size:22px;font-weight:800;color:#fff;margin:4px 0 0}
.gc-country{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ece5d68c;margin-top:2px}
.gc-note{font-size:14.5px;line-height:1.5;color:#ece5d6cc;margin-top:10px}
.gs-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:3;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ece5d680;background:#050b168c;padding:6px 14px;border:1px solid rgba(236,229,214,.12);border-radius:20px;pointer-events:none;transition:opacity .5s ease;white-space:nowrap;max-width:calc(100% - 32px)}
@media(max-width:560px){.gs-hint{white-space:normal;text-align:center;line-height:1.5;padding:7px 12px}}
.gs-hint.hide{opacity:0}
.gs-edge{position:absolute;pointer-events:none;z-index:55}
.gs-edge-l{inset:0 auto 0 0;width:7%;background:linear-gradient(to right,var(--sceneBg),transparent)}
.gs-edge-r{inset:0 0 0 auto;width:7%;background:linear-gradient(to left,var(--sceneBg),transparent)}
.gs-edge-b{inset:auto 0 0;height:12%;background:linear-gradient(to top,var(--sceneBg),transparent)}
.gs-edge-t{inset:0 0 auto;height:7%;background:linear-gradient(to bottom,var(--sceneBg),transparent)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:700px){.globe-scene{aspect-ratio:1 / .9}.gpin-label{font-size:11px;letter-spacing:.09em}}
.presence{background:#050b16;border-top:1px solid rgba(194,163,91,.18);border-bottom:1px solid rgba(194,163,91,.18);padding:0;overflow:hidden;position:relative;z-index:0;isolation:isolate}
/* La sezione del globo apre un proprio contesto di sovrapposizione a
   quota zero: il canvas viene disegnato dalla scheda grafica e senza
   questo vincolo risaliva sopra la testata, che essendo sfocata
   (backdrop-filter) non riusciva a coprirlo. Cosi tutto cio che sta
   nella sezione resta sotto la testata, qualunque cosa faccia la GPU. */
.presence-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(28px,4vw,64px)}
.scene-col{align-self:stretch;display:flex;align-items:center;min-height:480px}
.scene-col .globe-scene{aspect-ratio:auto;height:100%;min-height:480px;width:100%}
.text-col{padding-top:72px;padding-bottom:72px;padding-left:0;padding-right:max(24px,calc((100vw - var(--maxw)) / 2))}
.tc-head .eyebrow{color:#d8be84}
.tc-head .eyebrow:before{border-color:#c2a35b}
.tc-head h2{font-family:var(--disp);font-size:clamp(25px,calc(18.1px + 1.85vw),44px);line-height:1.1;color:#fff;margin-top:16px}
.tc-lead{color:#ece5d69e;font-size:17px;line-height:1.65;margin-top:18px;max-width:52ch}
.groups{margin-top:38px}
.group{border-top:1px solid rgba(236,229,214,.14);padding:18px 0}
.group:last-child{padding-bottom:0}
.g-tag{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#d8be84}
.g-tag:before{content:"◆";font-size:7px;color:#c2a35b;margin-right:8px;vertical-align:middle}
.g-title{font-family:var(--disp);font-size:20px;font-weight:700;color:#fff;margin-top:6px}
.g-desc{color:#ece5d699;font-size:14.5px;line-height:1.55;margin-top:6px;max-width:52ch}
.g-cities{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.g-city{display:flex;flex-direction:column;gap:1px;padding:7px 13px;background:#ffffff0a;border:1px solid rgba(236,229,214,.14);border-radius:var(--radius-card)}
.g-city.primary{border-color:#c2a35b80}
.gc-name{font-family:var(--disp);font-size:15px;font-weight:700;color:#f2ede1}
.g-city.primary .gc-name:after{content:"◆";font-size:7px;color:#c2a35b;vertical-align:super;margin-left:5px}
.gc-cc{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#d8be84b3}
.places{margin-top:38px;border-top:1px solid rgba(236,229,214,.14);padding-top:26px}
.g-city .gc-addr{font-size:13px;color:#f2ede199;line-height:1.4;margin-top:3px}
.g-city .gc-role{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c2a35b;margin-top:6px}
.g-city.lounge{border-style:dashed}
.presence-more{margin-top:34px}
@media(max-width:960px){.presence-split{grid-template-columns:1fr;gap:0}.scene-col{min-height:0}.scene-col .globe-scene{aspect-ratio:1 / .85;height:auto;min-height:0}.text-col{padding:12px 24px 56px}}
@media(max-width:560px){.g-city{padding:11px 14px}.gs-scene{border-radius:0}}
.team-lead{padding:80px 0 70px}
.tl-head{max-width:720px;margin-bottom:44px}
.tl-head h2{font-family:var(--disp);font-size:clamp(25px,calc(19.5px + 1.46vw),40px);color:var(--ink);margin-top:14px;line-height:1.12}
.tl-head p{color:var(--muted);font-size:18px;line-height:1.6;margin-top:16px}
.lead-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member{background:var(--panel);border:1px solid var(--hair-faint);border-radius:var(--radius-card);overflow:hidden;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}
.member:hover{border-color:var(--hair);transform:translateY(-5px);box-shadow:0 18px 40px #061b3d14}
.member-photo{position:relative}
.member-photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover}
.member-body{padding:16px 18px 20px}
.member h3{font-size:18px;line-height:1.25}
.photo-note{font-family:var(--sans);font-size:10.5px;font-style:italic;color:var(--muted-2);margin-top:6px}
.pos{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin-top:7px;line-height:1.4}
.bio{margin-top:4px}
.bio summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);border-bottom:1px solid var(--hair);padding:12px 0 4px;transition:color .25s ease,border-color .25s ease}
.bio summary::-webkit-details-marker{display:none}
.bio summary:after{content:"";width:7px;height:7px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s ease}
.bio[open] summary:after{transform:translateY(1px) rotate(-135deg)}
.bio summary:hover{color:var(--ink);border-color:var(--ink)}
.bio summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.bio-close,.bio[open] .bio-open{display:none}
.bio[open] .bio-close{display:inline}
.bio-text{margin-top:16px;max-width:62ch}
.bio-text p{font-size:14.5px;line-height:1.72;color:var(--muted);margin-bottom:12px}
.bio-text p:last-child{margin-bottom:0}
.bio-text p.quote{margin-top:16px;font-family:var(--disp);font-size:17px;line-height:1.45;color:var(--ink-dim)}
.member:has(.bio[open]){grid-column:1 / -1;display:grid;grid-template-columns:232px minmax(0,1fr);align-items:start}
.member:has(.bio[open]) .member-body{padding:18px 22px 24px}
.network h2{font-family:var(--disp);font-size:clamp(25px,calc(18.1px + 1.85vw),44px);color:var(--ink);margin-top:14px;line-height:1.12}
.net-lead{font-size:clamp(16.5px,calc(14.5px + .54vw),22px);color:var(--ink-dim);line-height:1.55;margin-top:20px}
.net-body{font-size:17px;color:var(--muted);line-height:1.7;margin-top:18px}
@media(max-width:1040px){.lead-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.member:has(.bio[open]){grid-template-columns:1fr}.member:has(.bio[open]) .member-photo{max-width:260px}}
@media(max-width:720px){.lead-grid{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:560px){.tl-head p,.net-body{font-size:16.5px}.lead-grid{gap:14px}.member-body{padding:14px 14px 18px}.member h3{font-size:16.5px}.pos{font-size:10px;letter-spacing:.1em}.bio-text p{font-size:15px}}
.brand-art{width:100%;overflow:hidden;background:#0b2a5c}
.brand-art svg{width:100%;height:100%;display:block}
.nf-actions-sec{padding:80px 0 140px}
.nf-actions{display:flex;gap:16px;flex-wrap:wrap}
.page-hero{position:relative;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy-dim);padding:170px 0 80px;overflow:hidden}
.ph-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.ph-art{position:absolute;inset:0;z-index:0;opacity:.45}
.ph-art .brand-art{height:100%;aspect-ratio:auto;background:transparent}
.ph-bg{opacity:1}
.ph-bg .plate{width:100%;height:100%;aspect-ratio:auto!important}
.ph-overlay{position:absolute;inset:0;z-index:0;background:var(--navy-overlay)}
.page-hero.has-photo .ph-overlay{background:linear-gradient(100deg,#041a42e0,#002d74a8 52%,#002d7480),var(--navy-overlay)}
.page-hero .eyebrow{color:var(--accent-soft)}
.page-hero h1{font-size:clamp(28px,calc(16.3px + 3.12vw),60px);color:var(--on-navy);margin-top:20px;max-width:920px;line-height:1.1}
.page-hero h1 em{font-style:normal;color:var(--accent-soft)}
.ph-lead{font-size:clamp(16.5px,calc(14.5px + .54vw),22px);font-weight:300;max-width:640px;margin-top:22px;line-height:1.6}
@media(max-width:900px){.page-hero{padding:140px 0 56px}}
.logo-mark{display:block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.post-content{max-width:720px;padding:70px 0 100px}
.content-logo{display:flex;justify-content:center;margin:4px 0 36px}
.article-mark{color:var(--brand-blue)}
.post-content p{font-size:20px;line-height:1.75;color:var(--ink-dim);margin-bottom:26px}
.post-content h2{font-size:32px;margin:46px 0 18px}
.post-content h3{font-size:25px;margin:38px 0 14px}
.post-content a{color:var(--accent-text);border-bottom:1px solid var(--hair)}
.post-content blockquote{font-family:var(--disp);font-size:25px;line-height:1.45;color:var(--ink);border-left:2px solid var(--accent);padding-left:26px;margin:38px 0}
.post-content ul,.post-content ol{padding-left:24px;margin-bottom:26px}
.post-content li{font-size:19px;line-height:1.7;color:var(--ink-dim);margin-bottom:8px}
.post-content img{border:1px solid var(--hair-faint);margin:30px 0;max-width:100%;height:auto}
.post-content .post-fig{margin:42px auto}
.post-content .post-fig img{display:block;width:100%;margin:0}
.post-content .post-fig figcaption{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--muted);margin-top:12px;padding-left:14px;border-left:2px solid var(--accent)}
.post-content blockquote em{display:inline-block;margin-top:10px;font-family:var(--sans);font-size:14px;font-style:normal;letter-spacing:.02em;color:var(--muted)}
@media(max-width:560px){.post-content{padding:44px 0 64px}.post-content p{font-size:17px;line-height:1.7;margin-bottom:20px}.post-content li{font-size:16.5px}.post-content h2{font-size:23px;margin:34px 0 14px}.post-content h3{font-size:19px;margin:28px 0 10px}.post-content blockquote{font-size:20px;padding-left:18px;margin:28px 0}.post-content .post-fig{margin:30px auto}.post-content .post-fig figcaption{font-size:13px}}
.cta{text-align:center;padding:120px 0;overflow:hidden}
.cta:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,70vw);aspect-ratio:1;z-index:0;background:var(--emblem) no-repeat center / contain;opacity:.09;animation:emblemGlow 12s ease-in-out infinite}
.cta .eyebrow{justify-content:center}
.cta h2{font-size:clamp(28px,calc(18.5px + 2.54vw),54px);font-weight:800;margin-top:20px}
.cta p{color:var(--ink-dim);font-size:clamp(17px,calc(15.5px + .39vw),21px);max-width:560px;margin:28px auto 46px}
.cta-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.news-list{padding:80px 0 100px}
.list{border-top:1px solid var(--hair)}
.row{display:grid;grid-template-columns:180px 1fr 40px;gap:40px;align-items:baseline;padding:40px 6px;border-bottom:1px solid var(--hair-faint);transition:background .3s ease}
.row:hover{background:var(--panel-2)}
.date{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.row h2{font-size:clamp(21px,calc(17px + 1.07vw),32px);line-height:1.15;transition:color .3s}
.row:hover h2{color:var(--accent-text)}
.row p{color:var(--muted);font-size:17px;margin-top:10px;max-width:640px}
.arrow{font-size:22px;color:var(--accent-text);opacity:0;transition:opacity .3s}
.row:hover .arrow{opacity:1}
@media(max-width:900px){.row{grid-template-columns:1fr;gap:10px}.arrow{display:none}}
.manifesto{background:var(--bg-2);border-top:1px solid var(--hair-faint);border-bottom:1px solid var(--hair-faint)}
.wrap.has-side{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:60px;align-items:center}
.big{font-family:var(--disp);font-size:clamp(22px,calc(14.7px + 1.95vw),42px);font-weight:400;line-height:1.3;color:var(--ink);max-width:980px;margin-top:28px}
.has-side .big{max-width:none}
.sign{font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:48px;display:flex;align-items:center;gap:16px}
.sign:before{content:"";width:42px;height:1px;background:var(--accent)}
.sign.has-photo:before{display:none}
.sign-photo{width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover;object-position:center top;border:1px solid var(--accent);padding:3px;background:var(--panel)}
.manifesto-cta{margin-top:36px}
.manifesto-photo{margin:0;min-width:0}
.manifesto-photo img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid var(--hair-faint)}
.manifesto-photo figcaption{font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:12px;padding-left:12px;border-left:2px solid var(--accent)}
@media(max-width:900px){.wrap.has-side{grid-template-columns:1fr;gap:34px}.manifesto-photo{max-width:360px}}
.fr-carousel{position:relative}
.car-viewport{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px;margin:-4px}
.car-viewport::-webkit-scrollbar{display:none}
.car-viewport>.car-slide{flex:0 0 var(--slide-w);min-width:0;scroll-snap-align:start}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--hair);background:var(--panel);color:var(--ink);cursor:pointer;transition:all .3s ease;box-shadow:0 6px 18px #061b3d1a}
.car-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.car-btn[disabled]{opacity:.35;pointer-events:none}
.car-prev{left:-20px}
.car-next{right:-20px}
.car-dots{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:30px;min-height:9px}
.car-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--muted-2);background:transparent;padding:0;cursor:pointer;transition:all .3s ease}
.car-dot.active{background:var(--accent);border-color:var(--accent)}
@media(max-width:1024px){.car-viewport>.car-slide{flex-basis:var(--slide-w-t)}}
@media(max-width:700px){.car-viewport>.car-slide{flex-basis:var(--slide-w-m)}.car-btn{display:none}}
.sec-head.centered{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.centered .eyebrow{justify-content:center}
.sec-head.centered p{margin-left:auto;margin-right:auto}
.stock{position:relative;margin:0;overflow:hidden;background:#0b2a5c}
.stock img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(1.03) brightness(.95)}
.stock:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#061b3de6,#0b2a5c8c 55%,#061b3dbf);opacity:var(--tint);pointer-events:none}
.contact-body{padding:80px 0 110px}
.contact-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}
.c-form{max-width:620px}
.field{margin-bottom:26px}
.field label{display:block;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-bottom:10px}
.field input,.field textarea{width:100%;background:var(--panel);border:1px solid var(--hair-faint);color:var(--ink);font-family:var(--body);font-size:17px;padding:14px 16px;border-radius:var(--radius-card);transition:border-color .3s ease}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}
.privacy-note{font-size:15px;color:var(--muted);margin:6px 0 28px;max-width:480px}
.c-side{border-left:1px solid var(--hair);padding-left:44px}
.c-block{margin-bottom:38px}
.c-block h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-bottom:12px}
.c-block p{color:var(--ink-dim);font-size:17.5px;line-height:1.8}
.c-addresses,.c-phones{list-style:none}
.c-phones{margin-top:12px}
.c-phones li{margin-bottom:12px}
.c-phones a.c-addr:hover{color:var(--accent-text)}
.c-addresses li{margin-bottom:14px}
.c-city{display:block;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.c-addr{display:block;color:var(--ink-dim);font-size:16.5px;line-height:1.5;margin-top:3px}
.c-addresses li{margin-bottom:18px}
.c-addresses .c-city{font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink)}
.c-addresses .c-city i{font-style:normal;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--muted-2);margin-left:8px;vertical-align:2px}
.c-addresses li.primary .c-city:after{content:"◆";font-size:8px;color:var(--accent);margin-left:8px;vertical-align:3px}
.c-role{display:block;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-top:4px}
.c-addresses .c-addr{font-size:15px;color:var(--muted);margin-top:4px}
.c-block a:hover{color:var(--accent-text)}
@media(max-width:900px){.contact-cols{grid-template-columns:1fr;gap:50px}.c-side{border-left:none;padding-left:0;border-top:1px solid var(--hair);padding-top:40px}}
.legal{padding:70px 0 100px}
.legal-body{max-width:760px}
.legal-body h2{font-family:var(--disp);font-size:clamp(21px,calc(17.7px + .88vw),30px);color:var(--ink);line-height:1.2;margin:52px 0 16px;padding-top:26px;border-top:1px solid var(--hair-faint)}
.legal-body h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal-body h3{font-family:var(--disp);font-size:19px;color:var(--ink);margin:30px 0 10px}
.legal-body p{font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:16px}
.legal-body ul{list-style:none;margin:0 0 18px}
.legal-body li{position:relative;padding-left:24px;font-size:16.5px;line-height:1.7;color:var(--muted);margin-bottom:10px}
.legal-body li:before{content:"·";position:absolute;left:0;color:var(--accent-text)}
.legal-body strong{color:var(--ink);font-weight:700}
.legal-body a{color:var(--accent-text);border-bottom:1px solid var(--hair)}
.legal-body .todo{background:var(--panel-2);border-bottom:1px dashed var(--accent);padding:1px 6px;border-radius:3px;font-family:var(--sans);font-size:.92em;color:var(--ink)}
.legal-body table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:15.5px}
.legal-body th,.legal-body td{text-align:left;vertical-align:top;padding:11px 12px 11px 0;border-bottom:1px solid var(--hair-faint);color:var(--muted);line-height:1.55}
.legal-body th{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.legal-updated{margin-top:48px;padding-top:22px;border-top:1px solid var(--hair-faint);font-family:var(--sans);font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)!important}
.legal-body .table-scroll{overflow-x:auto}
@media(max-width:560px){.legal-body table{table-layout:fixed;font-size:12.5px}.legal-body th,.legal-body td{padding:8px 6px 8px 0;overflow-wrap:break-word;word-break:break-word}.legal-body th{font-size:9.5px;letter-spacing:.05em}}
.hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:150px 0 90px;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy);overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.hero-art{position:absolute;inset:0;z-index:0;opacity:.5}
.hero-art[hidden]{display:none}
.hero-art .brand-art{height:100%;aspect-ratio:auto;background:transparent}
.hero-overlay{position:absolute;inset:0;z-index:0;background:var(--navy-overlay)}
.hero .wrap{width:100%}
.hero-inner{max-width:860px}
.hero-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:60px;align-items:center}
.hero-split .hero-inner{max-width:none}
.hero-side{margin:0;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--hair-on-navy);box-shadow:0 24px 60px #030c1e73}
.hero-side img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;filter:saturate(.85) contrast(1.02)}
.hero .eyebrow{color:var(--accent-soft)}
.hero h1{font-size:clamp(32px,calc(15.2px + 4.49vw),78px);font-weight:800;color:var(--on-navy);margin:26px 0 0;line-height:1.08}
.lead{font-size:clamp(17px,calc(14.8px + .59vw),23px);font-weight:300;color:var(--on-navy-dim);max-width:640px;margin:28px 0 0;line-height:1.6}
.hero-cta{display:flex;gap:16px;margin-top:42px;flex-wrap:wrap}
.hero-meta{display:flex;gap:44px;margin-top:60px;flex-wrap:wrap;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-muted);border-top:1px solid var(--hair-on-navy);padding-top:24px;max-width:720px}
.hero-meta span.no-value{align-self:center;max-width:220px;color:var(--accent-soft);text-transform:none;font-family:var(--disp);font-size:17px;font-weight:400;letter-spacing:0;line-height:1.35}
.hero-meta span b{color:var(--accent-soft);font-weight:700;display:block;font-family:var(--disp);font-size:clamp(25px,calc(23.2px + .49vw),30px);letter-spacing:0;margin-bottom:4px;text-transform:none}
@media(max-width:900px){.hero{min-height:0;padding:132px 0 64px}.hero-split{grid-template-columns:1fr;gap:38px}.hero-side{max-width:320px}.hero-side img{aspect-ratio:4 / 3}}
@media(max-width:560px){.hero{padding:112px 0 48px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
.plate{position:relative;margin:0;overflow:hidden;background:linear-gradient(150deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--on-navy);container-type:inline-size}
.plate-mark{position:absolute;top:7cqw;left:7cqw;display:block;color:var(--on-navy)}
.plate-mark .logo-mark{width:34cqw!important;height:calc(34cqw / 2.189)!important}
.plate-rhombus{position:absolute;right:-14cqw;bottom:-20cqw;width:52cqw;height:52cqw;border:1px solid rgba(255,255,255,.16);transform:rotate(45deg)}
.plate-body{position:absolute;left:7cqw;right:7cqw;bottom:7cqw;display:flex;flex-direction:column;gap:2cqw}
.plate-num{font-family:var(--sans);font-size:3.2cqw;font-weight:700;letter-spacing:.24em;color:var(--accent-soft)}
/* Il blocco del testo e' ancorato in basso, quindi un titolo su due
   righe cresceva verso l'alto e spostava il numero: fra una scheda e
   l'altra numero e titolo finivano a quote diverse. Riservando al titolo
   l'altezza di due righe (unita' lh) anche quando ne occupa una, il blocco ha sempre
   lo stesso ingombro e tutte le schede si allineano. In em, cosi' la
   misura segue il corpo del testo che scala col contenitore. */
.plate-title{font-family:var(--disp);font-weight:800;font-size:7.6cqw;line-height:1.12;min-height:2.4em;min-height:2lh;color:var(--on-navy);text-wrap:balance}
.plate--band .plate-mark{inset:auto 6% 12% auto;opacity:.34}
.plate--band .plate-mark .logo-mark{width:clamp(150px,17cqw,290px)!important;height:auto!important;aspect-ratio:2.189}
.plate--band .plate-rhombus{right:4%;bottom:-28%;width:min(46cqw,620px);height:min(46cqw,620px)}
@media(max-width:900px){.plate--band .plate-mark{bottom:8%;right:7%;opacity:.26}.plate--band .plate-mark .logo-mark{width:clamp(110px,30cqw,180px)!important}}
.method{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:20px}
.pillar{border-top:1px solid var(--hair);padding-top:30px}
.pn{font-family:var(--disp);font-size:42px;color:var(--accent-text);font-weight:800}
.pillar h3{font-size:clamp(20px,calc(17.8px + .59vw),26px);margin:14px 0 12px}
.pillar p{color:var(--muted);font-size:17.5px;line-height:1.55}
@media(max-width:900px){.pillars{grid-template-columns:1fr;gap:40px}}
.steps{list-style:none;max-width:820px;border-top:1px solid var(--hair)}
.step{display:flex;gap:40px;align-items:baseline;padding:40px 6px 44px;border-bottom:1px solid var(--hair-faint)}
.sn{font-family:var(--disp);font-size:48px;font-weight:800;color:var(--accent-text);flex:0 0 64px}
.step-body h3{font-size:clamp(21px,calc(18.4px + .68vw),28px);margin-bottom:10px}
.step-body p{color:var(--muted);font-size:18px;line-height:1.6;max-width:560px}
@media(max-width:900px){.step{gap:22px;flex-direction:column;padding:32px 0 36px}.sn{flex:none}}
.svc-index{padding:80px 0}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:1024px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.svc-grid{grid-template-columns:1fr}}

/*
 * Aggiunte del tema WordPress, non presenti nel CSS compilato di Astro:
 * la griglia piana dei servizi (al posto del carosello, che arriva in
 * Fase 5) e il segnaposto del globo delle sedi, stessa fase.
 */
.svc-grid-plain{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:20px}
@media(max-width:900px){.svc-grid-plain{grid-template-columns:1fr}}
.frp-globe-placeholder{width:100%;min-height:480px;display:flex;align-items:center;justify-content:center;font-size:64px;opacity:.35}

/*
 * Stato di arrivo della comparsa allo scroll. Su Astro non esisteva come
 * regola CSS: GSAP scriveva opacity e transform direttamente sull'elemento.
 * Qui la transizione la fa il browser e il JS si limita ad aggiungere la
 * classe, quindi lo stato di arrivo va dichiarato. La specificita' deve
 * superare `html.js [data-reveal]{opacity:0}`, che e' piu' su nel file.
 */
html.js [data-reveal].is-in{
	opacity:1;
	transform:none;
	transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
}

/*
 * Dissolvenza della scheda del globo. Su Astro la faceva GSAP scrivendo
 * l'opacità sull'elemento; qui la fa il browser e il JS aggiunge solo la
 * classe. La posizione resta quella del CSS di partenza (.gs-card e
 * .gs-card[data-pos=below]), che GSAP di fatto duplicava.
 */
.gs-card{opacity:0;transition:opacity .35s ease}
.gs-card.is-open{opacity:1}

/*
 * WordPress avvolge in <p> il testo dentro <blockquote> (lo fa wpautop,
 * ed è HTML più corretto). Il sito Astro scriveva il testo nudo, quindi
 * senza questa riga la citazione guadagnerebbe i margini del paragrafo e
 * si staccherebbe dal bordo oro.
 */
.post-content blockquote>p:first-child{margin-top:0}
.post-content blockquote>p:last-child{margin-bottom:0}

/*
 * Modulo contatti: parti che su Astro non esistevano, perché lì il
 * modulo non inviava nulla e non raccoglieva dati.
 */
.frp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.c-errors{margin:0 0 26px;padding:14px 18px;border-left:3px solid #b32d2e;background:rgba(179,45,46,.06);border-radius:2px}
.c-errors p{margin:0 0 6px;font-weight:600}
.c-errors ul{margin:0;padding-left:18px;font-size:15.5px}
.field-consenso{margin-bottom:20px}
.consenso{display:flex;align-items:flex-start;gap:10px;font-family:var(--body);font-size:15.5px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--muted);cursor:pointer}
.consenso input{width:auto;margin-top:3px;flex:none}
.c-sent h2{margin-top:0}

/* Marchio Think Consulting: sagoma vettoriale usata come maschera, cosi il
   colore continua ad arrivare da currentColor come per il marchio precedente.
   Sta nel CSS e non nell'HTML perche il browser la scarica una volta sola,
   invece di ripeterla a ogni istanza del logo nella pagina. */
.logo-think{--think-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 451 206' fill='black'%3E%3Cpath fill-rule='evenodd' d='m38.7 183.9c-0.5-0.1-1.3-0.2-1.8-0.4c-0.5-0.1-1.4-0.3-2-0.4c-0.6-0.1-1.4-0.4-1.8-0.6c-0.5-0.2-1.1-0.4-1.4-0.5c-0.3-0.1-0.7-0.3-1-0.5c-0.3-0.2-0.7-0.4-0.9-0.5c-0.5-0.1-0.8-0.4-2.6-1.9c-0.7-0.6-1.6-1.4-2.1-1.8c-0.5-0.4-1-1-1.1-1.2c-0.2-0.3-0.4-0.7-0.6-1c-0.2-0.2-0.4-0.5-0.4-0.6c-0-0-0.2-0.3-0.4-0.5c-0.2-0.3-0.5-0.7-0.6-1.1c-0.2-0.3-0.5-0.7-0.6-0.8c-0.2-0.2-0.4-0.5-0.5-0.9c-0.1-0.3-0.3-0.8-0.4-1c-0.1-0.2-0.4-0.8-0.5-1.4c-0.1-0.5-0.4-1.1-0.5-1.3c-0.1-0.2-0.4-0.8-0.5-1.4c-0.1-0.6-0.4-1.5-0.6-2c-0.1-0.5-0.3-1.5-0.4-2.2c-0.1-0.6-0.3-1.7-0.5-2.3c-0.2-0.6-0.3-1.6-0.4-2.7c-0-0.9-0.2-2.9-0.3-4.3c-0.4-5.1-0.4-9.9-0.4-30c-0-13.7-0.1-20.4-0.1-20.6c-0.4-0.6-0.6-0.6-3.5-0.6l-2.7-0l-0.3-0.3c-0.4-0.4-0.4-0.8-0-1.3c0.3-0.4 0.8-0.5 3.2-0.7c2.2-0.1 2.9-0.2 4.9-0.8c0.7-0.2 1.4-0.3 1.6-0.3c0.1 0 0.9-0.2 1.5-0.4c0.7-0.3 1.7-0.5 2.1-0.6c0.5-0.1 1.1-0.3 1.5-0.5c0.4-0.2 1-0.4 1.5-0.5c0.4-0.1 1-0.3 1.3-0.4c0.3-0.2 0.9-0.4 1.3-0.5c0.4-0.2 1-0.4 1.4-0.6c0.3-0.2 0.8-0.4 1.1-0.5c0.4-0.1 0.9-0.3 1.2-0.5c0.3-0.2 0.8-0.4 1-0.5c0.3-0 0.8-0.2 1.1-0.4c0.3-0.3 0.9-0.5 1.2-0.6c0.3-0.2 0.7-0.4 0.9-0.6c0.2-0.1 0.6-0.3 0.9-0.4c0.3-0.1 0.8-0.3 1-0.5c0.2-0.2 0.7-0.4 1-0.6c0.3-0.1 0.6-0.3 0.7-0.5c0.1-0.1 0.5-0.3 0.8-0.4c0.3-0.2 0.7-0.4 1-0.6c0.2-0.2 0.5-0.4 0.5-0.4c0.1 0 0.5-0.2 0.8-0.5c0.3-0.2 0.8-0.7 1.2-0.9c0.4-0.3 0.9-0.8 1.3-1.1c0.5-0.5 0.7-0.5 1.1-0.5c0.2 0.1 0.5 0.2 0.6 0.3c0.1 0.2 0.1 1.6 0.1 6.9l-0 6.6l0.4 0.4l0.4 0.3l3.8 0c2.1-0 4.1-0 4.5-0c0.4-0 0.6 0.1 0.8 0.3c0.3 0.3 0.3 1-0 1.3c-0.2 0.3-0.4 0.3-4.6 0.3c-4.6-0-4.9 0-5.1 0.5c-0.2 0.2-0.2 6.5-0.1 25.2c0 29.1 0.1 31.2 1 35.1c0.1 0.4 0.2 1.3 0.4 2c0.1 0.6 0.3 1.4 0.4 1.7c0.1 0.2 0.3 0.8 0.5 1.3c0.1 0.5 0.3 1 0.4 1c0.1 0.1 0.3 0.5 0.5 0.8c0.1 0.4 0.5 0.9 0.7 1.2c1.2 1.2 1.6 1.6 2.1 1.8c0.4 0.2 0.8 0.4 1 0.6c0.4 0.3 0.6 0.3 1.5 0.4c0.6 0 1.3 0.1 1.5 0.2l0.3 0.2l-0 1.1c-0.1 1.1-0.1 1.2-1 2.8c-0.2 0.4-0.6 1-0.9 1.4c-0.7 0.8-0.7 1.1-0.1 1.1c0.4-0 0.6-0.2 1.2-0.8c0.4-0.5 0.8-1 0.9-1.2c0.1-0.2 0.3-0.5 0.5-0.8c0.2-0.2 0.4-0.6 0.5-1c0.1-0.4 0.3-1 0.5-1.4c0.3-0.8 0.3-1.2 0.7-4.5c0.2-2.1 0.3-83.1 0.1-85.7c-0.3-3.9-0.6-5.7-1-6.2c-0.1-0.1-0.2-0.5-0.3-0.9c-0.2-0.5-0.4-1-0.5-1.2c-0.2-0.2-0.4-0.7-0.6-1c-0.2-0.3-0.5-0.7-0.7-1c-0.2-0.2-0.4-0.5-0.5-0.6c-0.2-0.4-1.5-1.2-2.2-1.4c-0.7-0.2-0.8-0.3-0.8-0.6c-0.1-0.6 0.3-0.8 2.2-0.9c1-0 2.3-0.2 2.8-0.3c0.6-0.1 1.7-0.2 2.6-0.3c1-0.1 2-0.3 2.8-0.5c0.7-0.2 1.8-0.4 2.4-0.5c0.6-0.1 1.6-0.3 2.2-0.5c0.6-0.2 1.5-0.4 1.9-0.4c1.2-0.2 2-0.4 2.7-0.6c0.3-0.2 1.1-0.4 1.7-0.5c0.7-0.1 1.6-0.4 2-0.5c0.4-0.2 1.1-0.4 1.6-0.5c0.5-0.1 1.2-0.3 1.7-0.5c0.4-0.2 1.2-0.4 1.6-0.5c0.4-0.1 1.1-0.3 1.5-0.5c0.4-0.2 1.1-0.4 1.5-0.5c0.4-0.1 1.1-0.3 1.4-0.5c0.3-0.1 0.9-0.4 1.4-0.5c0.5-0.1 1.2-0.4 1.5-0.6c0.8-0.5 1.7-0.6 2.1-0.2c0.2 0.2 0.2 0.7 0.2 24.7c0 17.2 0.1 24.6 0.2 24.7c0.2 0.5 1 0.1 1.2-0.7c0.1-0.4 0.4-0.8 2-2.9c0.8-1 3.3-3.4 4-3.9c0.4-0.3 1-0.8 1.4-1.1c0.4-0.3 1.1-0.8 1.4-0.9c0.4-0.2 0.8-0.5 1-0.6c0.2-0.2 0.6-0.4 0.9-0.5c0.2-0.1 0.6-0.3 0.8-0.5c0.2-0.1 0.7-0.4 1.2-0.5c0.5-0.1 1.1-0.4 1.4-0.6c0.3-0.1 1-0.4 1.5-0.5c0.5-0.1 1.3-0.3 1.8-0.5c1-0.3 1.5-0.4 5.2-0.6c1.5-0.2 1.9-0.1 5 0.1c2.5 0.2 3.3 0.3 4 0.7c0.3 0.1 0.9 0.3 1.3 0.4c0.4 0.1 1 0.3 1.3 0.5c0.4 0.2 1 0.4 1.4 0.5c0.4 0.1 0.8 0.3 1.1 0.4c0.2 0.2 0.5 0.5 0.8 0.6c0.2 0.1 0.5 0.3 0.6 0.4c0.1 0.2 0.5 0.4 0.8 0.7c1.3 0.8 1.8 1.2 1.9 1.4c0.1 0.1 0.4 0.5 0.7 0.8c0.3 0.2 0.5 0.5 0.5 0.6c-0 0 0.2 0.3 0.5 0.7c1.1 1.3 1.4 1.8 1.6 2.2c0 0.2 0.3 0.6 0.4 0.9c0.2 0.2 0.4 0.7 0.5 1c0.1 0.3 0.3 0.7 0.5 1.1c0.2 0.3 0.5 0.9 0.5 1.4c0.1 0.5 0.4 1.2 0.5 1.7c0.2 0.5 0.5 1.6 0.6 2.6c0.2 0.9 0.4 2.1 0.5 2.5c0.3 1.6 0.4 5.7 0.4 27.9c0 12.2 0.1 23.1 0.1 24c0.1 1.4 0.2 1.9 0.4 2.4c0.1 0.4 0.4 1.1 0.5 1.7c0.2 0.9 0.4 1.3 0.8 1.9c0.8 1.2 1.5 2.1 1.9 2.5c0.5 0.5 2.4 1.3 2.8 1.2c1.2-0.2 3.2-1.6 3.5-2.4c0.1-0.2 0.3-0.4 0.4-0.5c0.5-0.5 1.3-2.6 1.7-4.1c0.7-3.6 0.7-3 0.6-30.3c-0-23.2-0-25.2-0.2-25.9c-0.2-0.4-0.3-1.3-0.4-2c-0.2-0.8-0.4-1.4-0.6-1.8c-0.1-0.4-0.4-0.9-0.5-1.3c-0.1-0.3-0.3-0.8-0.5-1c-0.2-0.3-0.4-0.7-0.5-0.9c-0.2-0.3-0.8-0.9-2-1.9c-0.2-0.2-0.6-0.4-0.9-0.5c-0.7-0.2-1-0.4-1-0.9c0-0.6 0.3-0.7 2-0.8c0.9-0 2.1-0.1 2.7-0.2c0.6-0 1.7-0.1 2.5-0.2c0.7-0.1 1.8-0.3 2.3-0.5c0.5-0.1 1.5-0.3 2.2-0.4c0.6-0.1 1.6-0.3 2.3-0.5c0.6-0.2 1.6-0.4 2.3-0.5c0.6-0.1 1.7-0.3 2.3-0.5c0.6-0.2 1.4-0.4 1.8-0.5c0.9-0.1 1.3-0.2 2.2-0.6c0.3-0.1 1-0.3 1.4-0.4c0.5-0.1 1.3-0.3 1.7-0.5c0.5-0.2 1.2-0.4 1.7-0.5c0.4-0.1 1.1-0.3 1.4-0.4c0.3-0.2 1.1-0.5 1.7-0.6c0.5-0.1 1.3-0.4 1.6-0.6c0.3-0.1 0.9-0.3 1.3-0.4c0.4-0.1 1-0.3 1.3-0.5c0.7-0.4 1.8-0.7 2.3-0.7c0.2-0 0.5 0.1 0.6 0.2c0.2 0.2 0.2 2.8 0.2 34.7c-0 22.5 0 35.4 0.1 37.2c0.1 2.7 0.2 2.9 0.5 3.8c0.2 0.5 0.4 1.2 0.5 1.7c0.1 0.6 0.3 1 0.7 1.6c1.1 1.6 1.5 2.1 2 2.5c0.5 0.4 2 1 2.5 1c0.1 0 0.7-0.1 1.2-0.3c0.7-0.3 1-0.5 1.6-1.1c0.4-0.4 0.8-0.9 0.9-1.1c0.2-0.3 0.5-0.7 0.7-0.9c0.2-0.3 0.4-0.7 0.5-1c0-0.3 0.2-0.9 0.4-1.4c0.4-0.9 0.5-1.4 0.8-5.3c0.3-3.2 0.3-47.1 0-50.1c-0.3-3.5-0.4-4.2-0.7-4.9c-0.2-0.4-0.4-1-0.5-1.4c-0.2-0.4-0.4-1.1-0.7-1.4c-0.2-0.3-0.4-0.7-0.4-0.8c-0-0.2-1-1.4-1.8-2.1c-0.3-0.3-0.9-0.6-1.4-0.7c-0.8-0.3-1-0.6-0.9-1c0.1-0.5 0.5-0.6 2-0.7c1.3-0.1 3.4-0.2 5.3-0.4c0.6-0.1 1.5-0.3 1.9-0.4c0.5-0.1 1.4-0.3 2.1-0.4c0.7-0.1 1.8-0.4 2.6-0.6c0.7-0.2 1.8-0.4 2.4-0.5c0.6-0.1 1.6-0.3 2.2-0.5c0.7-0.2 1.6-0.4 2.2-0.6c0.5-0.1 1.3-0.3 1.6-0.4c0.3-0.2 1.1-0.4 1.7-0.5c0.7-0.1 1.5-0.4 1.7-0.5c0.3-0.1 1-0.4 1.7-0.5c0.6-0.1 1.3-0.4 1.5-0.5c0.2-0.1 0.8-0.3 1.3-0.4c0.6-0.2 1.3-0.4 1.7-0.6c0.4-0.2 1.1-0.4 1.4-0.5c0.4-0.1 1-0.3 1.3-0.5c0.6-0.3 1.8-0.7 2.2-0.7c0.2-0 0.5 0.1 0.7 0.2l0.2 0.3l0 6.5c0 3.6 0.1 6.6 0.1 6.8c0.1 0.2 0.1 0.3 0.4 0.2c0.5-0.1 0.7-0.4 0.9-0.9c0.1-0.2 0.5-0.9 0.9-1.4c0.3-0.5 0.9-1.2 1.1-1.5c0.6-0.8 3.6-3.7 4.1-4c0.3-0.1 0.5-0.3 1.8-1.3c0.2-0.3 0.8-0.6 1.1-0.8c0.4-0.1 0.8-0.3 0.8-0.4c0.1-0.1 0.4-0.3 0.8-0.5c0.4-0.1 0.8-0.4 1-0.5c0.2-0.1 0.6-0.3 1-0.5c0.4-0.1 1-0.3 1.4-0.5c0.4-0.2 1.1-0.4 1.6-0.6c0.4-0.1 1.2-0.2 1.5-0.4c1.1-0.3 1.9-0.5 4.1-0.6c2.5-0.2 4.5-0.2 7.2 0c2.3 0.3 2.5 0.3 3.2 0.7c0.3 0.1 0.9 0.3 1.3 0.4c0.4 0.1 1 0.3 1.4 0.5c0.4 0.2 1 0.4 1.3 0.5c0.4 0.1 0.9 0.3 1.1 0.5c0.3 0.2 0.7 0.4 0.9 0.5c0.2 0.1 0.4 0.3 0.5 0.4c0.2 0.2 1 0.9 2.1 1.6c0.3 0.2 0.6 0.4 0.6 0.5c0.1 0.1 0.4 0.5 0.7 0.8c0.3 0.2 0.5 0.5 0.5 0.6c-0 0 0.2 0.3 0.5 0.7c0.3 0.3 0.5 0.6 0.5 0.6c-0 0.1 0.2 0.4 0.5 0.7c0.3 0.3 0.5 0.6 0.6 0.8c0 0.2 0.2 0.6 0.4 0.9c0.2 0.3 0.4 0.8 0.5 1.1c0.1 0.3 0.3 0.7 0.5 1.1c0.2 0.3 0.4 0.9 0.6 1.5c0.1 0.5 0.3 1.2 0.5 1.7c0.1 0.4 0.4 1.5 0.5 2.4c0.2 0.9 0.4 2.3 0.5 3l0.3 1.3l0.1 25.6c0.1 16.2 0.1 25.8 0.2 26.1c0.1 0.3 0.2 0.8 0.4 1c0.1 0.3 0.3 1 0.4 1.6c0.2 0.9 0.3 1.3 0.8 1.9c0.8 1.2 1.5 2.1 1.9 2.5c0.4 0.4 2 1.1 2.5 1.1c0.2 0 0.7-0.2 1.2-0.4c0.9-0.3 1.1-0.5 1.6-1.1c0.4-0.3 0.8-0.8 0.9-1.1c0.2-0.2 0.5-0.6 0.7-0.8c0.2-0.3 0.4-0.7 0.5-1c0-0.3 0.2-0.9 0.4-1.4c0.4-0.8 0.5-1.4 0.8-4.6c0.1-1.3 0.1-11.5 0.2-43c-0-35.9-0-41.7-0.2-43.5c-0.3-3.6-0.4-4.4-0.7-5c-0.2-0.3-0.4-1-0.5-1.4c-0.2-0.4-0.4-0.9-0.5-1.1c-0.2-0.2-0.4-0.7-0.6-1c-0.2-0.3-0.5-0.7-0.7-1c-0.2-0.2-0.5-0.5-0.6-0.7c-0.4-0.5-1.4-1.1-2.1-1.3c-0.7-0.2-1-0.5-0.9-0.8c0.1-0.5 0.6-0.6 2.4-0.7c1-0 2.3-0.2 2.9-0.3c0.6-0.1 1.8-0.2 2.7-0.3c1.2-0.1 2.1-0.3 2.9-0.5c0.6-0.2 1.6-0.4 2.2-0.5c0.6-0.1 1.7-0.3 2.4-0.5c0.7-0.2 1.8-0.4 2.6-0.5c0.7-0.1 1.7-0.4 2.1-0.6c0.5-0.1 1.3-0.3 1.8-0.4c0.5-0.1 1.2-0.3 1.6-0.4c0.4-0.2 1.2-0.5 1.8-0.6c0.6-0.1 1.4-0.4 1.7-0.5c0.2-0.1 0.9-0.4 1.4-0.5c0.5-0.1 1.2-0.3 1.6-0.5c0.4-0.2 1.1-0.4 1.4-0.5c0.4-0.1 1-0.3 1.4-0.5c0.3-0.2 0.9-0.4 1.2-0.5c0.4-0.1 0.9-0.3 1.3-0.5c0.9-0.6 1.9-0.7 2.3-0.3c0.2 0.2 0.2 3.9 0.2 38.8c0 28.4 0.1 38.6 0.2 38.7c0.2 0.3 0.7 0.2 1.2-0.4c1.1-1.3 3.3-3.7 4.2-4.6c0.6-0.6 1.7-1.7 2.5-2.6c0.8-0.9 1.7-1.8 1.9-2.1c0.3-0.2 1.3-1.4 2.4-2.5c1.1-1.1 2.2-2.3 2.4-2.6c1.4-1.4 3.6-3.9 3.6-4c0-0.1 0.2-0.4 0.5-0.8c1.1-1.2 1.4-1.6 1.6-2.1c0.1-0.3 0.3-0.7 0.4-0.8c0.1-0.1 0.3-0.6 0.5-0.9c0.1-0.4 0.4-0.9 0.5-1.2c0.6-1.2 0.9-4.5 0.6-6.5c-0.2-1.3-1.1-2.9-2.3-4.2c-0.8-0.8-1.3-1.2-1.7-1.4c-0.4-0.1-0.8-0.4-0.9-0.5c-0.3-0.3-1.8-0.9-2.7-1.2c-0.3-0.1-1-0.2-1.5-0.3c-0.7-0.1-1-0.2-1.2-0.4c-0.6-0.6-0.3-1.1 0.7-1.1c0.3-0 10-0 21.5-0c15.6-0 21.1 0 21.2 0.1c0.1 0.1 0.2 0.3 0.2 0.4c-0 0.4-0.5 0.6-1.4 0.8c-3 0.4-3.7 0.5-4.3 0.7c-0.3 0.2-1.1 0.4-1.6 0.5c-0.6 0.2-1.2 0.4-1.4 0.5c-0.3 0.1-0.8 0.3-1.2 0.4c-0.4 0.2-1 0.4-1.3 0.6c-0.4 0.2-0.9 0.4-1.2 0.5c-0.3 0.1-0.8 0.3-1.1 0.5c-0.2 0.2-0.7 0.4-0.9 0.5c-0.3 0.1-0.7 0.3-0.9 0.4c-0.2 0.2-0.6 0.5-0.9 0.6c-0.3 0.1-0.8 0.4-1 0.5c-0.2 0.2-0.6 0.4-0.9 0.5c-0.2 0.1-0.6 0.3-0.8 0.4c-0.2 0.2-0.6 0.5-0.9 0.6c-0.3 0.1-0.8 0.4-1.2 0.6c-0.3 0.3-0.8 0.6-1 0.7c-0.2 0.1-0.7 0.4-1.1 0.8c-0.4 0.3-0.9 0.6-1.1 0.8c-1.2 0.7-4.3 3.5-6.6 5.8c-1.6 1.6-1.6 1.7-1.6 2.1c0.1 0.2 0.2 0.6 0.4 0.9c0.2 0.3 0.4 0.9 0.5 1.3c0.2 0.4 0.4 1.1 0.6 1.4c0.2 0.4 0.4 1 0.5 1.4c0.1 0.3 0.4 1 0.6 1.4c0.2 0.5 0.4 0.9 0.4 1.1c0 0.2 0.2 0.7 0.5 1.3c0.3 0.5 0.5 1.1 0.5 1.2c0 0.2 0.2 0.7 0.5 1.3c0.3 0.5 0.5 1.1 0.5 1.2c0 0.2 0.2 0.7 0.5 1.3c0.3 0.5 0.5 1.1 0.5 1.2c0 0.2 0.2 0.7 0.4 1.1c0.3 0.5 0.5 1.2 0.7 1.6c0.1 0.3 0.3 0.8 0.4 1c0.1 0.2 0.3 0.7 0.4 1.1c0.2 0.4 0.4 1.1 0.7 1.5c0.2 0.4 0.4 0.9 0.4 1.1c0 0.1 0.2 0.6 0.4 1.1c0.3 0.4 0.5 1.1 0.7 1.5c0.1 0.4 0.3 0.9 0.4 1.1c0.1 0.2 0.3 0.6 0.4 1c0.2 0.5 0.4 1.1 0.6 1.4c0.2 0.4 0.4 0.9 0.5 1.3c0.1 0.3 0.3 0.8 0.5 1c0.1 0.3 0.4 0.8 0.5 1.2c0.1 0.4 0.3 1 0.5 1.4c0.2 0.3 0.4 0.9 0.5 1.2c0.1 0.3 0.3 0.8 0.5 1.2c0.2 0.3 0.4 0.8 0.5 1.2c0.1 0.3 0.3 0.8 0.5 1.1c0.2 0.4 0.4 0.9 0.5 1.2c0.1 0.3 0.3 0.9 0.5 1.2c0.2 0.4 0.4 1 0.5 1.3c0.2 0.4 0.4 0.9 0.5 1.1c0.1 0.1 0.4 0.6 0.5 1.1c0.1 0.4 0.4 0.9 0.5 1.1c0.2 0.2 0.4 0.7 0.5 1.1c0.1 0.4 0.4 1 0.5 1.2c0.2 0.3 0.4 0.7 0.5 1c0.1 0.3 0.3 0.7 0.5 1c0.1 0.3 0.4 0.7 0.5 1.1c0.1 0.3 0.3 0.7 0.5 0.9c0.1 0.2 0.4 0.7 0.5 1.1c0.1 0.4 0.4 0.8 0.5 0.9c0.1 0.1 0.3 0.5 0.5 0.8c0.1 0.3 0.4 0.8 0.6 1.1c0.2 0.3 0.4 0.6 0.4 0.7c0 0.1 0.5 0.9 1.8 2.6c0.7 0.9 2.4 2.4 3.1 2.8c0.4 0.2 1.1 0.4 1.6 0.6c0.8 0.2 1.3 0.4 1.3 0.7c-0 0-0.2 0.2-0.3 0.3c-0.2 0.2-1.9 0.2-22.7 0.2c-16.8-0-22.5-0-22.6-0.1c-0.1-0.1-0.2-0.4-0.2-0.6c0.1-0.3 0.2-0.4 0.9-0.9c1.1-0.7 1.9-1.6 2.2-2.3c0.1-0.4 0.3-0.8 0.5-1c0.2-0.3 0.2-0.5 0.2-2c-0-1.3-0.1-1.7-0.3-2.5c-0.2-0.6-0.4-1.4-0.5-1.8c-0.1-0.5-0.3-1.2-0.5-1.6c-0.2-0.5-0.4-1.1-0.5-1.5c-0.1-0.4-0.3-1-0.5-1.4c-0.2-0.3-0.4-0.9-0.5-1.2c-0.1-0.3-0.3-0.8-0.5-1.2c-0.2-0.3-0.4-0.8-0.5-1.1c-0.1-0.4-0.3-0.8-0.5-1.1c-0.2-0.3-0.4-0.8-0.5-1c-0.1-0.3-0.3-0.8-0.5-1c-0.1-0.3-0.4-0.8-0.5-1.2c-0.2-0.4-0.4-0.9-0.6-1.1c-0.1-0.3-0.3-0.6-0.3-0.8c-0.1-0.2-0.4-0.8-0.6-1.3c-0.3-0.5-0.5-1-0.5-1.1c0-0.2-0.2-0.6-0.4-0.9c-0.2-0.4-0.5-1-0.6-1.4c-0.2-0.4-0.4-0.9-0.6-1.2c-0.1-0.2-0.3-0.7-0.4-1.1c-0.1-0.4-0.3-0.9-0.5-1.3c-0.2-0.3-0.4-0.9-0.5-1.3c-0.1-0.4-0.3-0.9-0.4-1.3c-0.2-0.3-0.4-0.9-0.5-1.3c-0.2-0.5-0.3-0.9-0.4-1.1c-0.3-0.5-0.9-0.7-1-0.4c-0.1 0.4-0.1 24.2 0.1 26.2c0.2 3.9 0.3 4.5 0.7 5.4c0.2 0.4 0.4 1.1 0.4 1.4c0.1 0.4 0.3 0.8 0.6 1.1c0.2 0.3 0.4 0.7 0.5 0.8c0.1 0.1 0.5 0.6 0.9 1.1c0.6 0.7 0.9 0.9 1.4 1.1c1.6 0.6 2.4 1.5 1.7 1.9c-0.2 0.1-14.1 0.1-44 0.1c-42.3 0-43.7-0-43.9-0.2c-0.2-0.5 0-0.8 0.8-1.2c0.4-0.3 1-0.5 1.2-0.6c0.5-0.1 1.5-1 2.2-2c0.7-0.9 1.4-2.6 1.7-3.8c0.1-0.7 0.3-1.3 0.4-1.5c0-0.1 0.2-1.1 0.3-2.3c0.1-1.8 0.2-5.9 0.2-26.2c-0-24.8-0.1-26.5-0.5-28c-0.2-0.4-0.3-1.2-0.4-1.6c-0.1-0.8-0.5-1.9-1.2-3.2c-0-0.2-0.5-0.7-1.1-1.3c-0.7-0.7-1.1-1-1.9-1.3c-1.4-0.6-2.4-0.8-3.8-0.5c-1.4 0.2-3 0.8-3.5 1.2c-0.2 0.2-0.6 0.4-0.7 0.5c-0.9 0.4-2.5 2.3-2.8 3.3c-0.2 0.3-0.4 0.8-0.6 1.1c-0.1 0.2-0.3 0.6-0.4 0.9c-0.1 0.3-0.3 0.7-0.5 1c-0.2 0.4-0.3 0.7-0.4 1.6c-0.1 0.6-0.2 1.8-0.3 2.7c-0.1 1.3-0.2 5.1-0.2 24.2c0 14.3 0.1 23.3 0.2 24.4c0.2 4 0.3 4.4 0.7 5.3c0.2 0.4 0.4 1.1 0.4 1.4c0.1 0.4 0.3 0.8 0.6 1.1c0.2 0.3 0.4 0.7 0.5 0.8c0.1 0.1 0.5 0.6 0.9 1.1c0.6 0.7 0.9 0.9 1.4 1.1c1.6 0.6 2.4 1.5 1.7 1.9c-0.3 0.1-131.5 0.2-131.7 0c-0.2-0.1-0.2-0.3-0.2-0.7c0-0.2 1.4-1 2.1-1.2c0.4-0.1 1.4-1.1 2.1-2c0.7-0.9 1.4-2.6 1.7-3.9c0.2-0.6 0.3-1.3 0.4-1.5c0.1-0.1 0.2-1.1 0.3-2.2c0.1-1.6 0.2-6.1 0.2-26.1c-0-15.8-0.1-24.7-0.2-25.8c-0-0.9-0.2-1.9-0.3-2.3c-0.2-0.5-0.3-1.2-0.4-1.7c-0.1-0.4-0.3-1.2-0.6-1.9c-0.3-0.6-0.5-1.1-0.5-1.2c-0-0.1-0.5-0.6-1-1.1c-0.8-0.8-1.3-1.2-1.9-1.4c-1.2-0.6-2.3-0.8-3.3-0.7c-1.2 0.1-3.6 0.9-4.3 1.4c-0.3 0.2-0.6 0.4-0.7 0.4c-0.1 0-1.5 1.3-2 2.1c-0.3 0.3-0.6 0.9-0.7 1.2c-0.2 0.3-0.4 0.8-0.5 1c-0.1 0.2-0.4 0.6-0.5 1c-0.1 0.4-0.4 0.9-0.5 1.1c-0.2 0.2-0.3 0.6-0.4 1.5c-0.1 0.6-0.2 1.8-0.3 2.7c-0.1 1.2-0.2 4.9-0.2 24.1c0 14.4 0.1 23.2 0.2 24.3c0.3 4.8 0.3 4.6 0.7 5.5c0.2 0.4 0.4 1.1 0.4 1.4c0.1 0.4 0.3 0.8 0.6 1.1c0.2 0.3 0.4 0.7 0.5 0.8c0.1 0.1 0.5 0.6 0.9 1.1c0.6 0.7 0.9 0.9 1.6 1.2c1.4 0.5 2.2 1.4 1.5 1.8c-0.2 0.1-7.2 0.1-22 0.1l-21.7 0l-0.4-0.4c-0.2-0.2-0.4-0.3-0.5-0.3c-0.1-0-0.3 0.1-0.5 0.3c-0.3 0.1-0.6 0.3-0.9 0.4c-0.2 0.1-0.7 0.3-1.1 0.5c-0.3 0.2-1 0.5-1.5 0.6c-0.5 0.1-1.4 0.3-2 0.5c-0.9 0.3-1.1 0.3-4.4 0.3c-1.9 0.1-3.8 0-4.3-0z'/%3E%3C/svg%3E");position:relative;background-color:transparent;-webkit-mask-image:none;mask-image:none}
/* Il lettering sta su ::before e non sull'elemento: una maschera CSS
   vale anche per gli pseudo-elementi dentro, quindi tenendola sullo
   span avrebbe ritagliato via anche gli accenti in oro di ::after.
   Da fratelli, le due sagome convivono. */
.logo-think::before{content:'';position:absolute;inset:0;background-color:currentColor;-webkit-mask-image:var(--think-mask);mask-image:var(--think-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}

/* Riga e pallini del marchio nell'oro di Mentoria. Sono una seconda
   maschera sovrapposta al lettering: la prima prende il colore dal
   contesto, questa resta oro. Stesso viewBox e stesso mask-size, quindi
   le due sagome si allineano da sole a qualunque dimensione. L'oro segue
   lo sfondo come fa la voce Mentoria nel menu: chiaro sul scuro, scuro
   sul chiaro. */
.logo-think::after{content:'';position:absolute;inset:0;background-color:var(--gold-soft);--think-accents:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 451 206' fill='black'%3E%3Crect x='9.6' y='191.7' width='412.6' height='3.9'/%3E%3Ccircle cx='168.2' cy='70.7' r='24.8'/%3E%3Ccircle cx='408.9' cy='163.6' r='31.8'/%3E%3C/svg%3E");-webkit-mask-image:var(--think-accents);mask-image:var(--think-accents);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
header.scrolled .brand .brand-mark::after{background-color:var(--gold-deep)}

/* Dicitura sotto il marchio nella testata: prende il colore dal contesto
   come il marchio, cosi resta leggibile sull'hero e dopo lo scroll. */
.brand{align-items:center}
.brand-tag{font-family:var(--sans);font-size:11px;letter-spacing:.13em;line-height:1;color:currentColor;opacity:.85;white-space:nowrap}

/* Marchio e payoff sono un blocco solo: il payoff si allinea a sinistra
   sotto il lettering e non partecipa mai al calcolo della larghezza del
   marchio, che resta quella imposta dai riquadri dei singoli contesti. */
.logo-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}

/* Sulle piastre dei servizi il marchio e' piccolo e misurato in unita'
   del contenitore: il payoff segue la stessa scala, altrimenti a parita'
   di pixel risulterebbe enorme accanto a un lettering in miniatura. */
.plate-mark .brand-tag{font-size:clamp(6px,2.6cqw,11px);letter-spacing:.1em}
.plate--band .plate-mark .brand-tag{font-size:clamp(7px,1.4cqw,12px)}
@media(prefers-reduced-motion:reduce){.navlinks,.navlinks.open,.drop-menu,.caret{transition:none}}
/* Foto di gruppo di Team & Sedi, in una fascia propria sotto il titolo.
   Il riquadro è sempre più largo che alto: la foto, quadrata, si taglia
   solo in altezza e nessuno esce dai lati. object-position al 32% tiene
   dentro la fascia dei volti (fra il 30% e il 45% dell'altezza della foto)
   con tutte le proporzioni usate qui, dal 4:3 del telefono al 21:9. */
.team-photo{margin:0;background:var(--navy)}
.team-photo img{display:block;width:100%;height:auto;aspect-ratio:21 / 9;max-height:88vh;object-fit:cover;object-position:50% 32%}
@media(max-width:1100px){.team-photo img{aspect-ratio:16 / 9}}
@media(max-width:700px){.team-photo img{aspect-ratio:16 / 9}}
