
:root{
  /* ===== GTSD Design Tokens ===== */
  /* Colors */
  --gtsd-navy-950:#051426;
  --gtsd-navy-900:#071a33;
  --gtsd-navy-850:#0a2446;
  --gtsd-navy-800:#0c2c57;
  --gtsd-blue-700:#123563;
  --gtsd-blue-600:#1554a5;
  --gtsd-blue-500:#1f6feb;
  --gtsd-blue-300:#8fb0d7;
  --gtsd-silver-400:#9fb7d9;
  --gtsd-silver-300:#c9ced6;
  --gtsd-silver-200:#d8e2ef;
  --gtsd-white:#ffffff;
  --gtsd-text:#0e1726;
  --gtsd-text-secondary:#33475b;
  --gtsd-text-muted:#5f6b7a;
  --gtsd-surface:#ffffff;
  --gtsd-surface-raised:#f5f7fa;
  --gtsd-surface-light:#f8fafc;
  --gtsd-border:#d9dee7;
  --gtsd-border-strong:#cbd3df;
  --gtsd-success:#1a7a44;
  --gtsd-success-surface:#e8f6ee;
  --gtsd-warning:#8a6512;
  --gtsd-warning-surface:#fdf3d8;
  --gtsd-danger:#a3271f;
  --gtsd-danger-surface:#fdecec;

  /* Spacing scale */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem;

  /* Layout */
  --content-max:1160px;
  --content-wide:1320px;
  --section-space:5rem;
  --section-space-sm:3rem;
  --header-height:82px;

  /* Radius */
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:18px;

  /* Shadows */
  --shadow-sm:0 4px 14px rgba(7,26,51,.08);
  --shadow-md:0 14px 40px rgba(7,26,51,.12);
  --shadow-lg:0 24px 60px rgba(7,26,51,.18);

  /* Controls */
  --control-height:52px;
  --control-height-sm:40px;

  /* Legacy short names — every existing rule in this file already
     uses these, so aliasing them to the token system above means the
     whole site inherits the new palette without rewriting every
     declaration. New rules should prefer the --gtsd-* names directly. */
  --navy:var(--gtsd-navy-900);
  --navy2:var(--gtsd-navy-800);
  --blue:var(--gtsd-blue-500);
  --silver:var(--gtsd-silver-300);
  --ink:var(--gtsd-text);
  --muted:var(--gtsd-text-muted);
  --line:var(--gtsd-border);
  --light:var(--gtsd-surface-raised);
  --white:var(--gtsd-white);
  --shadow:var(--shadow-md);
  --radius:var(--radius-lg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--gtsd-text);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--content-max),92%);margin:auto}
.container-wide{width:min(var(--content-wide),94%);margin:auto}

/* ===== Typography system ===== */
.text-display{font-family:Montserrat,Inter,sans-serif;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;letter-spacing:-.04em;font-weight:800}
.text-h1{font-family:Montserrat,Inter,sans-serif;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.02em;font-weight:800}
.text-h2{font-family:Montserrat,Inter,sans-serif;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.1;font-weight:800}
.text-h3{font-family:Montserrat,Inter,sans-serif;font-size:1.3rem;line-height:1.2;font-weight:800}
.text-h4{font-family:Montserrat,Inter,sans-serif;font-size:1.08rem;line-height:1.3;font-weight:700}
.text-body-lg{font-size:1.12rem;line-height:1.6}
.text-body{font-size:1rem;line-height:1.6}
.text-body-sm{font-size:.9rem;line-height:1.55}
.text-caption{font-size:.8rem;line-height:1.4;color:var(--gtsd-text-muted)}
.text-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--gtsd-text-muted)}
h1,h2,h3{max-width:44ch}
p{max-width:70ch}
.hero h1,.text-display,.hero p,.hero-copy p{max-width:none}

.topbar{background:var(--gtsd-navy-950);color:#d7deea;font-size:.86rem;padding:.48rem 0;text-align:center;letter-spacing:.06em}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--gtsd-border);height:var(--header-height)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem;min-width:230px}
.brand img.logo-icon{width:44px;height:44px;object-fit:contain}
.brand-text strong{display:block;font-size:1.25rem;letter-spacing:.18em;color:var(--gtsd-navy-900)}
.brand-text span{display:block;font-size:.72rem;color:var(--gtsd-text-muted);letter-spacing:.09em}
.nav-links{display:flex;align-items:center;gap:1.15rem;font-size:.92rem;font-weight:700}
.nav-links a{padding:.3rem 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--gtsd-blue-500)}
.nav-links a[aria-current="page"]{color:var(--gtsd-blue-500);border-bottom-color:var(--gtsd-blue-500)}

/* ===== Button system: Primary / Secondary / Tertiary / Danger ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--control-height-sm);padding:.9rem 1.15rem;border-radius:var(--radius-sm);font-weight:800;letter-spacing:.02em;font-size:.95rem;border:1px solid transparent;transition:.15s ease;cursor:pointer}
.btn-primary{background:var(--gtsd-navy-900);color:#fff}
.btn-primary:hover{background:var(--gtsd-blue-500);transform:translateY(-1px)}
.btn-secondary{background:var(--gtsd-surface-raised);color:var(--gtsd-navy-900);border-color:var(--gtsd-border-strong)}
.btn-secondary:hover{background:var(--gtsd-border);transform:translateY(-1px)}
.btn-tertiary{background:transparent;color:var(--gtsd-blue-500);padding-left:.3rem;padding-right:.3rem;font-weight:700}
.btn-tertiary:hover{text-decoration:underline}
.btn-danger{background:var(--gtsd-danger);color:#fff}
.btn-danger:hover{background:#8a1f19;transform:translateY(-1px)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none}
.btn:focus-visible{outline:3px solid var(--gtsd-blue-500);outline-offset:2px}
/* Legacy aliases already used across every existing page — kept
   pointing at the new system so nothing needs to be renamed. */
