@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root { --bd-bg:#151515; --bd-surface:#222; --bd-surface-alt:#2b2b2b; --bd-line:#444; --bd-fg:#f5f5f5; --bd-muted:#bcbcbc; --bd-accent:#fff; }
body.institutional, body.institutional *, body.institutional *::before, body.institutional *::after { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body.institutional { background:var(--bd-bg); color:var(--bd-fg); margin:0; min-height:100vh; font:400 16px/1.75 'Poppins',sans-serif; }
.institutional a { color:inherit; }
.institutional a:focus-visible, .home-legal-nav a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.site-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px clamp(20px,5vw,80px); border-bottom:1px solid var(--bd-line); background:#191919; }
.brand { display:inline-flex; align-items:center; flex-shrink:0; text-decoration:none; }
.brand-logo { display:block; width:clamp(176px, 18vw, 226px); height:auto; max-height:46px; object-fit:contain; }
.site-nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.site-nav a { font-size:.81rem; font-weight:500; color:#dedede; text-decoration:none; border-bottom:1px solid transparent; padding:8px 0; }
.site-nav a:hover, .site-nav a[aria-current="page"] { border-bottom-color:#fff; color:#fff; }
.page-hero { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid var(--bd-line); padding:clamp(66px,8vw,118px) clamp(20px,7vw,112px) 72px; background:linear-gradient(96deg,rgba(15,15,15,.96),rgba(23,23,23,.83)),url('https://i.ibb.co/2KgW9JN/braindev-full.png') center/cover; }
.page-hero:after { content:''; position:absolute; z-index:-1; width:360px; height:360px; border:1px solid rgba(255,255,255,.09); border-radius:50%; right:-120px; top:-130px; box-shadow:0 0 0 100px rgba(255,255,255,.015),0 0 0 200px rgba(255,255,255,.012); }
.eyebrow { display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.25em; font-size:.7rem; font-weight:700; color:#d4d4d4; }
.eyebrow:before { content:''; width:27px; height:1px; background:#dedede; }
.page-hero h1 { font-size:clamp(2.45rem,6vw,4.65rem); line-height:1.13; letter-spacing:-.05em; font-weight:700; max-width:900px; margin:22px 0 20px; }
.page-hero .lead { max-width:740px; color:#d2d2d2; font-size:clamp(1rem,1.7vw,1.15rem); line-height:1.85; margin:0; }
.hero-meta { margin:28px 0 0; color:#bababa; font-size:.82rem; }
.content-wrap { max-width:1220px; margin:0 auto; padding:60px 28px 100px; display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(36px,6vw,96px); align-items:start; }
.toc { position:sticky; top:24px; border-left:1px solid var(--bd-line); padding-left:24px; }
.toc h2 { font-size:.71rem; text-transform:uppercase; letter-spacing:.22em; color:#aaa; margin:0 0 16px; }
.toc a { display:block; text-decoration:none; font-size:.82rem; color:#bbb; margin-bottom:15px; line-height:1.5; }
.toc a:hover { color:#fff; }
.legal-content { min-width:0; max-width:800px; }
.legal-content .intro { background:var(--bd-surface); border-left:3px solid #ddd; padding:22px 26px; margin:0 0 46px; color:#dedede; }
.legal-section { padding:0 0 33px; margin:0 0 36px; border-bottom:1px solid #363636; scroll-margin-top:32px; }
.legal-section h2 { margin:0 0 18px; font-size:clamp(1.3rem,2.5vw,1.72rem); font-weight:600; letter-spacing:-.035em; line-height:1.32; }
.legal-section h3 { font-size:1rem; margin:22px 0 8px; font-weight:600; }
.legal-section p, .legal-section li { font-size:.92rem; color:#cdcdcd; }
.legal-section p { margin:0 0 16px; }
.legal-section ul { padding-left:22px; margin:10px 0 18px; }
.legal-section li { padding:3px 0; }
.legal-section a, .intro a { text-underline-offset:4px; }
.legal-section a:hover, .intro a:hover { color:#fff; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:30px 0 44px; }
.info-card { background:var(--bd-surface); border:1px solid #3d3d3d; padding:27px 24px; min-height:210px; display:flex; flex-direction:column; }
.info-card .number { font-size:.73rem; color:#a7a7a7; letter-spacing:.2em; font-weight:700; }
.info-card h2 { font-size:1.12rem; line-height:1.35; margin:14px 0 10px; }
.info-card p { color:#c0c0c0; font-size:.83rem; line-height:1.65; margin:0 0 18px; }
.info-card a { margin-top:auto; font-size:.81rem; font-weight:600; text-decoration:none; border-bottom:1px solid #fff; align-self:flex-start; padding-bottom:3px; }
.callout { background:linear-gradient(135deg,#252525,#1c1c1c); border:1px solid var(--bd-line); padding:28px; margin:28px 0 40px; }
.callout h2 { margin:0 0 10px; font-size:1.4rem; font-weight:600; }
.callout p { font-size:.91rem; color:#cfcfcf; margin:0 0 20px; }
.outline-button { display:inline-block; color:#fff; text-decoration:none; border:2px solid #fff; padding:12px 22px; font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; transition:background .2s,color .2s; }
.outline-button:hover { background:#fff; color:#151515; }
.footer { padding:32px clamp(20px,5vw,80px); display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; border-top:1px solid var(--bd-line); color:#adadad; font-size:.8rem; }
.footer nav { display:flex; flex-wrap:wrap; gap:12px 23px; }
.footer a { text-decoration:none; color:#dedede; }
.footer a:hover { text-decoration:underline; }
.home-legal-nav { z-index:9; position:fixed; bottom:0; left:0; width:100%; background:rgba(17,17,17,.91); backdrop-filter:blur(8px); padding:14px 22px; display:flex; justify-content:center; flex-wrap:wrap; gap:10px 27px; border-top:1px solid rgba(255,255,255,.18); font:500 .77rem/1.5 'Poppins',sans-serif; }
.home-legal-nav a { color:#fff; text-decoration:none; white-space:nowrap; }
.home-legal-nav a:hover { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:800px) { .site-header { align-items:flex-start; flex-direction:column; } .site-nav { gap:0 18px; } .page-hero { padding:72px 24px 65px; } .content-wrap { display:block; padding:36px 22px 70px; } .toc { position:static; border-left:0; border-bottom:1px solid var(--bd-line); padding:0 0 10px; margin:0 0 38px; display:flex; flex-wrap:wrap; column-gap:20px; } .toc h2 { width:100%; } .toc a { margin-bottom:12px; } .info-grid { grid-template-columns:1fr; } .info-card { min-height:unset; } }
@media (prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .outline-button {transition:none;} }
