/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext-b0e3d42b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/figtree-latin-9341f363.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext-f153aa07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/figtree-latin-8330490a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext-f153aa07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/figtree-latin-8330490a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext-f153aa07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/figtree-latin-8330490a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/figtree-latin-ext-f153aa07.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/figtree-latin-8330490a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext-9c38cb2d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-2c32b9b3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext-9c38cb2d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-2c32b9b3.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext-9e38b3f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/outfit-latin-92684e4a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext-9e38b3f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/outfit-latin-92684e4a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext-9e38b3f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/outfit-latin-92684e4a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext-9e38b3f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/outfit-latin-92684e4a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/outfit-latin-ext-9e38b3f1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/outfit-latin-92684e4a.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Startups Ivoire Tech — couleurs
   Couleurs dominantes communiquées : orange #ED6D11 (C0 M67 J98 N0) · vert #005F46 (C90 M36 J76 N33).
   Drapeau national (orange #F77F00 · blanc · vert #009E60) réservé au bandeau tricolore. */
:root{
/* Orange — couleur dominante #ED6D11 (600) — primaire */
--orange-50:#FEF3EA;--orange-100:#FDE3CD;--orange-200:#FAC69B;--orange-300:#F6A263;--orange-400:#F28636;--orange-500:#EF7A22;--orange-600:#ED6D11;--orange-700:#C4560B;--orange-800:#9A430C;--orange-900:#73330D;
/* Vert — couleur dominante #005F46 (700) — secondaire */
--green-50:#E8F4EF;--green-100:#CCE6DB;--green-200:#99CDB8;--green-300:#5FAE8F;--green-400:#2C8E6A;--green-500:#0F7A57;--green-600:#046B4F;--green-700:#005F46;--green-800:#004D39;--green-900:#003B2C;--green-950:#00281E;
/* Safran — orange du drapeau, accent & avertissement */
--saffron-50:#FFF5E8;--saffron-100:#FFE6C2;--saffron-200:#FFCC85;--saffron-500:#F77F00;--saffron-600:#D96E00;--saffron-700:#A85500;--saffron-800:#7A3E00;
/* Lagune — sarcelle, information */
--lagoon-50:#EBF5F6;--lagoon-100:#CDE6E8;--lagoon-500:#0B7480;--lagoon-600:#015660;--lagoon-700:#014349;
/* Rouge alerte — distinct de l'orange de marque */
--red-50:#FDEEEF;--red-100:#F9D3D5;--red-600:#B42330;--red-700:#8F1B26;
/* Neutres « Ivoire » — gris chauds teintés ivoire */
--ivory-0:#FFFFFF;--ivory-25:#FDFCF9;--ivory-50:#FAF8F3;--ivory-100:#F3F0E8;--ivory-200:#E6E2D8;--ivory-300:#D2CDC1;--ivory-400:#A9A397;--ivory-500:#7D776C;--ivory-600:#5C574E;--ivory-700:#433F38;--ivory-800:#2C2925;--ivory-900:#1C1A17;--ivory-950:#12110F;
/* Drapeau national (usage décoratif : bandeau tricolore) */
--flag-orange:#F77F00;--flag-white:#FFFFFF;--flag-green:#009E60;

/* ——— Alias sémantiques ——— */
--brand-primary:var(--orange-600);--brand-primary-hover:var(--orange-700);--brand-primary-active:var(--orange-800);--brand-primary-soft:var(--orange-50);
--brand-secondary:var(--green-700);--brand-secondary-hover:var(--green-800);--brand-secondary-active:var(--green-900);--brand-secondary-soft:var(--green-50);
--brand-accent:var(--saffron-500);

--surface-page:var(--ivory-50);--surface-card:var(--ivory-0);--surface-sunken:var(--ivory-100);--surface-raised:var(--ivory-0);--surface-inverse:var(--green-950);--surface-brand:var(--green-700);--surface-overlay:rgba(18,17,15,.48);

--text-strong:var(--ivory-900);--text-body:var(--ivory-800);--text-muted:var(--ivory-600);--text-subtle:var(--ivory-500);--text-disabled:var(--ivory-400);--text-on-brand:#FFFFFF;--text-inverse:var(--ivory-50);--text-link:var(--green-700);--text-link-hover:var(--orange-600);

--border-subtle:var(--ivory-200);--border-default:var(--ivory-300);--border-strong:var(--ivory-500);--border-focus:var(--saffron-500);

--success-fg:var(--green-700);--success-bg:var(--green-50);--success-border:var(--green-200);
--warning-fg:var(--saffron-700);--warning-bg:var(--saffron-50);--warning-border:var(--saffron-200);
--danger-fg:var(--red-600);--danger-bg:var(--red-50);--danger-border:var(--red-100);
--info-fg:var(--lagoon-600);--info-bg:var(--lagoon-50);--info-border:var(--lagoon-100);
--neutral-fg:var(--ivory-700);--neutral-bg:var(--ivory-100);--neutral-border:var(--ivory-200);
}

/* Typographie — Outfit (titres, proche du logotype géométrique), Figtree (texte), JetBrains Mono (numéros de dossier, N° INSN-CI) */
:root{
--font-display:'Outfit',ui-sans-serif,system-ui,sans-serif;
--font-body:'Figtree',ui-sans-serif,system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;

--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fs-4xl:36px;--fs-5xl:48px;--fs-6xl:60px;--fs-7xl:72px;
--fw-regular:400;/* @kind font */--fw-medium:500;/* @kind font */--fw-semibold:600;/* @kind font */--fw-bold:700;/* @kind font */--fw-black:800;/* @kind font */
--lh-tight:1.1;/* @kind font */--lh-snug:1.25;/* @kind font */--lh-normal:1.5;/* @kind font */--lh-relaxed:1.65;/* @kind font */
--ls-tight:-0.02em;/* @kind font */--ls-normal:0;/* @kind font */--ls-wide:0.04em;/* @kind font */--ls-caps:0.12em;/* @kind font */--ls-logo:0.42em;/* @kind font */

/* Rôles */
--type-display:var(--fw-bold) var(--fs-6xl)/var(--lh-tight) var(--font-display);
--type-h1:var(--fw-bold) var(--fs-5xl)/var(--lh-tight) var(--font-display);
--type-h2:var(--fw-semibold) var(--fs-4xl)/var(--lh-snug) var(--font-display);
--type-h3:var(--fw-semibold) var(--fs-2xl)/var(--lh-snug) var(--font-display);
--type-h4:var(--fw-semibold) var(--fs-xl)/var(--lh-snug) var(--font-display);
--type-lead:var(--fw-regular) var(--fs-xl)/var(--lh-relaxed) var(--font-body);
--type-body:var(--fw-regular) var(--fs-md)/var(--lh-normal) var(--font-body);
--type-body-sm:var(--fw-regular) var(--fs-sm)/var(--lh-normal) var(--font-body);
--type-label:var(--fw-semibold) var(--fs-sm)/var(--lh-snug) var(--font-body);
--type-caption:var(--fw-medium) var(--fs-xs)/var(--lh-normal) var(--font-body);
--type-overline:var(--fw-bold) var(--fs-xs)/var(--lh-snug) var(--font-display);
--type-mono:var(--fw-regular) var(--fs-sm)/var(--lh-normal) var(--font-mono);
}

/* Espacements, rayons, ombres, mouvement, mise en page */
:root{
--space-0:0;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;

--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;
--radius-control:var(--radius-md);--radius-card:var(--radius-lg);--radius-dialog:var(--radius-xl);

--border-width:1px;/* @kind spacing */--border-width-strong:2px;/* @kind spacing */

--shadow-xs:0 1px 2px rgba(28,26,23,.06);
--shadow-sm:0 1px 3px rgba(28,26,23,.08),0 1px 2px rgba(28,26,23,.04);
--shadow-md:0 6px 16px -4px rgba(28,26,23,.10),0 2px 4px rgba(28,26,23,.04);
--shadow-lg:0 18px 40px -12px rgba(28,26,23,.20),0 4px 10px rgba(28,26,23,.05);
--shadow-xl:0 32px 64px -20px rgba(4,43,18,.30);
--ring-focus:0 0 0 3px rgba(247,127,0,.40);
--ring-danger:0 0 0 3px rgba(180,35,48,.22);

--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */--ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:200ms;/* @kind other */--dur-slow:320ms;/* @kind other */

--container-max:1200px;/* @kind spacing */--container-narrow:760px;/* @kind spacing */--header-h:72px;/* @kind spacing */--sidebar-w:264px;/* @kind spacing */
--band-h:4px;/* @kind spacing */
--z-header:40;/* @kind other */--z-overlay:80;/* @kind other */--z-toast:90;/* @kind other */
}

/* Éléments de base */
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--ls-tight);margin:0;text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}
::selection{background:var(--saffron-100);color:var(--ivory-900)}

