/* Textile2day APS — utility leggere + componenti odd- */
:root{
  --bg:#FFFFFF;--alt:#F3F3F1;--ink:#121212;--dark:#121212;--dark-2:#1C1C1C;
  --red:#D7261E;--red-on-dark:#FF7A6E;--blue:#1F5FBF;--blue-on-dark:#8FB4F0;
  --muted:#555555;--muted-on-dark:#B5B5B0;--line:#E2E2DE;--line-dark:#2E2E2C;
  --f-head:"Outfit",system-ui,sans-serif;--f-body:"Nunito Sans",system-ui,sans-serif;
  --wrap:1200px;--gut:clamp(16px,4vw,32px);--r-card:2px;--r-pill:999px;
  --long:1px 1px 0 var(--line),2px 2px 0 var(--line),3px 3px 0 var(--line),4px 4px 0 var(--line),5px 5px 0 var(--line),6px 6px 0 var(--line),7px 7px 0 var(--line),8px 8px 0 var(--line);
  --long-dark:1px 1px 0 #000,2px 2px 0 #000,3px 3px 0 #000,4px 4px 0 #000,5px 5px 0 #000,6px 6px 0 #000,7px 7px 0 #000,8px 8px 0 #000,9px 9px 0 #000,10px 10px 0 #000;
  accent-color:var(--red);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.7 var(--f-body);overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:600;line-height:1.12;margin:0 0 .6em;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.6vw,4.4rem);font-weight:700;letter-spacing:-.025em}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}
h3{font-size:1.28rem}
p,li{text-wrap:pretty}
p{margin:0 0 1.1em}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
strong{font-weight:700}
small{font-size:.86rem}
table{border-collapse:collapse;width:100%}

/* ---------- utility ---------- */
.u-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.u-prose{max-width:70ch}
.u-muted{color:var(--muted)}
.u-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.u-mt0{margin-top:0}.u-mb0{margin-bottom:0}
.u-grid{display:grid;gap:clamp(20px,3vw,40px)}
@media (min-width:768px){.u-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.u-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.u-g-side{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media (min-width:1024px){.u-g4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:480px) and (max-width:1023px){.u-g4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- skip + progress ---------- */
.odd-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--red);color:#fff;padding:12px 18px;border-radius:var(--r-pill);font-weight:700}
.odd-skip:focus{top:12px;color:#fff}
.odd-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red-on-dark);transform-origin:0 50%;transform:scaleX(0);display:none}
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    .odd-progress{display:block;animation:odd-grow linear both;animation-timeline:scroll(root)}
  }
}
@keyframes odd-grow{to{transform:scaleX(1)}}

/* ---------- utility bar + header ---------- */
.odd-util{background:#000;color:var(--muted-on-dark);font-size:.85rem}
.odd-util .u-wrap{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:space-between;padding-block:6px}
.odd-util a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.odd-util a:hover{color:var(--red-on-dark)}
.odd-util__links{display:flex;flex-wrap:wrap;gap:4px 18px}
.odd-head{position:sticky;top:0;z-index:40;background:var(--dark);color:#fff;border-bottom:1px solid var(--line-dark)}
.odd-head__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.odd-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:600 1.2rem/1 var(--f-head);letter-spacing:-.01em}
.odd-logo small{display:block;font:400 .72rem/1.3 var(--f-body);color:var(--muted-on-dark);letter-spacing:.06em;text-transform:uppercase}
.odd-logo:hover{color:#fff}
.odd-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 6px}
.odd-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;position:relative}
.odd-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:1px;background:var(--red-on-dark);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.odd-nav a:hover::after,.odd-nav a[aria-current="page"]::after{transform:scaleX(1)}
.odd-nav a[aria-current="page"]{color:var(--red-on-dark)}
.odd-burger{display:none;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 14px;border:1px solid #555;border-radius:var(--r-pill);background:transparent;color:#fff;font:600 .95rem var(--f-body);cursor:pointer}
.odd-burger svg{width:20px;height:20px}
.odd-panel__close{display:none}
@media (max-width:1023px){
  .js .odd-burger{display:inline-flex}
  .js .odd-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--dark);border-left:1px solid var(--line-dark);padding:20px 22px 40px;transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;z-index:60;overflow-y:auto}
  .js .odd-nav ul{flex-direction:column;gap:4px;margin-top:20px}
  .js .odd-nav a{font-size:1.15rem;min-height:52px;border-bottom:1px solid var(--line-dark);width:100%}
  .js .odd-nav a::after{display:none}
  .js .odd-panel__close{display:inline-flex}
  .odd-head:has(.odd-burger[aria-expanded="true"]) .odd-nav{transform:none;visibility:visible;transition:transform .3s ease}
  .odd-scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;opacity:0;pointer-events:none;transition:opacity .3s}
  .odd-head:has(.odd-burger[aria-expanded="true"]) .odd-scrim{opacity:1;pointer-events:auto}
  html:has(.odd-burger[aria-expanded="true"]){overflow:hidden}
}
@media (max-width:1023px){html:not(.js) .odd-head__in{flex-wrap:wrap;padding-block:8px}}

