/* ============================================================
   VORTEX_X — Production Website System v2
   Aesthetic Layer · dark steel + gold · embedded photo backgrounds
   ============================================================ */
/* Fonts: local-first (assets/fonts.css) with Google <link> fallback in each HTML head.
   System-font fallbacks in every stack below mean nothing breaks if both are unavailable. */
@import url('assets/fonts.css');

:root{
  --black:#080A0C; --steel-dark:#0E1318; --steel-mid:#1A2430;
  --steel-light:#2C3A44; --blade-gray:#3D4449; --bevel:#6A7A8A;
  --silver:#C8D4DC; --white:#F0F4F6; --gold:#9FB3C8; --gold-light:#C8D6E4;  /* legacy names remapped to silver-blue */
  --cyan:#2E6FB8; --navy:#002050; --navy2:#003060; --blue:#2E6FB8; --blue-bright:#5B9BD5; --ice:#E7F5FF; --chrome:#E0E6EC; --silver2:#C0C8D0; --amber:#D4831A; --green:#8BE000;
  --ease:cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{
  background:var(--black);color:var(--white);
  font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;font-weight:300;line-height:1.7;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ---------- SCROLLBAR ---------- */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--steel-dark);}
::-webkit-scrollbar-thumb{background:var(--steel-light);border-radius:5px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}

/* ---------- SCROLL PROGRESS BAR ---------- */
#scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0%;z-index:9999;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  box-shadow:0 0 10px rgba(201,168,76,.6);transition:width .1s linear;
}

/* ---------- NAV ---------- */
header.site-nav{
  position:sticky;top:0;z-index:1000;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 40px;background:rgba(8,10,12,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,168,76,.15);transition:padding .3s var(--ease),background .3s var(--ease);
}
header.site-nav.shrink{padding:10px 40px;background:rgba(8,10,12,.92);}
.brand-lockup{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand-mark{
  width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:1.15rem;background:rgba(201,168,76,.08);
  transition:transform .4s var(--ease);
}
.brand-lockup:hover .brand-mark{transform:rotate(180deg);}
.brand-text{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:1.45rem;letter-spacing:.08em;color:var(--white);}
.brand-text span{color:var(--gold);}
nav.main-nav{display:flex;gap:6px;align-items:center;}
.nav-button{
  display:inline-block;padding:9px 18px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;
  font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--silver);text-decoration:none;border-radius:3px;
  border:1px solid transparent;transition:all .25s var(--ease);
}
.nav-button:hover{color:var(--gold-light);border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.06);}
.nav-button.active{color:var(--gold);border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.08);}
.nav-cta{background:var(--gold)!important;color:var(--black)!important;border-color:var(--gold)!important;}
.nav-cta:hover{background:var(--gold-light)!important;}
.nav-toggle{display:none;background:none;border:none;color:var(--gold);font-size:1.6rem;cursor:pointer;}

@media(max-width:780px){
  .nav-toggle{display:block;}
  nav.main-nav{
    position:absolute;top:100%;right:0;left:0;flex-direction:column;
    background:rgba(8,10,12,.97);padding:16px;gap:8px;
    transform:translateY(-150%);transition:transform .4s var(--ease);
    border-bottom:1px solid rgba(201,168,76,.2);
  }
  nav.main-nav.open{transform:translateY(0);}
  .nav-button{width:100%;text-align:center;}
}

/* ---------- PARALLAX HERO ---------- */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;padding:80px 24px;
}
.hero-bg{
  position:absolute;inset:-10% 0;z-index:-2;background-size:cover;background-position:center;
  will-change:transform;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(8,10,12,.82) 0%,rgba(14,19,24,.7) 50%,rgba(8,10,12,.92) 100%);
}
.hero-inner{position:relative;z-index:2;max-width:1000px;}
.hero .tag{
  font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.74rem;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--gold);
}
.hero h1{
  font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:clamp(3.4rem,9vw,8rem);
  line-height:.88;letter-spacing:.03em;color:var(--white);margin:16px 0 4px;
  text-shadow:0 4px 40px rgba(0,0,0,.6);
}
.hero h1 span{color:var(--gold);}
.hero .subhead{
  font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:500;font-size:clamp(1rem,2.2vw,1.5rem);
  letter-spacing:.16em;text-transform:uppercase;color:var(--silver);margin-bottom:24px;
}
.hero p.lede{font-size:1.1rem;max-width:640px;margin:0 auto 30px;color:var(--silver);text-shadow:0 2px 12px rgba(0,0,0,.5);}

