:root{--ink: #1c2430;--ink-soft: #46525f;--teal: #4c9ba4;--teal-deep: #33777f;--paper: #f6f5f1;--card: #ffffff;--line: #e6e4dd;--radius: 20px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}.wrap{max-width:80rem;margin:0 auto;padding:0 24px}h1,h2,h3{font-weight:500;letter-spacing:-.02em;line-height:1.12}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:14px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--teal)}.nowrap,.hdr-tel{white-space:nowrap}html.smooth{scroll-behavior:smooth;scroll-padding-top:100px}@media (prefers-reduced-motion: no-preference){html.js .reveal{opacity:0;transform:translateY(26px)}html.js .reveal.in{opacity:1;transform:none;transition:opacity .7s ease var(--d, 0s),transform .7s cubic-bezier(.2,.65,.25,1) var(--d, 0s)}}.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 24px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:all .18s ease}.btn-lg{padding:15px 30px;font-size:15px}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--teal-deep)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}.arr{font-size:1.05em;line-height:1}.hdr{position:sticky;top:0;z-index:100;background:#f6f5f1eb;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.hdr-in{display:flex;align-items:center;gap:28px;height:84px}.brand img{width:170px;height:auto}.nav{display:flex;gap:26px;margin-left:auto}.nav a{color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:500}.nav a:hover{color:var(--teal-deep)}.hdr-cta{display:flex;align-items:center;gap:18px}.hdr-tel{color:var(--ink);text-decoration:none;font-weight:700;font-size:16px}.hdr-tel:hover{color:var(--teal-deep)}.micons{display:none}.page-hero{padding:54px 0 40px;background:radial-gradient(720px 300px at 100% 0%,rgba(76,155,164,.14),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Ccircle cx='2' cy='2' r='1.4' fill='%231c2430' fill-opacity='.05'/%3E%3C/svg%3E"),var(--paper)}.page-hero h1{font-size:clamp(32px,4.2vw,50px)}.page-hero-sub{color:var(--ink-soft);font-size:18px;max-width:40em;margin-top:14px}.ftr{position:relative;margin-top:80px;background:radial-gradient(760px 320px at 100% 0%,rgba(76,155,164,.16),transparent 60%),radial-gradient(620px 300px at 0% 100%,rgba(76,155,164,.1),transparent 62%),var(--ink);color:#fffc;padding:0}.ftr:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--teal),var(--teal-bright, #8fd3da) 50%,var(--teal))}.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:36px;padding:60px 0 46px}.ftr-logo{display:inline-flex;background:#fff;border-radius:14px;padding:14px 18px;margin-bottom:20px;box-shadow:0 12px 28px #00000047}.ftr-logo img{width:210px;height:auto;display:block}.ftr-brand p{font-size:15px;margin-bottom:12px;max-width:30ch}.ftr-areas{color:#ffffff8c;font-size:14px!important}.ftr h4{position:relative;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;padding-bottom:12px}.ftr h4:after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:var(--teal-bright, #8fd3da)}.ftr ul{list-style:none}.ftr li{margin-bottom:11px;font-size:15px}.ftr a{color:#fffc;text-decoration:none;transition:color .18s ease}.ftr a:hover{color:var(--teal-bright, #8fd3da)}.ftr-contact li{display:flex;align-items:flex-start;gap:11px;line-height:1.5}.ftr-contact svg{width:17px;height:17px;flex:0 0 17px;margin-top:3px;color:var(--teal-bright, #8fd3da)}.ftr-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;padding-bottom:26px;font-size:13.5px;color:#ffffff8c}.ftr-bottom a{color:#ffffffbf}@media (max-width: 1024px){.nav,.hdr-cta{display:none}.micons{display:flex;align-items:center;margin-left:auto;color:var(--teal-deep)}.micons a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;color:inherit}.ftr-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){body{font-size:16px}.ftr-grid{grid-template-columns:1fr}.brand img{width:140px}}
