/* IronArch Technology — NASA SEWP VI contract offerings page.
   Implements ui_kits/website/nasa-sewp-vi.html from the IronArch design system.
   Tokens come from styles.css; this file holds page + component styles only. */

:root{ --ia-navy:#001445; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; }
body{
  font-family:var(--font-body);
  color:var(--text-body);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--link); text-decoration:none; }
a:hover{ color:var(--link-hover); }
img{ max-width:100%; }
::selection{ background:rgba(46,105,255,.2); }
:focus-visible{ outline:none; box-shadow:var(--shadow-focus); border-radius:var(--r-xs); }

.container{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-display); font-weight:var(--fw-bold);
  letter-spacing:var(--ls-button); text-transform:uppercase; line-height:1;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  border:1.5px solid transparent; border-radius:var(--r-sm);
  padding:12px 24px; font-size:14px;
  transition:background var(--dur) var(--ease-standard),color var(--dur) var(--ease-standard),
    border-color var(--dur) var(--ease-standard),box-shadow var(--dur) var(--ease-standard),
    transform var(--dur-fast) var(--ease-standard);
}
.btn--sm{ padding:8px 16px; font-size:13px; }
.btn--lg{ padding:16px 32px; font-size:15px; }
.btn--primary{ background:var(--brand-blue); color:#fff; border-color:var(--brand-blue); }
.btn--primary:hover{ background:var(--brand-blue-600); border-color:var(--brand-blue-600); color:#fff; }
.btn--outline-on-dark{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn--outline-on-dark:hover{ background:rgba(255,255,255,.08); border-color:#fff; color:#fff; }

/* ---------- eyebrow / tag / link-arrow ---------- */
.eyebrow{
  display:inline-block; font-family:var(--font-display); font-weight:var(--fw-bold);
  font-size:var(--fs-eyebrow); letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase; color:var(--brand-blue);
}
.tag--solid{
  display:inline-flex; align-items:center; gap:6px; padding:5px 12px;
  font-family:var(--font-body); font-weight:var(--fw-semibold); font-size:13px; line-height:1;
  border-radius:var(--r-pill); background:var(--brand-blue); color:#fff;
}
.link-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:13px;
  letter-spacing:var(--ls-button); text-transform:uppercase; text-decoration:none;
  transition:color var(--dur) var(--ease-standard);
}
.link-arrow .link-arrow__glyph{ display:inline-block; transition:transform var(--dur) var(--ease-out); }
.link-arrow:hover .link-arrow__glyph{ transform:translateX(4px); }
.link-arrow--on-dark{ color:#fff; }
.link-arrow--on-dark:hover{ color:#fff; }

/* ---------- card ---------- */
.card{
  background:var(--surface-card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:var(--space-8); box-shadow:var(--shadow-sm);
}
.card--tight{ padding:var(--space-6); }

/* ---------- site header ---------- */
.site-header{
  position:sticky; top:0; z-index:var(--z-header);
  background:transparent; border-bottom:1px solid transparent;
  transition:background var(--dur),border-color var(--dur);
}
.site-header.is-scrolled{
  background:rgba(8,26,42,.92);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom-color:var(--border-on-dark);
}
.site-header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-top:18px; padding-bottom:18px;
}
.site-header__logo{ display:flex; align-items:center; }
.site-header__logo img{ height:34px; }
.site-header__nav{ display:flex; align-items:center; gap:28px; }
.site-header__nav a:not(.btn){
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:13px;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  color:rgba(255,255,255,.86); transition:color var(--dur);
}
.site-header__nav a:not(.btn):hover{ color:var(--brand-blue-400); }
.site-header__menu-btn{ display:none; }

/* header overlays the hero */
.page-body{ margin-top:-72px; }
main section{ scroll-margin-top:84px; }

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(160deg,#002266 0%,#001445 60%,#000B29 100%);
}
.hero__ripple{
  position:absolute; left:78%; top:115%; transform:translate(-50%,-50%);
  border-radius:50%; border:2px solid; pointer-events:none;
}
.hero__ripple:nth-child(1){ width:220px;  height:220px;  border-color:rgba(108,147,255,.50); }
.hero__ripple:nth-child(2){ width:440px;  height:440px;  border-color:rgba(108,147,255,.44); }
.hero__ripple:nth-child(3){ width:660px;  height:660px;  border-color:rgba(108,147,255,.38); }
.hero__ripple:nth-child(4){ width:880px;  height:880px;  border-color:rgba(108,147,255,.32); }
.hero__ripple:nth-child(5){ width:1100px; height:1100px; border-color:rgba(108,147,255,.26); }
.hero__ripple:nth-child(6){ width:1320px; height:1320px; border-color:rgba(108,147,255,.20); }
.hero__ripple:nth-child(7){ width:1540px; height:1540px; border-color:rgba(108,147,255,.14); }
.hero__inner{ position:relative; padding-top:96px; padding-bottom:88px; }
.hero__badge{
  display:inline-flex; align-items:center; gap:10px; padding:7px 14px;
  border-radius:var(--r-pill); background:rgba(108,147,255,.16);
  border:1px solid rgba(108,147,255,.4); margin-bottom:24px;
}
.hero__badge-dot{ width:8px; height:8px; border-radius:50%; background:var(--brand-blue-400); }
.hero__badge span:last-child{
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; color:#EAF1FF;
}
.hero h1{
  margin:0; font-family:var(--font-display); font-weight:var(--fw-black);
  font-size:var(--fs-display); line-height:var(--lh-tight);
  letter-spacing:var(--ls-display); max-width:940px;
}
.hero__lead{
  margin:24px 0 0; max-width:680px; font-family:var(--font-body);
  font-size:var(--fs-lead); line-height:1.6; color:#B8C6E4;
}
.hero__actions{ display:flex; gap:16px; margin-top:36px; flex-wrap:wrap; }

/* ---------- sections ---------- */
.section{ padding:var(--space-20) 0; background:var(--surface-page); }
.section--wash{ background:var(--surface-wash); border-top:1px solid var(--border); }
.section--muted{ background:var(--surface-subtle); border-top:1px solid var(--border); }
.section--pad-16{ padding:var(--space-16) 0; }
.section--pad-12{ padding:var(--space-12) 0; }
.section__head{ max-width:920px; margin-bottom:var(--space-10); }
.section__head h2{
  margin:14px 0 0; font-family:var(--font-display); font-weight:var(--fw-extrabold);
  font-size:var(--fs-h2); line-height:var(--lh-heading);
  letter-spacing:var(--ls-heading); color:var(--ia-navy);
}
.section__intro{
  margin:16px 0 0; font-family:var(--font-body); font-size:var(--fs-lead);
  line-height:1.6; color:var(--text-muted);
}

/* ---------- about ---------- */
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); max-width:1000px; }
.about-grid p{ margin:0; font-size:var(--fs-body); line-height:1.65; color:var(--text-body); }

/* ---------- services ---------- */
.services-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); align-items:stretch; }
.service-card{ height:100%; }
.service-card__head{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.service-card__icon{
  width:42px; height:42px; border-radius:var(--r-sm); background:var(--info-soft);
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.service-card__icon img{ width:22px; height:22px; }
.service-card h3{
  margin:0; font-family:var(--font-display); font-weight:var(--fw-extrabold);
  font-size:var(--fs-h4); color:var(--ia-navy);
}
.bullet-list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.bullet-list li{
  display:flex; gap:12px; font-family:var(--font-body);
  font-size:var(--fs-body); color:var(--text-body); line-height:1.45;
}
.bullet-list li::before{
  content:""; width:7px; height:7px; border-radius:2px;
  background:var(--brand-blue); flex:0 0 auto; margin-top:8px;
}
.services-cta{
  margin-top:var(--space-10); padding-top:var(--space-8);
  border-top:1px solid var(--border); display:flex; justify-content:center;
}

/* ---------- GWAC ---------- */
.gwac-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:var(--space-12); align-items:start; }
.gwac-copy{ display:flex; flex-direction:column; gap:18px; }
.gwac-copy p{ margin:0; font-size:var(--fs-body); line-height:1.65; color:var(--text-body); }
.gwac-copy strong,.about-grid strong{ color:var(--ia-navy); }
.gwac-panel{
  background:linear-gradient(160deg,#002266,#001445); color:#fff;
  border-radius:var(--r-lg); padding:var(--space-8);
}
.gwac-panel__title{
  margin:18px 0 6px; font-family:var(--font-display);
  font-weight:var(--fw-extrabold); font-size:var(--fs-h3);
}
.gwac-panel__desc{ font-family:var(--font-body); font-size:var(--fs-sm); color:#B8C6E4; line-height:1.55; }
.gwac-panel__link{ margin-top:22px; }
.gwac-clause{ margin-top:var(--space-10); }

/* ---------- fair opportunity clause ---------- */
.clause{ border:1px solid var(--border); border-radius:var(--r-lg); background:#fff; overflow:hidden; }
.clause__toggle{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
}
.clause__title{
  font-family:var(--font-display); font-weight:var(--fw-extrabold);
  font-size:var(--fs-h4); color:var(--ia-navy);
}
.clause__hint{
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:13px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--brand-blue); white-space:nowrap;
}
.clause__body{ padding:0 24px 24px; display:flex; flex-direction:column; gap:14px; }
.clause__body[hidden]{ display:none; }
.clause__body p{ margin:0; font-family:var(--font-body); font-size:var(--fs-sm); line-height:1.7; color:var(--text-body); }

/* ---------- program support ---------- */
.support-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6); }
.support-card{ height:100%; display:flex; flex-direction:column; gap:14px; }
.support-card h3{
  margin:0; font-family:var(--font-display); font-weight:var(--fw-bold);
  font-size:var(--fs-h5); color:var(--ia-navy); line-height:1.3;
}
.support-card__desc{ margin:0; font-size:var(--fs-sm); line-height:1.55; color:var(--text-muted); flex:1; }
.support-card__contact{
  border-top:1px solid var(--border); padding-top:14px;
  font-size:var(--fs-sm); line-height:1.7; color:var(--text-body);
}
.support-card__contact strong{ color:var(--ia-navy); }
.support-card__note{ color:var(--text-faint); font-size:var(--fs-xs); margin-top:4px; }

/* ---------- audience ---------- */
.audience-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
.audience-card{ height:100%; }
.audience-card h3{
  margin:0 0 12px; font-family:var(--font-display); font-weight:var(--fw-extrabold);
  font-size:var(--fs-h4); color:var(--ia-navy); line-height:1.25;
}
.audience-card__intro{ margin:0 0 18px; font-size:var(--fs-body); line-height:1.55; color:var(--text-muted); }
.audience-card .bullet-list li{ font-size:var(--fs-sm); line-height:1.5; }
.audience-card .bullet-list li::before{ margin-top:7px; }

/* ---------- contract details ---------- */
.details-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); align-items:start; }
.detail-row{
  display:flex; justify-content:space-between; gap:24px;
  padding:14px 0; border-bottom:1px solid var(--border);
}
.detail-row dt{
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:var(--fs-sm);
  letter-spacing:.04em; text-transform:uppercase; color:var(--text-muted);
}
.detail-row dd{
  margin:0; font-family:var(--font-body); font-size:var(--fs-body);
  color:var(--ia-navy); font-weight:var(--fw-semibold); text-align:right; overflow-wrap:anywhere;
}
.details-list{ margin:0; }
.pm-card__name{
  margin:12px 0 4px; font-family:var(--font-display); font-weight:var(--fw-extrabold);
  font-size:var(--fs-h4); color:var(--ia-navy);
}
.pm-card__role{ font-size:var(--fs-sm); color:var(--text-muted); }
.pm-card__links{ margin-top:16px; display:flex; flex-direction:column; gap:8px; font-size:var(--fs-sm); line-height:1.6; }
.pm-card__links strong{ color:var(--ia-navy); }
.pm-card__cta{ margin-top:20px; }

