/*
Theme Name: Trinetra Tactical
Theme URI: https://trinetratechnologies.in
Author: Shivaji Mitra / M/S. Anblik
Author URI: https://ananyoo.com
Description: Tactical Monolith theme for Trinetra Technologies LLP - a dynamic WordPress build cloned from the Lovable design. Near-black surfaces, olive-gold accent, Rajdhani / Inter / JetBrains Mono, HUD framing. WCAG 2.1 AA and fully responsive.
Version: 2.3.7
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: trinetra-tactical
*/

/* =========================================================================
   Design tokens - ported verbatim from the Lovable "Tactical Monolith" system
   ========================================================================= */
:root{
  --background:#07080a;
  --foreground:#f2f2ec;
  --surface:#0f1113;
  --surface-alt:#14171a;
  --card:#0f1113;
  --primary:#c9a747;
  --primary-foreground:#07080a;
  --muted:#14171a;
  --muted-foreground:#8a8a80;
  --accent:#c9a747;
  --accent-foreground:#07080a;
  --destructive:#b3341f;
  --border:#1e1f22;
  --input:#1e1f22;
  --ring:#c9a747;
  --tricolor-saffron:#ff9933;
  --tricolor-green:#138808;

  --font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;
  --font-display:"Rajdhani","Inter",ui-sans-serif,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;

  --max:80rem; /* max-w-7xl */
}

/* =========================================================================
   Base
   ========================================================================= */
*{box-sizing:border-box;border-color:var(--border)}
html{color-scheme:dark;background:var(--background);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--background);color:var(--foreground);
  font-family:var(--font-sans);-webkit-font-smoothing:antialiased;
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--accent-foreground)}

:focus-visible{outline:3px solid var(--ring);outline-offset:2px}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--accent-foreground);padding:.75rem 1.25rem;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em}
.skip-link:focus{left:.5rem;top:.5rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:1rem}
@media (min-width:768px){.wrap{padding-inline:1.5rem}}

/* =========================================================================
   Signature utilities
   ========================================================================= */
.mono-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-foreground);margin:0}
.mono-kicker.is-accent{color:var(--accent)}
.display-heading{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;line-height:.95;text-transform:uppercase}

/* HUD framed media */
.hud{position:relative;border:1px solid var(--border);background:var(--surface)}
.hud::before,.hud::after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--accent);pointer-events:none}
.hud::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
.hud::after{bottom:-1px;right:-1px;border-left:none;border-top:none}
.hud img{width:100%;display:block}

/* grid overlay used behind the hero */
.grid-overlay{background-image:linear-gradient(rgba(201,167,71,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,167,71,.04) 1px,transparent 1px);background-size:48px 48px}

/* Tricolour rule */
.tricolor{display:flex;height:3px;width:10rem;overflow:hidden}
.tricolor span{flex:1}
.tricolor span:nth-child(1){background:var(--tricolor-saffron)}
.tricolor span:nth-child(2){background:var(--foreground)}
.tricolor span:nth-child(3){background:var(--tricolor-green)}

/* =========================================================================
   Buttons
   ========================================================================= */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;padding:.85rem 1.5rem;border:1px solid var(--border);cursor:pointer;min-height:44px;transition:all .15s}
/* Arrow icon inside buttons: 16px like the source (h-4 w-4) */
.btn svg{width:16px;height:16px;flex:none;transition:transform .15s}
.btn:hover svg{transform:translateX(3px)}
.btn-accent{border-color:var(--accent);background:var(--accent);color:var(--accent-foreground)}
.btn-accent:hover{filter:brightness(1.1)}
.btn-outline{background:transparent;color:var(--foreground)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}

/* =========================================================================
   Header / nav
   ========================================================================= */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(30,31,34,.6);background:rgba(7,8,10,.85);backdrop-filter:blur(12px)}
.header-bar{display:flex;align-items:center;justify-content:space-between;height:4rem;gap:1rem}
@media (min-width:768px){.header-bar{height:5rem}}
.brand{display:flex;align-items:center;gap:.75rem}
.brand-mark{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border:1px solid var(--accent);background:rgba(201,167,71,.1);color:var(--accent);font-family:var(--font-display);font-size:1.125rem;font-weight:700}
/* Header logo image (uploaded via Site Identity). Sized to the header,
   overriding the width/height attributes WordPress prints on the img. */
.brand .brand-logo{height:2.5rem!important;width:auto!important;max-width:none;display:block}
@media (min-width:768px){.brand .brand-logo{height:2.75rem!important}}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name b{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.brand-name .mono-kicker{margin-top:.25rem}

.primary-nav{display:none}
@media (min-width:768px){.primary-nav{display:flex;align-items:center;gap:1.75rem}}
.primary-nav a{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--muted-foreground);transition:color .15s}
.primary-nav a:hover,.primary-nav a.is-active{color:var(--accent)}
.primary-nav a.is-active{color:var(--accent)}

.header-cta{display:none}
@media (min-width:768px){.header-cta{display:inline-flex;padding:.625rem 1.25rem;min-height:40px;letter-spacing:.1em}}

