:root{
  --ink:#12333d;--teal:#0c6c70;--teal2:#0f7f82;--soft:#f4f8f7;--line:#d9e5e4;--warm:#f8f5ef;--gold:#a86838;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#263b42;background:#fff;line-height:1.55}
h1,h2,h3,.brand strong{font-family:Georgia,"Times New Roman",serif;color:var(--ink)}
h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.94;margin:.15rem 0 1.25rem;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.08;margin:.25rem 0 1.15rem}
h3{font-size:1.25rem;margin:.2rem 0 .45rem}
p{margin:.6rem 0 1rem}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand strong{display:block;font-size:1.8rem;line-height:1}
.brand span{display:block;color:var(--teal);margin-top:.3rem}
nav{display:flex;gap:1.6rem;font-weight:600;font-size:.95rem}
nav a:hover{color:var(--teal)}
.hero{background:linear-gradient(90deg,#fbf8f3 0%,#fff 62%);padding:0 0 1.3rem}
.hero-grid{display:grid;grid-template-columns:1fr 1.17fr;min-height:520px;align-items:stretch}
.hero-copy{padding:3rem 2.6rem 2.2rem 0;align-self:center}
.location,.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.78rem;color:var(--teal)}
.location{text-transform:none;letter-spacing:0;font-size:.93rem}
.lead{font-size:1.08rem;max-width:58ch}
.hero-photo{min-height:520px;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.actions{display:flex;gap:.85rem;flex-wrap:wrap;margin:1.35rem 0 1rem}
.btn{padding:.78rem 1.15rem;border-radius:999px;font-weight:800;border:1px solid var(--teal)}
.primary{background:var(--teal);color:#fff}
.secondary{background:#fff;color:var(--teal)}
.ticks{list-style:none;padding:0;margin:1rem 0 0}
.ticks li{margin:.45rem 0;padding-left:1.55rem;position:relative}
.ticks li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:-1.7rem;position:relative;z-index:2}
.three-cards article,.student-grid article,.lesson-options article,.rate-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 24px rgba(20,63,69,.07)}
.three-cards article{padding:1.25rem 1.35rem}
.icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e8f4f3;color:var(--teal);font-weight:800;margin-bottom:.5rem}
.section{padding:4.2rem 0;border-top:1px solid #edf1f0}
.soft{background:var(--soft)}
.about-grid{display:grid;grid-template-columns:.95fr 1.45fr;gap:2.3rem;align-items:center}
.about-photos{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:.65rem}
.about-photos img{width:100%;height:100%;object-fit:cover;border-radius:12px;min-height:150px}
.about-photos .portrait{grid-row:1/3;min-height:390px}
.who-grid{display:grid;grid-template-columns:1.65fr .8fr;gap:2rem;align-items:center}
.student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.student-grid article{padding:1.1rem}
.feature-photo{width:100%;border-radius:12px;max-height:360px;object-fit:cover}
.learning-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:2.3rem;align-items:start}
.outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem 1rem;margin-top:1.25rem}
.outcomes span{padding:.55rem .6rem;border-bottom:1px solid var(--line);font-weight:650}
.small-note{font-size:.9rem;color:#60747a}
.why-card{display:grid;grid-template-columns:1.35fr .8fr;gap:1rem;align-items:stretch}
.why-card img{width:100%;height:100%;min-height:310px;object-fit:cover;border-radius:12px}
.compact li{font-size:.94rem}
.centered{text-align:center}
.lesson-options{display:grid;grid-template-columns:1fr 1fr .9fr;gap:1rem}
.lesson-options article{display:flex;gap:1rem;padding:1.15rem}
.lesson-options aside{display:grid;place-items:center;text-align:center;background:#eaf5f4;border-radius:14px;padding:1.2rem;color:var(--teal);font-weight:700}
.rates{background:#fff}
.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:820px}
.rate-grid article{padding:1.35rem 1.5rem}
.price{font-size:2rem;color:var(--teal);font-family:Georgia,serif;font-weight:700;margin:.25rem 0}
.price small{font-family:Inter,sans-serif;font-size:.9rem;color:#52666c;font-weight:600}
.contact{padding-top:3.5rem}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:center}
.contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.contact-links a{padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.contact-links span{display:block;font-size:.75rem;color:#667a80}
.contact-links strong{display:block;color:var(--ink);font-size:.92rem;word-break:break-word}
footer{background:#075e62;color:#fff;padding:1.4rem 0;text-align:center;font-size:.92rem}
@media(max-width:900px){
  nav{display:none}.hero-grid,.about-grid,.who-grid,.learning-grid,.contact-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0}.hero-photo{min-height:380px}.three-cards,.student-grid,.lesson-options,.contact-links{grid-template-columns:1fr}
  .about-photos{grid-template-columns:1fr 1fr}.about-photos .portrait{grid-row:auto;grid-column:1/3;min-height:420px}
  .why-card{grid-template-columns:1fr 1fr}.rate-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  h1{font-size:3.1rem}.wrap{width:min(100% - 24px,1180px)}.hero-copy{padding-top:2rem}
  .three-cards{margin-top:1rem}.about-photos{grid-template-columns:1fr}.about-photos .portrait{grid-column:auto}
  .why-card{grid-template-columns:1fr}.outcomes{grid-template-columns:1fr}.nav{min-height:68px}.brand strong{font-size:1.45rem}
}
@media (max-width: 900px) {
  .about-photos {
    display: block;
  }

  .about-photos .portrait {
    width: 100%;
    height: auto;
    min-height: 0;
  }
}