/* ---------- contact CTA ---------- */
.cta-panel{
  background:linear-gradient(160deg,#002266,#001445); border-radius:var(--r-xl);
  padding:var(--space-16) var(--space-12); text-align:center; color:#fff;
}
.cta-panel h2{
  margin:0; font-family:var(--font-display); font-weight:var(--fw-extrabold); font-size:var(--fs-h2);
}
.cta-panel p{
  margin:16px auto 0; max-width:560px; font-size:var(--fs-lead); color:#B8C6E4; line-height:1.55;
}
.cta-panel__actions{ display:flex; gap:16px; justify-content:center; margin-top:32px; flex-wrap:wrap; }

/* ---------- accessibility statement ---------- */
.a11y-note{ max-width:820px; }
.a11y-note p{ margin:12px 0 0; font-size:var(--fs-sm); line-height:1.65; color:var(--text-muted); }

/* ---------- footer ---------- */
.site-footer{ background:var(--surface-dark); color:var(--text-on-dark); }
.site-footer__inner{
  padding-top:var(--space-16); padding-bottom:var(--space-8);
  display:grid; grid-template-columns:1.4fr 1fr; gap:var(--space-12);
}
.site-footer__logo{ height:38px; margin-bottom:20px; }
.site-footer__blurb{
  margin:0; max-width:460px; font-family:var(--font-body);
  font-size:var(--fs-sm); line-height:1.6; color:var(--text-on-dark-muted);
}
.site-footer__blurb strong{ color:#fff; }
.site-footer__seals{ display:flex; gap:20px; align-items:center; margin-top:24px; }
.site-footer__seals img{ height:56px; }
.site-footer__links{ display:flex; flex-direction:column; gap:12px; }
.site-footer__links a{
  font-family:var(--font-display); font-weight:var(--fw-bold); font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  color:rgba(255,255,255,.82);
}
.site-footer__links a:hover{ color:#fff; }
.site-footer__address{
  margin-top:16px; font-family:var(--font-body); font-size:14px;
  line-height:1.6; color:var(--text-on-dark-muted); font-style:normal;
}
.site-footer__legal{ border-top:1px solid var(--border-on-dark); }
.site-footer__legal .container{
  padding-top:18px; padding-bottom:18px;
  font-family:var(--font-body); font-size:13px; color:var(--text-on-dark-muted);
}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .support-grid{ grid-template-columns:1fr 1fr; }
  .gwac-grid{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .about-grid,.services-grid,.support-grid,.audience-grid,.details-grid,
  .site-footer__inner{ grid-template-columns:1fr; }
  .hero__inner{ padding-top:120px; padding-bottom:64px; }
  .cta-panel{ padding:var(--space-12) var(--space-6); }

  .site-header__menu-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; background:none; border:1px solid rgba(255,255,255,.35);
    border-radius:var(--r-sm); color:#fff; cursor:pointer; font-size:18px; line-height:1;
  }
  .site-header__nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:18px;
    padding:20px var(--gutter) 24px; background:rgba(8,26,42,.97);
    border-bottom:1px solid var(--border-on-dark);
  }
  .site-header.is-open .site-header__nav{ display:flex; }
}
/* ---------- mobile ---------- */
@media only screen and (max-width: 480px) {
  
  /* .hero__actions .btn--outline-on-dark {} */
  .services-cta .btn.btn--primary.btn--lg {
    white-space: normal;
    line-height: 1.25;
  }
  .cta-panel__actions .btn.btn--primary.btn--lg {
    white-space: normal;
    line-height: 1.25;
  }
}