.btn-outline{border-color:var(--gtsd-navy-900);color:var(--gtsd-navy-900);background:#fff}
.btn-outline:hover{background:var(--gtsd-surface-raised)}
.btn-light{background:#fff;color:var(--gtsd-navy-900)}
.btn-light:hover{background:var(--gtsd-surface-raised)}

/* ===== Status badge system ===== */
.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border:1px solid transparent}
.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.status-open,.status-ready,.status-paid,.status-complete{background:var(--gtsd-success-surface);color:var(--gtsd-success)}
.status-pending,.status-setup_required,.status-hybrid{background:var(--gtsd-warning-surface);color:var(--gtsd-warning)}
.status-full,.status-closed,.status-refunded,.status-failed,.status-cancelled{background:var(--gtsd-danger-surface);color:var(--gtsd-danger)}
.status-online{background:#eaf2ff;color:var(--gtsd-blue-600)}
.status-in_person{background:var(--gtsd-surface-raised);color:var(--gtsd-text-secondary)}

/* ===== Surface / panel system ===== */
.surface{background:var(--gtsd-surface);border:1px solid var(--gtsd-border);border-radius:var(--radius-md)}
.surface-raised{background:var(--gtsd-surface-raised);border:1px solid var(--gtsd-border);border-radius:var(--radius-md)}
.panel{padding:var(--space-6);background:var(--gtsd-surface);border:1px solid var(--gtsd-border);border-radius:var(--radius-md)}
.callout{padding:var(--space-5) var(--space-6);border-left:3px solid var(--gtsd-blue-500);background:var(--gtsd-surface-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.data-card{padding:var(--space-5);background:var(--gtsd-surface);border:1px solid var(--gtsd-border);border-radius:var(--radius-sm)}

.hero{background:linear-gradient(115deg,var(--gtsd-navy-950) 0%,var(--gtsd-navy-850) 58%,var(--gtsd-blue-700) 100%);color:#fff;padding:6.5rem 0 5rem;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -40% 45%;height:520px;background:radial-gradient(circle,rgba(31,111,235,.24),transparent 62%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.22em;font-weight:800;color:var(--gtsd-silver-400)}
.hero h1,.page-hero h1{font-family:Montserrat,Inter,sans-serif;font-size:clamp(2.7rem,6vw,5.4rem);line-height:.98;margin:.8rem 0 1.2rem;letter-spacing:-.04em}
.hero p{font-size:1.18rem;color:var(--gtsd-silver-200);max-width:700px}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:2.2rem;box-shadow:0 20px 70px rgba(0,0,0,.2);max-width:240px;margin-inline:auto;display:flex;align-items:center;justify-content:center}
.hero-card img{width:100%;max-width:160px;height:auto;display:block}
.section{padding:var(--section-space) 0}
.section.alt{background:var(--gtsd-surface-raised)}
.section.dark{background:var(--gtsd-navy-900);color:white}
.section-head{max-width:760px;margin-bottom:2.2rem}
.section-head h2{font-family:Montserrat,Inter,sans-serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;margin:.4rem 0 1rem;color:inherit}
.section-head p{color:var(--gtsd-text-muted);font-size:1.06rem}
.dark .section-head p{color:#c8d5e7}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.card{background:#fff;border:1px solid var(--gtsd-border);border-radius:var(--radius-lg);padding:1.55rem;box-shadow:var(--shadow-sm)}
.card h3{margin:.2rem 0 .6rem;color:var(--gtsd-navy-900);font-family:Montserrat,Inter,sans-serif}
.card p{color:var(--gtsd-text-muted)}
.division-card{padding:1.7rem;min-height:250px;display:flex;flex-direction:column}
.division-lockup{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem}
.division-lockup img{width:40px;height:40px;object-fit:contain}
.division-lockup strong{font-size:1.08rem;letter-spacing:.08em;color:var(--gtsd-navy-900)}
.division-lockup span{display:block;font-size:.8rem;color:var(--gtsd-text-muted);letter-spacing:.12em;text-transform:uppercase}
.division-card .spacer{flex:1}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.pillar{background:#0d2b51;border:1px solid #23466f;border-radius:14px;padding:1.2rem}
.pillar b{display:block;color:#fff;margin-bottom:.35rem}
.pillar span{color:#c8d7e9;font-size:.93rem}
.cycle{margin-top:1.5rem;border:1px solid #34577f;border-radius:12px;padding:1rem;text-align:center;color:#dce9f8;font-weight:800;letter-spacing:.03em}
.audience{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.audience .card{min-height:155px}
.audience .card h3{font-size:1.03rem}
.assessment{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.checklist{display:grid;gap:.7rem;margin:1rem 0 1.7rem}
.checklist div:before{content:"✓";color:var(--gtsd-blue-500);font-weight:900;margin-right:.65rem}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.course-card{position:relative}
.badge{display:inline-block;padding:.35rem .55rem;border-radius:999px;background:#eaf2ff;color:var(--gtsd-blue-600);font-size:.75rem;font-weight:800;margin-bottom:.7rem}
.course-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.book-card{background:#fff;border-radius:16px;padding:1.4rem;border:1px solid #e4e8ef}
.book-placeholder{aspect-ratio:2/3;border-radius:10px;background:linear-gradient(145deg,var(--gtsd-navy-900),#163d6d);display:grid;place-items:center;color:#fff;text-align:center;padding:1rem;font-family:Montserrat,Inter,sans-serif;font-weight:800;margin-bottom:1rem}
.cta{background:linear-gradient(135deg,var(--gtsd-navy-900),var(--gtsd-navy-800));color:#fff;border-radius:24px;padding:2.2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.page-hero{background:linear-gradient(120deg,var(--gtsd-navy-950),var(--gtsd-navy-800));color:white;padding:4.8rem 0}
.page-hero .hero-photo-strip,.hero .hero-photo-strip{margin-top:2.2rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);max-width:900px}
.page-hero .hero-photo-strip img,.hero .hero-photo-strip img{width:100%;height:auto;display:block}
.hero .hero-photo-strip-wide{max-width:100%}
.hero-copy{max-width:720px}
.page-hero p{color:var(--gtsd-silver-200);max-width:760px;font-size:1.12rem}
.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem}
.contact-form{background:#fff;border:1px solid var(--gtsd-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ===== Form control system ===== */
label{display:block;font-weight:700;margin:.8rem 0 .35rem;color:var(--gtsd-text)}
label .optional{font-weight:500;color:var(--gtsd-text-muted);text-transform:none;letter-spacing:0}
input,select,textarea{width:100%;min-height:var(--control-height-sm);padding:.85rem 1rem;border:1px solid var(--gtsd-border-strong);border-radius:var(--radius-sm);font:inherit;background:#fff;color:var(--gtsd-text);transition:border-color .15s,box-shadow .15s}
textarea{min-height:150px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:var(--gtsd-text-muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gtsd-blue-500);box-shadow:0 0 0 3px rgba(31,111,235,.15)}
input:disabled,select:disabled,textarea:disabled{background:var(--gtsd-surface-raised);color:var(--gtsd-text-muted);cursor:not-allowed}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--gtsd-danger)}
input.is-success,select.is-success,textarea.is-success{border-color:var(--gtsd-success)}
.field-help{display:block;font-size:.82rem;color:var(--gtsd-text-muted);margin-top:.35rem}
.field-error{display:block;font-size:.82rem;color:var(--gtsd-danger);margin-top:.35rem;font-weight:700}
input[type="checkbox"],input[type="radio"]{width:auto;min-height:0;display:inline-block;accent-color:var(--gtsd-blue-500)}

.notice{font-size:.85rem;color:var(--gtsd-text-muted);margin-top:.7rem}
.footer{background:var(--gtsd-navy-950);color:#c7d2e1;padding:3rem 0 1.4rem}
.footer-grid{display:grid;grid-template-columns:1fr repeat(6,1fr);gap:1.6rem}
.footer h3{color:white;margin-top:0;font-size:.92rem;text-transform:uppercase;letter-spacing:.1em}
.footer a{display:block;margin:.4rem 0;color:#c7d2e1;overflow-wrap:anywhere}
.footer a:hover,.footer a:focus-visible{color:#fff}
.footer-bottom{border-top:1px solid var(--gtsd-navy-800);margin-top:2rem;padding-top:1.2rem;font-size:.85rem;color:#8fa0b7}
.mobile-toggle{display:none;border:0;background:none;font-size:1.6rem;color:var(--gtsd-navy-900);min-height:var(--control-height-sm);min-width:var(--control-height-sm)}
@media(max-width:900px){
 .nav-links{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:white;padding:1.2rem 4%;border-bottom:1px solid var(--gtsd-border);flex-direction:column;align-items:flex-start;max-height:calc(100vh - var(--header-height));overflow-y:auto}
 .nav-links.open{display:flex}
 .mobile-toggle{display:block}
 .nav>.btn{display:none}
 .hero-grid,.assessment,.form-wrap{grid-template-columns:1fr}
 .grid-3,.grid-4,.pillars,.audience,.course-grid,.book-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(3,1fr)}
 .hero{padding-top:4.5rem}
}
@media(max-width:620px){
 .grid-3,.grid-4,.pillars,.audience,.course-grid,.book-grid,.form-row{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}
 .brand-text span{display:none}
 .hero h1,.page-hero h1{font-size:2.8rem}
 .cta{flex-direction:column;align-items:flex-start}
}
body.nav-open{overflow:hidden}

/* Accessibility: skip link */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gtsd-navy-900);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 8px 0;z-index:999;font-weight:800}
.skip-link:focus{left:0}

/* Accessibility: visually hidden but screen-reader-accessible heading,
   used where a section needs a real heading level for document
   outline/navigation but no visible label is wanted. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Accessibility: visible focus states for keyboard users */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gtsd-blue-500);outline-offset:2px;
}

/* Respect reduced-motion preference */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* Contact form status banner */
.form-status{border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.2rem;font-weight:700}
.form-status-success{background:var(--gtsd-success-surface);color:var(--gtsd-success);border:1px solid #bfe6cd}
.form-status-error{background:var(--gtsd-danger-surface);color:var(--gtsd-danger);border:1px solid #f3c6c3}

/* Publishing: disabled "coming soon" placeholder buttons */
.btn-soon{opacity:.6;cursor:not-allowed;user-select:none}
.btn-soon em{font-style:normal;font-weight:600;font-size:.82em;display:block;margin-top:.15rem}

/* FAQ accordion — native <details>/<summary>, no JS required */
.faq{max-width:800px}
.faq details{border:1px solid var(--gtsd-border);border-radius:var(--radius-lg);padding:1.1rem 1.4rem;margin-bottom:.8rem;background:#fff}
.faq details[open]{border-color:#c3cee0}
.faq summary{cursor:pointer;font-weight:800;color:var(--gtsd-navy-900);font-family:Montserrat,Inter,sans-serif;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:1.3rem;color:var(--gtsd-blue-500);flex-shrink:0;font-weight:700}
.faq details[open] summary::after{content:'\2212'}
.faq details p{margin:.8rem 0 0;color:var(--gtsd-text-muted);line-height:1.6}

/* Real photography / brand imagery blocks */
.media-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);line-height:0}
.media-frame img{width:100%;height:auto;display:block}
.media-caption{margin-top:.9rem;color:var(--gtsd-text-muted);font-size:.95rem}
.assessment-media{display:flex;flex-direction:column}
.assessment-media .card{margin-top:1.2rem}

/* GLOTAC framework graphic: full framework visual on tablet/desktop;
   mobile relies on the always-present, fully readable pillar/cycle HTML below. */
.glotac-graphic{margin:2rem 0}
@media(max-width:700px){
  .glotac-graphic{display:none}
}

/* Full-width feature banner (training photo, publishing shot, consulting hero) */
.feature-banner{margin:2.2rem 0}
.feature-banner.tight{margin-top:0}

/* ===== Cohesive institutional finish ===== */
body{background:var(--gtsd-surface-light)}
.site-header{background:rgba(5,20,38,.97);border-bottom-color:rgba(159,183,217,.22);box-shadow:0 10px 30px rgba(2,10,20,.12)}
.site-header .brand-text strong{color:#fff}.site-header .brand-text span{color:var(--gtsd-silver-400)}
.site-header .nav-links{color:var(--gtsd-silver-200)}
.site-header .nav-links a:hover,.site-header .nav-links a:focus-visible,.site-header .nav-links a[aria-current="page"]{color:#fff;border-bottom-color:var(--gtsd-blue-300)}
.site-header .mobile-toggle{color:#fff}.site-header .btn-outline{background:transparent;color:#fff;border-color:var(--gtsd-blue-300)}.site-header .btn-outline:hover{background:rgba(255,255,255,.1)}
.hero,.page-hero{border-bottom:1px solid rgba(143,176,215,.3)}
.hero{padding:clamp(4.5rem,8vw,7rem) 0 clamp(4rem,7vw,6rem)}
.hero:before,.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 38%);pointer-events:none}
.hero-grid,.page-hero>.container{position:relative;z-index:1}
.section{background:#fff;border-bottom:1px solid var(--gtsd-border);padding:clamp(3.75rem,7vw,6.25rem) 0}
.section.alt{background:linear-gradient(145deg,#f3f6fa 0%,#f8fafc 55%,#edf3f9 100%)}
.section.dark{background:linear-gradient(135deg,var(--gtsd-navy-950),var(--gtsd-navy-800));border-bottom-color:#24446a}
.section-head{margin-bottom:clamp(2rem,4vw,3rem)}
.section-head h2{letter-spacing:-.035em}.section-head p{font-size:1.08rem;color:var(--gtsd-text-secondary)}
.card{border-radius:14px;box-shadow:none;border-color:var(--gtsd-border-strong);padding:1.75rem;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.card:hover{border-color:#aab9cc;transform:translateY(-2px);box-shadow:0 18px 42px rgba(7,26,51,.09)}
.course-card,.division-card{border-top:3px solid var(--gtsd-navy-800)}
.division-card{min-height:270px}.division-card .btn-tertiary{margin-top:1.2rem}
.eyebrow{color:var(--gtsd-blue-300)}.section .eyebrow{color:var(--gtsd-blue-600)}
.cta{border-radius:16px;border:1px solid #2b507b;box-shadow:0 22px 55px rgba(5,20,38,.2);padding:clamp(1.6rem,4vw,2.6rem)}
.media-frame,.hero-photo-strip{border:1px solid rgba(159,183,217,.28)}
.footer{border-top:1px solid #25405f}
@media(max-width:900px){.site-header .nav-links{background:var(--gtsd-navy-950);border-bottom-color:#24446a}.site-header .nav-links a{width:100%;padding:.75rem 0}.hero-grid{gap:2.5rem}}
@media(max-width:620px){
 :root{--header-height:64px}
 .topbar{display:none}
 .site-header{height:64px;box-shadow:none}
 .nav{min-height:64px}
 .brand{gap:.6rem}
 .brand img.logo-icon{width:34px;height:34px}
 .brand-text strong{font-size:1.05rem;letter-spacing:.2em}
 .mobile-toggle{font-size:1.35rem}
 .hero{padding:2.9rem 0 3.25rem}
 .hero .eyebrow{font-size:.7rem;letter-spacing:.17em;line-height:1.5}
 .hero h1{font-size:clamp(2.2rem,10.2vw,2.65rem);line-height:1.01;letter-spacing:-.045em;margin:.65rem 0 1rem}
 .page-hero{padding:3.25rem 0}
 .page-hero h1{font-size:clamp(2rem,9.5vw,2.45rem);line-height:1.04}
 .hero p,.page-hero p{font-size:1rem;line-height:1.55}
 .hero-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.4rem}
 .hero-actions .btn{width:auto;margin:0!important;min-height:46px;padding:.75rem .9rem;font-size:.82rem}
 .hero-actions .btn-outline{border-color:transparent!important;padding-inline:.35rem;text-decoration:underline;text-underline-offset:4px}
 .hero .hero-photo-strip-wide{display:none}
 .hero-card{display:none}
 .section{padding:3.25rem 0}
 .section-head h2{font-size:clamp(1.8rem,8.5vw,2.35rem);line-height:1.08}
 .card{padding:1.35rem}.card:hover{transform:none}.cta{border-radius:12px}
}
@media(max-width:360px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}}

/* ===== GTSD Quiet-Future Enterprise System ===== */
:root{
 --gtsd-electric:#4d9dff;
 --gtsd-ice:#b9d6f5;
 --gtsd-metal:#aebdce;
 --gtsd-canvas:#f3f6f9;
 --gtsd-grid:rgba(143,176,215,.10);
 --header-height:72px;
 --radius-lg:12px;
 --shadow-md:0 20px 55px rgba(4,18,35,.10);
}
body{background:var(--gtsd-canvas);letter-spacing:-.008em}
.topbar{display:none}
.container{width:min(var(--content-max),calc(100% - 48px))}

/* A compact, executive navigation bar */
.site-header{height:var(--header-height);background:rgba(4,17,33,.94);border-bottom:1px solid rgba(174,189,206,.22);box-shadow:none;backdrop-filter:blur(18px) saturate(130%)}
.nav{min-height:var(--header-height);gap:1.3rem}
.brand{min-width:176px;gap:.72rem}
.brand img.logo-icon{width:38px;height:38px;filter:drop-shadow(0 0 14px rgba(77,157,255,.12))}
.brand-text strong{font-size:1.08rem;letter-spacing:.25em}
.brand-text span{font-size:.58rem;letter-spacing:.12em;color:#8fa5bd}
.nav-links{gap:1rem;font-size:.76rem;letter-spacing:.035em}
.nav-links a{padding:1.55rem 0 1.42rem;border-bottom-width:1px;color:#b9c7d8;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"]{color:#fff;border-bottom-color:var(--gtsd-electric)}
.site-header .nav>.btn{min-height:38px;padding:.62rem .8rem;border-radius:4px;background:transparent;border-color:#557390;color:#fff;font-size:.76rem;white-space:nowrap}
.site-header .nav>.btn:hover{background:#fff;color:var(--gtsd-navy-950);border-color:#fff}

/* Precision controls */
.btn{border-radius:5px;min-height:46px;padding:.82rem 1.05rem;letter-spacing:.01em;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.btn-primary{background:linear-gradient(135deg,#0b2c55,#124b87);border-color:#315f8c;box-shadow:0 10px 26px rgba(7,36,72,.14)}
.btn-primary:hover{background:linear-gradient(135deg,#123d71,#1761aa);box-shadow:0 14px 30px rgba(7,36,72,.22)}
.btn-light{background:linear-gradient(180deg,#fff,#eaf0f6);border-color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.btn-outline{background:transparent;border-color:#4d6680;color:inherit}
.btn-outline:hover{background:rgba(255,255,255,.07);border-color:#a8c5e3;color:inherit}

/* Homepage command hero */
.hero{min-height:650px;padding:clamp(5.2rem,8vw,7.4rem) 0;background:
 radial-gradient(circle at 77% 38%,rgba(45,115,196,.22),transparent 26%),
 linear-gradient(90deg,var(--gtsd-grid) 1px,transparent 1px),
 linear-gradient(0deg,var(--gtsd-grid) 1px,transparent 1px),
 linear-gradient(120deg,#03101f 0%,#071b35 52%,#0a2d58 100%);
 background-size:auto,72px 72px,72px 72px,auto;
 border-bottom:1px solid #284969
}
.hero:before{background:linear-gradient(110deg,rgba(255,255,255,.035),transparent 35%)}
.hero:after{inset:auto 5% -42% 46%;height:540px;background:radial-gradient(circle,rgba(60,145,241,.2),transparent 64%)}
.hero-command{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:clamp(3rem,6vw,6.5rem);position:relative;z-index:1}
.hero-copy{max-width:760px}
.hero .eyebrow{display:flex;align-items:center;gap:.8rem;color:#9fc5ee;font-size:.7rem;letter-spacing:.25em}
.hero .eyebrow:before{content:"";width:34px;height:1px;background:var(--gtsd-electric);box-shadow:0 0 10px rgba(77,157,255,.65)}
.hero h1{font-size:clamp(3.35rem,5.6vw,5.45rem);line-height:.94;letter-spacing:-.055em;margin:1rem 0 1.5rem;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 span:last-child{color:#d7e5f4}
.hero p{font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.7;color:#b9c9da;max-width:670px}
.hero-actions{margin-top:2rem;gap:.75rem}
.hero-actions .btn-outline{color:#d9e7f5;border-color:#587696}

.hero-system{position:relative;min-height:425px;border:1px solid rgba(161,190,220,.34);background:linear-gradient(145deg,rgba(12,39,72,.72),rgba(3,16,31,.88));box-shadow:0 32px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.07);padding:1.35rem;overflow:hidden}
.hero-system:before,.hero-system:after{content:"";position:absolute;pointer-events:none}
.hero-system:before{inset:12px;border:1px solid rgba(143,176,215,.12)}
.hero-system:after{width:200px;height:200px;border:1px solid rgba(77,157,255,.18);border-radius:50%;right:-100px;top:70px;box-shadow:0 0 0 32px rgba(77,157,255,.025),0 0 0 64px rgba(77,157,255,.018)}
.hero-system-head{display:flex;justify-content:space-between;gap:1rem;position:relative;z-index:1;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#8fa9c3}
.system-status{display:flex;align-items:center;gap:.45rem;color:#a9c7e7}
.system-status i{width:6px;height:6px;border-radius:50%;background:#4aa3ff;box-shadow:0 0 10px #4aa3ff}
.hero-system-mark{height:190px;display:grid;place-items:center;position:relative}
.hero-system-mark:before{content:"";position:absolute;width:180px;height:1px;background:linear-gradient(90deg,transparent,#5794cf,transparent)}
.hero-system-mark img{width:108px;opacity:.92;filter:grayscale(1) brightness(1.55) drop-shadow(0 14px 34px rgba(61,135,215,.24))}
.hero-system-divisions{position:relative;z-index:1;border-top:1px solid rgba(143,176,215,.22)}
.hero-system-divisions a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;min-height:52px;border-bottom:1px solid rgba(143,176,215,.16);color:#d7e4f1;font-size:.82rem;letter-spacing:.025em}
.hero-system-divisions a:after{content:"→";color:#679ed4;transition:transform .18s}
.hero-system-divisions a:hover:after{transform:translateX(3px)}
.hero-system-divisions b{font-size:.75rem;letter-spacing:.14em;color:#7897b6}
.hero-system-cycle{display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding-top:1rem;color:#8ba5bf;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;position:relative;z-index:1;white-space:nowrap}
.hero-system-cycle i{height:1px;flex:1;background:#365878}

/* Corporate content rhythm and geometry */
.section{padding:clamp(4.5rem,7vw,7rem) 0;background:#fff}
.section.alt{background:linear-gradient(135deg,#eef3f7 0%,#f8fafc 52%,#edf2f6 100%)}
.section-head{max-width:820px;margin-bottom:3rem}
.section-head .eyebrow{font-size:.67rem;letter-spacing:.24em}
.section-head h2{font-size:clamp(2.15rem,4vw,3.65rem);line-height:1.02;letter-spacing:-.052em;margin:.6rem 0 1.1rem;text-wrap:balance}
.section-head p{font-size:1.05rem;line-height:1.7;color:#536476}
.grid-3,.grid-4,.audience,.course-grid{gap:1px;background:#cbd5df;border:1px solid #cbd5df}
.grid-3>.card,.grid-4>.card,.audience>.card,.course-grid>.card{border:0;border-radius:0;margin:0}
.card{border-radius:8px;padding:1.65rem;background:rgba(255,255,255,.96)}
.card:hover{transform:translateY(-1px);border-color:#9fb5ca;box-shadow:0 16px 40px rgba(4,22,42,.08)}
.division-card{min-height:300px;border-top:2px solid #315f8c!important;padding:2rem}
.division-lockup{padding-bottom:1rem;border-bottom:1px solid #e0e6ec}
.division-lockup img{width:34px;height:34px;filter:grayscale(1)}
.division-card h3{font-size:1.28rem;line-height:1.3;margin-top:.6rem}
.media-frame{border-radius:8px;box-shadow:0 22px 55px rgba(4,18,35,.13);border-color:#b7c4d1}
.cta{border-radius:7px;background:
 linear-gradient(90deg,rgba(143,176,215,.08) 1px,transparent 1px),
 linear-gradient(135deg,#041326,#0a315e);background-size:56px 56px,auto;border-color:#335a7d}
.page-hero{position:relative;background:
 linear-gradient(90deg,rgba(143,176,215,.075) 1px,transparent 1px),
 linear-gradient(0deg,rgba(143,176,215,.075) 1px,transparent 1px),
 linear-gradient(120deg,#03101f,#092a51);background-size:72px 72px,72px 72px,auto;padding:clamp(4.5rem,7vw,6.5rem) 0}
.page-hero h1{font-size:clamp(2.8rem,5.3vw,4.8rem);letter-spacing:-.052em;text-wrap:balance}
.footer{background:#020d1a;padding-top:4.5rem}
.footer-grid{border-top:1px solid #29415b;padding-top:2rem}

@media(max-width:1120px){
 .site-header .nav>.btn{display:none}
 .nav-links{gap:.8rem;font-size:.78rem}
 .hero-command{grid-template-columns:1.05fr .95fr;gap:2.5rem}
}
@media(max-width:900px){
 .container{width:min(var(--content-max),calc(100% - 36px))}
 .site-header .nav-links{top:var(--header-height);background:rgba(3,15,29,.98);padding:1rem 18px 1.4rem}
 .site-header .nav-links a{padding:.85rem 0;font-size:.88rem}
 .hero{min-height:auto;padding:4.8rem 0}
 .hero-command{grid-template-columns:1fr;gap:3.2rem}
 .hero-system{min-height:390px;max-width:620px;width:100%}
}
@media(max-width:620px){
 :root{--header-height:62px}
 .container{width:calc(100% - 32px)}
 .site-header{height:62px}
 .nav{min-height:62px}
 .brand img.logo-icon{width:33px;height:33px}
 .brand-text strong{font-size:1rem}
 .hero{padding:3.55rem 0 3.2rem;background-size:auto,44px 44px,44px 44px,auto}
 .hero-command{gap:2.5rem}
 .hero .eyebrow{font-size:.75rem;letter-spacing:.16em}
 .hero h1{font-size:clamp(2.38rem,11vw,3.25rem);line-height:.96;margin:.9rem 0 1.15rem}
 .hero h1 span{display:inline}
 .hero h1 span:first-child:after{content:" ";}
 .hero p{font-size:.96rem;line-height:1.62}
 .hero-actions{align-items:stretch;flex-direction:column;gap:.6rem}
 .hero-actions .btn{width:100%;font-size:.86rem;min-height:48px;text-decoration:none}
 .hero-actions .btn-outline{border-color:#577593!important;padding:.75rem .9rem}
 .hero-system{min-height:0;padding:1rem}
 .hero-system-head{font-size:.72rem}
 .hero-system-mark{height:116px}
 .hero-system-mark img{width:72px}
 .hero-system-mark:before{width:130px}
 .hero-system-divisions a{min-height:46px;font-size:.76rem}
 .hero-system-cycle{display:none}
 .section{padding:4rem 0}
 .section-head{margin-bottom:2rem}
 .section-head h2{font-size:clamp(2rem,9vw,2.75rem)}
 .grid-3,.grid-4,.audience,.course-grid{display:grid;grid-template-columns:1fr}
 .division-card{min-height:245px}
 .card:hover{transform:none}
 .page-hero{padding:3.7rem 0;background-size:44px 44px,44px 44px,auto}
 .page-hero h1{font-size:clamp(2.35rem,10vw,3rem)}
 .footer{padding-top:3.5rem}
}

/* ===== Storefront ===== */
.store-nav{display:flex;align-items:center;gap:1.25rem;color:#c4d2e1;font-size:.82rem;font-weight:700}
.store-nav a[aria-current="page"]{color:#fff}
.cart-link{display:inline-flex;align-items:center;gap:.55rem}
.cart-link span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 .35rem;border:1px solid #54779b;background:#0e355f;color:#fff;font-size:.7rem}
.store-hero{min-height:430px;display:flex;align-items:center}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c6d1dc;border:1px solid #c6d1dc}
.product-card{background:#fff;min-width:0}
.product-image{aspect-ratio:1/1;background:#e9eef3;overflow:hidden;border-bottom:1px solid #d6dee6}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#06172b,#0c386b)}
.product-placeholder img{width:32%;height:auto;object-fit:contain;filter:grayscale(1) brightness(1.65);opacity:.75}
.product-content{padding:1.6rem}
.product-content h2{font-family:Montserrat,Inter,sans-serif;font-size:1.25rem;line-height:1.25;margin:.45rem 0 .7rem}
.product-content p{color:var(--gtsd-text-muted);min-height:4.7em}
.product-sku{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#67809a;font-weight:800}
.product-purchase{border-top:1px solid #dce3e9;margin-top:1.3rem;padding-top:1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.product-purchase>strong{font-size:1.18rem;color:var(--gtsd-navy-900)}
.store-empty{max-width:760px;border-left:3px solid #2f71b6;background:#eef3f8;padding:clamp(1.5rem,4vw,3rem)}
.store-empty>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.17em;color:#4d6d8e;font-weight:800}
.store-empty h2{font-family:Montserrat,Inter,sans-serif;margin:.55rem 0}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start}
.cart-items{border-top:1px solid #cbd5df}
.cart-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.5rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid #cbd5df}
.cart-item h2{font-family:Montserrat,Inter,sans-serif;font-size:1.1rem;margin:.25rem 0}
.cart-controls{display:flex;align-items:end;gap:.5rem}
.cart-controls label{font-size:.72rem;margin:0}
.cart-controls input{width:74px;min-height:42px;padding:.5rem}
.cart-controls .btn{min-height:42px;padding:.55rem .7rem;font-size:.75rem}
.narrow-flow{max-width:760px}
.confirmation-mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:1.3rem;border:1px solid #92b5d7;background:#eaf3fc;color:#14558f;font-size:1.6rem}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,1fr)}.cart-layout{grid-template-columns:1fr}.cart-layout .order-summary{position:static}}
@media(max-width:620px){.store-nav{gap:.8rem;font-size:.72rem}.product-grid{grid-template-columns:1fr}.product-content p{min-height:0}.cart-item{grid-template-columns:1fr}.cart-controls{flex-wrap:wrap}.cart-item>strong{font-size:1.15rem}.store-hero{min-height:360px}}

/* ===== GTSD MASTER ENTERPRISE SYSTEM v2 — "Security Department. Integrated." repositioning =====
   Centralized token override: redefines the existing --gtsd-* variables in place so every
   rule already written against them (buttons, cards, sections, nav) inherits the new dark
   enterprise palette without being rewritten individually. Headline font intentionally stays
   Inter (per spec: "Use Inter for most headings") rather than loading a second family. */
:root{
  --gtsd-black:#02070D;
  --gtsd-navy-950:#03101C;
  --gtsd-navy-900:#061725;
  --gtsd-navy-850:#091D2E;
  --gtsd-navy-800:#0D263A;
  --gtsd-blue-700:#00477A;
  --gtsd-blue-600:#006CC4;
  --gtsd-blue-500:#0796F6;
  --gtsd-blue-300:#35B8FF;
  --gtsd-silver-400:#C8D2DC;
  --gtsd-silver-300:#7F91A2;
  --gtsd-silver-200:#D9E1E8;
  --gtsd-gunmetal:#394B5A;
  --gtsd-bronze:#8B6841;
  --gtsd-bronze-light:#B38A58;
  --gtsd-white:#F4F7FA;
  --gtsd-text:#D9E1E8;
  --gtsd-text-secondary:#8FA2B5;
  --gtsd-text-muted:#63788B;
  --gtsd-surface:#061725;
  --gtsd-surface-raised:#091D2E;
  --gtsd-surface-light:#0D263A;
  --gtsd-border:rgba(57,75,90,.55);
  --gtsd-border-strong:rgba(94,141,176,.35);
  --gtsd-success:#27B36A;
  --gtsd-success-surface:rgba(39,179,106,.12);
  --gtsd-warning:#D8A33A;
  --gtsd-warning-surface:rgba(216,163,58,.12);
  --gtsd-danger:#D34B52;
  --gtsd-danger-surface:rgba(211,75,82,.12);
  --radius-lg:12px;
  --shadow-md:0 14px 36px rgba(0,0,0,.30);
}
h1,h2,h3,h4,.text-display,.text-h1,.text-h2,.text-h3,.text-h4,
.hero h1,.page-hero h1,.section-head h2,.card h3,.division-card h3,
.division-lockup strong,.pillar b,.footer h3,.faq summary,
.cart-item h2,.product-content h2,.book-placeholder{font-family:Inter,Arial,sans-serif}

body{background:var(--gtsd-navy-950);color:var(--gtsd-text)}

/* ---- Sections: full dark enterprise environment, not alternating white/dark ---- */
.section{background:var(--gtsd-navy-950);background-image:none;border-bottom:1px solid rgba(57,75,90,.35);color:var(--gtsd-text)}
.section.alt{background:var(--gtsd-navy-900);background-image:none}
.section.dark{background:var(--gtsd-black);background-image:none;border-bottom-color:rgba(57,75,90,.4)}
.section-head h2{color:var(--gtsd-white);letter-spacing:-.02em}
.section-head p{color:var(--gtsd-text-secondary)}
.eyebrow,.section .eyebrow{color:var(--gtsd-blue-300)}
h1,h2,h3{max-width:44ch}

/* ---- Cards: dark gradient panel per master spec ---- */
.card,.division-card,.data-card,.book-card,.product-card{
  background:linear-gradient(180deg, rgba(13,38,58,.82), rgba(4,17,29,.92));
  border:1px solid rgba(94,141,176,.22);
  border-radius:10px;
  color:var(--gtsd-text);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.card:hover,.division-card:hover{border-color:rgba(53,184,255,.45);transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.32)}
.card h3,.division-card h3{color:var(--gtsd-white)}
.card p,.division-card p{color:var(--gtsd-text-secondary)}
.division-card{border-top:2px solid var(--gtsd-blue-500)}
.division-lockup{border-bottom-color:rgba(94,141,176,.2)}
.division-lockup strong{color:var(--gtsd-white)}
.division-lockup span{color:var(--gtsd-text-muted)}
.division-lockup img{filter:grayscale(1) brightness(2.4)}
.grid-3,.grid-4,.audience,.course-grid{background:rgba(57,75,90,.35);border-color:rgba(57,75,90,.35)}
.pillar{background:var(--gtsd-navy-850);border-color:rgba(94,141,176,.25)}
.pillar span{color:var(--gtsd-text-secondary)}
.cycle{border-color:rgba(94,141,176,.3);color:var(--gtsd-text)}
.checklist div:before{color:var(--gtsd-blue-300)}
.checklist div{color:var(--gtsd-text)}
.badge{background:rgba(7,150,246,.14);color:var(--gtsd-blue-300)}
.status-online{background:rgba(7,150,246,.14);color:var(--gtsd-blue-300)}

/* ---- Buttons ---- */
.btn{border-radius:7px}
.btn-primary{background:linear-gradient(180deg,#0AA3FF 0%,#006CC4 100%);border:1px solid rgba(53,184,255,.85);color:#fff;box-shadow:0 0 12px rgba(7,150,246,.18)}
.btn-primary:hover{background:linear-gradient(180deg,#35B8FF 0%,#0796F6 100%);box-shadow:0 0 20px rgba(7,150,246,.35);transform:translateY(-1px)}
.btn-outline{background:transparent;border-color:rgba(143,162,181,.45);color:var(--gtsd-white)}
.btn-outline:hover{border-color:var(--gtsd-blue-300);background:rgba(53,184,255,.08);color:var(--gtsd-white)}
.btn-secondary{background:transparent;border:1px solid rgba(143,162,181,.45);color:var(--gtsd-white)}
.btn-secondary:hover{border-color:var(--gtsd-blue-300);background:rgba(53,184,255,.08)}
.btn-light{background:var(--gtsd-white);color:var(--gtsd-navy-950);border-color:var(--gtsd-white)}
.btn-light:hover{background:var(--gtsd-silver-400)}
.btn-tertiary{color:var(--gtsd-blue-300)}

/* ---- Nav ---- */
.site-header{background:rgba(2,7,13,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(53,184,255,.15);box-shadow:none}
.topbar{background:var(--gtsd-black);color:var(--gtsd-text-secondary)}
.nav-links a[aria-current="page"]{box-shadow:0 2px 0 var(--gtsd-blue-500);color:#fff}

/* ---- Hero / page-hero / CTA gradients ---- */
.hero{background:
  radial-gradient(circle at 77% 38%,rgba(7,150,246,.14),transparent 30%),
  linear-gradient(90deg,rgba(94,141,176,.08) 1px,transparent 1px),
  linear-gradient(0deg,rgba(94,141,176,.08) 1px,transparent 1px),
  linear-gradient(135deg, var(--gtsd-black) 0%, var(--gtsd-navy-900) 45%, #071D30 75%, var(--gtsd-black) 100%);
  background-size:auto,72px 72px,72px 72px,auto;
  border-bottom-color:rgba(57,75,90,.4)
}
.page-hero{background:
  linear-gradient(90deg,rgba(94,141,176,.07) 1px,transparent 1px),
  linear-gradient(0deg,rgba(94,141,176,.07) 1px,transparent 1px),
  linear-gradient(135deg, var(--gtsd-black) 0%, var(--gtsd-navy-900) 50%, var(--gtsd-black) 100%);
  background-size:72px 72px,72px 72px,auto;
}
.cta{background:linear-gradient(135deg, var(--gtsd-black), var(--gtsd-navy-800));border:1px solid rgba(57,75,90,.6);box-shadow:0 22px 55px rgba(0,0,0,.35)}
.glotac-graphic,.media-frame{border-color:rgba(94,141,176,.28)}

/* ---- Forms (dark) ---- */
input,select,textarea{background:var(--gtsd-navy-850);border-color:rgba(94,141,176,.3);color:var(--gtsd-white)}
input::placeholder,textarea::placeholder{color:var(--gtsd-text-muted)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(7,150,246,.18)}
label{color:var(--gtsd-text)}
.field-help{color:var(--gtsd-text-muted)}
.contact-form{background:var(--gtsd-navy-900);border-color:rgba(94,141,176,.22)}

/* ---- FAQ ---- */
.faq details{background:var(--gtsd-navy-900);border-color:rgba(94,141,176,.22)}
.faq details[open]{border-color:rgba(53,184,255,.35)}
.faq summary{color:var(--gtsd-white)}
.faq details p{color:var(--gtsd-text-secondary)}
.faq summary::after{color:var(--gtsd-blue-300)}

/* ---- Footer ---- */
.footer{background:var(--gtsd-black);border-top-color:#132537}
.footer a{color:var(--gtsd-text-secondary)}
.footer a:hover,.footer a:focus-visible{color:#fff}
.footer-bottom{color:var(--gtsd-text-muted)}

/* ---- Storefront (dark-mode pass, preserves existing markup/logic) ---- */
.store-empty{background:var(--gtsd-navy-900);border-left-color:var(--gtsd-blue-500)}
.store-empty>span{color:var(--gtsd-blue-300)}
.store-empty h2{color:var(--gtsd-white)}
.product-content h2{color:var(--gtsd-white)}
.product-content p{color:var(--gtsd-text-secondary)}
.product-sku{color:var(--gtsd-text-muted)}
.product-purchase{border-top-color:rgba(94,141,176,.22)}
.product-purchase>strong{color:var(--gtsd-white)}
.product-image{background:var(--gtsd-navy-850);border-bottom-color:rgba(94,141,176,.22)}
.cart-items,.cart-item{border-color:rgba(94,141,176,.22)}
.cart-item h2{color:var(--gtsd-white)}
.confirmation-mark{background:rgba(7,150,246,.12);border-color:rgba(53,184,255,.4);color:var(--gtsd-blue-300)}
.narrow-flow h1,.narrow-flow h2{color:var(--gtsd-white)}

/* ---- New sitewide components: Industries strip, Deployment steps ---- */
.industry-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(57,75,90,.35);border:1px solid rgba(57,75,90,.35);border-radius:10px;overflow:hidden}
.industry-strip>div{background:var(--gtsd-navy-900);padding:1.7rem 1rem;text-align:center;transition:background .15s ease}
.industry-strip>div:hover{background:var(--gtsd-navy-850)}
.industry-strip .industry-icon{font-size:1.6rem;margin-bottom:.6rem;display:block;color:var(--gtsd-blue-300)}
.industry-strip strong{display:block;color:var(--gtsd-white);font-size:.92rem;font-weight:600}
@media(max-width:900px){.industry-strip{grid-template-columns:repeat(2,1fr)}}

.deploy-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(57,75,90,.35);border:1px solid rgba(57,75,90,.35);border-radius:10px;overflow:hidden;margin-top:1.8rem}
.deploy-steps>div{background:var(--gtsd-navy-900);padding:1.5rem 1.1rem}
.deploy-steps em{display:block;font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gtsd-blue-300);margin-bottom:.5rem}
.deploy-steps b{display:block;color:var(--gtsd-white);font-weight:600;margin-bottom:.3rem}
.deploy-steps span{color:var(--gtsd-text-muted);font-size:.85rem;line-height:1.5}
@media(max-width:900px){.deploy-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.deploy-steps{grid-template-columns:1fr}}

.box-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:1.6rem}
.box-feature-grid .card{padding:1.4rem}
@media(max-width:900px){.box-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.box-feature-grid{grid-template-columns:1fr}}

/* Trademark-safe inline mark styling used with "Security Department in a Box™" */
.tm{font-size:.6em;vertical-align:super}

/* Footer social icon row */
.footer-social{display:flex;gap:.7rem;margin-top:1rem}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(94,141,176,.3);border-radius:6px;color:var(--gtsd-text-secondary);margin:0}
.footer-social a:hover{border-color:var(--gtsd-blue-300);color:#fff}

/* ===== GTSD v3 — restrained bronze/metallic accents + global network texture =====
   Per master spec section 15: bronze usage kept to ~3-5% of composition,
   applied only as corner brackets / panel trim on the single most premium
   console element (hero-system), never as a dominant color. */

.hero-system{position:relative}
.hero-system::before{
  content:"";
  position:absolute;
  top:10px;left:10px;
  width:18px;height:18px;
  border-top:2px solid var(--gtsd-bronze-light);
  border-left:2px solid var(--gtsd-bronze-light);
  opacity:.55;
  pointer-events:none;
  z-index:2;
}
.hero-system::after{
  content:"";
  position:absolute;
  bottom:10px;right:10px;
  width:18px;height:18px;
  border-bottom:2px solid var(--gtsd-bronze-light);
  border-right:2px solid var(--gtsd-bronze-light);
  opacity:.55;
  pointer-events:none;
  z-index:2;
}
.hero-system-head{position:relative}
.hero-system-head::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-.6rem;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,104,65,.5) 20%,rgba(139,104,65,.5) 80%,transparent);
}

/* Division panel top borders alternate blue/bronze so bronze reads as a
   deliberate accent, not the primary brand color. */
.grid-3 .division-card:nth-child(3n+2){border-top-color:var(--gtsd-bronze)}

/* Global network texture: faint dot-and-line lattice behind the hero,
   evoking global operations without needing stock photography. Very low
   opacity, purely decorative, sits under the existing grid/gradient. */
.hero{position:relative}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='500' viewBox='0 0 800 500'%3E%3Cg fill='none' stroke='%2335B8FF' stroke-width='1' opacity='0.14'%3E%3Cline x1='60' y1='90' x2='220' y2='60'/%3E%3Cline x1='220' y1='60' x2='380' y2='140'/%3E%3Cline x1='380' y1='140' x2='560' y2='80'/%3E%3Cline x1='560' y1='80' x2='720' y2='150'/%3E%3Cline x1='220' y1='60' x2='300' y2='220'/%3E%3Cline x1='380' y1='140' x2='460' y2='260'/%3E%3Cline x1='460' y1='260' x2='620' y2='220'/%3E%3Cline x1='620' y1='220' x2='720' y2='150'/%3E%3Cline x1='300' y1='220' x2='460' y2='260'/%3E%3Cline x1='120' y1='260' x2='300' y2='220'/%3E%3Cline x1='120' y1='260' x2='60' y2='90'/%3E%3C/g%3E%3Cg fill='%2335B8FF' opacity='0.28'%3E%3Ccircle cx='60' cy='90' r='2.5'/%3E%3Ccircle cx='220' cy='60' r='2.5'/%3E%3Ccircle cx='380' cy='140' r='3'/%3E%3Ccircle cx='560' cy='80' r='2.5'/%3E%3Ccircle cx='720' cy='150' r='2.5'/%3E%3Ccircle cx='300' cy='220' r='2.5'/%3E%3Ccircle cx='460' cy='260' r='3'/%3E%3Ccircle cx='620' cy='220' r='2.5'/%3E%3Ccircle cx='120' cy='260' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right -40px top -20px;
  background-size:70% auto;
  pointer-events:none;
  z-index:0;
}
.hero .container.hero-command{position:relative;z-index:1}

@media(max-width:900px){
  .hero::before{background-size:100% auto;background-position:center top}
}

.product-purchase{flex-wrap:wrap}
.size-select{display:flex;flex-wrap:wrap;gap:.4rem;width:100%;margin-top:.2rem}
.size-btn{border:1px solid var(--gtsd-border-strong);background:#fff;color:var(--gtsd-navy-900);border-radius:6px;padding:.4rem .75rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s ease}
.size-btn:hover:not(:disabled){border-color:var(--gtsd-blue-500)}
.size-btn-selected{background:var(--gtsd-navy-900);border-color:var(--gtsd-navy-900);color:#fff}
.size-btn-oos,.size-btn:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.oos-label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.shipping-options{display:grid;gap:.75rem;margin:1.2rem 0}
.shipping-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--gtsd-border-strong);border-radius:8px;padding:.9rem 1.1rem;cursor:pointer}
.shipping-option:has(input:checked){border-color:var(--gtsd-navy-900);background:var(--gtsd-surface-raised)}
.shipping-option input{margin-right:.75rem}
.shipping-option-meta{color:var(--gtsd-text-muted);font-size:.82rem}
