*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; min-width: 0; }
:root {
  --white: #ffffff; --black: #080808;
  --gray-100: #f5f5f5; --gray-200: #ebebeb; --gray-300: #d4d4d4;
  --gray-400: #a3a3a3; --gray-500: #737373; --gray-700: #404040;
  --green: #16a34a; --red: #dc2626;
  --mono: "Inter Tight", "Helvetica Neue", Arial, sans-serif; --sans: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
}
html { scroll-behavior: smooth; width: 100%; max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; }
body { font-family: var(--sans); background: #ffffff; color: var(--black); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; width: 100%; max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; touch-action: pan-y; }
body > * { max-width: 100%; }
img, svg, video, canvas { max-width: 100%; }
::-webkit-scrollbar { width: 3px; } ::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 2px; }
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.92); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid var(--gray-200); padding: 0 56px; height: 60px; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-decoration: none; color: var(--black); display: flex; align-items: center; gap: 10px; }
.nav-links { display: flex; gap: 2px; list-style: none; align-items: center; }
.nav-links a { font-size: 13px; font-weight: 400; color: var(--gray-500); text-decoration: none; padding: 6px 11px; border-radius: 5px; transition: color 0.15s, background 0.15s; }
.nav-links a:hover { color: var(--black); background: var(--gray-100); }
.nav-links a.active { color: var(--black); background: var(--gray-100); font-weight: 500; }
.nav-cta { background: var(--black) !important; color: var(--white) !important; padding: 7px 14px !important; border-radius: 5px !important; font-size: 12px !important; font-weight: 500 !important; transition: opacity 0.15s !important; margin-left: 6px; }
.nav-cta:hover { opacity: 0.7 !important; }
.nav-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.nav-actions .nav-cta { margin-left: 0; white-space: nowrap; text-decoration: none; }

@media (min-width: 1180px) {
  .nav-links { position: absolute; left: 50%; transform: translateX(-50%); }
}
main { padding-top: 60px; }

.page-hero { padding: 72px 56px 64px; max-width: 1280px; margin: 0 auto; border-bottom: 1px solid var(--gray-200); }
.page-hero-inner { opacity: 0; transform: translateY(24px); animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) forwards 0.05s; }
@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }
.eyebrow { display: none; }
.page-title { font-size: clamp(32px,4vw,54px); font-weight: 300; line-height: 1.12; letter-spacing: -0.03em; margin-bottom: 0; }
.page-title em { font-style: italic; color: var(--gray-500); }
.page-sub { display: none; }

.doc-layout { padding: 64px 56px; max-width: 1280px; margin: 0 auto; }
.doc-content { max-width: 860px; margin: 0 auto; }
.toc-label { font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-400); margin-bottom: 16px; display: block; }
.toc-list { list-style: none; display: flex; flex-direction: column; gap: 0; }
.toc-list a { font-family: var(--mono); font-size: 11px; color: var(--gray-500); text-decoration: none; padding: 7px 0; border-bottom: 1px solid var(--gray-200); display: block; transition: color 0.15s; line-height: 1.4; }
.toc-list a:hover { color: var(--black); }
.toc-list li:first-child a { border-top: 1px solid var(--gray-200); }

.doc-section { padding: 48px 0; border-top: 1px solid var(--gray-200); }
.doc-section:first-child { border-top: none; padding-top: 0; }

