/* Site2 visual adaptation. Existing page copy, anchors and commerce flow remain in index.html. */
@font-face { font-family: Geist; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/geist-latin.woff2') format('woff2'); }
@font-face { font-family: 'Geist Mono'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/geist-mono-latin.woff2') format('woff2'); }
:root {
  --bg:#060709; --bg-footer:#080a0d; --surface:#0b0d10; --surface-2:#10141b;
  --rule:#262b34; --rule-soft:#1c2027; --rule-warm:#403a2b;
  --text:#f2f4f7; --text-2:#c4c9d1; --text-3:#a3a9b3; --text-4:#a3a9b3;
  --text-muted:#a3a9b3; --text-dim:#969da9; --text-faint:#777f8c; --text-legal:#969da9;
  --accent:#9cc0ff; --accent-hover:#c6dcff; --numeral:#8fa4c5;
  --sans:Geist,Helvetica,Arial,sans-serif; --mono:'Geist Mono',monospace; --wrap:1200px;
}
body { background:radial-gradient(ellipse 800px 420px at 50% 160px,rgba(90,140,255,.11),transparent 75%),var(--bg); }
a,button,input { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,video:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.banner { background:rgba(17,20,26,.85); }
.banner-inner { padding-top:14px; padding-bottom:14px; gap:18px; }
.banner-tag { border-radius:6px; }
.banner-body { color:var(--text-3); line-height:1.55; }
.site-header { background:rgba(6,7,9,.90); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.header-inner { display:grid; grid-template-columns:auto auto 1fr auto auto; gap:12px; padding:14px 24px 12px; }
.wordmark { font-size:18px; font-weight:600; letter-spacing:-.02em; text-transform:none; }
.wordmark span { color:inherit; }
.verchip { margin:0; padding:4px 9px; border:0; border-radius:999px; background:rgba(156,192,255,.12); color:var(--accent); letter-spacing:0; }
.nav { grid-column:1/-1; grid-row:2; margin:0; padding:4px; background:rgba(255,255,255,.035); border:1px solid var(--rule-soft); border-radius:11px; overflow:visible; }
.nav a { flex:1; text-align:center; font-family:var(--sans); font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; border-color:transparent; border-radius:7px; padding:9px 12px; color:var(--text-3); }
.nav a:hover { color:var(--text); background:rgba(255,255,255,.04); border-color:transparent; }
.nav a[aria-current=page] { color:var(--text); background:rgba(255,255,255,.10); border-color:transparent; box-shadow:inset 0 1px rgba(255,255,255,.06); }
.header-cta { grid-column:5; grid-row:1; display:inline-flex; }
.pro-float { grid-column:4; grid-row:1; position:static; animation:none; transform:none; box-shadow:none; border:1px solid #394353; border-radius:999px; padding:8px 14px; font:500 13px var(--sans); letter-spacing:0; background:transparent; color:var(--accent); }
.pro-float:hover,.pro-float:focus-visible { transform:none; background:#151c28; color:var(--text); }
.pro-update-alert { max-width:1152px; margin:20px auto 0; padding:16px 20px; border:1px solid #483b38; border-radius:12px; background:linear-gradient(110deg,#211817,#111114); gap:18px; }
.pro-update-alert-tag { font-size:11px; color:#f4c5b6; background:none; border:0; padding:0; }
.pro-update-alert p { font-size:14px; color:var(--text-2); }
.pro-update-alert a { color:var(--text); font-weight:500; }
.view { padding:28px 24px 44px; }
.hero { align-items:center; gap:32px; padding:16px 0 30px; border:0; }
.hero h1 { font-size:clamp(40px,5vw,62px); line-height:1.02; font-weight:600; text-transform:none; letter-spacing:-.045em; background:linear-gradient(180deg,#fff 30%,#969eac); background-clip:text; -webkit-background-clip:text; color:transparent; }
.hero h1 .b { color:inherit; }
.hero p { font-size:16px; line-height:1.6; }
.termline { font-size:11px; letter-spacing:0; }
.cursor { animation:none; }
.btn { border-radius:999px; font-family:var(--sans); text-transform:none; letter-spacing:0; font-size:14px; padding:11px 19px; }
.btn-sm { padding:8px 14px; font-size:13px; }
.btn-primary { background:#f2f4f7; color:#060709; border-color:transparent; }
.btn-primary:hover { background:#fff; color:#060709; box-shadow:0 5px 24px rgba(120,160,255,.16); }
.btn-outline { border-color:#394353; color:var(--text); }
.btn-outline:hover { background:#141a24; border-color:var(--accent); color:var(--text); }
.cta-note { font-size:10px; letter-spacing:.025em; }
.appwin { align-self:center; border-radius:14px; overflow:hidden; border-color:#3b424e; background:#0b0d10; box-shadow:0 24px 70px -30px #000,0 0 65px -36px rgba(110,150,255,.5); }
.appwin .bar,.appwin .foot { font-size:10px; letter-spacing:0; }
.appwin img { width:100%; height:auto; }
.specs { border:1px solid var(--rule); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.015); }
.specs .v { font-family:var(--sans); font-size:14px; font-weight:500; line-height:1.45; }
.specs .l { letter-spacing:0; text-transform:none; font-size:11px; }
h2.sec,.view-download h2.sec { font-weight:600; font-size:clamp(29px,3.5vw,40px); line-height:1.12; letter-spacing:-.035em; text-transform:none; }
.block { padding-top:34px; }
.kicker { letter-spacing:.04em; font-size:11px; }
.grid,.panels,.dl,.slots { gap:12px; background:transparent; border:0; }
.grid>.card,.panel,.dl>div,.slot,.reqbox,.bugrow { border:1px solid var(--rule); border-radius:12px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)); }
.card { padding:22px; }
.card h3 { font-weight:500; font-size:18px; }
.card p { line-height:1.6; }
.card .idx { display:block; margin-bottom:10px; }
.panel.pro,.dl .pro { border:1px solid #3d506e; background:radial-gradient(100% 80% at 100% 0%,rgba(90,140,255,.13),#0b0d10 75%); }
.panel h3,.dl h3 { font-weight:500; text-transform:none; }
.panel .price { font-weight:600; }
.panel .terms,.dl .spec { letter-spacing:.015em; line-height:1.6; }
.warn-box,.frame,.videoframe,.cmp { border-radius:12px; overflow:hidden; }
.warn-box { background:#111318; }
.legend i { width:9px; height:9px; border-radius:50%; }
.shots { gap:14px; border:0; background:transparent; }
.shots figure { border:1px solid var(--rule); border-radius:12px; overflow:hidden; background:var(--surface); }
.shots figcaption { text-transform:none; letter-spacing:0; line-height:1.55; }
.grid figure { border-radius:12px; overflow:hidden; border:1px solid var(--rule); }
.slot { background:linear-gradient(145deg,#0e1218,#090b0e); }
.closing { border-color:var(--rule-soft); }
.footer-term,.legal { letter-spacing:0; text-transform:none; }
.footer-cols h4 { color:var(--text-2); letter-spacing:.04em; }
.linux-demo-intro { display:flex; justify-content:space-between; align-items:start; gap:24px; margin:8px 0 24px; }
.linux-demo-intro .lede { margin-top:14px; }
.linux-badge { display:inline-block; white-space:nowrap; padding:7px 12px; border-radius:999px; border:1px solid #34445c; color:var(--accent); font:11px var(--mono); }
.linux-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:32px; }
.linux-media figure { margin:0; border:1px solid var(--rule); border-radius:13px; overflow:hidden; background:var(--surface); }
.linux-media img,.linux-media video { display:block; width:100%; aspect-ratio:8/5; object-fit:contain; background:#10151c; }
.linux-media img { height:auto; }
.linux-media video { aspect-ratio:80/47; }
.linux-media figcaption { padding:15px 18px; color:var(--text-3); font-size:13px; line-height:1.55; }
.linux-media figcaption strong { display:block; font-size:15px; font-weight:500; color:var(--text); margin-bottom:5px; }
.linux-note { margin:20px 0; padding:16px 20px; border:1px solid var(--rule); border-radius:12px; font-size:14px; line-height:1.6; color:var(--text-3); background:var(--surface); }
@media (min-width:861px) { .hero { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); } }
@media (max-width:1200px) { .pro-update-alert { margin-left:24px; margin-right:24px; } }
@media (max-width:860px) {
  .hero { grid-template-columns:minmax(0,1fr); gap:24px; }
  .hero h1 { max-width:650px; } .appwin { width:100%; }
  .linux-demo-intro { flex-direction:column; gap:14px; }
  .linux-media { grid-template-columns:minmax(0,1fr); }
  .banner-inner { align-items:start; } .view { padding:24px 18px 36px; }
  .header-inner { padding-left:18px; padding-right:18px; }
  .pro-update-alert { margin-left:18px; margin-right:18px; }
}
@media (max-width:560px) {
  .header-inner { grid-template-columns:auto 1fr auto; gap:10px; }
  .wordmark { font-size:16px; } .verchip { justify-self:start; font-size:9px; }
  .header-cta { display:none; } .pro-float { grid-column:3; padding:7px 10px; font-size:11px; }
  .nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; }
  .nav a { min-width:0; font-size:12px; padding:8px 4px; }
  .banner-inner { flex-direction:column; gap:8px; }
  .banner-body { font-size:12px; } .hero h1 { font-size:43px; }
  .pro-update-alert { flex-direction:column; gap:8px; }
  .appwin .foot { flex-wrap:wrap; } .warn-box { flex-direction:column; }
  .hero-cta { gap:12px; } .linux-media figcaption { padding:14px; }
}
.site2-gate .header-inner { display:flex; flex-wrap:wrap; }
.site2-gate .gate { max-width:760px; padding-top:44px; }
.site2-gate .gate h1 { font-weight:600; text-transform:none; line-height:1.1; letter-spacing:-.035em; }
.site2-gate .gate-card,.site2-gate .gate-kv { border-radius:12px; }
.site2-gate .gate-card h2 { font-family:var(--sans); font-size:16px; letter-spacing:0; text-transform:none; }
.site2-gate .gate-spec { letter-spacing:0; text-transform:none; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

.linux-media.capture-media img { aspect-ratio:auto; }

#ce-platform { max-width:100%; padding:12px; border:1px solid var(--rule); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; }
#ce-platform:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
