
/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html:focus-within { scroll-behavior: smooth; }
body { min-height: 100vh; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
:root{ --bg:#ffffff; --bg-alt:#f4f7f7; --text:#1a1f36; --muted:#6b7280; --primary:#0F6E6D; --primary-ink:#083C3B; --border:#e5e7eb; --card:#ffffff; --radius:12px; --shadow:0 8px 24px rgba(16,24,40,0.08); --container:1120px; --gap:24px; }
body{ font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif; color:var(--text); background:var(--bg); line-height:1.6; font-size:16px; }
img{ max-width:100%; display:block; }
a{ color:var(--primary); text-decoration:none; } a:hover{ text-decoration:underline; }
.container{ width:min(100% - 32px, var(--container)); margin-inline:auto; }
.section{ padding:72px 0; } .section--alt{ background:var(--bg-alt); } .section__header{ margin-bottom:32px; } .section__header p{ color:var(--muted); margin-top:8px; }
.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--border); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; min-height:64px; }
.brand{ display:inline-flex; align-items:center; gap:12px; color:inherit; } .brand__text{ font-weight:700; letter-spacing:0.2px; }
.site-nav ul{ display:flex; align-items:center; gap:20px; list-style:none; } .site-nav a{ color:var(--text); } .site-nav .btn{ margin-left:8px; }
.nav-toggle{ display:none; border:1px solid var(--border); background:#fff; border-radius:10px; width:40px; height:40px; align-items:center; justify-content:center; }
.nav-toggle span{ display:block; width:20px; height:2px; background:var(--text); } .nav-toggle span + span{ margin-top:4px; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.hero{ background: radial-gradient(1000px 400px at 10% -10%, color-mix(in oklab, var(--primary), white 82%) 0, transparent 60%), var(--bg); }
.hero__inner{ display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center; gap:40px; padding:48px 0; }
.hero__content h1{ font-size:clamp(2rem, 3.5vw, 3rem); line-height:1.15; } .hero__content p{ color:var(--muted); margin-top:12px; max-width:60ch; }
.hero__actions{ margin-top:20px; display:flex; gap:12px; flex-wrap:wrap; }
.hero__media img{ border-radius:var(--radius); box-shadow:var(--shadow); }
.grid{ display:grid; gap:var(--gap); } .grid--2{ grid-template-columns:1fr; } .cards{ grid-template-columns: repeat(4, 1fr); }
.card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); }
.card__icon{ font-size:28px; } .card h3{ margin-top:8px; margin-bottom:6px; } .card p{ color:var(--muted); }
.list--check{ margin-top:10px; padding-left:18px; } .list--check li{ margin:4px 0; }
.about__media img{ border-radius:var(--radius); box-shadow:var(--shadow); } .bullets{ margin-top:12px; padding-left:18px; }
.testimonials{ grid-template-columns:repeat(2, 1fr); } .testimonial{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); } .testimonial blockquote{ font-size:1.05rem; } .testimonial figcaption{ margin-top:12px; color:var(--muted); }
.contact-list{ list-style:none; padding-left:0; display:grid; gap:6px; }
.form{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow); }
.form__row{ display:grid; gap:6px; margin-bottom:12px; }
input, textarea{ appearance:none; width:100%; border:1px solid var(--border); border-radius:10px; padding:10px 12px; font:inherit; color:var(--text); background:#fff; }
input:focus, textarea:focus{ outline:2px solid color-mix(in oklab, var(--primary), white 70%); border-color:var(--primary); }
.btn{ display:inline-flex; align-items:center; justify-content:center; border-radius:10px; padding:10px 16px; font-weight:600; border:1px solid transparent; }
.btn--primary{ background:var(--primary); color:#fff; border-color:var(--primary); } .btn--primary:hover{ filter:brightness(0.95); text-decoration:none; }
.btn--ghost{ background:transparent; color:var(--primary); border-color:var(--primary); } .btn--ghost:hover{ background: color-mix(in oklab, var(--primary), white 88%); text-decoration:none; }
.site-footer{ padding:32px 0; border-top:1px solid var(--border); background:#fff; } .footer-inner{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; } .site-footer nav a{ color:var(--muted); margin-left:16px; }
.skip-link{ position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; } .skip-link:focus{ position:static; width:auto; height:auto; padding:8px 12px; background:#000; color:#fff; z-index:1000; }
@media (max-width:900px){ .hero__inner{ grid-template-columns:1fr; } .cards{ grid-template-columns: repeat(2, 1fr); } .testimonials{ grid-template-columns:1fr; } .grid--2{ grid-template-columns:1fr; } .site-nav{ display:none; position:absolute; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid var(--border); } .site-nav.open{ display:block; } .site-nav ul{ flex-direction:column; padding:12px; } .nav-toggle{ display:inline-flex; } }
@media (max-width:560px){ .cards{ grid-template-columns:1fr; } }
