:root{
  --ink:#2e3a40;
  --heading:#243946;
  --paper:#fbfaf7;
  --white:#ffffff;
  --muted:#65747a;
  --blue:#307e94;
  --blue-deep:#254957;
  --green:#6f9a73;
  --green-soft:#eef4ed;
  --blue-soft:#edf4f6;
  --warm:#f4f1eb;
  --line:#e3e6e2;
  --max:1120px;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Avenir Next",Avenir,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.72;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
header{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.96);border-bottom:1px solid rgba(37,73,87,.09);backdrop-filter:blur(12px)}
.nav{min-height:82px;display:flex;align-items:center;gap:28px}
.logo-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.logo-brand img{display:block;width:auto;height:64px}
nav{display:flex;gap:20px;margin-left:auto;align-items:center}
nav a{text-decoration:none;font-size:.87rem;font-weight:500;color:#43545b;transition:.18s ease}
nav a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 19px;border:1px solid #aab7bb;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;transition:.18s ease;background:transparent}
.btn:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}
.primary{background:var(--blue-deep);color:#fff;border-color:var(--blue-deep)}
.primary:hover{background:#1e3d49;color:#fff;border-color:#1e3d49}
.hero,.subhero{padding:76px 0 70px}
.herogrid,.split,.head{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.eyebrow{font-size:.83rem;font-weight:600;color:var(--blue);margin-bottom:14px;letter-spacing:.015em}
h1,h2,h3{color:var(--heading);margin:0 0 20px;font-weight:500;letter-spacing:-.025em}
h1{font-size:clamp(2.9rem,5.7vw,5rem);line-height:1.08}
h2{font-size:clamp(2rem,3.9vw,3.35rem);line-height:1.14}
h3{font-size:1.32rem;line-height:1.25;font-weight:600}
.lead{font-size:clamp(1.08rem,1.6vw,1.26rem);line-height:1.65;color:#516168;max-width:700px}
p{margin:0 0 18px}.muted{color:var(--muted)}
.hero p:last-child{margin-top:28px}
.art{min-height:430px;border-radius:34px;background:linear-gradient(145deg,#eef3ef,#d8e4e5 55%,#bdd3d7);position:relative;overflow:hidden;box-shadow:0 18px 55px rgba(37,73,87,.08)}
.art:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.52);right:-50px;top:-45px}
.art:after{content:"Replace with clinic photography";position:absolute;left:24px;bottom:22px;color:#5e747c;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.section{padding:78px 0}
.white{background:#fff}
.darksec{background:var(--blue-soft);color:var(--ink)}
.darksec h2{color:var(--heading)}
.darksec .lead{color:#536970!important}
.darksec .eyebrow{color:var(--blue)!important}
.head{align-items:start}
.signature{font-size:clamp(1.7rem,3vw,2.45rem);font-weight:500;letter-spacing:-.02em;color:var(--blue-deep);margin-top:34px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px}
.card{background:transparent;border:0;border-top:1px solid #cad5d7;border-radius:0;padding:26px 4px 8px}
.card p{color:var(--muted)}
.card a,.prose a{color:var(--blue-deep);text-decoration:none;font-weight:600}
.card a:hover,.prose a:hover{text-decoration:underline}
.conditions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.condition{background:var(--warm);padding:22px 20px;border-radius:16px;text-decoration:none;min-height:112px;font-weight:600;color:#3e5057;display:flex;align-items:flex-end;transition:.18s ease}
.condition:hover{background:var(--blue-soft);color:var(--blue-deep);transform:translateY(-1px)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:32px}
.step{border-top:1px solid #c7d3d4;padding-top:22px}
.step h3{font-size:1.18rem}.step p{color:var(--muted)}
.prose{max-width:790px}
.prose h2{margin-top:54px;font-size:clamp(1.9rem,3.3vw,2.8rem)}
.prose p,.prose li{font-size:1.04rem;color:#4e5d63}
.note{background:var(--green-soft);padding:24px 26px;border-left:3px solid #8dad88;border-radius:14px;margin:30px 0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.cta{padding:70px 0}
.ctabox{background:linear-gradient(135deg,#eef4f6,#f2f5ef);border:1px solid #dce5e3;border-radius:28px;padding:44px 46px;display:flex;justify-content:space-between;gap:34px;align-items:end}
.ctabox h2{font-size:clamp(1.9rem,3vw,2.8rem)}
footer{background:#eef1ef;color:#405057;padding:48px 0 24px;border-top:1px solid #dce3df}
.foot{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:36px}
.footer-logo{display:block;width:155px;height:auto;background:#fff;border-radius:10px;padding:7px;margin-bottom:16px}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
footer small{color:#718087}
@media(max-width:900px){
  nav{display:none}
  .herogrid,.split,.head,.contact{grid-template-columns:1fr}
  .herogrid{gap:38px}
  .cards{grid-template-columns:1fr;gap:8px}
  .conditions,.steps{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr}
  .art{min-height:320px}
  .logo-brand img{height:58px}
  .nav{min-height:74px}
  .hero,.subhero{padding:58px 0}
  .section{padding:64px 0}
}
@media(max-width:560px){
  .container{width:min(var(--max),calc(100% - 30px))}
  h1{font-size:2.9rem}
  h2{font-size:2.1rem}
  .conditions,.steps{grid-template-columns:1fr}
  .ctabox{flex-direction:column;align-items:start;padding:32px 28px}
  .logo-brand img{height:52px}
  .nav>.primary{padding:9px 14px;font-size:.82rem}
}

/* Version 4 — quiet, warm headline hierarchy */
h1,h2,h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--heading);
  font-weight:400;
  letter-spacing:-.012em;
}
h1{
  font-size:clamp(2.45rem,4.4vw,4rem);
  line-height:1.13;
  max-width:780px;
  margin-bottom:24px;
}
h2{
  font-size:clamp(1.7rem,2.7vw,2.35rem);
  line-height:1.25;
  margin-bottom:20px;
}
h3{
  font-size:1.2rem;
  line-height:1.35;
  font-weight:400;
}
.eyebrow{
  font-family:"Avenir Next",Avenir,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.76rem;
  font-weight:500;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:#66828b;
  margin-bottom:18px;
}
.hero,.subhero{padding:88px 0 82px}
.hero .lead{font-size:clamp(1.08rem,1.35vw,1.2rem);max-width:650px}
.head{gap:82px}
.signature{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,2.3vw,2rem);
  font-weight:400;
  letter-spacing:0;
  color:#536f72;
  margin-top:38px;
}
.card h3,.step h3,.box h3{font-weight:400}
.prose h2{font-size:clamp(1.65rem,2.5vw,2.2rem);line-height:1.28}
.ctabox h2{font-size:clamp(1.7rem,2.6vw,2.25rem)}
@media(max-width:900px){.hero,.subhero{padding:68px 0}.head{gap:32px}}
@media(max-width:560px){h1{font-size:2.4rem}h2{font-size:1.75rem}.hero,.subhero{padding:56px 0}.eyebrow{letter-spacing:.055em}}


/* V4.1 — softer headline refinement */
h1, h2, h3,
.signature {
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.012em;
  color: #263b38;
}
h1 {
  font-size: clamp(2.35rem, 4.35vw, 4.05rem);
  line-height: 1.16;
  max-width: 780px;
}
h2 {
  font-size: clamp(1.72rem, 2.7vw, 2.55rem);
  line-height: 1.22;
  max-width: 760px;
}
h3 {
  font-size: 1.18rem;
  line-height: 1.32;
}
.hero .lead {
  font-size: 1.10rem;
  line-height: 1.72;
  max-width: 660px;
}
.eyebrow {
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .085em;
  opacity: .78;
}
.signature {
  font-size: clamp(1.45rem, 2.5vw, 2.15rem);
  font-style: italic;
  opacity: .88;
}
.section {
  padding-top: 82px;
  padding-bottom: 82px;
}
.head h2, .split h2 {
  margin-top: .42rem;
}
.ctabox h2 {
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
}
@media (max-width: 560px) {
  h1 { font-size: 2.35rem; }
  h2 { font-size: 1.78rem; }
}


/* VERSION 6 — current-site-inspired typography
   Returns to the quiet, simple Wix-era feel: clean geometric sans,
   lighter weights, restrained sizing, no script accents. */

body{
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  color:#46504e;
}

h1,h2,h3,.signature{
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
  color:#354441;
  letter-spacing:.005em;
}

h1{
  font-size:clamp(2.25rem,4vw,3.65rem);
  line-height:1.14;
  font-weight:400;
  max-width:800px;
}

h2{
  font-size:clamp(1.55rem,2.45vw,2.25rem);
  line-height:1.25;
  font-weight:400;
  max-width:760px;
}

h3{
  font-size:1.08rem;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.01em;
}

.eyebrow{
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.11em;
  opacity:.67;
}

.lead,.hero .lead{
  font-size:1.08rem;
  line-height:1.78;
  font-weight:400;
}

.signature{
  font-size:1.15rem;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.055em;
  color:#65716e;
}

.section{
  padding-top:84px;
  padding-bottom:84px;
}

.hero,.subhero{
  padding-top:76px;
  padding-bottom:76px;
}

/* Prominent logo retained, but without V5's oversized header feel */
.logo-brand img{
  height:82px;
  width:auto;
}
.nav{
  min-height:98px;
}

nav a{
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:.88rem;
  font-weight:500;
  letter-spacing:.015em;
}

/* Softer card hierarchy */
.card h3,.step h3,.box h3{
  font-weight:500;
}
.card,.step,.box{
  box-shadow:none;
}

/* More relaxed mobile scale */
@media(max-width:900px){
  .logo-brand img{height:72px}
  .nav{min-height:86px}
}
@media(max-width:560px){
  h1{font-size:2.18rem;line-height:1.18}
  h2{font-size:1.62rem}
  .logo-brand img{height:64px}
  .nav{min-height:78px}
  .hero,.subhero{padding-top:56px;padding-bottom:58px}
}


/* VERSION 7 — logo integrated with each page heading */
.nav{min-height:68px;justify-content:flex-end;padding-top:10px;padding-bottom:10px}
nav{margin-left:auto}
.logo-brand{display:none !important}
.page-heading-logo{margin:0 0 28px 0}
.page-heading-logo img{display:block;width:250px;max-width:72vw;height:auto}
.hero .page-heading-logo img{width:310px}
.hero .page-heading-logo{margin-bottom:34px}
.hero h1,.subhero h1{margin-top:0}
.hero,.subhero{padding-top:58px}
header{background:rgba(251,250,247,.96)}
nav a{font-size:.87rem;font-weight:500}
@media(max-width:900px){.nav{min-height:62px}.page-heading-logo img{width:220px}.hero .page-heading-logo img{width:270px}}
@media(max-width:560px){.nav{min-height:58px}.page-heading-logo{margin-bottom:22px}.page-heading-logo img{width:195px;max-width:78vw}.hero .page-heading-logo img{width:235px}.hero,.subhero{padding-top:42px}}
