:root {
  --surface:#f9f8f6;
  --surface-raised:#fff;
  --ink:#24282c;
  --ink-soft:#626970;
  --line:rgba(36,40,44,.16);
  --signal:#f28d3f;
  --signal-strong:#e87624;
}
.white-shell { width:min(1440px,calc(100% - 64px)); margin:0 auto; }
.site-nav { position:sticky; top:0; z-index:80; border-bottom:1px solid var(--line); background:rgba(249,248,246,.92); backdrop-filter:blur(18px); }
.site-nav .white-nav__inner { min-height:76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; }
.site-nav .white-brand,.site-footer .white-brand { width:fit-content; display:inline-flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-size:21px; font-weight:750; letter-spacing:-.035em; }
.site-nav .white-brand img,.site-footer .white-brand img { width:38px; height:38px; }
.site-nav .white-nav__links { display:flex; align-items:center; gap:34px; }
.site-nav .white-nav__links a { color:var(--ink-soft); text-decoration:none; font-size:14px; font-weight:550; }
.site-nav .white-nav__links a:hover,.site-nav .white-nav__links a:focus-visible { color:var(--ink); }
.site-nav .white-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border:1px solid var(--ink); border-radius:8px; background:var(--ink); color:var(--surface); text-decoration:none; font-size:13px; font-weight:650; }
.site-nav__actions { display:flex; align-items:center; justify-self:end; gap:12px; }
.site-nav__toggle, .site-nav__mobile-only { display:none; }
.white-nav__links a[aria-current="page"] { color:var(--ink); }
.white-nav__links a[aria-current="page"]::after { content:""; display:block; width:100%; height:2px; margin-top:7px; background:var(--signal); }

.site-footer { border-top:1px solid rgba(247,247,245,.14); background:var(--ink); color:#c5c9cc; }
.site-footer .white-footer__top { min-height:360px; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(56px,7vw,110px); align-items:start; padding-top:68px; padding-bottom:58px; }
.site-footer .white-brand { color:var(--surface); font-size:24px; }
.site-footer .white-footer__brand > p { max-width:360px; margin:24px 0 0; color:#9da4a9; line-height:1.55; }
.site-footer address { margin-top:24px; color:#858e94; font-size:13px; font-style:normal; line-height:1.65; }
.site-footer address a { text-decoration-color:rgba(36,40,44,.35); text-underline-offset:3px; }
.site-footer .white-footer__columns { grid-template-columns:repeat(4,minmax(0,1fr)); }
.site-footer .white-footer__columns { display:grid; gap:34px; }
.site-footer .white-footer__columns > div { display:flex; flex-direction:column; gap:13px; }
.site-footer .white-footer__columns strong { margin-bottom:8px; color:var(--surface); font-size:13px; }
.site-footer .white-footer__columns a,.site-footer .white-footer__bottom a { color:#aeb5ba; text-decoration:none; font-size:13px; }
.site-footer .white-footer__columns a:hover,.site-footer .white-footer__bottom a:hover { color:#fff; }
.site-footer .white-footer__bottom { display:flex; justify-content:space-between; gap:24px; padding-top:26px; padding-bottom:26px; border-top:1px solid rgba(247,247,245,.12); font-size:12px; }
.site-footer .white-footer__bottom > div { display:flex; flex-wrap:wrap; gap:20px; }
.site-footer .white-footer__bottom button { appearance:none; padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.site-footer .white-footer__bottom button:hover { color:var(--ink); }
.site-nav :focus-visible,.site-footer :focus-visible,.consent-dialog :focus-visible { outline:3px solid var(--signal); outline-offset:4px; }

.consent-dialog { width:min(760px,calc(100% - 32px)); max-width:none; margin:auto auto 24px; padding:0; border:0; border-radius:14px; background:transparent; color:var(--ink); box-shadow:0 12px 42px rgba(36,40,44,.18); }
.consent-dialog::backdrop { background:rgba(36,40,44,.28); backdrop-filter:blur(3px); }
.consent-panel { padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--surface-raised); }
.consent-panel__intro { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
.consent-panel__intro h2 { margin:0 0 8px; font-size:22px; letter-spacing:-.025em; }
.consent-panel__intro p { max-width:620px; margin:0; color:var(--ink-soft); font-size:14px; line-height:1.5; }
.consent-options { margin:22px 0 0; border-top:1px solid var(--line); }
.consent-options label { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.consent-options strong, .consent-options small { display:block; }
.consent-options strong { margin-bottom:3px; font-size:14px; }
.consent-options small { color:var(--ink-soft); font-size:12px; }
.consent-options input { width:20px; height:20px; accent-color:var(--signal-strong); }
.consent-panel__actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.consent-button, .consent-link { min-height:42px; padding:0 16px; border:1px solid var(--ink); border-radius:8px; background:var(--ink); color:var(--surface); font:600 13px/1 "Archivo",Arial,sans-serif; cursor:pointer; }
.consent-button--secondary { background:transparent; color:var(--ink); }
.consent-link { margin-right:auto; border-color:transparent; background:transparent; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.consent-panel__legal { margin:14px 0 0; color:var(--ink-soft); font-size:11px; }
.consent-panel__legal a { color:var(--ink); }

@media (max-width:1100px) {
  .site-nav .white-nav__inner { grid-template-columns:1fr auto; min-height:70px; }
  .site-nav .white-nav__links { position:absolute; top:70px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 24px 24px; border-bottom:1px solid var(--line); background:var(--surface); }
  .site-nav.is-open .white-nav__links { display:flex; }
  .site-nav .white-nav__links a { padding:14px 8px; border-bottom:1px solid var(--line); font-size:16px; }
  .site-nav .white-nav__links a[aria-current="page"]::after { display:none; }
  .site-nav__toggle { width:46px; height:46px; display:grid; place-content:center; gap:6px; padding:0; border:1px solid var(--line); border-radius:9px; background:transparent; }
  .site-nav__toggle span { width:20px; height:2px; background:var(--ink); transition:transform 180ms ease; }
  .site-nav.is-open .site-nav__toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .site-nav.is-open .site-nav__toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .site-nav__mobile-only { display:block; }
}

@media (max-width:760px) {
  .white-shell { width:min(100% - 32px,620px); }
  .site-nav .white-nav__cta { display:none; }
  .site-footer .white-footer__columns { grid-template-columns:1fr 1fr; }
  .site-footer .white-footer__top { grid-template-columns:1fr; }
  .site-footer .white-footer__bottom { flex-direction:column; }
  .consent-dialog { margin-bottom:8px; }
  .consent-panel { padding:20px; }
  .consent-panel__actions { flex-wrap:wrap; }
  .consent-link { width:100%; margin:0; }
  .consent-button { flex:1; }
}

@media (prefers-reduced-motion:reduce) {
  .site-nav__toggle span, .consent-dialog { transition:none!important; animation:none!important; }
}
