/* Scoped to public landing and login pages. No workstation styles. */
:root{--red:#d71920;--ink:#171717;--muted:#5f6368;--line:#e5e7eb;--alt:#f6f7f9;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:white;color:var(--ink);font:16px/1.65 'Segoe UI',Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.header{position:sticky;top:0;z-index:10;background:#fffffffa;border-bottom:1px solid var(--line)}
.nav-row{min-height:84px;display:flex;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:.07em}
.brand-mark{display:grid;place-items:center;background:var(--red);color:white;width:32px;height:34px}
.desktop-nav{display:flex;gap:19px;margin-left:auto;font-size:13px;font-weight:600}
.desktop-nav a:hover,footer a:hover{color:var(--red)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:15px 22px;background:var(--red);color:white;border:1px solid var(--red);border-radius:5px;font-size:12px;font-weight:750;letter-spacing:.045em;cursor:pointer}
.button:hover{background:#b91319}
.button.small{padding:10px 17px;white-space:nowrap}
.button.secondary{background:white;color:var(--ink);border-color:#d2d4d8}
.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-block:88px 80px}
.eyebrow{font-size:11px;font-weight:750;letter-spacing:.15em;color:var(--red);margin:0 0 20px}
h1{font-size:clamp(54px,6.1vw,84px);line-height:1.06;letter-spacing:-.06em;margin:0 0 25px;font-weight:750}
h1 span{color:var(--red)}
h2{font-size:clamp(29px,3.3vw,42px);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}
h3{font-size:19px;line-height:1.35;margin:16px 0 10px}
p{color:var(--muted);margin:0 0 16px}
.intro{font-size:17px;max-width:560px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.caption{font-size:12px;margin:20px 0 0;color:var(--muted)}
.research-visual{min-width:0;border:1px solid var(--line);border-radius:12px;padding:25px;background:white;box-shadow:0 20px 60px #1717170b}
.visual-top{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:10px;font-weight:700;letter-spacing:.05em}
.tag{display:inline-block;background:#f0f1f3;color:#52565b;font-size:9px;font-weight:750;letter-spacing:.06em;padding:6px 9px;border-radius:3px}
.tag.paper{background:#fff0f0;color:#b91319}
.chart-grid{height:230px;margin-top:30px;background:repeating-linear-gradient(0deg,transparent 0 44px,#f0f1f3 44px 45px),repeating-linear-gradient(90deg,transparent 0 59px,#f0f1f3 59px 60px)}
.chart-grid svg{width:100%;height:100%}
.visual-label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-block:10px 26px}
.visual-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.visual-cards div{padding:13px 9px;background:var(--alt);border:1px solid var(--line);border-radius:4px}
.visual-cards strong{display:block;font-size:11px;margin-top:7px}
.accent{color:var(--red);font-size:8px;font-weight:700}
.principles{border-block:1px solid var(--line);background:var(--alt)}
.principles .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:22px;font-size:12px;font-weight:650;color:var(--muted)}
.section{padding-block:90px}
.section-copy{max-width:680px;margin-bottom:35px}
.grid{display:grid;gap:20px}
.three{grid-template-columns:repeat(3,1fr)}
.four{grid-template-columns:repeat(4,1fr)}
.card{padding:28px;border:1px solid var(--line);border-radius:8px;background:white}
.card p{font-size:14px;margin:0}
.card-number{font-size:12px;color:var(--red);font-weight:700}
.alternate{background:var(--alt)}
.strategy h3{font-size:17px;margin-top:25px}
.pipeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin:40px 0 0}
.pipeline li{position:relative;padding:20px 15px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:4px}
.pipeline li:not(:last-child):after{content:'\2192';position:absolute;right:-18px;top:42%;color:var(--red)}
.pipeline span{display:block;color:#85898e;font-size:12px;margin-bottom:18px}
.pipeline strong{display:block;font-size:11px}
.dark{background:#191b1f;color:white}
.dark .eyebrow{color:#ff9296}
.dark p{color:#bec0c5}
.risk-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}
.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.risk-grid div{padding:18px 14px;border:1px solid #393b40;border-radius:5px;font-size:14px}
.risk-grid span{margin-right:13px;color:#ff9296}
.infrastructure-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:40px}
.architecture{list-style:none;margin:0;padding:0}
.architecture li{position:relative;text-align:center;padding:14px;border:1px solid var(--line);background:var(--alt);border-radius:5px;margin-bottom:24px;font-size:12px;font-weight:700;letter-spacing:.08em}
.architecture li:last-child{background:#fff0f0;border-color:#f2bfc1;margin-bottom:0}
.architecture li:not(:last-child):after{content:'\2193';position:absolute;top:100%;left:49%;color:var(--red)}
.infra-features article{border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:15px}
.infra-features h3{font-size:16px;margin:0 0 4px}
.infra-features p{font-size:14px;margin:0}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}
.section-heading .button{flex-shrink:0}
.workstation{border:1px solid #d9dce1;border-radius:10px;background:white;padding:25px;box-shadow:0 15px 40px #17171706}
.preview-tabs{display:flex;flex-wrap:wrap;gap:25px;border-bottom:1px solid var(--line);padding-block:24px 16px;font-size:12px;color:var(--muted)}
.preview-tabs span:first-child{color:var(--red);font-weight:700}
.preview-body{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;padding:32px 0 15px}
.preview-body h3{font-size:25px}
.preview-body p{font-size:13px}
.preview-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.preview-panels div{border:1px solid var(--line);border-radius:5px;padding:23px;background:var(--alt)}
.preview-panels span{font-size:9px;color:var(--muted);letter-spacing:.08em}
.preview-panels strong{display:block;font-size:14px;margin:10px 0 25px}
.preview-panels i{display:block;height:7px;background:#e2e4e8;width:80%;margin-top:10px;border-radius:2px}
.preview-panels i:last-child{width:55%}
.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
.access ul{padding-left:20px;color:var(--muted);font-size:14px}
.access li{margin-block:9px}
.access li::marker{color:var(--red)}
footer{background:var(--alt);border-top:1px solid var(--line);padding-block:45px 25px}
.footer-top{display:flex;justify-content:space-between;gap:30px}
.footer-top p{font-size:12px;margin-top:10px}
footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:25px;padding-top:22px;font-size:11px;color:var(--muted)}
.disclaimer{font-size:11px;margin-top:15px}
.skip{position:fixed;left:12px;top:-100px;z-index:20;background:white;padding:12px}
.skip:focus{top:12px}
.login-page{min-height:100vh;display:grid;place-items:center;background:var(--alt);padding:24px}
.login-card{width:min(440px,100%);padding:40px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #17171708}
.login-card h1{font-size:28px;letter-spacing:-.03em;line-height:1.3;margin:25px 0}
.login-card label{display:block;font-size:14px;margin:16px 0 6px}
.login-card input{width:100%;border:1px solid #bfc3c9;padding:12px;border-radius:5px;background:white;color:var(--ink)}
.login-card button{width:100%;margin-top:24px}
.back-link{display:inline-block;margin-top:24px;font-size:13px;color:var(--muted)}
.error{background:#fff0f0;border:1px solid #edbdc0;color:#a61219;padding:12px;font-size:13px;border-radius:5px}

@media(min-width:1101px){.nav-row>.button{margin-left:auto}
}

@media(max-width:1100px){.desktop-nav{display:none}
.nav-row>.button{margin-left:auto}
.mobile-nav{display:block}
.mobile-nav summary{cursor:pointer;font-size:13px;padding:10px}
.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:16px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;font-size:14px}
.hero{gap:35px}
.four{grid-template-columns:repeat(2,1fr)}
.risk-layout,.infrastructure-layout,.about-layout{gap:40px}
.pipeline{grid-template-columns:repeat(3,1fr)}
.pipeline li:nth-child(3):after{display:none}
}

@media(max-width:760px){.wrap{width:calc(100% - 40px)}
.nav-row{gap:10px;min-height:72px}
.brand{font-size:17px}
.brand-mark{display:none}
.button.small{font-size:10px;padding:9px 11px}
.mobile-nav nav{grid-template-columns:repeat(2,1fr)}
.hero{grid-template-columns:1fr;padding-block:50px;gap:45px}
.section{padding-block:58px}
.three{grid-template-columns:repeat(2,1fr)}
.principles .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px}
.risk-layout,.infrastructure-layout,.about-layout,.preview-body{grid-template-columns:1fr}
.section-heading,.footer-top{align-items:flex-start;flex-direction:column}
.preview-tabs{gap:15px}
.footer-bottom{flex-wrap:wrap}
.research-visual{padding:18px}
.visual-top{flex-wrap:wrap}
.login-card{padding:28px}
}

@media(max-width:450px){.three,.four,.preview-panels{grid-template-columns:1fr}
.pipeline{grid-template-columns:1fr 1fr;gap:20px}
.pipeline li:nth-child(3):after{display:block}
.pipeline li:nth-child(even):after{display:none}
.risk-grid{grid-template-columns:1fr}
.actions{flex-direction:column}
.card{padding:23px}
.visual-cards{gap:5px}
.visual-cards div{padding:10px 5px}
.visual-cards strong{font-size:10px}
.workstation{padding:18px}
.nav-row{gap:5px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}
