:root{
  --bg: #0a0a0a;
  --bg-2: #17171a;
  --bg-3: #1f1f23;
  --ink: #f4f3ef;
  --ink-soft: rgba(244,243,239,0.78);
  --ink-faint: rgba(244,243,239,0.55);
  --line: rgba(244,243,239,0.12);
  --accent-a: #57d9c9;
  --accent-b: #5b6bef;
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --maxw: 760px;
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}

h1,h2,h3{font-family:var(--serif); font-weight:600; letter-spacing:0.12em; text-transform:uppercase; line-height:1.4}
h1{font-size:30px}
h2{font-size:26px; letter-spacing:0.02em; text-transform:none; margin-bottom:22px; text-align:center}
h3{font-size:20px; letter-spacing:0.02em; text-transform:none}

section{padding:80px 0}
p{margin:0 0 18px; color:var(--ink-soft)}

.center{text-align:center}

/* Nav */
.nav{
  position:sticky; top:0; z-index:20;
  background:rgba(10,10,10,0.85);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav .wrap{max-width:1040px; display:flex; align-items:center; justify-content:space-between; padding:16px 24px}
.wordmark{font-family:var(--serif); letter-spacing:0.18em; font-size:13px; text-transform:uppercase; color:var(--ink)}
.nav-links{display:flex; gap:28px; list-style:none}
.nav-links a{color:var(--ink-soft); text-decoration:none; font-size:13px; letter-spacing:0.06em; text-transform:uppercase}
.nav-links a:hover{color:var(--ink)}
.book-now{
  display:inline-block; background:var(--ink); color:var(--bg); font-weight:600;
  font-size:13px; letter-spacing:0.06em; text-transform:uppercase; padding:10px 20px; border-radius:999px;
  text-decoration:none; white-space:nowrap;
}
@media (max-width:700px){ .nav-links{display:none} }

/* Hero: CSS-only tunnel effect, no external photo needed */
.hero{
  position:relative;
  min-height:640px;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  padding:120px 24px;
  background:
    radial-gradient(circle at 50% 45%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.92) 100%),
    repeating-radial-gradient(circle at 50% 45%, #3a3a3f 0px, #3a3a3f 2px, #6b6b70 3px, #6b6b70 4px, #3a3a3f 5px, #3a3a3f 26px);
}
.hero-inner{position:relative; z-index:2; text-align:center; max-width:640px}
.hero h1{font-size:34px; letter-spacing:0.16em}
.hero .sub{font-size:19px; font-weight:600; color:var(--ink); margin-top:18px; letter-spacing:0.01em}
.hero .body{font-size:15px; color:var(--ink-soft); max-width:460px; margin:16px auto 0}

/* Broken / deserve better section */
.section-dark{background:var(--bg)}
.pain p, .compare p{text-align:center; max-width:560px; margin-left:auto; margin-right:auto}
.deserve{margin-top:36px}

.headshot{
  width:320px; height:232px; margin:34px auto 30px;
  overflow:hidden;
}
.headshot img{width:100%; height:100%; object-fit:cover; object-position:50% 15%; display:block}

.cta-btn{
  display:inline-block;
  background:linear-gradient(100deg, var(--accent-a), var(--accent-b));
  color:#08110f; font-weight:700; font-size:15px; letter-spacing:0.02em;
  padding:16px 34px; border-radius:999px; text-decoration:none;
  box-shadow:0 8px 30px -8px rgba(87,217,201,0.45);
}
.cta-btn:hover{filter:brightness(1.06)}
.cta-row{text-align:center; margin-top:8px}

/* About */
.about h2{margin-bottom:6px}
.about .lead{text-align:center; color:var(--ink-faint); font-size:13px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:30px}
.about-copy{max-width:520px; margin:0 auto; text-align:center}
.get h3{text-align:center; margin:34px 0 18px}
.get-list{list-style:none; max-width:460px; margin:0 auto}
.get-list li{
  position:relative; padding:0 0 16px 28px; color:var(--ink-soft); text-align:left;
}
.get-list li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%;
  background:linear-gradient(100deg, var(--accent-a), var(--accent-b));
}

/* Testimonials */
.testimonials{background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.tcount{text-align:center; color:var(--ink-faint); font-size:14px; margin:-10px 0 34px}
.tgrid-wrap{max-width:1080px; margin:0 auto; padding:0 24px}
.tgrid{columns:1; column-gap:20px}
@media (min-width:700px){ .tgrid{columns:2} }
@media (min-width:1000px){ .tgrid{columns:3} }
.tcard{
  break-inside:avoid; margin-bottom:20px;
  background:var(--bg-3); border:1px solid var(--line); border-radius:16px;
  overflow:hidden; display:flex; flex-direction:column;
  padding:28px 26px 26px;
}
.tcard[data-batch]{display:none}
.tgrid-more{text-align:center; margin:10px 0 34px}
.ghost-btn{
  background:transparent; border:1px solid var(--line); border-radius:999px;
  color:var(--ink-soft); font-size:14px; padding:12px 28px; cursor:pointer;
}
.ghost-btn:hover{border-color:var(--accent-a); color:var(--ink)}
.tcard-quote-mark{
  font-family:var(--serif); font-size:44px; line-height:1; color:var(--accent-a);
  opacity:0.55; margin-bottom:6px;
}
.tcard-body{flex:1}
.tcard-body p{
  font-size:14.5px; color:var(--ink-soft); margin-bottom:12px;
}
.tcard-head{
  display:flex; align-items:center; gap:12px; padding-top:18px; margin-top:auto;
  border-top:1px solid var(--line);
}
.tcard-avatar{
  width:44px; height:44px; border-radius:50%; flex:0 0 auto;
  background:linear-gradient(135deg, var(--accent-a), var(--accent-b));
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:700; color:#08110f;
  overflow:hidden;
}
.tcard-avatar img{width:100%; height:100%; object-fit:cover; display:block}
.tcard-name{font-size:14.5px; font-weight:600; color:var(--ink)}
.tcard-sub{font-size:12px; color:var(--ink-faint)}


.testimonials .closing{text-align:center; margin-top:30px}
.testimonials .closing p{max-width:420px; margin-left:auto; margin-right:auto}

/* Footer */
footer{padding:50px 0; text-align:center; color:var(--ink-faint); font-size:13px}
footer a{color:var(--ink-faint)}

@media (max-width:600px){
  h1{font-size:26px}
  .hero{min-height:520px; padding:90px 20px}
  .hero h1{font-size:26px}
  section{padding:56px 0}
}
