
:root{
  --bg:#050505; --bg2:#080808; --panel:#0a0a0a; --panel2:#0e0e0e;
  --line:#292929; --line2:#3a3a3a; --text:#e1dfd8; --muted:#999a96;
  --olive:#d8d8d2; --oliveDim:#777973; --max:1536px;
}
*{box-sizing:border-box}
html,body{margin:0;background:#020202;color:var(--text);font-family:Arial,Helvetica,sans-serif}
body{min-width:320px}
a{color:inherit;text-decoration:none}
.page{width:min(100%,var(--max));margin:0 auto;background:var(--bg);min-height:100vh}
.header{height:92px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:440px 1fr;align-items:center;padding:0 42px}
.brand{display:flex;align-items:center;gap:18px}
.logo{font-size:68px;font-weight:800;letter-spacing:-7px;line-height:.8}
.wordmark{border-left:1px solid #343934;padding-left:17px;font-size:13px;line-height:1.5;letter-spacing:3.5px}
.nav{display:flex;justify-content:flex-end;align-items:center;gap:43px;font-size:12px;letter-spacing:2.1px}
.nav a{padding:10px 0;color:#d7d4cc}
.nav a.active{color:var(--olive);border-bottom:1px solid var(--olive)}
.hero{height:382px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:#050505;}
.heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:grayscale(1) contrast(1.08) brightness(.70);}
.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,2,2,.99) 0%,rgba(2,2,2,.94) 30%,rgba(2,2,2,.67) 47%,rgba(2,2,2,.20) 69%,rgba(2,2,2,.08) 100%);pointer-events:none;}
.heroCopy{position:absolute;left:43px;top:42px;width:510px}
.eyebrow{font-size:14px;letter-spacing:6px;color:var(--olive);margin-bottom:23px}
h1{font-size:66px;line-height:1.08;letter-spacing:5px;font-weight:300;margin:0 0 17px}
.tag{display:flex;align-items:center;gap:17px;color:var(--olive);letter-spacing:6px;font-size:14px}
.tag:before{content:"";width:48px;height:1px;background:var(--olive)}
.hero p{margin:25px 0 20px;width:450px;color:#c4c3bc;font-size:14px;line-height:1.55}
.textLink{color:var(--olive);font-size:11px;letter-spacing:1.8px}
.featureSection{height:232px;padding:13px 41px 17px}
.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;height:100%}
.feature{height:100%;border:1px solid var(--line);background:linear-gradient(135deg,var(--panel2),var(--panel));display:grid;grid-template-columns:56% 44%;overflow:hidden}
.featureCopy{padding:25px 25px 19px;display:flex;flex-direction:column}
.featureIcon{width:46px;height:46px;border:1px solid var(--oliveDim);border-radius:50%;display:grid;place-items:center;color:var(--olive);font-size:18px;margin-bottom:13px}
.feature h2{font-size:16px;line-height:1.3;letter-spacing:2px;font-weight:400;margin:0 0 11px}
.feature p{font-size:12px;line-height:1.55;color:#b4b5ae;margin:0 0 auto}
.featureArt{background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05) brightness(.72)}
.research{height:168px;margin:0 41px;border:1px solid var(--line);padding:17px 19px}
.researchHead{display:flex;justify-content:space-between;align-items:center;height:28px}
.researchTitle{border-left:2px solid var(--olive);padding-left:16px;letter-spacing:2px;font-size:12px;color:#bebdb6}
.researchItems{display:grid;grid-template-columns:repeat(4,1fr);height:103px}
.researchItem{padding:13px 18px;border-right:1px solid var(--line)}
.researchItem:last-child{border-right:0}
.researchItem .small{font-size:10px;color:var(--olive);letter-spacing:1.4px;margin-bottom:8px}
.researchItem h3{font-size:12px;letter-spacing:1.6px;font-weight:400;margin:0 0 8px}
.researchItem p{font-size:11px;line-height:1.45;color:#9fa099;margin:0}
.bottomBar{height:74px;margin:14px 41px 0;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 280px;align-items:center}
.restricted{padding:0 17px}
.restricted strong{display:block;color:var(--olive);font-size:11px;letter-spacing:1.8px;margin-bottom:6px;font-weight:400}
.restricted span{font-size:10px;color:#8e9089}
.quote{text-align:center;font-size:12px;line-height:1.45;color:#b7b6af;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.bottomBrand{display:flex;align-items:center;justify-content:center;gap:16px}
.bottomBrand .miniLogo{font-size:41px;font-weight:800;letter-spacing:-5px}
.bottomBrand .miniWord{font-size:10px;line-height:1.5;letter-spacing:2.4px}
.footer{height:64px;display:flex;align-items:center;padding:0 42px;color:#8d8f88;font-size:9px;letter-spacing:1px}
.statusNote{display:block;margin-top:7px;color:#686b65;font-size:9px;letter-spacing:.7px}
.inner{padding:58px 50px 80px}
.inner h1{font-size:44px;letter-spacing:3px;margin-bottom:10px}
.inner .intro{max-width:720px;color:#a9aaa3;line-height:1.7}
.searchBox{margin-top:34px;border:1px solid var(--line);display:grid;grid-template-columns:1fr auto;max-width:720px}
.searchBox input{height:48px;background:transparent;border:0;outline:0;color:var(--text);padding:0 16px;font-size:14px}
.searchBox button{width:110px;background:transparent;color:var(--olive);border:0;border-left:1px solid var(--line);letter-spacing:1.5px}
.empty{margin-top:28px;border-top:1px solid var(--line);padding-top:28px;color:#777a73;font-size:13px}
@media(max-width:1050px){
 .header{grid-template-columns:1fr;height:auto;min-height:108px;padding:20px 24px}.nav{justify-content:flex-start;flex-wrap:wrap;gap:22px;margin-top:16px}
 .heroCopy{left:25px}.featureSection{height:auto;padding:15px 25px}.featureGrid{grid-template-columns:1fr}.feature{min-height:210px}
 .research{height:auto;margin:0 25px}.researchItems{height:auto;grid-template-columns:1fr 1fr}.researchItem:nth-child(2){border-right:0}
 .bottomBar{height:auto;margin:14px 25px;grid-template-columns:1fr}.quote,.bottomBrand{padding:20px;border:0;border-top:1px solid var(--line)}
 .footer{height:auto;padding:25px}
}
@media(max-width:650px){
 .logo{font-size:52px}.wordmark{font-size:10px;letter-spacing:2px}.nav{font-size:10px}
 .hero{height:560px}.heroVideo{object-position:65% center}.heroCopy{right:25px;width:auto;top:44px}
 h1{font-size:49px}.hero p{width:auto}.researchItems{grid-template-columns:1fr}.researchItem{border-right:0;border-bottom:1px solid var(--line)}
 .feature{grid-template-columns:1fr}.featureArt{min-height:130px}.inner{padding:45px 25px}
}

@media (prefers-reduced-motion: reduce){.heroVideo{display:none}.hero{background:#050505 url("../assets/images/hero-fallback.jpg") center/cover no-repeat}.heroShade{background:linear-gradient(90deg,rgba(2,2,2,.99),rgba(2,2,2,.25))}}


/* IFA production logo asset */
.logoImage{
  display:block;
  width:155px;
  height:auto;
  object-fit:contain;
}
.miniLogoImage{
  display:block;
  width:104px;
  height:auto;
  object-fit:contain;
}
@media(max-width:650px){
  .logoImage{width:118px}
  .miniLogoImage{width:90px}
}


/* V6 — uncluttered homepage feature cards, no baked images */
.featureSection{
  height:auto;
  padding:18px 41px 20px;
}
.featureGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  height:auto;
}
.feature.featureNoArt{
  min-height:260px;
  display:block;
  overflow:visible;
  background:linear-gradient(135deg,#0b0d0c,#070908);
}
.featureNoArt .featureCopy{
  min-height:260px;
  padding:28px 30px 26px;
}
.featureNoArt h2{
  margin-top:0;
  margin-bottom:16px;
  line-height:1.28;
}
.featureNoArt p{
  max-width:360px;
  font-size:13px;
  line-height:1.65;
  margin-bottom:28px;
}
.featureNoArt .textLink{
  margin-top:auto;
}
.featureNoArt .featureIcon{
  width:52px;
  height:52px;
  border:1px solid #6f726b;
  border-radius:50%;
  position:relative;
  margin-bottom:20px;
  color:#d8d5cc;
  background:transparent;
}
.featureNoArt .featureIcon *{
  position:absolute;
  display:block;
}

/* crop / sprout icon */
.featureIconCrop .stem{
  width:2px;height:24px;background:#d8d5cc;left:25px;top:14px;
}
.featureIconCrop .leaf{
  width:13px;height:7px;border:1px solid #d8d5cc;border-radius:100% 0 100% 0;
}
.featureIconCrop .l1{left:13px;top:19px;transform:rotate(24deg)}
.featureIconCrop .l2{left:26px;top:24px;transform:scaleX(-1) rotate(24deg)}
.featureIconCrop .l3{left:17px;top:11px;transform:rotate(48deg)}

/* science flask icon */
.featureIconTech .flaskNeck{
  width:8px;height:13px;border-left:1px solid #d8d5cc;border-right:1px solid #d8d5cc;left:22px;top:10px;
}
.featureIconTech .flaskBody{
  width:24px;height:20px;border:1px solid #d8d5cc;border-top:0;left:14px;top:22px;
  clip-path:polygon(30% 0,70% 0,100% 100%,0 100%);
}

/* Endeavor-inspired generic science-vessel icon */
.featureIconShip .shipBody{
  width:25px;height:8px;border:1px solid #d8d5cc;left:14px;top:23px;transform:skewX(-18deg);
}
.featureIconShip .shipWing{
  width:15px;height:1px;background:#d8d5cc;top:29px;
}
.featureIconShip .wingL{left:7px;transform:rotate(-20deg)}
.featureIconShip .wingR{right:7px;transform:rotate(20deg)}

@media(max-width:1050px){
  .featureGrid{grid-template-columns:1fr}
  .feature.featureNoArt,.featureNoArt .featureCopy{min-height:220px}
}


/* =========================================================
   IFA // MILITARY APPLICATION — R&D INDEX
   ========================================================= */

.rnd-body{
  min-height:100vh;
  background:#020403;
  color:#d9d7d0;
}
.rnd-shell{
  max-width:1536px;
  margin:0 auto;
  min-height:100vh;
  background:#050706;
}
.rnd-topbar{
  height:86px;
  border-bottom:1px solid #242724;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 42px;
}
.rnd-brand{
  display:flex;
  align-items:center;
  gap:18px;
}
.rnd-logo{
  width:132px;
  height:auto;
  display:block;
}
.rnd-id{
  border-left:1px solid #343934;
  padding-left:16px;
  font-size:11px;
  line-height:1.6;
  letter-spacing:2.4px;
  color:#9c9e98;
}
.rnd-clearance{
  text-align:right;
  font-size:10px;
  line-height:1.7;
  letter-spacing:1.6px;
  color:#777a74;
}
.rnd-clearance strong{
  display:block;
  color:#d6d3cb;
  font-weight:400;
}
.rnd-hero{
  padding:56px 42px 34px;
  border-bottom:1px solid #242724;
  display:grid;
  grid-template-columns:1fr 360px;
  gap:50px;
}
.rnd-kicker{
  font-size:11px;
  letter-spacing:3px;
  color:#8a8d86;
  margin-bottom:13px;
}
.rnd-hero h1{
  margin:0 0 18px;
  font-weight:300;
  font-size:48px;
  line-height:1.05;
  letter-spacing:3px;
  color:#e1ded6;
}
.rnd-hero p{
  margin:0;
  max-width:760px;
  color:#999b95;
  font-size:13px;
  line-height:1.75;
}
.rnd-directive{
  border:1px solid #2a2e2a;
  background:#080a09;
  padding:20px;
  align-self:start;
}
.rnd-directive .label{
  font-size:10px;
  letter-spacing:2px;
  color:#c4c2bb;
  margin-bottom:10px;
}
.rnd-directive p{
  font-size:11px;
  line-height:1.65;
  color:#777a74;
}
.rnd-toolbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  padding:22px 42px;
  border-bottom:1px solid #242724;
}
.rnd-search{
  height:44px;
  display:grid;
  grid-template-columns:1fr 92px;
  border:1px solid #2a2e2a;
  max-width:660px;
}
.rnd-search input{
  background:transparent;
  border:0;
  color:#d7d4cc;
  outline:0;
  padding:0 14px;
  font-size:12px;
  letter-spacing:.5px;
}
.rnd-search button{
  background:transparent;
  border:0;
  border-left:1px solid #2a2e2a;
  color:#aaa9a2;
  font-size:10px;
  letter-spacing:1.6px;
  cursor:pointer;
}
.rnd-filter{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:10px;
  letter-spacing:1.4px;
  color:#70736d;
}
.rnd-filter button{
  background:none;
  border:0;
  color:#70736d;
  cursor:pointer;
  padding:0;
  letter-spacing:1.4px;
}
.rnd-filter button.active{color:#dedbd3}
.rnd-list{
  padding:0 42px 50px;
}
.rnd-row{
  display:grid;
  grid-template-columns:92px 1fr 210px 150px 36px;
  gap:20px;
  align-items:center;
  min-height:72px;
  border-bottom:1px solid #202420;
  cursor:pointer;
  transition:background .15s ease;
}
.rnd-row:hover{
  background:#080a09;
}
.rnd-code{
  font-size:10px;
  letter-spacing:1.5px;
  color:#666a64;
}
.rnd-title{
  font-size:13px;
  letter-spacing:1.7px;
  color:#d8d5cd;
}
.rnd-title small{
  display:block;
  font-size:10px;
  letter-spacing:1px;
  color:#6f726c;
  margin-top:6px;
}
.rnd-division{
  font-size:10px;
  letter-spacing:1.4px;
  color:#888b84;
}
.rnd-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  letter-spacing:1.3px;
  color:#747770;
}
.rnd-status:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#747770;
}
.rnd-status.open{color:#d2d0c9}
.rnd-status.open:before{background:#d2d0c9}
.rnd-status.pending{color:#8a8d86}
.rnd-status.pending:before{background:#8a8d86}
.rnd-status.denied{color:#5e615c}
.rnd-status.denied:before{background:#4f524e}
.rnd-arrow{
  color:#666963;
  font-size:16px;
}
.rnd-footer{
  border-top:1px solid #242724;
  min-height:72px;
  padding:20px 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#666963;
  font-size:9px;
  letter-spacing:1.2px;
}
.rnd-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.88);
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:30;
}
.rnd-overlay.show{display:flex}
.rnd-modal{
  width:min(520px,100%);
  border:1px solid #313531;
  background:#070908;
  padding:28px;
}
.rnd-modal .code{
  font-size:10px;
  letter-spacing:2px;
  color:#6f726c;
  margin-bottom:12px;
}
.rnd-modal h2{
  margin:0 0 14px;
  font-size:24px;
  font-weight:300;
  letter-spacing:2px;
}
.rnd-modal p{
  margin:0 0 22px;
  color:#858881;
  font-size:12px;
  line-height:1.7;
}
.rnd-modal button{
  height:42px;
  width:100%;
  background:transparent;
  border:1px solid #313531;
  color:#b7b5ae;
  letter-spacing:1.6px;
  cursor:pointer;
}
@media(max-width:900px){
  .rnd-hero{grid-template-columns:1fr}
  .rnd-toolbar{grid-template-columns:1fr}
  .rnd-row{grid-template-columns:72px 1fr 120px 110px 24px;gap:10px}
  .rnd-division{display:none}
}
@media(max-width:620px){
  .rnd-topbar,.rnd-hero,.rnd-toolbar,.rnd-list,.rnd-footer{padding-left:22px;padding-right:22px}
  .rnd-topbar{height:auto;min-height:80px}
  .rnd-logo{width:105px}
  .rnd-clearance{display:none}
  .rnd-row{grid-template-columns:62px 1fr 92px 20px}
  .rnd-division{display:none}
  .rnd-status{font-size:8px}
  .rnd-title{font-size:12px}
}


/* =========================================================
   V9 — AGRICULTURAL COMMODITY DATABASE
   ========================================================= */
.database-page{
  padding:52px 50px 84px;
}
.database-head{
  display:grid;
  grid-template-columns:minmax(0,760px) 1fr;
  gap:60px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid #242724;
}
.database-head h1{
  margin:0 0 13px;
  font-size:44px;
  font-weight:300;
  letter-spacing:3px;
  color:#dedbd3;
}
.database-head .intro{
  margin:0;
  max-width:700px;
  color:#92958e;
  font-size:13px;
  line-height:1.72;
}
.database-meta{
  justify-self:end;
  text-align:right;
  color:#646761;
  font-size:9px;
  line-height:1.8;
  letter-spacing:1.3px;
}
.database-meta strong{
  color:#a4a69f;
  font-weight:400;
}
.commodity-toolbar{
  display:grid;
  grid-template-columns:minmax(280px,620px) 1fr;
  gap:30px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid #242724;
}
.commodity-search{
  height:45px;
  display:grid;
  grid-template-columns:1fr 94px;
  border:1px solid #2b2f2b;
}
.commodity-search input{
  border:0;
  outline:0;
  background:transparent;
  color:#d8d5cd;
  padding:0 14px;
  font-size:12px;
  letter-spacing:.5px;
}
.commodity-search button{
  border:0;
  border-left:1px solid #2b2f2b;
  background:transparent;
  color:#9b9d96;
  cursor:pointer;
  font-size:9px;
  letter-spacing:1.5px;
}
.commodity-count{
  justify-self:end;
  color:#6b6e68;
  font-size:9px;
  letter-spacing:1.5px;
}
.commodity-list{
  border-top:0;
}
.commodity-row{
  min-height:112px;
  display:grid;
  grid-template-columns:78px minmax(0,820px);
  gap:22px;
  padding:25px 0;
  border-bottom:1px solid #202420;
}
.commodity-index{
  color:#555953;
  font-size:10px;
  letter-spacing:1.7px;
  padding-top:4px;
}
.commodity-record h2{
  margin:0 0 10px;
  font-size:15px;
  font-weight:400;
  letter-spacing:1.8px;
  color:#d9d6ce;
}
.commodity-record p{
  margin:0;
  max-width:760px;
  color:#9c9e98;
  font-size:13px;
  line-height:1.68;
}
.commodity-empty{
  padding:36px 0;
  color:#666963;
  font-size:10px;
  letter-spacing:1.4px;
}
.database-footnote{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid #242724;
  max-width:900px;
  color:#60635e;
  font-size:9px;
  line-height:1.7;
  letter-spacing:.7px;
}
@media(max-width:800px){
  .database-page{padding:42px 24px 70px}
  .database-head{grid-template-columns:1fr}
  .database-meta{justify-self:start;text-align:left}
  .commodity-toolbar{grid-template-columns:1fr}
  .commodity-count{justify-self:start}
  .commodity-row{grid-template-columns:48px 1fr}
}


/* =========================================================
   V10 — IFA MARKET & AGRICULTURAL BULLETIN
   Monochrome, low-contrast, intentionally secondary.
   ========================================================= */
.ifa-bulletin{
  margin:14px 41px 0;
  border:1px solid #242724;
  background:#040605;
  overflow:hidden;
}
.bulletin-header{
  height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 13px;
  border-bottom:1px solid #202320;
  color:#777a74;
  font-size:8px;
  letter-spacing:1.7px;
}
.bulletin-header strong{
  font-weight:400;
  color:#a6a49e;
}
.bulletin-header span:last-child{
  color:#50534f;
}
.bulletin-row{
  height:30px;
  overflow:hidden;
  white-space:nowrap;
  position:relative;
}
.bulletin-row + .bulletin-row{
  border-top:1px solid #161916;
}
.ticker-track{
  display:inline-flex;
  min-width:max-content;
  height:100%;
  align-items:center;
  animation:ifaTickerMarket 36s linear infinite;
  will-change:transform;
}
.ticker-track-news{
  animation-duration:92s;
}
.bulletin-row:hover .ticker-track{
  animation-play-state:paused;
}
.ticker-market-item,
.ticker-news-item{
  display:inline-flex;
  align-items:center;
  height:100%;
  flex:0 0 auto;
}
.ticker-market-item{
  gap:8px;
  padding:0 26px 0 15px;
  border-right:1px solid #1b1e1b;
  color:#777a74;
  font-size:9px;
  letter-spacing:1px;
}
.ticker-market-item strong{
  color:#c2c0ba;
  font-weight:400;
  letter-spacing:1.4px;
}
.ticker-up,.ticker-down{
  color:#8d8f89;
}
.ticker-down::before{content:"▼ ";font-size:6px}
.ticker-up::before{content:"▲ ";font-size:6px}
.ticker-news-item{
  padding:0 42px 0 15px;
  color:#70736d;
  font-size:8px;
  letter-spacing:1.2px;
}
.ticker-news-item::before{
  content:"//";
  margin-right:12px;
  color:#464945;
}
@keyframes ifaTickerMarket{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
  .bulletin-row{overflow-x:auto}
}
@media(max-width:700px){
  .ifa-bulletin{margin-left:25px;margin-right:25px}
  .bulletin-header span:last-child{display:none}
}


/* V10.1 — ticker relocated beneath primary navigation */
.header + .ifa-bulletin{
  margin:0;
  border-left:0;
  border-right:0;
  border-top:0;
}
.header + .ifa-bulletin .bulletin-header{
  height:24px;
}
.header + .ifa-bulletin .bulletin-row{
  height:25px;
}
.header + .ifa-bulletin .ticker-market-item{
  font-size:8px;
}
.header + .ifa-bulletin .ticker-news-item{
  font-size:7.5px;
}

/* Market direction is the only strong colour in the public UI. */
.ticker-up{
  color:#6f9476 !important;
}
.ticker-down{
  color:#9a6868 !important;
}
.ticker-up::before{
  color:#6f9476;
}
.ticker-down::before{
  color:#9a6868;
}
