:root{--ink:#22303a;--muted:#5a6b76;--teal:#2493a4;--teal-d:#1b7180;--gold:#d08e2e;--gold-d:#9a6412;
--mist:#f0f7f8;--line:#dceaed;--white:#fff;--max:1120px}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white)}
img{max-width:100%;display:block;height:auto}
a{color:var(--teal-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.narrow{max-width:780px;margin:0}
.wrap.narrow{max-width:var(--max);margin:0 auto}
.wrap.narrow>*{max-width:780px}
.wrap.narrow>.contactgrid,.wrap.narrow>.steps{max-width:820px}

/* header */
header{border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:10}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;flex-wrap:wrap}
.brandwrap{display:flex;align-items:center;gap:11px;text-decoration:none}
.brandwrap img{width:50px;height:50px;border-radius:10px;object-fit:cover;flex:none}
.brand{font-weight:700;font-size:1.12rem;color:var(--teal-d);letter-spacing:-.01em;line-height:1.2}
.brand span{display:block;font-weight:500;font-size:.68rem;color:var(--muted);letter-spacing:.09em;text-transform:uppercase}
nav ul{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0;padding:0}
nav a{color:var(--muted);text-decoration:none;font-size:.9rem}
nav a:hover,nav a[aria-current]{color:var(--teal-d)}
.callbtn{background:var(--teal);color:#fff;padding:9px 17px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap;display:inline-block}
.callbtn:hover{background:var(--teal-d)}
.callbtn.gold{background:var(--gold)}
.callbtn.gold:hover{background:var(--gold-d)}
.btnrow{display:flex;gap:11px;flex-wrap:wrap;margin:22px 0 0}

/* hero + page heads */
.hero{background:linear-gradient(160deg,#f6fcfd 0%,#e2f1f3 100%);padding:56px 0;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero-inner{max-width:760px}
.heroimg{margin:0}
.heroimg img{border-radius:16px;box-shadow:0 14px 40px rgba(34,48,58,.18);width:100%;object-fit:cover;aspect-ratio:4/5}
.phead{background:linear-gradient(160deg,#f6fcfd 0%,#e7f3f5 100%);padding:40px 0 34px;border-bottom:1px solid var(--line)}
.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
.eyebrow{display:inline-block;background:rgba(208,142,46,.14);color:var(--gold-d);font-weight:600;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 15px;border-radius:999px;margin-bottom:16px}
h1{font-size:2.45rem;line-height:1.14;margin:0 0 15px;letter-spacing:-.02em}
h2{font-size:1.7rem;margin:0 0 13px;letter-spacing:-.015em}
h3{font-size:1.06rem;margin:0 0 8px}
.lede{font-size:1.09rem;color:var(--muted);margin:0 0 6px;max-width:64ch}
.micro{font-size:.84rem;color:var(--muted);margin-top:18px}
.addr{margin:16px 0 0;color:var(--muted)}
.big{font-size:1.2rem;font-weight:600;margin:0 0 6px}
.divider{width:56px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--teal));margin:0 0 20px}
section{padding:50px 0}
section.alt{background:var(--mist)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px}
.card h3{color:var(--teal-d)}
.linkcard{text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s}
.linkcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(34,48,58,.09);border-color:#bcdde2}
.linkcard p{color:var(--muted);margin:0 0 14px}
.ctag{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:8px;display:block}
.more{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--teal-d)}
.more::after{content:" \203A"}
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:34px}

/* lists */
.arealist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:0 0 22px}
.arealist li{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 14px;font-size:.95rem}
section.alt .arealist li{background:#fff}
.ticks{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;color:#35434c}
.ticks li::before{content:"";position:absolute;left:4px;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(208,142,46,.16)}
.steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 0;display:grid;gap:22px}
.steps li{counter-increment:s;padding-left:56px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:-3px;width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700}
.steps p{color:var(--muted);margin:0}

/* figures */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.fig{margin:0}
.fig img{border-radius:14px;box-shadow:0 12px 32px rgba(34,48,58,.14);width:100%;object-fit:cover;max-height:540px}
.fig figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}

/* legal */
.legal{max-width:760px}
.legal h2{margin-top:36px}
.legal h3{margin-top:24px;color:var(--teal-d)}
.legal p,.legal li{color:#35434c}

/* footer */
footer{background:var(--ink);color:#c5d4dc;padding:44px 0 30px;font-size:.92rem}
footer a{color:#fff}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
footer h4{color:#fff;margin:0 0 11px;font-size:.98rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.fcontact{margin-top:16px;color:#9fb2bd;font-size:.87rem;line-height:1.75}
.fbot{border-top:1px solid #37474f;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.85rem;color:#8fa3ad}

@media(max-width:940px){
 .hero-grid,.grid2{grid-template-columns:1fr}
 .heroimg img{aspect-ratio:16/10}
 .cards,.cards.four{grid-template-columns:1fr 1fr}
 .fgrid{grid-template-columns:1fr 1fr}
 h1{font-size:2rem}
}
@media(max-width:600px){
 .cards,.cards.four,.contactgrid{grid-template-columns:1fr}
 .arealist{grid-template-columns:1fr 1fr}
 .fgrid{grid-template-columns:1fr}
 nav ul{gap:4px 13px}
}
