/* Reference-led landing, deliberately isolated from the engineering workbench. */
.home-page { color:#f4f6fc; background:#030810; min-height:100dvh; position:relative; isolation:isolate; }
.home-page::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 72% 40%,#11345255,transparent 43%),radial-gradient(ellipse at 90% 72%,#38247444,transparent 28%),radial-gradient(ellipse at 4% 98%,#07245066,transparent 34%); }
.home-nav,.home-content,.home-footer { width:min(1480px,calc(100% - 72px)); margin-inline:auto; }
.home-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; min-height:86px; border-bottom:1px solid #172438; }
.home-brand { display:inline-flex; align-items:center; justify-self:start; gap:10px; color:#f4f6fc; font-size:2rem; font-weight:550; letter-spacing:-.045em; text-decoration:none; }
.home-brand svg { width:42px; height:42px; fill:none; stroke:none; }
.home-links { display:flex; align-items:center; gap:48px; }
.home-links a,.home-links button { background:none; border:0; color:#c8cfda; font:inherit; padding:10px 0; text-decoration:none; }
.home-links a:hover,.home-links button:hover { color:#5ce6ff; }
.home-get-started { justify-self:end; display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:11px 25px; border-radius:40px; background:linear-gradient(110deg,#32b5fc,#06e5e6); color:#041320; font-weight:650; text-decoration:none; box-shadow:0 0 25px #00c5ff24; }
.home-content { padding:0; max-width:1480px; }
.home-hero { position:relative; display:flex; flex-wrap:wrap; align-items:center; min-height:530px; padding-block:32px 10px; }
.home-copy { position:relative; z-index:2; min-width:0; flex:1 1 24rem; padding-bottom:12px; }
.home-eyebrow { color:#a1b3d0; font-size:.89rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; margin-bottom:15px; }
.home-copy h1 { font:400 clamp(2.3rem,4vw,3.15rem)/1.1 var(--sans); letter-spacing:-.045em; color:#f4f6fc; margin:0 0 24px; }
.home-copy h1 span { font-weight:650; background:linear-gradient(95deg,#03e8de,#32b9ff 43%,#a36aff 95%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.home-intro { color:#c0c9d8; font-size:1rem; line-height:1.58; max-width:36ch; margin-bottom:24px; }
.home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.home-start,.home-demo { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 16px; min-height:56px; border-radius:40px; font:600 1rem/1.4 var(--sans); text-decoration:none; }
.home-start { color:#071125; background:linear-gradient(110deg,#36dafa,#ac8bff); border:1px solid #98b6ff55; box-shadow:0 0 28px #6350ff44; }
.home-start span,.home-get-started span { font-size:1.3rem; line-height:1; }
.home-demo { color:#e1e7f2; background:#080f1a88; border:1px solid #6d819b; }
.home-demo svg { width:21px; height:21px; }
.home-scope { color:#a6b5ca; font-size:.94rem; line-height:1.55; max-width:39ch; margin:22px 0 0; }
.home-board { position:relative; margin:0; min-width:0; flex:1.7 1 38rem; height:max(490px,27rem); }
.home-board img { position:absolute; width:100%; height:100%; object-fit:cover; left:0; top:0; mix-blend-mode:screen; mask-image:radial-gradient(ellipse 57% 58% at 50% 50%,black 64%,transparent 97%); }
.home-board-halo { position:absolute; inset:20% 6% 8%; border-radius:50%; background:radial-gradient(ellipse,#046c9b26,transparent 65%); }
.home-leaders { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.home-leaders path { stroke:#05d7ec; stroke-width:1.5; filter:drop-shadow(0 0 5px #00dfff); }
.home-leaders circle { fill:#cbfcff; filter:drop-shadow(0 0 5px #00dfff); }
.home-leaders .violet { stroke:#9471ff; filter:drop-shadow(0 0 5px #9b63ff); }
.board-callout { position:absolute; z-index:2; display:flex; gap:14px; align-items:flex-start; text-align:left; padding:14px 18px; border:1px solid #08788d; border-radius:18px; color:#f1f6ff; background:linear-gradient(120deg,#071826e8,#070e1be8); box-shadow:inset 0 0 20px #049de309,0 0 25px #0005; }
.board-callout svg { width:28px; height:28px; color:#00e4df; flex:none; margin-top:4px; filter:drop-shadow(0 0 7px #00ddff45); }
.board-callout strong { display:block; font-size:1rem; font-weight:600; }
.board-callout small { display:block; margin-top:4px; font-size:.89rem; line-height:1.45; color:#b3c2d8; }
.callout-sensor { left:0; top:0; max-width:46%; }.callout-compute { right:0; top:0; max-width:46%; border-color:#483da0; }.callout-compute svg { color:#9d85ff; }.callout-power { right:0; top:40%; max-width:46%; }
.home-board figcaption { position:absolute; bottom:-6px; right:1%; left:4%; text-align:center; color:#9badc4; font-size:.89rem; }
.home-features { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:20px; padding-block:12px 16px; }
.home-feature { display:flex; align-items:center; gap:22px; min-width:0; text-align:left; color:#f3f6fc; background:linear-gradient(125deg,#081321d9,#080e1bce); border:1px solid #263d5a; border-radius:15px; padding:24px; min-height:128px; }
.home-feature > span:nth-child(2) { display:grid; gap:8px; }.home-feature strong { font-size:1rem; font-weight:600; }.home-feature > span > span { color:#b5c2d6; font-size:.94rem; line-height:1.5; }
.feature-icon { display:grid; place-items:center; flex:0 0 64px; height:64px; border-radius:50%; background:#0e1b30; border:1px solid #192743; }.feature-icon svg { width:36px; height:36px; }
.home-page .blue { color:#32b7ff; }.home-page .violet { color:#a189ff; }.home-page .mint { color:#00e5c6; }
.feature-arrow { color:#879dcc; margin-left:auto; font-size:1.8rem; font-weight:300; }
.home-feature:hover,.board-callout:hover { border-color:#43bdeb; background-color:#0b2137; }
.home-footer { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-block:10px 22px; color:#a3b1c5; font-size:.89rem; }.home-footer button { border:none; background:none; font:inherit; color:inherit; text-decoration:underline; text-underline-offset:4px; padding:0; }
.home-page :focus-visible { outline:3px solid #80e9ff; outline-offset:5px; }
.home-info { width:min(740px,calc(100% - 32px)); max-height:90dvh; border:1px solid #3a5579; border-radius:20px; background:#091424; color:#d4deed; padding:28px; overflow-y:auto; }
.home-info::backdrop { background:#000b; backdrop-filter:blur(5px); }.home-info header { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:24px; }.home-info h2,.home-info h3 { color:#f4f6ff; }.home-info h2 { font-size:1.7rem; }.home-info h3 { margin-block:20px 10px; }.home-info button { border:1px solid #6583a4; border-radius:10px; background:#15253c; color:#f4f6ff; padding:8px 18px; }.home-info li { margin-block:12px; }
@media (max-width:1100px) {
 .home-nav,.home-content,.home-footer { width:calc(100% - 40px); }
 .board-callout { padding:10px; gap:8px; }.board-callout small { max-width:19ch; }.callout-compute { right:0; top:100px; }.callout-power { top:62%; }
 .home-feature { gap:14px; padding:20px; align-items:start; }.feature-icon { flex-basis:42px; height:42px; }.feature-icon svg { width:27px; height:27px; }.feature-arrow { display:none; }
}
@media (max-width:760px) {
 .home-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-block:15px; }.home-brand { font-size:1.7rem; }.home-brand svg { width:36px; height:36px; }.home-get-started { padding:10px 18px; gap:8px; font-size:.94rem; }
 .home-links { order:3; flex:1 1 100%; justify-content:center; flex-wrap:wrap; gap:12px 44px; }.home-hero { padding-top:34px; padding-bottom:0; }.home-copy h1 { font-size:clamp(2.3rem,7vw,3.5rem); }.home-intro { max-width:42ch; }
 .home-board { height:auto; display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding-top:68%; margin-top:20px; }.home-board img { top:0; left:0; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }.home-leaders { display:none; }
 .board-callout { position:relative; inset:auto; display:flex; align-items:center; max-width:none; padding:12px 16px; border-radius:12px; }.board-callout svg { margin:0; }.board-callout small { max-width:none; }.board-callout strong { font-size:.94rem; }.home-board figcaption { position:static; grid-column:1/-1; margin-top:8px; }
 .home-features { grid-template-columns:minmax(0,1fr); margin-top:24px; gap:12px; }.home-feature { min-height:110px; align-items:center; }.feature-arrow { display:block; }.home-info { padding:20px; }.home-info header { flex-wrap:wrap; }
}
@media (max-width:380px) {
 .home-nav,.home-content,.home-footer { width:calc(100% - 28px); }.home-brand { font-size:1.45rem; }.home-brand svg { width:30px; height:30px; }.home-get-started { font-size:.89rem; padding-inline:12px; }
 .home-actions { align-items:stretch; }.home-actions > * { flex:1 1 100%; }
}
@media (prefers-reduced-motion:no-preference) {
 .home-board img { animation:board-reveal 1s ease-out both; }.home-start,.home-get-started,.home-feature { transition:border-color 180ms,box-shadow 180ms,transform 180ms; }.home-start:hover,.home-get-started:hover { transform:translateY(-2px); box-shadow:0 0 35px #597eff55; }
 @keyframes board-reveal { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The controller hero is a real interactive scene; the saved engineering demo
   retains its own circuit identity and reports. */
.home-board-live { overflow:hidden; height:560px; padding:0; border-radius:18px; }
.home-board-live iframe { display:block; width:100%; height:calc(100% - 38px); border:0; background:#030810; border-radius:16px; }
.home-board-live figcaption { position:static; display:flex; justify-content:center; gap:18px; flex-wrap:wrap; padding:8px 12px; margin:0; font-size:.8rem; line-height:1.4; }
.home-board-live figcaption a { color:#b9e8d1; text-underline-offset:3px; }
.home-board-live noscript img { object-fit:contain; mix-blend-mode:normal; mask-image:none; animation:none; }
@media (max-width:760px) {
 .home-board-live { display:block; height:420px; padding:0; margin-top:20px; }
 .home-board-live iframe { height:calc(100% - 58px); }
 .home-board-live figcaption { gap:6px 16px; }
}
@media (max-width:380px) { .home-board-live { height:340px; } }

/* Material-led polish, retaining the real interactive PCB as the hero. */
.home-page { background: #080f1b; }
.home-page::before { background: radial-gradient(ellipse at 75% 42%,#16314b66,transparent 58%); }
.home-nav { border-color: #29384c; }
.home-eyebrow { text-transform: none; letter-spacing: .01em; color: #cda983; font-size: .9rem; font-weight: 500; }
.home-copy h1 { font-family: var(--display); font-weight: 550; letter-spacing: -.045em; font-size: clamp(2.5rem,4.3vw,3.65rem); }
.home-copy h1 span { color: #eef3fa; background: none; font-weight: inherit; }
.home-intro { color: #b5c4d6; max-width: 38ch; line-height: 1.7; }
.home-start,.home-get-started { background: #83b8ff; color: #09172c; border: 1px solid #a8ceff; border-radius: 10px; box-shadow: inset 0 1px #ffffff33; }
.home-start:hover,.home-get-started:hover { background: #a8ceff; transform: none; box-shadow: none; }
.home-demo { background: #111e30; border: 1px solid #4b607b; border-radius: 10px; }
.home-board-live { border: 1px solid #293e56; background: #030810; border-radius: 20px; box-shadow: 0 24px 60px #0004; }
.home-board-live figcaption { color: #b5c4d6; }
.home-board-live figcaption a { color: #cda983; }
.home-features { gap: 0; margin-top: 30px; border-block: 1px solid #29384c; padding-block: 0; }
.home-feature { background: none; border: 0; border-radius: 0; padding: 28px 24px; min-height: 132px; }
.home-feature + .home-feature { border-left: 1px solid #29384c; }
.home-feature:hover { background: #111e30; box-shadow: none; transform: none; }
.home-feature .feature-icon { background: #16253a; color: #a8ceff; border: 1px solid #30435b; border-radius: 12px; box-shadow: none; }
.home-feature .feature-icon svg { filter: none; }
.home-feature > span:nth-child(2) > span { color: #b5c4d6; line-height: 1.6; }
.home-footer { color: #a6b9cf; }
.home-page :focus-visible { outline: 3px solid #acd1ff; outline-offset: 5px; }
@media (max-width:1100px) {
  .home-features { grid-template-columns: 1fr; }
  .home-feature + .home-feature { border-left: 0; border-top: 1px solid #29384c; }
}
@media (max-width:600px) {
  .home-nav,.home-content,.home-footer { width: calc(100% - 40px); }
  .home-copy h1 { font-size: 2.5rem; }
  .home-board-live { border-radius: 14px; }
  .home-feature { padding: 22px 12px; }
}
/* Let the caption wrap without clipping its link on narrow screens. */
.home-page .home-board-live { display: grid; grid-template-rows: minmax(0,1fr) auto; }
.home-page .home-board-live iframe { height: 100%; min-height: 0; }