/* Styles des composants (préfixe .sit-) — états hover/focus/active */
.sit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--radius-control);border:1px solid transparent;font:600 15px/1 var(--font-body);letter-spacing:.005em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.sit-btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.sit-btn:active:not(:disabled){transform:translateY(1px)}
.sit-btn:disabled,.sit-btn[aria-disabled="true"]{cursor:not-allowed;opacity:.45}
.sit-btn--sm{height:36px;padding:0 12px;font-size:14px;border-radius:var(--radius-sm)}
.sit-btn--lg{height:52px;padding:0 24px;font-size:16px}
.sit-btn--full{width:100%}
.sit-btn--primary{background:var(--brand-primary);color:var(--text-on-brand)}
.sit-btn--primary:hover:not(:disabled){background:var(--brand-primary-hover);color:#fff}
.sit-btn--primary:active:not(:disabled){background:var(--brand-primary-active)}
.sit-btn--secondary{background:var(--brand-secondary);color:var(--text-on-brand)}
.sit-btn--secondary:hover:not(:disabled){background:var(--brand-secondary-hover);color:#fff}
.sit-btn--secondary:active:not(:disabled){background:var(--brand-secondary-active)}
.sit-btn--outline{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-default)}
.sit-btn--outline:hover:not(:disabled){border-color:var(--brand-secondary);color:var(--brand-secondary);background:var(--green-50)}
.sit-btn--ghost{background:transparent;color:var(--brand-secondary)}
.sit-btn--ghost:hover:not(:disabled){background:var(--green-50);color:var(--brand-secondary-hover)}
.sit-btn--danger{background:var(--danger-fg);color:#fff}
.sit-btn--danger:hover:not(:disabled){background:var(--red-700);color:#fff}
.sit-btn--inverse{background:#fff;color:var(--green-800)}
.sit-btn--inverse:hover:not(:disabled){background:var(--ivory-100);color:var(--green-900)}
.sit-spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:sit-spin .7s linear infinite}
@keyframes sit-spin{to{transform:rotate(360deg)}}

.sit-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text-body);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast)}
.sit-iconbtn:hover{background:var(--ivory-100);color:var(--text-strong)}
.sit-iconbtn:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.sit-iconbtn--outline{border-color:var(--border-default);background:var(--surface-card)}
.sit-iconbtn--solid{background:var(--brand-secondary);color:#fff}
.sit-iconbtn--solid:hover{background:var(--brand-secondary-hover);color:#fff}
.sit-iconbtn--sm{width:32px;height:32px;border-radius:var(--radius-sm)}
.sit-iconbtn--lg{width:48px;height:48px}

.sit-tag{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-body);font:500 14px/1 var(--font-body);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}
.sit-tag:hover{border-color:var(--brand-secondary);color:var(--brand-secondary)}
.sit-tag[aria-pressed="true"]{background:var(--brand-secondary);border-color:var(--brand-secondary);color:#fff}
.sit-tag__x{display:inline-flex;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;opacity:.7}
.sit-tag__x:hover{opacity:1}

.sit-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.sit-label{font:var(--type-label);color:var(--text-strong)}
.sit-label .req{color:var(--brand-primary);margin-left:2px}
.sit-hint{font:var(--type-caption);color:var(--text-muted)}
.sit-hint--error{color:var(--danger-fg);display:flex;gap:6px;align-items:center}
.sit-control{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-strong);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.sit-control:hover{border-color:var(--border-strong)}
.sit-control:focus-within{border-color:var(--border-focus);box-shadow:var(--ring-focus)}
.sit-control--error{border-color:var(--danger-fg)}
.sit-control--error:focus-within{box-shadow:var(--ring-danger)}
.sit-control--disabled{background:var(--surface-sunken);opacity:.7;cursor:not-allowed}
.sit-control input,.sit-control select,.sit-control textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;font:var(--type-body);color:inherit;padding:10px 0}
.sit-control textarea{resize:vertical;min-height:96px}
.sit-control select{appearance:none;cursor:pointer}
.sit-control input::placeholder,.sit-control textarea::placeholder{color:var(--text-subtle)}
.sit-control__affix{color:var(--text-muted);font:500 14px var(--font-body);display:inline-flex}

.sit-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font:var(--type-body);color:var(--text-strong)}
.sit-check input{position:absolute;opacity:0;pointer-events:none}
.sit-check__box{box-sizing:border-box;flex:none;width:20px;height:20px;margin-top:2px;border-radius:5px;border:1.5px solid var(--border-strong);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:all var(--dur-fast) var(--ease-out)}
.sit-check--radio .sit-check__box{border-radius:50%}
.sit-check input:checked+.sit-check__box{background:var(--brand-secondary);border-color:var(--brand-secondary)}
.sit-check--radio input:checked+.sit-check__box{background:#fff;border:6px solid var(--brand-secondary)}
.sit-check input:focus-visible+.sit-check__box{box-shadow:var(--ring-focus)}
.sit-check input:disabled+.sit-check__box{background:var(--surface-sunken);border-color:var(--border-default)}
.sit-check__desc{display:block;font:var(--type-body-sm);color:var(--text-muted);margin-top:2px}

.sit-switch{display:flex;gap:12px;align-items:center;cursor:pointer;font:var(--type-body);color:var(--text-strong)}
.sit-switch input{position:absolute;opacity:0;pointer-events:none}
.sit-switch__track{box-sizing:border-box;flex:none;width:40px;height:24px;border-radius:999px;background:var(--ivory-300);position:relative;transition:background var(--dur-base) var(--ease-out)}
.sit-switch__track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out)}
.sit-switch input:checked+.sit-switch__track{background:var(--brand-secondary)}
.sit-switch input:checked+.sit-switch__track::after{transform:translateX(16px)}
.sit-switch input:focus-visible+.sit-switch__track{box-shadow:var(--ring-focus)}