.nav-toggle{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--foreground);cursor:pointer}
@media (min-width:768px){.nav-toggle{display:none}}
.nav-toggle .bars{width:16px;height:12px;position:relative}
.nav-toggle .bars span{position:absolute;left:0;width:100%;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.nav-toggle .bars span:nth-child(1){top:0}
.nav-toggle .bars span:nth-child(2){top:5px}
.nav-toggle .bars span:nth-child(3){top:10px}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

.mobile-nav{display:none;border-top:1px solid var(--border);background:var(--background)}
.mobile-nav.is-open{display:block}
@media (min-width:768px){.mobile-nav{display:none!important}}
.mobile-nav ul{list-style:none;margin:0;padding:1rem;display:flex;flex-direction:column;gap:.25rem}
.mobile-nav a{padding:.85rem .25rem;border-bottom:1px solid rgba(30,31,34,.6);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;min-height:44px;display:flex;align-items:center}
.mobile-nav .btn{margin-top:.75rem;justify-content:center}

/* =========================================================================
   Sections & shared blocks
   ========================================================================= */
.section{padding-block:clamp(4rem,8vw,7rem)}
.section-surface{background:var(--surface);border-block:1px solid var(--border)}
.section-line-top{border-top:1px solid var(--border)}

.eyebrow-head{display:grid;gap:1rem}
.section-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(2.25rem,5vw,3.75rem);margin:0}
.lede{font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.7;color:var(--muted-foreground);margin:0}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(7,8,10,.85),rgba(7,8,10,.75),var(--background))}
.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.6}
.hero-inner{display:flex;min-height:92vh;flex-direction:column;justify-content:space-between;padding-block:clamp(4rem,10vw,6rem) clamp(2.5rem,6vw,3.5rem)}
.hero h1{font-size:clamp(3rem,9vw,7rem);line-height:.9;margin:1.5rem 0 0}
.hero .hero-title{font-size:clamp(3rem,8.8vw,7rem);line-height:.88;letter-spacing:-.03em;font-weight:700;margin:1.5rem 0 0}
@media (min-width:1024px){.hero .hero-title{font-size:118px}}
/* Pulsing square in the hero kicker (matches the Lovable MonoKicker) */
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem}
.kicker-square{display:inline-block;height:.375rem;width:.375rem;background:var(--accent);animation:tt-pulse 2s ease-in-out infinite}
@keyframes tt-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.kicker-square{animation:none}}
.hero h1 .accent{color:var(--accent)}
.hero-lede{margin-top:2rem;max-width:42rem}
.hero-actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero-stats{margin-top:3rem;display:grid;gap:1rem}
@media (min-width:768px){.hero-stats{grid-template-columns:repeat(4,1fr)}}
.hero-stat{border:1px solid rgba(30,31,34,.6);background:rgba(15,17,19,.6);backdrop-filter:blur(4px);padding:.75rem 1rem}
.hero-stat b{display:block;margin-top:.25rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--foreground)}

/* Capability grid */
.cap-head{display:grid;gap:2.5rem;align-items:end}
@media (min-width:768px){.cap-head{grid-template-columns:5fr 7fr}}
.cap-grid{margin-top:3.5rem;display:grid;gap:1px;background:var(--border)}
@media (min-width:768px){.cap-grid{grid-template-columns:repeat(3,1fr)}}
.cap-cell{display:flex;flex-direction:column;gap:1rem;background:var(--background);padding:2rem;transition:background .15s}
.cap-cell:hover{background:var(--surface-alt)}
.cap-icon{display:flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border:1px solid rgba(201,167,71,.6);color:var(--accent)}
.cap-icon svg{width:1.25rem;height:1.25rem}
.cap-cell h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.5rem;margin:0}
.cap-cell p{font-size:.875rem;line-height:1.6;color:var(--muted-foreground);margin:0}

/* Split feature */
.split{display:grid;gap:3rem;align-items:center}
@media (min-width:768px){.split{grid-template-columns:7fr 5fr}}
.split.rev{grid-template-columns:5fr 7fr}
.feature-list{margin:2.5rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem}
@media (min-width:768px){.feature-list{grid-template-columns:1fr 1fr}}
.feature-list li{display:flex;gap:.75rem;align-items:flex-start;border-left:2px solid rgba(201,167,71,.7);padding-left:.75rem}
.feature-list .dot{font-family:var(--font-mono);color:var(--accent);font-size:10px;padding-top:.25rem}

/* Pull quote */
.pullquote{max-width:64rem;margin-inline:auto;border-left:4px solid var(--accent);background:rgba(15,17,19,.4);padding:2rem}
@media (min-width:768px){.pullquote{padding:3rem}}
.pullquote-kicker{margin:0 0 1rem;font-size:10px}
.pullquote-text{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;font-size:clamp(1.75rem,4vw,3rem);margin:0}

/* CTA panel */
.cta-panel{border:1px solid rgba(201,167,71,.4);background:var(--surface);padding:clamp(2rem,5vw,4rem)}
.cta-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:768px){.cta-grid{grid-template-columns:8fr 4fr}}
.cta-grid h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem);line-height:.95;margin:1rem 0 0}
.cta-grid .accent{color:var(--accent)}

