
:root{--navy:#12283b;--blue:#0868cf;--light:#f4f7fa;--text:#17212b;--muted:#607080;--line:#dbe3ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}.top{background:var(--navy);color:#fff;font-size:14px}.wrap{max-width:1240px;margin:auto;padding:0 24px}.top .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}.top span{margin-right:18px}.nav{background:#fff;box-shadow:0 2px 12px #00000012;position:sticky;top:0;z-index:20}.nav .wrap{display:flex;align-items:center;gap:26px;min-height:92px}.logo{width:190px;height:76px;object-fit:contain}.links{display:flex;gap:22px;align-items:center;margin-left:auto;font-weight:700;font-size:14px}.links a:hover,.active{color:var(--blue)}.btn{display:inline-block;background:var(--blue);color:#fff!important;padding:13px 20px;border-radius:6px;font-weight:700;border:0;cursor:pointer}.menu{display:none;font-size:28px;margin-left:auto}.hero{min-height:570px;background:linear-gradient(90deg,rgba(8,31,52,.86),rgba(8,31,52,.18) 60%,rgba(8,31,52,.05)),url('../images/hero-home.png') center/cover no-repeat;display:flex;align-items:center;color:#fff}.hero .copy{max-width:680px}.eyebrow{letter-spacing:2px;font-weight:700;color:#79bdff}.hero h1{font-size:58px;line-height:1.03;margin:10px 0 18px}.hero p{font-size:20px;max-width:620px}.badges{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.badge{background:#ffffffee;color:#18324b;padding:10px 13px;border-radius:5px;font-size:13px;font-weight:700}.strip{border-bottom:1px solid var(--line);background:#fff}.strip .wrap{display:grid;grid-template-columns:repeat(6,1fr)}.quick{padding:22px 12px;text-align:center;border-right:1px solid var(--line);font-weight:700}.quick i,.icon{font-style:normal;font-size:28px;display:block;margin-bottom:5px}.section{padding:76px 0}.section.alt{background:var(--light)}.center{text-align:center}.section h2{font-size:38px;margin:8px 0 12px;color:#102a43}.lead{max-width:780px;margin:0 auto 35px;color:var(--muted);font-size:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #18324b0c}.card img{width:100%;height:180px;object-fit:cover}.card .pad{padding:22px}.card h3{margin:0 0 8px;color:#102a43}.card p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.split img{width:100%;border-radius:10px}.check{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.check div{padding:13px;background:#fff;border:1px solid var(--line);border-radius:6px}.pagehero{padding:85px 0;background:linear-gradient(90deg,#10283edb,#10283e80),url('../images/hero-home.png') center 38%/cover;color:#fff}.pagehero h1{font-size:46px;margin:0 0 8px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-list article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px}.service-list h3{margin-top:0}.contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px}.contactbox{background:var(--navy);color:#fff;padding:30px;border-radius:10px}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #cbd5df;border-radius:5px;font:inherit}.field textarea{min-height:145px}.notice{font-size:13px;color:var(--muted)}footer{background:#102536;color:#dce7ef;padding:48px 0 22px}footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}footer h3{color:#fff}footer a{display:block;margin:7px 0}.footend{border-top:1px solid #ffffff25;margin-top:30px;padding-top:18px;font-size:13px}.pill{display:inline-block;background:#e7f2ff;color:#075fb6;padding:7px 10px;border-radius:20px;font-weight:700;font-size:12px;margin:3px}.project{position:relative}.project img{height:280px}.project .pad{min-height:145px}
@media(max-width:900px){.links{display:none}.menu{display:block}.nav.open .links{display:flex;position:absolute;top:92px;left:0;right:0;background:#fff;flex-direction:column;padding:24px;box-shadow:0 8px 20px #0002}.hero h1{font-size:42px}.strip .wrap,.grid3,.service-list{grid-template-columns:repeat(2,1fr)}.split,.contact,footer .cols{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:560px){.top .wrap{font-size:12px}.logo{width:150px}.nav .wrap{min-height:78px}.nav.open .links{top:78px}.hero{min-height:520px}.hero h1{font-size:36px}.hero p{font-size:17px}.strip .wrap,.grid3,.service-list,.check{grid-template-columns:1fr}.quick{border-right:0;border-bottom:1px solid var(--line)}.section{padding:55px 0}.pagehero h1{font-size:36px}}


/* v1.0.1 interaction and footer refinements */
.footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:35px}.footer-brand{max-width:690px}.footer-brand img{width:190px;background:#fff;border-radius:6px}.footer-contact{text-align:right}.footer-contact a{display:inline}.footer-menu{display:flex;justify-content:center;align-items:center;gap:10px 24px;flex-wrap:wrap;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;margin-top:28px;padding:18px 0}.footer-menu a{display:inline-block;margin:0;font-weight:700}.footer-menu a:hover{color:#79bdff}.socials{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.social{width:36px;height:36px;border:1px solid #ffffff40;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:#ffffff0d;cursor:default}.social:hover{background:#ffffff18}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.detail-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #18324b0c;transition:.2s}.detail-card:hover{border-color:#9fc8ef;box-shadow:0 10px 28px #18324b16;transform:translateY(-1px)}.detail-card[open]{border-color:#84bced}.detail-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px;min-height:104px}.detail-card summary::-webkit-details-marker{display:none}.detail-icon{width:50px;height:50px;flex:0 0 50px;border-radius:10px;background:#e8f3ff;display:flex;align-items:center;justify-content:center;font-size:25px}.detail-title{display:flex;flex-direction:column;gap:4px;flex:1;color:#102a43}.detail-title strong{font-size:18px}.detail-title small{font-size:14px;line-height:1.35;color:var(--muted);font-weight:400}.detail-plus{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-size:22px;line-height:1;transition:.2s}.detail-card[open] .detail-plus{transform:rotate(45deg)}.detail-body{padding:0 20px 22px 84px;border-top:1px solid #edf1f5}.detail-body p{color:var(--muted);margin:17px 0 12px}.detail-cta{color:var(--blue);font-weight:700}.feature-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:38px;margin-bottom:34px}.feature-intro.reverse{grid-template-columns:1.1fr .9fr}.feature-intro img{width:100%;height:280px;object-fit:cover;border-radius:12px}.feature-intro h2{font-size:38px;margin:8px 0 12px;color:#102a43}.feature-intro p{font-size:18px;color:var(--muted)}
@media(max-width:900px){.footer-main{display:grid;grid-template-columns:1fr}.footer-contact{text-align:left}.socials{justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.feature-intro,.feature-intro.reverse{grid-template-columns:1fr}.feature-intro img{height:240px}.footer-menu{justify-content:flex-start}}
@media(max-width:560px){.detail-card summary{padding:16px;min-height:92px}.detail-icon{width:44px;height:44px;flex-basis:44px}.detail-title strong{font-size:16px}.detail-title small{font-size:13px}.detail-body{padding:0 16px 18px}.footer-menu{gap:10px 18px}.feature-intro h2{font-size:31px}}

/* v1.0.3 image, responsive and accessibility hardening */
img{max-width:100%;height:auto;display:block}.split img,.feature-intro img,.card img,.project img{background:#eef3f7}.pagehero{background:linear-gradient(90deg,rgba(16,40,62,.68),rgba(16,40,62,.24)),url('../images/hero-home.png') center 38%/cover no-repeat}.hero{background:linear-gradient(90deg,rgba(8,31,52,.68),rgba(8,31,52,.16) 62%,rgba(8,31,52,.02)),url('../images/hero-home.png') center/cover no-repeat}.menu{border:0;background:transparent;color:#102a43;cursor:pointer}.menu:focus-visible,.links a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:3px solid #79bdff;outline-offset:3px}
@media(max-width:1100px){.links{gap:13px;font-size:12px}.logo{width:165px}.nav .wrap{gap:15px}.wrap{padding-left:20px;padding-right:20px}}
@media(max-width:900px){body{overflow-x:hidden}.top .wrap{align-items:center}.nav .wrap{position:relative}.nav.open .links{z-index:30;max-height:calc(100vh - 92px);overflow:auto}.hero,.pagehero{background-position:center}.hero .copy{max-width:610px}.feature-intro,.feature-intro.reverse{grid-template-columns:1fr}.feature-intro img{height:320px}.detail-body{padding-left:20px}.footer-main{flex-direction:column}.footer-contact{text-align:left}.socials{justify-content:flex-start}.footer-menu{justify-content:flex-start}}
@media(max-width:560px){.wrap{padding-left:16px;padding-right:16px}.top .wrap{display:block}.top .wrap>div+div{margin-top:5px}.top span{display:inline-block;margin:0 10px 4px 0}.logo{width:145px;height:66px}.hero{min-height:500px;background-position:62% center}.hero h1{font-size:34px}.hero .copy{padding:38px 0}.pagehero{padding:62px 0;background-position:58% center}.pagehero h1{font-size:34px;line-height:1.1}.section h2,.feature-intro h2{font-size:31px;line-height:1.15}.detail-grid{grid-template-columns:1fr}.detail-card summary{padding:16px;min-height:92px}.detail-icon{width:44px;height:44px;flex-basis:44px}.detail-title strong{font-size:16px}.feature-intro img{height:230px}.btn{width:100%;text-align:center}.footer-brand img{width:165px}.footer-menu{gap:8px 16px}.footer-menu a{font-size:14px}.contactbox{padding:22px}.card img,.project img{height:auto;aspect-ratio:16/10;object-fit:cover}}

/* v1.0.8 mobile navigation readability and touch target update */
@media(max-width:900px){
  .nav.open .links{gap:4px;padding:14px 18px 20px;align-items:stretch}
  .nav.open .links a{font-size:17px;line-height:1.3;width:100%;min-height:48px;display:flex;align-items:center;padding:12px 10px;border-bottom:1px solid #e7edf2}
  .nav.open .links a:last-child{border-bottom:0}
  .nav.open .links .btn{justify-content:center;margin-top:8px;font-size:17px;min-height:50px}
}
@media(max-width:560px){
  .nav.open .links a{font-size:18px;min-height:50px;padding:13px 10px}
  .menu{font-size:31px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}
}
