
/* ATIG Base Styles — mobile-first, fast, and accessible */
:root{
  --bg:#FFFFFF;
  --text:#111111;
  --muted:#4A4A4A;
  --accent:#1B5E20;         /* deep green */
  --accent-contrast:#FFFFFF;
  --border:#E6E6E6;
  --callout:#F7FBF8;
  --focus:#0B5FFF;          /* visible focus color */
  --link:#0A4D8C;           /* high-contrast link color */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  color:var(--text); background:var(--bg); line-height:1.55;
}
a{color:var(--link); text-decoration:underline}
a:focus, button:focus, input:focus, textarea:focus{
  outline:3px solid var(--focus); outline-offset:2px;
}
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{position:static; width:auto; height:auto; padding:0.5rem 0.75rem; background:#FFF; border:2px solid var(--focus)}

header{
  border-bottom:1px solid var(--border);
  background:#FFF;
  position:sticky; top:0; z-index:100;
}
.container{max-width:1080px; margin:0 auto; padding:0 16px}
.nav{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.nav a{font-weight:600; text-decoration:none; margin-left:16px; color:#111}
.nav a:hover{text-decoration:underline}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:38px; width:auto}
.brand .tagline{font-size:12px; color:var(--muted)}

.hero{
  padding:40px 0 24px;
}
.hero h1{font-size:28px; margin:0 0 8px 0; line-height:1.2}
.hero p{font-size:16px; color:var(--muted); margin:0 0 16px 0}
.cta-row{display:flex; flex-wrap:wrap; gap:12px}
.btn{
  display:inline-block; border:none; cursor:pointer; font-weight:700;
  padding:12px 18px; border-radius:8px; text-decoration:none;
}
.btn-primary{background:var(--accent); color:var(--accent-contrast)}
.btn-secondary{background:#EAF3EC; color:#0D3B15; border:1px solid #CFE3D3}
.btn:focus-visible{outline:3px solid var(--focus)}

.section{padding:24px 0; border-top:1px solid var(--border)}
.section h2{font-size:20px; margin:0 0 12px 0}
.grid{display:grid; gap:16px}
.card{
  border:1px solid var(--border); border-radius:12px; padding:16px; background:#FFF;
}
.card h3{font-size:16px; margin:0 0 8px 0}
.list{margin:0; padding-left:20px}
.list li{margin:6px 0}

.callout{background:var(--callout); border:1px solid #DCEFE2; border-radius:12px; padding:16px}

footer{
  border-top:1px solid var(--border);
  margin-top:24px; padding:24px 0; font-size:12px; color:var(--muted);
}
footer a{color:inherit; text-decoration:underline}

@media (min-width:720px){
  .hero{padding:56px 0 32px}
  .hero h1{font-size:40px}
  .hero p{font-size:18px}
  .grid.cols-2{grid-template-columns:1fr 1fr}
  .grid.cols-3{grid-template-columns:repeat(3,1fr)}
}
/* profile photos in about section */
.profile-photo {
  display: block;
  max-width: 300px;   /* cap the size on larger screens */
  width: 100%;        /* responsive scaling */
  height: auto;       /* maintain aspect ratio */
  margin: 1rem auto;  /* center horizontally, add spacing */
  border-radius: 8px; /* optional polish */
}

/* On small screens, allow photos to be larger */
@media (max-width: 600px) {
  .profile-photo {
    max-width: 90%;   /* fill most of the container */
  }
}

/* cover styles */
.cover {
  background: linear-gradient(180deg, #0A0A0A 0%, #121212 60%, #0A0A0A 100%);
  color:#fff;
  padding:56px 0 24px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.cover .brand .tagline{color:#D1D5DB}
.cover h1{font-size:40px; line-height:1.1; margin:12px 0 8px 0; color:#FFFFFF}
.cover p{color:#E5E7EB; font-size:18px; margin:0 0 16px}
.grid.cards{display:grid; gap:16px}
.grid.cards .card{
  background:#0F1410; border:1px solid #203625; color:#E8F1EA;
}
.grid.cards .card h3{color:#FFFFFF}
.grid.cards .card p{color:#CFE3D3}
.badge{
  display:inline-block; font-size:12px; line-height:1; padding:6px 10px;
  border-radius:999px; background:#1B5E20; color:#FFFFFF; border:1px solid #2E7D32;
}
.source-note{font-size:12px; color:#9CA3AF; margin-top:8px}
.index-footer{
  color:#9CA3AF; padding:16px 0 0; border-top:1px solid rgba(255,255,255,0.08);
}
@media (min-width:720px){
  .cover h1{font-size:56px}
  .grid.cards.cols-2{grid-template-columns:repeat(2,1fr)}
  .grid.cards.cols-4{grid-template-columns:repeat(4,1fr)}
}

/* global dark header */
header.cover, header{
  background: linear-gradient(180deg,#0A0A0A 0%,#121212 60%,#0A0A0A 100%);
  color:#fff;
}
header .nav a{color:#F3F4F6}
header .nav a:hover{text-decoration:underline; color:#FFFFFF}
header .brand .tagline{color:#D1D5DB}

/* shared dark header across all pages */
header.cover, header.header-dark{
  background: linear-gradient(180deg, #0A0A0A 0%, #121212 60%, #0A0A0A 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
header.cover a, header.header-dark a{ color:#FFFFFF; }
header.cover .nav a, header.header-dark .nav a{ color:#FFFFFF; }
.brand .tagline{ display:none; } /* hide small tagline as requested for index */

/* Dark authoritative hero treatment */
.hero {
  background: linear-gradient(180deg,#0A0A0A 0%, #121212 80%, #0A0A0A 100%);
  color:#FFFFFF;
  text-align:left;
  padding:64px 0;
}
.hero h1{color:#FFFFFF; font-size:32px; font-weight:800; margin-bottom:12px;}
.hero p{color:#E5E7EB; font-size:18px; margin-bottom:20px;}


/* Textured overlay for hero background */
.hero {
  position:relative;
  background: linear-gradient(180deg,#0A0A0A 0%, #121212 80%, #0A0A0A 100%);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; top:0; left:0; right:0; bottom:0;
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 8px);
  pointer-events:none;
}
.hero .container{position:relative; z-index:1;}
.hero h1{color:#FFFFFF; font-size:32px; font-weight:800; margin-bottom:12px;}
.hero p{color:#E5E7EB; font-size:18px; margin-bottom:20px;}
/* Force index hero heading larger */
.hero.index-hero h1{display:block; width:100%; font-size:clamp(48px, 8vw, 96px) !important; font-weight:900; letter-spacing:1.5px; text-align:center;}

/* hero texture overlay */
.hero{ position:relative; overflow:hidden; }
.hero::before{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:32px 32px, 32px 32px;
  mix-blend-mode:overlay;
  opacity:0.35;
}

/* diagonal hatch overlay */
.hero::after{
  content:"";
  position:absolute; inset:0; pointer-events:none;
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.025) 0, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 20px);
  mix-blend-mode:overlay;
  opacity:0.25;
}

.index-top-name{display:block; width:100%; text-align:center; font-weight:900; font-size:clamp(32px,5vw,64px); letter-spacing:1px; margin:16px 0;}

/* enhanced diagonal hatch */
.hero::before{
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:32px 32px, 32px 32px, 24px 24px;
}
/* oversized index brand name across page width */
.index-brand{
  display:block;
  font-weight:900;
  font-size:clamp(48px, 9.5vw, 110px);
  line-height:0.95;
  letter-spacing:1px;
  margin:12px 0 4px 0;
  color:#FFFFFF;
}
