/* FarmaciaOS, sito pubblico. Mondo «banconote svizzere»: carta, inchiostro, petrolio.
   Colori e carattere sono quelli del prodotto (tailwind.config.js, DESIGN.md).

   Regole (una per grandezza, niente eccezioni di sezione):
   - gesto grafico: la rosetta, una sola volta, intera, nell'apertura. Il resto e' a linee sottili.
   - bordi: un filo da 1 px (--haar); sopra le tabelle-registro un filo da 2 px (ocra su fondo scuro, inchiostro su fondo chiaro).
   - raggi: 0 per le figure, 2 px per i bottoni. Nessuna ombra, nessuna banda colorata.
   - spazi: scala --s1..--s8; le sezioni si separano con --abstand.
   - pagina corta per il titolare di farmacia: apertura (vantaggio + prezzo), che cosa fa risparmiare, che cosa c'e' dentro, telefono, dati, contatto.
   - cifre proporzionali nel testo; tabulari solo dove le cifre stanno in colonna (qui: nessuna). */
/* Cifre da un altro carattere: lo zero di Atkinson è barrato e allargato, i numeri risultavano strani (10.11.2026).
   Public Sans solo per 0-9, ridotto al 92 % per avere la stessa altezza delle maiuscole di Atkinson. */
@font-face {
  font-family: "Ziffern";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  size-adjust: 92%;
  unicode-range: U+0030-0039;
  src: url("/assets/ziffern.548ed413d3.woff2") format("woff2");
}
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/atkinson.a6af8828e8.woff2") format("woff2");
}