/* ---------- buttons (testo + sottolineatura animata, contenitore a pillola) ---------- */
.odd-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid currentColor;border-radius:var(--r-pill);color:inherit;text-decoration:none;font:600 1rem var(--f-head);background:transparent;cursor:pointer}
.odd-btn span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s ease;padding-bottom:2px}
.odd-btn:hover span,.odd-btn:focus-visible span{background-size:100% 1px}
.odd-btn--red{background:var(--red);border-color:var(--red);color:#fff}
.odd-btn--red:hover{color:#fff}
.odd-btn svg{width:18px;height:18px}
.odd-tlink{color:inherit;font-weight:700;text-decoration:none;background:linear-gradient(var(--red),var(--red)) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .3s}
.odd-tlink:hover{background-size:0 1px;color:inherit}
.odd-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* ---------- bands ---------- */
.odd-band{padding-block:clamp(56px,8vw,104px)}
.odd-band--alt{background:var(--alt)}
.odd-band--dark{background:var(--dark);color:#EDEDEA;
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 119px 120px)}
.odd-band--dark h2,.odd-band--dark h3{color:#fff}
.odd-band--dark a:not(.odd-btn){color:var(--blue-on-dark)}
.odd-band--dark .u-muted,.odd-band--dark .odd-kicker{color:var(--muted-on-dark)}
.odd-kicker{display:flex;align-items:center;gap:10px;font:600 .8rem/1.2 var(--f-head);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:14px}
.odd-kicker::before{content:"";width:28px;height:1px;background:var(--red)}
.odd-band--dark .odd-kicker::before{background:var(--red-on-dark)}
.odd-lead{font-size:1.18rem;line-height:1.6;max-width:62ch}
.odd-fence{height:26px;background:var(--dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='26' viewBox='0 0 24 26'%3E%3Cpath d='M0 6.5 6 3l6 3.5L18 3l6 3.5M0 19.5 6 23l6-3.5 6 3.5 6-3.5M6 3v0M0 6.5v13M12 6.5v13M24 6.5v13' fill='none' stroke='%23555' stroke-width='1'/%3E%3C/svg%3E") repeat-x center;border-block:1px solid #2E2E2C}
.odd-fence--light{background-color:var(--alt);border-color:var(--line)}

/* ---------- hero ---------- */
.odd-hero{background:var(--dark);color:#fff;padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px);position:relative;overflow:hidden;
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.04) 119px 120px)}
.odd-hero__grid{display:grid;gap:36px;align-items:end}
@media (min-width:1024px){.odd-hero__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.odd-hero h1{color:#fff}
.odd-hero h1 em{font-style:normal;color:var(--red-on-dark)}
.odd-hero p{color:#D6D6D2}
.odd-hero__art{color:#8A8A85}
.odd-stats{list-style:none;margin:clamp(36px,6vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #333}
@media (min-width:1024px){.odd-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.odd-stats li{padding:22px 18px 6px 0;border-bottom:1px solid #333}
.odd-stats li+li{padding-left:18px;border-left:1px solid #333}
.odd-stats li:nth-child(3){border-left:0;padding-left:0}
@media (min-width:1024px){.odd-stats li:nth-child(3){border-left:1px solid #333;padding-left:18px}.odd-stats li{border-bottom:0}}
.odd-stats b{display:block;font:700 clamp(2.4rem,6vw,4.4rem)/1 var(--f-head);color:#fff;letter-spacing:-.03em}
.odd-stats b sup{font-size:.42em;color:var(--red-on-dark);vertical-align:.9em;margin-left:2px}
.odd-stats span{display:block;color:var(--muted-on-dark);font-size:.94rem;margin-top:8px;max-width:24ch}

/* page head (interne) */
.odd-phead{background:var(--dark);color:#fff;padding-block:clamp(40px,6vw,80px) clamp(36px,5vw,64px);
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.04) 119px 120px)}
.odd-phead h1{color:#fff;max-width:20ch}
.odd-phead p{color:#D6D6D2}
.odd-crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.88rem;color:var(--muted-on-dark)}
.odd-crumbs li+li::before{content:"/";margin-right:6px;color:#666}
.odd-crumbs a{color:#fff}
.odd-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.9rem;color:var(--muted-on-dark);margin-top:18px}

/* ---------- glass cards con ombra lunga ---------- */
.odd-glass{position:relative;padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:var(--r-card);background:rgba(243,243,241,.72);box-shadow:var(--long)}
@supports (backdrop-filter:blur(8px)){.odd-glass{backdrop-filter:blur(8px) saturate(1.2);background:rgba(255,255,255,.62)}}
.odd-band--dark .odd-glass,.odd-hero .odd-glass{border-color:rgba(255,255,255,.16);background:#1C1C1C;box-shadow:var(--long-dark)}
@supports (backdrop-filter:blur(8px)){.odd-band--dark .odd-glass,.odd-hero .odd-glass{background:rgba(255,255,255,.06)}}
.odd-glass h3{margin-bottom:.4em}
.odd-glass__ico{width:40px;height:40px;color:var(--red);margin-bottom:14px}
.odd-band--dark .odd-glass__ico{color:var(--red-on-dark)}
.odd-price{font:700 2.2rem/1 var(--f-head);letter-spacing:-.02em;margin:6px 0 4px}
.odd-price small{font:400 .9rem var(--f-body);color:var(--muted)}
.odd-band--dark .odd-price small{color:var(--muted-on-dark)}
.odd-glass ul{padding-left:1.1em;margin:.6em 0 0}
.odd-tag{display:inline-block;padding:3px 12px;border:1px solid currentColor;border-radius:var(--r-pill);font:600 .75rem/1.6 var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
.odd-band--dark .odd-tag{color:var(--red-on-dark)}

/* ---------- tables ---------- */
.odd-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card);background:#fff;margin-block:24px}
.odd-table{min-width:540px;font-size:.97rem}
.odd-table caption{text-align:left;padding:16px 18px 6px;font:600 1.02rem var(--f-head);caption-side:top}
.odd-table th,.odd-table td{padding:12px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.odd-table thead th{font:600 .8rem var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--alt)}
.odd-table tbody th{font-weight:700}
.odd-table tr:last-child>*{border-bottom:0}
.odd-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.odd-band--dark .odd-tablewrap{border-color:#333;background:#161616}
.odd-band--dark .odd-table th,.odd-band--dark .odd-table td{border-color:#2A2A2A}
.odd-band--dark .odd-table thead th{background:#1E1E1E;color:var(--muted-on-dark)}

/* ---------- lists, steps, notes ---------- */
.odd-steps{list-style:none;counter-reset:s;padding:0;margin:24px 0;display:grid;gap:0}
.odd-steps li{counter-increment:s;position:relative;padding:18px 0 18px 64px;border-top:1px solid var(--line)}
.odd-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:16px;font:700 1.6rem/1 var(--f-head);color:var(--red)}
.odd-band--dark .odd-steps li{border-color:#2E2E2C}
.odd-band--dark .odd-steps li::before{color:var(--red-on-dark)}
.odd-note{border-left:2px solid var(--red);padding:14px 18px;background:var(--alt);margin:24px 0;font-size:.97rem}
.odd-band--alt .odd-note{background:#fff}
.odd-band--dark .odd-note{background:#1A1A1A;border-color:var(--red-on-dark)}
.odd-no{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}
.odd-no li{position:relative;padding:14px 16px 14px 50px;border:1px solid var(--line);background:#fff}
.odd-no li::before{content:"";position:absolute;left:16px;top:18px;width:18px;height:18px;border:1.5px solid var(--red);border-radius:50%;background:linear-gradient(45deg,transparent 46%,var(--red) 46% 54%,transparent 54%)}
.odd-band--dark .odd-no li{background:#181818;border-color:#2E2E2C}
.odd-dl{display:grid;gap:0;margin:20px 0}
.odd-dl div{display:grid;gap:4px;padding:14px 0;border-top:1px solid var(--line)}
@media (min-width:768px){.odd-dl div{grid-template-columns:200px 1fr;gap:24px}}
.odd-dl dt{font:600 1rem var(--f-head)}
.odd-dl dd{margin:0}
.odd-band--dark .odd-dl div{border-color:#2E2E2C}

/* ---------- calendario ---------- */
.odd-months{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.odd-month{background:#fff;padding:18px 18px 14px;container-type:inline-size}
.odd-month h3{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem;margin-bottom:.5em}
.odd-month h3 span{font:400 .8rem var(--f-body);color:var(--muted)}
.odd-month ul{margin:0;padding-left:1.05em;font-size:.95rem}
.odd-month--now{background:#FFF5F4;outline:2px solid var(--red);outline-offset:-2px}
.odd-band--dark .odd-months{background:#2E2E2C;border-color:#2E2E2C}
.odd-band--dark .odd-month{background:#151515}
.odd-band--dark .odd-month h3 span{color:var(--muted-on-dark)}
.odd-day{list-style:none;padding:0;margin:24px 0;border-left:1px solid var(--line)}
.odd-day li{position:relative;padding:0 0 22px 28px}
.odd-day li::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--red)}
.odd-day time{display:block;font:600 .95rem var(--f-head);color:var(--red)}
.odd-band--dark .odd-day{border-color:#3A3A38}
.odd-band--dark .odd-day time{color:var(--red-on-dark)}
.odd-events{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px}
.odd-event{display:grid;gap:6px 24px;padding:20px 0;border-top:1px solid var(--line)}
@media (min-width:768px){.odd-event{grid-template-columns:150px 1fr}}
.odd-event time{font:700 1.05rem/1.3 var(--f-head)}
.odd-event time span{display:block;font:400 .9rem var(--f-body);color:var(--muted)}
.odd-event h3{margin:0 0 .3em;font-size:1.15rem}
.odd-event p{margin:0}

/* ---------- map ---------- */
.odd-map{border:1px solid var(--line-dark);aspect-ratio:4/3;width:100%;background:#1A1A1A}
.odd-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}

/* ---------- checklist (F4) ---------- */
.odd-check{margin:28px 0}
.odd-check__bar{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.odd-check__bar progress{flex:1 1 220px;height:10px;appearance:none;border:0;background:var(--alt);border-radius:var(--r-pill);overflow:hidden}
.odd-check__bar progress::-webkit-progress-bar{background:var(--alt)}
.odd-check__bar progress::-webkit-progress-value{background:var(--red)}
.odd-check__bar progress::-moz-progress-bar{background:var(--red)}
.odd-check__bar output{font:600 1rem var(--f-head);min-width:9ch}
.odd-check fieldset{border:1px solid var(--line);padding:6px 18px 10px;margin:0 0 18px;background:#fff}
.odd-check legend{font:600 1.05rem var(--f-head);padding:0 8px}
.odd-check label{display:flex;gap:14px;align-items:flex-start;padding:12px 0;min-height:44px;border-bottom:1px solid var(--alt);cursor:pointer}
.odd-check label:last-child{border-bottom:0}
.odd-check input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;margin-top:2px}
.odd-check label:has(input:checked){color:var(--muted)}
.odd-check label:has(input:checked) span{text-decoration:line-through;text-decoration-color:var(--red)}
.odd-check fieldset:has(input:not(:checked)) legend::after{content:""}
.odd-check fieldset:not(:has(input:not(:checked))) legend::after{content:" ✓ completato";color:var(--red);font-size:.85rem}
.odd-check__reset{margin-top:6px}

/* ---------- calcolatore (F2) ---------- */
.odd-calc{display:grid;gap:28px;margin:28px 0;align-items:start}
@media (min-width:1024px){.odd-calc{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.odd-calc form{display:grid;gap:20px}
.odd-field{display:grid;gap:6px}
.odd-field label,.odd-field legend{font:600 .98rem var(--f-head)}
.odd-field fieldset{border:0;padding:0;margin:0;display:grid;gap:6px}
.odd-field .opt{display:flex;gap:12px;align-items:center;min-height:44px;font:400 1rem var(--f-body);cursor:pointer}
.odd-field .opt input{width:20px;height:20px}
.odd-field .opt:has(input:checked){font-weight:700}
.odd-field select,.odd-field input[type=text],.odd-field input[type=email],.odd-field input[type=tel],.odd-field input[type=date],.odd-field textarea{width:100%;min-height:48px;padding:10px 14px;font:inherit;color:var(--ink);background:#fff;border:1px solid #9A9A96;border-radius:var(--r-card);appearance:none}
.odd-field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23121212' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.odd-field textarea{min-height:140px;resize:vertical}
.odd-field input[type=range]{width:100%;min-height:44px}
.odd-field .hint{font-size:.88rem;color:var(--muted)}
@media (min-width:1024px){.odd-result{position:sticky;top:96px}}
.odd-result dl{margin:0;display:grid}
.odd-result dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.odd-result dt{color:var(--muted-on-dark)}
.odd-result dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:#fff}
.odd-result .big{font:700 clamp(2.4rem,5vw,3.4rem)/1 var(--f-head);color:#fff;letter-spacing:-.03em;margin:8px 0 4px}

/* ---------- form contatti ---------- */
.odd-form{display:grid;gap:18px}
@media (min-width:768px){.odd-form .u-g2{display:grid;grid-template-columns:1fr 1fr;gap:18px}}
.odd-form .u-g2{display:grid;gap:18px}
.odd-field:has(:invalid:not(:placeholder-shown)) :is(input,textarea){border-color:var(--red)}
.odd-field.is-err :is(input,select,textarea){border-color:var(--red);border-width:2px}
.odd-err{color:var(--red);font-size:.9rem;font-weight:700;min-height:0}
.odd-err:empty{display:none}
.odd-status{font-weight:700;padding:12px 16px;border-left:2px solid var(--blue);background:#EEF3FB}
.odd-status:empty{display:none}
.odd-form__foot{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.odd-form__foot p{margin:0;font-size:.92rem;color:var(--muted);max-width:52ch}

/* ---------- FAQ ---------- */
.odd-faq details{border-top:1px solid var(--line);padding:4px 0}
.odd-faq details:last-child{border-bottom:1px solid var(--line)}
.odd-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px;font:600 1.08rem/1.35 var(--f-head);padding:10px 0}
.odd-faq summary::-webkit-details-marker{display:none}
.odd-faq summary::after{content:"+";font:400 1.6rem/1 var(--f-head);color:var(--red);transition:transform .2s}
.odd-faq details[open] summary::after{transform:rotate(45deg)}
.odd-faq details p{max-width:70ch}

/* ---------- CTA band + footer ---------- */
.odd-cta{background:var(--red);color:#fff;padding-block:clamp(40px,6vw,72px)}
.odd-cta h2{color:#fff;max-width:22ch}
.odd-cta a{color:#fff}
.odd-cta__grid{display:grid;gap:24px;align-items:end}
@media (min-width:768px){.odd-cta__grid{grid-template-columns:1.4fr 1fr}}
.odd-cta__links{display:grid;gap:6px;font-size:1.08rem}
.odd-foot{background:#0A0A0A;color:var(--muted-on-dark);padding-block:56px 28px;font-size:.95rem}
.odd-foot__cols{display:grid;gap:32px}
@media (min-width:768px){.odd-foot__cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.odd-foot h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:#fff;margin-bottom:14px}
.odd-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.odd-foot a{color:#E4E4E0;text-decoration:none;display:inline-flex;min-height:36px;align-items:center}
.odd-foot a:hover{color:var(--red-on-dark);text-decoration:underline}
.odd-foot__legal{border-top:1px solid #262626;margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.86rem}

/* ---------- illustrazioni ---------- */
.odd-art{color:var(--ink)}
.odd-band--dark .odd-art{color:#C9C9C4}
.odd-art--frame{border:1px solid var(--line);padding:16px;background:#fff}
.odd-band--dark .odd-art--frame{border-color:#2E2E2C;background:transparent}
.odd-figcap{font-size:.88rem;color:var(--muted);margin-top:8px}
.odd-icons{display:grid;gap:1px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));background:var(--line);border:1px solid var(--line);margin:28px 0}
.odd-icons figure{margin:0;background:#fff;padding:18px;display:grid;gap:10px;justify-items:start}
.odd-icons svg{width:36px;height:36px;color:var(--red)}
.odd-icons figcaption{font-size:.92rem}

/* ---------- article ---------- */
.odd-article h2{margin-top:1.6em}
.odd-article h2:first-child{margin-top:0}
.odd-toc{border:1px solid var(--line);padding:18px 22px;background:var(--alt);margin-bottom:32px}
.odd-toc ol{margin:6px 0 0;padding-left:1.2em}
.odd-toc li{padding:3px 0}
.odd-aside{display:grid;gap:24px;align-content:start}
@media (min-width:1024px){.odd-aside{position:sticky;top:100px}}

/* ---------- reveal (clip-path) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .odd-reveal{clip-path:inset(0 0 100% 0);transition:clip-path .9s cubic-bezier(.2,.7,.1,1)}
  .js .odd-reveal.is-in{clip-path:inset(-20px -20px -20px -20px)}
}

@media print{.odd-util,.odd-head,.odd-cta,.odd-foot,.odd-fence{display:none}body{font-size:12pt}}
.odd-result .odd-glass{background:var(--dark);color:#EDEDEA;border-color:#333;box-shadow:var(--long)}
.odd-result .u-muted,.odd-result .odd-kicker{color:var(--muted-on-dark)}
.u-grid>*{min-width:0}
html{overflow-x:hidden}
@supports (overflow:clip){html{overflow-x:clip}}
