/* Athletic Yoga Method — sistema comune di tutte le pagine. GENERATO da .strumenti/sistema-css.py
   a partire da design-system/tokens.json: non modificare qui, modificare tokens.json e rilanciare. */
:root{
  --crema:#f1eadd; --crema-rgb:241, 234, 221;
  --sabbia:#e9e0d2; --sabbia-rgb:233, 224, 210;
  --nero:#241e17; --nero-rgb:36, 30, 23;
  --grigio:#5c5348; --grigio-rgb:92, 83, 72;
  --rame:#a9713f; --rame-rgb:169, 113, 63;
  --rame-scuro:#87582c; --rame-scuro-rgb:135, 88, 44;
  --rame-chiaro:#e7c79f; --rame-chiaro-rgb:231, 199, 159;
  --linea:rgba(169, 113, 63, 0.3); --velo:rgba(36, 30, 23, 0.5);
  /* le quattro misure di testo: titolo grande (ogni titolo di blocco), numero, testo, piccolo */
  --t-grande:clamp(48px,6.67vw,96px); --t-numero:clamp(30px,3.06vw,44px); --t-testo:17px; --t-piccolo:13px;
  --i-grande:0.95; --i-numero:1.08; --i-testo:1.7; --i-piccolo:1.5;
  --spazio-1:8px; --spazio-2:16px; --spazio-3:24px; --spazio-4:48px; --sezione:128px; --lato:48px; --contenitore:1160px; --colonna-testo:760px; --barra:92px;
  --raggio:2px; --raggio-tondo:999px;
  --font-titoli:"Instrument Serif",Georgia,serif; --font-testo:"Hanken Grotesk",system-ui,sans-serif;
  /* nomi usati dentro le pagine, tutti ricondotti ai colori e agli spazi del sistema */
  --bg:var(--crema); --bg-alt:var(--sabbia); --bg-marquee:var(--sabbia); --fg:var(--nero); --muted:var(--grigio);
  --accent:var(--rame); --rame-testo:var(--rame-scuro); --accent-hover:var(--rame-scuro); --on-accent:var(--nero);
  --accent-rgb:var(--rame-rgb); --fgline-rgb:var(--nero-rgb); --scrim-rgb:var(--crema-rgb);
  --cont:var(--contenitore); --sez:var(--sezione); --sez-foto:var(--sezione);
  --bordo:max(var(--lato),calc((100% - var(--contenitore)) / 2));
}
@media (max-width:760px){ :root{ --sezione:88px; --lato:22px; --barra:66px; } }
/* Tasto del tema scuro: gli stessi colori, scambiati (fondo nero, testo crema, accenti rame chiaro) */
html[data-theme="dark"]{ --bg:var(--nero); --bg-alt:rgba(var(--crema-rgb),.05); --bg-marquee:var(--nero); --fg:var(--crema); --muted:rgba(var(--crema-rgb),.78);
  --accent:var(--rame-chiaro); --rame-testo:var(--rame-chiaro); --accent-hover:var(--rame-chiaro); --on-accent:var(--nero);
  --accent-rgb:var(--rame-chiaro-rgb); --fgline-rgb:var(--crema-rgb); --scrim-rgb:var(--nero-rgb); }
html,body{background:var(--bg);color:var(--fg);}
img{height:auto;}   /* le misure scritte nelle foto servono solo a riservare lo spazio, mai a deformarle (D232) */
/* OGNI titolo di blocco di OGNI pagina (h1 e h2) è identico al titolo d'apertura. Regola di ruolo, non di misura:
   i :not(#…) le danno la precedenza su qualsiasi regola delle pagine, anche con !important. */
html :is(h1,h2):not(#_a):not(#_b){font-family:var(--font-titoli,"Instrument Serif",Georgia,serif) !important;font-weight:400 !important;font-size:var(--t-grande) !important;line-height:var(--i-grande) !important;letter-spacing:-.01em;}
/* Spazi di OGNI blocco di OGNI pagina, per ruolo: occhiello → titolo 16 px, titolo → contenuto 48 px. */
html p:has(+ :is(h1,h2)):not(#_a):not(#_b){margin-bottom:var(--spazio-2) !important;}
html h2:not(:last-child):not(#_a):not(#_b){margin-top:0 !important;margin-bottom:var(--spazio-4) !important;}
/* Fine di ogni blocco: l'ultimo elemento non aggiunge margine, così lo spazio è esattamente quello del blocco (D232). */
html .blocco :is(p,ul,ol,div,details):last-child:not(#_a), html main > .dentro :is(p,ul,ol,div):last-child:not(#_a){margin-bottom:0 !important;}
/* Piè di pagina: uno solo, nero, uguale in ogni pagina (D232) */
html footer:not(#_a){background:var(--nero) !important;color:var(--crema) !important;border:0 !important;padding:var(--spazio-4) var(--bordo) !important;margin:0 !important;}
html footer .dentro{max-width:var(--contenitore);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--spazio-3);align-items:center;justify-content:space-between;}
html footer a{color:var(--crema);}
html footer .piede-nota{width:100%;border-top:1px solid rgba(var(--crema-rgb),.16);padding-top:var(--spazio-3);font-size:var(--t-piccolo);line-height:var(--i-piccolo);color:rgba(var(--crema-rgb),.65);}
/* Tastiera: la barra ricompare quando un suo elemento prende il fuoco; il tasto «torna su» nascosto non si raggiunge (D232) */
html #topnav.via:focus-within{transform:none !important;}
html #torna-su:not(.on){visibility:hidden;}
