
/* =========================================================
   ADHawk — custom.css (cleaned, de-duplicated, debugged)
   =========================================================
   What changed:
   - Merged duplicated token blocks into one :root and added back-compat aliases.
   - Unified typography, buttons, cards, links.
   - Consolidated mobile hamburger styles (single implementation).
   - FIX: Hide hamburger on desktop (>=768px) and show nav links.
   - Kept all page sections (About, How I Work, Contact Strip, Certs, Timeline, Resume + print).
   --------------------------------------------------------- */

/* ---------- 1) Brand Tokens ---------- */
:root{
  /* Official palette */
  --hawk-shield-blue:#00B5E2;
  --teal-accent:#00A6AD;
  --deep-navy:#0A1E33;
  --electric-blue:#009CDE;
  --white:#FFFFFF;
  --graphite:#2D3E50;
  --slate-accent-gray:#3C4F63;

  /* Typography & surfaces */
  --font-main:'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ink-weak:rgba(255,255,255,.85);
  --surface:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.10);

  /* Type scale */
  --size-step-1: clamp(.95rem, .9vw, 1rem);
  --size-step-2: clamp(1.05rem, 1.1vw, 1.125rem);
  --size-step-3: clamp(1.125rem, 1.6vw, 1.25rem);
  --size-step-4: clamp(1.4rem, 2.4vw, 1.8rem);
  --size-step-5: clamp(2rem, 3.6vw, 2.75rem);

  /* Radii & shadows */
  --radius-lg:16px;
  --radius-2xl:20px;
  --shadow-soft:0 12px 40px rgba(0,0,0,.28);
  --shadow-card:0 10px 28px rgba(0,0,0,.25);
}

/* Back-compat aliases (legacy adh-* vars) */
:root{
  --adh-blue:var(--hawk-shield-blue);
  --adh-teal:var(--teal-accent);
  --adh-navy:var(--deep-navy);
  --adh-white:var(--white);
  --adh-gray:var(--graphite);
  --adh-slate:var(--slate-accent-gray);
  --adh-ink:#E6F3F9;
  --adh-surface:var(--surface);
  --adh-border:var(--border);
}

/* ---------- 2) Global Base & Typography ---------- */
html, body{ background:var(--deep-navy); color:var(--white); }
body{
  font-family:var(--font-main); font-weight:400;
  font-size:var(--size-step-1); line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{ font-weight:600; line-height:1.25; color:var(--white); margin:0 0 .5rem; }
h1{ font-size:2.25rem; } h2{ font-size:1.75rem; } h3{ font-size:1.4rem; } h4{ font-size:1.15rem;}
p,li{ font-size:1rem; }
a{ color:var(--hawk-shield-blue); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--electric-blue); text-decoration:underline; }
hr{ border:0; height:1px; background:rgba(255,255,255,.08); margin:2rem 0; }
.post-content{ max-width:900px; }

/* ---------- 3) Layout Helpers ---------- */
.section{ padding:4rem 1.25rem; }
.container{ max-width:1100px; margin:0 auto; }
.grid-2{ display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; }
@media (max-width:900px){ .grid-2{ grid-template-columns:1fr; } }
.card-row{ display:grid; gap:1.25rem; grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .card-row{ grid-template-columns:1fr; } }
.strip-row{ display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; }
@media (max-width:800px){ .strip-row{ grid-template-columns:repeat(2,1fr); } }

/* ---------- 4) Shared Components ---------- */
.button{
  display:inline-block; padding:.6rem 1rem; border-radius:.75rem; font-weight:600;
  border:1px solid var(--electric-blue); text-decoration:none;
}
.button--primary{
  background:var(--hawk-shield-blue); color:var(--white); border:none;
  transition:background-color .2s, transform .2s;
}
.button--primary:hover{ background:var(--electric-blue); transform:translateY(-1px); }
.button--outline{
  background:transparent; color:var(--white); border:2px solid var(--hawk-shield-blue);
  transition:color .2s, border-color .2s, transform .2s;
}
.button--outline:hover{ color:var(--electric-blue); border-color:var(--electric-blue); transform:translateY(-1px); }

.card{
  background:linear-gradient(180deg, rgba(10,30,51,.85), rgba(10,30,51,.95));
  border:1px solid rgba(255,255,255,.08); border-radius:1rem; padding:1rem; box-shadow:var(--shadow-card);
}
.img-card{ width:100%; border-radius:1rem; border:1px solid rgba(255,255,255,.08); }

