/* Token del design system Romano Servizi — copiati da _ds/romano-servizi-design-system-374ffd0f-27a2-4a3b-9491-d6d526c988f9/tokens/.
   NON modificare a mano: rigenerare da quella cartella se il DS cambia.
   Unica differenza: il @font-face punta al WOFF2 sottoinsieme (latino, solo asse wght)
   generato per il build statico: 1 MB OTF -> 40 KB. */

/* --- colors --- */
:root{
  /* Brand core */
  --rs-red:#e60909;
  --rs-red-700:#c00707;
  --rs-red-900:#8f0505;
  --rs-red-300:#ff5b4d;
  --rs-red-tint:#fdecea;

  --rs-ink:#1b1715;
  --rs-ink-900:#0f0d0c;
  --rs-ink-700:#3a3330;
  --rs-ink-500:#6b625e;
  --rs-ink-300:#a8a09c;
  --rs-ink-100:#d8d3d0;

  --rs-paper:#ffffff;
  --rs-paper-2:#f6f4f3;
  --rs-paper-3:#ebe8e6;

  /* Semantic */
  --brand:var(--rs-red);
  --brand-hover:var(--rs-red-700);
  --brand-press:var(--rs-red-900);
  --brand-tint:var(--rs-red-tint);

  --text-heading:var(--rs-ink);
  --text-body:var(--rs-ink-700);
  --text-muted:var(--rs-ink-500);
  --text-inverse:#ffffff;
  --text-accent:var(--rs-red);
  --text-link:var(--rs-red);
  --text-link-hover:var(--rs-red-700);

  --surface-page:var(--rs-paper);
  --surface-alt:var(--rs-paper-2);
  --surface-card:#ffffff;
  --surface-dark:var(--rs-ink);
  --surface-dark-2:var(--rs-ink-900);

  --border-hairline:rgba(27,23,21,.12);
  --border-strong:var(--rs-ink);
  --border-brand:var(--rs-red);
  --border-on-dark:rgba(255,255,255,.16);

  /* States: emergency / normative / info come from the two-level tone system */
  --state-urgent:var(--rs-red);
  --state-ok:#1f7a3d;
  --state-warn:#c98a00;
  --scrim-dark:rgba(15,13,12,.72);
  --scrim-red:rgba(230,9,9,.88);
}

/* --- typography --- */
@font-face{font-family:"Acumin Variable Concept";src:url("../fonts/acumin-latin.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0152-0153,U+2000-206F,U+20AC,U+2122}
:root{
  --font-display:"Acumin Variable Concept","Archivo","Helvetica Neue",Helvetica,sans-serif; /* @kind font */
  --font-body:"Acumin Variable Concept","Archivo","Helvetica Neue",Helvetica,sans-serif; /* @kind font */
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace; /* @kind font */

  /* Weights available on the variable axis */
  --fw-light:300; /* @kind font */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */
  --fw-black:900; /* @kind font */

  /* Display scale — condensed, uppercase, tight */
  --fs-display-1:clamp(44px,6vw,84px); /* @kind font */
  --fs-display-2:clamp(34px,4.4vw,60px); /* @kind font */
  --fs-h1:44px; /* @kind font */--fs-h2:34px; /* @kind font */--fs-h3:26px; /* @kind font */--fs-h4:20px; /* @kind font */
  --fs-body-lg:19px; /* @kind font */--fs-body:17px; /* @kind font */--fs-body-sm:15px; /* @kind font */
  --fs-eyebrow:13px; /* @kind font */--fs-caption:13px; /* @kind font */--fs-micro:11px; /* @kind font */

  --lh-display:0.92; /* @kind font */--lh-heading:1.06; /* @kind font */--lh-snug:1.35; /* @kind font */--lh-body:1.62; /* @kind font */

  --ls-display:-0.02em; /* @kind font */--ls-heading:-0.01em; /* @kind font */--ls-body:0em; /* @kind font */
  --ls-eyebrow:0.22em; /* @kind font */    /* small uppercase labels are widely tracked */
  --ls-wordmark:0.42em; /* @kind font */   /* the "S E R V I Z I" lockup treatment */

  --tt-display:uppercase; /* @kind font */--tt-eyebrow:uppercase; /* @kind font */
}

/* --- spacing --- */
:root{
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
  --gutter:24px;
  --section-y:96px;         /* vertical rhythm between page sections */
  --section-y-tight:64px;
  --container:1180px;
  --container-narrow:820px;
  --stack-tight:8px;--stack:16px;--stack-loose:32px;
  --control-h-sm:36px;--control-h:48px;--control-h-lg:56px;
  --bar-w:6px;              /* thickness of the red bracket/rule motif */
  --bracket:56px;           /* arm length of the corner bracket motif */
}

/* --- shape --- */
:root{
  /* Squared-off brand. Radii stay near zero; only controls get a hint. */
  --radius-0:0px;--radius-1:2px;--radius-2:4px;--radius-pill:999px;
  --radius-card:0px;--radius-control:2px;--radius-image:0px;

  --border-1:1px; /* @kind spacing */--border-2:2px; /* @kind spacing */--border-3:3px; /* @kind spacing */--border-bracket:6px; /* @kind spacing */

  --shadow-none:none;
  --shadow-1:0 1px 2px rgba(27,23,21,.06),0 2px 8px rgba(27,23,21,.06);
  --shadow-2:0 4px 14px rgba(27,23,21,.10);
  --shadow-3:0 18px 44px rgba(27,23,21,.16);
  --shadow-red:0 10px 28px rgba(230,9,9,.24);
  --shadow-inset-hair:inset 0 0 0 1px rgba(27,23,21,.12);
  --focus-ring:0 0 0 3px rgba(230,9,9,.32);
}

/* --- motion --- */
:root{
  --dur-fast:120ms; /* @kind other */--dur:200ms; /* @kind other */--dur-slow:360ms; /* @kind other */
  --ease-standard:cubic-bezier(.2,.6,.2,1); /* @kind other */
  --ease-out:cubic-bezier(0,0,.2,1); /* @kind other */
  --ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
  --hover-lift:translateY(-2px); /* @kind other */
  --press-scale:scale(.98); /* @kind other */
  --transition-control:background-color var(--dur) var(--ease-standard),color var(--dur) var(--ease-standard),border-color var(--dur) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur) var(--ease-standard); /* @kind other */
}

/* --- layers --- */
:root{--z-base:0; /* @kind other */--z-raised:10; /* @kind other */--z-sticky:100; /* @kind other */--z-header:200; /* @kind other */--z-overlay:800; /* @kind other */--z-modal:900; /* @kind other */--z-toast:1000; /* @kind other */--z-callbar:1100 /* @kind other */}

/* --- base --- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-heading);margin:0;line-height:var(--lh-heading);letter-spacing:var(--ls-heading);font-weight:var(--fw-black);text-transform:uppercase}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur) var(--ease-standard)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
img{max-width:100%;display:block}
::selection{background:var(--rs-red);color:#fff}