/* ---------- PATENT STRIP ---------- */
.patent-strip{
  display:inline-flex;gap:18px;flex-wrap:wrap;justify-content:center;
  padding:10px 22px;border:1px solid rgba(201,168,76,.25);border-radius:4px;
  background:rgba(8,10,12,.4);backdrop-filter:blur(6px);margin-bottom:30px;
}
.patent-strip span{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);}

/* ---------- BUTTONS ---------- */
.cta{
  display:inline-block;padding:14px 30px;margin:6px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;
  font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;border-radius:4px;transition:all .25s var(--ease);cursor:pointer;border:1px solid transparent;
}
.cta.primary{background:var(--gold);color:var(--black);border-color:var(--gold);}
.cta.primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 10px 30px rgba(201,168,76,.25);}
.cta.ghost{background:rgba(8,10,12,.3);color:var(--gold);border-color:rgba(201,168,76,.4);backdrop-filter:blur(6px);}
.cta.ghost:hover{background:rgba(201,168,76,.1);border-color:var(--gold);transform:translateY(-2px);}

/* ---------- SECTION w/ EMBEDDED BG ---------- */
section.block{position:relative;padding:70px 40px;overflow:hidden;}
section.block .inner{max-width:1140px;margin:0 auto;position:relative;z-index:2;}
section.bg-embed{background-size:cover;background-position:center;background-attachment:fixed;}
section.bg-embed::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(8,10,12,.92),rgba(14,19,24,.86));
}
@media(max-width:780px){section.bg-embed{background-attachment:scroll;}}

.section-head{margin-bottom:36px;}
.section-head .tag{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);}
.section-head h2{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:.05em;color:var(--white);line-height:1;margin-top:8px;}
.section-head .gold-line{width:60px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:14px 0;}
.section-head p{max-width:660px;color:var(--silver);}

/* ---------- REVEAL ANIMATION ---------- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;}

/* ---------- METRIC CARDS ---------- */
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.metric-card{
  background:rgba(26,36,48,.62);border:1px solid rgba(201,168,76,.15);
  border-radius:8px;padding:26px;position:relative;overflow:hidden;
  backdrop-filter:blur(8px);transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.metric-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.4);}
.metric-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}
.metric-card .num{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:2.7rem;color:var(--gold);line-height:1;letter-spacing:.03em;}
.metric-card .num.cyan{color:var(--cyan);}
.metric-card .label{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin:8px 0 6px;}
.metric-card .desc{font-size:.85rem;color:var(--bevel);line-height:1.55;}
.metric-card .src{font-size:.66rem;color:rgba(106,122,138,.7);font-style:italic;margin-top:8px;}

/* count-up target */
.countup{font-variant-numeric:tabular-nums;}

/* ---------- FEATURE LIST ---------- */
.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.feature-item{
  background:rgba(26,36,48,.5);border:1px solid rgba(201,168,76,.12);
  border-left:3px solid var(--gold);border-radius:0 6px 6px 0;padding:22px 24px;
  backdrop-filter:blur(6px);transition:transform .3s var(--ease);
}
.feature-item:hover{transform:translateX(4px);}
.feature-item h4{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:700;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-light);margin-bottom:6px;}
.feature-item p{font-size:.88rem;color:var(--silver);}

/* ---------- SPEC TABLE ---------- */
.spec-table{width:100%;border-collapse:collapse;margin-top:10px;}
.spec-table tr{border-bottom:1px solid rgba(201,168,76,.1);}
.spec-table td{padding:12px 16px;font-size:.9rem;}
.spec-table td:first-child{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bevel);font-size:.76rem;width:48%;}
.spec-table td:last-child{color:var(--white);font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:500;}

