/* ---------------------------------------------------------------
   Jaewa UI — contenuti del nuovo sito nella veste grafica Bricks
   (Open Sans / Roboto, arancio #FF6900, card bianche arrotondate).
   Nota: in Bricks html{font-size:62.5%} → 1rem = 10px.
   --------------------------------------------------------------- */

:root{
  --ui-page: 1440px; /* allargata del 12% insieme alla scala dei caratteri (+25%) */
  --ui-gut: clamp(2rem, 4vw, 4rem);
  --ui-text: var(--bodycard, #4A5565);
  --ui-title: var(--titolicard, #0A0A0A);
  --ui-muted: var(--textsecondary, #717182);
  --ui-primary: var(--primary, #FF6900);
  --ui-hover: var(--hover, #EA580C);
  --ui-light: var(--light, #FFF7ED);
  --ui-border: #ECEEF1;
  --ui-card-shadow: 0 1px 3px 0 hsla(0, 0%, 0%, 0.18);
  --ui-radius: 16px;
  --ui-paper: #F5F3EF;
  --ui-dark: #1E1E1E;
  --ui-dark-2: #2C2C2C;
  --ui-dark-text: #D9D9D9;
  --ui-dark-muted: #A8A8A8;
  --ui-sans: "Lato", "Open Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --ui-display: "Lato", "Roboto", "Open Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}

#brx-content{
  font-family: var(--ui-sans);
  font-size: 1.6rem;
  line-height: 1.65;
  color: var(--ui-text);
  background: var(--sfondopagina, #fff);
}
#brx-content *,#brx-content *::before,#brx-content *::after{ box-sizing: border-box; }

#brx-content :where(.band,.hero) :where(h1,h2,h3,h4){
  font-family: var(--ui-sans);
  color: var(--ui-title);
  margin: 0 0 1.2rem;
  line-height: 1.2;
  font-weight: 700;
}
#brx-content :where(.band,.hero) h1{ font-size: clamp(3.2rem, 4.2vw, 4.8rem); line-height: 1.12; letter-spacing: -.01em; margin: 0 0 1.6rem; }
#brx-content :where(.band,.hero) h2{ font-size: clamp(2.6rem, 3vw, 3.4rem); line-height: 1.2; }
#brx-content :where(.band,.hero) h3{ font-size: 2rem; margin-bottom: .8rem; }
#brx-content :where(.band,.hero) p{ margin: 0 0 1.4rem; max-width: 70ch; }
#brx-content ul,#brx-content ol{ max-width: 70ch; }
#brx-content :where(.band,.hero) a{ color: var(--ui-primary); font-weight: inherit; }
#brx-content :where(.band,.hero) a:hover{ color: var(--ui-hover); }
#brx-content .accent{ color: var(--ui-primary); }

.wrap{ max-width: var(--ui-page); margin-inline: auto; padding-inline: var(--ui-gut); }
.lede{ font-size: 1.9rem; line-height: 1.5; color: var(--ui-text); max-width: 62ch; }
.small{ font-size: 1.4rem; }
.quiet{ color: var(--ui-muted); }
.reassure{ font-size: 1.4rem; color: var(--ui-muted); margin: 0; }
.hide{ display: none !important; }

/* --- sezioni --------------------------------------------------- */

.band{ padding-block: clamp(3rem, 4vw, 4.5rem); background: var(--ui-paper); }
.band-tight{ padding-block: clamp(2.5rem, 3.5vw, 4rem) clamp(1rem, 1.5vw, 1.5rem); }
.band-white{ background: #fff; }
.band + .band-white, .band-white + .band{ border-top: 1px solid #E8E4DE; }
/* l'intestazione di pagina resta bianca (lo sfondo sta sulla sezione .hero-reveal) */
.band-tight{ background: #fff; }

/* intestazione di pagina: titolo grande centrato, come "Siamo Jaewa" */
.band-tight > .wrap{ text-align: center; }
.band-tight > .wrap h1{ max-width: none; margin-inline: auto; }
#brx-content .band-tight > .wrap .lede{ margin-inline: auto; max-width: 100ch; }
#brx-content .band-tight > .wrap .lede.lede-wide{ max-width: none; text-wrap: balance; }
#brx-content .band-tight > .wrap .h1-prose{ font-size: clamp(2.2rem, 2.6vw, 3.2rem); font-weight: 600; line-height: 1.35; max-width: 44ch; margin-inline: auto; }
.band-tight > .wrap .actions{ justify-content: center; }
.band-tight > .wrap .stamp{ margin-inline: auto; }

.band-head{ text-align: center; margin-bottom: 2.4rem; }
.band-head h2{ max-width: none; }
#brx-content .band-head p{ max-width: 100ch; margin-inline: auto; }
#brx-content .band-head p.narrow{ max-width: 72ch; }
.band-head .actions{ justify-content: center; }

/* fascia scura: come nel nuovo sito, con i colori Bricks (nero del footer + arancio) */
.band-dark{ background: var(--ui-dark); color: var(--ui-dark-text); }
#brx-content .band-dark :where(h1,h2,h3,h4){ color: #fff; }
#brx-content .band-dark .lede, #brx-content .band-dark .quiet, #brx-content .band-dark .reassure{ color: var(--ui-dark-muted); }
#brx-content .band-dark a{ color: var(--ui-primary); }
#brx-content .band-dark .btn{ color: #fff; }
#brx-content .band-dark .btn-ghost{ background: transparent; color: #fff; border-color: #5A5A5A; }
#brx-content .band-dark .btn-ghost:hover{ background: #fff; color: var(--ui-dark); border-color: #fff; }
#brx-content .band-dark .linkline{ color: #fff; }
#brx-content .band-dark .linkline:hover{ color: var(--ui-primary); }
.band-dark .note{ background: var(--ui-dark-2); }
#brx-content .band-dark .note strong{ color: #fff; }
.band-dark .voice, .band-dark .col-rule{ border-left-color: var(--ui-primary); }
#brx-content .band-dark .voice p, #brx-content .band-dark .col-rule p, #brx-content .band-dark .steps p, #brx-content .band-dark .spec dd{ color: var(--ui-dark-text); }
.band-dark .steps li, .band-dark .spec div, .band-dark .event{ border-top-color: #333; }

/* --- bottoni --------------------------------------------------- */

#brx-content .btn{
  display: inline-block; font-family: var(--ui-display); font-weight: 700;
  font-size: 1.5rem; line-height: 1.4; letter-spacing: .01em;
  padding: 1.1rem 3.2rem; border-radius: 8px; text-decoration: none;
  background: var(--ui-primary); color: #fff; border: 2px solid var(--ui-primary);
  cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
#brx-content .btn:hover{ background: var(--ui-hover); border-color: var(--ui-hover); color: #fff; }
#brx-content .btn-ghost{ background: #fff; color: var(--ui-primary); }
#brx-content .btn-ghost:hover{ background: var(--ui-light); color: var(--ui-hover); }
#brx-content .btn-sm{ padding: .8rem 2rem; font-size: 1.4rem; }
#brx-content .btn[disabled]{ opacity: .4; cursor: not-allowed; }

#brx-content .linkline{
  font-family: var(--ui-sans); font-size: 1.5rem; font-weight: 700;
  color: var(--ui-primary); text-decoration: underline; text-underline-offset: .2em;
}
#brx-content .linkline:hover{ color: var(--ui-hover); }

.actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem 2.4rem; margin: 2.4rem 0 1rem; }

/* --- card generiche -------------------------------------------- */

.card-look{
  background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-radius);
  box-shadow: var(--ui-card-shadow);
}

/* voci del cliente: lineetta laterale, come nel nuovo sito */
.voices{ display: grid; gap: 3.2rem 4.8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 820px){ .voices{ grid-template-columns: 1fr; } }
.voice{ border-left: 2px solid var(--ui-primary); padding-left: 2rem; }
#brx-content .voice h3{ font-size: 2rem; font-style: italic; font-weight: 700; line-height: 1.3; max-width: 38ch; text-wrap: balance; margin: 0 0 .8rem; }
#brx-content .voice p{ margin: 0; font-size: 1.5rem; color: var(--ui-text); max-width: 48ch; }

/* colonne: lineetta laterale, come su jaewa.com/chi-siamo */
.cols{ display: grid; gap: 3.2rem 4rem; grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr)); }
.col-rule{ border-left: 2px solid var(--ui-primary); padding-left: 2rem; border-top: 0; }
#brx-content .col-rule h3{ margin-bottom: .8rem; }
#brx-content .col-rule p{ font-size: 1.5rem; margin-bottom: 1rem; max-width: none; }
#brx-content .col-rule p:last-child{ margin-bottom: 0; }
.person .portrait{ display: block; width: 9.6rem; height: 9.6rem; border-radius: 50%; object-fit: cover; margin: 0 0 1.4rem; }
#brx-content .col-rule p.role{ font-size: 1.35rem; color: var(--ui-muted); margin-bottom: .8rem; }
#team .band-head{ margin-bottom: 4rem; }
.cols-lead{ grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 4rem; padding-bottom: 4rem; border-bottom: 1px solid #DDD9D2; }
.cols-team{ grid-template-columns: repeat(auto-fit, minmax(min(30rem, 100%), 1fr)); }
.cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px){ .cols-2{ grid-template-columns: 1fr; } }
@media (max-width: 720px){ .cols-lead{ grid-template-columns: 1fr; } }

/* listino punti fermi: righe separate da filetti, come nel nuovo sito */
.fixed-list{ border-top: 1px solid #DDD9D2; }
.fixed-row{
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.6rem 4rem; align-items: start;
  padding: 2.6rem 0; border-bottom: 1px solid #DDD9D2;
  text-decoration: none; color: inherit;
}
.fixed-row .fixed-q, .fixed-row p{ transition: color .15s ease; }
#brx-content .fixed-row p.fixed-q{
  font-family: var(--ui-sans); font-weight: 700; font-size: clamp(2rem, 2.4vw, 2.8rem); line-height: 1.15;
  color: var(--ui-title); margin: 0 0 .6rem; max-width: 32ch; text-wrap: balance;
}
#brx-content .fixed-list-oneline .fixed-row p.fixed-q{ max-width: none; }
.fixed-row:hover .fixed-q{ color: var(--ui-primary); }
#brx-content .fixed-row:hover p{ color: var(--ui-title); }
#brx-content .fixed-row p{ margin: 0; color: var(--ui-text); max-width: none; font-size: 1.5rem; }
.fixed-meta{ font-family: var(--ui-sans); text-align: right; white-space: nowrap; border-left: 1px solid #DDD9D2; padding-left: 2.4rem; }
.fixed-meta b{ display: block; font-size: 1.9rem; font-weight: 700; color: var(--ui-primary); }
.fixed-meta .fixed-sub{ display: block; font-size: 1.5rem; font-weight: 600; color: var(--ui-title); margin: .1rem 0 .3rem; }
.fixed-meta span{ display: block; font-size: 1.3rem; color: var(--ui-muted); }
@media (max-width: 720px){
  .fixed-row{ grid-template-columns: 1fr; }
  .fixed-meta{ text-align: left; border-left: 0; padding-left: 0; border-top: 1px solid #DDD9D2; padding-top: 1rem; display: flex; gap: 1rem; align-items: baseline; }
}

/* due colonne */
.split{ display: grid; gap: clamp(3rem, 5vw, 6rem); grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
@media (max-width: 860px){ .split{ grid-template-columns: 1fr; } }
.split h2{ max-width: none; }

/* nota evidenziata: riquadro arancio chiaro */
.note{
  background: var(--ui-light); border: 0; border-left: 3px solid var(--ui-primary);
  border-radius: 0 2px 2px 0; padding: 1.8rem 2.2rem; margin: 0 0 2rem;
}
#brx-content .note p{ margin: 0; max-width: none; font-size: 1.5rem; }
#brx-content .note p + p{ margin-top: .8rem; }
#brx-content .note strong{ color: var(--ui-title); }

/* passi numerati */
.steps{ list-style: none; margin: 0; padding: 0; counter-reset: s; max-width: none; }
.steps li{
  counter-increment: s; display: grid; grid-template-columns: 4rem 1fr; gap: 1.6rem;
  padding: 1.6rem 0; border-top: 1px solid var(--ui-border);
}
.steps li::before{
  content: counter(s); display: flex; align-items: center; justify-content: center;
  width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--ui-light);
  color: var(--ui-primary); font-weight: 700; font-size: 1.5rem;
}
#brx-content .steps p{ margin: 0; font-size: 1.5rem; }
#brx-content .steps strong{ display: block; color: var(--ui-title); font-size: 1.6rem; margin-bottom: .2rem; }

/* scheda tecnica */
.spec{ margin: 0; max-width: none; }
.spec div{ display: grid; grid-template-columns: minmax(12rem, 19rem) 1fr; gap: 1rem 2.4rem; padding: 1.3rem 0; border-top: 1px solid var(--ui-border); }
.spec dt{ font-weight: 700; color: var(--ui-title); font-size: 1.5rem; }
.spec dd{ margin: 0; font-size: 1.5rem; }
@media (max-width: 620px){ .spec div{ grid-template-columns: 1fr; gap: .2rem; } }

/* elenco con pallino */
.checklist{ list-style: none; padding: 0; margin: 0 0 1.4rem; }
.checklist li{ position: relative; padding-left: 2.4rem; margin-bottom: .8rem; }
.checklist li::before{
  content: ""; position: absolute; left: 0; top: .55em; width: 1rem; height: 1rem;
  border: 2px solid var(--ui-primary); border-radius: 50%;
}

/* timbro (durata / prezzo) */
.stamp{
  display: inline-flex; align-items: baseline; gap: 1rem; font-family: var(--ui-sans);
  border: 1px solid var(--ui-border); background: #fff; box-shadow: var(--ui-card-shadow);
  padding: 1rem 1.6rem; border-radius: 10px; margin: 0 0 2rem;
}
.stamp b{ font-size: 2.2rem; font-weight: 700; color: var(--ui-primary); }
.stamp span{ font-size: 1.4rem; color: var(--ui-muted); }

/* eventi / esperienza */
.event{ border-top: 1px solid var(--ui-border); padding: 1.8rem 0; }
#brx-content .event h3{ font-size: 1.8rem; margin-bottom: .5rem; }
#brx-content .event p{ margin: 0; font-size: 1.5rem; }
#brx-content .event p b{ display: block; color: var(--ui-primary); font-size: 1.3rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .2rem; }

/* --- hero con la curva (pagina servizi) ------------------------ */
.hero{ padding-block: clamp(2.5rem, 3.5vw, 4rem) clamp(1.5rem, 2.5vw, 2.5rem); }
.hero-grid{ display: grid; gap: clamp(3rem, 5vw, 6rem); grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; }
@media (max-width: 920px){ .hero-grid{ grid-template-columns: 1fr; } }
.hero-grid h1{ max-width: none; }
.plot{ width: 100%; height: auto; display: block; }
.plot .axis, .plot .tick{ stroke: #D9DEE3; stroke-width: 1; }
.plot .curve{ fill: none; stroke: var(--ui-primary); stroke-width: 2.5; stroke-linecap: round; }
.plot .dot{ fill: #fff; stroke: var(--ui-primary); stroke-width: 2.5; }
.plot .axlabel{ font-family: var(--ui-sans); font-size: 11px; font-weight: 700; fill: var(--ui-muted); }
.plot .steplabel{ font-family: var(--ui-sans); font-size: 12.5px; font-weight: 700; fill: var(--ui-title); }
.plot .stepnote{ font-family: var(--ui-sans); font-size: 11px; fill: var(--ui-text); }
.plot-caption{ font-size: 1.4rem; color: var(--ui-muted); margin: 1.2rem 0 0; max-width: 46ch; }
/* animazione del grafico di Servizi (sempre attiva) */
  .plot .curve{ stroke-dasharray: 520; stroke-dashoffset: 520; animation: ui-draw 1.6s cubic-bezier(.2,.7,.3,1) .25s forwards; } /* la curva e' lunga ~478 unita': il tratteggio deve superarla, altrimenti resta mozza */
  .plot .reveal{ opacity: 0; animation: ui-appear .5s ease forwards; }
  .plot .r1{ animation-delay: .75s } .plot .r2{ animation-delay: 1.0s }
  .plot .r3{ animation-delay: 1.25s } .plot .r4{ animation-delay: 1.5s }
  @keyframes ui-draw{ to{ stroke-dashoffset: 0 } }
  @keyframes ui-appear{ to{ opacity: 1 } }

/* --- il check --------------------------------------------------- */
.q-card{
  background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-radius);
  box-shadow: var(--ui-card-shadow); padding: clamp(2.4rem, 3vw, 3.6rem);
}
.q-progress{ display: flex; align-items: center; gap: 1.4rem; margin-bottom: 2.4rem; font-size: 1.4rem; color: var(--ui-muted); }
.q-progress-track{ flex: 1; height: 4px; background: var(--ui-border); border-radius: 2px; }
.q-progress-fill{ height: 4px; background: var(--ui-primary); border-radius: 2px; transition: width .3s ease; }
.q-area{ font-size: 1.3rem; font-weight: 700; color: var(--ui-primary); text-transform: uppercase; letter-spacing: .04em; margin: 0 0 .6rem; }
.q-text{ font-size: clamp(2rem, 2.6vw, 2.6rem); font-weight: 700; color: var(--ui-title); line-height: 1.25; margin: 0 0 2rem; max-width: 30ch; }
.q-options{ display: grid; gap: .9rem; }
.q-opt{
  display: block; width: 100%; text-align: left; font-family: var(--ui-sans); font-size: 1.6rem;
  background: #fff; border: 1.5px solid #E3E6EA; border-radius: 10px;
  padding: 1.3rem 1.6rem; cursor: pointer; color: var(--ui-title); line-height: 1.4;
}
.q-opt:hover{ border-color: var(--ui-primary); background: var(--ui-light); }
.q-nav{ display: flex; gap: 1.4rem; align-items: center; margin-top: 2rem; }

/* --- pre-questionario (questionario.html): una domanda, tre percorsi --- */
#brx-content .pq{ max-width: 72rem; margin: 0 auto; text-align: left; }
#brx-content .pq *{ text-align: left; }
#brx-content .pq-set{ border: 0; margin: 0; padding: 0; min-width: 0; }
#brx-content .pq-eyebrow{ font-size: 1.28rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ui-primary); margin: 0 0 .64rem; } /* come RiskFlow: 16px bold uppercase, mb 8px */
#brx-content .pq-q{ font-size: clamp(1.9rem, 2.2vw, 2.2rem); font-weight: 700; color: var(--ui-title); line-height: 1.3; padding: 0; margin: 0 0 .4rem; }
#brx-content .pq-hint{ font-size: 1.4rem; color: var(--ui-muted); margin: 0 0 2rem; }
#brx-content .pq-options{ display: grid; gap: 1.2rem; }
#brx-content .pq-opt{
  position: relative; display: grid; grid-template-columns: 4rem 1fr 2.2rem; gap: 1.6rem; align-items: center;
  background: #fff; border: 1.5px solid #E3E6EA; border-radius: 10px; padding: 1.6rem 2rem;
  cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
#brx-content .pq-opt input{ position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#brx-content .pq-ico{
  width: 4rem; height: 4rem; border-radius: 8px; background: #F1F3F5; color: #5B6573;
  display: flex; align-items: center; justify-content: center; font-size: 1.8rem;
  transition: background .15s ease, color .15s ease;
}
#brx-content .pq-txt{ display: block; line-height: 1.4; }
#brx-content .pq-txt strong{ display: block; font-size: 1.6rem; font-weight: 700; color: var(--ui-title); }
#brx-content .pq-txt span{ display: block; font-size: 1.4rem; color: var(--ui-text); margin-top: .2rem; }
#brx-content .pq-radio{
  width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid #C5CBD3; background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#brx-content .pq-opt:hover{ border-color: var(--ui-primary); }
#brx-content .pq-opt:has(input:checked){ border-color: var(--ui-primary); background: var(--ui-light); }
#brx-content .pq-opt:has(input:checked) .pq-ico{ background: #fff; color: var(--ui-primary); }
#brx-content .pq-opt:has(input:checked) .pq-radio{ border-color: var(--ui-primary); box-shadow: inset 0 0 0 .38rem #fff; background: var(--ui-primary); } /* pallino da 14px */
#brx-content .pq-opt:has(input:focus-visible){ outline: 2px solid var(--ui-primary); outline-offset: 2px; }
#brx-content .pq-soon{ font-size: 1.4rem; color: var(--ui-text); background: var(--ui-light); border-radius: 8px; padding: 1rem 1.4rem; margin: 1.6rem 0 0; }
#brx-content .pq-nav{ display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; margin-top: 2.4rem; }
#brx-content .pq-cancel{ font-size: 1.5rem; color: var(--ui-muted); text-decoration: underline; text-underline-offset: 3px; }
#brx-content .pq-cancel:hover{ color: var(--ui-title); }
#brx-content .pq-next{
  display: inline-flex; align-items: center; gap: 1rem; font-family: var(--ui-display); font-weight: 700; font-size: 1.6rem;
  padding: 1.2rem 3rem; border-radius: 999px; border: 2px solid var(--ui-primary);
  background: var(--ui-primary); color: #fff; cursor: pointer; transition: background .15s ease, border-color .15s ease, opacity .15s ease;
}
#brx-content .pq-next:hover:not([disabled]){ background: var(--ui-hover); border-color: var(--ui-hover); }
#brx-content .pq-next[disabled]{ opacity: .4; cursor: not-allowed; }
@media (max-width: 600px){
  #brx-content .pq .q-card{ padding: 2rem 1.6rem; }
  #brx-content .pq-opt{ grid-template-columns: 1fr 2rem; gap: 1.2rem; padding: 1.4rem; }
  #brx-content .pq-ico{ display: none; }
}

.gauge{ display: flex; align-items: flex-end; gap: 1.6rem; margin: 0 0 1rem; }
.gauge b{ font-size: clamp(5.6rem, 11vw, 8.8rem); font-weight: 700; line-height: .9; color: var(--ui-primary); }
.gauge span{ font-size: 1.6rem; color: var(--ui-text); padding-bottom: .8rem; max-width: 22ch; }
.bars{ margin: 2.8rem 0 0; max-width: none; }
.bar-row{ display: grid; grid-template-columns: minmax(10rem, 15rem) 1fr 4rem; gap: 1.4rem; align-items: center; padding: .8rem 0; }
.bar-row dt{ font-size: 1.5rem; font-weight: 700; color: var(--ui-title); }
.bar-track{ height: 10px; background: var(--ui-border); border-radius: 5px; overflow: hidden; }
.bar-fill{ height: 10px; background: var(--ui-primary); width: 0; transition: width .7s cubic-bezier(.2,.7,.3,1); }
.bar-val{ font-size: 1.5rem; text-align: right; color: var(--ui-muted); }

.field{ display: block; margin-bottom: 1.4rem; max-width: 44rem; }
.field span{ display: block; font-size: 1.4rem; font-weight: 700; color: var(--ui-title); margin-bottom: .4rem; }
.field input{
  width: 100%; font-family: var(--ui-sans); font-size: 1.6rem; color: var(--ui-title);
  padding: 1rem 1.2rem; border: 1.5px solid #E3E6EA; border-radius: 8px; background: #fff;
}
.field input:focus{ border-color: var(--ui-primary); outline: none; }
.consent{ display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; margin-bottom: 1.2rem; max-width: 44rem; font-size: 1.4rem; }
.consent input{ margin-top: .4rem; width: 1.6rem; height: 1.6rem; accent-color: var(--ui-primary); }

/* --- hero video (home): bottone + link secondario ------------- */
#brxe-ca0422 .hero-cta{ display: flex; flex-direction: column; align-items: center; gap: 1.2rem; }
#brxe-ca0422 .hero-link{ color: #fff; font-family: var(--ui-sans); font-size: 1.6rem; text-decoration: underline; text-underline-offset: .2em; }
#brxe-ca0422 .hero-link:hover{ color: var(--ui-light); }

/* --- hero video: testo centrato, tagline su una riga ------------ */
#brxe-e373a0{ align-items: center; text-align: center; }
#brxe-c001fc{ max-width: none; align-self: center; text-align: center; }
#brxe-1b9eba{ max-width: none; align-self: center; text-align: center; font-size: var(--text-xl); margin-top: .4rem; }
#brxe-4ffeb1{ text-align: center; max-width: 60ch; }

/* --- testata fissa: le pagine interne partono sotto l'header ---- */
body:not(.home) #brx-content{ padding-top: 81px; }

/* --- frase di partenza sopra la domanda (pagina punti fermi) --- */
#brx-content .fixed-row p.fixed-from{ font-size: 1.4rem; font-style: italic; color: var(--ui-muted); margin: 0 0 .6rem; max-width: none; }
.fixed-row:hover .fixed-from{ color: var(--ui-text); }

/* --- passi numerati: numero a sinistra, titolo e testo nella colonna di destra --- */
.steps li > *{ grid-column: 2; }
.steps li::before{ grid-column: 1; grid-row: 1 / span 2; }

/* --- intestazione con sfondo "reveal", ripreso da jaewa.com ---------- */
.hero-reveal{ position: relative; overflow: hidden; background: #fff; isolation: isolate; }
.hero-reveal > .wrap{ position: relative; z-index: 2; }
.hero-reveal::before, .hero-reveal::after{
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-size: cover; background-position: center; background-repeat: no-repeat;
}
.hero-reveal::before{ opacity: .10; }
.hero-reveal::after{
  opacity: .80;
  -webkit-mask-image: radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,.75) 30%, rgba(0,0,0,.2) 65%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,.75) 30%, rgba(0,0,0,.2) 65%, rgba(0,0,0,0) 100%);
}
.hero-reveal--esagoni::before, .hero-reveal--esagoni::after{ background-image: url('wp-content/uploads/2026/04/patternesagoni.png'); }
.hero-reveal--reveal::before,  .hero-reveal--reveal::after{  background-image: url('wp-content/uploads/2026/03/patternreveal.webp'); }
.hero-reveal--reveal::before{ opacity: .20; }
.hero-reveal--firenze::before, .hero-reveal--firenze::after{ background-image: url('wp-content/uploads/2026/04/firenzesfondo.webp'); }
.hero-reveal--alveare::before, .hero-reveal--alveare::after{ background-image: url('wp-content/uploads/2026/04/patternalveare.webp'); }
.hero-reveal--alveare::before{ opacity: .30; }
.hero-reveal.band-tight{ padding-block: clamp(4rem, 6vw, 7rem) clamp(3rem, 4vw, 5rem); }
.hero-reveal.hero{ padding-block: clamp(4rem, 6vw, 7rem) clamp(3rem, 4vw, 5rem); }
/* alone chiaro dietro il grafico di Servizi, per staccarlo dallo sfondo reveal */
.plot-wrap{ position: relative; }
.plot-wrap::before{
  content: ""; position: absolute; inset: -10% -8%; z-index: 0; pointer-events: none;
  background: rgba(255,255,255,.94);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  mask-composite: intersect;
}
.plot-wrap > *{ position: relative; z-index: 1; }
/* --- elenco Insights: coppie di card con icona, sfondo alternato per riga --- */
.cols-insights{ margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.insight .insight-icon{ display: block; font-size: 3.2rem; line-height: 1; color: var(--ui-title); margin: 0 0 1.2rem; }
#brx-content .insight p.insight-meta{ font-size: 1.35rem; color: var(--ui-muted); margin-bottom: 1.2rem; }
.insight .actions{ margin-top: 0; }
/* sottotitolo in evidenza, stesso carattere delle frasi-cliente della home */
#brx-content p.voice-sub{ font-size: 2rem; font-style: italic; font-weight: 700; line-height: 1.3; color: var(--ui-title); max-width: 48ch; margin: 0 0 1.4rem; }
#brx-content p.voice-sub-wide{ max-width: none; }

/* --- movimento: comparsa al scroll e feedback al mouse ----------------- */
.rv{ opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--rv-d, 0ms); will-change: opacity, transform; }
.rv.in{ opacity: 1; transform: none; }
.rv-hero{ transform: translateY(12px); }

/* parole in arancione: un filo di feedback al passaggio */
#brx-content .accent{ transition: color .25s ease; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s cubic-bezier(.2,.7,.2,1), color .25s ease; }
#brx-content h1:hover .accent, #brx-content h2:hover .accent{ color: var(--ui-hover); background-size: 100% 2px; }

/* card con la linea a sinistra: la linea si accende e il blocco si solleva appena */
.voice, .col-rule{ transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .25s ease; }
.voice:hover, .col-rule:hover{ transform: translateY(-3px); }
.voice::before, .col-rule::before{ content: none; }
.voice, .col-rule{ position: relative; }
.voice h3, .col-rule h3{ transition: color .25s ease; }
.voice:hover h3, .col-rule:hover h3{ color: var(--ui-primary); }

/* righe cliccabili: scorrono di qualche pixel verso destra */
.fixed-row{ transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.fixed-row:hover{ transform: translateX(6px); }

/* bottoni e link: sollevamento leggero e sottolineatura che cresce */
#brx-content .btn{ transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
#brx-content .btn:hover{ transform: translateY(-2px); box-shadow: 0 8px 20px -10px rgba(0,0,0,.45); }
#brx-content .btn:active{ transform: translateY(0); box-shadow: none; }
#brx-content .linkline{ background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s cubic-bezier(.2,.7,.2,1), color .25s ease; }
#brx-content .linkline:hover{ background-size: 100% 1px; }

/* foto del team: zoom minimo */
.person .portrait{ transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.person:hover .portrait{ transform: scale(1.04); }

/* riquadri note */
.note{ transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
.note:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px -16px rgba(0,0,0,.35); }


/* effetto battitura nei riquadri note */
.type-caret{ display: inline-block; width: 2px; height: 1em; background: var(--ui-primary); vertical-align: -0.15em; margin-left: 1px; animation: type-blink .9s steps(1) infinite; }
@keyframes type-blink{ 50%{ opacity: 0; } }

/* vignetta "Un esempio di percorso" in Servizi */
.note-example{ margin-top: 3.2rem; max-width: 61rem; margin-inline: auto; }
#brx-content .note-example p{ max-width: none; }

/* niente parole orfane a fine paragrafo: il browser ridistribuisce le ultime righe */
#brx-content p, #brx-content li, #brx-content dd{ text-wrap: pretty; }

/* ===== Vignette "Una di queste frasi": griglia asimmetrica, testo a scomparsa (hover su desktop, tap su mobile) ===== */
.voices-cards{ display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 3.6rem 2.8rem; align-items: start; margin-top: 1rem; }
.voices-cards .voice{
  border-left: 0; padding: 2.2rem 2.6rem 2.4rem; background: #fff; border-radius: .6rem; border: 1px solid #E4DFD8;
  box-shadow: 0 1px 2px rgba(40,30,20,.04), 0 8px 24px rgba(40,30,20,.05);
  cursor: pointer; outline: none;
  transform: translateY(var(--off, 0));
  transition: transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease, background-color .45s ease;
}
.voices-cards .voice::after{ /* segno arancione: una riga corta sul lato sinistro, che si allunga quando la card e' aperta */
  content: ""; position: absolute; left: -1px; top: 1.6rem; width: 3px; height: 4rem;
  background: var(--ui-primary); border-radius: 0 2px 2px 0;
  transition: height .45s cubic-bezier(.2,.7,.2,1);
}
/* asimmetria: larghezze, scalini e inclinazioni diverse */
.voices-cards .v1{ grid-column: 1 / span 2; }
.voices-cards .v2{ grid-column: 3 / span 2; --off: 1.4rem; }
.voices-cards .v3{ grid-column: 5 / span 2; }
.voices-cards .v4{ grid-column: 7 / span 2; --off: 1.4rem; }
.voices-cards .v5{ grid-column: 2 / span 2; }
.voices-cards .v6{ grid-column: 4 / span 2; --off: 1.4rem; }
.voices-cards .v7{ grid-column: 6 / span 2; }
#brx-content .voices-cards .voice h3{ max-width: 26ch; margin: 0 auto; padding: 0 .6rem; text-align: center; }
#brx-content .voices-cards .voice p{ max-width: none; text-align: center; }
.voices-cards .voice{ min-height: 14.5rem; display: flex; align-items: center; justify-content: center; text-align: center; padding: 2rem 2rem; }
/* testo a scomparsa: l'altezza cresce da 0 */
.voices-cards .voice{ position: relative; z-index: 1; overflow: visible; }
.voices-cards .voice.open, .voices-cards .voice:focus-visible{ z-index: 6; }
/* il testo si apre SOTTO la card, sopra le vignette vicine: la griglia non si muove */
.voices-cards .more{ display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
  position: absolute; left: -1px; right: -1px; top: calc(100% - .6rem); padding: 0 2rem; background: #fff; border: 1px solid transparent; border-top: 0; border-radius: 0 0 .6rem .6rem; box-shadow: 0 0 0 rgba(0,0,0,0); }
.voices-cards .more-in{ overflow: hidden; }
.voices-cards .more p{ opacity: 0; transform: translateY(6px); transition: opacity .35s ease .1s, transform .35s ease .1s; padding: 1.2rem 0 1.8rem; }
.voices-cards .voice.open .more, .voices-cards .voice:focus-visible .more{ box-shadow: 0 18px 40px rgba(40,30,20,.10); border-color: #D6D0C8; }
/* segnalino "+" che ruota in "x" */
.voices-cards .voice-hint{ position: absolute; top: 1.3rem; right: 1.4rem; width: 1.3rem; height: 1.3rem; }
.voices-cards .voice-hint::before, .voices-cards .voice-hint::after{ content: ""; position: absolute; left: 50%; top: 50%; background: #B9B2A9; border-radius: 1px; transition: transform .35s ease, background-color .35s ease; }
.voices-cards .voice.open .voice-hint::before, .voices-cards .voice.open .voice-hint::after{ background: var(--ui-primary); }
.voices-cards .voice-hint::before{ width: 100%; height: 2px; transform: translate(-50%, -50%); }
.voices-cards .voice-hint::after{ width: 2px; height: 100%; transform: translate(-50%, -50%); }
/* stato aperto: su desktop al passaggio del mouse, ovunque con un tap/click (classe .open) o da tastiera */
.voices-cards .voice.open, .voices-cards .voice:focus-visible{ transform: translateY(calc(var(--off, 0px) - 4px)); border-color: #D6D0C8; box-shadow: 0 2px 4px rgba(40,30,20,.05), 0 18px 40px rgba(40,30,20,.10); }
.voices-cards .voice.open .more, .voices-cards .voice:focus-visible .more{ grid-template-rows: 1fr; }
.voices-cards .voice.open .more p, .voices-cards .voice:focus-visible .more p{ opacity: 1; transform: none; }
.voices-cards .voice.open::after, .voices-cards .voice:focus-visible::after{ height: calc(100% - 3.2rem); }
.voices-cards .voice.open .voice-hint::after, .voices-cards .voice:focus-visible .voice-hint::after{ transform: translate(-50%, -50%) rotate(90deg); }
.voices-cards .voice.open .voice-hint::before, .voices-cards .voice:focus-visible .voice-hint::before{ transform: translate(-50%, -50%) rotate(180deg); }
@media (hover: hover) and (pointer: fine){
  .voices-cards .voice:hover{ z-index: 6; transform: translateY(calc(var(--off, 0px) - 4px)); border-color: #D6D0C8; box-shadow: 0 2px 4px rgba(40,30,20,.05), 0 18px 40px rgba(40,30,20,.10); }
  .voices-cards .voice:hover .more{ box-shadow: 0 18px 40px rgba(40,30,20,.10); border-color: #D6D0C8; }
  .voices-cards .voice:hover .more{ grid-template-rows: 1fr; }
  .voices-cards .voice:hover .more p{ opacity: 1; transform: none; }
  .voices-cards .voice:hover::after{ height: calc(100% - 3.2rem); }
  .voices-cards .voice:hover .voice-hint::after{ transform: translate(-50%, -50%) rotate(90deg); }
  .voices-cards .voice:hover .voice-hint::before{ transform: translate(-50%, -50%) rotate(180deg); }
}
/* l'effetto "comparsa" generale non deve sovrascrivere la rotazione: quando la card e' entrata, lascia fare alla regola sopra */
.voices-cards .voice.rv.in{ transform: translateY(var(--off, 0)); transition-delay: 0ms; }
.voices-cards .voice.rv.in.open, .voices-cards .voice.rv.in:focus-visible{ transform: translateY(calc(var(--off, 0px) - 4px)); }
@media (hover: hover) and (pointer: fine){ .voices-cards .voice.rv.in:hover{ transform: translateY(calc(var(--off, 0px) - 4px)); } }
@media (max-width: 820px){
  .voices-cards{ grid-template-columns: 1fr; gap: 1.6rem; }
  .voices-cards .more{ position: static; padding: 0; box-shadow: none !important; border: 0; }
  .voices-cards .more p{ padding: 1.2rem 0 0; }
  .voices-cards .voice{ grid-column: auto !important; --off: 0; }
}

/* ===== Servizi: i quattro modelli come "piani", con le spunte ===== */
.plans{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.4rem; align-items: stretch; margin-top: 1rem; }
.plan{ display: flex; flex-direction: column; background: #fff; border: 1px solid #E4DFD8; border-radius: .6rem; padding: 2.4rem 2.2rem 2.2rem;
  text-decoration: none; color: inherit; position: relative; box-shadow: 0 1px 2px rgba(40,30,20,.04), 0 8px 24px rgba(40,30,20,.05);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease; }
.plan::before{ content: ""; position: absolute; left: -1px; top: 2rem; width: 3px; height: 4rem; background: var(--ui-primary); border-radius: 0 2px 2px 0; transition: height .45s cubic-bezier(.2,.7,.2,1); }
.plan:hover{ transform: translateY(-4px); border-color: #D6D0C8; box-shadow: 0 2px 4px rgba(40,30,20,.05), 0 18px 40px rgba(40,30,20,.10); }
.plan:hover::before{ height: calc(100% - 4rem); }
#brx-content .plan h3{ font-size: 2.1rem; font-weight: 700; line-height: 1.2; margin: 0 0 .8rem; color: var(--ui-title); text-wrap: balance; }
#brx-content .plan .plan-tag{ font-size: 1.45rem; line-height: 1.45; color: var(--ui-muted); margin: 0 0 1.6rem; padding-bottom: 1.6rem; border-bottom: 1px solid #ECE7E1; min-height: 6.2rem; }
.plan .checks{ list-style: none; margin: 0 0 2rem; padding: 0; flex: 1; }
.plan .checks li{ position: relative; padding-left: 2.4rem; font-size: 1.45rem; line-height: 1.45; color: var(--ui-text); margin-bottom: 1rem; }
.plan .checks li::before{ content: ""; position: absolute; left: 0; top: .45em; width: 1.3rem; height: .7rem; border-left: 2px solid var(--ui-primary); border-bottom: 2px solid var(--ui-primary); transform: rotate(-45deg); }
.plan .plan-more{ font-size: 1.4rem; font-weight: 700; color: var(--ui-primary); }
.plan .plan-more::after{ content: " \2192"; }
@media (max-width: 1100px){ .plans{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .plans{ grid-template-columns: 1fr; } #brx-content .plan .plan-tag{ min-height: 0; } }
/* In evidenza: frase in evidenza sotto il titolo */
#brx-content p.hero-sub{ max-width: 62ch; margin: .6rem auto 1.6rem; text-align: center; color: var(--ui-title); }
/* striscia orizzontale: titolo a sinistra, testo a destra */
.split-strip{ grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center; }
#brx-content .split-strip h2{ margin: 0; }
#brx-content .split-strip p{ max-width: none; }
#brx-content .split-strip p + p{ margin-top: 1rem; }
.band#documento{ padding-block: clamp(2.5rem, 3vw, 3.5rem); }
/* a capo forzato solo sugli schermi larghi (il sottotitolo della home su due righe a FHD) */
.br-fhd{ display: none; }
@media (min-width: 1200px){ .br-fhd{ display: inline; } }
@media (min-width: 1200px){ #brxe-4ffeb1{ max-width: 104ch; } }
.cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px){ .cols-3{ grid-template-columns: 1fr; } }
/* mobile: strisce orizzontali al posto delle card, il testo si apre sotto */
@media (max-width: 860px){ .split-strip{ grid-template-columns: 1fr; } }
@media (max-width: 720px){
  .fixed-meta{ flex-wrap: wrap; white-space: normal; row-gap: .2rem; }
}
@media (max-width: 820px){
  .voices-cards .voice{ display: block; min-height: 0; text-align: left; padding: 1.5rem 4.2rem 1.5rem 2rem; }
  #brx-content .voices-cards .voice h3{ max-width: none; margin: 0; padding: 0; text-align: left; font-size: 1.8rem; text-wrap: pretty; }
  #brx-content .voices-cards .voice p{ text-align: left; }
  .voices-cards .more p{ padding: 1rem 0 0; }
  .voices-cards .voice-hint{ top: 1.9rem; right: 1.6rem; }
  .voices-cards .voice.open::after, .voices-cards .voice:focus-visible::after{ height: calc(100% - 3rem); }
}
#brx-content .doc-title{ font-size: 2rem; font-weight: 700; margin: 2.4rem 0 .8rem; }
@media (max-width: 920px){ .plot-wrap{ display: none; } }
#brxe-1b9eba{ font-weight: 700; margin: .4rem 0 1rem; }
.insight-meta a{ color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s ease; }
.insight-meta a:hover{ border-bottom-color: currentColor; }
/* sfondo leggero con lo stesso motivo della testata di Servizi, piu' trasparente e sfumato ai bordi */
.band-pattern{ position: relative; overflow: visible; isolation: isolate; z-index: 5; }
.band-pattern > .wrap{ position: relative; z-index: 2; }
.band-pattern::before, .band-pattern::after{
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: url('wp-content/uploads/2026/03/patternreveal.webp');
  background-size: cover; background-position: center; background-repeat: no-repeat;
}
.band-pattern::before{ opacity: .20; }
.band-pattern::after{
  opacity: .80;
  -webkit-mask-image: radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,.75) 30%, rgba(0,0,0,.2) 65%, rgba(0,0,0,0) 100%);
  mask-image: radial-gradient(circle 320px at var(--mx, 50%) var(--my, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,.75) 30%, rgba(0,0,0,.2) 65%, rgba(0,0,0,0) 100%);
}
/* alone bianco dietro le vignette, come dietro il grafico di Servizi */
.band-pattern .voices-cards{ position: relative; }
.band-pattern .voices-cards::before{
  content: ""; position: absolute; inset: -10% -6%; z-index: 0; pointer-events: none;
  background: rgba(255,255,255,.94);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  mask-composite: intersect;
}
/* la testata della home si attacca alla sezione sotto, senza fascia bianca */
#brxe-51af6a{ margin-bottom: 0 !important; }
/* la freccia della home porta un poco piu' giu', senza lasciare la riga scura della testata */
#inizio{ scroll-margin-top: 62px; }
#brx-content p.hero-sub + p.hero-sub{ margin-top: 0; }
#brx-content p.hero-sub-note{ font-style: normal; font-weight: 400; font-size: 1.9rem; color: var(--ui-text); margin-top: 1.4rem; }

/* --- articoli di Riflessioni e cookie policy (pagine copiate dal vecchio sito) --- */
#brx-content p.article-kicker{ max-width: none; font-size: 1.28rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 .8rem; }
#brx-content .article-kicker a{ color: var(--ui-primary); text-decoration: none; }
.page-articolo #brx-content .band-tight > .wrap h1{ text-wrap: balance; }
#brx-content p.article-author{ font-size: 1.4rem; color: var(--ui-muted); margin: .8rem 0 0; max-width: none; }
#brx-content .article-author a{ color: inherit; }
#brx-content .article-body{ max-width: 72ch; margin: 0 auto; text-align: left; }
#brx-content .article-body p,
#brx-content .article-body li{ font-size: 1.6rem; line-height: 1.7; color: var(--ui-text); max-width: none; }
#brx-content .article-body p{ margin: 0 0 1.4rem; }
#brx-content .article-body h2{ font-size: clamp(2rem, 2.2vw, 2.4rem); line-height: 1.3; color: var(--ui-title); margin: 3.2rem 0 1rem; }
#brx-content .article-body h3{ font-size: 1.8rem; line-height: 1.3; color: var(--ui-title); margin: 2.4rem 0 .8rem; }
#brx-content .article-body > :first-child{ margin-top: 0; }
#brx-content .article-body ul{ max-width: none; padding-left: 2.2rem; margin: 0 0 1.4rem; }
#brx-content .article-body li{ margin-bottom: .4rem; }
#brx-content .article-body a{ color: var(--ui-primary); }
#brx-content .article-body figure{ margin: 2.8rem 0; text-align: center; }
#brx-content .article-body figure img{ max-width: 100%; height: auto; border: 1px solid var(--ui-border); border-radius: 8px; }
#brx-content .article-body figcaption{ font-size: 1.4rem; line-height: 1.5; color: var(--ui-muted); margin-top: .8rem; }
.article-foot{ max-width: 72ch; margin: 4rem auto 0; padding-top: 2.4rem; border-top: 1px solid var(--ui-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.6rem; }
#brx-content .article-foot p.article-author{ margin: 0; }
/* cookie policy: elenco dei servizi apribile (details/summary nativi, senza JS) */
#brx-content .cookie-doc details{ border: 1px solid var(--ui-border); border-radius: 10px; padding: 1.2rem 1.6rem; margin: 0 0 1.2rem; }
#brx-content .cookie-doc summary{ cursor: pointer; }
#brx-content .cookie-doc summary > div{ display: inline-block; vertical-align: top; }
#brx-content .cookie-doc summary h3{ margin: 0; }
#brx-content .cookie-doc summary p{ margin: .2rem 0 0; }
#brx-content .cookie-doc h4{ font-size: 1.5rem; color: var(--ui-title); margin: 1.6rem 0 .4rem; }
#brx-content .cookie-doc .cookies-per-purpose{ display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1.6rem; font-size: 1.5rem; color: var(--ui-text); margin-top: 1rem; }
#brx-content .cookie-doc .cookies-per-purpose .purpose{ grid-column: 1 / -1; }
#brx-content .cookie-doc .name-header, #brx-content .cookie-doc .name{ margin-top: .8rem; }
/* informativa privacy: elenco numerato, tabella dei tempi di conservazione e segnaposto della bozza */
#brx-content .article-body ol{ max-width: none; padding-left: 2.4rem; margin: 0 0 1.4rem; }
#brx-content .article-body ul ul{ margin: .6rem 0 0; }
#brx-content .article-body table{ width: 100%; border-collapse: collapse; margin: 1.2rem 0 1.8rem; font-size: 1.45rem; line-height: 1.5; color: var(--ui-text); }
#brx-content .article-body th, #brx-content .article-body td{ text-align: left; vertical-align: top; padding: .9rem 1rem; border-bottom: 1px solid var(--ui-border); }
#brx-content .article-body th{ color: var(--ui-title); font-weight: 700; border-bottom: 2px solid var(--ui-border); }
#brx-content .article-body mark.todo{ background: #FFF1B8; color: #5C4A00; padding: .1rem .3rem; border-radius: 3px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
#brx-content .article-body p.draft-note{ background: #FFF8DC; border: 1px solid #F0DC8C; border-radius: 8px; padding: 1.2rem 1.6rem; color: #5C4A00; }
@media (max-width: 600px){
  #brx-content .article-body table, #brx-content .article-body thead, #brx-content .article-body tbody, #brx-content .article-body tr, #brx-content .article-body th, #brx-content .article-body td{ display: block; }
  #brx-content .article-body thead{ display: none; }
  #brx-content .article-body tr{ border-bottom: 1px solid var(--ui-border); padding: .8rem 0; }
  #brx-content .article-body td{ border: 0; padding: .2rem 0; }
  #brx-content .article-body td:first-child{ font-weight: 700; color: var(--ui-title); }
}
