:root{--ink:#132F4D;--slate:#3C566E;--body:#5C7A93;--line:#C6D3DE;--accent:#0E8C9E;--alt:#F5F8FA;--max:1680px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--body);background:#fff;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.02em}
h1,h2{font-family:"EB Garamond",Garamond,Georgia,serif;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,5vw,3.8rem);line-height:1.08}
h2{font-size:clamp(1.85rem,3.2vw,2.5rem)}
h3{font-size:1.1rem;font-weight:650;letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--accent)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,72px)}
@media (max-width:860px){.wrap{padding:0 20px}}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:block}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;padding:14px 24px;border-radius:4px;border:2px solid var(--ink);transition:background .15s,color .15s}
.btn:hover{background:#1F4166}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}
.btn-light:hover{background:var(--alt)}
.textlink{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--line);padding:4px 0;font-size:.95rem}
.textlink:hover{border-color:var(--accent)}
.placeholder{background:#E9EEF2;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#93A7B8;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}

/* header */
header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid #E6ECF1;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:14px}
.brand img{height:22px;width:auto;display:block}
.brand span{font-family:"EB Garamond",Garamond,Georgia,serif;font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding-left:14px;border-left:1px solid var(--line)}
.foot-logo{width:230px;height:auto;display:block}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.nav-links a[aria-current]:not(.btn){color:var(--accent)}
.nav .btn{padding:10px 18px}

/* sections */
section{padding:88px 0}
.alt{background:var(--alt)}
.hero{padding:96px 0 104px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hero .sub{font-size:1.3rem;color:var(--slate);font-weight:500;margin:18px 0 22px}
.hero .lead{max-width:62ch}
.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px}
.hero .placeholder{aspect-ratio:4/3}
.section-head{max-width:46rem;margin-bottom:44px}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:32px}
.card h3{margin-bottom:10px}
.card p{margin:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 36px}
.grid3 .item{border-top:1.5px solid var(--ink);padding-top:18px}
.grid3 .item h3{margin-bottom:8px}
.grid3 .item p{margin:0;font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-weight:700;margin-bottom:16px}
.steps h3{margin-bottom:6px}
.steps p{margin:0;font-size:.95rem}
.split{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center}
.split .placeholder{aspect-ratio:1/1}
.band{background:var(--ink);color:#C9D6E2;text-align:center;padding:80px 0}
.band h2{color:#fff;margin-bottom:16px}
.band-note{max-width:44rem;margin:0 auto 30px;color:#C9D6E2}
.band-note strong{color:#fff}

/* about */
.page-head{padding:88px 0 40px}
.prose{max-width:900px}
.prose h2{font-size:1.7rem;margin:48px 0 14px}
.creds{list-style:none;padding:0;margin:0}
.creds li{padding:14px 0;border-bottom:1px solid #E6ECF1}
.creds li:first-child{border-top:1px solid #E6ECF1}
.creds strong{color:var(--ink);display:block}

/* booking */
.offer{display:flex;flex-direction:column}
.price{font-size:1.9rem;font-weight:700;color:var(--ink);margin:6px 0 2px;letter-spacing:-.02em}
.meta{font-size:.85rem;color:var(--body);margin-bottom:18px}
.offer ul{padding-left:18px;margin:0 0 24px;font-size:.95rem}
.offer .btn{margin-top:auto;align-self:flex-start}
.offer.featured{border-color:var(--ink);border-width:1.5px}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:10px}
.scheduler{margin-top:56px;min-height:420px;border:1.5px dashed var(--line);border-radius:6px;background:#fff;flex-direction:column;gap:8px;text-align:center;padding:24px}
.fine{font-size:.85rem;margin-top:18px}

/* footer */
footer{background:var(--ink);border-top:1px solid #2A4A6A;color:#AFC0CF;padding:56px 0 40px;font-size:.92rem}
.foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
footer .brand{color:#fff}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
.foot-links{display:flex;flex-direction:column;gap:8px}
.copy{border-top:1px solid #23405A;margin-top:40px;padding-top:20px;font-size:.8rem;color:#7F98AD}

@media (max-width:860px){
  section{padding:64px 0}
  .hero{padding:56px 0 64px}
  .hero-grid,.cards2,.split{grid-template-columns:1fr;gap:36px}
  .grid3,.steps{grid-template-columns:1fr;gap:28px}
  .split .placeholder{max-width:280px}
  .nav-links{gap:16px}
  .nav-links .hide-sm{display:none}
  .brand span{display:none}
  .nav .btn{padding:9px 14px;font-size:.85rem;white-space:nowrap}
  .nav-links a:not(.btn){font-size:.88rem}
}

.btn-disabled{background:#E9EEF2;border-color:#E9EEF2;color:#7F98AD;cursor:default}
.btn-disabled:hover{background:#E9EEF2}
.scheduler-wrap{margin-top:64px;padding-top:56px;border-top:1px solid #E6ECF1}
.calendly-inline-widget{min-width:320px;height:720px;margin-top:24px}
@media (max-width:860px){.calendly-inline-widget{height:1000px}}

.photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:6px;display:block}
.split .photo{max-width:380px}
.highlights{list-style:none;padding:0;margin:8px 0 18px;display:grid;gap:14px}
.highlights li{border-left:2px solid var(--accent);padding:4px 0 4px 18px}
.highlights strong{color:var(--ink);display:block}
@media (max-width:860px){.split .photo{max-width:320px}}

@media (min-width:1600px){
  html{font-size:18px}
  .hero{padding:120px 0 128px}
  .hero-grid{gap:96px}
  .split{grid-template-columns:440px 1fr}
  .split .photo{max-width:440px}
  .nav{height:84px}
  .brand img{height:26px}
}

@media (min-width:2200px){
  html{font-size:21px}
  :root{--max:2200px}
  .split{grid-template-columns:520px 1fr}
  .split .photo{max-width:520px}
  .brand img{height:30px}
  .nav{height:96px}
  .calendly-inline-widget{height:820px}
}

.intro p{font-size:1.1rem;color:var(--slate);line-height:1.65}
.intro p:last-child{margin-bottom:0}

.note-247{margin-top:20px;padding:16px 20px;background:var(--alt);border-left:2px solid var(--accent);border-radius:4px;font-size:.95rem}
.note-247 strong{color:var(--ink)}

.review{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.review-box{border:1.5px solid var(--ink);border-radius:6px;padding:36px 40px;background:#fff}
.review-box .meta{margin-bottom:22px}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:28px;font-size:.98rem}
.checks li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
@media (max-width:860px){.review{grid-template-columns:1fr;gap:32px}.review-box{padding:28px}}

.hero-art{background:#F7FAFC;border:1px solid #E6ECF1;border-radius:6px;padding:clamp(12px,2vw,28px)}
.hero-art img{width:100%;height:auto;display:block}

.fda{border-left:3px solid var(--accent);padding:8px 0 8px 32px;max-width:60rem}
.fda p{margin-bottom:12px}
