/* ==========================================================================
   CABPLAS — Dark brand theme (2026-09 rebrand)
   Loaded last on every page. Overrides the light surfaces of styles.css,
   refinements.css and the motion/product layers with the new brand palette:
   deep navy backgrounds, white text, orange accents.
   ========================================================================== */

:root{
  color-scheme:dark;
  --navy:#E9EFF5;            /* used as TEXT colour throughout the base CSS */
  --navy2:#F4F7FA;
  --graphite:#C9D3DE;
  --orange:#EC5F18;
  --orange-2:#FF7A33;
  --paper:#0F2740;           /* soft section background */
  --white:#FFFFFF;
  --muted:#A9B7C6;
  --line:rgba(255,255,255,.10);
  --shadow:0 18px 45px rgba(0,0,0,.38);
  --bg:#0A1B2C;              /* page */
  --bg-2:#0F2740;            /* alternating sections */
  --surface:#132F4A;         /* cards, panels */
  --surface-2:#183A58;       /* raised / dark blocks */
  --brand-navy:#0C2236;      /* the brand navy itself, for solid blocks */
  --text:#E9EFF5;
}

/* ---- Page & typography ---------------------------------------------------- */
html{background:var(--bg)}
body{background:var(--bg);color:var(--text)}
h1,h2,h3,h4,h5,h6{color:#FFFFFF}
p,li,td,th,figcaption,small{color:inherit}
a{color:#FFC39E}
a:hover{color:#FFFFFF}
strong{color:#FFFFFF}
::selection{background:rgba(236,95,24,.45);color:#fff}

/* ---- Header / navigation -------------------------------------------------- */
header,.site-header{background:rgba(10,27,44,.86);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-link,.site-nav a{color:#E9EFF5}
.nav-link:hover,.site-nav a:hover{color:#FFFFFF}
.nav-link.active{color:#FFFFFF}
.nav-link.active::after,.nav-link::after{background:var(--orange)}
.nav-cta,.btn-primary{background:var(--orange);color:#FFFFFF;border-color:var(--orange)}
.nav-cta:hover,.btn-primary:hover{background:var(--orange-2);color:#FFFFFF}
.btn-secondary{background:transparent;color:#FFFFFF;border:1px solid rgba(255,255,255,.30)}
.btn-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#FFFFFF}
.menu-toggle span{background:#FFFFFF}
.site-nav.open{background:var(--brand-navy)}
.skip-link{background:var(--orange);color:#fff}
.nav-search .tds-input,.tds-search input{background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text)}
.nav-search .tds-input::placeholder,.tds-search input::placeholder{color:var(--muted)}
.nav-search .tds-input:focus,.tds-search input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(236,95,24,.25);background:rgba(255,255,255,.08)}
.nav-search-results,.tds-results{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.nav-search-results li a,.tds-results li a{background:var(--surface);color:#FFFFFF;border-color:var(--line)}
.nav-search-results li a:hover,.tds-results li a:hover,.nav-search-results li[aria-selected=true] a{background:var(--surface-2);border-color:var(--orange)}
.nav-search-results .tds-cat,.tds-results .tds-cat{color:var(--muted)}
.nav-search-results .tds-open{color:var(--orange)}
.nav-search .nav-search-ico{color:var(--muted)}

/* ---- Hero ----------------------------------------------------------------- */
.hero{background:radial-gradient(1200px 600px at 12% -10%,rgba(236,95,24,.16),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(24,58,88,.7),transparent 55%),var(--bg)}
.hero h1{color:#FFFFFF}
.hero .lead,.hero p{color:#C9D3DE}
.hero-support{color:var(--muted)}
.hero-visual{background:linear-gradient(145deg,var(--brand-navy),#123350 64%);border:1px solid var(--line)}
.cp-motion{background:var(--brand-navy);border:1px solid var(--line);box-shadow:var(--shadow)}
.cp-toolbar{background:#0F2740;border-top:1px solid var(--line);color:var(--text)}
.cp-toolbar button{color:#FFFFFF;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.04)}
.cp-toolbar button:hover{background:rgba(255,255,255,.10)}
.cp-phase,.cp-clock,.cp-loop-label{color:var(--muted)}
.cp-timeline{background:rgba(255,255,255,.12)}
.cp-progress{background:var(--orange)}
.cp-stage,.cp-stage video,.cp-fallback{background:var(--brand-navy)}

/* ---- Sections & surfaces -------------------------------------------------- */
.section{background:transparent}
.section-soft{background:var(--bg-2)}
.section-dark,.cta-band,.quote-panel,.value-item,.side-contact,.contact-info{background:var(--surface-2);color:var(--text)}
.section-dark p,.cta-band p,.quote-panel p{color:#C9D3DE}
.eyebrow{color:var(--orange)}
.eyebrow::before{background:var(--orange)}
.section-head p,.lead,.imagery-note,.dept-lead,.panel-video figcaption{color:var(--muted)}
.family-card,.sector-card,.principle,.product-sidebar,.product-card,.tech-card,.dept-card,.subproduct,.product-panel,.product-tabs,.product-enquiry,.tabs-ready .product-picker{background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.family-card:hover,.sector-card:hover,.tech-card:hover,.product-card:hover,.dept-card:hover{border-color:rgba(255,255,255,.22);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.family-card p,.sector-card p,.tech-card p,.principle p,.product-card p,.dept-card p{color:#C9D3DE}
.family-card h3,.sector-card h3,.tech-card h3,.principle h3,.dept-card h3{color:#FFFFFF}
.family-card a,.text-link,.product-card a{color:#FFC39E}
.family-card a:hover,.text-link:hover{color:#FFFFFF}
.family-number{color:var(--orange)}
.sector-dot{background:var(--orange)}
.sector-media{background:var(--surface-2);border-color:var(--line)}
.pill{background:rgba(255,255,255,.08);color:#FFFFFF;border:1px solid var(--line)}
.notice{background:rgba(236,95,24,.12);border:1px solid rgba(236,95,24,.35);color:#F3E2D6}
.notice strong{color:#FFFFFF}
hr,.divider{border-color:var(--line)}

/* ---- Products: tabs, panels, sub-products --------------------------------- */
.product-tab{color:#C9D3DE;background:transparent;border-color:var(--line)}
.product-tab:hover{background:rgba(255,255,255,.06);color:#FFFFFF}
.product-tab.active{background:rgba(236,95,24,.14);color:#FFFFFF;border-left-color:var(--orange)}
.product-panel h2,.product-panel h3,.product-panel h4{color:#FFFFFF}
.panel-tagline{color:#FFFFFF}
.product-group-intro,.subproduct p,.product-detail p{color:#C9D3DE}
.spec-block h4{color:var(--orange)}
.spec-list li,.feature-list li{color:#C9D3DE;border-color:var(--line)}
.spec-list li::before,.feature-list li::before{background:var(--orange);color:var(--orange)}
.subproduct{background:var(--surface-2)}
.subproduct .sub-kicker,.subproduct small{color:var(--muted)}
.sub-gallery figure{background:var(--surface);border:1px solid var(--line)}
.sub-gallery img{background:#F2F4F6;border-radius:12px}       /* product photography stays on its light plate */
.sub-gallery figcaption{color:#C9D3DE}
.product-enquiry{background:var(--surface-2)}
.product-enquiry p{color:#C9D3DE}
.panel-video-frame{background:var(--brand-navy);border:1px solid var(--line)}
.breadcrumb,.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:#FFFFFF}
.side-contact a{color:#FFFFFF}
.product-sidebar strong,.principle strong{color:#FFFFFF}

/* ---- Portfolio disclosure (6 + 12) ---------------------------------------- */
.portfolio-disclosure summary,.portfolio-toggle{background:var(--surface);color:#FFFFFF;border:1px solid var(--line)}
.portfolio-disclosure summary:hover,.portfolio-toggle:hover{border-color:var(--orange)}

/* ---- Forms ---------------------------------------------------------------- */
label{color:#E9EFF5}
input,select,textarea{background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.16)}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(236,95,24,.25);outline:none;background:rgba(255,255,255,.08)}
select option{background:var(--surface);color:var(--text)}
.form-status{color:#C9D3DE}
.privacy label{color:#C9D3DE}
.dept-ico{background:rgba(236,95,24,.16);color:var(--orange)}
.dept-line a{color:#FFFFFF}
.dept-line a:hover{color:#FFC39E}
.contact-info .email-list a{color:#FFFFFF}
.contact-info .email-list a:hover{color:var(--orange)}
.contact-info .email-dept,.contact-info small{color:var(--muted)}

/* ---- Legal / thank-you / 404 ---------------------------------------------- */
.legal-copy,.legal-copy p,.legal-copy li{color:#C9D3DE}
.legal-copy h2,.legal-copy h3{color:#FFFFFF}
.thank-you,.error-page{background:var(--bg);color:var(--text)}

/* ---- Footer --------------------------------------------------------------- */
.site-footer{background:#07141F;color:var(--muted);border-top:1px solid var(--line)}
.site-footer a{color:#C9D3DE}
.site-footer a:hover{color:#FFFFFF}
.site-footer .footer-title,.site-footer strong{color:#FFFFFF}
.site-footer .footer-bottom{border-top:1px solid var(--line)}

/* ---- Media & misc --------------------------------------------------------- */
img{color-scheme:light}
.facility-picture,.facility-img{border:1px solid var(--line)}
.imagery-note{color:var(--muted)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#274866;border-radius:8px;border:3px solid var(--bg)}

/* ---- Specificity fixes found by audit ------------------------------------ */
.sector-card .sector-media{background:var(--surface-2);border-color:var(--line)}
.tds-input,input.tds-input{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--line)}
.hero-heading h1 span,.hero h1 span{color:var(--orange-2)}
:root{--orange-text:#FF9A5C}
.panel-subtitle,.subproducts-title,.family-number{color:#FF9A5C}
.content-grid p{color:#C9D3DE}
.privacy-summary,.small-note{color:var(--muted)}

/* ---- Gradient surfaces (missed by the flat-colour audit) ----------------- */
.page-hero{background:radial-gradient(900px 420px at 0% 0%,rgba(236,95,24,.14),transparent 60%),linear-gradient(125deg,#0F2740,#0A1B2C)}
.page-hero h1{color:#FFFFFF}
.page-hero p{color:#C9D3DE}
.hero-visual{background:linear-gradient(145deg,#183A58,#0C2236 64%)}
.cta-band{background:linear-gradient(125deg,#183A58,#0C2236)}
.cp-motion,.cp-stage{background:linear-gradient(125deg,#0F2740 15%,#0C2236 100%)}
