
    :root { --font-display: 'Cabinet Grotesk', system-ui, sans-serif; --font-body: 'Switzer', system-ui, sans-serif; --bg: #fcfbf7; --bg-2: #f3ede0; --ink: #0a0c0e; --ink-soft: #4a5158; --ink-mute: #8a8580; --dark: #0a0c0e; --dark-2: #181b1f; --on-d: #fcfbf7; --on-d-soft: rgba(252,251,247,0.72); --on-d-mute: rgba(252,251,247,0.45); --c: #d4783c; --c-bright: #ec8d56; --c-deep: #8a4925; --c-soft: #f5d4b3; --border: rgba(10,12,14,0.08); --border-2: rgba(10,12,14,0.14); --border-d: rgba(245,212,179,0.16); --r: 6px; --card-r: 10px; --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --shadow-cuivre: 0 1px 2px rgba(163,90,48,0.18), 0 4px 12px -3px rgba(163,90,48,0.28); --shadow-cuivre-lift: 0 1px 2px rgba(10,12,14,0.10), 0 10px 24px -4px rgba(163,90,48,0.38), 0 20px 40px -10px rgba(10,12,14,0.20); }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; font-family: var(--font-body); background: var(--bg); color: var(--ink); -webkit-font-smoothing: antialiased; }
    p, h1, h2, h3 { margin: 0; }
    a { color: inherit; text-decoration: none; }
    img, svg { display: block; max-width: 100%; }
    ol, ul { margin: 0; padding: 0; }
    button { font: inherit; border: 0; background: transparent; cursor: pointer; }
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 26px; border-radius: var(--r); font-family: var(--font-body); font-weight: 600; font-size: 14.5px; letter-spacing: -0.005em; line-height: 1; border: 1px solid transparent; white-space: nowrap; cursor: pointer; color: white; transition: all 240ms var(--ease-out); box-shadow: var(--shadow-cuivre); }
    .btn .icon { transition: transform 240ms var(--ease-out); flex-shrink: 0; }
    .btn:hover .icon { transform: translateX(3px); }
    .btn--primary { background: var(--c); }
    .btn--primary:hover { background: #c46a30; transform: translateY(-2px); box-shadow: var(--shadow-cuivre-lift); }
    .btn--ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--ink); box-shadow: none; }
    .btn--ghost:hover { background: var(--ink); color: var(--on-d); }
    .eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 11.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-deep); }
    .eyebrow::before { content: ''; width: 24px; height: 1px; background: currentColor; flex-shrink: 0; }
    .eyebrow--light { color: var(--c-soft); }
    .container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
    @media (max-width: 720px) { .container { padding: 0 22px; } }

    /* HEADER */
    .header { position: sticky; top: 0; z-index: 40; width: 100%; background: rgba(252,251,247,0.86); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-bottom: 1px solid var(--border); }
    .nav { width: 100%; max-width: 1280px; margin: 0 auto; height: 80px; padding: 0 36px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .nav__brand { display: flex; align-items: center; gap: 12px; color: var(--ink); }
    .nav__mark-svg { width: 44px; height: 44px; color: var(--ink); flex-shrink: 0; }
    .nav__name { font-family: var(--font-display); font-size: 16.5px; font-weight: 700; letter-spacing: -0.022em; }
    .nav__links { display: flex; gap: 28px; font-family: var(--font-body); font-size: 13.5px; font-weight: 500; color: var(--ink-soft); }
    .nav__links a:hover { color: var(--ink); }
    .nav__cta { height: 42px; padding: 0 18px; font-size: 13.5px; }
    .hamburger { display: none; width: 40px; height: 40px; align-items: center; justify-content: center; border: 1px solid var(--border-2); border-radius: 2px; }
    .hamburger__icon { display: flex; flex-direction: column; gap: 3px; width: 16px; }
    .hamburger__icon span { display: block; height: 1.5px; background: var(--ink); width: 100%; transition: all 220ms var(--ease-out); }
    .hamburger[aria-expanded="true"] .hamburger__icon { gap: 0; position: relative; height: 14px; }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(1) { position: absolute; top: 6px; transform: rotate(45deg); }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(2) { opacity: 0; }
    .hamburger[aria-expanded="true"] .hamburger__icon span:nth-child(3) { position: absolute; top: 6px; transform: rotate(-45deg); }
    @media (max-width: 900px) { .nav { height: 64px; padding: 0 20px; } .nav__links, .nav__cta { display: none; } .hamburger { display: inline-flex; } .nav__mark-svg { width: 36px; height: 36px; } }
    .drawer { position: fixed; inset: 64px 0 0 0; z-index: 39; background: var(--bg); transform: translateX(100%); transition: transform 320ms var(--ease-out); display: flex; flex-direction: column; padding: 14px 22px 28px; overflow-y: auto; }
    .drawer[data-open="true"] { transform: translateX(0); }
    .drawer__links { display: flex; flex-direction: column; }
    .drawer__links a { display: flex; align-items: center; justify-content: space-between; padding: 18px 4px; border-bottom: 1px solid var(--border); font-family: var(--font-display); font-size: 17px; font-weight: 500; letter-spacing: -0.018em; color: var(--ink); }
    .drawer__links a:last-child { border-bottom: 0; }
    .drawer__links a::after { content: ''; width: 8px; height: 8px; border-right: 1.5px solid var(--c); border-top: 1.5px solid var(--c); transform: rotate(45deg); }
    .drawer__cta-block { margin-top: 28px; display: flex; flex-direction: column; gap: 12px; }
    .drawer__cta-block .btn { width: 100%; height: 54px; font-size: 15.5px; }

    /* LEGAL HERO */
    .lg-hero { padding: 72px 0 48px; background: var(--bg); border-bottom: 1px solid var(--border); }
    .lg-hero__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; display: flex; flex-direction: column; gap: 18px; }
    .lg-hero__h1 { font-family: var(--font-display); font-size: clamp(40px, 4.8vw, 64px); font-weight: 700; line-height: 1.04; letter-spacing: -0.036em; color: var(--ink); text-wrap: balance; margin-top: 12px; }
    .lg-hero__update { font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-mute); padding-top: 12px; }
    @media (max-width: 720px) { .lg-hero { padding: 48px 0 32px; } .lg-hero__inner { padding: 0 22px; } .lg-hero__h1 { font-size: 38px; } }

    /* LEGAL BODY · single column editorial */
    .lg-body { padding: 64px 0 96px; background: var(--bg); }
    .lg-body__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 200px 1fr; gap: 56px; align-items: start; }
    .lg-toc { position: sticky; top: 108px; }
    .lg-toc__label { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-deep); margin-bottom: 14px; }
    .lg-toc__list { display: flex; flex-direction: column; font-family: var(--font-body); font-size: 13px; }
    .lg-toc__list a { display: flex; gap: 10px; padding: 6px 0; color: var(--ink-soft); border-bottom: 1px solid var(--border); transition: color 180ms var(--ease-out); }
    .lg-toc__list a:hover { color: var(--c-deep); }
    .lg-toc__list a:last-child { border-bottom: 0; }
    .lg-toc__num { font-family: var(--font-display); color: var(--c-deep); font-weight: 700; min-width: 22px; }
    .lg-content { font-family: var(--font-body); font-size: 15.5px; line-height: 1.7; color: var(--ink-soft); }
    .lg-content section { margin-bottom: 44px; scroll-margin-top: 96px; }
    .lg-content section:last-child { margin-bottom: 0; }
    .lg-content h2 { font-family: var(--font-display); font-size: clamp(22px, 2.2vw, 28px); font-weight: 700; line-height: 1.15; letter-spacing: -0.024em; color: var(--ink); margin-bottom: 18px; display: flex; align-items: baseline; gap: 14px; text-wrap: balance; }
    .lg-content h2 .num { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 0.7em; color: var(--c-bright); flex-shrink: 0; }
    .lg-content p { margin-bottom: 14px; }
    .lg-content p:last-child { margin-bottom: 0; }
    .lg-content strong { color: var(--ink); font-weight: 600; }
    .lg-content ol { list-style: none; counter-reset: ll; padding-left: 0; margin-bottom: 14px; }
    .lg-content ol li { position: relative; padding-left: 30px; margin-bottom: 8px; counter-increment: ll; }
    .lg-content ol li::before { content: counter(ll, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: var(--c-deep); top: 4px; }
    .lg-content ul { list-style: disc; padding-left: 22px; margin-bottom: 14px; }
    .lg-content ul li { margin-bottom: 6px; }
    .lg-content a { color: var(--c-deep); border-bottom: 1px solid var(--c-deep); padding-bottom: 1px; }
    @media (max-width: 880px) { .lg-body { padding: 32px 0 64px; } .lg-body__inner { grid-template-columns: 1fr; gap: 28px; padding: 0 22px; } .lg-toc { position: static; padding: 18px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); } .lg-content section { margin-bottom: 32px; } .lg-content h2 { font-size: 22px; } }

    /* CTA STRIP small */
    .lg-cta { padding: 56px 0; background: var(--bg-2); border-top: 1px solid var(--border); }
    .lg-cta__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
    .lg-cta__text { font-family: var(--font-display); font-size: 18px; font-weight: 600; letter-spacing: -0.022em; color: var(--ink); }
    @media (max-width: 720px) { .lg-cta__inner { padding: 0 22px; flex-direction: column; align-items: flex-start; } }

    /* FOOTER */
    .footer { background: var(--dark-2); color: var(--on-d-soft); padding: 72px 0 28px; border-top: 1px solid var(--border-d); }
    .footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 56px; }
    .footer__brand { display: flex; align-items: center; gap: 14px; color: var(--on-d); margin-bottom: 18px; }
    .footer__brand svg { width: 56px; height: 56px; color: var(--on-d); }
    .footer__brand span { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -0.022em; }
    .footer__manifesto { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: var(--on-d-soft); max-width: 320px; margin-bottom: 24px; }
    .footer__col-label { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-soft); margin-bottom: 18px; }
    .footer__col ul { display: flex; flex-direction: column; gap: 11px; font-family: var(--font-body); font-size: 14px; color: var(--on-d-soft); list-style: none; padding: 0; }
    .footer__col a:hover { color: var(--on-d); }
    .footer__phone { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -0.022em; color: var(--on-d); margin-bottom: 8px; display: block; }
    .footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 24px; border-top: 1px solid var(--border-d); font-family: var(--font-body); font-size: 12.5px; color: var(--on-d-mute); flex-wrap: wrap; }
    @media (max-width: 880px) { .footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; } }
    @media (max-width: 540px) { .footer__grid { grid-template-columns: 1fr; } }

    @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } html { scroll-behavior: auto; } }
  