:root{
  --teal:#0e5a63;
  --teal-deep:#0a3f46;
  --sea:#e6f1ef;
  --cream:#fbf9f4;
  --amber:#f2a93b;
  --ink:#1c2b2e;
  --muted:#4f6366;
}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:700;letter-spacing:-.01em}
img{max-width:100%;height:auto}

/* nav */
.site-nav{background:var(--teal-deep);padding:.55rem 0;box-shadow:0 2px 14px rgba(0,0,0,.18)}
.site-nav .navbar-brand{color:#fff;font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem}
.site-nav .navbar-brand i{color:var(--amber)}
.site-nav .nav-link{color:rgba(255,255,255,.88);font-weight:500;padding:.5rem .8rem}
.site-nav .nav-link:hover,.site-nav .nav-link:focus{color:var(--amber)}
.site-nav .navbar-toggler{border-color:rgba(255,255,255,.5)}
.site-nav .navbar-toggler-icon{filter:invert(1)}
@media (max-width:991.98px){.site-nav .navbar-collapse{padding:.75rem 0}}

.btn-amber{background:var(--amber);color:#2a1d00;font-weight:700;border:0}
.btn-amber:hover{background:#ffbc55;color:#2a1d00}
.btn-teal{background:var(--teal);color:#fff;font-weight:600;border:0}
.btn-teal:hover{background:var(--teal-deep);color:#fff}

/* hero: split panel */
.hero{display:grid;grid-template-columns:55fr 45fr;min-height:100vh;padding-top:62px;background:var(--teal)}
.hero-text{background:var(--teal);display:flex;align-items:center;padding:3rem clamp(1.25rem,5vw,4.5rem)}
.hero-inner{max-width:560px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--amber);margin-bottom:.9rem}
.eyebrow.dark{color:var(--teal)}
.hero h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;margin-bottom:1.2rem}
.hero .lead{color:rgba(255,255,255,.92);font-size:1.12rem;margin-bottom:1.8rem}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.8rem 0 0;color:#fff;font-weight:500;font-size:.95rem}
.hero-tags i{color:var(--amber)}
.hero-photo{background:url('img/hero.webp') 30% center/cover no-repeat}
@media (max-width:991.98px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto 38vh;min-height:0}
  .hero-photo{order:2;background-position:center 30%}
  .hero-text{order:1;padding-top:2.5rem;padding-bottom:2.5rem}
}

/* strip */
.strip{background:var(--sea);padding:2.5rem 0;border-bottom:1px solid #d3e5e1}
.strip i{display:block;font-size:1.9rem;color:var(--teal);margin-bottom:.35rem}
.strip span{font-weight:600;color:var(--teal-deep);font-size:.95rem;display:block}

/* sections */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.tint{background:#f1ede3}
.section h2{font-size:clamp(1.8rem,3.4vw,2.7rem);color:var(--teal-deep);margin-bottom:1.1rem}
.lead-dark{font-size:1.1rem;color:var(--muted)}
.narrow{max-width:640px}
.portrait,.rounded-img{width:100%;height:auto;border-radius:18px;display:block;box-shadow:0 14px 34px rgba(10,63,70,.18)}
.portrait{aspect-ratio:400/488;object-fit:cover}
.creds{list-style:none;padding:0;margin:1.4rem 0}
.creds li{display:flex;gap:.65rem;padding:.35rem 0}
.creds i{color:var(--teal);font-size:1.15rem;line-height:1.5}

.conds-title{color:var(--teal);letter-spacing:.12em;font-family:'Figtree',sans-serif;font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.chips li{background:#fff;border:1px solid #cfdedb;color:var(--teal-deep);border-radius:999px;padding:.25rem .85rem;font-size:.9rem;font-weight:500}

.dot-list>div{display:flex;gap:.7rem;align-items:flex-start;font-weight:500}
.dot-list i{color:var(--teal);font-size:1.35rem;line-height:1.3}

/* reviews */
.quote{height:100%;margin:0;background:#fff;border-radius:16px;padding:1.75rem;border-top:4px solid var(--amber);box-shadow:0 8px 22px rgba(10,63,70,.08);display:flex;flex-direction:column}
.quote blockquote{font-size:1rem;color:var(--ink);flex:1}
.quote figcaption{font-weight:700;color:var(--teal)}
.quote-cta{background:var(--teal);border-top-color:var(--teal);color:#fff;align-items:flex-start;justify-content:center;height:100%}
.quote-cta i{font-size:2rem;color:var(--amber)}
.quote-cta p{font-family:'Fraunces',serif;font-size:1.35rem;line-height:1.3}

/* locations */
.phone-big{font-family:'Fraunces',serif;font-size:clamp(2rem,6vw,3.2rem);color:var(--teal);text-decoration:none;font-weight:700}
.phone-big:hover{color:var(--teal-deep)}
.loc{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(10,63,70,.1);height:100%}
.loc iframe{display:block;width:100%;height:220px;border:0}
.loc-body{padding:1.25rem 1.4rem 1.5rem}
.loc-body h3{font-size:1.4rem;color:var(--teal-deep)}
.loc-body address{color:var(--muted);margin-bottom:.6rem}
.loc-body a{color:var(--teal);font-weight:600;text-decoration:none}
.loc-body a:hover{text-decoration:underline}

/* footer */
.site-footer{background:var(--teal-deep);color:rgba(255,255,255,.85);padding:2.75rem 0}
.logo-chip{display:inline-block;background:#fff;border-radius:12px;padding:6px 8px}
.logo-chip img{display:block;width:200px;height:auto}
.foot-links a,.foot-phone{color:#fff;text-decoration:none}
.foot-links a:hover,.foot-phone:hover{color:var(--amber)}
.foot-phone{font-weight:700}
.powered{margin-top:.35rem;padding:.2rem .7rem;display:inline-block;border:1px solid rgba(255,255,255,.3);border-radius:999px}
.powered a{color:var(--amber);font-weight:700;text-decoration:none}
.powered a:hover{text-decoration:underline}
@media (max-width:767.98px){.site-footer{text-align:center}}
