:root{
  --navy:#002B5C;--teal:#00B1A9;--teal-dark:#007D78;--charcoal:#4A4F57;--white:#FFFFFF;--gray-50:#F7F8FA;--gray-100:#F5F5F5;--gray-200:#E5E5E5;--body:#374151;--link:#0067D6;--link-hover:#0057B8;--arch-yellow:#F2C500;--arch-yellow-bg:#FFFBE5;--arch-yellow-border:#F7E28A;--shadow-sm:0 2px 8px rgba(0,43,92,.06);--shadow-md:0 8px 24px rgba(0,43,92,.10);--container:1200px
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--body);background:var(--white);line-height:1.5}img{max-width:100%;display:block}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}.container{width:min(var(--container),calc(100% - 2rem));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:2000;background:var(--navy);color:#fff;padding:.65rem .9rem;border-radius:6px}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-200)}.header-inner{min-height:80px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;min-width:0}.brand-logo{height:42px}.brand-tagline{color:var(--charcoal);font-size:.75rem;white-space:nowrap}.site-nav{display:flex;justify-content:center;gap:1.25rem}.site-nav a{color:var(--navy);font-weight:500;font-size:.95rem}.site-nav a:hover{color:var(--teal-dark)}.header-cta{white-space:nowrap}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:0;cursor:pointer}.menu-toggle span{display:block;width:18px;height:2px;background:var(--navy);margin:4px auto;border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1rem;border-radius:6px;font-weight:700;font-size:.95rem;border:1px solid transparent;transition:all .2s ease;cursor:pointer}.btn:focus-visible{outline:3px solid rgba(0,177,169,.35);outline-offset:2px}.btn-primary{background:var(--teal);color:var(--navy);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--teal-dark);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--gray-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:#cfd5dd;box-shadow:var(--shadow-md);color:var(--navy)}.hero{position:relative;background:#fff}.hero-bar{position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,var(--navy) 0%,var(--teal) 60%,var(--navy) 100%);opacity:.12}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;padding:4rem 0 4.75rem}.eyebrow{display:inline-flex;align-items:center;margin:0 0 1rem;background:#E8FBF9;color:var(--navy);border:1px solid #B9F0EC;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}h1{margin:0;color:var(--navy);font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.02em}.hero-text{margin:1rem 0 0;color:var(--charcoal);font-size:1.05rem;max-width:38rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.35rem}.hero-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.pill{border:1px solid var(--gray-200);border-radius:999px;padding:.42rem .8rem;color:var(--charcoal);font-size:.88rem;background:#fff}.hero-card{border:1px solid var(--gray-200);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);padding:1.25rem}.hero-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.mini-title{margin:0;color:var(--navy);font-size:.85rem;font-weight:700}.mini-sub{margin:.15rem 0 0;color:var(--charcoal);font-size:.76rem}.arch-logo{height:62px;width:auto;object-fit:contain}.arch-logo-small{height:40px}.themes-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.theme-card{border:1px solid var(--gray-200);border-radius:12px;background:var(--gray-50);padding:.9rem}.theme-card h3{margin:0 0 .35rem;color:var(--navy);font-size:.9rem}.theme-card p{margin:0;color:var(--charcoal);font-size:.78rem;line-height:1.45}.section{padding:4rem 0}.section-alt{background:var(--gray-50)}.section-head{margin-bottom:1.5rem}.section-head h2{margin:0;color:var(--navy);font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em}.section-head p{margin:.65rem 0 0;color:var(--charcoal);font-size:1.02rem;max-width:50rem}.arch-banner{border:1px solid var(--gray-200);border-radius:16px;background:#fff;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.arch-banner-left{display:flex;align-items:center;gap:1rem}.arch-chip{display:inline-flex;align-items:center;width:max-content;padding:.38rem .7rem;border-radius:999px;background:#FFF7CC;border:1px solid var(--arch-yellow-border);color:var(--navy);font-weight:700;font-size:.75rem}.cards-2,.cards-3,.cards-4{display:grid;gap:1rem}.cards-2{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.info-card{border:1px solid var(--gray-200);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);padding:1.15rem}.info-card h3{margin:0 0 .5rem;color:var(--navy);font-size:1.06rem}.info-card p{margin:0;color:var(--charcoal)}.card-label{display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;color:var(--navy);font-size:.75rem;font-weight:700}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot-teal{background:var(--teal)}.dot-yellow{background:var(--arch-yellow)}.icon-list,.plain-list,.number-list{margin:.25rem 0 0;padding-left:1.1rem}.icon-list li,.plain-list li,.number-list li{margin:.45rem 0}.icon-list{list-style:none;padding-left:0}.icon-list li{position:relative;padding-left:1.45rem}.icon-list li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--teal)}.plain-list li::marker{color:var(--teal)}.number-list li::marker{color:var(--navy);font-weight:700}.callout{margin-top:1rem;border-radius:14px;padding:.95rem 1rem;border:1px solid var(--gray-200)}.callout-warn{background:var(--arch-yellow-bg);border-color:var(--arch-yellow-border);color:var(--charcoal)}.callout-soft{background:#F2FBFA;border-color:#B9F0EC;color:var(--charcoal);margin-top:1.15rem}.contact-card .contact-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.75rem}.brand-logo-small{height:36px}.contact-name{margin:0;color:var(--navy);font-weight:700}.contact-role{margin:.1rem 0 0;color:var(--charcoal);font-size:.92rem}.contact-direct{margin:.2rem 0;font-size:.92rem}.contact-form{margin-top:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-full{grid-column:1 / -1}.field label{font-size:.88rem;color:var(--navy);font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #d6dbe3;border-radius:8px;background:#fff;padding:.7rem .75rem;font:inherit;color:var(--body)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,177,169,.16)}.checkbox-field label{display:flex;gap:.55rem;align-items:flex-start;color:var(--charcoal);font-weight:500}.checkbox-field input{width:auto;margin-top:.15rem}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.9rem}.form-note{margin:0;color:var(--charcoal);font-size:.82rem}.small-note{margin-top:1rem;font-size:.85rem;color:var(--charcoal)}.status-banner{margin-top:1rem;padding:.75rem .9rem;border-radius:10px;font-weight:600;font-size:.92rem;border:1px solid}.status-success{background:#ECFDF5;color:#065F46;border-color:#A7F3D0}.status-error{background:#FEF2F2;color:#991B1B;border-color:#FECACA}.site-footer{background:var(--navy);border-top:1px solid #0D3A74;padding:2rem 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:.8rem;color:rgba(255,255,255,.92)}.footer-brand p{margin:0;font-size:.9rem}.footer-logo{height:34px;background:transparent;border-radius:8px;padding:.25rem .45rem}.footer-nav{display:flex;flex-wrap:wrap;gap:1rem}.footer-nav a{color:var(--teal);font-weight:500}.footer-nav a:hover{color:#7CEDE6}@media (max-width:1080px){.cards-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:920px){.header-inner{grid-template-columns:auto auto auto;min-height:74px}.menu-toggle{display:inline-block;justify-self:end}.site-nav{position:absolute;top:74px;left:0;right:0;display:none;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-md)}.site-nav.is-open{display:flex}.site-nav a{padding:1rem;border-top:1px solid var(--gray-100)}.hero-grid{grid-template-columns:1fr;padding:3rem 0}}@media (max-width:760px){.cards-2,.cards-3,.cards-4,.form-grid,.themes-grid{grid-template-columns:1fr}.arch-banner-left{align-items:flex-start}.brand-tagline{display:none}.header-cta{display:none}.section{padding:3rem 0}.hero-text{font-size:1rem}}


/* Icon fixes for HTML/CSS package (local inline SVGs) */
.pill{display:inline-flex;align-items:center;gap:.45rem}
.pill-svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}

