*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--aqua:#2ec4b6;--deep:#0a6b6b;--sheet:#e6f9f7;--ink:#0d2b2b;--foam:#fff}
html{scroll-behavior:smooth}
body{font-family:Figtree,system-ui,sans-serif;color:var(--ink);background:var(--sheet);line-height:1.6}
.wrap{width:min(1080px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(230,249,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(46,196,182,.35)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;gap:1rem}
.logo{font-family:Fraunces,serif;font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--deep)}
.logo em{font-style:normal;color:var(--aqua)}
nav{display:flex;gap:1.2rem}
nav a{text-decoration:none;color:var(--deep);font-weight:600;font-size:.92rem}
.btn{display:inline-flex;padding:.75rem 1.35rem;border-radius:999px;font-weight:700;text-decoration:none;transition:.2s}
.btn-call{background:var(--deep);color:#fff}
.btn-primary{background:linear-gradient(135deg,var(--aqua),var(--deep));color:#fff;box-shadow:0 8px 24px rgba(46,196,182,.35)}
.hero{position:relative;padding:5rem 0 4.5rem;overflow:hidden;background:linear-gradient(180deg,#c5f2ec 0%,var(--sheet) 70%)}
.ripple{position:absolute;inset:0;background:
  radial-gradient(ellipse 80% 40% at 20% 80%,rgba(46,196,182,.35),transparent),
  radial-gradient(ellipse 60% 30% at 80% 20%,rgba(10,107,107,.2),transparent),
  repeating-radial-gradient(ellipse at 50% 120%,transparent 0,transparent 40px,rgba(255,255,255,.35) 41px,transparent 42px);
animation:drift 18s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{to{transform:translateY(-12px) scale(1.03)}}
.hero-inner{position:relative;max-width:640px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--aqua);margin-bottom:.75rem}
h1{font-family:Fraunces,serif;font-size:clamp(2.1rem,4.5vw,3.2rem);line-height:1.15;margin-bottom:1rem;color:var(--deep)}
.lede{font-size:1.1rem;margin-bottom:1.75rem;color:#3a5c5c}
.services{padding:3.5rem 0}
.services h2,.area h2,.why h2{font-family:Fraunces,serif;font-size:1.9rem;color:var(--deep);margin-bottom:1.5rem}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.card{padding:1.5rem;border-radius:1.25rem;background:var(--foam);border:1px solid rgba(46,196,182,.25);box-shadow:0 4px 20px rgba(10,107,107,.06)}
.card h3{margin-bottom:.4rem;color:var(--deep)}
.card p{color:#4a6a6a;font-size:.95rem}
.c1{border-top:4px solid #7fdbda}.c2{border-top:4px solid var(--aqua)}.c3{border-top:4px solid #14919b}.c4{border-top:4px solid var(--deep)}
.area{padding:2rem 0 3rem}
.area-box{background:linear-gradient(135deg,var(--deep),#14919b);color:#fff;padding:2rem 2.25rem;border-radius:1.5rem}
.area-box h2{color:#fff;margin-bottom:.75rem}
.why{padding:3rem 0 4rem;background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.why-grid strong{display:block;font-family:Fraunces,serif;font-size:1.15rem;color:var(--deep);margin-bottom:.35rem}
.why-grid p{color:#4a6a6a;font-size:.95rem}
.site-footer{background:var(--deep);color:#b8e8e4;padding:1.4rem 0}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;align-items:center}
.site-footer a{color:#fff;font-weight:700;text-decoration:none;font-size:1.1rem}
@media(max-width:800px){nav{display:none}.cards,.why-grid{grid-template-columns:1fr}}
