@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"),url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@view-transition{navigation:auto}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* Layout: Apple-style site. Hash-routed pages, alternating black and white bands, centered statements, bento grids. */
:root{
  color-scheme: light;
  --black:#000000;
  --ink:#1D1D1F;
  --paper:#FFFFFF;
  --mist:#F5F5F7;
  --mist-2:#E8E8ED;
  --grey:#6E6E73;
  --grey-2:#86868B;
  --grey-dark:#A1A1A6;
  --line:#D2D2D7;
  --red:#B51F20;
  --red-press:#9A1A1B;
  --red-on-dark:#FF5F57;
  --font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(.25,.1,.25,1);
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --gutter-l:max(22px, env(safe-area-inset-left, 0px));
  --gutter-r:max(22px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:rgba(22,22,23,.92)}
img{max-width:100%;display:block}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.rail:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.dark a:focus-visible,.dark button:focus-visible,.gnav a:focus-visible,.gnav button:focus-visible{outline-color:var(--red-on-dark)}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:1080px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.narrow{max-width:1024px}
.dark{background:var(--black);color:#F5F5F7}
.mist{background:var(--mist)}


/* Global header: glass bar, sliding indicator, mega panels, full-screen mobile menu */
.gh{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;view-transition-name:gnav;transition:transform .5s var(--ease)}
.gh.hide{transform:translateY(-100%)}
.gh-bar{position:relative;z-index:2;background:rgba(0,0,0,.9);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid rgba(255,255,255,.08);transition:background-color .4s var(--ease)}
.gh.scrolled .gh-bar,.gh.mega-open .gh-bar,.gh.open .gh-bar{background:rgba(14,14,15,.94)}
.gh-in{max-width:1180px;margin:0 auto;padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px));height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gh-logo{display:flex;align-items:center;flex:0 0 auto;padding:10px 0}
.gh-logo img{height:22px;width:auto;transition:opacity .3s}
.gh-logo:hover img{opacity:.8}
.gh-links{position:relative;display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;flex:0 1 auto;min-width:0}
.gh-links > li{flex:0 0 auto}
.gh-links > li{position:relative}
.gh-item{white-space:nowrap;flex:0 0 auto;appearance:none;border:0;background:none;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:980px;color:#E8E8ED;font-size:13px;letter-spacing:-0.01em;text-decoration:none;transition:color .3s,background-color .3s}
.gh-item:hover,.gh-item[aria-expanded="true"]{color:#FFFFFF;background:rgba(255,255,255,.08);text-decoration:none}
.gh-item[aria-current="page"]{color:#FFFFFF}
.gh-item .chev{width:9px;height:9px;opacity:.6;transition:transform .35s var(--ease)}
.gh-item[aria-expanded="true"] .chev{transform:rotate(180deg)}
.gh-item .ext{width:9px;height:9px;opacity:.6}
.gh-links > .gh-ind,.gh-ind{position:absolute;bottom:3px;left:0;height:2px;width:0;border-radius:2px;background:var(--red-on-dark);opacity:0;transition:transform .5s var(--ease-out),width .5s var(--ease-out),opacity .3s;pointer-events:none}
.gh-right{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.gh-phone{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;color:#E8E8ED;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:8px 4px}
.gh-phone svg{width:14px;height:14px;color:var(--red-on-dark)}
.gh-phone small{display:block;font-size:10px;color:var(--grey-dark);letter-spacing:.04em;text-transform:uppercase;line-height:1}
.gh-phone span{display:flex;flex-direction:column;gap:3px;line-height:1}
.gh-cta{white-space:nowrap;display:inline-flex;align-items:center;height:36px;padding:0 18px;border-radius:980px;background:var(--red);color:#FFFFFF;font-size:13px;font-weight:500;letter-spacing:-0.01em;transition:background-color .3s,transform .3s var(--ease)}
.gh-cta:hover{background:var(--red-press);color:#FFFFFF;text-decoration:none}
.gh-burger{display:none;appearance:none;border:0;background:none;width:44px;height:44px;margin-right:-10px;cursor:pointer;position:relative}
.gh-burger i{position:absolute;left:13px;right:13px;height:1.5px;background:#E8E8ED;border-radius:2px;transition:transform .45s var(--ease),top .45s var(--ease)}
.gh-burger i:first-child{top:18px}.gh-burger i:last-child{top:25px}
.gh.open .gh-burger i:first-child{top:21.5px;transform:rotate(45deg)}
.gh.open .gh-burger i:last-child{top:21.5px;transform:rotate(-45deg)}

/* Mega panels */
.mega{position:absolute;left:0;right:0;top:100%;z-index:1;height:0;overflow:hidden;background:rgba(18,18,19,.96);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);transition:height .5s var(--ease)}
.gh.mega-open .mega{box-shadow:0 40px 80px rgba(0,0,0,.35)}
.mega-pane{max-width:1180px;margin:0 auto;padding:44px max(22px,env(safe-area-inset-right,0px)) 56px max(22px,env(safe-area-inset-left,0px));display:grid;gap:40px 56px;color:#F5F5F7}
.mega-pane[hidden]{display:none}
.mega-pane > *{opacity:0;transform:translateY(-8px)}
.gh.mega-open .mega-pane:not([hidden]) > *{animation:megaIn .5s var(--ease-out) both}
.gh.mega-open .mega-pane > *:nth-child(2){animation-delay:.05s}
.gh.mega-open .mega-pane > *:nth-child(3){animation-delay:.1s}
@keyframes megaIn{to{opacity:1;transform:none}}
.mg-col{display:flex;flex-direction:column;gap:6px;min-width:0}
.mg-label{font-size:12px;color:var(--grey-dark);margin:0 0 10px;letter-spacing:.02em}
.mg-big{font-size:24px;font-weight:600;letter-spacing:-0.02em;color:#F5F5F7;padding:4px 0;line-height:1.25}
.mg-big:hover{color:#FFFFFF;text-decoration:none;opacity:.8}
.mg-small{font-size:14px;color:#D2D2D7;padding:4px 0}
.mg-small:hover{color:#FFFFFF;text-decoration:none}
.mg-feature{display:flex;gap:20px;align-items:center;background:rgba(255,255,255,.06);border-radius:20px;padding:22px;color:#F5F5F7;transition:background-color .3s}
.mg-feature:hover{background:rgba(255,255,255,.1);text-decoration:none;color:#FFFFFF}
.mg-feature .mk{flex:0 0 72px;height:72px;border-radius:18px;background:var(--red);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.mg-feature .mk svg{width:44px}
.mg-feature b{display:block;font-size:17px;font-weight:600;letter-spacing:-0.01em;margin-bottom:4px}
.mg-feature span{font-size:14px;color:var(--grey-dark)}
.mg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mg-stats div{display:flex;flex-direction:column;gap:4px}
.mg-stats b{font-size:34px;font-weight:700;letter-spacing:-0.04em;line-height:1}
.mg-stats b sup{font-size:.5em;color:var(--red-on-dark);vertical-align:.7em}
.mg-stats span{font-size:12px;color:var(--grey-dark)}
.mg-area{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:18px;color:#F5F5F7;transition:background-color .3s}
.mg-area:hover{background:rgba(255,255,255,.06);text-decoration:none;color:#FFFFFF}
.mg-area b{font-size:17px;font-weight:600;letter-spacing:-0.01em}
.mg-area span{font-size:14px;color:var(--grey-dark);line-height:1.4}
.mg-area i{width:8px;height:8px;border-radius:50%;background:var(--red-on-dark);margin-bottom:8px}
.mg-brands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.mg-brand{display:flex;flex-direction:column;gap:12px;color:#F5F5F7}
.mg-brand:hover{text-decoration:none;color:#FFFFFF}
.mg-brand .lg{height:128px;border-radius:16px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;padding:22px 26px;overflow:hidden;transition:transform .5s var(--ease)}
.mg-brand:hover .lg{transform:scale(1.04)}
.mg-brand .lg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;min-width:0}
.mg-brand b{font-size:15px;font-weight:600}
.mg-brand span{font-size:13px;color:var(--grey-dark);margin-top:-8px}
.p-gruppo{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.3fr)}
.p-attivita{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.p-marchi{grid-template-columns:minmax(0,1fr)}
.mg-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.mg-foot a{color:var(--red-on-dark);font-size:14px}
.p-attivita .mg-foot{grid-column:1 / -1}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
.scrim.on{opacity:1;pointer-events:auto}

/* Mobile menu */
.mnav{display:none}
@media (max-width:1240px){.gh-phone{display:none}.gh-item{padding:0 11px}}
@media (max-width:1060px){
  .gh-links,.gh-phone{display:none}
  .gh-burger{display:inline-block}
  .gh-in{height:56px}
  .gh-logo img{height:19px}
  .mnav{display:block;position:fixed;left:0;right:0;top:calc(56px + env(safe-area-inset-top,0px));bottom:0;z-index:45;background:#121213;overflow-y:auto;padding:20px max(22px,env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility 0s linear .4s}
  .gh.open .mnav{opacity:1;visibility:visible;transition:opacity .4s var(--ease)}
  .mnav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
  .mnav li{opacity:0;transform:translateY(-10px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}
  .gh.open .mnav li{opacity:1;transform:none}
  .gh.open .mnav li:nth-child(2){transition-delay:.04s}.gh.open .mnav li:nth-child(3){transition-delay:.08s}.gh.open .mnav li:nth-child(4){transition-delay:.12s}.gh.open .mnav li:nth-child(5){transition-delay:.16s}.gh.open .mnav li:nth-child(6){transition-delay:.2s}.gh.open .mnav li:nth-child(7){transition-delay:.24s}
  .mnav .mb{display:block;font-size:28px;font-weight:600;letter-spacing:-0.025em;color:#F5F5F7;padding:12px 0}
  .mnav .mb:hover{text-decoration:none}
  .mnav .mb[aria-current="page"]{color:var(--red-on-dark)}
  .mnav .sub{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 14px}
  .mnav .sub a{font-size:14px;color:#D2D2D7;background:rgba(255,255,255,.07);border-radius:980px;padding:9px 14px}
  .mnav .sub a:hover{text-decoration:none;color:#FFFFFF}
  .mnav .m-contact{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px;color:var(--grey-dark);font-size:14px}
  .mnav .m-contact b{color:#F5F5F7;font-size:22px;font-weight:600;letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
}
@media (max-width:420px){.gh-cta{padding:0 14px}}
@media (prefers-reduced-motion:reduce){.gh,.mega,.gh-ind,.mnav,.mnav li{transition:none!important}.mega-pane > *{animation:none!important;opacity:1;transform:none}}

/* Buttons and links */
.pill{display:inline-block;border-radius:980px;font-size:17px;letter-spacing:-0.022em;padding:12px 24px;background:var(--red);color:#FFFFFF;border:0;font-family:inherit;cursor:pointer;transition:background-color .3s var(--ease)}
.pill:hover{background:var(--red-press);text-decoration:none;color:#FFFFFF}
.more{font-size:19px;letter-spacing:-0.01em}
.dark .more,.ink .more{color:var(--red-on-dark)}
.actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 32px}

/* Shared type */
.eyebrow{margin:0;font-size:21px;font-weight:600;letter-spacing:.011em}
.dark .eyebrow.r{color:var(--red-on-dark)}
.eyebrow.r{color:var(--red)}
.d1{font-size:clamp(48px,8.6vw,104px);line-height:1.02;font-weight:700;letter-spacing:-0.045em;margin:0}
.d2{font-size:clamp(40px,6vw,72px);line-height:1.04;font-weight:700;letter-spacing:-0.045em;margin:0}
.d3{font-size:clamp(34px,4.6vw,56px);line-height:1.06;font-weight:700;letter-spacing:-0.04em;margin:0}
.lede{margin:0;max-width:680px;font-size:clamp(19px,2vw,24px);line-height:1.42;letter-spacing:.009em;color:var(--grey)}
.dark .lede{color:var(--grey-dark)}
.soft{color:var(--grey-2)}

/* Entrance on every page change */
.in{animation:in 1.1s var(--ease-out) both}
.in.t1{animation-delay:.1s}.in.t2{animation-delay:.2s}.in.t3{animation-delay:.3s}.in.t4{animation-delay:.4s}
@keyframes in{from{opacity:.001;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Page header */
.phead{text-align:center}
.phead .wrap{padding-block:clamp(96px,12vw,150px) clamp(72px,9vw,110px);display:flex;flex-direction:column;align-items:center;gap:22px}
.phead .lede{margin-top:6px}
.crumb{font-size:14px;color:var(--grey)}
.dark .crumb{color:var(--grey-dark)}
.crumb a{color:inherit}

/* Home hero */
.hero{text-align:center;overflow:hidden}
.hero .wrap{padding-block:120px 0;display:flex;flex-direction:column;align-items:center}
.hero .eyebrow{margin-bottom:14px}
.hero h1 span{display:inline-block}
.hero .lede{margin-top:28px}
.hero .actions{margin-top:36px}
.stage{margin-top:96px;width:100%;display:flex;justify-content:center}
.mark{position:relative;width:min(440px,74vw);max-width:100%;aspect-ratio:1;margin-bottom:-18%}
.mark .body{position:absolute;inset:0;border-radius:23%;background:var(--red);box-shadow:0 80px 160px rgba(181,31,32,.38),0 30px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 6px rgba(0,0,0,.22)}
.mark .sheen{position:absolute;inset:0;border-radius:23%;background:radial-gradient(120% 90% at 22% 8%,rgba(255,255,255,.22),rgba(255,255,255,0) 52%)}
.mark svg{position:absolute;left:20%;top:21%;width:60%;height:auto}
.rise{animation:rise 1.6s var(--ease-out) .35s both}
@keyframes rise{from{transform:translateY(70px) scale(.94)}to{transform:none}}

/* Statement */
.statement{padding-block:clamp(160px,20vw,240px) clamp(110px,13vw,160px)}
.statement p{margin:0 auto;max-width:960px;font-size:clamp(30px,4.4vw,54px);line-height:1.14;font-weight:600;letter-spacing:-0.03em}
.statement .sig{color:var(--red)}

/* Figures */
.figures{padding-block:0 clamp(140px,16vw,200px)}
.figures .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:48px 32px;text-align:center}
.fig{display:flex;flex-direction:column;gap:8px}
.fig b{font-size:clamp(56px,6vw,80px);font-weight:700;letter-spacing:-0.05em;line-height:1;font-variant-numeric:tabular-nums}
.fig b sup{font-size:.5em;vertical-align:.7em;letter-spacing:0;color:var(--red);margin-left:2px}
.fig span{color:var(--grey)}
.dark .fig span{color:var(--grey-dark)}
.dark .fig b sup{color:var(--red-on-dark)}

/* Section heads */
.head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.head p:not(.eyebrow){margin:0;max-width:620px;font-size:21px;line-height:1.45;color:var(--grey)}
.dark .head p:not(.eyebrow){color:var(--grey-dark)}
.band{padding-block:clamp(120px,14vw,160px)}
.band .wrap{display:flex;flex-direction:column;gap:clamp(56px,7vw,72px)}

/* Bento */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.c4{grid-column:span 4}.c2{grid-column:span 2}.c3{grid-column:span 3}.c6{grid-column:span 6}
@media (max-width:860px){.bento{grid-template-columns:minmax(0,1fr)}.c4,.c2,.c3,.c6{grid-column:auto}}
.tile{border-radius:28px;padding:44px;min-height:400px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;background:var(--paper);color:var(--ink);transition:transform .6s var(--ease)}
a.tile:hover{transform:scale(1.012);text-decoration:none}
.mist .tile{background:var(--paper)}
.paper-bg .tile{background:var(--mist)}
.tile .kicker{font-size:17px;font-weight:600;color:var(--red)}
.tile h3{margin:0;font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-0.035em}
.tile.big h3{font-size:clamp(34px,4.2vw,54px);line-height:1.04;letter-spacing:-0.04em}
.tile p{margin:14px 0 0;max-width:460px;color:var(--grey)}
.tile .go{display:inline-block;margin-top:20px;font-size:17px;color:var(--red)}
.tile.ink{background:var(--black);color:#F5F5F7}
.tile.ink .kicker,.tile.ink .go{color:var(--red-on-dark)}
.tile.ink p{color:var(--grey-dark)}
.tile.short{min-height:300px}
.dots{display:flex;gap:10px}
.dots i{width:14px;height:14px;border-radius:50%}
.tile-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
@media (max-width:520px){.tile{padding:32px 28px;min-height:340px}.tile.short{min-height:240px}}

/* Brand rail */
.rail-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px}
.rail-ctrl{display:flex;gap:12px}
.rail-ctrl button{appearance:none;border:0;width:44px;height:44px;border-radius:50%;background:var(--mist);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .3s,opacity .3s}
.rail-ctrl button:hover{background:var(--mist-2)}
.rail-ctrl button:disabled{opacity:.35;cursor:default}
.rail-ctrl svg{width:16px;height:16px}
.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:28px 48px;padding-left:max(22px,env(safe-area-inset-left,0px),calc((100% - 1080px)/2 + 22px));padding-right:var(--gutter-r);scroll-padding-left:max(22px,env(safe-area-inset-left,0px),calc((100% - 1080px)/2 + 22px))}
.rail::-webkit-scrollbar{display:none}
.rail .end{flex:0 0 1px}
.card{flex:0 0 min(340px,82vw);scroll-snap-align:start;background:var(--mist);color:var(--ink);border-radius:28px;padding:36px 32px;min-height:500px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.10);text-decoration:none;color:var(--ink)}
.card .sector{font-size:14px;font-weight:600}
.card h3{margin:8px 0 0;font-size:28px;line-height:1.12;font-weight:700;letter-spacing:-0.03em}
.card .logo{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:12px;min-height:180px}
.card .logo img{width:auto;height:auto}
.card p{margin:0;font-size:15px;line-height:1.45;color:var(--grey)}
.card p b{color:var(--ink);font-weight:600}
.card .go{font-size:15px;color:var(--red);margin-top:10px;display:inline-block}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.brand-grid .card{flex:none;min-height:520px}

/* Steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:48px 32px}
.steps li{display:flex;flex-direction:column;gap:14px}
.steps .n{font-size:56px;font-weight:700;letter-spacing:-0.04em;line-height:1;color:#424245;font-variant-numeric:tabular-nums}
.steps li:last-child .n{color:var(--red-on-dark)}
.steps h3{margin:0;font-size:24px;font-weight:600;letter-spacing:-0.02em}
.steps p{margin:0;color:var(--grey-dark)}
.center{display:flex;justify-content:center}

/* Alternating feature rows (Attività) */
.feature{display:flex;flex-wrap:wrap;align-items:center;gap:40px clamp(40px,7vw,96px)}
.feature.flip{flex-direction:row-reverse}
.feature .txt{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:18px}
.feature .txt p{margin:0;font-size:19px;line-height:1.5;color:var(--grey)}
.feature .vis{flex:1 1 400px;min-width:0;aspect-ratio:5/4;max-width:100%;border-radius:28px;background:var(--mist);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.feature .vis.ink{background:var(--black)}
.feature .vis svg{width:34%;height:auto}
.feature .vis .tag{position:absolute;left:28px;bottom:24px;font-size:14px;font-weight:600;color:var(--grey)}
.feature .vis.ink .tag{color:var(--grey-dark)}
.checks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.checks li{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px;display:flex;gap:14px;align-items:baseline}
.checks li::before{content:"";flex:0 0 7px;height:7px;border-radius:50%;background:var(--red);transform:translateY(-2px)}
.stack{display:flex;flex-direction:column;gap:clamp(110px,14vw,160px)}

/* Group structure diagram */
.org{display:flex;flex-direction:column;align-items:center;gap:0}
.org .root{background:var(--red);color:#FFFFFF;border-radius:20px;padding:22px 34px;display:flex;align-items:center;gap:14px;font-size:21px;font-weight:600;letter-spacing:-0.01em}
.org .root svg{width:30px;height:auto}
.org .stem{width:1px;height:48px;background:var(--line)}
.org .branches{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;padding-top:28px;border-top:1px solid var(--line)}
.org .node{background:var(--paper);border-radius:18px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--ink);transition:transform .5s var(--ease)}
a.node:hover{transform:translateY(-4px);text-decoration:none;color:var(--ink)}
.org .node .lg{height:60px;display:flex;align-items:center;justify-content:center}
.org .node .lg img{max-height:56px;max-width:120px;width:auto}
.org .node span{font-size:13px;color:var(--grey)}
.org .node.digital{background:var(--black);color:#F5F5F7}
.org .node.digital span{color:var(--grey-dark)}
.org .node.digital .lg{font-size:17px;font-weight:600}

/* Brand page */
.bhero{text-align:center}
.bhero .wrap{padding-block:clamp(80px,10vw,120px) 0;display:flex;flex-direction:column;align-items:center;gap:20px}
.bstage{margin-top:clamp(48px,6vw,72px);width:100%;max-width:980px;aspect-ratio:16/8;border-radius:32px;background:var(--mist);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.bstage img{max-width:56%;max-height:58%;width:auto;height:auto}
.bstage .stripe{position:absolute;left:0;right:0;bottom:0;height:8px}
@media (max-width:600px){.bstage{aspect-ratio:4/3}}
.bbody{padding-block:clamp(96px,12vw,140px)}
.bbody .wrap{display:flex;flex-wrap:wrap;gap:48px clamp(48px,8vw,112px)}
.bbody .about{flex:2 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.bbody .about p{margin:0;font-size:clamp(21px,2vw,26px);line-height:1.42;letter-spacing:-0.01em}
.bbody .about p + p{font-size:19px;color:var(--grey);letter-spacing:0}
.facts{flex:1 1 280px;min-width:0;margin:0;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.facts div{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.facts dt{font-size:14px;color:var(--grey)}
.facts dd{margin:0;font-size:19px;font-weight:600;letter-spacing:-0.01em}
.pager{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}
.pager a{background:var(--mist);border-radius:24px;padding:28px 32px;display:flex;flex-direction:column;gap:6px;color:var(--ink);transition:background-color .3s}
.pager a:hover{background:var(--mist-2);text-decoration:none}
.pager a span{font-size:14px;color:var(--grey)}
.pager a b{font-size:24px;font-weight:700;letter-spacing:-0.02em}
.pager a.next{text-align:right}

/* Partners */
.partners{text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.partners h2{margin:0;font-size:17px;font-weight:400;color:var(--grey)}
.dark .partners h2{color:var(--grey-dark)}
.partners ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 64px;font-size:26px;font-weight:600;letter-spacing:-0.02em;color:var(--grey-2)}

/* Digital panel */
.panel{background:var(--paper);border-radius:28px;padding:clamp(36px,6vw,80px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:40px}
.paper-bg .panel{background:var(--mist)}
.panel > div{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.panel .kicker{font-size:17px;font-weight:600;color:var(--red)}
.panel p{margin:0;max-width:520px;font-size:19px;line-height:1.45;color:var(--grey)}

/* CTA band */
.cta{padding-block:clamp(140px,16vw,200px)}
.cta .head{gap:32px}
.cta h2 span{color:var(--red)}

/* Contact page */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.ccard{background:var(--mist);border-radius:28px;padding:36px 32px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ccard .kicker{font-size:15px;font-weight:600;color:var(--red)}
.ccard h3{margin:0;font-size:24px;font-weight:700;letter-spacing:-0.02em;line-height:1.2}
.ccard .val{font-size:19px;font-weight:600;letter-spacing:-0.01em;overflow-wrap:anywhere;user-select:all}
.ccard p{margin:0;color:var(--grey)}
.copy{align-self:flex-start;appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:980px;padding:10px 18px;font:inherit;font-size:14px;cursor:pointer;min-height:44px;transition:background-color .3s}
.copy:hover{background:var(--mist-2)}
.form{background:var(--mist);border-radius:32px;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form .full{grid-column:1 / -1}
@media (max-width:640px){.form{grid-template-columns:minmax(0,1fr)}}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-size:14px;font-weight:600}
.field input,.field select,.field textarea{font:inherit;font-size:17px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:52px;width:100%;transition:border-color .3s,box-shadow .3s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(181,31,32,.12)}
.form .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.form .note{font-size:14px;color:var(--grey);margin:0;max-width:560px}
.sent{grid-column:1 / -1;background:var(--paper);border-radius:20px;padding:22px 24px;font-size:17px}
.sent b{display:block;margin-bottom:4px}

/* Contact wizard */
.wiz{background:var(--paper);border-radius:32px;padding:clamp(28px,5vw,64px);box-shadow:0 40px 80px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:32px;max-width:880px;width:100%;margin:0 auto}
.wiz fieldset{border:0;margin:0;padding:0;min-width:0}
.wiz-steps{list-style:none;margin:0;padding:0;display:flex;gap:8px 28px;flex-wrap:wrap}
.wiz-steps li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--grey-2);transition:color .4s}
.wiz-steps li span{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:var(--mist);color:var(--grey);transition:background-color .4s,color .4s}
.wiz-steps li.on{color:var(--ink)}
.wiz-steps li.on span{background:var(--red);color:#FFFFFF}
.wiz-steps li.ok span{background:var(--ink);color:#FFFFFF}
.wiz-bar{height:3px;background:var(--mist);border-radius:3px;overflow:hidden;margin-top:-14px}
.wiz-bar i{display:block;height:100%;width:33.3%;background:var(--red);border-radius:3px;transition:width .6s var(--ease-out)}
.wiz-q{font-size:clamp(28px,3.4vw,40px);font-weight:700;letter-spacing:-0.035em;line-height:1.1;margin:0 0 28px;padding:0}
.wiz-pane{animation:paneIn .55s var(--ease-out) both}
.wiz-pane.back{animation-name:paneBack}
@keyframes paneIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes paneBack{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.choice{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 22px 56px;border-radius:20px;border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:border-color .3s,box-shadow .3s,background-color .3s}
.choice:hover{border-color:var(--grey-2)}
.choice input{position:absolute;left:22px;top:24px;width:20px;height:20px;margin:0;accent-color:var(--red)}
.choice .ch-k{font-size:19px;font-weight:600;letter-spacing:-0.015em}
.choice .ch-d{font-size:15px;color:var(--grey)}
.choice:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red);background:#FCF6F6}
.choice:has(input:focus-visible){outline:2px solid var(--red);outline-offset:3px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid2 .full{grid-column:1 / -1}
@media (max-width:640px){.grid2{grid-template-columns:minmax(0,1fr)}}
.field label,.flabel{font-size:14px;font-weight:600}
.field em,.check em{font-style:normal;font-weight:400;color:var(--grey-2)}
.field.bad input:not([type=checkbox]):not([type=radio]):not([type=file]),.field.bad textarea,.field.bad select{border-color:var(--red);box-shadow:0 0 0 4px rgba(181,31,32,.10)}
.err{margin:0;font-size:14px;color:var(--red)}
.count{align-self:flex-end;font-size:13px;color:var(--grey-2);font-variant-numeric:tabular-nums}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags label{cursor:pointer}
.tags input{position:absolute;opacity:0;width:1px;height:1px}
.tags span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:980px;border:1px solid var(--line);font-size:15px;transition:all .3s}
.tags span i{width:10px;height:10px;border-radius:50%}
.tags input:checked + span{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
.tags input:focus-visible + span{outline:2px solid var(--red);outline-offset:3px}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:28px 20px;border:1.5px dashed var(--line);border-radius:20px;background:var(--mist);cursor:pointer;transition:border-color .3s,background-color .3s}
.drop:hover,.drop.over{border-color:var(--red);background:#FCF6F6}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop b{font-size:17px;font-weight:600}
.drop span{font-size:14px;color:var(--grey)}
.files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.files li{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:10px 14px;background:var(--mist);border-radius:12px;min-width:0}
.files li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.files li small{color:var(--grey);flex:0 0 auto}
.seg{display:inline-flex;background:var(--mist);border-radius:14px;padding:4px;gap:4px;align-self:flex-start}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border-radius:11px;font-size:15px;color:var(--grey);transition:all .3s}
.seg input:checked + span{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.seg input:focus-visible + span{outline:2px solid var(--red);outline-offset:2px}
.consent{gap:14px;padding-top:8px;border-top:1px solid var(--line)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;font-weight:400!important;cursor:pointer}
.check input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--red)}
.check{padding:4px 0;min-height:44px}
.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--mist-2)}
.wiz-hint{font-size:14px;color:var(--grey-2);flex:1 1 auto;text-align:center}
.ghost{appearance:none;border:0;background:none;font:inherit;font-size:17px;color:var(--red);cursor:pointer;min-height:44px;padding:0 4px}
.done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding-block:12px}
.done .tick{color:var(--red);width:64px;height:64px}
.done .tick svg{width:100%;height:100%}
.done .tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s var(--ease-out) .25s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.done h3{margin:0;font-size:40px;font-weight:700;letter-spacing:-0.035em}
.done > p{margin:0;max-width:560px;font-size:19px;color:var(--grey)}
.done .note{font-size:14px}
.summary{margin:8px 0;width:100%;max-width:520px;text-align:left;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.summary div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.summary dt{color:var(--grey)}
.summary dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.linkbtn{appearance:none;border:0;background:none;font:inherit;font-size:17px;color:var(--red);cursor:pointer;min-height:44px}

/* Legal page */
.legal-doc{display:flex;flex-direction:column;gap:clamp(64px,8vw,96px);max-width:820px}
.lsec{display:flex;flex-direction:column;gap:22px}
.lsec h2{margin:0;font-size:28px;font-weight:700;letter-spacing:-0.025em}
.lsec p{margin:0;font-size:17px;line-height:1.6;color:var(--grey);max-width:68ch}
.lsec .facts{flex:none}
.lsec .facts dd{font-size:17px}
.lbtns{display:flex;flex-wrap:wrap;gap:12px}
.lbtn{appearance:none;border:0;font:inherit;cursor:pointer;background:var(--mist);color:var(--ink);border-radius:980px;padding:12px 20px;font-size:15px;min-height:44px;transition:background-color .3s}
.lbtn:hover{background:var(--mist-2);text-decoration:none;color:var(--ink)}
.cookie-note{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:40;background:rgba(29,29,31,.92);color:#F5F5F7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:14px 20px;font-size:14px;max-width:min(520px,calc(100% - 32px));text-align:center}

/* Footer */
footer{background:var(--mist);color:var(--grey);font-size:12px;line-height:1.33}
footer .wrap{padding-block:32px 24px;display:flex;flex-direction:column;gap:28px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px 24px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.cols div{display:flex;flex-direction:column;gap:10px}
.cols b{color:var(--ink);font-weight:600}
footer a{color:var(--grey)}
footer a:hover{color:var(--ink)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.foot-btn{appearance:none;border:0;background:none;padding:0;font:inherit;color:var(--grey);cursor:pointer}
.foot-btn:hover{color:var(--ink);text-decoration:underline}

/* Page transitions: blur-dissolve between pages, lateral slide between sibling brands, shared logo morph */
::view-transition-old(root){animation:vt-out .42s cubic-bezier(.4,0,.6,1) both}
::view-transition-new(root){animation:vt-in .9s cubic-bezier(.16,1,.3,1) .08s both}
@keyframes vt-out{to{opacity:0;transform:scale(.97);filter:blur(8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(40px) scale(1.01);filter:blur(12px)}}
html:active-view-transition-type(next)::view-transition-old(root){animation:vt-out-l .5s cubic-bezier(.4,0,.2,1) both}
html:active-view-transition-type(next)::view-transition-new(root){animation:vt-in-r .8s cubic-bezier(.16,1,.3,1) both}
html:active-view-transition-type(prev)::view-transition-old(root){animation:vt-out-r .5s cubic-bezier(.4,0,.2,1) both}
html:active-view-transition-type(prev)::view-transition-new(root){animation:vt-in-l .8s cubic-bezier(.16,1,.3,1) both}
@keyframes vt-out-l{to{opacity:0;transform:translateX(-6%);filter:blur(6px)}}
@keyframes vt-out-r{to{opacity:0;transform:translateX(6%);filter:blur(6px)}}
@keyframes vt-in-r{from{opacity:0;transform:translateX(8%);filter:blur(8px)}}
@keyframes vt-in-l{from{opacity:0;transform:translateX(-8%);filter:blur(8px)}}
::view-transition-group(*.brand-logo){animation-duration:.85s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
::view-transition-old(*.brand-logo),::view-transition-new(*.brand-logo){height:100%;object-fit:contain;animation-duration:.5s}
::view-transition-group(gnav){animation:none}

/* Headline word-by-word mask reveal */
.split .ln{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .1em;margin:0 -.02em -.1em}
.split .wd{display:inline-block;animation:wordUp 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 70ms + 100ms)}
@keyframes wordUp{from{transform:translateY(108%) rotate(2deg);opacity:0}to{transform:none;opacity:1}}

/* Hero object: float + pointer tilt */
.stage{perspective:1400px}
.float{position:absolute;inset:0;animation:float 7s ease-in-out 2s infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.tilt{position:absolute;inset:0;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.tilt .sheen{background:radial-gradient(120% 90% at var(--sx,22%) var(--sy,8%),rgba(255,255,255,.26),rgba(255,255,255,0) 52%);transition:background-position .6s}
.tilt svg{transform:translateZ(30px)}

/* Micro-interactions */
.pill,.gh-cta,.copy,.lbtn{transition:background-color .3s var(--ease),transform .25s var(--ease)}
.pill:active,.gh-cta:active,.copy:active,.lbtn:active{transform:scale(.965)}
.bstage{transition:background-color .8s var(--ease)}
.bstage::before{content:"";position:absolute;inset:auto 10% -30% 10%;height:70%;border-radius:50%;background:var(--tint,transparent);opacity:.14;filter:blur(60px);animation:glow 1.4s var(--ease) .3s both}
@keyframes glow{from{opacity:0;transform:translateY(40px)}}
.bstage img{position:relative}
.bstage .stripe{transform-origin:left;animation:stripe 1.1s cubic-bezier(.16,1,.3,1) .45s both}
@keyframes stripe{from{transform:scaleX(0)}}
.fig b{display:inline-block}

/* Scroll-linked motion, where supported */
@supports (animation-timeline: view()){
  .grow{animation:grow linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
  @keyframes grow{from{transform:scale(.86)}to{transform:scale(1.04)}}
  .lift{animation:lift linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  @keyframes lift{from{transform:translateY(56px)}to{transform:none}}
  .zoom{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  @keyframes zoom{from{transform:scale(.94);clip-path:inset(5% 4% round 28px)}to{transform:none;clip-path:inset(0 round 28px)}}
  .feature .vis{animation:unveil linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  @keyframes unveil{from{clip-path:inset(10% 8% round 40px);transform:scale(.96)}to{clip-path:inset(0 round 28px);transform:none}}
  .feature .vis svg,.feature .vis .dots{animation:drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  @keyframes drift{from{transform:translateY(36px)}to{transform:translateY(-36px)}}
  .steps li,.figures .fig,.cgrid .ccard,.brand-grid .card,.org .node{animation:lift linear both;animation-timeline:view()}
  .steps li:nth-child(1),.figures .fig:nth-child(1),.cgrid .ccard:nth-child(1),.brand-grid .card:nth-child(1),.org .node:nth-child(1){animation-range:entry 0% entry 50%}
  .steps li:nth-child(2),.figures .fig:nth-child(2),.cgrid .ccard:nth-child(2),.brand-grid .card:nth-child(2),.org .node:nth-child(2){animation-range:entry 8% entry 62%}
  .steps li:nth-child(3),.figures .fig:nth-child(3),.cgrid .ccard:nth-child(3),.brand-grid .card:nth-child(3),.org .node:nth-child(3){animation-range:entry 16% entry 74%}
  .steps li:nth-child(n+4),.figures .fig:nth-child(n+4),.brand-grid .card:nth-child(n+4),.org .node:nth-child(n+4){animation-range:entry 24% entry 86%}
  .figures .grid.lift,.steps.lift,.cgrid.lift,.org.lift{animation:none}
  .hero .stage{animation-timeline:auto}
  .statement p{animation:none}
  .scrub{view-timeline-name:--st}
  .w{animation:ink linear both;animation-timeline:--st}
  .w1{animation-range:cover 18% cover 28%}.w2{animation-range:cover 24% cover 34%}.w3{animation-range:cover 30% cover 40%}.w4{animation-range:cover 36% cover 46%}
  .w5{animation-name:inkRed;animation-range:cover 42% cover 52%}
  @keyframes ink{from{color:#D2D2D7}to{color:var(--ink)}}
  @keyframes inkRed{from{color:#E7C3C3}to{color:var(--red)}}
}
@media (prefers-reduced-motion:reduce){
  .split .wd,.float,.bstage::before,.bstage .stripe,.feature .vis,.feature .vis svg,.feature .vis .dots,.steps li,.figures .fig,.cgrid .ccard,.brand-grid .card,.org .node{animation:none!important}
  .tilt{transform:none!important}
  .in,.rise,.grow,.lift,.zoom,.w{animation:none!important}
  .tile,.card,.node{transition:none}
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(*.brand-logo){animation:none!important}
}

/* ---------- Phone ---------- */
[hidden]{display:none!important}
.feature .txt p.eyebrow{color:var(--red)}
.pager a{background:var(--paper)}
.pager a:hover{background:var(--paper);box-shadow:0 14px 30px rgba(0,0,0,.06)}
@media (hover:none){a.tile:hover,.card:hover,a.node:hover,.mg-brand:hover .lg{transform:none;box-shadow:none}}
@media (max-width:640px){
  .d1{font-size:clamp(42px,12.4vw,58px);letter-spacing:-0.04em}
  .d2{font-size:clamp(34px,9.6vw,44px)}
  .d3{font-size:clamp(28px,8vw,36px)}
  .eyebrow{font-size:17px}
  .lede{font-size:18px;line-height:1.45}
  .phead .wrap{padding-block:64px 52px;gap:16px}
  .hero .wrap{padding-top:72px}
  .hero .lede{margin-top:20px}
  .hero .actions{margin-top:28px}
  .actions{gap:14px 24px}
  .more{font-size:17px}
  .stage{margin-top:56px}
  .mark{width:min(320px,78vw)}
  .statement{padding-block:104px 64px}
  .statement p{font-size:27px;line-height:1.2;letter-spacing:-0.025em}
  .figures{padding-bottom:96px}
  .figures .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 12px}
  .fig b{font-size:52px}
  .fig span{font-size:15px}
  .band{padding-block:84px}
  .band .wrap{gap:40px}
  .head{gap:14px}
  .head p:not(.eyebrow){font-size:17px}
  .bento{gap:12px}
  .tile,.tile.big{min-height:0;padding:28px 24px;gap:44px;border-radius:24px}
  .tile.short{min-height:0}
  .tile h3,.tile.big h3{font-size:28px;line-height:1.1}
  .tile p{font-size:16px}
  .rail-top{align-items:flex-start}
  .rail-ctrl{display:none}
  .rail{gap:12px;padding-block:20px 32px}
  .card{flex-basis:78vw;min-height:420px;padding:28px 24px;border-radius:24px}
  .card .logo{min-height:150px}
  .brand-grid{gap:12px}
  .brand-grid .card{min-height:400px}
  .stack{gap:88px}
  .feature,.feature.flip{flex-direction:column;align-items:stretch;gap:28px}
  .feature .txt,.feature .vis{flex:none}
  .feature .vis{order:-1;aspect-ratio:4/3;border-radius:24px}
  .feature .vis .tag{left:20px;bottom:18px;font-size:13px}
  .feature .txt{gap:14px}
  .feature .txt p{font-size:17px}
  .checks li{font-size:16px;padding:12px 0}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
  .steps .n{font-size:42px}
  .steps h3{font-size:20px}
  .steps p{font-size:15px}
  .org .root{font-size:18px;padding:18px 24px}
  .org .branches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .org .node:last-child{grid-column:1 / -1}
  .bhero .wrap{padding-top:56px;gap:14px}
  .bstage{border-radius:24px;margin-top:36px}
  .bbody{padding-block:64px}
  .bbody .about p{font-size:20px}
  .bbody .about p + p{font-size:17px}
  .pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pager a{padding:18px 18px;border-radius:20px}
  .pager a b{font-size:17px}
  .pager a span{font-size:12px}
  .panel{padding:32px 24px;border-radius:24px;gap:28px}
  .panel p{font-size:17px}
  .partners ul{gap:10px 28px;font-size:19px}
  .cta{padding-block:104px}
  .cta .head{gap:26px}
  .cgrid{gap:12px}
  .ccard{padding:28px 24px;border-radius:24px}
  .wiz{padding:24px 18px 20px;border-radius:24px;gap:22px}
  .wiz-steps{gap:6px 16px}
  .wiz-steps li:not(.on){font-size:0;gap:0}
  .wiz-q{font-size:26px;margin-bottom:18px}
  .choices{gap:10px}
  .choice{padding:16px 16px 16px 50px;border-radius:16px}
  .choice input{left:17px;top:18px}
  .choice .ch-k{font-size:17px}
  .choice .ch-d{font-size:14px}
  .grid2{gap:16px}
  .field input,.field select,.field textarea{font-size:16px}
  .wiz-hint{display:none}
  .wiz-nav{gap:12px}
  .wiz-nav .pill{flex:1 1 auto;text-align:center;padding-block:14px}
  .seg{align-self:stretch}.seg label{flex:1 1 0}.seg span{justify-content:center;width:100%}
  .done h3{font-size:32px}
  .summary div{flex-direction:column;gap:2px}.summary dd{text-align:left}
  .legal-doc{gap:56px}
  .lsec h2{font-size:24px}
  .lbtns .lbtn{flex:1 1 100%;text-align:center}
  footer .wrap{padding-block:28px calc(24px + env(safe-area-inset-bottom,0px))}
  .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
  .cols div{gap:4px}
  footer a,.foot-btn{font-size:14px;padding:6px 0;display:inline-block}
  .legal{flex-direction:column;gap:12px;font-size:12px;line-height:1.5}
  .legal-links a,.legal-links .foot-btn{font-size:13px;padding:4px 0}
}

/* Production extras */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:10px}
.skip:focus{left:max(16px,env(safe-area-inset-left,0px))}
.form-error{margin:0;padding:14px 16px;border-radius:14px;background:#FCF0F0;color:var(--red);font-size:15px}
.wiz-nav .pill[aria-busy="true"]{opacity:.7;pointer-events:none}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.nf{text-align:center}
.nf .wrap{padding-block:clamp(120px,16vw,200px);display:flex;flex-direction:column;align-items:center;gap:22px}
