:root{
  --paper:#06100c;
  --paper-blue:#091812;
  --ink:#f2f7f4;
  --muted:#a7b6ae;
  --line:#29443a;
  --blue:#9ad8c7;
  --cyan:#67d4c6;
  --green:#285a47;
  --deep:#04100b;
  --sequence-label-size:13px;
  --page-gutter:clamp(16px,4.2vw,72px);
  --section-block:clamp(58px,7vw,104px);
}

html{overflow-x:clip}
body{min-width:0;overflow-x:clip}
main,main>section,.hero-copy,.hero-visual,.section-heading>*,.expertise-head>*,.agent-grid>*,.security-section>*{min-width:0}

.brand-symbol-only{width:auto;height:auto;overflow:visible;gap:13px}
.brand-symbol-only img{display:block;width:34px;height:46px;object-fit:contain;filter:invert(1)}
.brand-symbol-only span{font-size:22px;letter-spacing:-.035em}
.hybrid-nav nav a{font-size:15px}
.hybrid-nav{grid-template-columns:1fr auto 1fr;background:rgba(6,16,12,.96);border-bottom-color:#263d34}
.menu-toggle{justify-self:end}
.footer-brand{gap:14px;max-width:100%;font-weight:400;letter-spacing:0}
.footer-brand img{display:block;width:28px;height:38px;flex:0 0 auto;object-fit:contain;filter:invert(1)}
.footer-brand span{font:400 clamp(17px,1.5vw,20px)/1.3 Georgia,serif}
.footer-brand strong{font-weight:700}

.trust-strip div{grid-template-columns:repeat(6,1fr);gap:18px}
.trust-strip b{font-size:15px}
.agent-grid article:last-child h3{max-width:200px}
.workflow-icon{position:absolute;right:20px;top:20px;width:28px;height:28px;color:#67d4c6;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.security-marks span:last-child b{font-size:16px}
.manufacturing-caption{color:rgba(218,241,233,.78);font-size:var(--sequence-label-size);letter-spacing:.06em}
.announcement,
.eyebrow,
.trust-strip p,
.source-column span,
.output-column span,
.map-core small,
.agent-grid article>span{font-size:var(--sequence-label-size)}
.announcement{background:#163c30}
.eyebrow{color:#8fd2c0}
.hybrid-hero h1 em,.section-heading h2 em{color:#9ad8c7}
.primary-action{background:#edf8f3;color:#07110d;font-size:15px;padding:16px 20px}
.primary-action b{color:#2d6652}
.text-action{color:#eef6f2}
.trust-strip b{color:#dce9e3}
.system-section{border-top-color:#263f35}
.program-map{border-color:#315347;background:rgba(0,0,0,.18)}
.source-column span,.output-column span{background:#0c2119;border-color:#34584b;color:#edf6f2;box-shadow:none}
.output-column span{border-color:#3f7765}
.map-core{color:#0b1612}
.program-map path{stroke:#4d8f7b}
.system-foot a{color:#d9ede5}
.security-section{background:#0b2119}
.contact-section{background:#285a47}

/*
  Responsive sizing follows the DOE application's fill-and-reflow model:
  every box can shrink, spacing is fluid, and the Canvas owns a flexible host.
  The visual itself is resized by ResizeObserver in manufacturing-field.js.
*/
.hybrid-nav,
.hybrid-hero,
.trust-strip,
.system-section,
.expertise-section,
.security-section,
.contact-section,
.hybrid-footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}

.hybrid-hero{
  min-height:auto;
  padding-top:clamp(50px,5vw,76px);
  padding-bottom:clamp(42px,4.5vw,68px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));
  gap:clamp(36px,4vw,76px);
}
.hybrid-hero h1{
  font-size:clamp(48px,4vw,68px);
  line-height:.98;
  text-wrap:balance;
}
.hero-intro{font-size:clamp(15px,1.2vw,17px)}
.hero-actions{gap:clamp(18px,2vw,28px);flex-wrap:wrap}
.hero-visual canvas{
  width:100%;
  height:clamp(360px,36vw,610px);
}

.trust-strip{grid-template-columns:minmax(150px,220px) minmax(0,1fr)}
.trust-strip div{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.5vw,24px)}
.trust-strip b{overflow-wrap:anywhere}

.system-section,.expertise-section{padding-top:var(--section-block);padding-bottom:var(--section-block)}
.system-section .section-heading,.expertise-head{display:block;text-align:center}
.system-section .section-heading h2,.expertise-head h2{grid-column:auto;max-width:none;margin-inline:auto}
.section-heading,.expertise-head{
  grid-template-columns:clamp(120px,12vw,170px) minmax(0,1fr) minmax(220px,.45fr);
  gap:clamp(24px,3vw,40px);
}
.section-heading h2,.expertise-head h2{text-wrap:balance}
.section-heading h2,.expertise-head h2{
  grid-column:2;
  font-size:clamp(40px,3.35vw,48px);
  line-height:1.04;
}
.program-map{
  width:100%;
  height:clamp(360px,32vw,420px);
  grid-template-columns:minmax(0,1fr) clamp(120px,16vw,220px) minmax(0,1fr);
  padding:clamp(20px,3vw,38px);
}
.source-column,.output-column{min-width:0}
.source-column span,.output-column span{width:min(170px,100%);overflow-wrap:anywhere}
.map-core{width:100%;height:auto;aspect-ratio:1/1}
.system-foot{gap:24px}
.system-foot p,.agent-grid p{font-size:14px}

.expertise-section{min-height:clamp(720px,64vw,800px)}
.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(72px,8vw,110px)}
.agent-grid article{padding:clamp(18px,2vw,24px)}
.agent-grid h3{font-size:clamp(21px,2vw,25px)}

.security-section{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(48px,6vw,96px);
  padding-top:clamp(72px,7vw,104px);
  padding-bottom:clamp(72px,7vw,104px);
  align-items:start;
}
.security-section h2{font-size:clamp(38px,3.4vw,50px);margin-top:18px}
.security-section h2 span{display:block}
.governance-heading>p{
  color:#8fd2c0;
  font:700 12px/1.2 monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.governance-proofs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #315347;
  border-bottom:1px solid #315347;
}
.governance-proofs article{padding:24px clamp(18px,2.1vw,30px) 26px;border-left:1px solid #315347}
.governance-proofs article:first-child{border-left:0}
.governance-proofs strong{display:block;color:#f2f7f4;font:400 clamp(18px,1.45vw,22px)/1.15 Georgia,serif}
.governance-proofs p{margin-top:18px;color:#a7b6ae;font-size:14px;line-height:1.55}

.contact-section{min-height:clamp(240px,22vw,320px);align-items:center;text-align:center}
.contact-section .primary-action{position:relative;z-index:2}
.contact-orbit{width:clamp(300px,35vw,500px);height:clamp(300px,35vw,500px)}
.hybrid-footer{
  min-height:clamp(120px,12vw,150px);
  display:flex;
  align-items:center;
  padding-top:clamp(34px,4vw,48px);
  padding-bottom:clamp(34px,4vw,48px);
}

@media(max-width:1180px){
  .section-heading,.expertise-head{grid-template-columns:clamp(110px,12vw,150px) minmax(0,1fr)}
  .section-heading>p:last-child,.expertise-head>p:last-child{grid-column:2}
  .security-section{grid-template-columns:minmax(270px,.65fr) minmax(0,1.35fr);gap:40px}
  .governance-proofs{grid-template-columns:1fr}
  .governance-proofs article{border-left:0;border-top:1px solid #315347}
  .governance-proofs article:first-child{border-top:0}
}

@media(max-width:1050px){
  :root{--sequence-label-size:12px}
  .hero-copy{max-width:none}
  .trust-strip div{grid-template-columns:repeat(3,1fr);row-gap:20px}
}

@media(max-width:700px){
  :root{--sequence-label-size:10px}
  .brand-symbol-only{gap:10px}
  .brand-symbol-only img{width:29px;height:39px}
  .brand-symbol-only span{font-size:18px}
  .trust-strip div{grid-template-columns:1fr 1fr;gap:16px}
  .trust-strip{grid-template-columns:1fr}
  .trust-strip div{margin-top:18px}
  .trust-strip b{font-size:15px}
  .security-marks span:last-child b{font-size:13px}
  .manufacturing-caption{gap:6px;letter-spacing:.02em}
  .hybrid-hero{padding-top:clamp(42px,12vw,58px);gap:clamp(34px,10vw,48px)}
  .hybrid-hero h1{font-size:clamp(38px,11.5vw,48px)}
  .section-heading h2,.expertise-head h2{grid-column:auto;font-size:38px;line-height:1.03;margin-top:0}
  .security-section h2{font-size:34px}
  .hero-visual canvas{height:clamp(300px,50vw,350px)}
  .visual-caption{left:clamp(12px,4vw,20px);right:clamp(12px,4vw,20px);bottom:clamp(14px,4vw,22px)}
  .program-map{
    height:360px;
    grid-template-columns:minmax(0,1fr) clamp(104px,30vw,120px) minmax(0,1fr);
    padding:clamp(12px,4vw,18px);
  }
  .map-core{height:auto}
  .agent-grid{grid-template-columns:1fr}
  .security-section{display:block}
  .governance-proofs{margin-top:38px}
  .hybrid-footer{min-height:132px;padding-top:32px;padding-bottom:32px}
  .footer-brand{align-items:flex-start}
  .footer-brand span{font-size:17px}
}