/* =========================================================================
   Archive hero band + platform cards (products / training index)
   - matches the source PlatformCard exactly
   ========================================================================= */
.archive-hero{border-bottom:1px solid var(--border);padding-block:5rem}
@media (min-width:768px){.archive-hero{padding-block:7rem}}
.archive-kicker{display:inline-flex;align-items:center;gap:.5rem}
.archive-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:3rem;margin:1.5rem 0 0}
@media (min-width:768px){.archive-title{font-size:4.5rem}}
.archive-lede{max-width:42rem;margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:var(--muted-foreground)}
@media (min-width:768px){.archive-lede{font-size:1.125rem}}
.archive-cards{padding-block:4rem}
@media (min-width:768px){.archive-cards{padding-block:5rem}}
.pcard-grid{display:grid;gap:1.25rem}
@media (min-width:768px){.pcard-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.pcard-grid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--surface);transition:border-color .15s}
.pcard:hover,.pcard:focus-visible{border-color:rgba(201,167,71,.6)}
.pcard-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(30,31,34,.6);padding:.5rem 1rem}
.pcard-top .is-accent{color:var(--accent)}
.pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--background)}
.pcard-media img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .7s,transform .7s}
.pcard:hover .pcard-media img{opacity:1;transform:scale(1.05)}
.pcard-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,var(--surface),transparent 55%)}
.pcard-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;flex:1}
.pcard-body h2,.pcard-body h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;font-size:1.5rem;margin:0;color:var(--foreground)}
.pcard-tagline{margin:.25rem 0 0;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.pcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(30,31,34,.6);padding-top:1rem}
.pcard-foot .mono-kicker{color:var(--accent)}
.pcard-foot svg{width:16px;height:16px;flex:none;color:var(--accent);transition:transform .15s}
.pcard:hover .pcard-foot .icon-up-right{transform:translate(2px,-2px)}
.pcard:hover .pcard-foot .icon-right{transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){.pcard-media img,.pcard-foot svg{transition:none}}

/* =========================================================================
   Product detail page - matches the source design exactly
   ========================================================================= */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.phero-bg{position:absolute;inset:0}
.phero-bg img{width:100%;height:100%;object-fit:cover;opacity:.6}
.phero-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,8,10,.7),rgba(7,8,10,.85),var(--background))}
.phero-grid{position:absolute;inset:0;opacity:.5}
.phero-inner{position:relative;padding-block:5rem}
@media (min-width:768px){.phero-inner{padding-block:7rem}}
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-foreground);transition:color .15s}
.back-link:hover,.back-link:focus-visible{color:var(--accent)}
.back-link svg{width:12px;height:12px;flex:none}
.phero-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem}
.phero-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:3rem;margin:1rem 0 0}
@media (min-width:768px){.phero-title{font-size:4.5rem}}
.phero-lede{max-width:48rem;margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:var(--muted-foreground)}
@media (min-width:768px){.phero-lede{font-size:1.125rem}}
.phero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.btn-detail{padding:.875rem 1.5rem;font-size:12px;letter-spacing:.1em}

/* Section heading level-2 in the tactical style */
.sec-h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;margin:1rem 0 0}

/* Mission profile */
.mission-sec{display:grid;gap:2.5rem;padding-block:4rem}
@media (min-width:768px){.mission-sec{grid-template-columns:4fr 8fr;padding-block:6rem}}
.mission-sec .sec-h2{font-size:clamp(1.875rem,3vw,2.25rem)}
.task-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}
@media (min-width:768px){.task-list{grid-template-columns:1fr 1fr}}
.task-list li{display:flex;align-items:flex-start;gap:.75rem;border:1px solid rgba(30,31,34,.6);background:var(--surface);padding:1rem;font-size:.875rem;color:var(--foreground)}
.task-list .dot{color:var(--accent);font-family:var(--font-mono);font-size:10px;padding-top:.15rem}

/* HUD corner brackets (added as spans, like the source) */
.hudc{position:absolute;width:16px;height:16px;border:0 solid var(--accent);pointer-events:none;z-index:1}
.hudc-tl{top:-1px;left:-1px;border-top-width:1px;border-left-width:1px}
.hudc-tr{top:-1px;right:-1px;border-top-width:1px;border-right-width:1px}
.hudc-bl{bottom:-1px;left:-1px;border-bottom-width:1px;border-left-width:1px}
.hudc-br{bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px}
.frame{position:relative}
.frame-inner{position:relative;overflow:hidden;border:1px solid rgba(30,31,34,.6);background:var(--surface)}
.frame-inner img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;display:block}