/* ---------- 3D VIEWER ---------- */
.viewer-wrap{position:relative;border:1px solid rgba(201,168,76,.25);border-radius:10px;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,rgba(44,58,68,.5),rgba(8,10,12,1));min-height:440px;}
#blade-viewer{width:100%;height:480px;display:block;cursor:grab;}
#blade-viewer:active{cursor:grabbing;}
.viewer-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(201,168,76,.6);pointer-events:none;}
.viewer-controls{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:8px;}
.vc-btn{background:rgba(8,10,12,.7);border:1px solid rgba(201,168,76,.3);color:var(--gold);width:38px;height:38px;border-radius:5px;cursor:pointer;font-size:.9rem;transition:all .2s;backdrop-filter:blur(6px);}
.vc-btn:hover{background:rgba(201,168,76,.15);}
.viewer-readout{position:absolute;top:14px;left:14px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.72rem;letter-spacing:.1em;color:var(--silver);background:rgba(8,10,12,.6);padding:8px 12px;border-radius:5px;border:1px solid rgba(201,168,76,.2);backdrop-filter:blur(6px);}
.viewer-readout b{color:var(--gold);}

/* ---------- CALCULATOR ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
@media(max-width:820px){.calc{grid-template-columns:1fr;}}
.calc-controls{display:flex;flex-direction:column;gap:22px;}
.calc-field label{display:flex;justify-content:space-between;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--silver);margin-bottom:8px;}
.calc-field label b{color:var(--gold);font-size:.95rem;}
input[type=range]{-webkit-appearance:none;width:100%;height:5px;border-radius:3px;background:rgba(201,168,76,.18);outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 0 8px rgba(201,168,76,.5);}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--gold);cursor:pointer;}
.calc-results{background:rgba(26,36,48,.6);border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:30px;backdrop-filter:blur(8px);}
.calc-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid rgba(201,168,76,.1);}
.calc-result-row:last-child{border-bottom:none;}
.calc-result-row .k{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bevel);}
.calc-result-row .v{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:1.8rem;color:var(--gold);letter-spacing:.03em;}
.calc-result-row .v.big{font-size:2.4rem;color:var(--gold-light);}
.calc-toggle{display:flex;gap:8px;margin-bottom:6px;}
.calc-toggle button{flex:1;padding:10px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(26,36,48,.6);border:1px solid rgba(201,168,76,.2);color:var(--silver);border-radius:5px;cursor:pointer;transition:all .2s;}
.calc-toggle button.active{background:var(--gold);color:var(--black);border-color:var(--gold);}

/* ---------- AI RECOMMENDER ---------- */
.ai-panel{
  position:relative;background:linear-gradient(135deg,rgba(26,36,48,.7),rgba(14,19,24,.85));
  border:1px solid rgba(74,190,212,.25);border-radius:12px;padding:32px;backdrop-filter:blur(10px);overflow:hidden;
}
.ai-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);}
.ai-badge{display:inline-flex;align-items:center;gap:8px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(74,190,212,.3);border-radius:20px;padding:5px 14px;margin-bottom:16px;}
.ai-badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:.4;box-shadow:0 0 0 0 rgba(74,190,212,.4);}50%{opacity:1;box-shadow:0 0 0 6px rgba(74,190,212,0);}}
.ai-options{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;}
.ai-chip{padding:10px 18px;background:rgba(74,190,212,.08);border:1px solid rgba(74,190,212,.3);border-radius:24px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--cyan);cursor:pointer;transition:all .2s;}
.ai-chip:hover,.ai-chip.active{background:var(--cyan);color:var(--black);}
.ai-output{margin-top:18px;padding:22px;background:rgba(8,10,12,.5);border:1px solid rgba(74,190,212,.15);border-radius:8px;min-height:90px;font-size:.95rem;color:var(--silver);line-height:1.7;}
.ai-output .typing::after{content:'▋';color:var(--cyan);animation:blink 1s steps(2) infinite;}
@keyframes blink{0%,50%{opacity:1;}50.01%,100%{opacity:0;}}
.ai-rec{margin-top:14px;padding:14px 18px;background:rgba(201,168,76,.06);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;font-size:.88rem;}
.ai-rec a{color:var(--gold-light);font-weight:600;text-decoration:none;}

