:root{
  --bg:#f7f8fa;
  --surface:#ffffff;
  --surface-alt:#f1f4f8;
  --text:#18212b;
  --muted:#516173;
  --border:#d9e1ea;
  --accent:#c44a18;
  --accent-dark:#9e3910;
  --shadow:0 16px 36px rgba(15,23,42,.08);
  --radius:18px;
  --container:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body,html,ul,ol,dl,li,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input{margin:0;padding:0;}
ul,ol{list-style:none;}
a img,:link img,:visited img{border:none;}
address{font-style:normal;}
a{color:var(--accent);text-decoration:none;transition:color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;}
a:hover{text-decoration:none;color:var(--accent-dark);}
img{max-width:100%;height:auto;display:block;}

body{
  font:16px/1.7 'Open Sans', Arial, sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fbfcfe 0%, #f4f7fb 100%);
  overflow-y:scroll;
}

h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.15;color:var(--text);}
h1{font-size:clamp(2.4rem,4.5vw,4.1rem);letter-spacing:-.04em;margin:0 0 18px;}
h2{font-size:clamp(1.5rem,2.1vw,2rem);letter-spacing:-.03em;margin:0 0 16px;}
h3{font-size:1.2rem;margin:0 0 12px;}
h4{font-size:1rem;margin:0 0 8px;}
p{margin:0 0 18px;color:var(--muted);}
strong,b{font-weight:700;color:var(--text);}

.clearfix:after{content:"";display:block;clear:both;}
.clear{clear:both;height:0;font-size:1px;line-height:0;overflow:hidden;}
.hide{display:none;}
.red{color:#b42318 !important;}
.leftpad{padding-left:35px;}

.all{width:min(calc(100% - 40px), var(--container));margin:0 auto;}
.page-shell{padding:28px 0 64px;}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:saturate(180%) blur(14px);
  background:rgba(247,248,250,.9);
  border-bottom:1px solid rgba(217,225,234,.9);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:88px;
}
.logo-holder{padding:0;}
.logo img{max-height:60px;width:auto;}

nav{padding:0;background:none;}
.menu{display:flex;align-items:center;gap:10px;border:none;background:none;}
.menu ul{display:flex;align-items:center;gap:10px;margin:0;overflow:visible;}
.menu li{border:none;margin:0;}
.menu a:link,.menu a:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  padding:12px 16px;
  border-radius:999px;
  font:600 14px 'Open Sans', Arial, sans-serif;
  text-transform:none;
  line-height:1;
  color:var(--muted);
}
.menu a:hover,.menu li.current a:link,.menu li.current a:visited{
  color:var(--text);
  background:var(--surface);
  box-shadow:0 6px 18px rgba(15,23,42,.07);
}
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:var(--accent);
  color:#fff !important;
  font-weight:700;
  box-shadow:0 10px 24px rgba(196,74,24,.24);
}
.header-cta:hover{background:var(--accent-dark);color:#fff !important;transform:translateY(-1px);}

.content-wrap{padding-top:36px;}
main.col-right{width:100%;margin:0;float:none;}
.col-left,.columns,.bg{width:100%;float:none;display:block;}
.pic{display:none;}
.content{margin:0;}

.page-hero,.section-card,.contact-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow);
}
.page-hero{
  padding:54px clamp(24px,4vw,56px);
  margin:0 0 28px;
  position:relative;
  overflow:hidden;
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(196,74,24,.12) 0%, rgba(196,74,24,0) 68%);
  pointer-events:none;
}
.page-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(196,74,24,.08);
  color:var(--accent-dark);
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:18px;
}
.hero-subhead{font-size:clamp(1.05rem,1.6vw,1.2rem);max-width:760px;margin:0;color:var(--muted);}

.section-card{padding:32px clamp(22px,3vw,38px);margin:0 0 22px;}
.section-card.tight{padding-top:24px;padding-bottom:24px;}
.section-intro{max-width:820px;}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.feature-card,.capability-card,.contact-detail{
  background:var(--surface-alt);
  border:1px solid var(--border);
  border-radius:20px;
  padding:22px;
}
.feature-card p,.capability-card p,.contact-detail p{margin:0;color:var(--muted);}
.feature-card h3,.capability-card h3{margin-bottom:10px;}

.capability-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.capability-card.full{grid-column:1/-1;}
.capability-card ul{margin:12px 0 0 18px;list-style:disc;}
.capability-card li{margin:0 0 8px;color:var(--muted);}

.statements{display:grid;gap:18px;}
.statement{padding-bottom:18px;border-bottom:1px solid var(--border);}
.statement:last-child{padding-bottom:0;border-bottom:none;}
.statement p{margin:0;}

.tech-band{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
  align-items:start;
}
.tech-list{display:flex;flex-wrap:wrap;gap:10px;}
.tech-pill{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  color:var(--text);
  font-size:.92rem;
  font-weight:600;
}

