/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   KIT "BT" — Biotech Costruzioni (bioedilizia, case in legno, Catania).
   Registro visivo ispirato a wolfhaus.it (solo come riferimento, non clonato): sito CHIARO, molto
   bianco e grigio caldo, foto grandi a tutta larghezza, titoli geometrici LEGGERI, pulsanti a pillola.
   Colori del marchio: blu #232B64 (testi, bande scure, footer) e verde #1B8B44 (azioni, accenti).
   Il kit NON ha blocchi propri: veste i blocchi del core. Tutto scoped su body.kit-bt.
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts/jost-vf-latin.woff2) format('woff2'); }
@font-face { font-family: 'Jost'; font-style: italic; font-weight: 300 500; font-display: swap; src: url(fonts/jost-italic-vf-latin.woff2) format('woff2'); }

.kit-bt {
  --bt-blu: #232B64; --bt-blu-d: #161B42; --bt-blu-l: #3A4590;
  --bt-verde: #1B8B44; --bt-verde-d: #146B34; --bt-verde-l: #5CC77A;
  --bt-carta: #F3F3F1; --bt-grigio: #E9E9E6; --bt-linea: #DCDDDA;
  --bt-ink: #1E2233; --bt-mute: #5E6272;
  --bt-f: 'Jost', 'Futura', 'Century Gothic', system-ui, sans-serif;
  --bt-ease: cubic-bezier(.2,.7,.1,1);
  --fz-display: var(--bt-f); --radius: 0px; --container: 1320px;
  font-family: var(--bt-f); color: var(--bt-ink); background: #fff;
  font-size: 17px; line-height: 1.6;
}
.kit-bt ::selection { background: var(--bt-verde); color: #fff; }

/* ── tipografia: geometrica e leggera ──────────────────────────────────────── */
.kit-bt h1, .kit-bt h2, .kit-bt h3, .kit-bt h4 { font-family: var(--bt-f); font-weight: 400; letter-spacing: -.005em; line-height: 1.12; color: var(--bt-blu); }
.kit-bt h3 { font-weight: 500; }
.kit-bt p { color: var(--bt-mute); }
.kit-bt .eyebrow { font-family: var(--bt-f); font-weight: 500; font-size: 13px; letter-spacing: .14em; color: var(--bt-verde); gap: 10px; }
.kit-bt .eyebrow .pick { display: inline-block; width: 26px; height: 2px; background: currentColor; font-size: 0; overflow: hidden; }
.kit-bt .sec-head { max-width: 760px; }
.kit-bt .sec-head h2, .kit-bt .prose h2, .kit-bt .about-grid h2, .kit-bt .ab-q { font-size: clamp(1.9rem, 3.2vw, 2.9rem); font-weight: 400; }
.kit-bt .sec-head p { font-size: 1.12rem; }
.kit-bt .prose p.lead { font-size: 1.25rem; color: var(--bt-ink); font-weight: 400; }

/* ── pulsanti a pillola, maiuscolo/minuscolo normale ───────────────────────── */
.kit-bt .btn { font-family: var(--bt-f); text-transform: none; letter-spacing: .01em; font-weight: 500; font-size: 16px; padding: 14px 30px; border-width: 1px; }
.kit-bt .btn:hover { transform: none; }
.kit-bt .btn-accent { background: var(--bt-verde); color: #fff; }
.kit-bt .btn-accent:hover { background: var(--bt-verde-d); }
.kit-bt .btn-outline { border-color: rgba(255,255,255,.85); color: #fff; }
.kit-bt .btn-outline:hover { background: #fff; color: var(--bt-blu); }
.kit-bt .btn-ghost { padding: 13px 28px; border: 1px solid var(--bt-blu); color: var(--bt-blu); letter-spacing: .01em; }
.kit-bt .btn-ghost:hover { background: var(--bt-blu); color: #fff; }
.kit-bt .btn-ghost .arr { display: none; }
.kit-bt .btn-dark { background: var(--bt-verde); color: #fff; border-color: var(--bt-verde); }
.kit-bt .btn-dark:hover { background: var(--bt-verde-d); }
.kit-bt .btn-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.85); }
.kit-bt .btn-light:hover { background: #fff; color: var(--bt-blu); }

/* ── header bianco, alto, voci sottili ─────────────────────────────────────── */
.kit-bt .header { background: #fff; border-bottom: 1px solid transparent; }
.kit-bt .header.scrolled { background: rgba(255,255,255,.97); box-shadow: 0 1px 0 var(--bt-linea); backdrop-filter: blur(10px); }
.kit-bt .header .wrap { max-width: none; padding: 18px clamp(18px, 3vw, 40px); gap: 34px; }
.kit-bt .header .logo { height: var(--logo-h, 52px); }
.kit-bt .header.scrolled .logo { height: 44px; }
.kit-bt .header nav > .nav-item > a, .kit-bt .header nav > a { font-family: var(--bt-f); font-size: 16.5px; font-weight: 400; letter-spacing: .005em; text-transform: none; color: var(--bt-ink); }
.kit-bt .header nav > .nav-item > a:hover, .kit-bt .header nav > a:hover { color: var(--bt-verde); }
.kit-bt .header .caret { font-size: 10px; opacity: .5; }
.kit-bt .header .btn, .kit-bt .header .cta { font-size: 15px; padding: 11px 24px; }
.kit-bt .header .mega, .kit-bt .header .submenu { border-radius: 0; border: 0; border-top: 3px solid var(--bt-verde); box-shadow: 0 24px 60px rgba(22,27,66,.14); }
.kit-bt .header .mega-col-title { font-weight: 500; color: var(--bt-blu); font-size: 16px; }
.kit-bt .header .mega-link span, .kit-bt .header .submenu a { font-weight: 400; color: var(--bt-mute); font-size: 15px; }
.kit-bt .header .mega-link:hover span, .kit-bt .header .submenu a:hover { color: var(--bt-verde); }

/* ── hero video: prima riga verde (occhiello), seconda bianca ──────────────── */
.kit-bt .vhero { align-items: flex-end; }
.kit-bt .vhero-ovl { background: linear-gradient(90deg, rgba(22,27,66,.82) 0%, rgba(22,27,66,.45) 45%, rgba(22,27,66,.05) 80%) !important; opacity: 1 !important; }
.kit-bt .vhero-in { max-width: var(--container); padding-bottom: clamp(56px, 11vh, 120px); }
.kit-bt .vhero .eyebrow { display: block; color: var(--bt-verde-l) !important; font-size: clamp(2.1rem, 4.2vw, 3.6rem); font-weight: 400; letter-spacing: -.005em; text-transform: none; line-height: 1.1; margin: 0; }
.kit-bt .vhero h1 { color: #fff; font-size: clamp(2.1rem, 4.2vw, 3.6rem); font-weight: 400; max-width: 22ch; margin: .1em 0 .45em; }
.kit-bt .vhero .sub { color: rgba(255,255,255,.88); font-size: 1.15rem; max-width: 56ch; margin-bottom: 30px; }
.kit-bt .vhero .btn { margin: 0 10px 10px 0; }

/* ── intestazione delle pagine interne ─────────────────────────────────────── */
.kit-bt .page-header { min-height: min(68vh, 640px); display: flex; align-items: flex-end; }
.kit-bt .page-header .veil { background: linear-gradient(90deg, rgba(22,27,66,.86) 0%, rgba(22,27,66,.55) 50%, rgba(22,27,66,.1) 90%); }
.kit-bt .page-header .wrap { width: 100%; padding-bottom: clamp(48px, 8vh, 96px); }
.kit-bt .page-header h1 { color: #fff; font-weight: 400; font-size: clamp(2.2rem, 4.6vw, 3.8rem); max-width: 20ch; }
.kit-bt .page-header .bt-hl { color: var(--bt-verde-l); }
.kit-bt .page-header .eyebrow { color: var(--bt-verde-l); }
.kit-bt .page-header .sub { color: rgba(255,255,255,.86); font-size: 1.15rem; max-width: 58ch; }

/* ── sezioni: bianco e grigio caldo alternati ──────────────────────────────── */
.kit-bt .sec { padding: clamp(64px, 9vw, 120px) 0; }
.kit-bt .sec.alt { background: var(--bt-grigio); }

.kit-bt .prose.narrow { margin-inline: auto; }
.kit-bt .sec:not(.alt) > .wrap > .prose.narrow:has(> .lead) { text-align: center; }
.kit-bt .sec:not(.alt) > .wrap > .prose.narrow:has(> .lead) .eyebrow { justify-content: center; }
.kit-bt .ctaband .btn-light { border: 1px solid rgba(255,255,255,.85); }

/* ── foto + testo 50/50 a TUTTA LARGHEZZA (AboutStats) ─────────────────────── */
.kit-bt .sec:has(> .about-grid) { padding: clamp(40px, 5vw, 72px) 0; }
.kit-bt .wrap.about-grid { max-width: none; padding: 0; grid-template-columns: 1.2fr 1fr; gap: 0; align-items: stretch; }
.kit-bt .wrap.about-grid .txt { order: 2; padding: clamp(32px, 6vw, 96px) clamp(24px, 6vw, 110px) clamp(32px, 6vw, 96px) clamp(24px, 4.5vw, 72px); align-self: center; max-width: 720px; }
.kit-bt .wrap.about-grid .about-img { order: 1; aspect-ratio: auto; min-height: clamp(380px, 46vw, 680px); border-radius: 0; box-shadow: none; }
.kit-bt [id^="rev-"] .wrap.about-grid { grid-template-columns: 1fr 1.2fr; }
.kit-bt [id^="rev-"] .wrap.about-grid .txt { order: 1; padding-left: clamp(24px, 6vw, 110px); padding-right: clamp(24px, 4.5vw, 72px); justify-self: end; }
.kit-bt [id^="rev-"] .wrap.about-grid .about-img { order: 2; }
.kit-bt .about-grid .txt p { font-size: 1.06rem; }
.kit-bt .about-grid .stat { border: 0; border-left: 3px solid var(--bt-verde); background: transparent; padding: 4px 0 4px 18px; border-radius: 0; }
.kit-bt .about-grid .stat .num { color: var(--bt-verde); font-weight: 300; font-family: var(--bt-f); }
.kit-bt .about-grid .stat .lbl { color: var(--bt-mute); }

/* ── numeri: grandi, leggeri, su fondo blu ─────────────────────────────────── */
.kit-bt .sec:has(.kpis) { background: var(--bt-blu); }
.kit-bt .kpis { gap: 0; }
.kit-bt .kpi { background: transparent !important; border: 0 !important; border-left: 1px solid rgba(255,255,255,.18) !important; border-radius: 0 !important; box-shadow: none !important; padding: 10px 28px !important; text-align: left !important; align-items: flex-start !important; }
.kit-bt .kpi:first-child { border-left: 0 !important; }
.kit-bt .kpi .num { color: #fff !important; font-family: var(--bt-f); font-weight: 300 !important; font-size: clamp(2.8rem, 5vw, 4.4rem) !important; }
.kit-bt .kpi .suf { color: var(--bt-verde-l) !important; }
.kit-bt .kpi .l { color: rgba(255,255,255,.72) !important; font-size: 15px; }
.kit-bt .sec:has(.kpis) .sec-head h2 { color: #fff; }

/* ── vetrina (Showcase): rettangoli netti, titolo in basso ─────────────────── */
.kit-bt .swc { padding: clamp(56px, 8vw, 104px) 0; background: var(--bt-carta); }
.kit-bt .swc-h { font-family: var(--bt-f); font-weight: 400; font-size: clamp(1.7rem, 2.8vw, 2.4rem); color: var(--bt-blu); }
.kit-bt .swc-card { border-radius: 0; box-shadow: none; }
.kit-bt .swc-grad { background: linear-gradient(to top, rgba(22,27,66,.72), rgba(22,27,66,.08) 55%, transparent); }
.kit-bt .swc-t { color: #fff !important; font-family: var(--bt-f); font-weight: 400; text-transform: none; font-size: clamp(1.3rem, 1.9vw, 1.65rem); letter-spacing: 0; }
.kit-bt .swc-eb { color: var(--bt-verde-l); text-transform: none; font-weight: 500; }
.kit-bt .swc-cta { font-weight: 500; text-transform: none; letter-spacing: .01em; }

/* ── schede ────────────────────────────────────────────────────────────────── */
.kit-bt .ucard { border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.kit-bt .sec:not(.alt) .ucard { background: var(--bt-carta); }
.kit-bt .ucard:hover { transform: none; box-shadow: 0 22px 50px -28px rgba(22,27,66,.35); }
.kit-bt .ucard-img { aspect-ratio: 4/3; transition: transform .8s var(--bt-ease); }
.kit-bt a.ucard { overflow: hidden; }
.kit-bt a.ucard:hover .ucard-img { transform: scale(1.04); }
.kit-bt .ucard-body { padding: 24px 26px 28px; }
.kit-bt .ucard h3 { font-weight: 500; font-size: 1.3rem; color: var(--bt-blu); }
.kit-bt .ucard .go { color: var(--bt-verde); font-weight: 500; letter-spacing: .01em; text-transform: none; }

/* ── punti di forza (USPRow) ───────────────────────────────────────────────── */
.kit-bt .usp { background: #fff; border-color: var(--bt-linea); }
.kit-bt .usp-ic { border-radius: 50%; background: rgba(27,139,68,.1); color: var(--bt-verde); }
.kit-bt .usp-t { font-weight: 500; color: var(--bt-blu); }

/* ── risposta breve ────────────────────────────────────────────────────────── */
.kit-bt .answer-box { max-width: 980px; margin-inline: auto; border-radius: 0; border: 0; border-left: 4px solid var(--bt-verde); background: var(--bt-carta); box-shadow: none; }
.kit-bt .ab-text { font-size: 1.15rem; color: var(--bt-ink); }
.kit-bt .ab-facts { border-radius: 0; }

/* ── fasi (Timeline) ───────────────────────────────────────────────────────── */
.kit-bt .tl-dot { background: var(--bt-verde); font-family: var(--bt-f); font-weight: 500; }
.kit-bt .tl-date { color: var(--bt-verde); font-weight: 500; }
.kit-bt .tl-t { font-weight: 500; color: var(--bt-blu); }

/* ── FAQ: righe sottili, niente box ────────────────────────────────────────── */
.kit-bt .faq-item { border: 0; border-bottom: 1px solid var(--bt-linea); border-radius: 0; background: transparent; box-shadow: none; }
.kit-bt .faq-item summary { font-family: var(--bt-f); font-weight: 400; font-size: 1.15rem; color: var(--bt-blu); padding-left: 0; padding-right: 0; }
.kit-bt .faq-a { padding-left: 0; padding-right: 0; }

/* ── tabella di confronto ──────────────────────────────────────────────────── */
.kit-bt .cmp-wrap { border-radius: 0; box-shadow: none; }
.kit-bt .cmp thead th { background: var(--bt-blu); color: #fff; font-weight: 500; }
.kit-bt .cmp th[scope="row"] { color: var(--bt-blu); font-weight: 500; }

/* ── loghi partner ─────────────────────────────────────────────────────────── */
.kit-bt .logostrip { background: transparent !important; }

/* ── banda CTA: blu del marchio ────────────────────────────────────────────── */
.kit-bt .ctaband { background: var(--bt-blu); color: #fff; }
.kit-bt .ctaband h2 { color: #fff; font-weight: 400; font-size: clamp(2rem, 3.6vw, 3rem); }
.kit-bt .ctaband p { color: rgba(255,255,255,.8); font-size: 1.12rem; }
.kit-bt .ctaband .eyebrow { color: var(--bt-verde-l) !important; }

/* ── modulo contatti ───────────────────────────────────────────────────────── */
.kit-bt .cform-card { border-radius: 0; box-shadow: none; border: 0; }
.kit-bt .cform input, .kit-bt .cform select, .kit-bt .cform textarea { border-radius: 0; font-family: var(--bt-f); }
.kit-bt .cform button { border-radius: 999px; background: var(--bt-verde); text-transform: none; font-family: var(--bt-f); font-weight: 500; letter-spacing: .01em; }

/* ── blog ──────────────────────────────────────────────────────────────────── */
.kit-bt .bcard { border-radius: 0; border: 0; box-shadow: none; background: var(--bt-carta); }
.kit-bt .bcard-t { font-weight: 500; color: var(--bt-blu); }

/* ── footer: blu notte, logo in bianco ─────────────────────────────────────── */
.kit-bt .footer { background: var(--bt-blu-d); color: #B9C0DB; }
.kit-bt .footer .logo { filter: brightness(0) invert(1); }
.kit-bt .footer h4, .kit-bt .footer h5 { font-family: var(--bt-f); font-weight: 500; letter-spacing: .1em; color: #fff; }

/* ── barra laterale fissa (bt.js): telefono, email, sopralluogo ────────────── */
.kit-bt .bt-rail { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 90; display: flex; flex-direction: column; gap: 2px; }
.kit-bt .bt-rail a { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: var(--bt-verde); color: #fff; position: relative; transition: background .2s, width .25s var(--bt-ease); }
.kit-bt .bt-rail a:hover { background: var(--bt-blu); }
.kit-bt .bt-rail svg { width: 22px; height: 22px; }
.kit-bt .bt-rail span { position: absolute; right: 100%; top: 50%; transform: translateY(-50%); white-space: nowrap; background: var(--bt-blu); color: #fff; font-size: 14px; padding: 8px 14px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.kit-bt .bt-rail a:hover span { opacity: 1; }

/* ═══════════════════════ STRATO WOW (bt.js) ═══════════════════════════════════════════════════ */
/* barra di lettura */
.kit-bt .bt-progress { position: fixed; left: 0; top: 0; height: 3px; width: 100%; z-index: 120; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--bt-verde), var(--bt-verde-l)); pointer-events: none; }

/* slider iniziale (HeroSlider del core): tipografia del kit, occhiello verde grande */
.kit-bt .hs .hs-eb { color: var(--bt-verde-l) !important; font-family: var(--bt-f) !important; font-size: clamp(1.9rem, 4vw, 3.4rem) !important; font-weight: 400 !important; letter-spacing: -.005em !important; text-transform: none !important; line-height: 1.08 !important; }
.kit-bt .hs .hs-title { font-family: var(--bt-f) !important; font-weight: 400 !important; font-size: clamp(1.9rem, 4vw, 3.4rem) !important; line-height: 1.08 !important; letter-spacing: -.005em; color: #fff; text-shadow: none !important; margin-top: -6px !important; }
.kit-bt .hs .hs-sub { font-size: clamp(1rem, 1.5vw, 1.2rem) !important; max-width: 52ch !important; color: rgba(255,255,255,.9); text-shadow: none !important; }
.kit-bt .hs .wrap { justify-content: flex-end !important; padding-bottom: clamp(120px, 17vh, 180px) !important; gap: 12px !important; max-width: var(--container); }
.kit-bt .hs .hs-slide > div:nth-child(2) { background: linear-gradient(90deg, rgba(22,27,66,.84) 0%, rgba(22,27,66,.5) 42%, rgba(22,27,66,.08) 78%), linear-gradient(0deg, rgba(22,27,66,.55), transparent 45%) !important; }
.kit-bt .hs .hs-prev, .kit-bt .hs .hs-next { background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.35) !important; backdrop-filter: blur(6px); transition: background .25s; }
.kit-bt .hs .hs-prev:hover, .kit-bt .hs .hs-next:hover { background: var(--bt-verde) !important; }
.kit-bt .hs .hs-dots { left: auto !important; right: clamp(20px, 4vw, 56px) !important; transform: none !important; bottom: 34px !important; }
.kit-bt .hs .hs-dot { width: 34px !important; height: 3px !important; border-radius: 2px !important; background: rgba(255,255,255,.4) !important; }
.kit-bt .hs .hs-dot.on { background: var(--bt-verde-l) !important; }

/* video nei blocchi */
.kit-bt .page-header .ph-vid { position: absolute; inset: 0; }
.kit-bt .about-img.has-vid video { transition: transform .2s linear; }

/* ── da qui solo con movimento attivo (html.bt-motion, niente reduce-motion) ── */
/* titoli parola per parola */
.bt-motion .kit-bt .bt-w, .bt-motion .bt-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.bt-motion .bt-w > span { display: inline-block; transform: translateY(105%) rotate(4deg); transition: transform .9s cubic-bezier(.2,.8,.1,1); }
.bt-motion .bt-a.bt-in .bt-w > span, .bt-motion .hs-slide.bt-live .bt-w > span { transform: none; }
.bt-motion .hs-slide:not(.bt-live) .bt-w > span { transition-duration: 0s; transition-delay: 0s !important; }

/* elementi generici: salgono e si mettono a fuoco */
.bt-motion .bt-a:not(h1):not(h2):not(.about-img):not(.swc-h):not(.ab-q) { opacity: 0; transform: translateY(34px); filter: blur(6px); transition: opacity .9s var(--bt-ease), transform .9s var(--bt-ease), filter .9s var(--bt-ease); transition-delay: var(--bt-d, 0ms); }
.bt-motion .bt-a.bt-in:not(h1):not(h2):not(.about-img):not(.swc-h):not(.ab-q) { opacity: 1; transform: none; filter: none; }
.bt-motion .reveal.bt-a { opacity: 1; }
/* foto e video dei blocchi: sipario dal basso con leggero zoom indietro */
.bt-motion .about-img.bt-a { clip-path: inset(100% 0 0 0); transition: clip-path 1.4s cubic-bezier(.7,0,.2,1); opacity: 1 !important; transform: none !important; }
.bt-motion .about-img.bt-a.bt-in { clip-path: inset(-60px -60px -60px -60px); } /* più largo della foto: non taglia la cornice sfalsata */
.bt-motion .about-img { background-position: center calc(50% + var(--bt-py, 0px)) !important; }
.bt-motion .about-img video { transform: translateY(var(--bt-py, 0px)) scale(1.14); }
.bt-motion .about-img.bt-a:not(.bt-in) video { transform: translateY(var(--bt-py, 0px)) scale(1.3); }
.bt-motion .about-img.bt-a video { transition: transform 1.8s cubic-bezier(.2,.8,.1,1); }
.bt-motion .page-header .ph-bg, .bt-motion .vhero-bg { transform: translateY(calc(var(--bt-py, 0px) * -1.4)) scale(1.12); }
/* schede vetrina: sipario laterale */
.bt-motion .swc-card.bt-a { clip-path: inset(0 0 100% 0); opacity: 1 !important; filter: none !important; transform: none; transition: clip-path 1.2s cubic-bezier(.7,0,.2,1) var(--bt-d, 0ms) !important; }
.bt-motion .swc-card.bt-a.bt-in { clip-path: inset(-30px -30px -30px -30px); }

/* uscite: le sezioni si attenuano e rimpiccioliscono appena mentre lasciano lo schermo in alto */
@supports (animation-timeline: view()) {
  .bt-motion .kit-bt .sec > .wrap, .bt-motion .kit-bt .swc > .wrap { animation: bt-exit linear both; animation-timeline: view(); animation-range: exit 10% exit 100%; }
  .bt-motion .kit-bt .wrap.about-grid { animation: bt-exit linear both; animation-timeline: view(); animation-range: exit 15% exit 100%; }
  @keyframes bt-exit { to { opacity: .25; transform: scale(.94) translateY(-30px); filter: blur(3px); } }
}

/* slider: zoom lento sul video, testi che entrano a ogni slide */
.bt-motion .hs-slide video { transform: scale(1.02); transition: transform 9s linear; }
.bt-motion .hs-slide.bt-live video { transform: scale(1.12); }
.bt-motion .hs-slide .hs-eb, .bt-motion .hs-slide .hs-sub, .bt-motion .hs-slide .hs-btns { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--bt-ease), transform .8s var(--bt-ease); }
.bt-motion .hs-slide.bt-live .hs-eb { opacity: 1; transform: none; transition-delay: .15s; }
.bt-motion .hs-slide.bt-live .hs-sub { opacity: 1; transform: none; transition-delay: .65s; }
.bt-motion .hs-slide.bt-live .hs-btns { opacity: 1; transform: none; transition-delay: .85s; }
.bt-motion .hs-slide.bt-live .hs-title .bt-w > span { transition-delay: calc(.3s + var(--d, 0s)); }

/* pulsanti: magnetici, riflesso che scorre, onda al click */
.kit-bt .btn, .kit-bt .cform button { position: relative; overflow: hidden; isolation: isolate; transform: translate(var(--bt-mx, 0px), var(--bt-my, 0px)); transition: transform .35s cubic-bezier(.2,.8,.2,1), background .25s, color .25s, border-color .25s, box-shadow .3s; }
.kit-bt .btn::after, .kit-bt .cform button::after { content: ""; position: absolute; inset: -2px; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.38) 48%, transparent 66%); transform: translateX(-120%); transition: transform .8s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.kit-bt .btn:hover::after, .kit-bt .cform button:hover::after { transform: translateX(120%); }
.kit-bt .btn-accent:hover, .kit-bt .btn-dark:hover, .kit-bt .cform button:hover { box-shadow: 0 14px 34px -12px rgba(27,139,68,.65); }
.kit-bt .bt-ripple { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: rgba(255,255,255,.55); transform: scale(0); animation: bt-ripple .7s ease-out forwards; pointer-events: none; z-index: 0; }
@keyframes bt-ripple { to { transform: scale(26); opacity: 0; } }
.kit-bt .bt-rail a { transform: translate(var(--bt-mx, 0px), var(--bt-my, 0px)); }

/* schede: inclinazione 3D + riflesso */
.kit-bt .cardgrid, .kit-bt .swc-grid, .kit-bt .bgrid { perspective: 1200px; }
.kit-bt .ucard, .kit-bt .swc-card, .kit-bt .bcard { transform-style: preserve-3d; }
.kit-bt .bt-tilt { transform: rotateX(var(--bt-rx, 0deg)) rotateY(var(--bt-ry, 0deg)) translateZ(0) !important; transition: transform .12s linear !important; }
.kit-bt .ucard::after, .kit-bt .swc-card::after, .kit-bt .bcard::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(420px circle at var(--bt-gx, 50%) var(--bt-gy, 50%), rgba(255,255,255,.28), transparent 45%); z-index: 2; }
.kit-bt .ucard, .kit-bt .bcard { position: relative; }
.kit-bt .bt-tilt::after { opacity: 1; }

/* fondi WebGL dietro alle bande scure */
.kit-bt .bt-has-gl { position: relative; overflow: hidden; }
.kit-bt .bt-has-gl > .bt-gl { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; display: block; }
.kit-bt .bt-has-gl > :not(.bt-gl) { position: relative; z-index: 1; }



@media (prefers-reduced-motion: reduce) { .kit-bt .btn, .kit-bt .bt-tilt { transform: none !important; } }

/* slider: linguette con barra di avanzamento (bt.js) al posto dei pallini */
.kit-bt .hs.bt-has-tabs .hs-dots, .kit-bt .hs.bt-has-tabs .hs-prev, .kit-bt .hs.bt-has-tabs .hs-next { display: none !important; }
.kit-bt .bt-tabs { position: absolute; left: 0; right: 0; bottom: clamp(18px, 4vh, 36px); z-index: 4; }
.kit-bt .bt-tabs-in { max-width: var(--container); margin: 0 auto; padding: 0 max(24px, calc(104px - (100vw - var(--container)) / 2)) 0 24px; display: grid; grid-template-columns: repeat(var(--bt-n), minmax(0, 1fr)); gap: 12px; }
.kit-bt .bt-tab { appearance: none; border: 0; background: none; padding: 10px 0 0; text-align: left; cursor: pointer; color: rgba(255,255,255,.62); font: 500 14px/1.2 var(--bt-f); letter-spacing: .02em; transition: color .3s; }
.kit-bt .bt-tab:hover, .kit-bt .bt-tab.on { color: #fff; }
.kit-bt .bt-tab-bar { display: block; height: 3px; border-radius: 2px; background: rgba(255,255,255,.28); overflow: hidden; margin-bottom: 12px; }
.kit-bt .bt-tab-bar i { display: block; height: 100%; width: 0; background: var(--bt-verde-l); border-radius: inherit; }
.kit-bt .bt-tab.on .bt-tab-bar i { width: 0; }
.kit-bt .bt-tab-l { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@keyframes bt-fill { from { width: 0; } to { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .kit-bt .bt-tab.on .bt-tab-bar i { width: 100%; } }

/* ── CORNICI SFALSATE «da architetto» ──────────────────────────────────────────────────────────────
   1) linea verde sottile sfalsata verso il testo (box-shadow: anello di 1px sopra un riempimento del colore
      del fondo, quindi niente pseudo-elementi tagliati dall'overflow); 2) filo bianco interno (passe-partout);
   3) segni d'angolo da tavola tecnica (.bt-marks, aggiunti da bt.js). */
.kit-bt .sec { --bt-fondo: #fff; }
.kit-bt .sec.alt, .kit-bt .swc { --bt-fondo: var(--bt-grigio); }
.kit-bt .swc { --bt-fondo: var(--bt-carta); }
.kit-bt .wrap.about-grid { position: relative; padding-bottom: 26px; }
.kit-bt .wrap.about-grid .about-img { box-shadow: 26px 26px 0 -1px var(--bt-fondo), 26px 26px 0 0 var(--bt-verde) !important; outline: 1px solid rgba(255,255,255,.55); outline-offset: -16px; }
.kit-bt [id^="rev-"] .wrap.about-grid .about-img { box-shadow: -26px 26px 0 -1px var(--bt-fondo), -26px 26px 0 0 var(--bt-verde) !important; }
.kit-bt .swc-grid { position: relative; }
.kit-bt .swc-card { box-shadow: 12px 12px 0 -1px var(--bt-fondo), 12px 12px 0 0 rgba(27,139,68,.75) !important; outline: 1px solid rgba(255,255,255,.45); outline-offset: -10px; overflow: visible !important; }
.kit-bt .swc-card .swc-img, .kit-bt .swc-card .swc-grad, .kit-bt .swc-card .swc-dim { clip-path: inset(0); }
.kit-bt .swc-grid { padding: 0 12px 12px 0; }
/* segni d'angolo: quattro «L» blu fuori dalla foto, come i crocini di taglio di una tavola */
.kit-bt .bt-marks { position: absolute; pointer-events: none; z-index: 2; }
.kit-bt .bt-marks-in { inset: 0; z-index: 3; }
.kit-bt .bt-marks i { position: absolute; width: 22px; height: 22px; border: 0 solid var(--bt-blu); opacity: .55; }
.kit-bt .bt-marks i:nth-child(1) { left: -10px; top: -10px; border-left-width: 1px; border-top-width: 1px; }
.kit-bt .bt-marks i:nth-child(2) { right: -10px; top: -10px; border-right-width: 1px; border-top-width: 1px; }
.kit-bt .bt-marks i:nth-child(3) { left: -10px; bottom: -10px; border-left-width: 1px; border-bottom-width: 1px; }
.kit-bt .bt-marks i:nth-child(4) { right: -10px; bottom: -10px; border-right-width: 1px; border-bottom-width: 1px; }
.kit-bt .swc-grid .bt-marks i { width: 14px; height: 14px; }
.kit-bt .swc-grid .bt-marks i:nth-child(1), .kit-bt .swc-grid .bt-marks i:nth-child(3) { left: -7px; }
.kit-bt .swc-grid .bt-marks i:nth-child(2), .kit-bt .swc-grid .bt-marks i:nth-child(4) { right: -7px; }
.kit-bt .swc-grid .bt-marks i:nth-child(1), .kit-bt .swc-grid .bt-marks i:nth-child(2) { top: -7px; }
.kit-bt .swc-grid .bt-marks i:nth-child(3), .kit-bt .swc-grid .bt-marks i:nth-child(4) { bottom: -7px; }
/* la cornice compare dopo il sipario */
.bt-motion .about-img.bt-a:not(.bt-in), .bt-motion .swc-card.bt-a:not(.bt-in) { box-shadow: none !important; }
.kit-bt .about-img, .kit-bt .swc-card { transition: clip-path 1.4s cubic-bezier(.7,0,.2,1), box-shadow .8s ease .9s; }
.bt-motion .bt-marks { opacity: 0; transition: opacity .8s ease 1.1s; }
.bt-motion .about-img.bt-in + .bt-marks, .bt-motion .swc-card.bt-in .bt-marks { opacity: 1; }

/* video in sequenza (bt.js): due video sovrapposti con dissolvenza */
.kit-bt video.bt-va, .kit-bt video.bt-vb { transition: opacity .9s ease, transform 1.8s cubic-bezier(.2,.8,.1,1); }
.kit-bt .about-img video.bt-vb, .kit-bt .hs-slide video.bt-vb, .kit-bt .page-header video.bt-vb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ── FONDI «SCHIZZO D'ARCHITETTO» (bt.js) ─────────────────────────────────────────────────────────── */
.kit-bt .bt-has-sk { position: relative; overflow: hidden; isolation: isolate; }
.kit-bt .bt-has-sk > :not(.bt-sk) { position: relative; z-index: 1; }
.kit-bt .bt-sk { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.kit-bt .bt-sk i { position: absolute; top: 4%; bottom: 4%; width: 60%; -webkit-mask: var(--sk) center / contain no-repeat; mask: var(--sk) center / contain no-repeat; }
.kit-bt .bt-sk-r i { right: -6%; } .kit-bt .bt-sk-l i { left: -6%; }
.kit-bt .bt-sk-base { background: var(--bt-blu); opacity: .085; }
.kit-bt .bt-sk-hot { background: var(--bt-verde); opacity: 0; transition: opacity .45s ease;
  -webkit-mask-image: var(--sk), radial-gradient(circle 260px at var(--mx, -999px) var(--my, -999px), #000 0%, rgba(0,0,0,.6) 45%, transparent 75%);
  -webkit-mask-size: contain, 100% 100%; -webkit-mask-position: center, 0 0; -webkit-mask-repeat: no-repeat; -webkit-mask-composite: source-in;
  mask-image: var(--sk), radial-gradient(circle 260px at var(--mx, -999px) var(--my, -999px), #000 0%, rgba(0,0,0,.6) 45%, transparent 75%);
  mask-size: contain, 100% 100%; mask-position: center, 0 0; mask-repeat: no-repeat; mask-composite: intersect; }
.kit-bt .bt-sk.hot .bt-sk-hot { opacity: .9; }
/* sezione loghi: facciata bianca grande su grigio (come uno schizzo a gesso), loghi a colori in griglia 4×2 */
.kit-bt .bt-sk-logo i { left: 50%; width: min(1500px, 112%); transform: translateX(-50%); top: 2%; bottom: 2%; }
.kit-bt .bt-sk-logo .bt-sk-base { background: #fff; opacity: .95; }
.kit-bt .bt-sk-logo .bt-sk-hot { opacity: 0; }
.kit-bt .bt-sk-logo.hot .bt-sk-hot { opacity: .75; }
.kit-bt .logostrip { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(30px, 5vw, 64px) clamp(20px, 4vw, 56px); max-width: 1120px; margin: 10px auto 0; align-items: center; justify-items: center; }
.kit-bt .logostrip .logo-cell { display: flex; align-items: center; justify-content: center; width: 100%; height: clamp(56px, 7vw, 92px); filter: none !important; opacity: 1 !important; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.kit-bt .logostrip .logo-cell img { max-height: 100%; max-width: min(230px, 100%); width: auto; height: auto; object-fit: contain; filter: none !important; }
.kit-bt .logostrip .logo-cell:hover { transform: translateY(-4px) scale(1.04); }
/* lo schizzo si disegna da sinistra entrando nello schermo */
.bt-motion .kit-bt .bt-sk i { clip-path: inset(0 100% 0 0); transition: clip-path 2.6s cubic-bezier(.6,0,.2,1), opacity .45s ease; }
.bt-motion .kit-bt .bt-sk.in i { clip-path: inset(0 0 0 0); }
@media (max-width: 760px) {
  .kit-bt .bt-sk i { width: 100%; left: 0; right: 0; opacity: .06; }
  .kit-bt .bt-sk-logo .bt-sk-base { opacity: .8; }
  .kit-bt .logostrip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ── responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 980px) {
  .kit-bt .wrap.about-grid, .kit-bt [id^="rev-"] .wrap.about-grid { grid-template-columns: 1fr; }
  .kit-bt .wrap.about-grid .about-img, .kit-bt [id^="rev-"] .wrap.about-grid .about-img { order: 1; min-height: 0; aspect-ratio: 4/3; }
  .kit-bt .wrap.about-grid .txt, .kit-bt [id^="rev-"] .wrap.about-grid .txt { order: 2; padding: 32px 20px 8px; max-width: none; justify-self: stretch; }
  .kit-bt .kpi { border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.18) !important; padding: 18px 4px !important; }
  .kit-bt .kpi:first-child { border-top: 0 !important; }
}
@media (max-width: 760px) {
  .kit-bt .wrap.about-grid .about-img, .kit-bt [id^="rev-"] .wrap.about-grid .about-img { box-shadow: 12px 12px 0 -1px var(--bt-fondo), 12px 12px 0 0 var(--bt-verde) !important; }
  .kit-bt .bt-marks { display: none; }
  .kit-bt { font-size: 16px; }
  .kit-bt .bt-rail { display: none; }
  .kit-bt .hs .hs-prev, .kit-bt .hs .hs-next { display: none !important; }
  .kit-bt .bt-tabs-in { gap: 6px; padding: 0 16px; }
  .kit-bt .bt-tab { font-size: 12px; }
  .kit-bt .bt-tab:not(.on) .bt-tab-l { visibility: hidden; }
  .kit-bt .bt-tab.on .bt-tab-l { overflow: visible; }
  .kit-bt .vhero .eyebrow, .kit-bt .vhero h1 { font-size: 2rem; }
  .kit-bt .page-header { min-height: 56vh; }
  .kit-bt .header .wrap { padding: 12px 16px; }
}
