/* E1.9-R3 — Authoritative, render-blocking cascade for this page.
   Original ordered styles are bundled together before the first script.
   Font families, weights, sizes, media queries and model geometry are unchanged.
   No font file or external provider is added.
*/

/* Inherited cascade: home-e12-r9keys.df0741639883.css */
/* Ciro Chiadò — E1.1. Home only. System fonts, local assets, progressive enhancement. */
:root{color-scheme:dark;--night:#14161c;--night-raised:#1e212c;--night-soft:#292c3b;--paper:#f3f3f6;--paper-high:#fafafd;--ink:#1e2334;--muted:#afb3c6;--ink-muted:#52586c;--accent:#b3aff7;--accent-deep:#554099;--blue:#9dc7fc;--line:rgba(209,211,238,.22);--line-light:rgba(44,42,69,.22);--wash:#dedbf1;--art-one:#a9ceff;--art-two:#a399e5;--header-height:100px;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--ease:cubic-bezier(.2,.75,.2,1);--hero-glow:rgba(156,148,240,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:19px;line-height:1.65;color:var(--paper);background:var(--night);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{-webkit-touch-callout:default}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.62}button,input{border-radius:0}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500;line-height:1.06;letter-spacing:-.06em}h1{font-weight:540}em{font-style:italic;font-weight:480;letter-spacing:-.075em}p{font-weight:400}img,svg{max-width:100%;display:block}button{border:0;background:transparent}a,button,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.section-light :focus-visible{outline-color:var(--accent-deep)}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--night)}.wrap{width:min(100% - 112px,1568px);margin-inline:auto}.eyebrow{font:500 14px/1.6 var(--mono);letter-spacing:.055em}.skip-link{position:fixed;z-index:100;left:24px;top:-100px;background:var(--paper);color:var(--ink);padding:12px 24px}.skip-link:focus{top:12px}.text-link{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;min-height:52px;padding-bottom:10px;border-bottom:1px solid var(--line-light);font-size:18px;font-weight:550}.text-link span{font-size:28px;transition:transform .25s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{border-color:var(--line)}.e11-header{position:relative;z-index:30;border-bottom:1px solid var(--line);background:var(--night)}.header-inner{min-height:var(--header-height);display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:206px;height:auto}.menu{display:flex;gap:clamp(18px,2vw,32px);margin-left:auto}.menu a{font-size:17px;padding:10px 0;position:relative;white-space:nowrap;color:var(--muted)}.menu a:hover,.menu a[aria-current]{color:var(--paper)}.menu a:after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.menu a:hover:after,.menu a[aria-current]:after{transform:scaleX(1)}.header-cta{display:flex;align-items:center;justify-content:space-between;gap:38px;margin-left:20px;padding:12px 0 12px 34px;min-height:60px;border-left:1px solid var(--line);font-size:17px}.header-cta span{font-size:36px;color:var(--accent)}.mobile-toggle{display:none;min-width:52px;min-height:52px;border:1px solid var(--line);font-size:26px}
/* Monumental type, physical workspace. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 96% 15%,var(--hero-glow),transparent 44%),var(--night)}.hero>.wrap{position:relative;z-index:1}.hero-meta{display:flex;justify-content:space-between;align-items:center;padding:30px 0 38px;color:var(--muted)}.hero-meta p:first-child{display:flex;align-items:center;gap:12px}.status-dot{width:8px;height:8px;background:var(--blue);border-radius:50%;box-shadow:0 0 18px #a5cfff77}.meta-location{display:flex;gap:40px}.hero-heading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:40px;align-items:end;padding:18px 0 70px}.hero h1{font-size:clamp(86px,9.3vw,164px);line-height:.93;letter-spacing:-.075em;position:relative}.hero h1 em{font-size:1.25em;line-height:1.02;color:var(--accent);display:inline-block;margin-left:-.035em}.title-orbit{display:inline-block;width:.7em;height:.7em;margin-left:.35em;vertical-align:baseline;transform:rotate(-12deg)}.title-orbit svg{width:100%;height:100%;fill:none;stroke:var(--blue);stroke-width:2}.hero-intro{max-width:465px;padding-bottom:12px}.hero-intro>.eyebrow{color:var(--accent);margin-bottom:22px;display:block}.hero-intro>p:first-of-type{font-size:30px;line-height:1.4;letter-spacing:-.03em}.hero-intro strong{font-weight:500}.hero-description{font-size:20px;line-height:1.65;color:var(--muted);margin-top:18px;max-width:450px}.intro-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px 32px;margin-top:28px}.intro-anchor{font-size:16px;color:var(--muted);display:flex;gap:12px;padding:10px 0}.intro-anchor:hover{color:var(--paper)}.hero-arc{position:absolute;z-index:-1;border:1px solid var(--line);border-radius:50%;width:1350px;height:1350px;right:-830px;top:-550px;pointer-events:none;transform:rotate(-20deg)}.hero-arc.arc-two{width:1230px;height:1230px;right:-770px;top:-500px;border-width:70px;border-color:color-mix(in srgb,var(--accent) 5%,transparent)}.lab-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:0 0 32px;border-top:1px solid var(--line);padding-top:28px}.lab-heading h2{font-size:36px;letter-spacing:-.045em;line-height:1.18;margin-top:13px}.lab-heading h2 span{color:var(--muted)}.lab-heading>p{font-size:17px;color:var(--muted);line-height:1.6;text-align:right;max-width:380px}.lab{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:264px minmax(0,1fr);background:linear-gradient(145deg,var(--night-raised),var(--night))}.lab-console{padding:16px 0 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.lab-tabs{display:flex;flex-direction:column}.lab-tabs>button{position:relative;display:grid;grid-template-columns:26px 1fr 20px;gap:10px;align-items:start;text-align:left;padding:28px 20px 28px 18px;border-bottom:1px solid var(--line);font-size:21px;line-height:1.3;min-height:116px;color:var(--muted);transition:background .25s,color .25s}.lab-tabs>button[aria-selected="true"]{background:var(--accent);color:var(--night)}.lab-tabs>button:hover:not([aria-selected="true"]){background:var(--night-soft);color:var(--paper)}.lab-tabs button:focus-visible{outline-offset:-5px;outline-color:var(--blue)}.lab-tabs button[aria-selected="true"]:focus-visible{outline-color:var(--night)}.tab-number{font:14px/1.8 var(--mono)}.lab-tabs small{display:block;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;margin-top:8px}.tab-arrow{font-size:23px}.console-bottom{padding:36px 24px 4px}.console-cross{font-size:70px;line-height:1;color:var(--accent)}.console-bottom p{font-size:16px;line-height:1.6;margin-top:20px;color:var(--muted)}.console-bottom .eyebrow{display:block;font-size:13px;margin-top:28px;color:var(--muted)}.lab-workspace{min-width:0}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.workspace-label{display:flex;gap:12px;align-items:center}.workspace-label i{width:7px;height:7px;background:var(--blue);border-radius:50%}.workspace-dimension{white-space:nowrap;font:14px/1.6 var(--mono)}.workspace-dimension output{color:var(--paper)}.workspace-dimension>span{padding-left:14px}.demo-scene{height:655px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;padding:32px;perspective:1600px;background:radial-gradient(ellipse at 54% 65%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%),radial-gradient(var(--line) .7px,transparent .7px);background-size:auto,22px 22px;transition:background-color .3s}.demo-browser{width:100%;max-width:930px;flex-shrink:0;position:relative;z-index:2;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;overflow:hidden;box-shadow:0 36px 55px #0005;transition:width .65s var(--ease),transform .65s var(--ease);transform:rotateX(3deg) rotateY(-5deg) rotateZ(1deg);transform-origin:center}.demo-browser[data-device="tablet"]{width:min(590px,calc(100% - 48px));max-width:100%}.demo-browser[data-device="mobile"]{width:340px;max-width:100%;transform:none}.lab[data-mode="responsive"] .demo-browser{transform:none}.browser-bar{height:39px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#363a4a;color:#dfe1ee;font:13px/1.3 var(--mono);gap:12px}.browser-dots{display:flex;gap:5px}.browser-dots i{display:block;background:#8b8da4;width:6px;height:6px;border-radius:50%}.demo-viewport{container-type:inline-size;container-name:specimen;width:100%}.specimen{--demo-bg:#f0eff5;--demo-ink:#252736;--demo-muted:#575c70;background:var(--demo-bg);color:var(--demo-ink);position:relative;transition:background .3s,color .3s}.demo-browser[data-tone="dark"] .specimen{--demo-bg:#202431;--demo-ink:#f4f3fa;--demo-muted:#bdc1d7}.specimen-header{margin:0 28px;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid color-mix(in srgb,var(--demo-ink) 17%,transparent);font-size:14px}.specimen-mark{font-size:38px;font-weight:650;letter-spacing:-.11em;line-height:1}.specimen-mark span{color:var(--accent-deep)}.specimen-nav{font:13px/1.5 var(--mono)}.specimen-body{display:grid;grid-template-columns:1fr 1fr;padding:40px 30px;gap:12px;position:relative;min-height:344px;align-items:center}.specimen-copy{position:relative;z-index:3}.specimen-copy .eyebrow{font-size:12px;color:var(--demo-muted);letter-spacing:.01em}.specimen h3{font-size:clamp(44px,7.4cqi,74px);line-height:.99;font-weight:560;letter-spacing:-.065em;margin:16px 0 22px}.specimen h3 em{color:var(--accent-deep)}.demo-browser[data-tone="dark"] h3 em{color:var(--accent)}.specimen-copy p{font-size:16px;line-height:1.65;color:var(--demo-muted)}.specimen-action{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:13px 18px;font-size:15px;background:var(--demo-ink);color:var(--demo-bg);margin-top:24px;transition:background .25s,transform .25s}.specimen-action:disabled{opacity:1}.specimen-action:not(:disabled):hover{transform:translateY(-3px);background:var(--accent-deep);color:white}.specimen-action:focus-visible{outline-color:var(--accent-deep)}.specimen-art{height:300px;position:relative;display:grid;place-items:center;perspective:1000px;pointer-events:auto}.sculpture{width:100%;height:100%;display:grid;place-items:center;position:relative;transform:rotate(-4deg);transition:transform .55s var(--ease);will-change:auto}.sculpture svg{width:100%;max-width:100%;height:100%;filter:drop-shadow(6px 20px 12px #313c672f)}.art-shadow{position:absolute;width:90%;height:26px;bottom:4px;border-radius:50%;background:color-mix(in srgb,var(--art-two) 32%,transparent);filter:blur(14px);transform:rotate(-20deg)}.art-coordinate{position:absolute;bottom:4px;right:0;font:11px/1.4 var(--mono);color:var(--demo-muted)}.specimen-footer{margin:0 28px;border-top:1px solid color-mix(in srgb,var(--demo-ink) 17%,transparent);padding:18px 0;display:flex;justify-content:space-between;font-size:13px;gap:12px;color:var(--demo-muted)}.layer-ghost{position:absolute;inset:66px 60px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent);border-radius:8px;transform:translate(0,0);opacity:0;transition:transform .65s var(--ease),opacity .4s}.is-exploded .ghost-one{opacity:.65;transform:translate(20px,26px) rotate(3deg)}.is-exploded .ghost-two{opacity:.3;transform:translate(35px,43px) rotate(5deg)}.is-exploded .demo-browser{transform:translate(-8px,-4px) rotateX(4deg) rotateY(-5deg) rotateZ(-1deg)}.blueprint-label{position:absolute;z-index:4;color:var(--accent);font:13px var(--mono);pointer-events:none;opacity:0;transition:opacity .3s}.blueprint-top{top:19px;left:36px}.blueprint-bottom{bottom:19px;right:36px}.show-grid .blueprint-label{opacity:1}.show-grid [data-layer]{outline:1px dashed var(--accent-deep);outline-offset:-3px}.show-grid .specimen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / 8 - 1px),#6d64ac3b calc(100% / 8 - 1px),#6d64ac3b calc(100% / 8)),linear-gradient(#9785e816,#9785e816)}.lab-controls{border-top:1px solid var(--line);padding:24px 28px;min-height:155px}.lab-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.panel-copy{max-width:360px}.panel-copy strong{display:block;font-weight:550;font-size:19px;line-height:1.3}.panel-copy p{font-size:15px;color:var(--muted);margin-top:6px;line-height:1.5}.panel-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.control{border:1px solid #757b90;padding:10px 16px;min-height:46px;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;white-space:nowrap}.control:hover{border-color:var(--accent);background:var(--night-soft)}.control[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--night)}.device-options{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.device-options button{min-height:48px;padding:8px 12px;border:1px solid #757b90;font-size:15px}.device-options button[aria-pressed="true"]{color:var(--night);background:var(--accent);border-color:var(--accent)}.demo-toast{position:absolute;inset:auto 20px 25px auto;max-width:calc(100% - 40px);display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--night);color:var(--paper);border:1px solid var(--accent);font-size:16px;z-index:8;box-shadow:0 8px 22px #0003;animation:toast-in .3s var(--ease)}.demo-toast span{color:var(--accent)}.noscript-note{padding:24px;font-size:17px}.hero-close{display:flex;justify-content:space-between;gap:25px;padding:28px 0 34px;color:var(--muted)}.hero-close>a{display:flex;align-items:center;gap:26px;font-size:17px;color:var(--paper)}.hero-close>a>span{font-size:28px;color:var(--accent)}
/* Native layout adaptation inside the interactive frame. No transform-scale typography. */
@container specimen (max-width:580px){.specimen-body{grid-template-columns:1fr;min-height:450px;padding:22px;overflow:hidden}.specimen-header{margin-inline:22px;padding:15px 0}.specimen-nav{font-size:12px}.specimen h3{font-size:49px;margin:12px 0 16px}.specimen-copy{max-width:80%}.specimen-copy>.eyebrow{font-size:12px;max-width:200px;display:block}.specimen-copy p{font-size:15px}.specimen-art{position:absolute;width:210px;height:240px;right:-38px;bottom:30px;z-index:1;opacity:.85}.specimen-copy{z-index:2}.specimen-action{font-size:14px;min-height:48px;gap:20px;margin-top:24px}.specimen-footer{margin-inline:22px;padding:13px 0;font-size:12px}.art-coordinate{display:none}.specimen-body .sculpture{opacity:.8}.specimen-copy p{max-width:180px}}
/* Section rhythm: light architecture / dark access / light principles. */
.chapter-nav{position:sticky;top:0;z-index:25;color:var(--ink);background:var(--paper);border-block:1px solid var(--line-light);box-shadow:0 8px 20px #00000005}.chapter-nav>.wrap{display:flex;justify-content:space-between;gap:22px}.chapter-nav a{font-size:16px;min-height:70px;display:flex;gap:16px;align-items:center;position:relative;white-space:nowrap;color:var(--ink-muted)}.chapter-nav a>span{font:13px var(--mono);color:var(--accent-deep)}.chapter-nav a:after{content:"";height:3px;position:absolute;bottom:0;width:100%;background:var(--accent-deep);transform:scaleX(0);transform-origin:left;transition:transform .3s}.chapter-nav a[aria-current]:after,.chapter-nav a:hover:after{transform:scaleX(1)}.chapter-nav a[aria-current]{color:var(--ink)}.chapter-nav a:focus-visible{outline-color:var(--accent-deep);outline-offset:-4px}.section-light{background:var(--paper);color:var(--ink);color-scheme:light}.section-meta{display:flex;justify-content:space-between;gap:24px;padding-bottom:36px;border-bottom:1px solid var(--line)}.section-light .section-meta{border-color:var(--line-light)}.section-meta .eyebrow:last-child{color:var(--muted)}.section-light .section-meta .eyebrow:last-child{color:var(--ink-muted)}.expertise{padding:75px 0 0}.expertise-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:100px;padding-top:76px}.section-intro h2{font-size:clamp(62px,5.6vw,94px);line-height:1.04}.section-intro h2 em{color:var(--accent-deep)}.section-intro>p{font-size:22px;line-height:1.65;color:var(--ink-muted);max-width:420px;margin:30px 0}.code-monogram{display:flex;gap:18px;align-items:center;font:180px/1.2 var(--mono);color:var(--accent-deep);letter-spacing:-.1em;margin-top:62px}.code-monogram span{font:italic 150px/1 Georgia,serif;color:var(--ink)}.expertise-list{min-width:0}.expertise-item{border-bottom:1px solid var(--line-light)}.expertise-item:first-child{border-top:1px solid var(--line-light)}.expertise-item>summary{display:grid;grid-template-columns:36px 1fr 32px;align-items:center;gap:18px;padding:30px 0;list-style:none;cursor:pointer;font-size:29px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.expertise-item summary::-webkit-details-marker{display:none}.item-number{align-self:start;padding-top:4px;font:14px/1.7 var(--mono);color:var(--accent-deep)}.expertise-item summary small{display:block;font:14px/1.5 var(--mono);margin-top:12px;letter-spacing:.01em;color:var(--ink-muted)}.plus{display:block;width:25px;height:25px;position:relative}.plus:before,.plus:after{content:"";width:24px;height:1px;position:absolute;top:12px;left:0;background:var(--ink);transition:transform .3s}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.expertise-content{padding:0 0 35px 54px}.expertise-content p{font-size:20px;line-height:1.65;color:var(--ink-muted);margin-bottom:28px}.expertise-content>.text-link{font-size:18px}.code-window{background:var(--night);color:var(--paper);padding:26px 28px;margin-bottom:24px;position:relative;box-shadow:10px 10px 0 var(--wash)}.code-top{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px;color:var(--muted)}.code-top .eyebrow{font-size:12px;max-width:240px}.code-top>span:last-child{font-size:23px;color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.8 var(--mono);margin:20px 0 0}pre span{color:var(--accent)}pre b{color:var(--blue);font-weight:500}.section-tail{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--line);padding:34px 0;margin-top:72px}.section-light .section-tail{border-color:var(--line-light)}.section-tail p{font-size:17px;color:var(--muted);max-width:670px}.section-light .section-tail p{color:var(--ink-muted)}.section-tail .text-link{font-size:17px;flex-shrink:0;border:0;padding:0}.access-section{padding:75px 0 0;position:relative;isolation:isolate;overflow:hidden;background:var(--night-raised)}.access-title{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:66px 0 60px}.access-title h2{font-size:clamp(52px,4.7vw,78px);max-width:920px;line-height:1.14}.access-title h2 em{color:var(--accent)}.access-title>p{max-width:320px;color:var(--muted);font-size:18px;margin-bottom:8px}.access-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}.key-stage{position:relative;height:530px;perspective:1100px;transform-style:preserve-3d}.keycap{width:280px;height:240px;position:absolute;left:0;top:60px;border-radius:25px;color:var(--night);background:linear-gradient(140deg,var(--paper-high),var(--accent));border:1px solid #ffffff60;box-shadow:1px 2px 0 var(--wash),2px 4px 0 var(--wash),4px 7px 0 var(--wash),6px 10px 0 var(--wash),8px 14px 0 var(--wash),12px 20px 0 color-mix(in srgb,var(--accent) 65%,#303550),26px 50px 60px #0006;transform:rotateX(38deg) rotateY(-10deg) rotateZ(-25deg);display:flex;justify-content:space-between;align-items:start;padding:26px 32px;font-size:38px;letter-spacing:-.04em;transition:transform .25s var(--ease),box-shadow .25s}.keycap>span:last-child{align-self:end;font-size:65px;line-height:1}.key-enter{width:275px;top:245px;left:185px;background:linear-gradient(140deg,var(--blue),var(--accent));z-index:2}.key-stage.key-tab-active .key-tab{transform:translateY(13px) rotateX(38deg) rotateY(-10deg) rotateZ(-25deg)}.key-stage.key-enter-active .key-enter{transform:translateY(13px) rotateX(38deg) rotateY(-10deg) rotateZ(-25deg)}.key-caption{position:absolute;left:16px;bottom:0;color:var(--muted);font:14px var(--mono)}.keyboard-demo{min-width:0;border-top:1px solid var(--line);padding-top:30px}.keyboard-demo>.eyebrow{color:var(--accent)}.keyboard-demo h3{font-size:46px;line-height:1.15;margin:22px 0}.keyboard-demo h3>span{color:var(--muted)}.keyboard-demo>p:not(.privacy-demo){color:var(--muted);font-size:18px}.keyboard-demo label{display:block;font-size:17px;margin:28px 0 10px;color:var(--paper)}.keyboard-demo label span{font-size:15px;color:var(--muted)}.keyboard-fields{display:flex;gap:10px}.keyboard-fields input{min-width:0;width:100%;font-size:19px;min-height:64px;padding:12px 18px;color:var(--paper);background:var(--night);border:1px solid #777c94}.keyboard-fields input::placeholder{color:var(--muted)}.keyboard-fields button{display:flex;gap:20px;align-items:center;justify-content:space-between;min-width:148px;padding:12px 20px;font-size:18px;background:var(--accent);color:var(--night);font-weight:550}.keyboard-fields button>span{font-size:28px}.keyboard-demo .demo-response{border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:14px;min-height:99px;line-height:1.6}.privacy-demo{color:var(--muted);font-size:14px}.access-orbit{position:absolute;z-index:-1;border:1px solid var(--line);border-radius:50%;width:1100px;height:1100px;left:-850px;bottom:-300px}.detail-section{padding:75px 0 0}.detail-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:65px 0}.detail-heading h2{font-size:clamp(70px,7.2vw,112px);line-height:1.04}.detail-heading h2 em{color:var(--accent-deep)}.detail-heading>p{max-width:400px;font-size:21px;color:var(--ink-muted);padding-bottom:12px}.principles-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;align-items:start}.principle-choices{display:flex;flex-direction:column;border-top:1px solid var(--line-light)}.principle-choices>button{display:grid;grid-template-columns:30px 1fr 30px;gap:15px;align-items:center;text-align:left;color:var(--ink-muted);padding:26px 12px 26px 0;border-bottom:1px solid var(--line-light);min-height:95px;font-size:24px;line-height:1.3;letter-spacing:-.035em;transition:padding .3s,background .3s}.principle-choices>button>span{font:14px var(--mono);color:var(--accent-deep)}.principle-choices>button>i{font-style:normal;color:var(--accent-deep);opacity:0;transition:opacity .3s}.principle-choices>button[aria-pressed="true"]{color:var(--ink);background:var(--wash);padding-left:16px}.principle-choices>button[aria-pressed="true"] i,.principle-choices>button:hover i{opacity:1}.principle-panels{min-width:0}.principle-panel{background:var(--paper-high);border:1px solid var(--line-light);display:grid;grid-template-columns:1fr 1fr;min-height:390px;isolation:isolate;position:relative}.principle-panel+.principle-panel{margin-top:24px}.principle-art{display:flex;align-items:center;justify-content:center;background:var(--wash);min-height:360px;position:relative;overflow:hidden;padding:25px}.art-type>span:first-child{font-size:150px;line-height:1;letter-spacing:-.13em;margin-left:-.08em;color:var(--ink)}.art-type>span:first-child>span{font-family:Georgia,serif;font-style:italic;color:var(--accent-deep)}.type-baseline{height:1px;background:var(--accent-deep);position:absolute;left:24px;right:24px;top:64%}.type-baseline:before,.type-baseline:after{content:"";position:absolute;width:1px;height:15px;background:var(--accent-deep);top:-7px}.type-baseline:after{right:0}.art-ruler{position:absolute;bottom:26px;left:28px;font:12px/1.8 var(--mono);color:var(--ink-muted);max-width:220px}.principle-description{padding:30px 28px;align-self:center}.principle-description .eyebrow{color:var(--accent-deep);font-size:13px}.principle-description h3{font-size:34px;line-height:1.16;margin:20px 0;letter-spacing:-.045em}.principle-description p{font-size:17px;line-height:1.65;color:var(--ink-muted)}.art-path{flex-direction:column;gap:15px}.art-path>span{display:flex;align-items:center;justify-content:center;min-width:100px;padding:12px 22px;border:1px solid var(--accent-deep);font-size:21px;text-align:center;line-height:1.3}.art-path>span:last-child{font-size:35px;background:var(--accent-deep);color:var(--paper-high);border-radius:50%;min-width:65px;height:65px}.art-path>i{height:25px;width:1px;background:var(--accent-deep)}.art-stack{flex-direction:column;padding:20px;gap:18px;perspective:600px}.art-stack>span{width:95%;height:60px;border:1px solid var(--accent-deep);padding:12px 20px;background:var(--paper-high);transform:rotateX(28deg) rotateZ(-12deg);font:17px/2 var(--mono);color:var(--accent-deep);box-shadow:7px 9px 0 color-mix(in srgb,var(--accent-deep) 13%,transparent)}.art-space{font:110px/1 var(--mono);gap:8px;color:var(--accent-deep)}.art-space>i{font-size:50px;font-style:normal}.finale{position:relative;isolation:isolate;overflow:hidden;background:var(--night);padding:75px 0 0}.finale-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;padding-top:70px}.finale h2{font-size:clamp(95px,9vw,144px);line-height:.98}.finale h2 em{color:var(--accent)}.finale-layout p{font-size:21px;line-height:1.65;color:var(--muted);margin:30px 0 28px}.email-link{font-size:20px}.contact-orb{width:100%;aspect-ratio:1;max-width:450px;justify-self:end;display:flex;position:relative;flex-direction:column;justify-content:center;align-items:center;gap:12px;border-radius:50%;color:var(--night);background:linear-gradient(145deg,var(--blue),var(--accent));box-shadow:inset 0 0 0 1px #ffffff40,0 0 90px color-mix(in srgb,var(--accent) 6%,transparent);transition:background .3s;isolation:isolate}.contact-orb>span:not(.contact-orb-rings){z-index:1}.orb-arrow{font-size:160px;line-height:.9;font-weight:300;transition:transform .45s var(--ease)}.contact-orb>span:nth-last-child(2){font-size:34px;letter-spacing:-.04em}.contact-orb .eyebrow{font-size:12px;text-align:center;max-width:250px}.contact-orb-rings{position:absolute;inset:-20px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:50%;transition:transform .5s var(--ease)}.contact-orb-rings:before{content:"";position:absolute;inset:-22px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%}.contact-orb:hover .orb-arrow{transform:translate(12px,-12px)}.contact-orb:hover .contact-orb-rings{transform:rotateX(20deg) rotateY(15deg)}.finale-curves{position:absolute;right:-700px;top:-180px;z-index:-1;pointer-events:none}.finale-curves i{position:absolute;display:block;width:1200px;height:1200px;border:75px solid color-mix(in srgb,var(--accent) 5%,transparent);border-radius:50%;right:0;top:0}.finale-curves i:nth-child(2){width:1040px;height:1040px;right:80px;top:80px;border-color:color-mix(in srgb,var(--blue) 4%,transparent)}.finale-curves i:nth-child(3){width:880px;height:880px;right:160px;top:160px;border-width:1px;border-color:var(--line)}.e11-footer{background:var(--night);padding-top:45px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1.3fr 1fr .5fr;gap:60px;padding-bottom:50px}.footer-top p{margin-top:25px;max-width:380px;color:var(--muted);font-size:17px;line-height:1.7}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;align-content:start}.footer-top nav a,.footer-social a{font-size:17px;min-height:36px;display:flex;align-items:center}.footer-social{display:flex;flex-direction:column;gap:14px}.footer-top a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 0 38px;font-size:14px;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px;flex-wrap:wrap}.footer-bottom a{min-height:35px;display:inline-flex;align-items:center}.footer-bottom>a{color:var(--paper)}.cookie-notice{position:fixed;z-index:40;bottom:18px;left:24px;right:auto;max-width:calc(100% - 48px);display:flex;align-items:center;gap:24px;padding:18px 22px;border:1px solid var(--line-light);background:var(--paper-high);color:var(--ink);box-shadow:0 8px 25px #0003;font-size:14px}.cookie-notice>div>p{font-size:15px}.notice-links{display:flex;gap:18px;align-items:start;margin-top:4px;font-size:13px}.notice-links a,.notice-links summary{text-decoration:underline;text-underline-offset:3px;min-height:26px;cursor:pointer}.notice-links details{max-width:310px}.notice-links details p{padding-top:10px;font-size:14px;line-height:1.65}.cookie-notice button{background:var(--ink);color:var(--paper-high);padding:12px 17px;min-height:46px;font-size:14px;flex-shrink:0}.cookie-notice :focus-visible{outline-color:var(--accent-deep)}.cookie-notice.is-menu-hidden{visibility:hidden}.no-enhancement-note{padding:20px}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Two palettes; shared proportions and behavior, independent visual balancing. */
html[data-palette="biglietto"]{--night:#23252b;--night-raised:#2c2e36;--night-soft:#363943;--paper:#f5f5f3;--paper-high:#fff;--ink:#212935;--ink-muted:#515965;--muted:#c3c7d1;--accent:#a7cdf4;--accent-deep:#285c88;--blue:#b5b1ef;--wash:#e1e9ef;--art-one:#9cd4f5;--art-two:#9792dc;--line:rgba(211,215,229,.23);--line-light:rgba(33,53,77,.22);--hero-glow:rgba(146,174,219,.08)}
html[data-palette="biglietto"] .hero h1 em,html[data-palette="biglietto"] .finale h2 em{background:linear-gradient(105deg,#a9d7f5,#adb5f0);color:#afd1f5;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}html[data-palette="biglietto"] .lab-tabs>button[aria-selected="true"]{background:linear-gradient(115deg,#b8d9f0,#b9b9ee)}html[data-palette="biglietto"] .contact-orb{background:linear-gradient(145deg,#b2dff5,#a9b7eb 63%,#ada5e5)}html[data-palette="biglietto"] .hero-arc.arc-two{border-color:rgba(173,170,227,.07)}
/* Desktop / tablet / touch: never a shrunken desktop. */
@media(min-width:1700px){.lab{grid-template-columns:310px minmax(0,1fr)}.demo-scene{height:680px}.specimen-body{min-height:390px}.hero-intro{max-width:485px}.lab-tabs>button{font-size:24px;padding-block:32px}.lab-controls{padding-block:30px}.control{font-size:17px}.panel-copy p{font-size:17px}.device-options button{font-size:17px}.principle-panel{min-height:450px}.principle-art{min-height:450px}.principle-description h3{font-size:40px}.principle-description p{font-size:19px}}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.header-inner{gap:24px}.brand img{width:180px}.menu{gap:18px}.menu a{font-size:16px}.header-cta{display:none}.hero-heading{grid-template-columns:1.5fr 1fr;gap:28px}.hero h1{font-size:clamp(85px,10vw,118px)}.hero-intro>p:first-of-type{font-size:26px}.hero-description{font-size:19px}.lab{grid-template-columns:220px minmax(0,1fr)}.lab-tabs>button{font-size:19px;padding-left:14px;padding-right:14px;grid-template-columns:22px 1fr 18px}.lab-tabs small{font-size:13px}.demo-scene{height:655px;padding:24px}.lab-panel{flex-direction:column;align-items:stretch;gap:20px}.panel-copy{max-width:none}.panel-actions{flex-direction:row;flex-wrap:wrap}.lab-controls{min-height:188px}.device-options{justify-content:start}.expertise-layout{gap:60px}.access-layout{gap:55px}.keycap{width:230px;height:210px}.key-enter{left:125px;top:235px}.access-title{display:block}.access-title>p{max-width:580px;margin-top:25px;font-size:20px}.principles-layout{gap:40px;grid-template-columns:1fr 1.5fr}.principle-panel{grid-template-columns:1fr}.principle-art{min-height:230px}.principle-description{padding:28px}.principle-description h3 br{display:none}.art-ruler{bottom:14px}.type-baseline{top:76%}.art-path{flex-direction:row}.art-path>i{width:15px;height:1px}.art-path>span{font-size:17px;min-width:70px}.art-stack>span{width:70%;height:42px;padding:6px 18px;line-height:1.6}.contact-orb{max-width:370px}.orb-arrow{font-size:140px}.finale h2{font-size:clamp(80px,10vw,130px)}.footer-top{gap:40px}}
@media(max-width:900px){:root{--header-height:90px}.wrap{width:calc(100% - 48px)}.header-inner{flex-wrap:wrap;gap:0;justify-content:space-between;position:relative;padding:16px 0}.brand img{width:185px}.menu{margin:18px 0 0;width:100%;justify-content:flex-start;flex-wrap:wrap;padding:10px 0}.menu a{font-size:19px;min-height:46px}.nav-ready .mobile-toggle{display:inline-grid;place-items:center}.nav-ready .menu{display:none}.nav-ready .menu.open{display:flex;position:absolute;top:calc(100% - 1px);left:-24px;right:-24px;width:auto;margin:0;padding:18px 28px 28px;background:var(--night);border-bottom:1px solid var(--line);max-height:calc(100dvh - 90px);overflow-y:auto;flex-direction:column;gap:5px;box-shadow:0 12px 18px #0003}.menu.open a{font-size:22px}.hero-meta{padding-block:23px 28px}.hero-meta .eyebrow{font-size:13px}.hero-heading{grid-template-columns:1fr 1fr;align-items:center;padding-bottom:50px}.hero h1{font-size:clamp(74px,10vw,105px)}.hero-intro>.eyebrow{font-size:12px}.hero-intro>p:first-of-type{font-size:23px}.hero-description{font-size:17px}.intro-links{margin-top:20px}.intro-links .text-link{font-size:17px}.intro-anchor{font-size:15px}.title-orbit{margin-left:.22em;width:.65em}.lab-heading h2{font-size:32px}.lab-heading>p{font-size:16px;max-width:260px}.lab{grid-template-columns:1fr}.lab-console{border-right:0;padding:0}.console-bottom{display:none}.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.lab-tabs>button{padding:20px 14px;min-height:104px;border-bottom:0;grid-template-columns:24px 1fr;gap:7px;font-size:20px}.tab-arrow{display:none}.lab-tabs small{font-size:13px;max-width:180px}.lab-tabs>button+button{border-left:1px solid var(--line)}.demo-scene{padding:36px;height:680px}.lab-panel{flex-direction:row;align-items:center;min-height:100px}.panel-copy{max-width:350px}.panel-actions{flex-direction:column}.lab-controls{min-height:150px}.hero-close .eyebrow{font-size:12px}.chapter-nav>.wrap{gap:16px}.chapter-nav a{font-size:14px;gap:7px}.chapter-nav a>span{font-size:12px}.expertise-layout{gap:40px;grid-template-columns:1fr 1.1fr}.section-intro h2{font-size:59px}.section-intro>p{font-size:20px}.code-monogram{font-size:120px;gap:8px}.code-monogram>span{font-size:100px}.expertise-item>summary{font-size:25px;grid-template-columns:26px 1fr 22px;gap:10px}.expertise-content{padding-left:0}.expertise-content p{font-size:18px}.code-window{padding:22px 18px}pre{font-size:13px}.access-layout{grid-template-columns:1fr;gap:30px}.key-stage{height:365px;max-width:500px;margin:0 auto;width:100%}.keycap{top:0;width:245px;height:190px}.key-enter{left:220px;top:105px}.key-caption{bottom:8px;left:0}.keyboard-demo{max-width:700px;width:100%;margin:auto}.keyboard-demo h3{font-size:45px}.keyboard-demo>p:not(.privacy-demo){font-size:19px}.access-title h2{font-size:55px}.section-tail{gap:24px;align-items:start}.section-tail p{font-size:16px}.section-tail .text-link{font-size:16px}.detail-heading{gap:30px}.detail-heading h2{font-size:80px}.detail-heading>p{font-size:19px;max-width:300px}.principles-layout{grid-template-columns:1fr;gap:28px}.principle-choices{display:grid;grid-template-columns:1fr 1fr;border:0;gap:0 24px}.principle-choices>button{font-size:23px;min-height:84px}.principle-panel{grid-template-columns:1fr 1fr;min-height:340px}.principle-art{min-height:340px}.principle-description h3{font-size:35px}.art-path{flex-direction:column}.art-path>i{width:1px;height:15px}.art-stack>span{width:100%}.finale-layout{gap:40px;grid-template-columns:1.2fr 1fr}.finale h2{font-size:90px}.finale-layout p{font-size:19px}.email-link{font-size:17px;gap:12px}.contact-orb>span:nth-last-child(2){font-size:28px}.orb-arrow{font-size:100px}.contact-orb>.eyebrow{font-size:10px;max-width:180px}.footer-top{grid-template-columns:1.3fr 1fr;gap:35px}.footer-social{grid-column:1/-1;flex-direction:row;gap:30px}.footer-bottom{align-items:start;flex-wrap:wrap}.footer-bottom>div{gap:18px}.cookie-notice{bottom:12px;left:16px;max-width:calc(100% - 32px);gap:18px}}
@media(max-width:620px){html{scroll-padding-top:80px}:root{--header-height:82px}body{font-size:18px}.wrap{width:calc(100% - 40px)}.header-inner{padding-block:12px;min-height:82px}.brand img{width:180px}.mobile-toggle{min-height:48px;min-width:48px}.nav-ready .menu.open{left:-20px;right:-20px;max-height:calc(100dvh - 82px);padding-inline:24px}.hero-meta{padding:22px 0 30px}.hero-meta .eyebrow{font-size:12px;letter-spacing:0}.meta-location{display:none}.hero-heading{display:block;padding-top:0;padding-bottom:40px}.hero h1{font-size:clamp(65px,12.3vw,82px);letter-spacing:-.075em;line-height:.97}.hero h1 em{font-size:1.35em}.title-orbit{width:.63em;height:.63em;margin-left:.22em}.hero-intro{padding:28px 0 0;max-width:none}.hero-intro>.eyebrow{display:none}.hero-intro>p:first-of-type{font-size:25px;line-height:1.4}.hero-description{font-size:18px;line-height:1.65;margin-top:14px}.intro-links{display:flex;gap:18px 26px;margin-top:20px}.intro-links .text-link{font-size:18px;gap:20px;min-height:48px;padding-bottom:7px}.intro-anchor{font-size:16px;padding:8px 0}.hero-arc{width:700px;height:700px;right:-500px;top:-200px}.hero-arc.arc-two{width:600px;height:600px;right:-460px;top:-130px;border-width:40px}.lab-heading{display:block;padding-top:24px;padding-bottom:22px}.lab-heading .eyebrow{font-size:13px}.lab-heading h2{font-size:33px;margin-top:12px}.lab-heading>p{max-width:100%;text-align:left;font-size:16px;margin-top:14px;line-height:1.6}.lab{margin-inline:-20px;border-inline:0}.lab-tabs>button{display:flex;gap:0;flex-direction:column;align-items:start;padding:17px 10px 15px;min-height:90px;font-size:16px;border-bottom:0}.lab-tabs small{display:none}.tab-number{font-size:12px;margin-bottom:6px}.lab-tabs>button:first-child{padding-left:20px}.workspace-top{padding:16px 20px;gap:8px;font-size:12px}.workspace-label{gap:7px}.workspace-dimension{font-size:12px}.workspace-dimension>span{padding-left:2px}.demo-scene{height:640px;padding:22px 20px}.demo-browser{transform:none;border-radius:5px}.browser-bar{padding:0 12px;font-size:10px;height:32px;gap:6px}.browser-dots{gap:3px}.browser-dots i{width:4px;height:4px}.specimen-header{margin-inline:20px}.demo-browser[data-device="mobile"]{width:min(300px,calc(100% - 40px))}.demo-browser[data-device="tablet"]{width:calc(100% - 22px)}.specimen-body{min-height:440px}.lab-controls{padding:22px 20px;min-height:192px}.lab-panel{flex-direction:column;align-items:stretch;gap:17px;min-height:138px}.panel-copy strong{font-size:19px}.panel-copy p{font-size:16px;margin-top:6px}.panel-actions{flex-direction:row;gap:8px}.control{font-size:14px;gap:8px;min-height:48px;padding:10px 12px;flex:1;white-space:normal;line-height:1.3}.control span{font-size:18px;flex-shrink:0}.device-options{justify-content:start;flex-wrap:nowrap;gap:8px}.device-options>button{font-size:15px;flex:1;padding-inline:12px}.layer-ghost{inset:54px 30px}.is-exploded .demo-browser{transform:translate(-5px,-10px) rotateX(4deg) rotateY(-3deg) rotateZ(-2deg)}.is-exploded .ghost-one{transform:translate(8px,14px) rotate(2deg)}.is-exploded .ghost-two{transform:translate(13px,24px) rotate(3deg)}.blueprint-top{top:8px;left:20px}.blueprint-bottom{bottom:8px;right:20px}.blueprint-label{font-size:11px}.hero-close{padding:23px 0;gap:12px}.hero-close>a{font-size:16px;gap:18px}.hero-close>.eyebrow{display:none}.chapter-nav>.wrap{width:100%;gap:0;padding-inline:10px;justify-content:space-around}.chapter-nav a{min-height:64px;font-size:11px;flex-direction:column;justify-content:center;gap:4px;padding:9px 5px}.chapter-nav a>span{font-size:12px}.expertise,.access-section,.detail-section,.finale{padding-top:40px}.section-meta{padding-bottom:22px}.section-meta>.eyebrow{font-size:12px}.section-meta>.eyebrow:last-child{display:none}.expertise-layout{grid-template-columns:1fr;gap:38px;padding-top:40px}.section-intro h2{font-size:clamp(52px,12vw,68px);line-height:1.07}.section-intro h2 br:nth-child(2){display:none}.section-intro>p{font-size:20px;line-height:1.6;margin:25px 0}.section-intro .text-link{font-size:18px}.code-monogram{display:none}.expertise-item>summary{font-size:26px;padding:26px 0;gap:13px;grid-template-columns:27px 1fr 24px}.expertise-item>summary small{font-size:13px;margin-top:8px}.item-number{font-size:13px}.expertise-content{padding-bottom:28px}.expertise-content p{font-size:18px;margin-bottom:22px}.code-window{padding:22px 20px;box-shadow:5px 5px 0 var(--wash);margin-right:5px}.code-top .eyebrow{font-size:12px}pre{font-size:13px;line-height:1.8}.section-tail{flex-direction:column;gap:18px;margin-top:40px;padding:28px 0}.section-tail p{font-size:17px;line-height:1.6}.section-tail .text-link{font-size:17px;gap:22px}.access-title{margin-top:36px;margin-bottom:30px}.access-title h2{font-size:clamp(39px,9.6vw,60px);line-height:1.14}.access-title>p{font-size:18px;line-height:1.7;margin-top:24px}.access-title h2 br{display:none}.access-title em{display:block}.access-layout{gap:30px}.key-stage{height:310px;max-width:340px}.keycap{width:190px;height:160px;left:6px;top:14px;padding:21px;font-size:27px;border-radius:18px}.keycap>span:last-child{font-size:42px}.key-enter{width:190px;left:140px;top:104px}.key-caption{font-size:12px;bottom:0;left:0}.keyboard-demo{padding-top:26px}.keyboard-demo>.eyebrow{font-size:13px}.keyboard-demo h3{font-size:38px;line-height:1.18}.keyboard-demo>p:not(.privacy-demo){font-size:18px}.keyboard-demo label{font-size:16px}.keyboard-demo label span{font-size:14px}.keyboard-fields{gap:8px}.keyboard-fields input{min-height:58px;font-size:18px;padding:12px 14px}.keyboard-fields button{min-width:110px;gap:10px;font-size:17px;padding:12px 14px}.keyboard-fields button>span{font-size:24px}.keyboard-demo .demo-response{min-height:100px}.privacy-demo{font-size:14px}.detail-heading{display:block;margin:37px 0}.detail-heading h2{font-size:clamp(60px,14vw,80px)}.detail-heading>p{max-width:100%;font-size:19px;margin-top:24px;padding:0}.principles-layout{gap:24px}.principle-choices{grid-template-columns:1fr 1fr;gap:0 12px}.principle-choices>button{font-size:17px;padding:17px 6px 17px 0;min-height:89px;grid-template-columns:20px 1fr;gap:7px}.principle-choices>button>span{font-size:12px}.principle-choices>button>i{display:none}.principle-choices>button[aria-pressed="true"]{padding-left:8px}.principle-panel{grid-template-columns:1fr;min-height:550px}.principle-art{min-height:230px;height:230px}.art-type>span:first-child{font-size:170px}.art-ruler{font-size:11px;left:22px;bottom:14px}.principle-description{padding:26px 24px 30px}.principle-description h3{font-size:34px;margin:18px 0}.principle-description h3 br{display:block}.principle-description p{font-size:18px}.art-path{flex-direction:row;gap:10px}.art-path>i{height:1px;width:14px}.art-path>span{font-size:17px;min-width:60px;padding:12px}.art-stack{gap:16px}.art-stack>span{max-width:225px}.finale-layout{display:block;padding-top:40px}.finale h2{font-size:clamp(74px,17vw,102px)}.finale-layout p{font-size:20px;margin-top:27px}.email-link{font-size:17px;gap:12px}.contact-orb{max-width:275px;margin:65px auto 20px;gap:10px}.orb-arrow{font-size:113px}.contact-orb>span:nth-last-child(2){font-size:30px}.contact-orb>.eyebrow{font-size:10px}.contact-orb-rings{inset:-13px}.contact-orb-rings:before{inset:-14px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.footer-top p{font-size:17px;margin-top:20px}.footer-top nav{grid-template-columns:1fr 1fr;gap:10px 18px}.footer-top nav a,.footer-social a{font-size:17px}.footer-social{grid-column:auto;flex-wrap:wrap;gap:18px 25px}.footer-bottom{flex-direction:column;gap:18px;padding:24px 0 32px;font-size:13px}.footer-bottom>div{gap:16px}.cookie-notice{left:10px;bottom:10px;max-width:calc(100% - 20px);gap:12px;padding:14px;align-items:start}.cookie-notice>div>p{font-size:13px;line-height:1.5}.cookie-notice button{font-size:13px;padding:10px 12px;min-height:44px}.notice-links{font-size:12px;gap:12px;margin-top:5px}.notice-links details p{font-size:13px;max-width:260px}.cookie-notice .notice-links>details{max-width:200px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:60px}.hero-intro>p:first-of-type{font-size:23px}.hero-description{font-size:17px}.lab{margin-inline:-16px}.lab-tabs>button{font-size:15px;padding-inline:10px}.lab-tabs>button:first-child{padding-left:16px}.demo-scene{padding-inline:16px}.workspace-top{padding-inline:16px}.workspace-label{font-size:11px}.lab-controls{padding-inline:16px}.control{font-size:13px;padding-inline:9px}.specimen-header .specimen-nav{font-size:10px}.keyboard-demo h3{font-size:34px}.key-stage{height:265px}.keycap{width:164px;height:145px;font-size:25px;left:0}.key-enter{left:120px;top:86px}.principle-choices>button{font-size:16px}.email-link{font-size:15px}.cookie-notice{padding:12px;gap:8px}.cookie-notice>div>p{font-size:12px}.cookie-notice button{padding-inline:10px}.chapter-nav a{font-size:10px;padding-inline:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.demo-browser,.is-exploded .demo-browser{transform:none}.contact-orb:hover .orb-arrow{transform:none}.contact-orb:hover .contact-orb-rings{transform:none}.text-link:hover span{transform:none}}
@media(forced-colors:active){.hero h1 em,.finale h2 em{-webkit-text-fill-color:CanvasText!important;color:CanvasText!important;background:none!important}.lab-tabs>button[aria-selected="true"],.control[aria-pressed="true"],.device-options button[aria-pressed="true"],.principle-choices button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-4px}.specimen,.lab,.keycap,.contact-orb{border:1px solid CanvasText}.specimen-art,.hero-arc,.access-orbit,.finale-curves{display:none}.status-dot{background:CanvasText}.chapter-nav a[aria-current]{text-decoration:underline}.demo-toast{border:1px solid CanvasText}}

.principle-panels.enhanced .principle-panel{margin-top:0}
/* The mobile chapter index stays readable: scroll the index, not a miniaturized page. */
@media(max-width:620px){.chapter-nav>.wrap{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 18px;gap:24px}.chapter-nav a{min-height:66px;flex:0 0 auto;flex-direction:row;gap:10px;font-size:15px;padding:8px 0}.chapter-nav a>span{font-size:12px}}
@supports not (container-type:inline-size){.specimen-body{grid-template-columns:1fr}.specimen-art{height:210px;max-width:280px;justify-self:center}.specimen-copy .eyebrow{font-size:12px}.specimen h3{font-size:44px}.demo-scene{height:auto;min-height:680px}.specimen-copy{max-width:100%}}

/* E1.2 / Blocco 1 — approved Home refinements. No shared-page overrides. */
:root { --sticky-header-height:101px; --chapter-height:56px; }
html.keyboard-navigation { scroll-behavior:auto; }
html { scroll-padding-top:calc(var(--sticky-header-height) + var(--chapter-height) + 16px); }
.e11-header {
  position:sticky; top:0; z-index:60; isolation:isolate;
  transition:background-color .28s var(--ease),box-shadow .28s var(--ease);
}
.e11-header::after {
  content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--blue));
  transform:scaleX(var(--header-progress,0));transform-origin:left;pointer-events:none;
}
.e11-header.is-compact { background:var(--night);box-shadow:0 9px 24px #0002; }
@supports (backdrop-filter:blur(12px)) {
  .e11-header.is-compact { background:color-mix(in srgb,var(--night) 95%,transparent);backdrop-filter:blur(16px); }
}
.header-inner { transition:min-height .25s var(--ease),padding .25s var(--ease); }
.e11-header .brand img { transition:width .25s var(--ease); }
.e11-header.is-compact .header-inner { min-height:72px; }
.e11-header.is-compact .brand img { width:164px; }
.e11-header.is-compact .menu { gap:clamp(16px,1.5vw,25px); }
.e11-header.is-compact .menu a { font-size:16px; }
.e11-header.is-compact .header-cta { min-height:48px;font-size:16px;gap:22px;padding:8px 0 8px 24px; }
.e11-header.is-compact .header-cta span { font-size:28px; }
.e11-header.menu-is-open { background:var(--night); }
.chapter-nav { top:var(--sticky-header-height); }
.chapter-nav a { min-height:54px; }
:where(a,button,input,summary,[tabindex]) { scroll-margin-block:16px; }
/* An anchor can receive focus without being hidden under either navigation. */
#contenuto:focus { outline:none; }
.demo-scene { height:auto;min-height:655px; }
.specimen-art { transform:translate(-5%,-20px); }
.sculpture { position:absolute;left:0;top:50%;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:350/340;translate:0 -50%; }
.sculpture img { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(6px 20px 12px #313c672f); }
.art-coordinate { left:0;right:0;bottom:-28px;text-align:center;white-space:nowrap; }
/* On narrow frames the object gets its own space: no overlap with copy or CTA. */
@container specimen (max-width:580px) {
  .specimen-body { gap:8px;padding:22px;min-height:440px; }
  .specimen-copy { max-width:100%; }
  .specimen-copy p { max-width:none; }
  .specimen-art { position:relative;right:auto;bottom:auto;width:190px;height:178px;justify-self:center;opacity:1;transform:none; }
  .specimen-body .sculpture { opacity:1;height:100%;aspect-ratio:auto;top:0;translate:none; }
  .art-shadow { bottom:12px; }
  .art-coordinate { display:block;bottom:0;font-size:10px; }
}
/* Content and restyling: small real interactions, not simulated client results. */
.skill-demo {
  margin:0 0 28px;padding:24px;background:var(--night);color:var(--paper);
  border:1px solid #515761;min-width:0;color-scheme:dark;
}
.skill-demo :is(button,input,a):focus-visible { outline:3px solid var(--blue);outline-offset:4px; }
.skill-demo .demo-top { display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px; }
.skill-demo .demo-top .eyebrow { font-size:12px;color:var(--muted);letter-spacing:.04em; }
.skill-demo .demo-top>span:last-child { font-size:24px;color:var(--accent); }
.skill-demo label { display:block;font-size:15px;margin:0 0 8px;color:var(--paper); }
.skill-demo input { display:block;width:100%;min-width:0;min-height:50px;padding:10px 12px;border:1px solid #8b929f;background:var(--night-raised);color:var(--paper);font-size:17px; }
.skill-demo .demo-switch { display:flex;gap:8px;margin:16px 0; }
.skill-demo .demo-switch button { flex:1;min-width:0;min-height:44px;padding:9px 10px;font-size:15px;line-height:1.4;border:1px solid #8b929f; }
.skill-demo .demo-switch button[aria-pressed="true"] { background:var(--accent);color:var(--night);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent-deep); }
.skill-demo .demo-switch button:hover:not([aria-pressed="true"]) { background:var(--night-soft); }
.skill-demo .demo-status { font:12px/1.65 var(--mono);color:var(--accent);margin:16px 0 0;min-height:42px;overflow-wrap:anywhere; }
.skill-demo .demo-note { font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line); }
.skill-demo noscript p { font-size:14px;color:var(--muted);margin:12px 0 0; }
.content-preview { color:#212935;background:#fff;min-height:245px;overflow:hidden; }
.content-visual { height:100px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#d6e9f3,#d8d3f2);display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#285c88; }
.content-visual::before { content:"";position:absolute;border:1px solid #747caa;border-radius:50%;width:165px;height:165px;right:28px;top:-36px;box-shadow:0 0 0 16px #b7b0e822,0 0 0 32px #b7b0e817;z-index:-1; }
.content-visual>span:first-child { font:italic 80px/1 Georgia,serif;letter-spacing:-.1em; }
.content-visual>span:last-child { font:10px var(--mono);align-self:flex-end;padding-bottom:14px; }
.content-preview-copy { padding:24px;min-width:0; }
.content-preview-copy>.eyebrow { font-size:11px;color:#285c88; }
.content-preview h3 { font-size:30px;line-height:1.15;letter-spacing:-.05em;font-weight:550;margin:10px 0 12px;overflow-wrap:anywhere; }
.content-preview p { font-size:16px;line-height:1.55;color:#515965;margin:0; }
.content-preview[data-layout="compact"] { display:grid;grid-template-columns:100px minmax(0,1fr);align-items:stretch; }
.content-preview[data-layout="compact"] .content-visual { height:auto;min-height:245px;padding:14px; }
.content-preview[data-layout="compact"] .content-visual>span:first-child { font-size:52px; }
.content-preview[data-layout="compact"] .content-visual>span:last-child { display:none; }
.content-preview[data-layout="compact"] .content-preview-copy { align-self:center; }
.content-preview[data-layout="compact"] h3 { font-size:25px; }
.restyle-preview { --preview-ink:#212935;min-height:345px;padding:20px;background:#fff;color:var(--preview-ink);overflow:hidden; }
.restyle-mini-nav { display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #cbd1dd;padding-bottom:16px; }
.restyle-mini-nav strong { font-size:22px;letter-spacing:-.07em;line-height:1.2; }
.restyle-mini-nav small { font:9px/1.5 var(--mono);color:#515965; }
.restyle-main { padding:44px 0 20px;display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:24px;align-items:center; }
.restyle-copy .eyebrow { font-size:10px;color:#285c88;letter-spacing:.02em; }
.restyle-copy h3 { font-size:30px;line-height:1.1;letter-spacing:-.05em;font-weight:550;margin:14px 0 20px;color:#285c88; }
.restyle-copy p { font-size:16px;line-height:1.5;color:#515965;margin:0 0 18px; }
.restyle-copy a { display:inline-flex;gap:12px;align-items:center;min-height:44px;background:#212935;color:white;padding:10px 12px;font-size:14px;line-height:1.4; }
.restyle-copy a:focus-visible { outline-color:#285c88; }
.restyle-art { height:190px;border-radius:40px 40px 3px 3px;background:linear-gradient(145deg,#b5dbee,#b5acec);overflow:hidden;position:relative;display:grid;place-items:center;isolation:isolate; }
.restyle-art::before,.restyle-art::after { content:"";position:absolute;inset:18px -27px;border:1px solid #7b88a4;border-radius:50%;transform:rotate(-40deg);z-index:-1; }
.restyle-art::after { inset:40px -22px;transform:rotate(35deg); }
.restyle-art span { font-size:42px;color:#285c88; }
.restyle-preview[data-view="before"] .restyle-main { grid-template-columns:1fr;padding:22px 0 0;gap:16px; }
.restyle-preview[data-view="before"] .restyle-copy h3 { font-size:19px;letter-spacing:-.025em;line-height:1.4;color:#212935;margin:10px 0; }
.restyle-preview[data-view="before"] .restyle-copy p { margin-bottom:12px; }
.restyle-preview[data-view="before"] .restyle-copy a { background:transparent;color:#285c88;padding:8px 0;text-decoration:underline;text-underline-offset:4px; }
.restyle-preview[data-view="before"] .restyle-art { height:50px;width:100%;border-radius:3px; }
.restyle-preview[data-view="before"] .restyle-art span { font-size:28px; }
.restyle-factors { display:flex;gap:12px;justify-content:space-between;margin-top:14px;font:10px/1.6 var(--mono);color:var(--accent); }
.restyle-factors span { padding-bottom:6px;border-bottom:2px solid var(--accent); }
/* Two steps with an equally visible, persistent state. The large keys are decorative. */
.keyboard-steps { display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;margin:24px 0 0; }
.keyboard-steps li { padding:14px;border:1px solid #858b9c;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center; }
.keyboard-steps kbd { font:13px/1.3 var(--mono);border:1px solid #858b9c;padding:6px 7px;min-width:40px;text-align:center; }
.keyboard-steps strong { font-size:16px;line-height:1.25;font-weight:500; }
.keyboard-steps small { grid-column:1/-1;color:var(--muted);font:11px/1.5 var(--mono); }
.keyboard-steps li[data-state="done"] { border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--night-raised)); }
.keyboard-steps li[data-state="done"] kbd { background:var(--accent);color:var(--night);border-color:var(--accent); }
.keyboard-steps li[data-state="done"] small { color:var(--accent); }
.keycap { transition:transform .25s var(--ease),box-shadow .25s,outline-color .25s;outline:2px solid transparent;outline-offset:8px; }
.keycap small { position:absolute;left:30px;bottom:22px;font:12px/1.5 var(--mono);letter-spacing:0; }
.key-stage.key-tab-done .key-tab,.key-stage.key-enter-done .key-enter { outline-color:var(--accent); }
.keyboard-demo .demo-response { min-height:99px; }
@media(max-width:1200px) {
  .skill-demo { padding:18px; }
  .content-preview-copy { padding:20px; }
  .content-preview[data-layout="compact"] { grid-template-columns:72px minmax(0,1fr); }
  .content-preview[data-layout="compact"] .content-visual { padding:10px; }
  .content-preview[data-layout="compact"] .content-visual>span:first-child { font-size:40px; }
  .restyle-main { grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding-top:28px; }
  .restyle-copy h3 { font-size:27px; }
  .restyle-art { height:170px; }
}
@media(max-width:900px) {
  :root { --sticky-header-height:91px; }
  .demo-scene { min-height:680px; }
  .e11-header:not(.nav-ready) { position:relative; }
  .e11-header:not(.nav-ready) ~ main .chapter-nav { top:0; }
  .e11-header.is-compact .header-inner { min-height:72px;padding-block:8px; }
  .e11-header.is-compact .brand img { width:158px; }
  .e11-header.is-compact .mobile-toggle { min-width:48px;min-height:48px; }
  .e11-header.nav-ready .menu.open { top:100%;left:calc((100vw - 100%) / -2);right:calc((100vw - 100%) / -2);padding:16px 24px 24px;max-height:calc(100dvh - var(--sticky-header-height));overscroll-behavior:contain; }
  .e11-header.is-compact .menu.open a { font-size:22px; }
  .content-preview[data-layout="compact"] .content-preview-copy { padding:16px; }
  .content-preview[data-layout="compact"] h3 { font-size:23px; }
  .restyle-preview { padding:16px; }
}
@media(max-width:620px) {
  :root { --sticky-header-height:83px; --chapter-height:54px; }
  .e11-header.is-compact .header-inner { min-height:68px; }
  .e11-header.is-compact .brand img { width:150px; }
  .chapter-nav a { min-height:52px; }
  .demo-scene { min-height:730px;height:auto;padding-block:26px; }
  .skill-demo { padding:18px;margin-bottom:24px; }
  .restyle-main { grid-template-columns:minmax(0,1fr) 48px;gap:16px; }
  .restyle-copy h3 { font-size:27px; }
  .content-preview[data-layout="compact"] { grid-template-columns:76px minmax(0,1fr); }
  .keyboard-steps { gap:8px; }
  .keyboard-steps li { padding:12px; }
  .keyboard-steps strong { font-size:15px; }
  .keycap small { left:20px;bottom:14px;font-size:10px; }
}
@media(max-width:360px) {
  .skill-demo { padding:14px; }
  .content-preview h3 { font-size:26px; }
  .content-preview[data-layout="compact"] { grid-template-columns:56px minmax(0,1fr); }
  .content-preview[data-layout="compact"] .content-visual>span:first-child { font-size:31px; }
  .content-preview[data-layout="compact"] .content-preview-copy { padding:12px; }
  .content-preview[data-layout="compact"] h3 { font-size:22px; }
  .restyle-preview { padding:14px; }
  .restyle-main { grid-template-columns:minmax(0,1fr) 36px;gap:10px; }
  .restyle-copy h3 { font-size:25px; }
  .restyle-art span { font-size:28px; }
  .keyboard-steps li { padding:10px;gap:6px; }
  .keyboard-steps strong { font-size:14px; }
  .keyboard-steps kbd { font-size:11px;min-width:32px; }
}
/* On a low screen retain the main menu, not a double fixed bar. */
@media(max-height:500px) {
  .chapter-nav { position:relative;top:auto; }
  :root { --chapter-height:0px; }
  .e11-header.is-compact .header-inner { min-height:64px;padding-block:6px; }
  .e11-header.is-compact .brand img { width:150px; }
}
@media(prefers-reduced-motion:reduce) {
  .e11-header,.e11-header *,.keycap,.skill-demo * { transition:none!important;animation:none!important; }
  .key-stage.key-tab-active .key-tab,.key-stage.key-enter-active .key-enter { transform:rotateX(38deg) rotateY(-10deg) rotateZ(-25deg); }
}
@media(forced-colors:active) {
  .skill-demo,.content-preview,.restyle-preview,.keyboard-steps li { border:1px solid CanvasText; }
  .skill-demo .demo-switch button[aria-pressed="true"],.keyboard-steps li[data-state="done"] { outline:2px solid Highlight;outline-offset:-4px; }
  .skill-demo .demo-switch button[aria-pressed="true"] { text-decoration:underline; }
  .key-stage.key-tab-done .key-tab,.key-stage.key-enter-done .key-enter { outline-color:Highlight; }
  .content-visual,.restyle-art { border:1px solid CanvasText; }
}
/* Keep the lab readable throughout theme changes, not only at either endpoint. */
.specimen { transition:none; }
.demo-browser[data-tone="dark"] .specimen-mark span { color:var(--accent); }
/* E1.8-R9 — Mobile keyboard demo: keep Enter fully inside the narrow stage. Desktop geometry unchanged. */
@media(max-width:620px){
  .key-stage{height:380px;max-width:340px;margin-inline:auto}
  .key-enter{left:min(115px,calc(100% - 220px));top:170px}
}
@media(max-width:360px){
  .key-stage{height:340px}
  .key-enter{left:calc(100% - 194px);top:155px}
}
@media(max-width:320px){
  .key-stage{height:315px}
  .keycap{width:150px;height:132px;padding:18px;font-size:23px}
  .keycap>span:last-child{font-size:36px}
  .keycap small{left:18px;bottom:12px;font-size:9px}
  .key-enter{width:150px;left:calc(100% - 182px);top:145px}
}


/* Inherited cascade: identita-footer-e18r1.90745207e12f.css */
/* E1.8-R1 — shared identity and footer only. Page contents and behaviours are not restyled. */
html body .e11-header .brand:has(> .site-logo){padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;filter:none;transform:none;line-height:1;flex-shrink:0}
html body .e11-header .brand > img.site-logo{display:block;width:196px;height:auto;aspect-ratio:640/199;max-width:100%;object-fit:contain;opacity:1;filter:none!important;mix-blend-mode:normal;transform:none!important;image-rendering:auto;transition:none!important}
html body .e11-header.is-compact .brand > img.site-logo{width:168px}
body .site-footer{--sf-ink:#f5f5f3;--sf-soft:#c3c7d1;--sf-accent:#a7cdf4;--sf-line:#494e5a;position:relative;isolation:isolate;background:#23252b;color:var(--sf-soft);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;border-top:1px solid var(--sf-line);padding:0 0 var(--footer-notice-space,max(var(--notice-space,0px),var(--cookie-notice-space,0px)));margin:0;color-scheme:dark;overflow:visible}
.site-footer *, .site-footer *::before, .site-footer *::after{box-sizing:border-box}
.site-footer .sf-inner{width:min(1568px,calc(100% - 112px));margin-inline:auto;padding:0}
.site-footer .sf-grid{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(190px,.75fr) minmax(260px,1fr);gap:clamp(32px,5vw,96px);padding:54px 0 40px;align-items:start}
.site-footer .sf-brand-link{display:inline-block;max-width:100%;border:0;background:none;box-shadow:none;line-height:0;padding:0;text-decoration:none}
html body .site-footer .sf-brand-link img.site-logo{display:block;width:212px;height:auto;aspect-ratio:640/199;max-width:100%;object-fit:contain;image-rendering:auto;filter:none!important;opacity:1;transform:none;mix-blend-mode:normal}
.site-footer p{margin:0;padding:0;font:inherit;color:inherit}
.site-footer .sf-description{color:var(--sf-ink);font-size:17px;line-height:1.5;margin:22px 0 9px;max-width:30ch}
.site-footer .sf-location{font-size:14px;color:var(--sf-soft);line-height:1.7;max-width:32ch}
.site-footer .sf-label{font:11px/1.6 "SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-accent);margin:2px 0 17px}
.site-footer .sf-nav-list{display:grid;gap:0;justify-items:start;margin:0;padding:0;list-style:none}
.site-footer .sf-nav-list li{margin:0;padding:0;list-style:none}
.site-footer a{color:var(--sf-ink);text-decoration:none;text-underline-offset:5px;overflow-wrap:anywhere}
.site-footer a:hover{color:var(--sf-accent)}
.site-footer a:focus-visible{outline:3px solid var(--sf-accent);outline-offset:4px;border-radius:2px}
.site-footer .sf-nav-list a{display:inline-flex;align-items:center;min-height:42px;gap:10px;font-size:19px;line-height:1.5;padding:5px 0}
.site-footer a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;color:var(--sf-accent)}
.site-footer .sf-contact-link{display:flex;align-items:baseline;justify-content:space-between;gap:18px;min-height:44px;max-width:365px;padding:8px 0;font-size:18px;line-height:1.5}
.site-footer .sf-contact-link > span:first-child{min-width:0;overflow-wrap:anywhere}
.site-footer .sf-contact-link > span:last-child{color:var(--sf-accent);font-size:22px;line-height:1;flex-shrink:0}
.site-footer .sf-contact-link.sf-email{border-bottom:1px solid var(--sf-line);padding-bottom:13px;margin-bottom:7px}
.site-footer .sf-social{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:15px}
.site-footer .sf-social a{display:inline-flex;align-items:center;gap:7px;min-height:42px;font-size:14px;color:var(--sf-soft)}
.site-footer .sf-social a:hover{color:var(--sf-accent)}
.site-footer .sf-bottom{border-top:1px solid var(--sf-line);padding:21px 0 24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;justify-content:space-between}
.site-footer .sf-copyright{font-size:12px;line-height:1.7;color:var(--sf-soft);flex-shrink:0}
.site-footer .sf-copyright span{display:block}
.site-footer .sf-legal{display:flex;flex-wrap:wrap;gap:0 24px;align-items:center}
.site-footer .sf-legal a{display:inline-flex;min-height:44px;align-items:center;font-size:13px;color:var(--sf-soft)}
.site-footer .sf-legal a:hover,.site-footer .sf-legal a[aria-current]{color:var(--sf-accent)}
.site-footer .sf-top-link{font-size:13px;display:inline-flex;gap:16px;align-items:center;min-height:44px;white-space:nowrap}
.site-footer .sf-top-link span{font-size:22px;color:var(--sf-accent)}
@media(max-width:1200px){.site-footer .sf-grid{grid-template-columns:minmax(190px,1fr) minmax(140px,.65fr) minmax(220px,1fr);gap:30px}.site-footer .sf-contact-link{font-size:16px}.site-footer .sf-inner{width:calc(100% - 64px)}.site-footer .sf-legal{gap:0 17px}}
@media(max-width:800px){.site-footer .sf-inner{width:calc(100% - 48px)}.site-footer .sf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:38px 0 30px}.site-footer .sf-identity{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,1fr);gap:0 30px;align-items:center}.site-footer .sf-brand-link{grid-row:1/3;justify-self:start}.site-footer .sf-description{margin:0 0 5px;font-size:16px}.site-footer .sf-location{font-size:13px}.site-footer .sf-bottom{align-items:flex-start;gap:8px 24px}.site-footer .sf-copyright{flex-basis:100%}.site-footer .sf-copyright span{display:inline}.site-footer .sf-copyright span+span:before{content:" · ";white-space:pre}.site-footer .sf-contact-link{font-size:17px}}
@media(max-width:620px){html body .e11-header .brand > img.site-logo{width:168px}html body .e11-header.is-compact .brand > img.site-logo{width:156px}.site-footer .sf-inner{width:calc(100% - 40px)}.site-footer .sf-grid{display:grid;grid-template-columns:1fr;gap:30px;padding-top:32px}.site-footer .sf-identity{display:block;grid-column:auto}.site-footer .sf-description{margin:19px 0 6px}.site-footer .sf-location{font-size:14px;max-width:none}.site-footer .sf-nav-list{grid-template-columns:1fr 1fr;gap:0 18px;justify-items:stretch}.site-footer .sf-nav-list a{font-size:18px;min-height:44px}.site-footer .sf-label{margin-bottom:12px}.site-footer .sf-contact-link{max-width:none;min-height:48px;font-size:18px}.site-footer .sf-social{margin-top:8px}.site-footer .sf-bottom{padding-block:18px 24px;display:grid;grid-template-columns:1fr;gap:8px}.site-footer .sf-legal{gap:0 21px}.site-footer .sf-legal a{font-size:13px}.site-footer .sf-copyright{font-size:12px}.site-footer .sf-top-link{justify-self:start;margin-top:2px}}
@media(max-width:340px){html body .e11-header .brand > img.site-logo,html body .e11-header.is-compact .brand > img.site-logo{width:140px}.site-footer .sf-inner{width:calc(100% - 32px)}.site-footer .sf-contact-link{font-size:16px}.site-footer .sf-copyright span{display:block}.site-footer .sf-copyright span+span:before{content:none}}
@media(prefers-reduced-motion:reduce){.site-footer *{scroll-behavior:auto;transition:none!important;animation:none!important}}
@media(forced-colors:active){body .site-footer{background:Canvas;color:CanvasText;border-color:CanvasText}.site-footer .sf-bottom,.site-footer .sf-contact-link.sf-email{border-color:CanvasText}.site-footer p,.site-footer .sf-label,.site-footer .sf-description,.site-footer .sf-location,.site-footer .sf-copyright{color:CanvasText}.site-footer a,.site-footer .sf-social a,.site-footer .sf-legal a{color:LinkText}.site-footer a:focus-visible{outline-color:Highlight}.site-footer img.site-logo,.e11-header img.site-logo{forced-color-adjust:none}}
@media print{body .site-footer{display:none!important;padding:0!important}}

@media(min-width:801px) and (max-width:900px){.site-footer .sf-inner{width:calc(100% - 48px)}}
@media(min-width:341px) and (max-width:360px){.site-footer .sf-inner{width:calc(100% - 32px)}}


/* Inherited cascade: tastiera-e18r2.9dff6d2dd0f0.css */
/* E1.8-R2 — keyboard presentation only; no changes to brand, page layout or pointer UI. */
html.kb-navigation, html.kb-navigation * { scroll-behavior:auto !important; }
html.kb-navigation .header-inner, html.kb-navigation .header-band,
html.kb-navigation .e11-header, html.kb-navigation .site-logo { transition:none !important; }
/* Two colours keep the indicator distinguishable on light, dark and coloured controls. */
html body :focus-visible,
html.kb-navigation body .kb-focus-proxy {
 outline:3px solid #ffffff !important;
 outline-offset:3px !important;
 box-shadow:0 0 0 6px #155681 !important;
}
html body [role="tab"]:focus-visible,
html body .q3-entry:focus-visible,
html body .q3-cover:focus-visible,
html body .device-options button:focus-visible,
html body .s-compare-toolbar button:focus-visible {
 outline-offset:-3px !important;
 box-shadow:inset 0 0 0 6px #155681 !important;
}
html body .skip-link:focus {
 position:fixed !important;z-index:2147483000 !important;
 top:12px !important;left:12px !important;right:auto !important;
 transform:none !important;clip:auto !important;clip-path:none !important;
 width:auto !important;height:auto !important;max-width:calc(100% - 30px);
 padding:12px 18px !important;margin:0 !important;
 background:#ffffff !important;color:#153e61 !important;
 white-space:normal !important;text-decoration:underline;text-underline-offset:4px;
}
.kb-sr-help { position:absolute !important;width:1px !important;height:1px !important;
 padding:0 !important;margin:-1px !important;overflow:hidden !important;
 clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;
 white-space:nowrap !important;border:0 !important; }
.kb-group-help { position:fixed;z-index:2147482900;pointer-events:none;
 max-width:calc(100vw - 24px);padding:7px 11px;border:1px solid #8aa5bd;
 background:#202833;color:#fff;border-radius:4px;
 font:12px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
 box-shadow:0 3px 10px #0002; }
.kb-group-help[hidden], [hidden] { display:none !important; }
/* A focused radio may be deliberately visually hidden: show the ring on its label. */
html.kb-navigation body input.kb-proxied:focus-visible {outline:none !important;box-shadow:none !important;}
@media(max-height:520px) {
 html.kb-navigation #cookieNotice:not(.is-menu-hidden) {
  position:relative !important;inset:auto !important;transform:none !important;
  width:auto !important;max-width:calc(100% - 32px) !important;margin:16px !important;
 }
}
@media(forced-colors:active) {
 html body :focus-visible, html.kb-navigation body .kb-focus-proxy {
  outline:3px solid Highlight !important;outline-offset:3px !important;box-shadow:none !important;
 }
 .kb-group-help {background:Canvas;color:CanvasText;border-color:CanvasText;}
}
@media print { .kb-group-help,.kb-sr-help,.skip-link {display:none !important;} }

/* Contextual skip links stay next to their demo, outside the header's stacking context.
 * The zero-height anchor preserves the layout when no keyboard control is focused. */
.kb-skip-anchor{position:relative;height:0;z-index:4;}
html body .kb-skip-demo:focus{position:absolute!important;top:8px!important;left:8px!important;}


/* Inherited cascade: motion-e19.2a1fdf5829b5.css */
/* E1.9 / Blocco 7 — timing and behaviour, not a new visual layout.
   No global transform on models; the approved mobile Tab/Invio geometry is inherited. */
:root {
  --motion-quick:140ms; --motion-state:220ms; --motion-scene:360ms; --motion-enter:320ms;
  --motion-ease:cubic-bezier(.22,.72,.2,1);
}
html.b7-reserve-gutter{scrollbar-gutter:stable}
html.b7-overlay-lock{overflow:hidden}
html.b7-ready .e11-header{z-index:90}
html.b7-ready .header-inner{transition-duration:var(--motion-state);transition-timing-function:var(--motion-ease)}
html.b7-ready .header-band{transition-duration:var(--motion-state);transition-timing-function:var(--motion-ease)}
html.b7-ready .e11-header.menu-is-open .header-inner{transition:none}
html.b7-ready .nav-ready .menu.open{
  max-height:calc(var(--b7-visual-height,100dvh) - var(--header-visible,100px) - 8px);
  overscroll-behavior:contain;
}
/* Images and branding do not acquire a new hover/filter/scale effect. */
html.b7-ready .site-logo{transition:none!important;animation:none!important}
html.b7-ready :is(button,.button,.text-link,.header-cta,.c-channel,.site-footer a,input,select,textarea){
  transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease);
}
html.b7-ready :is(.menu a,.chapter-nav a)::after{
  transition:transform var(--motion-quick) var(--motion-ease);
}
html.b7-ready :is(.text-link span[aria-hidden],.c-channel-arrow,.c-write-link span,.s-portal-action>span,.r-portal-link>span){
  transition:transform var(--motion-quick) var(--motion-ease);
}
html.b7-ready :is(.lab-tabs>button,.principle-choices>button,.route-choice>span,.scope-exit,.plan-node){
  transition-duration:var(--motion-state);transition-timing-function:var(--motion-ease);
}
html.b7-ready :is(.demo-browser,.layer-ghost,.site-object,.site-layer,.s-portals,.s-preview-browser,.s-preview-paper,.r-page-stack,.r-responsive-window,.q3-screen,.stress-card){
  transition-duration:var(--motion-scene);transition-timing-function:var(--motion-ease);
}
html.b7-ready :is(.blueprint-label,.s-inspect-zone,.map-nodes button,.r-next-arrow,.orb-arrow,.contact-orb-rings){
  transition-duration:var(--motion-state);transition-timing-function:var(--motion-ease);
}
html.b7-ready .sculpture{transition-duration:var(--motion-scene);transition-timing-function:var(--motion-ease)}
html.b7-ready .sculpture.b7-pointer-live{transition-duration:var(--motion-quick)}
/* Direct manipulation must follow the pointer, not chase a transition. */
html.b7-ready .model-live.is-dragging .site-object,
html.b7-ready .s-compare-stage.is-dragging *,
html.b7-ready .r-comparison.is-dragging *,
html.b7-ready .q3-screen.b7-manipulating,
html.b7-ready .site-object.b7-manipulating .site-layer{transition:none!important}
html.b7-ready :is(textarea.is-auto-growing,input[type=range]){transition-property:border-color,box-shadow,background-color;}
html.b7-ready .form textarea{transition-property:border-color,box-shadow}
html.b7-ready .keycap{transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}
html.b7-ready .hours-system.did-update [data-hours]{animation-duration:600ms;animation-iteration-count:1}
html.b7-ready .demo-toast{animation-duration:var(--motion-state);animation-timing-function:var(--motion-ease)}
/* No moving focus targets, and no animated state change while reading legal/form content. */
html.b7-ready :focus-visible{transition:none!important}
html.b7-ready :is(.l6,.c5) :is(h1,h2,h3,p,form,.form input,.form select,.form textarea){animation:none}
/* Avoid inherited synthetic mouse hover translating arrows after a touch. */
@media(hover:none),(pointer:coarse){
  :root{--motion-state:220ms;--motion-scene:360ms;--motion-enter:320ms}
  html.b7-ready :is(.text-link:hover span[aria-hidden],.c-channel:hover .c-channel-arrow,.c-write-link:hover span,
    .r-next a:hover .r-next-arrow,.s-portal-action:hover>span,.r-portal-link:hover>span,.r-image-open:hover .r-zoom,
    .contact-orb:hover .orb-arrow,.contact-orb:hover .contact-orb-rings,.specimen-action:not(:disabled):hover){transform:none}
  html.b7-ready .text-link:hover>span:last-child{transform:none}
  html.b7-ready .s-preview-link:hover .s-preview-browser{transform:rotateY(3deg)}
  html.b7-ready .s-preview-link:hover .s-preview-paper{transform:rotate(-2.3deg)}
  html.b7-ready .menu a:not([aria-current]):not(:focus-visible):hover::after{transform:scaleX(0)}
}
/* Active page and keyboard focus are independent of hover. */
html.b7-ready .menu a:focus-visible::after{transform:scaleX(1)}
/* Keep the decorative key tops exactly at the approved R9 positions, including their focus state. */
/* Short cross-document dissolve only. No stretched screenshot morphs between different layouts. */
@view-transition{navigation:auto}
html.b7-ready .e11-header{view-transition-name:site-header}
::view-transition-group(root){animation-duration:160ms}
::view-transition-old(root),::view-transition-new(root){animation-duration:160ms;animation-timing-function:ease-out;mix-blend-mode:normal}
::view-transition-group(site-header){animation:none}
::view-transition-old(site-header){animation:none;opacity:0}
::view-transition-new(site-header){animation:none}
html.b7-suspended *,html.b7-suspended *::before,html.b7-suspended *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto!important}
  @view-transition{navigation:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  html.b7-ready :is(.text-link:hover span[aria-hidden],.c-channel:hover .c-channel-arrow,.c-write-link:hover span,
    .r-next a:hover .r-next-arrow,.s-portal-action:hover>span,.r-portal-link:hover>span,.r-image-open:hover .r-zoom,
    .contact-orb:hover .orb-arrow,.contact-orb:hover .contact-orb-rings,.specimen-action:not(:disabled):hover){transform:none}
  html.b7-ready .s-preview-link:hover .s-preview-browser{transform:rotateY(3deg)}
  html.b7-ready .s-preview-link:hover .s-preview-paper{transform:rotate(-2.3deg)}
}
html.kb-navigation.b7-ready *,html.kb-navigation.b7-ready *::before,html.kb-navigation.b7-ready *::after{
  transition:none!important;animation:none!important;scroll-behavior:auto!important;
}
@media print{
  html.b7-ready{scrollbar-gutter:auto;overflow:visible}
  *,*::before,*::after{animation:none!important;transition:none!important}
}


/* Inherited cascade: motion-visual-e19r2.98faf4483cd5.css */
/* E1.9-R2 — visual motion layer. No hidden-content defaults, no layout or logo changes.
   Functional state is always owned by the existing page modules. */
:root{
  --mv-ease:cubic-bezier(.19,1,.22,1);
  --mv-fast:240ms;--mv-state:566ms;--mv-scene:1062ms;
}
/* Make state transitions deliberate; direct gestures still use the B7 instant path. */
html.mv-ready :is(.s-portals,.r-responsive-window,.q3-screen,.stress-card){
  transition-duration:566ms;transition-timing-function:var(--mv-ease);
}
html.mv-ready .site-object,html.mv-ready .site-layer{
  transition-duration:767ms;transition-timing-function:cubic-bezier(.22,.85,.25,1);
}
html.mv-ready :is(.s-compare-stage.is-dragging *,.site-object.b7-manipulating .site-layer,.q3-screen.b7-manipulating),
html.mv-ready .model-live.is-dragging .site-object{transition:none!important}
/* Keep all controls and the logo in place. Only the non-interactive arrow responds. */
html.mv-ready :is(.text-link,.s-portal-action,.c-channel,.c-write-link,.direction-link,.header-cta){
  transition-timing-function:var(--mv-ease);transition-duration:240ms;
}
html.mv-ready :is(.text-link span[aria-hidden],.s-portal-action>span,.c-channel-arrow,.c-write-link>span,.direction-link>span,.header-cta>span){
  transition:transform 360ms var(--mv-ease),translate 240ms var(--mv-ease);
}
html.mv-ready .menu a::after{transition:transform 360ms var(--mv-ease)}
html.mv-ready .e11-header.is-compact .header-band{
  box-shadow:0 12px 28px -18px #0009;
  transition:background 320ms ease,box-shadow 320ms ease;
}
/* Progressive line accents: inserted only when a line is being drawn, then removed. */
.mv-rule-host{position:relative}
.mv-rule-ink{position:absolute;left:0;top:-1px;width:100%;height:2px;
  background:linear-gradient(90deg,#285c88,#9690cd);transform-origin:0 50%;
  pointer-events:none;z-index:1}
.dark .mv-rule-ink,.hero .mv-rule-ink{background:linear-gradient(90deg,#a7cdf4,#b5b1ef)}
/* Signal paths are transient visual annotations, never controls or content. */
.mv-signal-host{position:relative}
.mv-signal-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;
  pointer-events:none;z-index:4;contain:strict}
.mv-signal-path{fill:none;stroke:#285c88;stroke-width:2.5;stroke-linecap:round}
.dark .mv-signal-path{stroke:#a7cdf4}
.mv-packet{position:absolute;left:0;top:0;width:14px;height:10px;border-radius:2px;
  background:#285c88;box-shadow:0 0 0 4px #a7cdf430;pointer-events:none}
.dark .mv-packet{background:#a7cdf4;box-shadow:0 0 0 4px #a7cdf422}
/* Method's existing vertical line gains a scroll progress ink, not another timeline. */
.mv-evidence-progress{position:absolute;top:28px;bottom:100px;left:30px;width:2px;
  background:linear-gradient(#285c88,#9690cd);transform-origin:top;
  transform:scaleY(var(--mv-track,0));pointer-events:none;z-index:0}
html.mv-ready .phase.mv-phase-current .phase-number{box-shadow:0 0 0 6px #285c8812;border-color:#285c88}
@media(max-width:1200px){.mv-evidence-progress{left:24px}}
@media(max-width:620px){.mv-evidence-progress{left:16px;bottom:60px}}
/* Pointer depth is restricted to preview artwork, not the card / link hit area. */
html.mv-ready .s-preview-link{perspective:1100px}
html.mv-ready .mv-depth-live{transition:none!important}
html.mv-ready .c-channel:focus-within{outline-offset:6px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.mv-ready:not(.kb-navigation) .text-link:hover>span[aria-hidden],
  html.mv-ready:not(.kb-navigation) .s-portal-action:hover>span,
  html.mv-ready:not(.kb-navigation) .c-write-link:hover>span{
    transform:translate(4px,-4px);
  }
  html.mv-ready:not(.kb-navigation) .c-channel:hover .c-channel-arrow{transform:translate(5px,-5px)}
  html.mv-ready .s-portal-action{transition:border-color 300ms,color 300ms}
}
/* Distinct page navigation: the header remains stable while the page crosses in. */
@keyframes mv-page-out{from{opacity:1}to{opacity:0}}
@keyframes mv-page-in{from{opacity:0}to{opacity:1}}
@supports(view-transition-name:mv-page){
  html.mv-ready::view-transition-old(root){animation:mv-page-out 283ms ease both}
  html.mv-ready::view-transition-new(root){animation:mv-page-in 566ms var(--mv-ease) both}
  html.mv-ready::view-transition-group(root){animation:none!important}
  html.mv-ready::view-transition-old(site-header){animation:none;opacity:0}
  html.mv-ready::view-transition-new(site-header){animation:none}
}
/* No hidden states survive disabled motion, keyboard navigation, print or missing JS. */
html.mv-quiet .mv-signal-overlay,html.mv-quiet .mv-rule-ink{display:none}
html.mv-quiet .mv-evidence-progress{transform:scaleY(1)}
@media(prefers-reduced-motion:reduce){
  html.mv-ready *,html.mv-ready *::before,html.mv-ready *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .mv-signal-overlay,.mv-rule-ink{display:none!important}
  .mv-evidence-progress{transform:scaleY(1)!important}
  html.mv-ready::view-transition-old(root),html.mv-ready::view-transition-new(root){animation:none!important}
}
@media(forced-colors:active){.mv-signal-overlay,.mv-rule-ink,.mv-evidence-progress{display:none!important}}
@media print{.mv-signal-overlay,.mv-rule-ink,.mv-evidence-progress{display:none!important}}

/* E1.9-R2: reserve the final width before content grows. Overlay scrollbars stay overlays. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scrollbar-gutter:stable; }
@supports not (scrollbar-gutter:stable) { html { overflow-y:scroll; } }
/* No default snapshot scale or whole-document movement between URLs. */
::view-transition-group(root) { animation:none!important; }
::view-transition-old(root),::view-transition-new(root) { width:100%;height:100%;object-fit:none;object-position:left top; }
@media print { html { scrollbar-gutter:auto;overflow:visible; } }

/* Full-width Home menu follows the reserved layout width, not the larger 100vw. */
@media(max-width:900px){
  html.b7-ready .e11-home .e11-header.nav-ready .menu.open{
    left:calc((var(--b7-layout-width,100vw) - 100%) / -2);
    right:calc((var(--b7-layout-width,100vw) - 100%) / -2);
  }
}

