:root { --ink:#082e50; --deep:#06233d; --teal:#0da8b8; --aqua:#60d3d5; --paper:#f6fafb; --muted:#527082; --line:#d7e5e9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.siteHeader { min-height:108px; padding:7px clamp(20px,5vw,84px); background:#fff; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:10; border-bottom:1px solid #e7eef1; }
.brand img { display:block; width:130px; height:auto; max-height:94px; object-fit:contain; }
nav { display:flex; align-items:center; gap:30px; font-weight:700; font-size:14px; color:#31576e; }
nav a:hover,.textButton:hover,.product a:hover { color:var(--teal); }
.headerCta,.primaryButton { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:6px; padding:0 19px; background:var(--deep); color:#fff; font-weight:800; font-size:14px; }
.headerCta:hover,.primaryButton:hover { background:#0b4168; }
.hero { min-height:650px; position:relative; display:grid; align-items:end; overflow:hidden; color:#fff; }
.heroImage,.heroShade { position:absolute; inset:0; width:100%; height:100%; }
.heroImage { object-fit:cover; object-position:center; }
.heroShade { background:rgba(3,28,50,.63); }
.heroContent { max-width:730px; padding:70px clamp(20px,8vw,132px) 120px; position:relative; z-index:1; }
.eyebrow { color:var(--teal); margin:0 0 16px; letter-spacing:1.8px; font-weight:800; font-size:11px; }
.hero .eyebrow { color:#7ce8e4; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Manrope,"DM Sans",sans-serif; letter-spacing:0; }
h1 { margin-bottom:20px; font-size:clamp(42px,6vw,78px); line-height:1.04; }
.heroCopy { max-width:610px; font-size:clamp(17px,2vw,20px); line-height:1.55; color:#e4f1f3; }
.heroActions { display:flex; gap:24px; align-items:center; margin-top:30px; }
.textButton { font-weight:800; color:#fff; }.textButton span { margin-left:7px; font-size:19px; }
.heroSignal { position:absolute; z-index:1; bottom:30px; right:clamp(20px,6vw,96px); display:flex; align-items:center; gap:11px; text-transform:uppercase; letter-spacing:1px; font-size:10px; font-weight:800; color:#d8f5f2; }.heroSignal i { width:34px; height:1px; background:#72e0df; }
.section { padding:clamp(68px,10vw,138px) clamp(20px,8vw,132px); }.intro { background:#fff; }
.splitHeading { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(28px,8vw,120px); align-items:end; }.splitHeading h2,.sectionHeading h2,.method h2,.contact h2 { margin:0; font-size:clamp(32px,4vw,54px); line-height:1.12; }.splitHeading p { margin:0; font-size:18px; line-height:1.55; color:var(--muted); }
.solutions { background:#eaf7f7; }.sectionHeading { max-width:740px; margin-bottom:44px; }
.solutionGrid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }.solution { min-height:248px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:7px; }.solution.featured { grid-row:span 2; background:var(--deep); color:#fff; }.number,.productTag { display:block; color:var(--teal); font-size:12px; font-weight:800; letter-spacing:1.3px; margin-bottom:42px; }.solution h3 { font-size:24px; margin-bottom:12px; }.solution p { color:var(--muted); line-height:1.55; }.featured p { color:#c3d6df; }.solution ul { padding:0; list-style:none; margin:26px 0 0; }.solution li { margin:11px 0; font-weight:700; color:#bceeed; }.solution li:before { content:"•"; color:#69dedb; margin-right:9px; }
.products { background:#fff; }.productGrid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.product { min-height:330px; padding:38px; border-radius:7px; }.homeit { background:#e7f4f3; }.custom { background:#e9f2f8; }.product h3 { font-size:35px; margin-bottom:14px; }.product p:not(.productTag) { max-width:480px; line-height:1.55; color:#3e6175; }.product a { display:inline-block; margin-top:30px; font-weight:800; color:#076d7a; }.product a span { margin-left:5px; }
.method { background:#f3f6f7; display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(36px,8vw,130px); }.methodSteps { margin:0; padding:0; list-style:none; }.methodSteps li { display:grid; grid-template-columns:65px 1fr; gap:16px; padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid #cedee4; }.methodSteps span { color:var(--teal); font-weight:800; font-size:14px; }.methodSteps h3 { margin-bottom:7px; font-size:21px; }.methodSteps p { margin:0; color:var(--muted); line-height:1.5; }
.contact { background:var(--deep); color:#fff; text-align:center; display:grid; place-items:center; }.contact h2 { max-width:800px; margin-bottom:30px; }.contact .eyebrow { color:#6ce2df; }.primaryButton.light { background:#fff; color:var(--deep); }.primaryButton.light:hover { background:#dff4f3; }
footer { min-height:98px; padding:18px clamp(20px,5vw,84px); display:flex; align-items:center; gap:25px; background:#fff; color:#66808d; font-size:13px; }footer img { width:102px; height:auto; }footer span:last-child { margin-left:auto; }
@media (max-width:800px) { .siteHeader { min-height:86px; padding-top:4px; padding-bottom:4px; }.brand img { width:104px; max-height:78px; }nav { display:none; }.headerCta { min-height:38px; padding:0 13px; }.hero { min-height:670px; }.heroShade { background:rgba(3,28,50,.76); }.heroContent { padding-bottom:120px; }.heroSignal { left:20px; right:auto; bottom:30px; }.splitHeading,.method { grid-template-columns:1fr; }.solutionGrid { grid-template-columns:1fr; }.solution.featured { grid-row:auto; }.productGrid { grid-template-columns:1fr; }.section { padding-top:72px; padding-bottom:72px; }footer { flex-wrap:wrap; gap:10px 20px; }footer span:last-child { margin-left:0; width:100%; } }