/* ---------- BRIEFING / FORM ---------- */
.briefing-block{
  position:relative;margin:0 auto;max-width:1140px;padding:52px 40px;
  background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.25);
  border-radius:10px;text-align:center;backdrop-filter:blur(8px);
}
.briefing-block h3{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:.04em;color:var(--white);margin-bottom:10px;}
.briefing-block p{max-width:580px;margin:0 auto 24px;color:var(--silver);}
.conf-ribbon{display:inline-block;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,168,76,.6);border:1px solid rgba(201,168,76,.2);border-radius:3px;padding:5px 14px;}

form.vx-form{max-width:560px;margin:24px auto 0;display:grid;gap:14px;text-align:left;}
form.vx-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){form.vx-form .row{grid-template-columns:1fr;}}
form.vx-form label{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bevel);margin-bottom:5px;display:block;}
form.vx-form input,form.vx-form select,form.vx-form textarea{
  width:100%;padding:12px 14px;background:rgba(8,10,12,.6);border:1px solid rgba(201,168,76,.2);
  border-radius:5px;color:var(--white);font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;font-size:.92rem;transition:border-color .2s;
}
form.vx-form input:focus,form.vx-form select:focus,form.vx-form textarea:focus{outline:none;border-color:var(--gold);}
form.vx-form textarea{min-height:90px;resize:vertical;}

/* ---------- two col ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
@media(max-width:820px){.two-col{grid-template-columns:1fr;}}

/* ---------- image card ---------- */
.photo-card{border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(201,168,76,.2);min-height:300px;background-size:cover;background-position:center;}
.photo-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,12,.9),transparent 60%);}
.photo-card .caption{position:absolute;bottom:0;left:0;right:0;padding:22px;z-index:2;}
.photo-card .caption h4{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:1.4rem;letter-spacing:.04em;color:var(--white);}
.photo-card .caption p{font-size:.82rem;color:var(--silver);}

ul.clean{list-style:none;display:flex;flex-direction:column;gap:12px;}
ul.clean li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--silver);}
ul.clean li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:9px;flex-shrink:0;}

.disclaimer{font-size:.72rem;color:rgba(176,184,192,.45);font-style:italic;max-width:780px;margin:18px auto 0;text-align:center;}