/* Variant dossiers */
.dossier-sec{border-top:1px solid var(--border);background:var(--surface);padding-block:5rem}
@media (min-width:768px){.dossier-sec{padding-block:6rem}}
.dossier-sec .sec-h2{font-size:clamp(2.25rem,4vw,3rem)}
.dossier-list{margin-top:3rem;display:flex;flex-direction:column;gap:4rem}
.dossier{display:grid;gap:2.5rem;align-items:start}
@media (min-width:768px){.dossier{grid-template-columns:5fr 7fr}}
.bpanel{position:relative}
.bpanel-box{border:1px solid rgba(30,31,34,.6);background:rgba(15,17,19,.7)}
.bpanel-head,.bpanel-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem}
@media (min-width:768px){.bpanel-head,.bpanel-foot{padding-inline:1.5rem}}
.bpanel-head{border-bottom:1px solid rgba(30,31,34,.6)}
.bpanel-foot{border-top:1px solid rgba(30,31,34,.6)}
.bpanel-lead{display:inline-flex;align-items:center;gap:.5rem}
.bpanel-lead .mono-kicker{color:var(--foreground)}
.bpanel-foot .is-accent{color:var(--accent)}
.bpanel-body{padding:1.5rem 1rem}
@media (min-width:768px){.bpanel-body{padding:2rem 1.5rem}}
.bpanel-body h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1;font-size:1.875rem;margin:.75rem 0 0}
.dossier-bullets{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.375rem;font-size:.875rem;color:var(--muted-foreground)}
.dossier-bullets li{display:flex;gap:.5rem}
.dossier-bullets .arr{color:var(--accent)}
.bpanel .spec-wrap{margin-top:1.5rem;border-top:1px solid rgba(30,31,34,.6);padding-top:1rem}
.bpanel .spec-table td{text-align:right;font-weight:500}
.bpanel .spec-table tr:last-child th,.bpanel .spec-table tr:last-child td{border-bottom:0}
.bpanel-cta{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}
/* Product photo gallery thumbnails under the dossier main image */
.dossier-thumbs{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}
.dossier-thumb{padding:0;width:64px;height:64px;overflow:hidden;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s}
.dossier-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dossier-thumb:hover,.dossier-thumb:focus-visible,.dossier-thumb.is-active{border-color:var(--accent)}
/* Homepage training kit rotator */
.kit-rotator{position:relative}
.kit-rotator-stack{position:relative;display:grid}
/* Optional dark overlay (Customize -> Home Page): light black tint that
   lifts on hover or keyboard focus to reveal the real colours. Drawn on
   the inner stack, not on .hud (whose pseudo-elements are the corners). */
.kit-rotator.has-overlay .kit-rotator-stack::after{content:"";position:absolute;inset:0;background:rgba(7,8,10,.5);opacity:1;transition:opacity .3s ease;pointer-events:none}
.kit-rotator.has-overlay:hover .kit-rotator-stack::after,.kit-rotator.has-overlay:focus-within .kit-rotator-stack::after{opacity:0}
.kit-rotator.has-overlay .kit-slide{filter:grayscale(.55);transition:opacity .8s ease,filter .3s ease}
.kit-rotator.has-overlay:hover .kit-slide,.kit-rotator.has-overlay:focus-within .kit-slide{filter:none}
@media (prefers-reduced-motion:reduce){.kit-rotator.has-overlay .kit-rotator-stack::after,.kit-rotator.has-overlay .kit-slide{transition:none}}
.kit-rotator .kit-slide{grid-area:1/1;width:100%;aspect-ratio:1/1;object-fit:cover;opacity:0;transition:opacity .8s ease}
.kit-rotator .kit-slide.is-active{opacity:1}
@media (prefers-reduced-motion:reduce){.kit-rotator .kit-slide{transition:none}}
.kit-rotator-toggle{position:absolute;bottom:.75rem;right:.75rem;z-index:2;display:inline-flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border:1px solid var(--accent);background:rgba(7,8,10,.75);color:var(--accent);cursor:pointer}
.kit-rotator-toggle:hover{background:rgba(7,8,10,.9)}
/* pause bars / play triangle drawn in CSS */
.kit-rotator-pause{display:inline-block;width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.kit-rotator.is-paused .kit-rotator-pause{width:0;height:0;border-left:12px solid currentColor;border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent}
.btn-compact{padding:.625rem 1.25rem;font-size:12px;letter-spacing:.1em;min-height:0}

/* Related platforms */
.related-sec{padding-block:5rem}
@media (min-width:768px){.related-sec{padding-block:6rem}}
.related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.related-head .sec-h2{font-size:clamp(1.875rem,4vw,3rem)}
.related-grid{margin-top:2.5rem;display:grid;gap:1.25rem}
@media (min-width:768px){.related-grid{grid-template-columns:repeat(3,1fr)}}
.rcard{display:block;border:1px solid var(--border);background:var(--surface);transition:border-color .15s}
.rcard:hover,.rcard:focus-visible{border-color:rgba(201,167,71,.6)}
.rcard-media{display:block;aspect-ratio:4/3;overflow:hidden}
.rcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rcard:hover .rcard-media img{transform:scale(1.05)}
.rcard-body{display:block;padding:1.25rem}
.rcard-body h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;font-size:1.5rem;margin:.5rem 0 0}
@media (prefers-reduced-motion:reduce){.rcard-media img{transition:none}}

/* =========================================================================
   Services page - matches the source design exactly
   ========================================================================= */