.section-num { font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; color: var(--gray-400); text-transform: uppercase; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
.section-num::before { content:''; width:16px; height:1px; background:var(--gray-300); flex-shrink:0; }
.doc-section h2 { font-size: 22px; font-weight: 400; letter-spacing: -0.02em; margin-bottom: 20px; line-height: 1.25; }
.doc-section h2 em { font-style: italic; color: var(--gray-500); font-weight: 300; }

.doc-section p { font-size: 14.5px; font-weight: 300; color: var(--gray-700); line-height: 1.8; margin-bottom: 16px; }
.doc-section p:last-child { margin-bottom: 0; }

.doc-section ul, .doc-section ol { padding-left: 0; list-style: none; margin-bottom: 16px; display: flex; flex-direction: column; gap: 8px; }
.doc-section ul li, .doc-section ol li { font-size: 14px; font-weight: 300; color: var(--gray-700); line-height: 1.75; display: flex; gap: 12px; align-items: flex-start; }
.doc-section ul li::before { content: '—'; font-family: var(--mono); font-size: 11px; color: var(--gray-400); flex-shrink: 0; margin-top: 3px; }
.doc-section ol { counter-reset: item; }
.doc-section ol li { counter-increment: item; }
.doc-section ol li::before { content: counter(item) "."; font-family: var(--mono); font-size: 10px; color: var(--gray-400); flex-shrink: 0; margin-top: 4px; min-width: 16px; }

.doc-section strong { font-weight: 500; color: var(--black); }

.info-box { background: var(--gray-100); border: 1px solid var(--gray-200); border-radius: 8px; padding: 20px 24px; margin: 24px 0; }
.info-box p { margin-bottom: 0; font-size: 13.5px; color: var(--gray-500); }
.info-box strong { color: var(--gray-700); }

.data-table { width: 100%; border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin: 20px 0; border-collapse: collapse; }
.data-table th { background: var(--gray-100); font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-500); padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--gray-200); font-weight: 400; }
.data-table td { font-size: 13.5px; font-weight: 300; color: var(--gray-700); padding: 14px 16px; border-bottom: 1px solid var(--gray-200); vertical-align: top; line-height: 1.65; }
.data-table tr:last-child td { border-bottom: none; }
.data-table td:first-child { font-weight: 500; color: var(--black); white-space: nowrap; width: 200px; }

footer { background: var(--black); padding: 72px 56px 0; }
.footer-inner { max-width: 1280px; margin: 0 auto; }
.footer-top { padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.07); display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: flex-end; }
.footer-top h2 { color: var(--white); font-weight: 300; font-size: clamp(22px,2.8vw,40px); letter-spacing: -0.02em; max-width: 480px; }
.footer-top h2 em { color: rgba(255,255,255,0.4); font-style: italic; }
.btn-primary { display: inline-flex; align-items: center; gap: 6px; background: var(--black); color: var(--white); font-family: var(--sans); font-size: 13px; font-weight: 500; padding: 11px 22px; border-radius: 6px; text-decoration: none; transition: opacity 0.15s; }
.btn-primary:hover { opacity: 0.72; }
.footer-nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; padding: 56px 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.footer-col-label { font-family: var(--mono); font-size: 9.5px; color: rgba(255,255,255,0.2); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-links a { font-size: 13.5px; font-weight: 300; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.15s; }
.footer-links a:hover { color: var(--white); }
.footer-wordmark { display: block; font-family: var(--mono); font-size: clamp(64px,12vw,160px); font-weight: 400; letter-spacing: -0.04em; color: rgba(255,255,255,0.04); line-height: 0.85; user-select: none; pointer-events: none; padding: 40px 0 32px; }
.footer-bottom { padding: 24px 0 40px; display: flex; justify-content: space-between; align-items: flex-end; border-top: 1px solid rgba(255,255,255,0.05); }
.footer-disclaimer { font-family: var(--mono); font-size: 10.5px; color: rgba(255,255,255,0.18); line-height: 1.7; max-width: 560px; }
.footer-legal { font-family: var(--mono); font-size: 10.5px; color: rgba(255,255,255,0.18); }

@media (max-width: 900px) {
  nav { padding: 0 20px; }

  .nav-actions { gap: 6px; }
  .nav-actions .nav-cta { padding: 7px 10px !important; font-size: 11px !important; }
  .nav-links { display: none; }
  .page-hero { padding-left: 20px; padding-right: 20px; }
  .doc-layout { flex-direction: column; gap: 40px; padding-left: 20px; padding-right: 20px; }
  .doc-toc { display: none; }
  .data-table { table-layout: fixed; }
  .data-table th, .data-table td { padding: 12px 10px; overflow-wrap: anywhere; word-break: normal; }
  .data-table td:first-child { width: 42%; white-space: normal; }
  footer { padding: 48px 20px 0; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-nav { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
}