:root {
  --carta: #f3f5f4;
  --bianco: #ffffff;
  --inchiostro-100: #eaf0ee;
  --inchiostro-200: #dadfdd;
  --inchiostro-300: #c3c9c7;
  --inchiostro-600: #545958;
  --inchiostro-900: #212524;
  --inchiostro-950: #131716;
  --petrolio-500: #2a8f94;
  --petrolio-600: #1a565a;
  --petrolio-700: #0f3d40;
  --petrolio-800: #0a2b2d;
  --petrolio-900: #061c1e;
  --ocra-300: #deb976;
  --ocra-400: #c89732;
  --ocra-500: #ab7b00;

  --colonna: 1180px;
  --margine: clamp(16px, 4vw, 32px);
  --s1: .25rem; --s2: .5rem; --s3: .75rem; --s4: 1rem; --s5: 1.5rem; --s6: 2.5rem; --s7: 4rem; --s8: 6rem;
  --abstand: clamp(3rem, 7vw, 6rem);
  --haar: 1px solid var(--inchiostro-300);
  --raggio: 2px;
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 106.25%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; background: var(--carta); }
body {
  margin: 0;
  background: var(--carta);
  color: var(--inchiostro-900);
  font-family: "Ziffern", "Atkinson Hyperlegible Next", -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.62;
  font-variant-numeric: proportional-nums;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
picture { display: block; }
a { color: var(--petrolio-600); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--petrolio-600); outline-offset: 3px; border-radius: 2px; }
.dunkel :focus-visible { outline-color: var(--ocra-300); }
::selection { background: #cfe3e4; color: var(--petrolio-700); }
.dunkel ::selection { background: var(--ocra-300); color: var(--petrolio-900); }
h1, h2, h3, p, dl, dd, ul, figure { margin: 0; }
h1, h2 { text-wrap: balance; color: var(--inchiostro-950); font-weight: 650; }
p { text-wrap: pretty; }
ul { padding: 0; list-style: none; }

.wrap { width: 100%; max-width: calc(var(--colonna) + 2 * var(--margine)); margin-inline: auto; padding-inline: var(--margine); }

.skip { position: absolute; left: var(--margine); top: -4rem; background: var(--bianco); color: var(--inchiostro-950); padding: .6rem 1rem; border-radius: var(--raggio); z-index: 10; font-weight: 600; }
.skip:focus { top: .75rem; }

/* Il filo di sicurezza: la fascia del prodotto, con il guilloche stampato sopra */
.faden {
  height: 12px;
  background-color: var(--petrolio-600);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='12'%3E%3Cpath d='M0.00 6.00 L2.00 7.04 L4.00 8.00 L6.00 8.83 L8.00 9.46 L10.00 9.86 L12.00 10.00 L14.00 9.86 L16.00 9.46 L18.00 8.83 L20.00 8.00 L22.00 7.04 L24.00 6.00 L26.00 4.96 L28.00 4.00 L30.00 3.17 L32.00 2.54 L34.00 2.14 L36.00 2.00 L38.00 2.14 L40.00 2.54 L42.00 3.17 L44.00 4.00 L46.00 4.96 L48.00 6.00 L50.00 7.04 L52.00 8.00 L54.00 8.83 L56.00 9.46 L58.00 9.86 L60.00 10.00 L62.00 9.86 L64.00 9.46 L66.00 8.83 L68.00 8.00 L70.00 7.04 L72.00 6.00 L74.00 4.96 L76.00 4.00 L78.00 3.17 L80.00 2.54 L82.00 2.14 L84.00 2.00 L86.00 2.14 L88.00 2.54 L90.00 3.17 L92.00 4.00 L94.00 4.96 L96.00 6.00 M0.00 6.00 L2.00 4.96 L4.00 4.00 L6.00 3.17 L8.00 2.54 L10.00 2.14 L12.00 2.00 L14.00 2.14 L16.00 2.54 L18.00 3.17 L20.00 4.00 L22.00 4.96 L24.00 6.00 L26.00 7.04 L28.00 8.00 L30.00 8.83 L32.00 9.46 L34.00 9.86 L36.00 10.00 L38.00 9.86 L40.00 9.46 L42.00 8.83 L44.00 8.00 L46.00 7.04 L48.00 6.00 L50.00 4.96 L52.00 4.00 L54.00 3.17 L56.00 2.54 L58.00 2.14 L60.00 2.00 L62.00 2.14 L64.00 2.54 L66.00 3.17 L68.00 4.00 L70.00 4.96 L72.00 6.00 L74.00 7.04 L76.00 8.00 L78.00 8.83 L80.00 9.46 L82.00 9.86 L84.00 10.00 L86.00 9.86 L88.00 9.46 L90.00 8.83 L92.00 8.00 L94.00 7.04 L96.00 6.00 M0.00 10.20 L2.00 10.06 L4.00 9.64 L6.00 8.97 L8.00 8.10 L10.00 7.09 L12.00 6.00 L14.00 4.91 L16.00 3.90 L18.00 3.03 L20.00 2.36 L22.00 1.94 L24.00 1.80 L26.00 1.94 L28.00 2.36 L30.00 3.03 L32.00 3.90 L34.00 4.91 L36.00 6.00 L38.00 7.09 L40.00 8.10 L42.00 8.97 L44.00 9.64 L46.00 10.06 L48.00 10.20 L50.00 10.06 L52.00 9.64 L54.00 8.97 L56.00 8.10 L58.00 7.09 L60.00 6.00 L62.00 4.91 L64.00 3.90 L66.00 3.03 L68.00 2.36 L70.00 1.94 L72.00 1.80 L74.00 1.94 L76.00 2.36 L78.00 3.03 L80.00 3.90 L82.00 4.91 L84.00 6.00 L86.00 7.09 L88.00 8.10 L90.00 8.97 L92.00 9.64 L94.00 10.06 L96.00 10.20 M0.00 1.80 L2.00 1.94 L4.00 2.36 L6.00 3.03 L8.00 3.90 L10.00 4.91 L12.00 6.00 L14.00 7.09 L16.00 8.10 L18.00 8.97 L20.00 9.64 L22.00 10.06 L24.00 10.20 L26.00 10.06 L28.00 9.64 L30.00 8.97 L32.00 8.10 L34.00 7.09 L36.00 6.00 L38.00 4.91 L40.00 3.90 L42.00 3.03 L44.00 2.36 L46.00 1.94 L48.00 1.80 L50.00 1.94 L52.00 2.36 L54.00 3.03 L56.00 3.90 L58.00 4.91 L60.00 6.00 L62.00 7.09 L64.00 8.10 L66.00 8.97 L68.00 9.64 L70.00 10.06 L72.00 10.20 L74.00 10.06 L76.00 9.64 L78.00 8.97 L80.00 8.10 L82.00 7.09 L84.00 6.00 L86.00 4.91 L88.00 3.90 L90.00 3.03 L92.00 2.36 L94.00 1.94 L96.00 1.80 M0.00 6.00 L2.00 7.50 L4.00 8.60 L6.00 9.00 L8.00 8.60 L10.00 7.50 L12.00 6.00 L14.00 4.50 L16.00 3.40 L18.00 3.00 L20.00 3.40 L22.00 4.50 L24.00 6.00 L26.00 7.50 L28.00 8.60 L30.00 9.00 L32.00 8.60 L34.00 7.50 L36.00 6.00 L38.00 4.50 L40.00 3.40 L42.00 3.00 L44.00 3.40 L46.00 4.50 L48.00 6.00 L50.00 7.50 L52.00 8.60 L54.00 9.00 L56.00 8.60 L58.00 7.50 L60.00 6.00 L62.00 4.50 L64.00 3.40 L66.00 3.00 L68.00 3.40 L70.00 4.50 L72.00 6.00 L74.00 7.50 L76.00 8.60 L78.00 9.00 L80.00 8.60 L82.00 7.50 L84.00 6.00 L86.00 4.50 L88.00 3.40 L90.00 3.00 L92.00 3.40 L94.00 4.50 L96.00 6.00 M0.00 6.00 L2.00 4.50 L4.00 3.40 L6.00 3.00 L8.00 3.40 L10.00 4.50 L12.00 6.00 L14.00 7.50 L16.00 8.60 L18.00 9.00 L20.00 8.60 L22.00 7.50 L24.00 6.00 L26.00 4.50 L28.00 3.40 L30.00 3.00 L32.00 3.40 L34.00 4.50 L36.00 6.00 L38.00 7.50 L40.00 8.60 L42.00 9.00 L44.00 8.60 L46.00 7.50 L48.00 6.00 L50.00 4.50 L52.00 3.40 L54.00 3.00 L56.00 3.40 L58.00 4.50 L60.00 6.00 L62.00 7.50 L64.00 8.60 L66.00 9.00 L68.00 8.60 L70.00 7.50 L72.00 6.00 L74.00 4.50 L76.00 3.40 L78.00 3.00 L80.00 3.40 L82.00 4.50 L84.00 6.00 L86.00 7.50 L88.00 8.60 L90.00 9.00 L92.00 8.60 L94.00 7.50 L96.00 6.00 M0.00 9.90 L2.00 10.35 L4.00 10.50 L6.00 10.35 L8.00 9.90 L10.00 9.18 L12.00 8.25 L14.00 7.16 L16.00 6.00 L18.00 4.84 L20.00 3.75 L22.00 2.82 L24.00 2.10 L26.00 1.65 L28.00 1.50 L30.00 1.65 L32.00 2.10 L34.00 2.82 L36.00 3.75 L38.00 4.84 L40.00 6.00 L42.00 7.16 L44.00 8.25 L46.00 9.18 L48.00 9.90 L50.00 10.35 L52.00 10.50 L54.00 10.35 L56.00 9.90 L58.00 9.18 L60.00 8.25 L62.00 7.16 L64.00 6.00 L66.00 4.84 L68.00 3.75 L70.00 2.82 L72.00 2.10 L74.00 1.65 L76.00 1.50 L78.00 1.65 L80.00 2.10 L82.00 2.82 L84.00 3.75 L86.00 4.84 L88.00 6.00 L90.00 7.16 L92.00 8.25 L94.00 9.18 L96.00 9.90 M0.00 2.10 L2.00 2.82 L4.00 3.75 L6.00 4.84 L8.00 6.00 L10.00 7.16 L12.00 8.25 L14.00 9.18 L16.00 9.90 L18.00 10.35 L20.00 10.50 L22.00 10.35 L24.00 9.90 L26.00 9.18 L28.00 8.25 L30.00 7.16 L32.00 6.00 L34.00 4.84 L36.00 3.75 L38.00 2.82 L40.00 2.10 L42.00 1.65 L44.00 1.50 L46.00 1.65 L48.00 2.10 L50.00 2.82 L52.00 3.75 L54.00 4.84 L56.00 6.00 L58.00 7.16 L60.00 8.25 L62.00 9.18 L64.00 9.90 L66.00 10.35 L68.00 10.50 L70.00 10.35 L72.00 9.90 L74.00 9.18 L76.00 8.25 L78.00 7.16 L80.00 6.00 L82.00 4.84 L84.00 3.75 L86.00 2.82 L88.00 2.10 L90.00 1.65 L92.00 1.50 L94.00 1.65 L96.00 2.10' fill='none' stroke='rgb%2817%2C25%2C27%29' stroke-opacity='.32' stroke-width='.55'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 96px 12px;
}

/* Testata */
.kopf { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 14px; }
.marke { font-size: 1.45rem; font-weight: 600; letter-spacing: -.01em; color: var(--inchiostro-950); text-decoration: none; line-height: 1; }
.marke b { font-weight: 800; color: var(--ocra-500); }
sup.r { font-size: .5em; font-weight: 500; line-height: 0; vertical-align: super; margin-left: .06em; letter-spacing: 0; }
.marke .marke__r { font-size: .55em; font-weight: 500; color: var(--inchiostro-950); vertical-align: top; position: relative; top: -.1em; margin-left: .12em; letter-spacing: 0; }
.kopf__rechts { display: flex; align-items: center; gap: clamp(.75rem, 3vw, 2rem); }
.kontakt-link { color: var(--inchiostro-900); font-weight: 500; text-decoration: none; padding-block: .6rem; }
.kontakt-link:hover { text-decoration: underline; }
.sprache ul { display: flex; gap: 2px; }
.sprache a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding-inline: .4rem;
  color: var(--inchiostro-600); font-weight: 500; text-decoration: none; letter-spacing: .01em;
}
.sprache a:hover { color: var(--inchiostro-950); text-decoration: underline; }
.sprache a[aria-current="page"] { color: var(--inchiostro-950); font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

/* Apertura: il titolo dice che cosa e'; a destra la rosetta, intera e visibile (l'unico gesto grafico) */
.hero { position: relative; overflow: hidden; padding-block: clamp(2rem, 5vw, 4.5rem) var(--abstand); }
.hero__raster { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.hero h1 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.022em; margin-bottom: var(--s5); max-width: 17em; }
.hero__lead { font-size: 1.2rem; line-height: 1.55; max-width: 36rem; color: var(--inchiostro-900); }
.hero__preis { margin-top: var(--s5); padding-top: var(--s3); border-top: 2px solid var(--inchiostro-900); max-width: 36rem; font-size: 1.1rem; line-height: 1.5; color: var(--inchiostro-900); }
.hero__preis strong { font-weight: 700; color: var(--inchiostro-950); }
.hero__aktion { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: var(--s5); }
.knopf {
  display: inline-flex; align-items: center; min-height: 54px; padding-inline: 1.75rem;
  background: var(--ocra-400); color: var(--inchiostro-950);
  font-weight: 700; font-size: 1.1rem; text-decoration: none; border-radius: var(--raggio);
}
.knopf:hover { background: var(--ocra-300); text-decoration: none; }
.link-stark { font-weight: 600; }
.hero__by { margin-top: var(--s5); padding-top: var(--s3); border-top: var(--haar); max-width: 36rem; color: var(--inchiostro-600); }

/* Stato e prezzo: il registro, su fondo petrolio come il guscio del prodotto */
.stand { background: var(--petrolio-700); color: var(--carta); padding-block: var(--abstand); }
.stand h2, .wer h2 { color: #fff; }
.stand__raster { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 5vw, 4rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; letter-spacing: -.017em; }
.reg__row { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1.5rem; padding-block: var(--s5); border-top: 1px solid rgba(243, 245, 244, .3); }
.reg__row:first-child { border-top: 2px solid var(--ocra-400); }
.reg__row:last-of-type { border-bottom: 1px solid rgba(243, 245, 244, .3); }
.reg dt { font-weight: 600; color: rgba(243, 245, 244, .85); padding-top: .2rem; }
.reg dd { font-size: clamp(1.1rem, 1.9vw, 1.4rem); line-height: 1.4; max-width: 34rem; }
.reg dd strong { font-weight: 700; color: #fff; }
.reg__note { margin-top: var(--s4); font-size: .95rem; color: rgba(243, 245, 244, .78); }

/* Che cosa fa risparmiare: frasi grandi in prosa, senza schede e senza cifre */
.spart { padding-block: var(--abstand); }
.spart__raster { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.spart__text p { font-size: clamp(1.2rem, 2vw, 1.45rem); line-height: 1.45; max-width: 36rem; margin-top: var(--s5); }
.spart__text p:first-child { margin-top: 0; }
.spart__text strong { font-weight: 700; color: var(--inchiostro-950); }
.kosten { overflow-x: auto; margin-bottom: var(--s5); }
.kosten table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.35; }
.kosten caption { text-align: left; font-weight: 600; padding-bottom: .75rem; color: var(--inchiostro-950); }
.kosten th, .kosten td { text-align: left; vertical-align: top; padding: .8rem .9rem .8rem 0; border-top: 1px solid var(--linea, rgba(19, 23, 22, .22)); }
.kosten thead th { border-top: 2px solid var(--inchiostro-950); font-weight: 600; }
.kosten thead th:last-child { color: var(--ocra-500); }
.kosten tbody th { font-weight: 500; }
.kosten tbody td:last-child { font-weight: 600; color: var(--inchiostro-950); }
.kosten__totale th, .kosten__totale td { border-top: 2px solid var(--inchiostro-950); font-weight: 700; color: var(--inchiostro-950); }
.kosten tbody tr.kosten__totale td, .kosten tbody tr.kosten__summe td { font-weight: 700; }
.kosten__summe th, .kosten__summe td { border-top: 2px solid var(--ocra-500); font-size: 1.12em; font-weight: 700; color: var(--inchiostro-950); }
.kosten .kosten__note { margin-top: .75rem; font-size: .95rem; line-height: 1.4; color: var(--inchiostro-700, #3d4543); max-width: 36rem; }

/* Che cosa c'e' dentro: poche righe in prosa su due colonne, poi la schermata */
.drin { padding-block: var(--abstand); border-top: var(--haar); }
.drin h2 { max-width: 24em; }
.drin__spalten { columns: 2 22rem; column-gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: var(--s5); max-width: 66rem; }
.drin__spalten p { break-inside: avoid; margin-bottom: var(--s4); }
.drin .abb { margin-top: var(--s6); }

/* Sul telefono: elenco-registro e, accanto, la schermata a larghezza di telefono */
.handy { padding-block: var(--abstand); border-top: var(--haar); }
.handy h2 { max-width: 24em; }
.handy__raster { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; margin-top: var(--s6); }
.liste > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: var(--s5); padding-block: var(--s4); border-top: var(--haar); }
.liste > div:first-child { border-top: 2px solid var(--inchiostro-900); }
.liste > div:last-child { border-bottom: var(--haar); }
.liste dt { font-weight: 600; color: var(--inchiostro-950); }

.abb img { width: 100%; background: var(--bianco); border: var(--haar); border-radius: 0; }
.abb figcaption { margin-top: var(--s3); padding-top: var(--s2); border-top: var(--haar); font-size: .95rem; line-height: 1.5; color: var(--inchiostro-600); }
.abb figcaption span { display: block; max-width: 46rem; }
.abb figcaption b { font-weight: 700; color: var(--inchiostro-900); margin-right: .35em; }
.abb--handy { max-width: 20rem; }

/* Dati: prosa, una colonna */
.daten { padding-block: var(--abstand); border-top: var(--haar); }
.daten__inhalt > * { max-width: 40rem; }
.daten h2 { margin-bottom: var(--s5); }
.daten p + p { margin-top: var(--s4); }

/* Sviluppo e contatto */
.wer { position: relative; background: var(--petrolio-800); color: var(--carta); padding-block: var(--abstand); }
.wer__raster { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 5rem); }
.wer p { margin-top: var(--s4); max-width: 34rem; color: rgba(243, 245, 244, .92); }
.wer .wer__marke { margin-top: var(--s5); font-size: .95rem; color: rgba(243, 245, 244, .85); }
.kontakt { border-top: 2px solid var(--ocra-400); padding-top: var(--s5); }
.kontakt p { margin-top: 0; }
.kontakt__name { font-size: 1.35rem; font-weight: 700; color: #fff; }
.kontakt__zeile { color: rgba(243, 245, 244, .85); }
.kontakt a:not(.knopf) { color: #fff; font-weight: 600; display: inline-block; padding-block: .35rem; }
.kontakt ul { margin-block: var(--s4) var(--s5); }
.kontakt .knopf { margin-top: .25rem; }

/* Piede */
.fuss { background: var(--petrolio-900); color: rgba(243, 245, 244, .85); padding-block: 1.75rem; }
.fuss__raster { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; align-items: center; }
.fuss a { color: #fff; padding-block: .55rem; }
.fuss ul { display: flex; gap: 1.75rem; flex-wrap: wrap; }
.fuss .fuss__marke { flex-basis: 100%; margin: 0; padding-top: .75rem; border-top: 1px solid rgba(243, 245, 244, .2); font-size: .95rem; color: rgba(243, 245, 244, .85); }

/* Pagine legali */
.recht { padding-block: clamp(2.5rem, 6vw, 5rem); max-width: 46rem; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.recht h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 650; letter-spacing: -.025em; line-height: 1.1; margin-bottom: 2rem; }
.recht h2 { font-size: 1.25rem; letter-spacing: -.005em; margin: 2rem 0 .5rem; padding-top: 1rem; border-top: var(--haar); }
.recht p + p { margin-top: .75rem; }
.recht__zurueck { margin-top: 2.5rem; }

/* Adattamenti */
@media (max-width: 960px) {
  .hero__raster, .stand__raster, .video__raster, .spart__raster, .handy__raster, .wer__raster { grid-template-columns: minmax(0, 1fr); }
  .hero__rosette { justify-self: center; width: min(100%, 22rem); margin-right: 0; }
}
@media (max-width: 720px) {
  .abb--drin { display: none; }            /* sul telefono la stessa pagina iniziale si vede gia' in «Sul telefono» */
  .abb--handy { max-width: 22rem; }
  .reg__row, .liste > div { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .kontakt-link { display: none; }
  .kopf { padding-block: 10px; }
  .hero__rosette { width: min(100%, 17rem); }
}
@media (max-width: 600px) {
  .hero__aktion { flex-direction: column; align-items: flex-start; }
  .knopf { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media (max-width: 560px) {
  .kosten table { table-layout: fixed; font-size: .88rem; }
  .kosten thead td { width: 27%; }
  .kosten thead th { width: 36.5%; }
  .kosten th, .kosten td { padding: .7rem .5rem .7rem 0; overflow-wrap: anywhere; hyphens: auto; }
  .kosten__summe th, .kosten__summe td { font-size: 1.05em; }
  .kosten__totale th, .kosten__totale td { font-size: 1em; }
}

.modulo { margin-top: var(--s5); max-width: 36rem; }
.modulo p { margin: 0 0 1rem; }
.modulo label { display: block; font-weight: 600; margin-bottom: .35rem; }
.modulo input, .modulo textarea { width: 100%; font: inherit; color: var(--inchiostro-950); background: #fff; border: 1.5px solid var(--petrolio-600); border-radius: 0; padding: .7rem .8rem; }
.modulo input:focus-visible, .modulo textarea:focus-visible { outline: 3px solid var(--ocra-500); outline-offset: 2px; }
.modulo .knopf { cursor: pointer; border: 0; font: inherit; }
.modulo .modulo__nota { font-size: .95rem; line-height: 1.4; margin-top: 1rem; }
.honig { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.video { padding-block: var(--abstand); border-top: 1px solid var(--linea, rgba(19, 23, 22, .18)); }
.video__raster { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.video p { max-width: 28rem; margin-top: var(--s4); }
.video__link { position: relative; display: block; color: inherit; text-decoration: none; border: 1px solid var(--petrolio-600); line-height: 0; }
.video__link img { display: block; width: 100%; height: auto; }
.video__play { position: absolute; left: 50%; top: 50%; width: 5.5rem; height: 5.5rem; margin: -2.75rem 0 0 -2.75rem; border-radius: 50%; background: var(--petrolio-700); border: 3px solid var(--carta); box-shadow: 0 2px 14px rgba(6, 28, 30, .35); }
.video__play::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -.95rem 0 0 -.6rem; border-style: solid; border-width: .95rem 0 .95rem 1.6rem; border-color: transparent transparent transparent var(--carta); }
.video__cta { position: absolute; left: 0; bottom: 0; padding: .7rem 1.1rem; line-height: 1.2; font-weight: 700; background: var(--ocra-400, #c89732); color: var(--inchiostro-950); }
.video__link:hover .video__play { background: var(--petrolio-600); }
.video__link:focus-visible { outline: 3px solid var(--ocra-500); outline-offset: 3px; }

.hero__gruender { margin-top: var(--s4); max-width: 36rem; padding: .85rem 1rem; border-left: 4px solid var(--ocra-500); background: rgba(171, 123, 0, .08); font-size: 1.02rem; line-height: 1.5; color: var(--inchiostro-900); }
.hero__gruender strong { font-weight: 700; color: var(--inchiostro-950); }

/* Riga di formula sotto la figura aurea dell'apertura (Fibonacci → φ): decorativa, solo cifre e simboli */
.hero__rosette { position: relative; }
.hero__formel { position: absolute; left: 0; right: 0; top: calc(100% + 1.1rem); margin: 0; text-align: center; font-size: .95rem; line-height: 1.3; letter-spacing: .03em; color: var(--petrolio-600); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hero__formel .phi { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 1.2em; color: var(--ocra-500); margin-inline: .1em; }
@media (max-width: 720px) { .hero__formel { font-size: .85rem; } }

/* Apertura: animazione aurea (phi-b2g, SVG in linea); regole aggiunte da build.py (HERO_ARTE) */
.hero__rosette { justify-self: end; width: min(100%, 31rem); aspect-ratio: 1; }
@media (max-width: 960px) { .hero__rosette { justify-self: center; width: min(100%, 22rem); } }
@media (max-width: 720px) { .hero__rosette { width: min(100%, 19rem); } }
.pb{display:block;width:100%;height:100%;--pb-fs:22px;--pb-gs:22px}.pb path,.pb circle{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pb-ring{stroke:#1a565a;stroke-opacity:.5;stroke-width:.9px}.pb-rete{stroke:#1a565a;stroke-opacity:.9;stroke-width:.75px}.pb-t0{stroke:#0a2b2d;stroke-opacity:1.0;stroke-width:0.9px}.pb-t1{stroke:#1a565a;stroke-opacity:0.95;stroke-width:0.8px}.pb-t2{stroke:#2a8f94;stroke-opacity:1.0;stroke-width:0.75px}.pb-t3{stroke:#2a8f94;stroke-opacity:0.82;stroke-width:0.66px}.pb-t4{stroke:#c89732;stroke-opacity:0.8;stroke-width:0.6px}.pb-g{stroke:#c89732;stroke-opacity:.8;stroke-width:.7px}.pb-gt{fill:#ab7b00;font:500 var(--pb-gs)/1 "Ziffern","Atkinson Hyperlegible Next",system-ui,sans-serif;paint-order:stroke;stroke:#f3f5f4;stroke-width:6px;stroke-linejoin:round;font-variant-numeric:proportional-nums}@media (max-width:720px){.pb-gt{display:none}}.pb-seg{stroke:#c89732;stroke-width:1.1px}.pb-dot{stroke:#c89732;stroke-width:5px}.pb-ray{stroke:#c89732;stroke-opacity:.38;stroke-width:.8px}.pb-arc{stroke:#c89732;stroke-opacity:.7;stroke-width:.8px;opacity:0}.pb-n{fill:#ab7b00;font:500 var(--pb-fs)/1 "Ziffern","Atkinson Hyperlegible Next",system-ui,sans-serif;font-variant-numeric:proportional-nums;opacity:0}@media (max-width:720px){.pb{--pb-fs:30px}}@media (prefers-reduced-motion:no-preference){.pb-v,.pb-cam,.pb-a{animation-duration:14s;animation-timing-function:linear;animation-iteration-count:infinite}.pb-v{animation-name:pb-v}.pb-cam{animation-name:pb-c}.pb-a0{animation-name:pb-a0}.pb-a1{animation-name:pb-a1}.pb-a2{animation-name:pb-a2}.pb-a3{animation-name:pb-a3}.pb-a4{animation-name:pb-a4}.pb-a5{animation-name:pb-a5}.pb-a6{animation-name:pb-a6}.pb-a7{animation-name:pb-a7}.pb-a8{animation-name:pb-a8}.pb-a9{animation-name:pb-a9}.pb-a10{animation-name:pb-a10}.pb-a11{animation-name:pb-a11}.pb-a12{animation-name:pb-a12}.pb-a13{animation-name:pb-a13}.pb-a14{animation-name:pb-a14}.pb-a15{animation-name:pb-a15}.pb-a16{animation-name:pb-a16}.pb-a17{animation-name:pb-a17}.pb-a18{animation-name:pb-a18}.pb-a19{animation-name:pb-a19}.pb-ri{animation-name:pb-ri}.pb-ray{animation-name:pb-ray}.pb-o0{animation-name:pb-o0}.pb-o1{animation-name:pb-o1}.pb-o2{animation-name:pb-o2}.pb-o3{animation-name:pb-o3}.pb-o4{animation-name:pb-o4}.pb-o5{animation-name:pb-o5}.pb-o6{animation-name:pb-o6}.pb-o7{animation-name:pb-o7}.pb-o8{animation-name:pb-o8}.pb-o9{animation-name:pb-o9}.pb-o10{animation-name:pb-o10}.pb-o11{animation-name:pb-o11}.pb-o12{animation-name:pb-o12}.pb-o13{animation-name:pb-o13}.pb-l1{animation-name:pb-l1,pb-f}.pb-l2{animation-name:pb-l2,pb-f}.pb-l3{animation-name:pb-l3,pb-f}.pb-l5{animation-name:pb-l5,pb-f}.pb-l8{animation-name:pb-l8,pb-f}.pb-l13{animation-name:pb-l13,pb-f}.pb-l21{animation-name:pb-l21,pb-f}.pb-p0{animation-name:pb-p0}.pb-p1{animation-name:pb-p1}.pb-gd{animation-name:pb-gd}}@keyframes pb-a0{0%,27%{opacity:0}30.57%,100%{opacity:1}}@keyframes pb-a1{0%,30%{opacity:0}33.57%,100%{opacity:1}}@keyframes pb-a2{0%,30%{opacity:0}33.57%,100%{opacity:1}}@keyframes pb-a3{0%,33%{opacity:0}36.57%,100%{opacity:1}}@keyframes pb-a4{0%,33%{opacity:0}36.57%,100%{opacity:1}}@keyframes pb-a5{0%,36%{opacity:0}39.57%,100%{opacity:1}}@keyframes pb-a6{0%,36%{opacity:0}39.57%,100%{opacity:1}}@keyframes pb-a7{0%,36%{opacity:0}39.57%,100%{opacity:1}}@keyframes pb-a8{0%,39%{opacity:0}42.57%,100%{opacity:1}}@keyframes pb-a9{0%,39%{opacity:0}42.57%,100%{opacity:1}}@keyframes pb-a10{0%,42%{opacity:0}45.57%,100%{opacity:1}}@keyframes pb-a11{0%,42%{opacity:0}45.57%,100%{opacity:1}}@keyframes pb-a12{0%,42%{opacity:0}45.57%,100%{opacity:1}}@keyframes pb-a13{0%,45%{opacity:0}48.57%,100%{opacity:1}}@keyframes pb-a14{0%,45%{opacity:0}48.57%,100%{opacity:1}}@keyframes pb-a15{0%,48%{opacity:0}51.57%,100%{opacity:1}}@keyframes pb-a16{0%,48%{opacity:0}51.57%,100%{opacity:1}}@keyframes pb-a17{0%,48%{opacity:0}51.57%,100%{opacity:1}}@keyframes pb-a18{0%,51%{opacity:0}54.57%,100%{opacity:1}}@keyframes pb-a19{0%,51%{opacity:0}54.57%,100%{opacity:1}}@keyframes pb-ri{0%,25.18%{opacity:0}30.9%,100%{opacity:1}}@keyframes pb-ray{0%,2.14%{opacity:0}9.29%,100%{opacity:1}}@keyframes pb-o0{0%,2.14%{opacity:0}4.64%,100%{opacity:1}}@keyframes pb-o1{0%,7.18%{opacity:0}9.68%,100%{opacity:1}}@keyframes pb-o2{0%,10.13%{opacity:0}12.63%,100%{opacity:1}}@keyframes pb-o3{0%,13.84%{opacity:0}16.34%,100%{opacity:1}}@keyframes pb-o4{0%,17.25%{opacity:0}19.75%,100%{opacity:1}}@keyframes pb-o5{0%,20.78%{opacity:0}23.28%,100%{opacity:1}}@keyframes pb-o6{0%,24.26%{opacity:0}26.76%,100%{opacity:1}}@keyframes pb-o7{0%,27.77%{opacity:0}30.27%,100%{opacity:1}}@keyframes pb-o8{0%,31.26%{opacity:0}33.76%,100%{opacity:1}}@keyframes pb-o9{0%,34.76%{opacity:0}37.26%,100%{opacity:1}}@keyframes pb-o10{0%,38.25%{opacity:0}40.75%,100%{opacity:1}}@keyframes pb-o11{0%,41.75%{opacity:0}44.25%,100%{opacity:1}}@keyframes pb-o12{0%,45.25%{opacity:0}47.75%,100%{opacity:1}}@keyframes pb-o13{0%,48.74%{opacity:0}51.24%,100%{opacity:1}}@keyframes pb-l1{0%,3.57%{opacity:0}6.43%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l2{0%,8.61%{opacity:0}11.47%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l3{0%,11.55%{opacity:0}14.41%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l5{0%,15.27%{opacity:0}18.12%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l8{0%,18.68%{opacity:0}21.54%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l13{0%,22.21%{opacity:0}25.07%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-l21{0%,25.69%{opacity:0}28.55%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-p0{0%,3.57%{opacity:0}6.43%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-p1{0%,8.61%{opacity:0}11.47%,35.71%{opacity:1}42.86%,100%{opacity:0}}@keyframes pb-gd{0%,52.86%{opacity:0}59.29%,100%{opacity:1}}@keyframes pb-c{0%{transform:scale(7.354)}4.29%{transform:scale(7.354)}6.07%{transform:scale(7.184)}7.86%{transform:scale(6.955)}9.64%{transform:scale(6.683)}11.43%{transform:scale(6.381)}13.21%{transform:scale(6.06)}15%{transform:scale(5.727)}16.79%{transform:scale(5.39)}18.57%{transform:scale(5.055)}20.36%{transform:scale(4.725)}22.14%{transform:scale(4.404)}23.93%{transform:scale(4.094)}25.71%{transform:scale(3.797)}27.5%{transform:scale(3.513)}29.29%{transform:scale(3.245)}31.07%{transform:scale(2.992)}32.86%{transform:scale(2.753)}34.64%{transform:scale(2.53)}36.43%{transform:scale(2.322)}38.21%{transform:scale(2.128)}40%{transform:scale(1.948)}41.79%{transform:scale(1.781)}43.57%{transform:scale(1.627)}45.36%{transform:scale(1.484)}47.14%{transform:scale(1.353)}48.93%{transform:scale(1.232)}50.71%{transform:scale(1.121)}52.5%{transform:scale(1.019)}52.86%{transform:scale(1)}97.14%{transform:scale(1)}100%{transform:scale(7.354)}}@keyframes pb-f{0%{font-size:calc(var(--pb-fs)/7.354)}4.29%{font-size:calc(var(--pb-fs)/7.354)}6.07%{font-size:calc(var(--pb-fs)/7.184)}7.86%{font-size:calc(var(--pb-fs)/6.955)}9.64%{font-size:calc(var(--pb-fs)/6.683)}11.43%{font-size:calc(var(--pb-fs)/6.381)}13.21%{font-size:calc(var(--pb-fs)/6.06)}15%{font-size:calc(var(--pb-fs)/5.727)}16.79%{font-size:calc(var(--pb-fs)/5.39)}18.57%{font-size:calc(var(--pb-fs)/5.055)}20.36%{font-size:calc(var(--pb-fs)/4.725)}22.14%{font-size:calc(var(--pb-fs)/4.404)}23.93%{font-size:calc(var(--pb-fs)/4.094)}25.71%{font-size:calc(var(--pb-fs)/3.797)}27.5%{font-size:calc(var(--pb-fs)/3.513)}29.29%{font-size:calc(var(--pb-fs)/3.245)}31.07%{font-size:calc(var(--pb-fs)/2.992)}32.86%{font-size:calc(var(--pb-fs)/2.753)}34.64%{font-size:calc(var(--pb-fs)/2.53)}36.43%{font-size:calc(var(--pb-fs)/2.322)}38.21%{font-size:calc(var(--pb-fs)/2.128)}40%{font-size:calc(var(--pb-fs)/1.948)}41.79%{font-size:calc(var(--pb-fs)/1.781)}43.57%{font-size:calc(var(--pb-fs)/1.627)}45.36%{font-size:calc(var(--pb-fs)/1.484)}47.14%{font-size:calc(var(--pb-fs)/1.353)}48.93%{font-size:calc(var(--pb-fs)/1.232)}50.71%{font-size:calc(var(--pb-fs)/1.121)}52.5%{font-size:calc(var(--pb-fs)/1.019)}52.86%{font-size:calc(var(--pb-fs)/1)}97.14%{font-size:calc(var(--pb-fs)/1)}100%{font-size:calc(var(--pb-fs)/7.354)}}@keyframes pb-v{0%,84.29%{opacity:1}97.14%,100%{opacity:0}}
