/* ============================================
   ORIZON IT SOLUTIONS — design tokens
   ============================================ */
@font-face{
  font-family:'Fraunces';
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url('../fonts/fraunces-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Fraunces';
  font-style:italic;
  font-weight:400 600;
  font-display:swap;
  src:url('../fonts/fraunces-italic.woff2') format('woff2');
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('../fonts/manrope.woff2') format('woff2');
}

:root{
  --paper:#F6F1E4;
  --paper-raised:#FFFFFF;
  --ink:#14173F;
  --ink-soft:#4F5480;
  --navy:#283282;
  --navy-deep:#10122C;
  --navy-veil:#1B1E52;
  --gold:#DA8A00;
  --gold-bright:#F0A000;
  --gold-soft:#FFD98A;
  --line:rgba(20,23,63,0.14);
  --shadow:0 24px 60px -30px rgba(16,18,44,0.35);
  --sky-1:#0B0C24;
  --sky-2:#1B1E52;
  --sky-3:#3B2F6E;
  /* constant: light gold for text/icons on dark-navy panels — those panels
     stay dark in both site themes, so this never inverts */
  --gold-glow:#FFD98A;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#0B0C24;
    --paper-raised:#161A44;
    --ink:#EEEBFA;
    --ink-soft:#A8ACD9;
    --navy:#7C87E8;
    --navy-deep:#05061A;
    --navy-veil:#12143a;
    --gold:#FFB627;
    --gold-bright:#FFC94D;
    --gold-soft:#3A2E12;
    --tint-bg:#3A2E12;
    --tint-text:#FFD98A;
    --line:rgba(238,235,250,0.14);
    --shadow:0 24px 60px -28px rgba(0,0,0,0.6);
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0B0C24;
  --paper-raised:#161A44;
  --ink:#EEEBFA;
  --ink-soft:#A8ACD9;
  --navy:#7C87E8;
  --navy-deep:#05061A;
  --navy-veil:#12143a;
  --gold:#FFB627;
  --gold-bright:#FFC94D;
  --gold-soft:#3A2E12;
  --tint-bg:#3A2E12;
  --tint-text:#FFD98A;
  --line:rgba(238,235,250,0.14);
  --shadow:0 24px 60px -28px rgba(0,0,0,0.6);
  color-scheme: dark;
}
:root[data-theme="light"]{
  --paper:#F6F1E4;
  --paper-raised:#FFFFFF;
  --ink:#14173F;
  --ink-soft:#4F5480;
  --navy:#283282;
  --navy-deep:#10122C;
  --navy-veil:#1B1E52;
  --gold:#DA8A00;
  --gold-bright:#F0A000;
  --gold-soft:#FFD98A;
  --tint-bg:#FFD98A;
  --tint-text:#5C3D00;
  --line:rgba(20,23,63,0.14);
  --shadow:0 24px 60px -30px rgba(16,18,44,0.35);
  color-scheme: light;
}
:root{ --tint-bg:#FFD98A; --tint-text:#5C3D00; }

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Manrope',ui-sans-serif,system-ui,-apple-system,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}
@media (max-width:720px){ .wrap{padding:0 20px;} }

h1,h2,h3,h4{
  font-family:'Fraunces',ui-serif,Georgia,serif;
  font-weight:600;
  line-height:1.12;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}
.eyebrow{
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
}
.lede{
  font-size:1.15rem;
  color:var(--ink-soft);
  max-width:52ch;
}
em.accent{
  font-style:italic;
  font-weight:400;
  color:var(--gold-bright);
}

/* ---------- Nav ---------- */
.nav-shell{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px;
  max-width:1180px; margin:0 auto;
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand img{height:34px; width:auto;}
.nav-links{display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0;}
.nav-links a{
  text-decoration:none; font-weight:600; font-size:0.94rem; color:var(--ink-soft);
  transition:color .15s ease;
}
.nav-links a:hover{color:var(--ink);}
.nav-cta{
  background:var(--navy); color:#fff !important; padding:10px 20px; border-radius:999px;
  font-weight:700; font-size:0.9rem; text-decoration:none; white-space:nowrap;
  box-shadow:0 8px 20px -8px rgba(40,50,130,0.6);
}
.nav-burger{display:none; background:none; border:0; cursor:pointer; padding:6px;}
.nav-burger svg{stroke:var(--ink);}
@media (max-width:860px){
  .nav-links{
    position:fixed; inset:62px 0 0 0; background:var(--paper); flex-direction:column;
    align-items:flex-start; padding:28px 28px; gap:22px; transform:translateY(-8px);
    opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
    border-top:1px solid var(--line);
  }
  .nav-links.open{opacity:1; pointer-events:auto; transform:translateY(0);}
  .nav-links a{font-size:1.05rem;}
  .nav-burger{display:block;}
  .nav-cta{margin-left:auto;}
}
.progress-line{
  height:2px; width:0%;
  background:linear-gradient(90deg, var(--navy), var(--gold-bright));
  transition:width .05s linear;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(60% 55% at 50% 100%, var(--sky-3) 0%, transparent 70%),
    linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 55%, var(--sky-3) 100%);
  color:#F4F2FF;
  overflow:hidden;
  padding-top:88px;
}
.hero-inner{
  max-width:1180px; margin:0 auto; padding:56px 32px 0;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;
  position:relative; z-index:2;
}
@media (max-width:900px){ .hero-inner{grid-template-columns:1fr; padding-top:20px;} }
.hero h1{
  color:#FBF9FF;
  font-size:clamp(2.4rem, 4.6vw, 3.8rem);
  letter-spacing:-0.01em;
}
.hero .lede{color:#C9CBEF; font-size:1.18rem; margin-top:18px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:32px;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 24px; border-radius:999px; font-weight:700; font-size:0.96rem;
  text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:var(--gold-bright); color:#241800; box-shadow:0 14px 30px -12px rgba(240,160,0,0.55);}
.btn-ghost{border-color:rgba(244,242,255,0.35); color:#F4F2FF;}
.btn-navy{background:var(--navy); color:#fff; box-shadow:0 14px 30px -12px rgba(40,50,130,0.55);}
.btn-outline{border-color:var(--line); color:var(--ink);}

.hero-art{position:relative; aspect-ratio:1/1; max-width:440px; margin:0 auto;}
.hero-art svg{width:100%; height:100%;}
.sun-core{animation:rise 7s ease-in-out infinite alternate;}
.sun-ring{animation:pulse 5s ease-in-out infinite;}
@keyframes rise{ from{ transform:translateY(3px);} to{ transform:translateY(-6px);} }
@keyframes pulse{ 0%,100%{opacity:0.35;} 50%{opacity:0.75;} }

.focus-strip{
  border-top:1px solid rgba(244,242,255,0.14);
  margin-top:56px; padding:26px 0;
  position:relative; z-index:2;
}
.focus-strip .wrap{
  display:flex; flex-wrap:wrap; gap:14px 34px; justify-content:space-between;
  font-family:'Manrope'; font-weight:700; font-size:0.82rem; letter-spacing:0.08em;
  text-transform:uppercase; color:#B9BCE6;
}
.focus-strip span b{color:#F4F2FF; font-weight:800;}

/* ---------- Section shell ---------- */
section{padding:96px 0;}
@media (max-width:720px){ section{padding:68px 0;} }
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(1.8rem,3vw,2.5rem); margin-top:10px;}
.divider{
  height:1px; border:0;
  background:linear-gradient(90deg, transparent, var(--navy) 35%, var(--gold-bright) 65%, transparent);
  opacity:0.5; margin:0;
}

/* ---------- Pillars ---------- */
.pillars{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media (max-width:860px){ .pillars{grid-template-columns:1fr;} }
.pillar{
  border-radius:22px; padding:38px 34px; position:relative; overflow:hidden;
  box-shadow:var(--shadow); border:1px solid var(--line);
}
.pillar-a{background:var(--paper-raised);}
.pillar-b{background:var(--navy-deep); color:#EDEBFA;}
.pillar-b .eyebrow{color:var(--gold-glow);}
.pillar-b h3{color:#fff;}
.pillar-b p{color:#B9BCE6;}
.pillar h3{font-size:1.5rem; margin-top:8px;}
.pillar > p{margin-top:12px; color:var(--ink-soft); max-width:44ch;}
.pillar-list{list-style:none; margin:26px 0 30px; padding:0; display:grid; gap:13px;}
.pillar-list li{display:flex; gap:12px; align-items:flex-start; font-size:0.97rem;}
.pillar-list li svg{flex:none; margin-top:3px;}
.node-net{position:absolute; right:-40px; top:-30px; opacity:0.5; pointer-events:none;}

/* ---------- Process ---------- */
.process{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
@media (max-width:900px){ .process{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .process{grid-template-columns:1fr;} }
.step{display:flex; flex-direction:column; gap:16px;}
.step-arc{width:56px; height:56px;}
.step h4{font-size:1.08rem; margin-top:2px;}
.step p{color:var(--ink-soft); font-size:0.95rem; margin:0;}
.step-tag{font-family:'Manrope'; font-weight:800; font-size:0.78rem; letter-spacing:0.1em; color:var(--gold);}

/* ---------- Capability cards ---------- */
.cap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media (max-width:960px){ .cap-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .cap-grid{grid-template-columns:1fr;} }
.cap-card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:18px;
  padding:26px 22px; display:flex; flex-direction:column; gap:14px;
}
.cap-card svg{color:var(--navy);}
.cap-card h4{font-size:1.05rem;}
.cap-card p{margin:0; color:var(--ink-soft); font-size:0.92rem;}

/* ---------- Why us ---------- */
.why-wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start;}
@media (max-width:900px){ .why-wrap{grid-template-columns:1fr;} }
.why-list{list-style:none; margin:0; padding:0; display:grid; gap:28px;}
.why-list li{display:grid; grid-template-columns:auto 1fr; gap:16px;}
.why-list h4{font-size:1.08rem; margin-bottom:6px;}
.why-list p{margin:0; color:var(--ink-soft); font-size:0.95rem;}
.why-num{
  font-family:'Fraunces'; font-style:italic; font-weight:500; font-size:1.6rem; color:var(--gold);
  line-height:1;
}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg, var(--navy-deep), var(--navy) 130%);
  color:#fff; border-radius:28px; padding:56px 48px;
  display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;
  position:relative; overflow:hidden;
}
.cta-band h2{color:#fff; font-size:clamp(1.6rem,3vw,2.2rem); max-width:20ch;}
.cta-band .btns{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- Contact / Footer ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
@media (max-width:800px){ .contact-grid{grid-template-columns:1fr;} }
.contact-card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:18px; padding:28px;
  display:grid; gap:16px;
}
.contact-row{display:flex; gap:14px; align-items:flex-start;}
.contact-row svg{flex:none; color:var(--navy); margin-top:2px;}
.contact-row a{text-decoration:none; font-weight:700; color:var(--ink);}
.contact-row span{display:block; color:var(--ink-soft); font-size:0.85rem;}

footer{border-top:1px solid var(--line); padding:36px 0;}
.foot-row{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
.foot-row .brand img{height:26px;}
.foot-links{display:flex; gap:24px; list-style:none; margin:0; padding:0; font-size:0.88rem; color:var(--ink-soft);}
.foot-copy{font-size:0.82rem; color:var(--ink-soft);}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ============================================
   Shared components — inner pages
   ============================================ */
.nav-links a.active{color:var(--ink);}

/* Page hero (inner pages) */
.page-hero{
  background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 65%, var(--sky-3) 100%);
  color:#F4F2FF; padding:64px 0 54px; position:relative; overflow:hidden;
}
.page-hero .wrap{position:relative; z-index:2;}
.breadcrumb{
  display:flex; align-items:center; gap:8px; font-size:0.85rem; color:#B9BCE6;
  margin-bottom:18px; text-decoration:none; font-weight:600;
}
.breadcrumb:hover{color:#fff;}
.page-hero h1{color:#FBF9FF; font-size:clamp(2rem,4vw,3rem); max-width:18ch;}
.page-hero .lede{color:#C9CBEF; margin-top:16px; font-size:1.08rem;}
.page-hero-line{
  position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-bright) 50%, transparent);
  opacity:0.6;
}
.page-hero .eyebrow{color:var(--gold-glow);}

/* Service / hub cards */
.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){ .service-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .service-grid{grid-template-columns:1fr;} }
.service-card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:20px;
  padding:30px 26px; display:flex; flex-direction:column; gap:14px; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.service-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.service-card .icon-badge{
  width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:var(--tint-bg); color:var(--tint-text);
}
.service-card h3{font-size:1.2rem;}
.service-card p{margin:0; color:var(--ink-soft); font-size:0.93rem; flex:1;}
.service-card .go{font-weight:700; font-size:0.88rem; color:var(--navy);}

/* Two-column content block (about/inner pages) */
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
@media (max-width:860px){ .split{grid-template-columns:1fr;} }
.split.reverse > *:first-child{order:2;}
@media (max-width:860px){ .split.reverse > *:first-child{order:0;} }
.stat-mini-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px;}
@media (max-width:560px){ .stat-mini-grid{grid-template-columns:1fr;} }
.stat-mini{border-left:2px solid var(--gold); padding-left:14px;}
.stat-mini h4{font-family:'Fraunces'; font-size:1.05rem; margin-bottom:4px;}
.stat-mini p{margin:0; color:var(--ink-soft); font-size:0.88rem;}

/* Values / feature list */
.value-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
@media (max-width:960px){ .value-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .value-grid{grid-template-columns:1fr;} }
.value-card{padding:24px; border-radius:16px; background:var(--paper-raised); border:1px solid var(--line);}
.value-card svg{color:var(--navy); margin-bottom:12px;}
.value-card h4{font-size:1.02rem; margin-bottom:6px;}
.value-card p{margin:0; color:var(--ink-soft); font-size:0.9rem;}

/* Track / curriculum cards (training page) */
.track-list{display:grid; gap:18px;}
.track{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:18px;
  padding:26px 28px; display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center;
}
@media (max-width:700px){ .track{grid-template-columns:1fr; text-align:left;} }
.track-badge{
  width:52px; height:52px; border-radius:14px; background:var(--navy-deep); color:var(--gold-glow);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces'; font-weight:600; font-size:1rem;
}
.track h4{font-size:1.08rem; margin-bottom:6px;}
.track p{margin:0; color:var(--ink-soft); font-size:0.92rem;}
.track-meta{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
.chip{
  font-size:0.76rem; font-weight:700; letter-spacing:0.03em; padding:5px 11px; border-radius:999px;
  background:var(--tint-bg); color:var(--tint-text);
}

/* Forms */
.form-card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:22px;
  padding:40px; box-shadow:var(--shadow);
}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:640px){ .form-grid{grid-template-columns:1fr;} }
.field{display:grid; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:0.85rem; font-weight:700; color:var(--ink);}
.field .req{color:var(--gold);}
.field input, .field select, .field textarea{
  font-family:'Manrope'; font-size:0.96rem; padding:12px 14px; border-radius:10px;
  border:1px solid var(--line); background:var(--paper); color:var(--ink);
  transition:border-color .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--navy);
}
.field textarea{resize:vertical; min-height:110px; font-family:'Manrope';}
.form-actions{display:flex; align-items:center; gap:16px; margin-top:8px; flex-wrap:wrap;}
.form-note{font-size:0.82rem; color:var(--ink-soft);}
.btn-submit{border:0; cursor:pointer; font-family:'Manrope';}
.form-status{
  display:none; padding:14px 16px; border-radius:10px; font-size:0.9rem; font-weight:600; margin-top:18px;
}
.form-status.ok{display:block; background:var(--tint-bg); color:var(--tint-text);}
.form-status.err{display:block; background:#FBE3E0; color:#8A2C1D;}

/* Blog */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
@media (max-width:900px){ .blog-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .blog-grid{grid-template-columns:1fr;} }
.blog-card{
  background:var(--paper-raised); border:1px solid var(--line); border-radius:18px; overflow:hidden;
  text-decoration:none; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease;
}
.blog-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.blog-card-top{
  height:140px; background:linear-gradient(135deg, var(--navy-deep), var(--navy));
  position:relative; display:flex; align-items:flex-end; padding:16px;
}
.blog-card-top span{
  font-size:0.72rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--gold-glow); background:rgba(11,12,36,0.5); padding:5px 10px; border-radius:999px;
}
.blog-card-body{padding:22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.blog-card-body h3{font-size:1.08rem; line-height:1.3;}
.blog-card-body p{margin:0; color:var(--ink-soft); font-size:0.9rem; flex:1;}
.blog-meta{font-size:0.78rem; color:var(--ink-soft); font-weight:700;}

/* Article (blog post) */
.article{max-width:720px; margin:0 auto;}
.article h2{font-size:1.5rem; margin-top:40px; margin-bottom:14px;}
.article h3{font-size:1.2rem; margin-top:28px; margin-bottom:10px; font-family:'Manrope'; font-weight:800;}
.article p{color:var(--ink-soft); margin:0 0 16px; font-size:1.02rem;}
.article ul, .article ol{color:var(--ink-soft); padding-left:22px; margin:0 0 16px; display:grid; gap:8px;}
.article strong{color:var(--ink);}
.article blockquote{
  margin:28px 0; padding:18px 22px; border-left:3px solid var(--gold); background:var(--paper-raised);
  border-radius:0 12px 12px 0; font-family:'Fraunces'; font-style:italic; font-size:1.1rem; color:var(--ink);
}

/* Legal pages */
.legal{max-width:760px; margin:0 auto;}
.legal h2{font-size:1.3rem; margin-top:36px; margin-bottom:12px;}
.legal p, .legal li{color:var(--ink-soft); font-size:0.98rem;}
.legal ul{padding-left:22px; display:grid; gap:8px;}
.callout{
  background:var(--tint-bg); border-radius:14px; padding:20px 22px; margin-bottom:36px;
  display:flex; gap:14px; align-items:flex-start;
}
.callout svg{flex:none; color:var(--tint-text); margin-top:2px;}
.callout p{margin:0; color:var(--tint-text); font-size:0.92rem; font-weight:600;}

/* Simple content section (no card) used across inner pages */
.prose{max-width:680px;}
.prose p{color:var(--ink-soft); font-size:1.03rem;}

/* Empty state */
.empty-state{
  text-align:center; padding:60px 20px; border:1px dashed var(--line); border-radius:18px;
  color:var(--ink-soft);
}

/* Theme-aware logo: navy wordmark on light backgrounds, light wordmark on dark */
.brand .logo-inverted{display:none;}
@media (prefers-color-scheme: dark){
  .brand .logo-standard{display:none;}
  .brand .logo-inverted{display:block;}
}
:root[data-theme="dark"] .brand .logo-standard{display:none;}
:root[data-theme="dark"] .brand .logo-inverted{display:block;}
:root[data-theme="light"] .brand .logo-standard{display:block;}
:root[data-theme="light"] .brand .logo-inverted{display:none;}

/* Honeypot field — off-screen, never visible to real users */
.hp-field{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}

.btn-submit:disabled{opacity:0.65; cursor:not-allowed; transform:none;}

/* Visible keyboard focus (mouse users don't see the ring; keyboard users need it) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:2px;
  border-radius:4px;
}
.nav-cta:focus-visible, .btn:focus-visible{
  outline-offset:3px;
}