.sit-drop{display:flex;align-items:center;gap:14px;padding:16px;border:1.5px dashed var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);transition:border-color var(--dur-fast),background var(--dur-fast);cursor:pointer}
.sit-drop:hover{border-color:var(--brand-secondary);background:var(--green-50)}

.sit-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle)}
.sit-tab{white-space:nowrap;position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:0;background:transparent;font:600 15px var(--font-body);color:var(--text-muted);cursor:pointer}
.sit-tab:hover{color:var(--text-strong)}
.sit-tab[aria-selected="true"]{color:var(--brand-secondary)}
.sit-tab[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand-primary)}
.sit-tab:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:6px}
.sit-tabs--pill{border:0;background:var(--surface-sunken);padding:4px;border-radius:12px;display:inline-flex}
.sit-tabs--pill .sit-tab{height:36px;border-radius:9px}
.sit-tabs--pill .sit-tab[aria-selected="true"]{background:#fff;box-shadow:var(--shadow-sm)}
.sit-tabs--pill .sit-tab[aria-selected="true"]::after{display:none}

.sit-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs)}
.sit-card--interactive{cursor:pointer;transition:box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base),transform var(--dur-base) var(--ease-out)}
.sit-card--interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-2px)}

.sit-crumb a{color:var(--text-muted);text-decoration:none}
.sit-crumb a:hover{color:var(--brand-secondary);text-decoration:underline}