.strip-item{
  display:flex; flex-direction:column; align-items:center; text-decoration:none;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:1rem; padding:1rem;
}
.strip-item img{ width:48px; height:48px; object-fit:contain; margin-bottom:.5rem; }
.strip-item span{ color:var(--white); font-weight:600; }

/* ---------- 5) Site Chrome (Header/Nav & Footer) ---------- */
/* Minima overrides */
.site-header,.site-footer{ background:var(--deep-navy); }
.site-title,.site-nav .page-link{ color:var(--white) !important; }
.site-nav .page-link:hover{ color:var(--white) !important; background:rgba(255,255,255,.08); transform:translateY(-1px); }
.site-nav .page-link[aria-current="page"], .site-nav .page-link.current{
  color:var(--white) !important;
  background:linear-gradient(180deg, rgba(0,181,226,.22), rgba(0,181,226,.10));
  border:1px solid rgba(0,181,226,.35);
}

.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(10,30,51,.90); backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.site-header .wrapper{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.45rem 1rem;
}
.site-title,.site-title:visited{ color:var(--white) !important; font-weight:700; letter-spacing:.2px; text-decoration:none; }

/* ===== Mobile hamburger (single implementation) ===== */
/* 5.1 Accessible checkbox (Minima) */
.site-header .nav-trigger{
  position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; border:0; clip:rect(0 0 0 0); overflow:hidden;
}

/* 5.2 Visible hamburger button (paired with label[for="nav-trigger"]) */
.site-header .menu-toggle,
label[for="nav-trigger"]{
  --size:44px; --ring:rgba(0,0,0,.15); --line:var(--white); --line-active:var(--hawk-shield-blue);
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--size); height:var(--size);
  margin:0; padding:0; border:1px solid var(--slate-accent-gray);
  border-radius:12px; background:transparent; box-shadow:0 2px 8px var(--ring);
  cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.site-header .menu-toggle:focus-visible, label[for="nav-trigger"]:focus-visible{ outline:2px solid var(--hawk-shield-blue); outline-offset:2px; }
.site-header .menu-toggle:hover, label[for="nav-trigger"]:hover{ border-color:var(--hawk-shield-blue); box-shadow:0 0 0 3px rgba(0,181,226,.18); }

/* 5.3 Bars inside the button */
.site-header .menu-toggle .bar,
label[for="nav-trigger"] .bar{
  position:absolute; left:10px; right:10px; height:2px; background:var(--line);
  border-radius:2px; transition:transform .25s ease, opacity .2s ease, background-color .2s ease;
}
/* positions */
.site-header .menu-toggle .bar:nth-child(1), label[for="nav-trigger"] .bar:nth-child(1){ top:14px; }
.site-header .menu-toggle .bar:nth-child(2), label[for="nav-trigger"] .bar:nth-child(2){ top:21px; }
.site-header .menu-toggle .bar:nth-child(3), label[for="nav-trigger"] .bar:nth-child(3){ top:28px; }
/* hover color */
.site-header .menu-toggle:hover .bar, label[for="nav-trigger"]:hover .bar{ background:var(--line-active); }
/* open state (checkbox checked) */
.site-header .nav-trigger:checked + .menu-toggle .bar:nth-child(1),
.site-header .nav-trigger:checked + label[for="nav-trigger"] .bar:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.site-header .nav-trigger:checked + .menu-toggle .bar:nth-child(2),
.site-header .nav-trigger:checked + label[for="nav-trigger"] .bar:nth-child(2){ opacity:0; }
.site-header .nav-trigger:checked + .menu-toggle .bar:nth-child(3),
.site-header .nav-trigger:checked + label[for="nav-trigger"] .bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* 5.4 Responsive visibility */
@media (max-width:767px){
  .site-header .site-nav .trigger{ display:none; }
  .site-header .nav-trigger:checked ~ .site-nav .trigger{ display:block; }
}
/* HIDE hamburger on desktop and show horizontal nav */
@media (min-width:768px){
  .site-header .menu-toggle,
  label[for="nav-trigger"],
  .site-header .menu-icon{ display:none !important; }
  .site-nav #nav-trigger{ display:none !important; }
  .site-nav .trigger{ display:flex !important; }
}