.accent{color:var(--accent)}
.svc-sec{padding-block:4rem}
@media (min-width:768px){.svc-sec{padding-block:6rem}}
.svc-grid{display:grid;gap:1px;background:var(--border)}
@media (min-width:768px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-cell{display:flex;flex-direction:column;gap:1rem;background:var(--surface);padding:2rem}
.svc-icon{display:flex;height:2.75rem;width:2.75rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(201,167,71,.6);color:var(--accent)}
.svc-icon svg{width:20px;height:20px}
.svc-cell h2,.svc-cell h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;font-size:1.5rem;line-height:1.1;margin:0}
.svc-cell p{font-size:.875rem;line-height:1.6;color:var(--muted-foreground);margin:0}
.quote-sec{padding-block:5rem}
@media (min-width:768px){.quote-sec{padding-block:7rem}}
.cta-band{border-top:1px solid var(--border);background:var(--surface);padding-block:5rem}
@media (min-width:768px){.cta-band{padding-block:7rem}}
.cta-box{border:1px solid rgba(201,167,71,.4);background:var(--background);padding:2.5rem}
@media (min-width:768px){.cta-box{padding:3.5rem}}
.cta-box-grid{display:grid;gap:1.5rem;align-items:center}
@media (min-width:768px){.cta-box-grid{grid-template-columns:8fr 4fr}}
.cta-box h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(2.25rem,4vw,3rem);margin:1rem 0 0}
.cta-box .cta-box-text{max-width:36rem;margin:1rem 0 0;color:var(--muted-foreground)}
.cta-box-action{display:flex}
@media (min-width:768px){.cta-box-action{justify-content:flex-end}}

/* =========================================================================
   About page - matches the source design exactly
   ========================================================================= */
.about-lede{max-width:48rem}
.mission-split{display:grid;gap:3rem;align-items:center;padding-block:4rem}
@media (min-width:768px){.mission-split{grid-template-columns:1fr 1fr;padding-block:6rem}}
.mission-media img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;display:block}
.mission-h2{font-size:clamp(2.25rem,4vw,3rem)}
.mission-text{margin:1.5rem 0 0;font-size:1rem;line-height:1.7;color:var(--muted-foreground)}
.mission-text + .mission-text{margin-top:1rem}
.quote-sec-surface{background:var(--surface)}
.lead-sec{border-top:1px solid var(--border);background:var(--surface);padding-block:5rem}
@media (min-width:768px){.lead-sec{padding-block:6rem}}
.lead-h2{font-size:clamp(2.25rem,4vw,3rem)}
.lead-grid{margin-top:3rem;display:grid;gap:1.25rem}
@media (min-width:768px){.lead-grid{grid-template-columns:1fr 1fr}}
.lead-card{border:1px solid var(--border);background:var(--background);padding:2rem}
.lead-card h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1;font-size:1.875rem;margin:.75rem 0 0}
.lead-body{margin:1rem 0 0;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.stat-sec{padding-block:5rem}
@media (min-width:768px){.stat-sec{padding-block:6rem}}
.stat-tiles{display:grid;gap:2rem}
@media (min-width:768px){.stat-tiles{grid-template-columns:repeat(3,1fr)}}
.stat-tile{border:1px solid var(--border);background:var(--surface);padding:2rem}
.stat-tile-v{margin:.75rem 0 0;font-family:var(--font-display);font-weight:700;font-size:2.25rem;color:var(--foreground)}

/* =========================================================================
   Contact page - matches the source design exactly
   ========================================================================= */
.contact-grid{display:grid;gap:2.5rem;align-items:start;padding-block:4rem}
@media (min-width:768px){.contact-grid{grid-template-columns:5fr 7fr;padding-block:6rem}}
.info-cards{display:grid;gap:1.25rem}
.info-card{border:1px solid var(--border);background:var(--surface);padding:1.5rem}
.info-card-head{display:flex;align-items:center;gap:.75rem}
.info-icon{display:flex;height:2.25rem;width:2.25rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(201,167,71,.6);color:var(--accent)}
.info-icon svg{width:16px;height:16px}
.info-card-body{margin-top:1rem;font-size:.875rem;line-height:1.6;color:var(--foreground)}
.info-card-body a{color:var(--foreground)}
.info-card-body a:hover,.info-card-body a:focus-visible{color:var(--accent)}
.brief-panel{border:1px solid rgba(201,167,71,.4);background:var(--surface);padding:2rem}
@media (min-width:768px){.brief-panel{padding:2.5rem}}
.brief-h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(1.875rem,3vw,2.25rem);margin:1rem 0 0}
.brief-text{max-width:36rem;margin:.75rem 0 0;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.brief-action{margin:2rem 0 0}
.brief-sla{margin-top:2.5rem;border-top:1px solid rgba(30,31,34,.6);padding-top:1.5rem}
.brief-sla-v{margin:.5rem 0 0;font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--foreground)}
.brief-sla-v span{font-family:var(--font-sans);font-weight:400;font-size:1rem;color:var(--muted-foreground)}

/* =========================================================================
   Request Quote modal (Ananyoo Accessible Forms inside a native <dialog>)
   ========================================================================= */