.contact-card{padding:0;overflow:hidden;margin-top:26px;}
.fieldset{
  width:100%;
  margin:0;
  border:none;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.fieldset .legend{
  position:static;
  border:none;
  border-radius:0;
  background:linear-gradient(135deg,#132033 0%, #1d3557 100%);
  color:#fff;
  padding:28px clamp(22px,3vw,34px);
  box-shadow:none;
  font-weight:400;
}
.fieldset .legend b{color:#fff;display:block;font-size:clamp(1.4rem,2vw,1.8rem);margin-top:6px;}
.fieldset .fieldset-body{position:static;top:auto;padding:26px clamp(22px,3vw,34px) 30px;background:var(--surface);}
.fieldset .half{width:50%;}
.fieldset .left,.fieldset .right{float:left;}
.fieldset h4{font-weight:700;margin:0 0 6px;display:inline-block;color:var(--text);}
.validation-summary{font-size:14px;margin-bottom:16px;color:#b42318;}
.validation-summary ul{list-style:disc;margin-top:6px;padding-left:20px;font-size:14px;}
.message-bar{font-size:15px;font-weight:700;}
.fieldset input[type=text],.fieldset input[type=date],.fieldset input[type=datetime],.fieldset input[type=number],.fieldset input[type=search],.fieldset input[type=time],.fieldset input[type=url],.fieldset input[type=email],.fieldset input[type=tel],.fieldset textarea,select{
  width:calc(100% - 12px);
  min-height:48px;
  font-family:'Open Sans', Arial, sans-serif;
  font-size:16px;
  font-weight:400;
  padding:12px 14px;
  outline:none;
  margin:8px 8px 18px 0;
  border-radius:14px;
  background-color:#fff;
  border:1px solid var(--border);
  box-shadow:none;
}
.fieldset textarea{min-height:196px;resize:vertical;}
.fieldset input[type=text]:focus,.fieldset input[type=date]:focus,.fieldset input[type=datetime]:focus,.fieldset input[type=number]:focus,.fieldset input[type=search]:focus,.fieldset input[type=time]:focus,.fieldset input[type=url]:focus,.fieldset input[type=email]:focus,.fieldset input[type=tel]:focus,.fieldset textarea:focus,.fieldset select:focus,.fieldset input[type=text]:hover,.fieldset input[type=date]:hover,.fieldset input[type=datetime]:hover,.fieldset input[type=number]:hover,.fieldset input[type=search]:hover,.fieldset input[type=time]:hover,.fieldset input[type=url]:hover,.fieldset input[type=email]:hover,.fieldset input[type=tel]:hover,.fieldset textarea:hover,.fieldset select:hover{
  box-shadow:0 0 0 4px rgba(196,74,24,.12);
  border-color:rgba(196,74,24,.75);
}
.orange-button{
  color:#fff !important;
  padding:14px 22px;
  font-family:'Open Sans', Arial, sans-serif;
  font-size:15px;
  font-weight:700;
  margin:8px 0 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  border:1px solid var(--accent);
  border-radius:999px;
  outline:none;
  box-shadow:0 10px 24px rgba(196,74,24,.22);
}
.orange-button:focus,.orange-button:hover{
  box-shadow:0 14px 28px rgba(196,74,24,.26);
  border-color:var(--accent-dark);
  background:var(--accent-dark);
  text-decoration:none;
  transform:translateY(-1px);
}

.numlist{margin:18px 0 0 20px;list-style:decimal;}
.numlist li{margin:0 0 14px;color:var(--muted);padding-left:6px;}
.reglist{list-style:none;margin:0;}
.reglist li.margin{margin-bottom:15px;}

footer{
  border-top:1px solid var(--border);
  padding:26px 0 36px;
  margin:44px 0 0;
  position:static;
  width:auto;
  background:transparent;
}
.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;}
.copyright{margin:0;float:none;color:var(--muted);font-size:.95rem;}
.bottom-menu{float:none;}
.bottom-menu ul{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end;}
.bottom-menu li{float:none;display:block;padding:0;margin:0;border-left:none;}
.bottom-menu a{color:var(--muted);font-weight:600;}
.bottom-menu a:hover{color:var(--text);}

.mobile-menu-toggle{display:none;}

@media (max-width:900px){
  .feature-grid,.capability-grid,.tech-band{grid-template-columns:1fr;}
}

@media (max-width:760px){
  body{font-size:15px;}
  .all{width:min(calc(100% - 24px), var(--container));}
  .page-shell{padding-top:18px;}
  .header-inner{min-height:76px;flex-wrap:wrap;padding:10px 0 16px;}
  .logo img{max-height:48px;}
  nav,.menu,.menu ul{width:100%;}
  .menu ul{flex-wrap:wrap;gap:8px;}
  .menu a:link,.menu a:visited{padding:10px 14px;}
  .header-cta{width:100%;margin-top:4px;}
  .page-hero{padding:30px 20px;}
  .section-card{padding:24px 18px;}
  .fieldset .half,.fieldset .left,.fieldset .right{width:100%;float:none;}
  .fieldset input[type=text],.fieldset input[type=date],.fieldset input[type=datetime],.fieldset input[type=number],.fieldset input[type=search],.fieldset input[type=time],.fieldset input[type=url],.fieldset input[type=email],.fieldset input[type=tel],.fieldset textarea,select{width:100%;margin-right:0;}
  .footer-inner,.bottom-menu ul{justify-content:center;text-align:center;}
}