/* ---------- 6) Section Styles ---------- */
/* Hero (circuit background) */
.hero-bg{
  background:url('/assets/img/adhawk-bg-circuit.png') center/cover no-repeat, var(--deep-navy);
  text-align:center; padding:6rem 1.25rem;
}
.hero-logo{ max-width:360px; width:100%; margin:0 auto 1rem; display:block; }
.subtitle{ opacity:.9; margin-bottom:1rem; }

/* Logo-only hero */
.hero--logo-only{ background:none; padding:4rem 0 3rem; text-align:center; }
.hero-banner{ display:block; margin:0 auto 1.25rem; width:min(100%,1100px); height:auto; filter:drop-shadow(0 12px 28px rgba(0,0,0,.35)); }

/* CTA row */
.cta-row{ display:flex; justify-content:center; align-items:center; gap:1rem; margin:1.5rem 0 0; flex-wrap:wrap; }
.cta-row a{ margin:0; }
.cta-row .button{ min-width:160px; text-align:center; font-weight:600; border-radius:.5rem; padding:.75rem 1.5rem; font-size:1rem; }

/* Background variants */
.section--dark{ background:var(--deep-navy); }
.section--accent{ background:linear-gradient(135deg, var(--teal-accent), var(--hawk-shield-blue)); }
.section--strip{ background:rgba(255,255,255,.02); }
.section--image-bg{ background:url('/assets/img/adhawk-subtle-bg.jpg') center/cover no-repeat, linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.4)); }
.section--cards{ background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.03)); }
.section--footerish{ background:var(--graphite); text-align:center; }

/* ---------- 7) About & How I Work ---------- */
.section.about::before{
  content:""; display:block; height:2px; width:80%; margin:0 auto 2.5rem;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
}
.section.about{ background:var(--white); color:var(--graphite); padding:3.5rem 1.5rem; }
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; max-width:1100px; margin:0 auto; }
.about-image img{
  display:block; width:100%; height:auto; border-radius:1rem; background:#fff;
  box-shadow:0 4px 8px rgba(0,0,0,.08), 0 12px 24px rgba(0,0,0,.10);
  transition:transform .2s ease, box-shadow .2s ease;
}
.about-image img:hover{ transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,.10), 0 16px 32px rgba(0,0,0,.12); }
.about-textblock h2{ font-size:1.8rem; font-weight:700; margin-bottom:1rem; color:var(--hawk-shield-blue); }
.about-textblock p{ margin-bottom:1.25rem; font-size:1.05rem; line-height:1.65; opacity:.95; }
@media (max-width:768px){ .about-grid{ grid-template-columns:1fr; } .about-image{ order:-1; margin-bottom:1.5rem; } }

