/* Personal reading preferences, available to every visitor. */
html[data-al-size]{font-size:calc(16px * var(--al-text-scale,1))}
:root{--al-surface:#fff;--al-soft:#f0f1f4;--al-input:#fff;--al-field-line:#bfc6d2;--al-carlo:#eeefec;--al-writing:#e8eae4;--al-action:#245ccc;--al-action-ink:#fff;--al-action-hover:#194daf;--al-dark:#142950;--al-dark-ink:#fff;--al-dark-muted:#d4deef;--al-dark-blue:#bfd2ff;--al-dark-purple:#decaf2;--al-caption:#fffffff0;--al-caption-ink:#414857;--al-selected:#fff;--al-font-family:inherit}
html[data-al-mode=notte]{color-scheme:dark;--paper:#141820;--ink:#f4f5f8;--muted:#c0c7d2;--blue:#9abaff;--white:#202630;--line:#485568;--tone-build:#9abaff;--tone-observe:#9bd7b3;--tone-create:#d6b4f3;--tone-culture:#ecb29c;--al-surface:#202630;--al-soft:#2a3341;--al-input:#19212d;--al-field-line:#7e8fa9;--al-carlo:#2d2b29;--al-writing:#2e302c;--al-action:#abc6ff;--al-action-ink:#10213f;--al-action-hover:#c9d9ff;--al-dark:#192b49;--al-dark-muted:#dbe4f4;--al-dark-blue:#c6d8ff;--al-dark-purple:#e3cef7;--al-caption:#1b2539ed;--al-caption-ink:#f0f4fc;--al-selected:#3b485c}
html[data-al-mode=giorno]{color-scheme:light}
html[data-al-contrast=high]{--paper:#fff;--ink:#111820;--muted:#263342;--blue:#153d94;--line:#637185;--white:#fff;--tone-build:#153d94;--tone-observe:#145138;--tone-create:#592e82;--tone-culture:#753420;--al-surface:#fff;--al-soft:#edf0f4;--al-input:#fff;--al-field-line:#4d5c70;--al-carlo:#fff;--al-writing:#fff;--al-action:#153d94;--al-action-ink:#fff;--al-action-hover:#102c6c;--al-dark:#101c30;--al-dark-ink:#fff;--al-dark-muted:#f1f5fc;--al-dark-blue:#d3e1ff;--al-dark-purple:#eedcff;--al-caption:#fff;--al-caption-ink:#172438;--al-selected:#fff}
html[data-al-mode=notte][data-al-contrast=high]{--paper:#080c12;--ink:#fff;--muted:#edf2fa;--blue:#c6daff;--white:#111923;--line:#a3b4cc;--tone-build:#c6daff;--tone-observe:#b8f0cb;--tone-create:#efd9ff;--tone-culture:#ffd8c8;--al-surface:#111923;--al-soft:#23334a;--al-input:#080c12;--al-field-line:#a3b4cc;--al-carlo:#111923;--al-writing:#111923;--al-action:#c6daff;--al-action-ink:#0a1830;--al-action-hover:#e2edff;--al-dark:#0c1726;--al-caption:#111923;--al-caption-ink:#fff;--al-selected:#354c69}
html[data-al-mode] body{background:var(--paper);color:var(--ink)}
html[data-al-mode=notte][data-al-contrast=high]{--al-selected:#26374e}
html[data-al-mode] :is(.site-header,.showcase-bar,.showcase,.project-tile.carlo,.research-grid>a,.request-card,.other-projects,.site-footer){border-color:var(--line)}
html[data-al-mode] .site-header{background:var(--paper)}
html[data-al-mode] :is(.site-header nav a,.footer-place,.visual-note,.project-insight.writing .insight-bottom,.project-tile.carlo>p,.section-head h2 .title-accent){color:var(--muted)}
html[data-al-mode] .site-header nav a:is(:hover,[aria-current]){color:var(--blue)}
html[data-al-mode] :is(.detail-grid .quiet-card,.process-list li,.research-grid>a,.three-points article,.request-card){background:var(--al-surface)}
html[data-al-mode] .project-tile.carlo{background:var(--al-carlo);color:var(--ink)}
html[data-al-mode] .project-insight.writing{background:var(--al-writing);color:var(--ink)}
html[data-al-mode] .project-tile.carlo .circle-arrow{background:var(--al-soft)}
html[data-al-mode] .area-tabs{background:var(--al-soft)}
html[data-al-mode] .area-tabs button{color:var(--muted)}
html[data-al-mode] .area-tabs button[aria-selected=true]{background:var(--al-selected);box-shadow:0 1px 5px #0002}
html[data-al-mode] #tab-fare[aria-selected=true]{color:var(--tone-build)}
html[data-al-mode] #tab-osservare[aria-selected=true]{color:var(--tone-observe)}
html[data-al-mode] #tab-raccontare[aria-selected=true]{color:var(--tone-create)}
html[data-al-mode] :is(.area-visual figcaption span,.detail-visual figcaption){background:var(--al-caption);color:var(--al-caption-ink);border-color:var(--line)}
html[data-al-mode] .status{background:var(--al-soft);color:var(--muted);border-color:var(--line)}
html[data-al-mode] :is(.focus-card,.editor-overview,.request-context,.project-tile.listener,.project-insight.listening){background:var(--al-dark);color:var(--al-dark-ink)}
html[data-al-mode] :is(.focus-card,.request-context){--section-accent:var(--al-dark-blue)}
html[data-al-mode] .editor-overview{--section-accent:var(--al-dark-purple)}
html[data-al-mode] :is(.focus-card>p,.editor-overview>p,.request-context>p,.request-context dd,.project-tile.listener>p,.project-insight.listening p){color:var(--al-dark-muted)}
html[data-al-mode] .focus-card p:not(.eyebrow){color:var(--al-dark-muted)}
html[data-al-mode] :is(.focus-card>.eyebrow,.editor-overview>.eyebrow,.project-tile.listener .eyebrow,.project-insight.listening .eyebrow,.project-insight.listening .insight-bottom){color:var(--al-dark-purple)}
html[data-al-mode] .project-tile.listener .status{background:transparent;color:var(--al-dark-muted);border-color:#879abb}
html[data-al-mode] .other-projects h2{color:var(--tone-observe)}
html[data-al-mode] :is(.contact-button,.primary-button){background:var(--al-action);color:var(--al-action-ink)}
html[data-al-mode] :is(.contact-button,.primary-button):hover{background:var(--al-action-hover)}
html[data-al-mode] :is(.field input,.field select,.field textarea,#request-preview){background:var(--al-input);color:var(--ink);border-color:var(--al-field-line)}
html[data-al-mode] :is(.field input,.field textarea)::placeholder{color:var(--muted)}
html[data-al-mode] .secondary-button{background:var(--al-surface);color:var(--blue);border-color:var(--al-field-line)}
html[data-al-mode] .skip-link{background:var(--al-surface);color:var(--ink)}
html[data-al-mode] .area-help{border-color:var(--line)}
html[data-al-mode=notte] :is(.home-intro,.request-heading):before{opacity:.07}
html[data-al-mode=notte] .detail-visual{background:var(--al-surface)}
html[data-al-mode=notte] .detail-grid .quiet-card{border-top-color:var(--line)}
html[data-al-contrast=high] :is(.home-intro,.request-heading,.request-context):before{display:none}
html[data-al-contrast=high] :is(.showcase,.project-tile,.research-grid>a,.quiet-card,.three-points article,.project-insight,.editor-overview,.focus-card,.request-context,.request-card,.process-list li){border:1px solid var(--line);box-shadow:none}
html[data-al-contrast=high] .area-tabs button[aria-selected=true]{outline:2px solid var(--blue);outline-offset:-2px}
html[data-al-contrast=high] :is(.text-link,.footer-contact,.next-link,.inquiry-link strong){text-decoration:underline;text-underline-offset:.2em}
html[data-al-mode=notte] ::selection{background:#c6daff;color:#101e32}
html[data-al-font=ampio]{--al-font-family:Verdana,Geneva,sans-serif}
html[data-al-font=classico]{--al-font-family:Georgia,"Times New Roman",serif}
html:is([data-al-font=ampio],[data-al-font=classico]) body,
html:is([data-al-font=ampio],[data-al-font=classico]) body *{font-family:var(--al-font-family)!important}
html[data-al-font] :is(h1,h2,h3,p,summary,legend,label,a,button){overflow-wrap:anywhere}

/* The launcher stays in the header; the panel does not change page height. */
.accessibility-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid var(--al-field-line);border-radius:24px;background:var(--al-surface);color:var(--ink);font-size:.8125rem;line-height:1.3}
.accessibility-toggle[hidden],.accessibility-panel[hidden]{display:none}
.al-accessibility-symbol{font-size:1.05rem;font-weight:600;color:var(--blue);letter-spacing:-.07em}
.accessibility-toggle:hover,.accessibility-toggle[aria-expanded=true]{border-color:var(--blue);background:var(--al-soft)}
.accessibility-panel{position:fixed;z-index:50;top:82px;right:max(16px,calc((100vw - 1160px)/2));width:min(410px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--al-field-line);border-radius:19px;background:var(--al-surface);color:var(--ink);box-shadow:0 16px 60px #06142c38;font-size:.9375rem;line-height:1.5}
.al-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}
.al-panel-heading h2{font-size:1.45rem;line-height:1.2;font-weight:600;letter-spacing:-.035em}
.al-close{background:var(--al-soft);color:var(--ink);border:1px solid var(--al-field-line);border-radius:50%;width:36px;min-height:36px;flex-shrink:0;font-size:1.5rem;line-height:1}
.al-panel-description{margin:12px 0 20px;color:var(--muted);font-size:.8125rem;line-height:1.5}
.al-preference{border:0;padding:0;margin:0 0 19px;min-width:0}
.al-preference legend{padding:0;margin-bottom:9px;color:var(--ink);font-size:.875rem;font-weight:600}
.al-size-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.al-size-controls button{background:var(--al-soft);color:var(--ink);border:1px solid var(--al-field-line);border-radius:10px;min-width:56px;min-height:44px;font-size:1.15rem}
.al-size-controls button:disabled{opacity:.45;cursor:default}
.al-size-controls output{font-size:1rem;font-variant-numeric:tabular-nums}
.al-options{display:flex;flex-wrap:wrap;gap:7px}
.al-option{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 10px;border:1px solid var(--al-field-line);border-radius:9px;flex:1;font-size:.8125rem;cursor:pointer}
.al-option:has(input:checked){background:var(--al-soft);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.al-option input,.al-contrast-option input{width:17px;height:17px;flex-shrink:0;margin:0;accent-color:var(--al-action)}
.al-contrast-option{display:flex;align-items:center;gap:9px;padding:3px 0 16px;cursor:pointer;font-size:.9375rem;line-height:1.5}
.al-reset{display:block;background:none;border:0;color:var(--blue);padding:9px 0;text-decoration:underline;text-underline-offset:4px;font-size:.8125rem;min-height:40px}
.al-storage-message{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:13px}
html[data-al-font] :is(.al-font-lineare,.al-font-lineare span){font-family:system-ui,sans-serif!important}
html[data-al-font] :is(.al-font-ampio,.al-font-ampio span){font-family:Verdana,sans-serif!important}
html[data-al-font] :is(.al-font-classico,.al-font-classico span){font-family:Georgia,serif!important}
.accessibility-panel :is(button,input):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.site-header .header-inner{gap:18px}
@media(max-width:760px){
 .site-header .header-inner{gap:9px}
 .accessibility-toggle{width:38px;min-height:38px;padding:0;margin-left:auto}
 .accessibility-toggle>span:not(.al-accessibility-symbol){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .site-header .contact-button{margin-left:0}
 .accessibility-panel{top:12px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 24px);padding:21px}
 html[data-al-contrast=high] .detail-visual{opacity:1;background:none}
 html[data-al-contrast=high] .detail-head>.detail-visual{display:none}
 html[data-al-contrast=high] .page-strutture .detail-head>.detail-visual{display:block}
}
@media(max-width:380px){.site-header .contact-button{font-size:.7rem;padding:7px 9px;gap:7px}}

/* Enlarged text reflows instead of being clipped to a fixed screen. */
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .header-inner{flex-wrap:wrap}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .site-header nav{order:2;width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px 18px}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .site-header nav a{white-space:normal;padding:10px 0}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .site-header nav a[aria-current]:after{bottom:0}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .brand{white-space:normal}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .brand-lockup{min-width:0}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) :is(.showcase-bar,.section-head){flex-wrap:wrap;align-items:start}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-tabs{flex-wrap:wrap}
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) :is(.area-tabs button,.primary-button,.contact-button){white-space:normal}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) :is(.detail-head,.detail-grid,.editorial-layout,.editor-story,.project-grid,.research-grid,.three-points,.request-layout){grid-template-columns:minmax(0,1fr)}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .process-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-panel{grid-template-columns:minmax(0,1fr)}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-copy{max-width:none;padding:26px}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-visual{height:270px;margin:0 18px 15px}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-visual figcaption{position:static;padding:16px;background:var(--al-surface);transform:none}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-visual{height:auto;min-height:220px}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .area-visual img{position:static;height:220px}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) :is(.form-row,.other-projects){grid-template-columns:minmax(0,1fr)}
html[data-al-size] :is(.area-copy,.project-tile,.feature-list article>div,.editor-steps li>div,.research-grid>a>div,.research-grid>a>span,.detail-grid article,.three-points article){min-width:0}
html:is([data-al-font=ampio],[data-al-font=classico]) .home-intro .hero-brand,
html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .home-intro .hero-brand{flex-wrap:wrap}
html[data-al-size] .hero-wordmark{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){
 html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .accessibility-toggle{width:44px;min-height:44px}
 html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .brand{max-width:calc(100% - 60px)}
 html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .section-head>.text-link{white-space:normal}
 html:is([data-al-size="125"],[data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .process-list li{grid-template-columns:max-content minmax(0,1fr)}
 html[data-al-size] .al-option{flex-basis:auto}
}