.theme-icon-wrap{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:#E8FBF9;border:1px solid #B9F0EC;margin-bottom:.45rem
}
.theme-svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.icon-heading{display:flex;align-items:center;gap:.5rem}
.heading-svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}


/* Lucide exact icon set (matches React v1 icon family) */
.pill .lucide,.theme-icon-wrap .lucide,.icon-heading .lucide{color:var(--teal)}
.theme-icon-wrap .lucide{width:16px;height:16px;stroke-width:2}


/* Offline local SVG icons */
.pill-svg,.theme-svg,.heading-svg{
  display:inline-block;
  width:16px;
  height:16px;
  object-fit:contain;
}


/* Fallback: ARCH workflow data-lane strip (in case parity CSS is cached) */


/* Enterprise data-lane visual for ARCH workflow strip */
.route-strip{
  position: relative;
  min-height: 122px;
}
.route-strip-fade{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 40px;
  background: linear-gradient(90deg, rgba(0,43,92,.02) 0%, rgba(0,177,169,.06) 50%, rgba(0,43,92,.02) 100%);
  pointer-events: none;
}
.route-strip-svg{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 7.8rem;
  display: block;
}
.route-strip-label{
  position: absolute;
  top: 10px;
  font-size: 10px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(0,43,92,.55);
  pointer-events: none;
}
.route-strip-label-left{ left: 14px; }
.route-strip-label-right{ right: 14px; }