/* How I Work band */
.section.how-i-work{ background:var(--slate-accent-gray); color:var(--white); padding:3.5rem 1.5rem; }
.hiw-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:start; max-width:1100px; margin:0 auto 2rem; }
.hiw-text .section-heading{ margin-bottom:.75rem; }
.hiw-subhead{ font-size:1.25rem; font-weight:700; margin:.25rem 0 1rem; opacity:.95; }
.hiw-kicker{ margin:1.5rem 0 .5rem; font-weight:700; color:var(--hawk-shield-blue); }
.hiw-list{ margin:0 0 1rem 1.25rem; padding:0; }
.hiw-list > li{ margin:0 0 .75rem 0; }
.hiw-list > li > p{ margin:.35rem 0 0 0; opacity:.95; }
.hiw-image img{ display:block; width:100%; height:auto; border-radius:1rem; box-shadow:0 10px 24px rgba(0,0,0,.25); object-fit:cover; }
.hiw-icons{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.hiw-icon{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  border-radius:1rem; padding:1.25rem; text-align:center;
  box-shadow:0 2px 4px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15), inset 0 1px 1px rgba(255,255,255,.08);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.hiw-icon:hover{ transform:translateY(-3px); box-shadow:0 4px 8px rgba(0,0,0,.2), 0 12px 24px rgba(0,0,0,.25), inset 0 1px 1px rgba(255,255,255,.1); background:rgba(255,255,255,.10); }
.hiw-icon svg{
  width:60px; height:60px; background:radial-gradient(circle at 40% 35%, #00B5E2 0%, #0089C2 70%);
  border-radius:50%; padding:10px; box-shadow:0 3px 6px rgba(0,0,0,.25), inset 0 2px 3px rgba(255,255,255,.2); color:#fff;
}
.hiw-icon-title{ font-weight:700; margin-bottom:.25rem; }
.hiw-icon-text{ font-size:.95rem; opacity:.9; }
@media (max-width:900px){ .hiw-grid{ grid-template-columns:1fr; } .hiw-image{ order:-1; } }
@media (max-width:640px){ .hiw-icons{ grid-template-columns:1fr; } }

/* ---------- 8) Contact Strip ---------- */
.adh-contact-strip{ background:var(--deep-navy); color:var(--white); padding:clamp(3rem,6vw,5rem) 1rem; text-align:center; }
.adh-contact-slab{ max-width:1100px; margin:0 auto; }
.adh-contact-inner{ max-width:700px; margin:0 auto; }
.adh-contact-heading{
  font:700 clamp(1.6rem,3vw,2.4rem)/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  margin-bottom:.75rem; color:var(--white);
}
.adh-contact-text{
  font:400 clamp(1rem,1.5vw,1.1rem)/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  max-width:60ch; margin:0 auto 1.5rem; color:rgba(255,255,255,.85);
}
.adh-contact-btn{
  display:inline-block; background:linear-gradient(90deg, var(--hawk-shield-blue), var(--teal-accent));
  color:var(--white); text-decoration:none; font-weight:600; border-radius:.75rem; padding:.75rem 1.25rem;
  transition:background .3s ease, transform .15s ease;
}
.adh-contact-btn:hover,.adh-contact-btn:focus{ background:linear-gradient(90deg, var(--electric-blue), var(--teal-accent)); transform:translateY(-1px); }

/* ---------- 9) Certifications (cards) ---------- */
.cert-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:1.5rem; justify-items:center; align-items:stretch; list-style:none; padding:0; margin:2rem 0;
}
.cert-card{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10); border-radius:20px; padding:1.5rem; width:100%; max-width:260px;
  box-shadow:var(--shadow-card); transition:transform .2s ease, box-shadow .25s ease;
}
.cert-card:hover{ transform:translateY(-4px); box-shadow:0 14px 36px rgba(0,0,0,.35); }
.cert-media img{ display:block; width:90%; max-width:140px; height:auto; margin:0 auto 1rem; object-fit:contain; filter:drop-shadow(0 4px 6px rgba(0,0,0,.25)); }
.cert-meta h3{ color:var(--hawk-shield-blue); font-size:1.05rem; font-weight:700; text-align:center; margin-bottom:.25rem; }
.cert-note{ margin-top:2rem; text-align:center; font-size:1.05rem; color:var(--adh-ink); max-width:70ch; margin-left:auto; margin-right:auto; }
@media (max-width:1100px){ .cert-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:900px){ .cert-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:520px){ .cert-grid{ grid-template-columns:1fr; } }

/* ---------- 10) Career Journey / Timeline ---------- */
.career-journey{ background:var(--deep-navy); padding:clamp(2.75rem,5vw,4rem) 1.25rem; position:relative; }
.career-journey__inner{ max-width:1100px; margin:0 auto; }
.career-journey .section-heading{ margin:0 0 1.25rem; font-size:clamp(1.6rem,2.6vw,2.1rem); letter-spacing:.2px; }
.cj-grid{ display:grid; gap:1.25rem; grid-template-columns:repeat(4,1fr); counter-reset:phase; position:relative; }
.cj-card{
  position:relative; display:grid; align-content:start; gap:.6rem; min-height:100%; padding:1.25rem; border-radius:var(--radius-2xl);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)); border:1px solid var(--adh-border); box-shadow:var(--shadow-card);
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
}
.cj-card:hover{ transform:translateY(-2px); box-shadow:0 12px 32px rgba(0,0,0,.28); background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)); }
.cj-card::before{
  content:counter(phase, decimal-leading-zero); counter-increment:phase;
  position:absolute; top:-12px; left:14px; width:32px; height:32px; display:grid; place-items:center;
  font:700 .8rem/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:#fff;
  background:linear-gradient(135deg, var(--hawk-shield-blue), var(--teal-accent));
  border:1px solid rgba(255,255,255,.22); border-radius:999px; box-shadow:0 6px 16px rgba(0,181,226,.25), inset 0 1px 0 rgba(255,255,255,.25); z-index:2;
}
.cj-icon{
  width:44px; height:44px; display:grid; place-items:center; border-radius:999px; color:#fff;
  background:radial-gradient(100% 100% at 35% 25%, var(--hawk-shield-blue) 0%, var(--teal-accent) 90%);
  box-shadow:0 3px 8px rgba(0,181,226,.24), inset 0 1px 0 rgba(255,255,255,.15);
  margin:10px 0 .15rem;
}
.cj-phase{ margin:.1rem 0 .4rem 0; font-size:clamp(1rem,1.5vw,1.2rem); font-weight:800; color:var(--hawk-shield-blue); text-wrap:balance; hyphens:auto; }
.cj-role{ margin:0; color:var(--white); font-weight:700; font-size:.98rem; text-wrap:balance; }
.cj-org{ margin:0 0 .35rem 0; color:rgba(255,255,255,.9); font-size:.96rem; }
.cj-bullets{ margin:.4rem 0 0 0; padding-left:1rem; color:var(--adh-ink); line-height:1.6; font-size:.98rem; }
.cj-bullets > li{ margin:0 0 .5rem 0; }
.cj-bullets > li::marker{ color:var(--hawk-shield-blue); }