.sit-tip{position:relative;display:inline-flex}
.sit-tip__bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);background:var(--ivory-900);color:#fff;font:500 13px/1.4 var(--font-body);padding:7px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-out);z-index:5}
.sit-tip__bubble::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--ivory-900)}
.sit-tip:hover .sit-tip__bubble,.sit-tip:focus-within .sit-tip__bubble,.sit-tip--open .sit-tip__bubble{opacity:1;transform:translate(-50%,0)}

@keyframes sit-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sit-anim-in{animation:sit-in var(--dur-slow) var(--ease-out) both}

body{margin:0;background:#F7F5F0;color:var(--ivory-900);font-family:var(--font-body)}
a{color:var(--green-700)}a:hover{color:var(--orange-700)}
.wrap{max-width:1320px;margin:0 auto;padding:0 28px;box-sizing:border-box}
.band{display:flex;height:6px}.band span{flex:1}
.top{display:flex;align-items:center;gap:16px;height:84px}
.top img{display:block}
.sep{width:1px;height:38px;background:var(--ivory-200)}
.hero{padding:64px 0 48px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:end}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:20px;padding:40px 0 32px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--font-body);color:var(--orange-700);letter-spacing:.04em;text-transform:uppercase}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--orange-600)}
h1{font:700 clamp(36px,4.6vw,60px)/1.05 var(--font-display);letter-spacing:-.025em;margin:16px 0 0;color:var(--green-900);text-wrap:balance}
.lead{font:400 18px/1.65 var(--font-body);color:var(--ivory-700);margin:0;text-wrap:pretty}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:40px}
@media(max-width:1080px){.grid{grid-template-columns:1fr;max-width:720px}}
.card{display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 1px 2px rgba(20,30,25,.06),0 14px 40px -18px rgba(20,40,30,.22);text-decoration:none;color:inherit;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(20,30,25,.06),0 26px 50px -20px rgba(20,40,30,.3);color:inherit}
.pv{position:relative;aspect-ratio:1280/860;overflow:hidden;background:var(--ivory-100);border-bottom:1px solid var(--ivory-200)}
.pv iframe{position:absolute;left:0;top:0;width:1280px;height:860px;border:0;transform-origin:0 0;transform:scale(var(--s,.3));pointer-events:none}
.num{position:absolute;left:14px;top:14px;z-index:2;height:30px;padding:0 12px;border-radius:999px;display:flex;align-items:center;font:700 13px var(--font-body);color:#fff;letter-spacing:.02em}
.body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:14px;flex:1}
.body h2{font:700 24px/1.2 var(--font-display);letter-spacing:-.015em;margin:0;color:var(--green-900)}
.body p{font:400 15px/1.6 var(--font-body);color:var(--ivory-700);margin:0;text-wrap:pretty}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{height:28px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;font:500 13px var(--font-body);background:var(--ivory-100);color:var(--ivory-800)}
.sw{display:flex;gap:6px;align-items:center;font:500 13px var(--font-body);color:var(--ivory-600)}
.sw i{width:18px;height:18px;border-radius:5px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cta{margin-top:auto;padding-top:16px;border-top:1px solid var(--ivory-200);display:flex;align-items:center;justify-content:space-between;font:700 15px var(--font-body);color:var(--green-700)}
.card:hover .cta{color:var(--orange-700)}
.cta svg{transition:transform var(--dur-base) var(--ease-out)}.card:hover .cta svg{transform:translateX(4px)}
.common{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:22px 26px;border-radius:18px;border:1px dashed var(--ivory-300);margin-bottom:72px}
.common b{font:700 14px var(--font-body);color:var(--green-900)}
.common span{font:500 14px var(--font-body);color:var(--ivory-700)}
.common span+span::before{content:"·";margin-right:18px;color:var(--ivory-400)}
footer{background:#0C0E0D;color:rgba(255,255,255,.75);font:400 14px var(--font-body)}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;padding:28px}
.viewer{position:fixed;inset:0;z-index:100;background:#fff;display:none}.viewer.on{display:block}.viewer iframe{width:100%;height:100%;border:0;display:block}
body.lock{overflow:hidden}
