/* BoardView marketing site. Tokens, fonts and keyframes come from the Claude Design export;
   the page markup keeps the design's inline styles so it can be compared against re-exports. */

/* ---- Fonts (self-hosted variable fonts: one file per subset covers every weight) ---- */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url("../fonts/manrope-latin-ext.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; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url("../fonts/manrope-latin.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; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url("../fonts/sora-latin-ext.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; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url("../fonts/sora-latin.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; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url("../fonts/jetbrains-mono-latin-ext.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; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url("../fonts/jetbrains-mono-latin.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; }

/* ---- Tokens and base (from the design) ---- */
:root{
  --bg:#0D1220; --bg-2:#131A2B;
  --accent:#2DE1E6; --accent-2:#10879A; --azure:#38BDF8; --violet:#8B7CFF;
  --grad:linear-gradient(135deg,#10879A 0%,#2DE1E6 50%,#38BDF8 100%);
  --grad-soft:linear-gradient(135deg,rgba(16,135,154,.9),rgba(45,225,230,.85));
  --txt:#EDF2FB; --muted:#93A0B7; --faint:#5D6B82;
  --panel:rgba(255,255,255,.035); --panel-2:rgba(255,255,255,.055);
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.14);
  color-scheme: dark;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:100px;}
body{margin:0;background:var(--bg);color:var(--txt);font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{color:var(--accent);text-decoration:none;transition:color .2s;}
a:hover{color:var(--azure);}
::selection{background:rgba(45,225,230,.28);color:#fff;}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px;border:3px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18);}
h1,h2,h3,h4{font-family:'Sora',sans-serif;margin:0;letter-spacing:-.02em;line-height:1.05;}
p{margin:0;}
.mono{font-family:'JetBrains Mono',monospace;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;}

@keyframes aur1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(8%,6%) scale(1.15);}}
@keyframes aur2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-9%,-5%) scale(1.2);}}
@keyframes aur3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(5%,-8%) scale(1.1);}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes pulseRing{0%{transform:scale(.8);opacity:.7;}100%{transform:scale(2.4);opacity:0;}}
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
@keyframes dash{to{stroke-dashoffset:0;}}
@keyframes barGrow{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}
@keyframes gridpan{from{background-position:0 0;}to{background-position:56px 56px;}}

/* ---- Hover states. The export set these with inline onmouseover strings, which is what
   raised React error #231. !important is needed to beat the inline styles. ---- */
.hv-lift,.hv-ghost,.hv-panel,.hv-social{transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;}
.hv-navlink:hover{color:#EDF2FB !important;background:rgba(255,255,255,.05) !important;}
.hv-lift:hover{transform:translateY(-2px);color:#04121a;}
.hv-glow-sm:hover{box-shadow:0 10px 28px rgba(45,225,230,.5) !important;}
.hv-glow:hover{box-shadow:0 16px 40px rgba(45,225,230,.5) !important;}
.hv-ghost:hover{background:var(--panel-2) !important;border-color:rgba(255,255,255,.28) !important;color:var(--txt);}
.hv-panel:hover{background:var(--panel-2) !important;color:var(--txt);}
.hv-social:hover{border-color:var(--accent) !important;color:var(--accent) !important;}
.hv-foot:hover{color:var(--muted) !important;}

/* ---- Responsive fixes the design did not cover ---- */
@media (max-width: 900px){
  .bento{grid-template-columns:repeat(2,1fr) !important;}
  .bento-lg{grid-column:span 2 !important;grid-row:auto !important;}
  .bento-sm{grid-column:span 1 !important;}
}
@media (max-width: 560px){
  .bento{grid-template-columns:1fr !important;}
  .bento-lg,.bento-sm{grid-column:auto !important;}
}

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

/* ---- Legal pages ---- */
.legal-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:140px 24px 80px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;align-items:start;}
.legal-head{grid-column:1 / -1;max-width:760px;}
.legal-head .eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--accent);margin-bottom:14px;}
.legal-head h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;margin-bottom:16px;}
.legal-head p{color:var(--muted);font-size:17px;line-height:1.6;}
.legal-toc{position:sticky;top:110px;padding:20px;border-radius:18px;border:1px solid var(--border);background:var(--panel);}
.legal-toc .label{font-size:12px;font-weight:700;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:toc;}
.legal-toc li{counter-increment:toc;}
.legal-toc a{display:flex;gap:10px;padding:6px 8px;border-radius:8px;color:var(--muted);font-size:13.5px;line-height:1.35;}
.legal-toc a::before{content:counter(toc,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint);padding-top:2px;}
.legal-toc a:hover{color:var(--txt);background:rgba(255,255,255,.05);}
.legal-doc{border-radius:24px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(18,26,42,.75),rgba(10,15,26,.8));padding:clamp(24px,4vw,48px);}
.legal-doc section{padding:28px 0;border-top:1px solid var(--border);}
.legal-doc section:first-of-type{padding-top:0;border-top:0;}
.legal-doc h2{font-size:21px;font-weight:700;margin-bottom:14px;display:flex;gap:12px;align-items:baseline;}
.legal-doc h2 .n{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;color:var(--accent);}
.legal-doc p,.legal-doc li{color:#C3CCDB;font-size:15.5px;line-height:1.75;}
.legal-doc p + p{margin-top:14px;}
.legal-doc ul{margin:10px 0 0;padding-left:20px;}
.legal-doc .caps{font-size:13.5px;line-height:1.7;letter-spacing:.01em;color:var(--muted);}
.legal-doc .callout{padding:20px 22px;border-radius:16px;border:1px solid rgba(45,225,230,.25);background:rgba(45,225,230,.05);}
.legal-party{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px;margin-bottom:28px;}
.legal-party > div{padding:16px 18px;border-radius:14px;border:1px solid var(--border);background:var(--panel);}
.legal-party .k{font-size:11.5px;color:var(--faint);margin-bottom:4px;}
.legal-party .v{font-size:14px;font-weight:600;color:var(--txt);line-height:1.45;}
@media (max-width: 900px){
  .legal-wrap{grid-template-columns:1fr;padding-top:120px;}
  .legal-toc{position:static;}
}