@media (min-width:901px){
  .cj-grid::before{
    content:""; position:absolute; left:0; right:0; top:20px; height:2px;
    background:linear-gradient(90deg, rgba(0,166,173,.35), rgba(0,181,226,.35)); opacity:.35; z-index:0;
  }
  .cj-card{ z-index:1; }
}
@media (max-width:1200px){ .cj-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){ .cj-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .cj-grid{ grid-template-columns:1fr; } }

/* Connect CTA */
.about-connect{ background:linear-gradient(135deg, var(--deep-navy), var(--slate-accent-gray)); color:var(--white); text-align:center; padding:clamp(2.75rem,5vw,4rem) 1.25rem; }
.about-connect__inner{ max-width:700px; margin:0 auto; }
.about-connect h2{ font-size:clamp(1.8rem, 2.8vw, 2.4rem); margin-bottom:.75rem; color:var(--hawk-shield-blue); }
.about-connect p{ font-size:1.1rem; color:rgba(255,255,255,.9); margin-bottom:1.5rem; line-height:1.6; }
.about-connect .button--primary{ background:linear-gradient(90deg, var(--hawk-shield-blue), var(--teal-accent)); border:none; }
.about-connect .button--primary:hover{ background:linear-gradient(90deg, var(--electric-blue), var(--teal-accent)); transform:translateY(-1px); }

/* Force dark text within the light About section */
main .section.about{ background:var(--white); color:var(--graphite); }
main .section.about p, main .section.about li{ color:var(--graphite); opacity:1; }
main .section.about h1, main .section.about h2, main .section.about h3, main .section.about h4{ color:var(--hawk-shield-blue); }
main .about-textblock p{ color:var(--graphite); opacity:1; }

/* ---------- 11) Footer ---------- */
.adhawk-footer{ background:var(--graphite); color:var(--white); text-align:center; padding-top:2.25rem; padding-bottom:1.75rem; }
.adhawk-footer .footer-top{ max-width:1100px; margin:0 auto; padding:0 1rem; }
.adhawk-footer h2{ margin:0 0 .75rem; color:var(--white); }
.adhawk-footer .privacy{ margin:0 0 1rem; font-weight:500; opacity:.95; color:rgba(255,255,255,.9); font-size:.95rem; line-height:1.5; }
.adhawk-footer .footer-divider{ margin:1.25rem 0 .9rem; height:1px; background:rgba(255,255,255,.08); }
.adhawk-footer .footer-bottom{ display:flex; flex-direction:column; align-items:center; gap:.5rem; margin-bottom:.75rem; }
.adhawk-footer .footer-contact{ margin:0; font-weight:500; font-size:.95rem; line-height:1.4; }
.adhawk-footer .footer-sep{ opacity:.7; margin:0 .35rem; }
.adhawk-footer .footer-email{ color:var(--electric-blue); font-weight:500; text-decoration:none; }
.adhawk-footer .footer-email:hover{ color:var(--hawk-shield-blue); text-decoration:underline; }
.adhawk-footer .footer-social{ margin:0; }
.adhawk-footer .social-link{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:.5rem; color:var(--white); text-decoration:none; transition:transform .15s ease, color .15s ease; }
.adhawk-footer .social-link:hover{ color:var(--hawk-shield-blue); transform:translateY(-1px); }
.adhawk-footer .copyright{ margin:0; opacity:.8; font-size:.9rem; }
.site-footer{ margin-top:0; } /* prevent Minima spacing doubling */

