* { box-sizing: border-box; }
:root { --ink:#17212b; --muted:#5c6873; --accent:#0d5c75; --accent2:#0a4356; --light:#f3f7f9; --white:#fff; --line:#dce5e9; }
html { scroll-behavior:smooth; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); line-height:1.6; background:#fff; }
.container { width:min(1120px, 92%); margin:auto; }
.site-header { position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--line); }
.nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brand { text-decoration:none; color:var(--ink); font-weight:800; font-size:1.05rem; line-height:1.15; }
.brand span { display:block; font-weight:500; font-size:.82rem; color:var(--accent); }
nav { display:flex; gap:25px; }
nav a { color:var(--ink); text-decoration:none; font-weight:700; font-size:.95rem; }
nav a:hover { color:var(--accent); }
.menu-toggle { display:none; border:0; background:none; font-size:1.7rem; }
.hero { background:linear-gradient(135deg,#eaf4f7,#fff); padding:92px 0 82px; }
.hero-content { max-width:900px; }
.eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; margin:0 0 10px; }
h1 { font-size:clamp(2.5rem,6vw,4.7rem); line-height:1.03; margin:0 0 22px; max-width:850px; letter-spacing:-.04em; }
h2 { font-size:clamp(2rem,4vw,3rem); line-height:1.1; margin:0 0 18px; letter-spacing:-.025em; }
h3 { margin:0 0 8px; }
.hero-copy { font-size:1.2rem; max-width:720px; color:var(--muted); }
.buttons { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 18px; }
.button { display:inline-block; padding:13px 21px; border-radius:8px; text-decoration:none; font-weight:800; border:2px solid transparent; }
.primary { background:var(--accent); color:#fff; }
.primary:hover { background:var(--accent2); }
.secondary { border-color:var(--accent); color:var(--accent); background:#fff; }
.small-note { color:var(--muted); font-size:.92rem; }
.trust-strip { border-bottom:1px solid var(--line); background:#fff; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:26px 0; }
.trust-grid div { display:flex; flex-direction:column; }
.trust-grid strong { font-size:1rem; }
.trust-grid span { color:var(--muted); font-size:.9rem; }
.section { padding:86px 0; }
.alt { background:var(--light); }
.section-intro { color:var(--muted); max-width:700px; margin-top:0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.card { border:1px solid var(--line); border-radius:14px; padding:28px; background:#fff; }
.icon { font-size:1.8rem; margin-bottom:14px; }
.card p { color:var(--muted); margin-bottom:0; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; }
.photo-placeholder { min-height:330px; border:2px dashed #aebec6; border-radius:18px; display:flex; align-items:center; justify-content:center; text-align:center; padding:30px; background:#fff; color:var(--muted); flex-direction:column; }
.photo-placeholder small { max-width:300px; margin-top:8px; }
.area-list { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.area-list span { padding:10px 15px; border:1px solid var(--line); border-radius:999px; background:#fff; font-weight:700; }
.cta { background:var(--accent); color:#fff; padding:70px 0; text-align:center; }
.cta p { opacity:.9; }
.light { background:#fff; color:var(--accent); }
.outline-light { border-color:#fff; color:#fff; }
.contact-box { margin-top:30px; border:1px solid var(--line); border-radius:16px; padding:30px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.contact-box p { color:var(--muted); }
.contact-actions { display:flex; gap:10px; flex-shrink:0; }
footer { background:#101820; color:#fff; padding:35px 0 15px; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }
footer span, footer a { color:#c5d1d7; }
footer a { text-decoration:none; }
.copyright { text-align:center; color:#91a0a8; font-size:.8rem; padding-top:28px; }
@media (max-width:800px) {
  .menu-toggle { display:block; }
  nav { display:none; position:absolute; left:0; right:0; top:72px; background:#fff; border-bottom:1px solid var(--line); padding:18px 4%; flex-direction:column; gap:15px; }
  nav.open { display:flex; }
  .trust-grid, .cards, .split { grid-template-columns:1fr; }
  .hero { padding:65px 0; }
  .section { padding:65px 0; }
  .contact-box, .footer-inner { flex-direction:column; align-items:flex-start; }
}