.quote-modal{border:1px solid var(--border);background:var(--surface);color:var(--foreground);padding:0;max-width:46rem;width:calc(100% - 2rem)}
.quote-modal::backdrop{background:rgba(7,8,10,.8)}
.quote-modal-inner{position:relative;padding:2rem}
@media (min-width:768px){.quote-modal-inner{padding:2.5rem}}
.quote-modal-close{position:absolute;top:1rem;right:1rem;display:inline-flex;height:2.75rem;width:2.75rem;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--foreground);cursor:pointer}
.quote-modal-close:hover,.quote-modal-close:focus-visible{border-color:var(--accent);color:var(--accent)}
.quote-modal-close svg{width:16px;height:16px}
.quote-modal-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1;font-size:1.875rem;margin:.75rem 0 0}
.quote-modal-desc{margin:.75rem 0 0;font-size:.9rem;line-height:1.6;color:var(--muted-foreground)}
.quote-modal-form{margin-top:1.5rem}
.quote-modal-form label{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-foreground)}
/* !important guards: the forms plugin ships its own field styles which
   load after the theme and were turning the textarea white. */
.quote-modal-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.quote-modal-form textarea,.quote-modal-form select{width:100%;border:1px solid var(--border) !important;background:var(--background) !important;color:var(--foreground) !important;box-shadow:none !important;border-radius:0 !important;padding:.65rem .75rem;font-family:var(--font-sans);font-size:.9rem;margin-top:.35rem}
.quote-modal-form input:focus,.quote-modal-form textarea:focus,.quote-modal-form select:focus{border-color:var(--accent) !important;outline:2px solid var(--accent);outline-offset:1px}
/* The dialog already has its own heading - hide the form's inner title */
.quote-modal-form h1,.quote-modal-form h2,.quote-modal-form h3,.quote-modal-form h4{display:none}
/* Compact message box: about 2-3 rows */
.quote-modal-form textarea{height:5.25rem !important;min-height:5.25rem !important;resize:vertical}
/* Footer row: the captcha block takes the left grid column and the
   button block the right one, so they share a single line without any
   DOM re-ordering (safer for the Cloudflare widget). */