/* ---------- 12) Resume (screen + print) ---------- */
.adh-resume{ max-width:900px; margin:0 auto; padding:2rem 1rem; }
.adh-resume h1{ font-size:2rem; margin:0; }
.adh-resume__tag{ font-weight:600; color:var(--hawk-shield-blue); margin:.25rem 0; }
.adh-resume__brand{ color:var(--teal-accent); margin-bottom:.5rem; }
.adh-resume__meta a{ color:var(--electric-blue); text-decoration:none; }
.adh-resume__meta a:hover{ text-decoration:underline; }
.adh-resume__muted{ color:var(--slate-accent-gray); font-size:.95rem; }
.adh-resume__section{ margin-top:2rem; }
.adh-resume__section h2{ font-size:1.125rem; letter-spacing:.02em; color:var(--hawk-shield-blue); margin-bottom:.75rem; }
.adh-resume ul{ margin:.5rem 0 0 1.25rem; }
.adh-resume li{ margin:.25rem 0; line-height:1.45; }
.adh-resume__skillgrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:.5rem 1rem; list-style:none; padding:0; margin:0; }
.adh-resume__skillgrid li{ background:rgba(0,181,226,.08); border:1px solid rgba(0,181,226,.25); padding:.5rem .75rem; border-radius:.5rem; }
.adh-resume__role{ padding:1rem 0; border-top:1px solid rgba(60,79,99,.35); }
.adh-resume__role:first-of-type{ border-top:none; }
.adh-resume__title{ font-weight:600; margin:.25rem 0; }
.adh-resume__dates{ font-weight:500; color:var(--slate-accent-gray); margin-left:.5rem; }
.adh-resume .button{ display:inline-block; padding:.6rem 1rem; border-radius:.75rem; border:1px solid var(--electric-blue); text-decoration:none; font-weight:600; }
.adh-resume .button--primary{ background:var(--electric-blue); color:var(--white); }
.adh-resume .button--primary:hover{ filter:brightness(1.05); }
.adh-resume__email, .adh-resume__email--alt{ color:var(--electric-blue); font-weight:500; text-decoration:none; }
.adh-resume__email:hover, .adh-resume__email--alt:hover{ text-decoration:underline; }
@media (max-width:640px){
  .adh-resume{ padding:1.25rem .875rem; }
  .adh-resume h1{ font-size:1.6rem; }
  .adh-resume__section h2{ font-size:1.05rem; }
}
@media (prefers-color-scheme: dark){
  .adh-resume__skillgrid li{ background:rgba(0,181,226,.12); border-color:rgba(0,181,226,.35); }
  .adh-resume__muted{ color:#9fb0bf; }
}

/* Print */
@media print{
  @page{ size:Letter; margin:.35in; }
  :root{ color-scheme:light; }
  html,body{ background:#fff !important; height:auto !important; font-size:10.5pt; line-height:1.30; }
  .site-header,.site-footer,.adhawk-footer,nav,.social-link,.button,.footer-top,.footer-bottom{ display:none !important; }
  .adh-resume, .adh-resume *{ color:#111 !important; opacity:1 !important; text-shadow:none !important; -webkit-text-stroke:0 !important; }
  .adh-resume{ max-width:none !important; padding:0 !important; margin:0 !important; box-shadow:none !important; }
  .adh-resume h1{ font-size:16pt !important; margin:0 0 .16in !important; }
  .adh-resume__tag{ margin:.03in 0 .05in !important; }
  .adh-resume__brand{ margin:0 0 .10in !important; }
  .adh-resume__section h2{ font-size:11.25pt !important; margin:0 0 .09in !important; break-after:avoid; }
  .adh-resume__section{ margin-top:.14in !important; break-inside:auto !important; page-break-inside:auto !important; }
  .adh-resume__section + .adh-resume__section{ margin-top:.14in !important; }
  .adh-resume p{ margin:0 0 .05in !important; }
  .adh-resume ul{ margin:.02in 0 0 .14in !important; padding:0 !important; }
  .adh-resume li{ margin:.02in 0 !important; line-height:1.30 !important; }
  .adh-resume__skillgrid{ display:block !important; columns:4 !important; column-gap:.16in !important; list-style:disc inside !important; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
  .adh-resume__skillgrid li{ display:list-item !important; break-inside:auto !important; background:none !important; border:0 !important; padding:0 !important; margin:0 0 .035in !important; font-size:9.75pt !important; }
  #certifications{ margin-top:.10in !important; }
  #certifications .adh-resume__list{ margin:.02in 0 0 .16in !important; }
  #certifications li{ margin:.02in 0 !important; }
  .adh-resume__role{ padding:.08in 0 !important; border:0 !important; break-inside:avoid; page-break-inside:avoid; }
  .adh-resume__title{ font-weight:600 !important; margin:.02in 0 !important; }
  .adh-resume__dates{ color:#333 !important; margin-left:.06in !important; }
  .adh-resume a{ text-decoration:none !important; }
  a[href]:after{ content:"" !important; }
}

/* ---------- 13) Accessibility ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}


/* ===== Career Journey grid (2x2 layout for consistency) ===== */
.cj-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

@media (max-width: 680px) {
  .cj-grid { grid-template-columns: 1fr; }
}

/* Bullets: natural flow, consistent rhythm, safe wrapping */
.cj-bullets {
  margin: .5rem 0 0 1.1rem;
  padding: 0;
  display: grid;
  gap: .4rem;
  word-break: normal;
  overflow-wrap: anywhere;
  hyphens: none;
}
.cj-bullets > li { margin: 0; }

/* ===== Certifications & Training layout ===== */
.cert-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));  /* 2 side-by-side */
  justify-items: center;                             /* centers cards in each cell */
  align-items: start;
  margin-top: 1rem;
}

@media (max-width: 680px) {
  .cert-grid {
    grid-template-columns: 1fr;                      /* stack on small screens */
  }
}

.cert-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(10,30,51,.22), 0 2px 8px rgba(10,30,51,.10);
  padding: 1rem;
  text-align: center;
}

/* =========================================================
   ADHawk — Append-only fixes for live CSS
   (column leak stopper, isolated nav, cert equalization, CJ safety)
   ========================================================= */

/* A) Screen-only: neutralize accidental multi-column leaks
   (stops the “newspaper column” effect on About/CJ) */
@media screen {
  .page-content,
  .page-content *,
  .wrapper,
  .wrapper *,
  .post-content {
    column-count: initial !important;
    column-width: auto !important;
    columns: auto !important;
  }
}

/* B) Isolated nav (works with header.html using .adh-nav / .adh-link) */
.site-nav { display: none !important; } /* hide Minima nav entirely */

.adh-nav { position: relative; z-index: 2; }
.adh-menu{
  display: flex; flex-wrap: wrap; gap: .35rem .5rem;
  background: transparent; border: 0; box-shadow: none;
  padding: .25rem 0;
}
.adh-link{
  display: inline-block;
  color: var(--white) !important;
  background: transparent;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: .5rem;
  padding: .38rem .62rem;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.adh-link:hover{
  background: rgba(255,255,255,.10);
  color: var(--hawk-shield-blue) !important;
}
.adh-link.is-current,
.adh-link[aria-current="page"]{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
  color: var(--white) !important;
}
/* Stack title above nav on small screens */
@media (max-width: 680px){
  .site-header .wrapper{
    display:flex; flex-direction:column; align-items:flex-start; gap:.45rem;
  }
}

/* C) Certifications — equal card heights + centered badges (no bullets) */
#certifications .cert-grid,
#certifications .cert-grid > li{
  list-style: none; margin: 0; padding: 0;
}
#certifications .cert-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
  align-items: stretch;            /* cards in a row share height */
  justify-items: center;
  margin-top: 1rem;
}
@media (max-width: 680px){
  #certifications .cert-grid{ grid-template-columns: 1fr; }
}
/* equal-height cards and remove stray ::before/::after from other components */
#certifications .cert-card{
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 1rem 1rem 1.25rem;
  min-height: 280px;
  height: 100%;
}
#certifications .cert-card::before,
#certifications .cert-card::after{ content: none !important; }
/* fixed badge box ensures consistent logo sizing */
#certifications .cert-media{
  width: 180px; height: 180px;
  display: flex; align-items: center; justify-content: center;
  margin-top: .25rem;
}
#certifications .cert-media img{
  max-width: 100%; max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.25));
}
#certifications .cert-meta h3{
  margin: .75rem 0 0; text-align: center;
  font-weight: 700; font-size: 1.05rem; color: var(--hawk-shield-blue);
}