/* ---------- FOOTER ---------- */
footer.site-footer{position:relative;margin-top:0;padding:54px 40px 36px;border-top:1px solid rgba(201,168,76,.12);background:var(--steel-dark);overflow:hidden;}
.footer-grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:36px;position:relative;z-index:2;}
@media(max-width:780px){.footer-grid{grid-template-columns:1fr;gap:24px;}}
.footer-grid h5{font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.footer-grid a{display:block;color:var(--silver);text-decoration:none;font-size:.88rem;margin-bottom:8px;transition:color .2s;}
.footer-grid a:hover{color:var(--gold-light);}
.footer-bottom{max-width:1140px;margin:36px auto 0;padding-top:24px;border-top:1px solid rgba(201,168,76,.08);text-align:center;position:relative;z-index:2;}
.footer-bottom .fbrand{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-size:1.3rem;letter-spacing:.08em;color:var(--gold);}
.footer-bottom p{font-size:.72rem;color:rgba(176,184,192,.4);max-width:640px;margin:6px auto;}

/* ---------- BACK TO TOP ---------- */
#to-top{position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:50%;background:rgba(201,168,76,.9);color:var(--black);border:none;font-size:1.2rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:900;}
#to-top.show{opacity:1;pointer-events:all;}
#to-top:hover{transform:translateY(-4px);}

/* ---------- COOKIE / DISCLAIMER TOAST ---------- */
#disclaimer-toast{position:fixed;bottom:0;left:0;right:0;z-index:1200;background:rgba(8,10,12,.96);border-top:1px solid rgba(201,168,76,.3);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;backdrop-filter:blur(10px);transform:translateY(100%);transition:transform .5s var(--ease);}
#disclaimer-toast.show{transform:translateY(0);}
#disclaimer-toast p{font-size:.78rem;color:var(--silver);max-width:800px;}
#disclaimer-toast button{background:var(--gold);color:var(--black);border:none;padding:10px 22px;border-radius:4px;font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;cursor:pointer;white-space:nowrap;}

/* ============================================================
   PATENT-STYLE FIGURE CARDS (engineering figures)
   ============================================================ */
.figure-card{
  background:#EEF1F3;                 /* light frame, patent-document feel */
  border:1px solid rgba(201,168,76,.35);
  border-radius:8px;
  padding:14px 14px 0;
  box-shadow:0 14px 40px rgba(0,0,0,.45);
  position:relative;
  overflow:hidden;
}
.figure-card img{
  width:100%;display:block;border-radius:4px;background:#cfd6da;
}
.figure-card .fig-caption{
  padding:14px 8px 16px;
  border-top:1px solid rgba(8,10,12,.12);
  margin-top:12px;
}
.figure-card .fig-no{
  font-family:'Rajdhani','Segoe UI',Tahoma,sans-serif;font-weight:700;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:#8A6D1E;margin-bottom:4px;
}
.figure-card .fig-text{
  font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;font-size:.86rem;line-height:1.5;
  color:#22303a;
}
.figure-card .fig-text b{color:#0E1318;}
/* full-width figure block (single large figure) */
.figure-wide{max-width:1000px;margin:0 auto;}

/* ============================================================
   3D VIEWER BASE LAYER — never-blank guarantee
   Static render sits behind the canvas; 3D draws on top when able
   ============================================================ */
.viewer-wrap.has-base{
  background-image:url('assets/viewer-base.jpg');
  background-size:cover;
  background-position:center;
}
.viewer-wrap.has-base #blade-viewer{
  position:relative;z-index:2;background:transparent!important;
}
/* subtle hint that base is a still until 3D loads is unnecessary; seamless by design */

/* ============================================================
   SILVER/BLUE IDENTITY — engineered gradient backgrounds
   Replaces photo backgrounds; logo + figures become the hero
   ============================================================ */
:root{
  --grad-a:#0E1318; --grad-b:#0B1620; --grad-c:#0A1A2C;
}

/* Neutralize photo backgrounds: hide the inline background-image,
   replace with engineered dark-steel + blue gradient + subtle depth */
section.bg-embed{
  background-image:none !important;
  background:linear-gradient(160deg,var(--grad-a) 0%,var(--grad-b) 55%,var(--grad-c) 100%);
}
section.bg-embed::before{
  background:
    radial-gradient(ellipse 60% 50% at 78% 22%, rgba(46,111,184,.14) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 12% 85%, rgba(0,48,96,.18) 0%, transparent 55%);
}

/* Hero backgrounds -> engineered gradient with vortex-echo glow */
.hero-bg{
  background-image:none !important;
  background:
    radial-gradient(circle at 70% 35%, rgba(46,111,184,.18) 0%, transparent 45%),
    radial-gradient(circle at 30% 70%, rgba(0,48,96,.22) 0%, transparent 50%),
    linear-gradient(160deg,#0E1318 0%,#0A1622 60%,#081019 100%) !important;
}
.hero-bg::after{
  background:linear-gradient(160deg,rgba(8,10,12,.55) 0%,rgba(11,18,26,.45) 50%,rgba(8,10,12,.78) 100%) !important;
}

/* Photo-cards (inline bg images) -> blue-steel panels */
.photo-card{
  background-image:none !important;
  background:linear-gradient(135deg,rgba(26,36,48,.9),rgba(10,26,44,.95)) !important;
  border-color:rgba(46,111,184,.3);
}

/* accent retunes: cyan glows -> blue */
.ai-panel{border-color:rgba(46,111,184,.3);}
.ai-panel::before{background:linear-gradient(90deg,var(--blue),transparent);}
.ai-badge{color:var(--blue-bright);border-color:rgba(46,111,184,.35);}
.ai-badge .pulse{background:var(--blue-bright);}
.metric-card .num.cyan{color:var(--blue-bright);}
.viewer-readout b{color:var(--blue-bright);}

/* nav brand mark -> emblem image */
.brand-mark{
  background:transparent;border:none;padding:0;overflow:hidden;
}
.brand-mark img{width:100%;height:100%;object-fit:contain;}

/* ============================================================
   LEGIBILITY HIERARCHY (WCAG AA verified)
   white carries the message · blue carries the brand · silver the detail
   ============================================================ */
:root{
  --ink-head:#F2F6F9;    /* headlines — near-white, 17:1 */
  --ink-body:#CBD6DF;    /* body — bright silver, 12.6:1 */
  --ink-accent:#6FB3E8;  /* accents/labels/links — ice-blue, 8.3:1 */
  --ink-data:#8FC4F0;    /* key numbers — brighter blue */
}
/* remap the legacy accent vars to the brighter, readable tones */
:root{
  --gold:#6FB3E8; --gold-light:#8FC4F0;     /* accents now readable ice-blue */
  --silver:#CBD6DF;                          /* body silver brightened */
  --bevel:#9FB1C2;                           /* secondary text lifted for contrast */
}

/* Headlines -> near-white for max legibility */
.hero h1, .section-head h2, h2.section-title, h1.hero,
.briefing-block h3, .footer-bottom .fbrand, .metric-card .num{
  color:var(--ink-head);
}
/* Key data numbers keep a hint of brand but stay bright */
.metric-card .num.cyan, .metric-card .num{ color:var(--ink-data); }

/* Tags / labels / accents -> bright ice-blue (was washing out) */
.tag, .section-head .tag, .hero .tag, .nav-button.active,
.feature-item h4, .metric-card .label, .patent-strip span,
.conf-ribbon, .ai-badge, .fig-no{
  color:var(--ink-accent) !important;
}
/* Subheads & taglines -> bright silver, not muted */
.hero .subhead, .section-head p, p.lede, .feature-item p,
.metric-card .desc, ul.clean li{
  color:var(--ink-body);
}
.hero .subhead{ color:var(--ink-body); opacity:.95; }

/* Body copy default lift */
p.body-copy, .spec-table td:last-child{ color:var(--ink-body); }
.spec-table td:first-child{ color:var(--ink-accent); }

/* Links readable */
a{ color:var(--ink-accent); }

/* Gradient text on the wordmark: keep the _X readable */
.brand-text span{ color:var(--ink-accent); }

/* Patent strip border/glow to blue */
.patent-strip{ border-color:rgba(111,179,232,.3); }
.gold-line, .section-head .gold-line{ background:linear-gradient(90deg,var(--ink-accent),transparent); }

/* CTAs: primary stays high-contrast (white text on blue) */
.cta.primary{ background:var(--ink-accent); color:#08131F; border-color:var(--ink-accent); }
.cta.primary:hover{ background:var(--ink-data); }
.cta.ghost{ color:var(--ink-accent); border-color:rgba(111,179,232,.5); }
.nav-cta{ background:var(--ink-accent) !important; color:#08131F !important; border-color:var(--ink-accent) !important; }

/* ============================================================
   TRANSLUCENT PHOTO BACKGROUNDS (per-page, ~18% visible)
   Photo sits FAR back under a strong dark veil so the
   legibility hierarchy is never compromised. Atmosphere only.
   ============================================================ */

/* Generic translucent-photo section: set --bgphoto inline per section */
section.photo-bg{ position:relative; }
section.photo-bg::after{
  content:''; position:absolute; inset:0; z-index:0;
  background-image:var(--bgphoto);
  background-size:cover; background-position:center;
  opacity:.55;                      /* fully noticeable per request */
  pointer-events:none;
}
/* strong dark veil ON TOP of the photo, under the content */
section.photo-bg::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 45% at 80% 18%, rgba(46,111,184,.10) 0%, transparent 55%),
    linear-gradient(160deg, rgba(10,15,20,.45) 0%, rgba(11,18,26,.38) 50%, rgba(8,12,17,.55) 100%);
}
section.photo-bg .inner{ position:relative; z-index:2; }

/* Hero with translucent photo */
.hero.photo-hero .hero-bg{
  background-image:var(--bgphoto) !important;
  background-size:cover !important; background-position:center !important;
  opacity:1;
}
.hero.photo-hero .hero-bg::after{
  background:linear-gradient(160deg, rgba(8,10,12,.45) 0%, rgba(11,18,26,.4) 50%, rgba(8,10,12,.58) 100%) !important;
}
/* dim just the photo layer via a wrapper tint */
.hero.photo-hero .hero-bg{ filter:saturate(1) brightness(.72); }

/* ============================================================
   READABILITY OVER BOLD BACKGROUNDS
   Localized scrims hug text; photo stays vivid in open areas
   ============================================================ */

/* Text-shadow on key text so letters stay crisp on light photo areas */
.hero h1, .hero .subhead, .hero .tag, .section-head h2, .section-head .tag,
.section-head p, p.lede, .feature-item h4, .metric-card .num, .metric-card .label{
  text-shadow:0 2px 14px rgba(8,12,17,.85), 0 1px 3px rgba(8,12,17,.9);
}

/* Local scrim behind hero text cluster */
.hero-inner{
  background:radial-gradient(ellipse 75% 80% at 50% 50%, rgba(8,12,17,.62) 0%, rgba(8,12,17,.28) 60%, transparent 85%);
  padding:38px 30px; border-radius:20px;
}

/* Section headings + intro get a soft scrim pad */
.section-head{
  background:linear-gradient(90deg, rgba(8,12,17,.66) 0%, rgba(8,12,17,.42) 60%, transparent 100%);
  padding:22px 26px; border-radius:12px; display:inline-block; max-width:760px;
}

/* Cards/panels already have their own dark fill — make them a touch more opaque
   so they read as solid surfaces over a vivid photo */
.metric-card{ background:rgba(20,28,38,.82); backdrop-filter:blur(10px); }
.feature-item{ background:rgba(20,28,38,.80); backdrop-filter:blur(8px); }
.briefing-block{ background:rgba(14,20,28,.86); backdrop-filter:blur(12px); }
.ai-panel{ background:linear-gradient(135deg,rgba(20,28,38,.88),rgba(12,18,26,.92)); }
.patent-strip{ background:rgba(8,12,17,.72); backdrop-filter:blur(8px); }
form.vx-form input, form.vx-form select, form.vx-form textarea{ background:rgba(8,12,17,.8); }

/* ---- BRIGHTEN ALL DIM LABELS (sitewide sweep) ---- */
/* patent strip items: force ALL to bright ice-blue (fixes 'PROVISIONAL'/'SEEKING') */
.patent-strip span{ color:#8FC4F0 !important; }
.patent-strip span::before{ color:#8FC4F0; }
/* any remaining muted-tone text lifted */
.metric-card .src{ color:#9FB6CC; }
.feature-item p{ color:#CBD6DF; }
.viewer-hint{ color:#8FC4F0; }
.footer-grid a{ color:#CBD6DF; }
.footer-bottom p{ color:#9FB6CC; }
.disclaimer{ color:#A8B6C4; }
.spec-table td:first-child{ color:#8FC4F0; }
/* secondary descriptive text that was --bevel */
.tier-card p, .rev-card p, .ip-claim p, .inno-text p, .step-body p{ color:#C4D0DA !important; }


/* Static beauty-render viewer (3D model retired on public site) */
.viewer-wrap.viewer-static{
  min-height:440px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
@media(max-width:640px){ .viewer-wrap.viewer-static{ min-height:320px; } }