.quote-modal-form form>*:has([type=submit]),.quote-modal-form form>*:has(button[type=submit]),.quote-modal-form form>*:has(button:not([type])){display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap}
@supports selector(:has(p)){
	@media (min-width:640px){
		.quote-modal-form form>*:has(.cf-turnstile),.quote-modal-form form>*:has([data-sitekey]),.quote-modal-form form>*:has(iframe){grid-column:1;align-self:center;margin:0}
		.quote-modal-form form>*:has([type=submit]),.quote-modal-form form>*:has(button[type=submit]),.quote-modal-form form>*:has(button:not([type])){grid-column:2;align-self:center;margin:0}
	}
}
.quote-modal-cancel{display:inline-flex;align-items:center;font-family:var(--font-sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.875rem 1.5rem;border:1px solid var(--border);background:transparent;color:var(--foreground);cursor:pointer;transition:all .15s}
.quote-modal-cancel:hover,.quote-modal-cancel:focus-visible{border-color:var(--accent);color:var(--accent)}
.quote-modal-form p{margin:0 0 1rem}
.quote-modal-form input[type=submit],.quote-modal-form button[type=submit]{display:inline-flex;align-items:center;font-family:var(--font-sans);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.875rem 1.5rem;border:1px solid var(--accent);background:var(--accent);color:#111;cursor:pointer;transition:filter .15s}
.quote-modal-form input[type=submit]:hover,.quote-modal-form button[type=submit]:hover{filter:brightness(1.1)}
.quote-modal-form input[type=submit]:focus-visible,.quote-modal-form button[type=submit]:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}
/* Gold required-marker, like the original */
.quote-modal-form .required,.quote-modal-form abbr[title],.quote-modal-form label span{color:var(--accent);text-decoration:none}
/* Two-column field layout like the original popup: short fields pair up,
   anything holding a textarea, submit button or captcha spans full width.
   Markup-agnostic via :has(); older browsers keep the single column. */
@supports selector(:has(p)){
	@media (min-width:640px){
		.quote-modal-form form{display:grid;grid-template-columns:1fr 1fr;column-gap:1.25rem;align-items:start}
		.quote-modal-form form>*:has(textarea),
		.quote-modal-form form>*:has(fieldset),
		.quote-modal-form form>fieldset,
		.quote-modal-form form>*:not(:has(input)):not(:has(select)):not(:has(textarea)):not(:has(iframe)):not(:has([data-sitekey])):not(:has(.cf-turnstile)):not(:has(button)){grid-column:1/-1}
	}
}

/* =========================================================================
   Training kit detail page - matches the source design exactly
   ========================================================================= */
.phero-sub{margin:.75rem 0 0;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--accent)}
@media (min-width:768px){.phero-sub{font-size:1.5rem}}
.phero-stats{margin-top:2rem;display:grid;gap:.75rem;max-width:48rem}
@media (min-width:768px){.phero-stats{grid-template-columns:1fr 1fr}}
.phero-stat{border:1px solid rgba(30,31,34,.6);background:rgba(15,17,19,.6);backdrop-filter:blur(8px);padding:.75rem 1rem}
.phero-stat-v{margin:.25rem 0 0;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--foreground)}
.phero-stat-v.is-accent{color:var(--accent)}
.flow-band{border-bottom:1px solid var(--border);padding-block:2.5rem}
@media (min-width:768px){.flow-band{padding-block:3.5rem}}
.flow-list{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem .5rem}
.flow-item{display:flex;align-items:center;gap:.5rem}
.flow-step{border:1px solid rgba(201,167,71,.5);background:var(--surface);padding:.5rem 1rem;font-family:var(--font-display);font-weight:700;font-size:1.125rem;color:var(--foreground)}
.flow-item svg{width:16px;height:16px;color:var(--accent);flex:none}
.kit-sec{padding-block:4rem}
@media (min-width:768px){.kit-sec{padding-block:5rem}}
.kit-sec .sec-h2{font-size:clamp(1.875rem,4vw,3rem)}
.kit-grid{margin-top:2rem;display:grid;gap:1.25rem;align-items:start}
@media (min-width:768px){.kit-grid{grid-template-columns:1fr 1fr}}
.plist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.875rem}
.plist li{display:flex;gap:.75rem;border-bottom:1px solid rgba(30,31,34,.6);padding-bottom:.5rem;color:var(--foreground)}
.plist li:last-child{border-bottom:0;padding-bottom:0}
.plist .mark{color:var(--accent);font-family:var(--font-mono);font-size:10px;padding-top:.2rem;flex:none}
.skill-sec{border-top:1px solid var(--border);background:var(--surface)}
.skill-grid{margin-top:2rem;display:grid;gap:1rem}
@media (min-width:768px){.skill-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.skill-grid{grid-template-columns:repeat(3,1fr)}}
.skill-card{border:1px solid var(--border);background:var(--background);padding:1.25rem}
.skill-card b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--foreground)}
.skill-card p{margin:.5rem 0 0;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.why-grid{margin-top:2rem;display:grid;gap:1rem}
@media (min-width:768px){.why-grid{grid-template-columns:1fr 1fr}}
.why-cell{border-left:2px solid var(--accent);background:rgba(15,17,19,.4);padding:1.5rem}
.why-cell p{margin:.5rem 0 0;font-size:.875rem;line-height:1.6;color:var(--foreground)}
@media (min-width:768px){.why-cell p{font-size:1rem}}
.aud-sec{border-top:1px solid var(--border);background:var(--surface)}
.aud-grid{display:grid;gap:2rem;align-items:start}
@media (min-width:768px){.aud-grid{grid-template-columns:5fr 7fr}}
.aud-grid .sec-h2{font-size:clamp(1.875rem,4vw,3rem)}
.aud-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:768px){.aud-list{grid-template-columns:1fr 1fr}}
.aud-list li{border:1px solid var(--border);background:var(--background);padding:1rem;font-size:.875rem;color:var(--foreground)}
.aud-list .dot{color:var(--accent);font-family:var(--font-mono);font-size:10px;margin-right:.5rem}
.pkg-grid{display:grid;gap:1.5rem;align-items:start;padding-block:4rem}
@media (min-width:768px){.pkg-grid{grid-template-columns:7fr 5fr;padding-block:5rem}}
.inv-price{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.875rem;color:var(--accent)}
.inv-duration{margin:.25rem 0 0}
.inv-list{margin-top:1.25rem}
.kit-photo{padding-bottom:4rem}
@media (min-width:768px){.kit-photo{padding-bottom:6rem}}
.kit-photo img{aspect-ratio:21/9;width:100%;height:auto;object-fit:cover;display:block}

/* =========================================================================
   Detail pages (product / training single)
   ========================================================================= */
.detail-hero{display:grid;gap:2.5rem;align-items:start}
@media (min-width:768px){.detail-hero{grid-template-columns:6fr 6fr}}
.detail-hero h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(2.25rem,5vw,3.5rem);line-height:.95;margin:1rem 0}
.spec-table{width:100%;border-collapse:collapse;font-size:.875rem}
.spec-table th,.spec-table td{text-align:left;padding:.65rem 0;border-bottom:1px solid var(--border);vertical-align:top}
.spec-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);font-weight:500;width:45%}
.spec-table td{color:var(--foreground)}
.variant{border:1px solid var(--border);background:var(--surface);padding:1.5rem;margin-top:1.5rem}
.variant h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.375rem;margin:0 0 .25rem}
.variant .role{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase;margin:0 0 1rem}
.variant-bullets{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.variant-bullets li{display:flex;gap:.6rem;font-size:.875rem}
.variant-bullets .dot{color:var(--accent);font-family:var(--font-mono);font-size:10px;padding-top:.2rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.chip{border:1px solid var(--border);background:var(--surface);padding:.4rem .7rem;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted-foreground)}
.mission-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.mission-list li{display:flex;gap:.6rem;font-size:.9rem}
.mission-list .dot{color:var(--accent);font-family:var(--font-mono);font-size:10px;padding-top:.2rem}

.price-plate{border:1px solid rgba(201,167,71,.4);background:var(--surface);padding:1.5rem}
.price-plate .price{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--accent);margin:.25rem 0 0}