/* D) Career Journey — ensure 2×2 grid and safe bullets */
.career-journey { counter-reset: phase 0; }
.cj-grid{
  display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr));
  align-items: start;
}
@media (max-width: 680px){ .cj-grid { grid-template-columns: 1fr; } }
.cj-bullets{
  margin: .5rem 0 0 1.1rem; padding: 0;
  display: grid; gap: .4rem;
  word-break: normal; overflow-wrap: anywhere; hyphens: none;
}
.cj-bullets > li{ margin: 0; }

/* ==== READY TO CONNECT — make live + test match exactly ==== */
/* Support BOTH class names so either markup renders the same */
.about-connect,
.adh-contact-strip{
  /* live slab look */
  position: relative;
  background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  color: var(--white);
  padding: clamp(2.75rem, 5vw, 4rem) 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    0 14px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.06);
  margin: 2rem auto;
}

.about-connect .about-connect__inner,
.adh-contact-strip .adh-contact-inner{
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.about-connect h2,
.adh-contact-strip .adh-contact-heading{
  margin: 0 0 .65rem;
  font-weight: 800;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.2;
  color: var(--hawk-shield-blue);
  letter-spacing: .01em;
}

.about-connect p,
.adh-contact-strip .adh-contact-text{
  margin: 0 0 1.25rem;
  color: rgba(255,255,255,.92);
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.65;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

.about-connect a.button,
.adh-contact-strip .adh-contact-btn{
  display: inline-block;
  background: linear-gradient(90deg, var(--hawk-shield-blue), var(--teal-accent));
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: .75rem;
  padding: .75rem 1.25rem;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,181,226,.25);
  transition: transform .15s ease, background .25s ease, box-shadow .25s ease;
}

.about-connect a.button:hover,
.adh-contact-strip .adh-contact-btn:hover{
  background: linear-gradient(90deg, var(--electric-blue), var(--teal-accent));
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,181,226,.32);
}

