:root{
  --ink:#1c1b14;
  --parchment:#f4f0e3;
  --forest:#22402f;
  --forest-2:#173026;
  --root:#7c4a30;
  --root-light:#a9754f;
  --gold:#c69a3d;
  --line:#d9d0b8;
  --white:#fffdf7;
  --muted:#5b5842;
  --maxw:1140px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--parchment);
  color:var(--ink);
  font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif; font-weight:600; color:var(--forest-2); margin:0 0 .5em; letter-spacing:-.01em;}
a{color:var(--forest);}
img{max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 30px;}
.wrap.narrow{max-width:820px;}
.mono{font-family:'IBM Plex Mono',monospace; letter-spacing:.02em;}
.center{text-align:center;}

.skip{position:absolute; left:-9999px; top:0; background:var(--gold); color:var(--forest-2);
      padding:10px 16px; z-index:200; font-weight:700;}
.skip:focus{left:8px; top:8px;}

/* ---------------- UDYAM BADGE ---------------- */
.udyam-badge{
  position:absolute; top:20px; right:20px; z-index:100;
  display:inline-flex; flex-direction:column; align-items:flex-end;
  padding:12px 18px; border-radius:6px;
  background:rgba(28,58,43,.92); border:1.5px solid var(--gold);
  text-align:right;
  animation:udyam-glow 2.2s ease-in-out infinite;
}
@keyframes udyam-glow{
  0%,100%{
    border-color:rgba(198,154,61,.35);
    box-shadow:0 0 0 rgba(198,154,61,0);
  }
  50%{
    border-color:rgba(198,154,61,1);
    box-shadow:0 0 18px rgba(198,154,61,.55), 0 0 6px rgba(198,154,61,.4) inset;
  }
}
.udyam-label{
  font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold); margin-bottom:4px; font-weight:500;
  display:block;
}
.udyam-number{
  font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:.03em;
  color:#f4f0e3; font-weight:600;
  display:block;
  animation:udyam-blink 2.2s ease-in-out infinite;
}
@keyframes udyam-blink{
  0%,100%{color:#f4f0e3; text-shadow:none;}
  50%{color:#ffd97a; text-shadow:0 0 10px rgba(255,217,122,.7);}
}
@media (max-width:768px){
  .udyam-badge{top:12px; right:12px; padding:8px 12px;}
  .udyam-label{font-size:8px; letter-spacing:.12em;}
  .udyam-number{font-size:10.5px;}
}
@media (prefers-reduced-motion:reduce){
  .udyam-badge,.udyam-number{animation:none;}
  .udyam-badge{border-color:var(--gold);}
}

/* ---------------- HERO ---------------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#12271e 0%, var(--forest-2) 45%, #1d3a2b 100%);
  color:var(--parchment);
  padding:44px 0 76px;
  text-align:center;
}
.roots{position:absolute; left:0; right:0; bottom:-4px; width:100%; height:270px; z-index:1; opacity:.75;}
.hero-inner{position:relative; z-index:2;}
.brand{display:inline-block; margin-bottom:30px;}
.brand img{height:104px; width:auto;}
.eyebrow{
  margin:0 0 14px; font-family:'IBM Plex Mono',monospace; font-size:12.5px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--gold);
}
.hero h1{
  color:var(--white); font-size:clamp(32px,5.4vw,60px); line-height:1.08; margin:0 0 20px;
}
.hero h1 em{font-style:italic; color:var(--root-light);}
.hero-lead{
  max-width:660px; margin:0 auto 30px; color:#d5d0bd; font-size:18.5px;
}
.cta-row{display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}
.btn{
  font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  padding:13px 26px; border-radius:2px; text-decoration:none; display:inline-block;
  border:1px solid transparent;
}
.btn-primary{background:var(--gold); color:var(--forest-2); font-weight:600;}
.btn-primary:hover{background:#d8ab4c;}
.btn-ghost{border-color:#5c7466; color:var(--parchment);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold);}

/* blinking glow on the hero call-to-action buttons */
.cta-row .btn{
  animation:btn-glow 2.2s ease-in-out infinite;
}
.cta-row .btn:nth-child(2){animation-delay:.35s;}
.cta-row .btn:nth-child(3){animation-delay:.7s;}
.cta-row .btn:hover{animation-play-state:paused;}
@keyframes btn-glow{
  0%,100%{
    background:var(--gold);
    box-shadow:0 0 0 rgba(198,154,61,0);
    transform:translateY(0);
  }
  50%{
    background:#e0b552;
    box-shadow:0 0 20px rgba(198,154,61,.65), 0 0 40px rgba(198,154,61,.25);
    transform:translateY(-2px);
  }
}
@media (prefers-reduced-motion:reduce){
  .cta-row .btn{animation:none;}
}

.rule-gold{height:4px; background:linear-gradient(90deg,var(--forest) 0%, var(--gold) 50%, var(--root) 100%);}

/* ---------------- SECTIONS ---------------- */
.section{padding:64px 0;}
.section.alt{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.kicker{
  font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.20em;
  text-transform:uppercase; color:var(--root); margin:0 0 10px;
}
.section h2{font-size:clamp(26px,3.6vw,38px); margin-bottom:14px;}
.subhead{
  font-family:'Fraunces',Georgia,serif; font-style:italic; font-size:20px;
  color:var(--root); margin:0 0 26px;
}
.section p{color:#3a3826; margin:0 0 18px;}
.section p.kicker{margin:0 0 10px;}
.section p.subhead{margin:0 0 26px;}
.section p.lede{max-width:680px; margin:0 auto 36px; color:var(--muted);}
.section p.jcode{margin:0 0 8px;}
.section p.jscope{margin:0 0 18px;}
.lede{max-width:680px; margin:0 auto 36px; color:var(--muted);}

/* ---------------- PILLARS ---------------- */
.pillars{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:38px;
}
.pillar{
  background:var(--parchment); border:1px solid var(--line); border-top:3px solid var(--forest);
  padding:26px 22px 24px;
}
.picon{color:var(--forest); margin-bottom:14px;}
.picon svg{width:44px; height:44px;}
.pillar h3{font-size:19px; margin-bottom:8px; line-height:1.25;}
.pillar p{font-size:15.5px; line-height:1.65; color:var(--muted); margin:0;}

/* ---------------- VISION / MISSION ---------------- */
.vm{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.vmcard{
  background:var(--white); border-left:4px solid var(--gold); padding:26px 28px;
}
.vmcard p:last-child{margin:0; font-size:17px; color:#3a3826;}

/* ---------------- JOURNALS ---------------- */
.journals{background:var(--white); border-top:1px solid var(--line);}
.jgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:38px;}
.jcard{
  display:flex; flex-direction:column; background:var(--parchment);
  border:1px solid var(--line); overflow:hidden;
}
.jart{
  display:flex; align-items:center; justify-content:center;
  height:190px; padding:18px;
}
.jart img{max-height:150px; width:auto;}
.j-acs .jart{background:linear-gradient(135deg,#05132d,#1f4c8f);}
.j-tmm .jart{background:linear-gradient(135deg,#04121f,#11475f);}
.j-med .jart{background:linear-gradient(135deg,#03273f,#1094a9);}
.jbody{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.jcode{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--root); margin:0 0 8px;
}
.jcard h3{font-size:18px; line-height:1.3; margin-bottom:12px;}
.jscope{font-size:14.5px; line-height:1.6; color:var(--muted); margin:0 0 18px; flex:1;}
.jlink{
  font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:.05em;
  text-transform:uppercase; text-decoration:none; color:var(--forest); font-weight:600;
  border-bottom:1px solid var(--gold); align-self:flex-start; padding-bottom:2px;
}
.jlink:hover{color:var(--root);}

.badges{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:44px;}
.badges span{
  font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.04em;
  border:1px solid var(--line); background:var(--parchment); color:var(--muted);
  padding:9px 16px; border-radius:999px;
}

/* ---------------- FOOTER ---------------- */
.foot{background:var(--forest-2); color:#c7cabb; padding:52px 0 26px;}
.footgrid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px;}
.footlogo{height:62px; width:auto; margin-bottom:14px;}
.foot p{font-size:14.5px; line-height:1.85; margin:0 0 6px; color:#c7cabb;}
.foot a{color:#c7cabb; text-decoration:none;}
.foot a:hover{color:var(--gold);}
.foot h5{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold); margin:0 0 14px;
}
.footbottom{
  border-top:1px solid #33493d; margin-top:38px; padding-top:20px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  font-size:12.5px; color:#8d9686;
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1000px){
  .pillars{grid-template-columns:repeat(2,1fr);}
  .jgrid{grid-template-columns:1fr; max-width:560px; margin-left:auto; margin-right:auto;}
  .footgrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .wrap{padding:0 20px;}
  .hero{padding:34px 0 56px;}
  .brand img{height:72px;}
  .pillars{grid-template-columns:1fr;}
  .vm{grid-template-columns:1fr;}
  .footgrid{grid-template-columns:1fr;}
  .section{padding:48px 0;}
  .cta-row{flex-direction:column; align-items:stretch;}
  .btn{text-align:center;}
  .udyam-badge{position:static; margin:0 auto 20px; max-width:280px;}
}

@media print{
  .skip,.cta-row{display:none;}
  .hero,.foot{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
