/* R05 / Foundry-to-visor visual system. System typography; no remote assets. */
:root{--r5-ink:#080e12;--r5-panel:#10191f;--r5-gold:#dbc296;--r5-cyan:#76bdc6;--r5-line:#ffffff15;--r5-muted:#a1acb4}
.r5-hero{min-height:850px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 35%,#32414b55,transparent 47%),linear-gradient(135deg,#0b1116,#10171c 70%,#131a1b);border-bottom:1px solid var(--r5-line)}
.r5-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#cfbda108 1px,transparent 1px),linear-gradient(90deg,#cfbda108 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,transparent,#000)}
.r5-hero-inner{max-width:1500px;margin:auto;padding:95px 5vw 60px;display:grid;grid-template-columns:1.05fr 1fr;gap:0;position:relative}
.r5-hero .eyebrow{color:#aeb5b7;font-size:10px;letter-spacing:.19em;line-height:1.7}
.r5-hero h1{font-size:clamp(56px,6.7vw,105px);line-height:.9;font-weight:850;letter-spacing:-.07em;margin:34px 0 28px;position:relative;z-index:2}
.r5-hero h1 em{font-style:normal;color:var(--r5-gold)}
.r5-hero .intro{max-width:480px;font-size:18px;line-height:1.65;color:#c1c8c9;margin:25px 0 32px}
.r5-hero .intro strong{color:#f2e9da;font-weight:550}
.r5-hero-foot{margin-top:50px;display:flex;gap:25px;font-family:ui-monospace,monospace;font-size:10px;line-height:1.8;color:#87929a;text-transform:uppercase;letter-spacing:.09em}
.r5-hero-foot b{display:block;color:#d6c5a7;font-size:11px;font-weight:500}
.r5-hero-cad{position:relative;min-height:640px;margin-top:-55px;isolation:isolate}
.r5-hero-cad .cad-stage{height:680px!important;background:transparent!important;border:0!important}
.r5-hero-cad .cad-controls{justify-content:center;background:transparent!important;border:0!important;padding-top:0}
.r5-hero-cad .cad-status{position:absolute;bottom:61px;left:0;right:0;text-align:center;font-size:9px}
.r5-hero-cad .cad-stage:after{content:"REFERENCE / 110%";position:absolute;top:55%;right:-4px;writing-mode:vertical-rl;color:#aeb8b759;font:9px ui-monospace,monospace;letter-spacing:.22em;pointer-events:none}
.r5-hero-cad .cad-frame{border:0;background:transparent;box-shadow:none}
.r5-orbit-label{position:absolute;top:24px;right:0;text-align:right;font:10px ui-monospace,monospace;letter-spacing:.12em;color:#899da6;pointer-events:none}
.r5-orbit-label b{color:var(--r5-gold);display:block;margin-bottom:7px}
.r5-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #c3af8144;border-radius:100px;padding:6px 11px;color:#d9c8a8;background:#c1a76d0b;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.r5-badge i{width:5px;height:5px;background:#dab97b;border-radius:50%;box-shadow:0 0 14px #ecad62}
.r5-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--r5-line);border-width:1px 0;margin:0;background:#11191e}
.r5-strip a{padding:27px 6%;border-right:1px solid var(--r5-line);display:flex;gap:15px;text-decoration:none;align-items:flex-start}
.r5-strip small{color:#67818a;font:10px ui-monospace,monospace}.r5-strip strong{display:block;font-weight:550;color:#eadfcb;font-size:17px;margin-bottom:6px}.r5-strip span{color:#8f9da5;font-size:12px;line-height:1.5}
.r5-section{padding:95px 0}.r5-section+.r5-section{border-top:1px solid var(--r5-line)}
.r5-section-title{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end;margin-bottom:38px}
.r5-section h2,.r5-page-head h1{font-size:clamp(38px,4.7vw,68px);line-height:1.02;letter-spacing:-.055em;margin:18px 0;font-weight:750}
.r5-section-title p,.r5-copy{font-size:16px;line-height:1.8;color:#aeb8be;max-width:640px}.r5-copy strong{color:#e8ddc8}
.r5-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.r5-grid.two{grid-template-columns:repeat(2,1fr)}
.r5-card{background:linear-gradient(145deg,#182027,#10171c);padding:30px;border:1px solid #ffffff12;position:relative;overflow:hidden;border-radius:4px;transition:border-color .2s,transform .2s}
a.r5-card{text-decoration:none}a.r5-card:hover{transform:translateY(-4px);border-color:#c6a57877}
.r5-card .index{font:11px ui-monospace,monospace;color:#78929c;display:block;margin-bottom:45px;letter-spacing:.1em}.r5-card h3{font-size:25px;letter-spacing:-.035em;line-height:1.16;color:#e4d7bd;margin:0 0 17px}.r5-card p{font-size:14px;line-height:1.75;color:#a9b4bc;margin:0}.r5-card .text-link{margin-top:25px}
.r5-proof{background:#111b21;border-left:3px solid #7ab5bd;padding:22px 26px;margin:25px 0;color:#b9c4ca;font-size:14px;line-height:1.8}.r5-proof strong{color:#e2e7e5}.r5-proof.warn{border-color:#ba8c58;background:#241e17}
.r5-billboard{position:relative;min-height:580px;display:flex;align-items:center;overflow:hidden;border:1px solid #fff1;background:#121f27}.r5-billboard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.r5-billboard:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080f13ed,#080f1322)}.r5-billboard .wrap{z-index:1;position:relative;width:100%;padding-top:75px;padding-bottom:75px}.r5-billboard h2{font-size:clamp(44px,5vw,74px);letter-spacing:-.055em;line-height:1.04;max-width:660px;margin:18px 0 24px}.r5-billboard p{max-width:480px;color:#becad0;line-height:1.8;margin-bottom:30px}
.r5-page-head{padding:80px 0 42px;position:relative}.r5-page-head h1{max-width:1000px}.r5-page-head .lead{font-size:18px;line-height:1.75;max-width:830px;color:#b5c1c7}.r5-page-head .r5-badge{margin-bottom:15px}
.r5-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0}.r5-tabs a{font:11px ui-monospace,monospace;padding:9px 14px;border:1px solid #ffffff20;color:#cbb998;text-decoration:none;border-radius:2px}.r5-tabs a:hover{background:#d6bd8a12}
.cad-frame{background:linear-gradient(145deg,#131e27,#0a1016);border:1px solid #b8a87f33;overflow:hidden;border-radius:5px;box-shadow:0 30px 70px #0003}
.cad-stage{position:relative;height:590px;background:radial-gradient(ellipse at 50% 55%,#29404b44,transparent 70%),linear-gradient(#6c9aa808 1px,transparent 1px),linear-gradient(90deg,#6c9aa808 1px,transparent 1px);background-size:auto,45px 45px,45px 45px}
.cad-stage canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;outline-offset:-5px}.cad-stage canvas:active{cursor:grabbing}.cad-stage canvas:focus-visible{outline:1px solid #d7b989}
.cad-stage .stage-note{position:absolute;top:22px;left:24px;font:10px ui-monospace,monospace;color:#98aeb8;letter-spacing:.12em;pointer-events:none}
.cad-status{font:10px/1.6 ui-monospace,monospace;letter-spacing:.03em;color:#8d9fa8;padding:12px 20px;border-top:1px solid #fff1;min-height:38px}
.cad-controls{padding:15px 20px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #fff1;background:#101921}
.cad-controls button,.cad-controls select{font:11px ui-monospace,monospace;color:#c8d1d3;background:#1d2b34;border:1px solid #ffffff1a;padding:10px 12px;border-radius:3px;min-height:38px;cursor:pointer;max-width:100%}.cad-controls button[aria-pressed=true]{border-color:#cdb077;color:#ead3a5;background:#463b2655}.cad-controls select{color:#dfcda7;max-width:290px}
.cad-slider{display:flex;gap:16px;align-items:center;font:11px ui-monospace,monospace;color:#b0babe;padding:15px 20px;border-top:1px solid #fff1;flex-wrap:wrap}.cad-slider input{accent-color:#dab879;flex:1;min-width:90px;max-width:400px}.cad-slider output{font-size:12px;color:#dab879;min-width:30px}
.cad-bottom{padding:18px 20px}.cad-parts{display:flex;gap:6px;flex-wrap:wrap;max-height:140px;overflow:auto}.cad-part{padding:7px 10px;font-size:10px;color:#b1bcc4;border:1px solid #fff1;background:#14212a;cursor:pointer;border-radius:3px;text-align:left}.cad-part.selected{color:#8ad4d9;border-color:#6ebbc6}.cad-detail{font-size:12px;color:#94a9b5;line-height:1.6;min-height:20px;margin-top:14px}
.r5-column{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:start}.r5-facts{padding:0;margin:25px 0}.r5-facts div{display:grid;grid-template-columns:140px 1fr;padding:16px 0;border-bottom:1px solid #fff1;gap:20px}.r5-facts dt{font:11px ui-monospace,monospace;color:#8eaaaf}.r5-facts dd{margin:0;color:#cfc7b7;font-size:14px;line-height:1.65}
.r5-steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #fff1}.r5-steps article{padding:25px;border-right:1px solid #fff1}.r5-steps article:before{counter-increment:steps;content:'0' counter(steps);color:#6699a6;font:12px ui-monospace,monospace;display:block;margin-bottom:25px}.r5-steps h3{font-size:19px;color:#dec9a5;margin:0 0 12px}.r5-steps p{color:#a7b6bf;font-size:13px;line-height:1.7;margin:0}
.r5-wire{background:radial-gradient(ellipse at center,#18343b55,transparent),#101920;border:1px solid #fff1;border-radius:4px;padding:32px;display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;gap:0;align-items:center}.wire-node{border:1px solid #d7bb8433;background:#14212b;padding:22px;min-height:140px;display:flex;flex-direction:column;justify-content:center}.wire-node strong{font-size:17px;color:#d8c198}.wire-node small{color:#8db2bd;font:10px ui-monospace,monospace;margin-bottom:12px}.wire-node span{color:#a7b7c0;font-size:12px;line-height:1.6;margin-top:8px}.wire-arrow{color:#84bcc6;text-align:center;font-size:24px}
.r5-hud-demo{background:radial-gradient(ellipse at center,#1c3336,#060b0d);border:1px solid #fff2;border-radius:6px;overflow:hidden}.r5-hud-demo canvas{width:100%;height:auto;display:block;aspect-ratio:8/5;max-width:800px;margin:auto}.r5-hud-demo .cad-controls{justify-content:center}
.r5-table-wrap{overflow:auto;border:1px solid #fff1}.r5-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}.r5-table th{text-align:left;padding:16px;background:#1b2831;color:#d2bd95;font:11px ui-monospace,monospace;letter-spacing:.03em}.r5-table td{padding:17px;vertical-align:top;border-top:1px solid #fff1;color:#aebbC5;line-height:1.7}.r5-table strong{color:#d8dedc}
.r5-small{font:11px/1.7 ui-monospace,monospace;color:#91a5af}.r5-download{padding:25px;border:1px solid #dbc29633;background:#dbc29608;display:flex;justify-content:space-between;gap:25px;align-items:center;margin:30px 0}.r5-download h3{margin:0 0 8px;color:#e1ceb0}.r5-download p{margin:0;color:#a4b6c2;font-size:13px;line-height:1.7}
@media(min-width:1600px){.r5-hero-inner{padding-top:110px}.r5-hero-cad .cad-stage{height:735px!important}}
@media(max-width:1100px){.r5-hero-inner{padding-top:70px}.r5-hero h1{font-size:68px}.r5-hero-cad .cad-stage{height:600px!important}.r5-grid{gap:12px}.r5-card{padding:23px}.r5-wire{grid-template-columns:1fr;gap:12px}.wire-arrow{transform:rotate(90deg)}.r5-hero{min-height:auto}.r5-column{gap:25px}.cad-stage{height:500px}}
@media(max-width:740px){.r5-hero-inner{grid-template-columns:1fr;padding:48px 6vw 22px}.r5-hero h1{font-size:clamp(56px,13vw,84px);margin:26px 0 20px}.r5-hero .intro{font-size:16px;line-height:1.75}.r5-hero-foot{margin-top:28px;gap:25px}.r5-hero-cad{min-height:480px;margin:20px -4vw 0}.r5-hero-cad .cad-stage{height:515px!important}.r5-orbit-label{top:5px;right:6vw}.r5-hero-cad .cad-status{font-size:8px;bottom:64px}.r5-strip{grid-template-columns:repeat(2,1fr)}.r5-strip a{padding:21px 7%;border-bottom:1px solid #fff1}.r5-strip strong{font-size:15px}.r5-strip span{font-size:10px}.r5-section{padding:60px 0}.r5-section-title,.r5-column{grid-template-columns:1fr;gap:15px}.r5-grid,.r5-grid.two{grid-template-columns:1fr}.r5-card .index{margin-bottom:22px}.r5-section h2,.r5-page-head h1{font-size:42px}.r5-page-head{padding-top:50px}.r5-page-head .lead{font-size:16px}.r5-steps{grid-template-columns:1fr 1fr}.r5-steps article{padding:22px;border-bottom:1px solid #fff1}.r5-billboard{min-height:490px}.cad-stage{height:440px}.cad-controls{padding:12px;gap:6px}.cad-controls button,.cad-controls select{font-size:10px;padding:10px}.cad-slider{padding:13px;font-size:10px;gap:9px}.cad-slider label{width:100%}.cad-slider input{min-width:130px}.r5-download{align-items:flex-start;flex-direction:column}.r5-facts div{grid-template-columns:110px 1fr}.r5-wire{padding:20px}.r5-small{font-size:10px}.r5-hero .button-row{gap:10px}.r5-hero .button{font-size:11px;padding:15px 17px}}
@media(prefers-reduced-motion:reduce){a.r5-card:hover{transform:none}.r5-card{transition:none}}