/* Old road/vehicle elements are removed from markup but hide safely if cached HTML appears */
.route-road,
.route-lane,
.route-vehicle{ display: none !important; }


/* ARCH data-lane strip responsive tuning */
@media (max-width: 980px){
  .route-strip-label-left{ display: none; }
}
@media (max-width: 767px){
  .route-strip{
    min-height: 104px;
    padding: 10px;
  }
  .route-strip-fade{
    height: 34px;
  }
  .route-strip-svg{
    height: 6.9rem;
  }
  .route-strip-label{
    top: 8px;
    font-size: 9px;
    letter-spacing: .06em;
  }
}


/* === ARCH strip readability + CTA headline wrap fix (2026-02-25e) === */
.route-strip{
  min-height: 148px;
  padding-top: 14px;
  padding-bottom: 10px;
}
.route-strip-svg{
  height: 8.85rem;
  bottom: 2px;
}
.route-strip-svg text{
  font-size: 11px;
}
.route-strip-svg .route-strip-status-tags rect{
  rx: 12px;
}
.cta-mid-copy h2{
  max-width: 18ch;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}
@media (max-width: 1160px){
  .route-strip-svg .route-strip-status-tags{
    display: none;
  }
}
@media (max-width: 767px){
  .route-strip{
    min-height: 118px;
    padding-top: 10px;
  }
  .route-strip-svg{
    height: 7.35rem;
    bottom: 0;
  }
  .cta-mid-copy h2{
    max-width: none;
    text-wrap: pretty;
  }
}


/* === ARCH strip width/height + mobile step numbers + CTA single-line title (2026-02-25f) === */
.route-strip{
  min-height: 216px;
  padding-top: 12px;
  padding-bottom: 8px;
}
.route-strip-svg{
  height: 13rem;
  bottom: 0;
}
.route-strip-svg .route-strip-mobile-stepnums{
  display: none;
}
.route-strip-svg .route-strip-mobile-stepnums text{
  font-size: 10px;
}

.cta-mid-copy h2{
  max-width: none;
  white-space: nowrap;
  text-wrap: nowrap;
  letter-spacing: -.01em;
}
@media (max-width: 1279px){
  .cta-mid-copy h2{
    font-size: 31px;
  }
}
@media (max-width: 1099px){
  .cta-mid-copy h2{
    white-space: normal;
    text-wrap: balance;
  }
}
@media (max-width: 767px){
  .route-strip{
    min-height: 142px;
    padding: 10px;
  }
  .route-strip-svg{
    height: 9rem;
  }
  .route-strip-svg .route-strip-status-tags{
    display: none;
  }
  .route-strip-svg .route-strip-mobile-stepnums{
    display: block;
  }
  .route-strip-svg .route-strip-mobile-stepnums text{
    font-size: 11px;
  }
  .route-strip-label-right{
    display: none;
  }
  .cta-mid-copy h2{
    font-size: 28px;
    white-space: normal;
  }
}


/* === CTA lede: natural wrapping (2026-02-26) === */
.cta-mid-copy{ min-width: 0; }
.cta-mid-copy p.cta-mid-lede{
  display: block;
  width: 100%;
  max-width: 500ch;      /* readable line length */
  white-space: normal;  /* wrap like a normal paragraph */
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