/* Breadcrumb */
.crumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;display:flex;flex-wrap:wrap;gap:.4rem;color:var(--muted-foreground);padding:0;margin:0;list-style:none}
.crumbs a{color:var(--accent)}
.crumbs li{display:flex;gap:.4rem;align-items:center}

/* =========================================================================
   Content pages
   ========================================================================= */
.prose{max-width:48rem}
.prose h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.75rem;margin:2rem 0 .75rem}
.prose h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.35rem;margin:1.5rem 0 .5rem}
.prose p{margin:0 0 1rem}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.25rem}
.prose li{margin-bottom:.4rem}
.prose img{border:1px solid var(--border);margin:1rem 0}

/* Team (about) */
.team-grid{display:grid;gap:2rem}
@media (min-width:768px){.team-grid{grid-template-columns:1fr 1fr}}
.team-card{border:1px solid var(--border);background:var(--surface)}
.team-card .hud{border:none}
.team-body{padding:1.5rem}
.team-body h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.5rem;margin:0}
.team-body .role{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin:.35rem 0 .75rem}

/* Contact */
.contact-grid{display:grid;gap:2.5rem}
@media (min-width:768px){.contact-grid{grid-template-columns:5fr 7fr}}
.contact-tile{border:1px solid var(--border);background:var(--surface);padding:1.5rem;display:grid;gap:.35rem}
.contact-tile + .contact-tile{margin-top:1rem}
.contact-tile .label{color:var(--accent)}
.contact-tile a{color:var(--foreground)}
.contact-tile a:hover{color:var(--accent)}

/* =========================================================================
   Footer
   ========================================================================= */
.site-footer{border-top:1px solid var(--border);background:var(--surface)}
.footer-top{display:grid;gap:2.5rem;padding-block:3.5rem}
@media (min-width:768px){.footer-top{grid-template-columns:repeat(4,1fr)}}
.footer-brand{grid-column:span 1}
@media (min-width:768px){.footer-brand{grid-column:span 2}}
.footer-brand p{margin:1.5rem 0 0;max-width:28rem;font-size:.875rem;line-height:1.7;color:#b8b8b0}
.footer-brand .tricolor{margin-top:1.5rem}
.footer-col p.mono-kicker{margin-bottom:1rem}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.footer-col a:hover{color:var(--accent)}
.footer-col address{font-style:normal;font-size:.875rem;line-height:1.7;color:var(--muted-foreground)}
.footer-bottom{border-top:1px solid rgba(30,31,34,.6)}
.footer-bottom-row{display:flex;flex-direction:column;gap:.5rem;padding-block:1.25rem}
@media (min-width:768px){.footer-bottom-row{flex-direction:row;align-items:center;justify-content:space-between}}
/* Ananyoo credit inline with the copyright, quiet link (underline +
   slightly brighter than the surrounding grey, not the accent gold) */
.footer-credit a{color:#b4b4aa;text-decoration:underline;text-underline-offset:3px}
.footer-credit a:hover,.footer-credit a:focus-visible{color:var(--foreground)}

/* Utilities */
.stack-sm{display:grid;gap:.5rem}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}

/* Hero scroll cue */
.hero-cue{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem}
.hero-cue-line{width:1px;height:2.5rem;background:linear-gradient(to bottom,transparent,var(--accent));animation:tt-cue 2s ease-in-out infinite}
.hero-cue-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;color:var(--muted-foreground);text-transform:uppercase}
@keyframes tt-cue{0%,100%{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.hero-cue-line{animation:none}}

/* CTA fuller layout (two buttons + paragraph) */
.cta-text{margin-top:1rem;max-width:38rem;color:var(--muted-foreground)}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (min-width:768px){.cta-actions{justify-content:flex-end}}

/* =========================================================================
   Accessibility statement page (page-accessibility.php)
   ========================================================================= */
.a11y-sec{padding:3.5rem 0 5rem}
.a11y-prose{max-width:46rem}
.a11y-kicker{margin:3rem 0 0}
.a11y-prose .a11y-kicker:first-child{margin-top:0}
.a11y-prose h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1;font-size:clamp(1.5rem,3vw,2rem);margin:.75rem 0 0}
.a11y-prose p{margin:1rem 0 0;font-size:1rem;line-height:1.7;color:var(--muted-foreground)}
.a11y-prose ul{margin:1rem 0 0;padding-left:1.25rem;display:grid;gap:.6rem;list-style:square}
.a11y-prose li{font-size:1rem;line-height:1.6;color:var(--muted-foreground)}
.a11y-prose li::marker{color:var(--accent)}
.a11y-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.a11y-prose a:hover,.a11y-prose a:focus-visible{color:var(--foreground)}
.a11y-date{margin-top:3rem!important;font-size:.875rem!important;border-top:1px solid var(--border);padding-top:1.25rem}