/* === Ready to Connect — restore left-to-right gradient background === */
.about-connect,
.adh-contact-strip{
  background: linear-gradient(90deg,
    var(--graphite) 0%,
    var(--deep-navy) 100%);
  color: var(--white);
  padding: clamp(2.75rem, 5vw, 4rem) 1.25rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    0 14px 30px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.06);
  margin: 2rem auto;
  position: relative;
  overflow: hidden;
}

.about-connect .about-connect__inner,
.adh-contact-strip .adh-contact-inner{
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

/* Headings */
.about-connect h2,
.adh-contact-strip .adh-contact-heading{
  margin: 0 0 .65rem;
  font-weight: 800;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.2;
  color: var(--hawk-shield-blue);
}

/* Paragraphs */
.about-connect p,
.adh-contact-strip .adh-contact-text{
  margin: 0 0 1.25rem;
  color: rgba(255,255,255,.92);
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.65;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* Button */
.about-connect a.button,
.adh-contact-strip .adh-contact-btn{
  display: inline-block;
  background: linear-gradient(90deg, var(--hawk-shield-blue), var(--teal-accent));
  color: #fff;
  font-weight: 600;
  border: none;
  border-radius: .75rem;
  padding: .75rem 1.25rem;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,181,226,.25);
  transition: transform .15s ease, background .25s ease, box-shadow .25s ease;
}

.about-connect a.button:hover,
.adh-contact-strip .adh-contact-btn:hover{
  background: linear-gradient(90deg, var(--electric-blue), var(--teal-accent));
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,181,226,.32);
}

/* === Fix nav stacking on large screens === */
.adh-menu{
  display: flex;
  flex-wrap: nowrap !important;    /* never wrap on wide screens */
  justify-content: flex-end;       /* align links horizontally to the right */
  align-items: center;
  gap: .65rem;                     /* consistent spacing */
  overflow: visible !important;    /* no clipping */
}

.adh-link{
  white-space: nowrap;             /* keep labels from breaking */
  padding: .4rem .75rem;
  font-size: 1rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: .5rem;
}

@media (max-width: 700px){
  /* Allow wrapping or scrolling only when the screen is truly small */
  .adh-menu{
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.sa-badge-link { display:inline-block; line-height:0; }
.sa-badge-link img { display:block; height:28px; }.sa-badge-link { display:inline-block; line-height:0; }
.sa-badge-link img { display:block; height:28px; }