:root{
  --teal:#2C8B86;
  --teal-700:#21706b;
  --gray-900:#0f172a;
  --gray-700:#334155;
  --gray-600:#475569;
  --gray-100:#f1f5f9;
  --beige:#f7f3ef;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--gray-700);line-height:1.6;background:#fff}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{position:static;width:auto;height:auto;display:inline-block;padding:8px 12px;background:#fff;border:1px solid var(--teal)}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid #e5e7eb;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{height:36px;width:auto;display:block}
.brand-name{font-weight:600;color:var(--gray-900)}
.nav a{margin-left:18px;color:var(--gray-600);font-weight:500}
.nav a:hover{color:var(--teal);text-decoration:none}
.section{padding:72px 0}
.section.alt{background:var(--beige)}
.section-title{margin:0 0 12px;color:var(--gray-900);font-size:28px;letter-spacing:-.01em}
.subhead{margin:4px 0 6px;color:var(--teal)}
.byline{color:#64748b;margin:0 0 18px}
.hero{padding-top:84px}
.hero-inner{text-align:center}
.hero-logo{width:220px;height:auto;object-fit:contain;margin:8px auto 12px;display:block;image-rendering:-webkit-optimize-contrast}
.tagline{color:var(--teal);margin:6px 0 10px;font-size:18px}
.hero-title{font-size:34px;letter-spacing:-.02em;margin:10px 0 10px;color:var(--gray-900)}
.lead{font-size:18px;max-width:900px;margin:10px auto;color:#475569}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}
.card h3{margin:0 0 8px;color:var(--gray-900);font-size:18px}

/* Book a Call styling */
.cta-band{background:var(--teal);color:#fff;text-align:center;padding:88px 0}
.cta-title{color:#fff;margin:0 0 6px;font-size:30px}
.cta-sub{color:#eaf5f4;margin:0 0 22px}
.book-card{width:520px;max-width:92%;margin:0 auto;background:rgba(255,255,255,.1);backdrop-filter:saturate(120%) blur(2px);border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:18px;display:grid;gap:10px}
.book-card input,.book-card select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.95);font:inherit}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:12px 16px;font-weight:600}
.btn-primary{background:#fff;color:var(--teal);border:1px solid transparent}
.btn-primary:hover{opacity:.95;text-decoration:none}
.btn-wide{width:100%}

.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:start}
.about-photo{width:100%;height:100%;object-fit:cover;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 6px 18px rgba(16,24,40,.06)}
.about-photo-wrap{max-width:420px}

.site-footer{border-top:1px solid #e5e7eb;background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;height:64px}

@media (max-width:900px){
  .about-grid{grid-template-columns:1fr}
  .hero-title{font-size:28px}
}
