/* ===== 2026-11 theme layer: shared components (nav, toggle, sticky CTA, motion) ===== */
.site-nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.site-nav a{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:.5rem .7rem;border-radius:8px;color:var(--t-ink);text-decoration:none;transition:background .15s ease,color .15s ease}
.site-nav a:hover,.site-nav a:focus-visible{background:var(--t-hover);color:var(--t-ink)}
.nav-toggle-input{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none;cursor:pointer;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;align-items:center;justify-content:center;color:var(--t-ink)}
.nav-burger span,.nav-burger span::before,.nav-burger span::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s ease}
.nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0}
.nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}
.nav-toggle-input:checked+.nav-burger span{background:transparent}
.nav-toggle-input:checked+.nav-burger span::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle-input:checked+.nav-burger span::after{transform:translateY(-6px) rotate(-45deg)}
.nav-toggle-input:focus-visible+.nav-burger{outline:2px solid var(--accent);outline-offset:2px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--t-ink);cursor:pointer;font:600 1rem/1 var(--mono)}
.theme-toggle:hover{background:var(--t-hover)}
.theme-toggle .ico-sun{display:none}
[data-theme="dark"] .theme-toggle .ico-sun{display:inline}
[data-theme="dark"] .theme-toggle .ico-moon{display:none}
.header-inner{flex-wrap:wrap}
.header-tools{display:flex;align-items:center;gap:.5rem}
@media (max-width:860px){
  .nav-burger{display:inline-flex}
  .site-nav{order:5;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;transition:max-height .25s ease;margin:0}
  .nav-toggle-input:checked~.site-nav{max-height:24rem;padding:.5rem 0}
  .site-nav a{padding:.8rem .5rem;border-bottom:1px solid var(--line);border-radius:0}
  .header-cta .btn{padding:.55rem .85rem;font-size:.85rem}
}
.sticky-cta{position:fixed;right:1rem;bottom:1rem;z-index:60;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.2rem;border-radius:999px;font-weight:700;text-decoration:none;background:var(--t-cta-bg);color:var(--t-cta-ink);box-shadow:0 12px 30px rgba(0,0,0,.25);animation:t-pop .5s ease .6s both}
.sticky-cta:hover{color:var(--t-cta-ink);transform:translateY(-2px)}
.sticky-cta::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--t-pulse);box-shadow:0 0 0 0 var(--t-pulse);animation:t-pulse 2.2s ease-out infinite}
@media (max-width:640px){.sticky-cta{left:.75rem;right:.75rem;bottom:.75rem;justify-content:center}body{padding-bottom:4.5rem}}
@media print{.sticky-cta,.site-nav,.nav-burger,.theme-toggle{display:none!important}}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes t-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes t-pop{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@keyframes t-pulse{0%{box-shadow:0 0 0 0 var(--t-pulse)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1,.hero .lede,.hero .eyebrow,.hero .hero-actions,.hero-card,.ugd h1,.ugd-lede{animation:t-rise .6s cubic-bezier(.2,.7,.2,1) both}
.hero .eyebrow{animation-delay:.02s}.hero h1{animation-delay:.08s}.hero .lede{animation-delay:.16s}.hero .hero-actions{animation-delay:.22s}.hero-card{animation-delay:.3s}
.card,.contact-panel,.faq-item,.steps li{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.card:hover,.contact-panel:hover{transform:translateY(-3px);border-color:var(--accent)}
@supports (animation-timeline:view()){
  .section .wrap>h2,.cards .card,.steps li,.faq-item{animation:t-rise linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:860px){.header-cta{order:3;margin-left:auto}.nav-burger{order:4}.logo{order:1}}
@media (max-width:420px){.header-cta .btn{display:none}}

/* ===== light-mode fixes over the shared dark base (hardcoded colors) ===== */
[data-theme="light"] body{background:var(--navy);color:var(--text)}
[data-theme="light"] :is(h1,h2,h3,h4,.logo-title,.steps strong,.card h3,.contact-panel h3,.hero-card h2,.cta-band h2,.handoff-band h2,.faq-item summary,.one-stop h2,.cross-sell h2){color:var(--t-ink)!important}
[data-theme="light"] .contact-list strong{color:var(--t-ink)!important}
[data-theme="light"] .btn-ghost{color:var(--t-ink);border-color:var(--t-line-strong);background:transparent}
[data-theme="light"] .btn-ghost:hover{color:var(--t-ink);border-color:var(--accent);background:var(--t-hover)}
[data-theme="light"] .topbar{background:var(--t-topbar-bg);color:var(--t-topbar-ink);border-color:transparent}
[data-theme="light"] .topbar a{color:var(--t-topbar-ink)}
[data-theme="light"] .site-header{background:color-mix(in srgb,var(--navy) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px)}
[data-theme="light"] .site-footer{background:var(--t-footer-bg);color:var(--t-footer-ink)}
[data-theme="light"] .site-footer :is(a,p,h2,.footer-brand,.footer-muted){color:var(--t-footer-ink)!important}
[data-theme="light"] .cta-band,[data-theme="light"] .hero-card,[data-theme="light"] .handoff-band,[data-theme="light"] .twin-callout{background:var(--navy-3);box-shadow:0 10px 30px rgba(15,31,61,.08)}
[data-theme="light"] :is(.faq-item,.trust-row li,.steps li){background:var(--navy-3)}
[data-theme="light"] :is(.twin-links a,.handoff-chips a){background:var(--navy-3);color:var(--t-ink);border-color:var(--t-line-strong)}
[data-theme="light"] :is(.twin-links a.primary-twin,.handoff-chips a.primary-chip){background:var(--t-ink);color:var(--navy);border-color:var(--t-ink)}
[data-theme="light"] .one-stop{border-color:var(--t-line-strong);background:var(--navy-3)}
[data-theme="light"] .one-stop-grid a{background:var(--navy-2);color:var(--t-ink)}
[data-theme="light"] .one-stop-grid a:hover{background:var(--t-hover)}
[data-theme="light"] :is(.ug-form input,.ug-form select,.ug-form textarea){background:#fff;color:var(--t-ink);border-color:var(--t-line-strong)}
[data-theme="light"] .faq-item summary::after{color:var(--accent)}
[data-theme="light"] .logo-mark{background:var(--t-ink);border-color:var(--t-ink)}
[data-theme="light"] .logo-mark span{color:var(--navy)!important}

/* ===== cncdigitaltwin.com — blueprint / wireframe 3D blue ===== */
html[data-theme="dark"] body{--navy:#0a2350;--navy-2:#0c2a5e;--navy-3:#0f3270;--text:#e8f1ff;--text-soft:#c9dcff;--muted:#a9c2ec;--line:rgba(160,200,255,.22);
 --t-ink:#ffffff;--t-line-strong:rgba(200,225,255,.45);--t-hover:rgba(140,190,255,.12);--t-cta-bg:#7cc4ff;--t-cta-ink:#06183a;--t-pulse:#7cf2ff;--accent:#8fd0ff!important;--accent-soft:rgba(143,208,255,.14)!important;--orange:#8fd0ff;--blue:#8fd0ff}
html[data-theme="light"] body{--navy:#f4f8ff;--navy-2:#e7effd;--navy-3:#ffffff;--text:#0b2a5c;--text-soft:#1d3d73;--muted:#3f5a86;--line:rgba(11,42,92,.16);
 --t-ink:#0b2a5c;--t-line-strong:rgba(11,42,92,.35);--t-hover:rgba(30,90,200,.08);--t-topbar-bg:#0b2a5c;--t-topbar-ink:#e7effd;--t-footer-bg:#0b2a5c;--t-footer-ink:#dbe7ff;
 --t-cta-bg:#1556c9;--t-cta-ink:#ffffff;--t-pulse:#16a3c4;--accent:#1556c9!important;--accent-soft:rgba(21,86,201,.1)!important;--orange:#1556c9;--blue:#1556c9}
html[data-theme] body{background:
  linear-gradient(var(--line) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/24px 24px,var(--navy)}
html[data-theme] .section-alt{background:transparent}
html[data-theme] body .hero{background:transparent;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-4rem;top:2rem;width:26rem;height:26rem;border:1px solid var(--t-line-strong);transform:perspective(700px) rotateX(58deg) rotateZ(38deg);
  background:linear-gradient(var(--t-line-strong) 1px,transparent 1px) 0 0/2rem 2rem,linear-gradient(90deg,var(--t-line-strong) 1px,transparent 1px) 0 0/2rem 2rem;opacity:.55;pointer-events:none;animation:t-spin 40s linear infinite}
@keyframes t-spin{to{transform:perspective(700px) rotateX(58deg) rotateZ(398deg)}}
.hero .wrap{position:relative;z-index:1}
body .btn-primary{background:var(--t-cta-bg)!important;color:var(--t-cta-ink)!important;box-shadow:0 0 0 1px var(--t-line-strong),0 10px 26px rgba(10,35,80,.35)!important}
body .btn-primary:hover{color:var(--t-cta-ink)!important}
.card,.contact-panel,.hero-card,.faq-item,.cta-band,.handoff-band,.twin-callout{background:color-mix(in srgb,var(--navy-3) 82%,transparent)!important;border:1px dashed var(--t-line-strong)!important;border-radius:4px;position:relative}
.card::before,.hero-card::before,.contact-panel::before{content:"";position:absolute;inset:-5px auto auto -5px;width:10px;height:10px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}
.card::after,.hero-card::after,.contact-panel::after{content:"";position:absolute;inset:auto -5px -5px auto;width:10px;height:10px;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}
.eyebrow,.logo-tag,.trust-row li{font-family:var(--mono)}
.eyebrow::before{content:"[ ";opacity:.7}.eyebrow::after{content:" ]";opacity:.7}
.section .wrap>h2::before{content:"// ";font-family:var(--mono);color:var(--accent);font-size:.8em}
.hero h1{text-shadow:0 0 24px rgba(124,196,255,.25)}
[data-theme="light"] .hero h1{text-shadow:none}
.trust-row li{border-style:dashed;border-radius:3px}
html[data-theme] .logo-mark{border-radius:4px!important;border:1px dashed var(--accent)!important;background:transparent!important}
html[data-theme] .logo-mark span{color:var(--accent)!important}
html[data-theme] body .eyebrow{color:var(--accent)}
[data-theme="dark"] .topbar,[data-theme="dark"] .site-footer{background:#071a3d}
[data-theme="dark"] .site-header{background:color-mix(in srgb,#0a2350 90%,transparent);backdrop-filter:blur(8px)}
[data-theme="dark"] .one-stop{background:transparent;border:1px dashed var(--t-line-strong)}
[data-theme="dark"] .one-stop-grid a{background:#e8f1ff;color:#0a2350}
.faq-list{margin-top:.5rem}

