
:root {
  --black: #0b0b0b;
  --charcoal: #171717;
  --cream: #f7f4ee;
  --white: #ffffff;
  --gold: #c9a45c;
  --gold-light: #dfc58e;
  --text: #222;
  --muted: #6d6d6d;
  --line: #dedad1;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Inter", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: "Cormorant Garamond", serif; margin-top: 0; }
h1 { font-size: clamp(4rem, 9vw, 8rem); line-height: .83; letter-spacing: -0.04em; margin-bottom: 1.5rem; font-weight: 600; }
h1 em { color: var(--gold-light); font-weight: 500; }
h2 { font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -0.03em; font-weight: 600; }
h3 { font-size: 2rem; line-height: 1.1; }
p { margin-top: 0; }

.site-header {
  height: 82px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(11,11,11,.97);
  color: white;
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark {
  width: 42px; height:42px; display:grid; place-items:center;
  border:1px solid var(--gold); border-radius:50%;
  color:var(--gold); font:600 28px/1 "Cormorant Garamond", serif;
}
.brand-text { display:flex; flex-direction:column; line-height:1.05; }
.brand-text strong { letter-spacing:.14em; font-size:.8rem; }
.brand-text small { letter-spacing:.3em; color:var(--gold-light); font-size:.52rem; margin-top:5px; }
.site-nav { display:flex; align-items:center; gap:2rem; font-size:.86rem; }
.site-nav a { opacity:.88; }
.site-nav a:hover { opacity:1; color:var(--gold-light); }
.nav-cta { border:1px solid var(--gold); padding:.7rem 1rem; }
.menu-toggle { display:none; background:none; border:0; color:white; font-size:1.5rem; }

.hero {
  min-height: 82vh;
  position: relative;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 80% 35%, rgba(201,164,92,.17), transparent 30%),
    linear-gradient(115deg, #090909 0%, #151515 62%, #24201a 100%);
  color:white;
  overflow:hidden;
}
.hero::after {
  content:"";
  position:absolute;
  right:-9vw; bottom:-22vw;
  width:56vw; height:56vw;
  border:1px solid rgba(201,164,92,.25);
  border-radius:50%;
  box-shadow: inset 0 0 0 8vw rgba(255,255,255,.015), inset 0 0 0 16vw rgba(201,164,92,.02);
}
.hero-content { width:min(1100px,90vw); margin:0 auto; position:relative; z-index:2; padding:6rem 0; }
.eyebrow, .section-label { letter-spacing:.23em; font-size:.72rem; font-weight:700; }
.eyebrow { color:var(--gold-light); margin-bottom:2rem; }
.hero-copy { max-width:650px; font-size:1.12rem; color:#d8d8d8; }
.hero-actions { display:flex; gap:1rem; margin:2.2rem 0 3rem; flex-wrap:wrap; }
.btn { display:inline-block; padding:1rem 1.55rem; font-weight:700; font-size:.86rem; letter-spacing:.06em; transition:.2s; }
.btn-gold { background:var(--gold); color:#111; }
.btn-gold:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-outline { border:1px solid rgba(255,255,255,.55); color:white; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold-light); }
.trust-row { display:flex; flex-wrap:wrap; gap:1.8rem; color:#bdbdbd; font-size:.8rem; text-transform:uppercase; letter-spacing:.11em; }

.section { padding:7rem 7vw; }
.section-label { color:#766546; margin-bottom:2.5rem; }
.gold { color:var(--gold-light); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.lead { font-size:1.16rem; color:#393939; }
.dark { background:var(--black); color:white; }
.section-heading-row { display:flex; justify-content:space-between; gap:3rem; align-items:end; }
.section-heading-row p { max-width:410px; color:#a9a9a9; }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#2d2d2d; margin-top:4rem; border:1px solid #2d2d2d; }
.service-card { background:#111; padding:2.4rem; min-height:360px; display:flex; flex-direction:column; }
.service-card:hover { background:#161616; }
.card-number { color:var(--gold); font-size:.72rem; letter-spacing:.2em; margin-bottom:4rem; }
.service-card p { color:#a9a9a9; flex:1; }
.service-card a { color:var(--gold-light); font-size:.85rem; font-weight:700; }

.centered { max-width:800px; text-align:center; margin:0 auto 4rem; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.step { border-top:1px solid var(--line); padding-top:1.6rem; }
.step span { color:#9c7e42; font-weight:700; font-size:.8rem; }
.step h3 { margin:.9rem 0 .6rem; }
.step p { color:var(--muted); }

.about { display:grid; grid-template-columns:1.1fr .9fr; padding:0; background:#121212; color:white; }
.about-panel { padding:8rem 7vw; }
.about-panel p { max-width:650px; color:#bcbcbc; }
.about-visual {
  min-height:620px;
  display:grid; place-items:center;
  background:
    radial-gradient(circle at center, rgba(201,164,92,.24), transparent 35%),
    repeating-radial-gradient(circle at center, transparent 0 70px, rgba(201,164,92,.09) 71px 72px);
}
.monogram {
  width:180px; height:180px; border:1px solid var(--gold); border-radius:50%;
  display:grid; place-items:center;
  font:600 105px/1 "Cormorant Garamond", serif; color:var(--gold-light);
}

.text-link { color:#8c6c2f; font-weight:700; }
.light-alt { background:var(--cream); }
.faq h2 { margin-bottom:3rem; }
.faq-list { max-width:900px; }
details { border-top:1px solid #cfc7b8; padding:1.25rem 0; }
details:last-child { border-bottom:1px solid #cfc7b8; }
summary { cursor:pointer; list-style:none; font-weight:600; font-size:1.05rem; }
summary::after { content:"+"; float:right; color:#8e7139; font-size:1.4rem; }
details[open] summary::after { content:"−"; }
details p { max-width:760px; color:#666; margin:1rem 0 0; }

.booking { background:white; }
.booking-box {
  background:#111;
  color:white;
  padding:5rem;
  text-align:center;
  border:1px solid #292929;
  position:relative;
  overflow:hidden;
}
.booking-box::before {
  content:"";
  position:absolute; inset:14px;
  border:1px solid rgba(201,164,92,.3);
  pointer-events:none;
}
.booking-box p:not(.eyebrow) { color:#bbb; max-width:600px; margin:0 auto 2rem; }

footer { background:#080808; color:#aaa; padding:4rem 7vw 2rem; font-size:.85rem; }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:3rem; padding-bottom:3rem; }
.footer-main > div:not(.brand) { display:flex; flex-direction:column; gap:.7rem; }
.footer-main strong { color:white; margin-bottom:.4rem; }
.footer-bottom { border-top:1px solid #242424; padding-top:1.5rem; display:flex; justify-content:space-between; gap:1rem; }
.medical-note { font-size:.72rem; line-height:1.5; color:#666; margin:1.5rem 0 0; max-width:1000px; }

.mobile-book { display:none; }

@media (max-width: 900px) {
  .site-nav {
    position:absolute; top:82px; left:0; right:0;
    background:#0b0b0b; padding:1.2rem 5vw 1.6rem;
    display:none; flex-direction:column; align-items:flex-start; gap:1rem;
    border-top:1px solid #242424;
  }
  .site-nav.open { display:flex; }
  .menu-toggle { display:block; }
  .two-col, .about { grid-template-columns:1fr; }
  .cards { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .section-heading-row { display:block; }
  .about-visual { min-height:360px; }
  .footer-main { grid-template-columns:1fr; }
}

@media (max-width: 620px) {
  .site-header { height:70px; }
  .site-nav { top:70px; }
  .brand-mark { width:36px; height:36px; font-size:24px; }
  .brand-text strong { font-size:.69rem; }
  .brand-text small { font-size:.46rem; }
  .hero { min-height:78vh; }
  .hero-content { padding:4.5rem 0 6rem; }
  .hero-copy { font-size:1rem; }
  .section { padding:5rem 6vw; }
  .steps { grid-template-columns:1fr; }
  .booking-box { padding:4rem 1.5rem; }
  .footer-bottom { flex-direction:column; }
  .mobile-book {
    display:block;
    position:fixed; z-index:30; bottom:14px; left:50%; transform:translateX(-50%);
    background:var(--gold); color:#111; font-weight:800; letter-spacing:.1em;
    padding:.9rem 2rem; width:calc(100% - 28px); text-align:center;
    box-shadow:0 8px 30px rgba(0,0,0,.32);
  }
  footer { padding-bottom:6rem; }
}


/* Official Wellness On Call logo */
.site-logo {
  display: block;
  width: 158px;
  height: 64px;
  object-fit: contain;
  object-position: left center;
}
.footer-logo {
  display: block;
  width: 220px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.about-logo {
  width: min(380px, 72%);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.28));
}
@media (max-width: 620px) {
  .site-logo {
    width: 128px;
    height: 54px;
  }
}


/* Expanded About Us */
.about-us {
  background: #111;
  color: white;
}
.about-us-intro {
  max-width: 920px;
  margin-bottom: 4.5rem;
}
.about-kicker {
  color: var(--gold-light);
  letter-spacing: .16em;
  font-size: .76rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.about-lead {
  font-size: 1.18rem;
  color: #dedede;
}
.about-us-intro > p:last-child {
  color: #aaa;
}
.founder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.founder-card {
  border: 1px solid #303030;
  background: #161616;
  padding: 2.6rem;
  min-height: 100%;
}
.founder-initial {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font: 600 1.5rem/1 "Cormorant Garamond", serif;
  margin-bottom: 2rem;
}
.founder-role {
  color: var(--gold-light);
  letter-spacing: .16em;
  font-size: .68rem;
  font-weight: 700;
  margin-bottom: .7rem;
}
.founder-card h3 {
  font-size: 2.45rem;
  margin-bottom: 1.1rem;
}
.founder-card p {
  color: #aaa;
}
.experience-row {
  border-top: 1px solid #303030;
  padding-top: 1.5rem;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
}
.experience-row span {
  color: #aaa;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.experience-row strong {
  display: block;
  color: var(--gold-light);
  font: 600 2rem/1 "Cormorant Garamond", serif;
  margin-bottom: .35rem;
}
.owner-care {
  margin-top: 5rem;
  padding: 4rem 0;
  border-top: 1px solid #303030;
  border-bottom: 1px solid #303030;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7vw;
}
.owner-care .lead {
  color: #dedede;
}
.owner-care p:not(.lead):not(.section-label) {
  color: #aaa;
}
.about-logo-panel {
  min-height: 350px;
  display: grid;
  place-items: center;
  margin-top: 3rem;
  background:
    radial-gradient(circle at center, rgba(201,164,92,.18), transparent 35%),
    repeating-radial-gradient(circle at center, transparent 0 70px, rgba(201,164,92,.06) 71px 72px);
}
@media (max-width: 900px) {
  .founder-grid,
  .owner-care {
    grid-template-columns: 1fr;
  }
}


/* Treatment Menu */
.treatment-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--black);
  border:1px solid #303030;
  margin-top:4rem;
}
.treatment-card {
  background:var(--black);
  padding:2.3rem;
  min-height:430px;
  display:flex;
  flex-direction:column;
}
.treatment-card:hover { background:var(--black); }
.treatment-type {
  color:var(--gold-light) !important;
  letter-spacing:.18em;
  font-size:.67rem;
  font-weight:700;
  margin-bottom:1.1rem;
}
.treatment-card h3, .specialty-card h3 {
  font-size:2.45rem;
  margin-bottom:.8rem;
}
.treatment-tagline {
  color:#aaa;
  min-height:78px;
}
.ingredient-box {
  border-top:1px solid #333;
  padding-top:1.2rem;
  margin:1.2rem 0 1.8rem;
  flex:1;
}
.ingredient-box strong {
  display:block;
  color:#eee;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.67rem;
  margin-bottom:.6rem;
}
.ingredient-box p {
  color:#b8b8b8;
  font-size:.86rem;
  line-height:1.7;
}
.treatment-card a, .specialty-card a {
  color:var(--gold-light);
  font-size:.84rem;
  font-weight:700;
}
.wellness-injections {
  padding-top:6rem;
}
.specialty-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.3rem;
  margin-top:3rem;
}
.specialty-card {
  border:1px solid #333;
  background:#151515;
  padding:2.3rem;
  display:flex;
  flex-direction:column;
}
.specialty-card > p:not(.treatment-type) {
  color:#aaa;
  flex:1;
}
.route {
  border-top:1px solid #333;
  border-bottom:1px solid #333;
  padding:1rem 0;
  margin:1rem 0 1.5rem;
  color:#bbb;
  font-size:.82rem;
}
.route strong { color:#eee; }
.menu-disclaimer {
  margin:3rem 0 0;
  padding-top:1.5rem;
  border-top:1px solid #2d2d2d;
  color:#777;
  font-size:.74rem;
  max-width:1000px;
}
@media (max-width: 950px) {
  .treatment-grid { grid-template-columns:1fr 1fr; }
  .specialty-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .treatment-grid { grid-template-columns:1fr; }
  .treatment-card { min-height:auto; }
  .treatment-tagline { min-height:0; }
}


/* Founder portrait and header logo refinements */
.site-logo {
  width: 205px;
  height: 72px;
}
.founder-photo {
  width: 100%;
  height: 330px;
  object-fit: cover;
  object-position: center 28%;
  border: 1px solid #333;
  margin-bottom: 2rem;
  display: block;
}
@media (max-width: 620px) {
  .site-logo {
    width: 165px;
    height: 58px;
  }
  .founder-photo {
    height: 360px;
  }
}


/* Display both owners' original, unedited uploaded portraits consistently */
.founder-photo {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center top;
  display: block;
}


/* Refined owner portraits: smaller, with more of each original photo visible */
.founder-card-photo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.founder-photo {
  width: 72%;
  max-width: 300px;
  height: 360px;
  object-fit: contain;
  object-position: center center;
  background: #111;
  border: 0;
  margin: 0 auto 2rem;
}
.founder-content {
  width: 100%;
}
@media (max-width: 900px) {
  .founder-photo {
    width: 65%;
    max-width: 320px;
    height: 380px;
  }
}
@media (max-width: 620px) {
  .founder-photo {
    width: 78%;
    height: 340px;
  }
}


/* Group Wellness */
.group-wellness {
  background:
    radial-gradient(circle at 82% 28%, rgba(201,164,92,.17), transparent 30%),
    #0d0d0d;
  color: white;
}
.group-wellness-inner {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 7vw;
  align-items: center;
}
.group-copy .lead {
  color: #dedede;
  max-width: 700px;
}
.group-copy > p:not(.lead) {
  color: #aaa;
  max-width: 700px;
}
.group-copy .btn {
  margin-top: 1rem;
}
.group-callout {
  border: 1px solid #333;
  padding: 2.5rem;
  background: rgba(255,255,255,.025);
}
.group-small {
  color: var(--gold-light);
  font-size: .68rem;
  letter-spacing: .2em;
  font-weight: 700;
}
.occasion-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem 1.5rem;
  margin: 1.8rem 0 2.2rem;
}
.occasion-list span {
  border-bottom: 1px solid #303030;
  padding-bottom: .7rem;
  color: #ddd;
}
.group-discount {
  border-top: 1px solid var(--gold);
  padding-top: 1.5rem;
}
.group-discount strong {
  font-family: "Cormorant Garamond", serif;
  color: white;
  font-size: 1.7rem;
}
.group-discount p {
  color: #aaa;
  margin: .4rem 0 0;
}
@media (max-width: 900px) {
  .group-wellness-inner { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .occasion-list { grid-template-columns: 1fr; }
}

/* Appointment requests and published prices */
.menu-price { color:var(--gold-light); font-weight:700; font-size:1.35rem; margin:0 0 1rem; }
.menu-price span { font-size:1rem; }
.add-on-menu { margin-top:2rem; padding:1.5rem; border:1px solid #4b402b; border-radius:12px; }
.add-on-menu h3 { margin-bottom:.5rem; }
.request-form { text-align:left; max-width:780px; margin:2rem auto; position:relative; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.request-form label { display:block; font-size:.95rem; font-weight:500; color:#f7f4ee; }
.request-form input:not([type=checkbox]),.request-form select { display:block; width:100%; min-height:48px; margin-top:.4rem; padding:.7rem; font:inherit; background:#fff; color:#222; border:1px solid #c9a45c; border-radius:5px; }
.request-form input:focus-visible,.request-form select:focus-visible,.request-form button:focus-visible { outline:3px solid var(--gold-light); outline-offset:3px; }
.full-width { grid-column:1/-1; }
.request-form fieldset { border:1px solid #716344; border-radius:6px; margin:1.5rem 0; padding:1rem; }
.request-form legend { color:var(--gold-light); padding:0 .4rem; }
.addon-options { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; }
.addon-options input,.acknowledge input { accent-color:var(--gold); width:18px; height:18px; }
.request-form .acknowledge { display:flex; align-items:flex-start; gap:.65rem; margin:1rem 0; }
.acknowledge input { flex-shrink:0; margin-top:.3rem; }
.booking-box .request-form .form-note { margin:1rem 0; font-size:.9rem; }
.request-form button { border:0; cursor:pointer; font:inherit; }
.booking-box .visit-policy { max-width:780px; font-size:.95rem; }
.booking-contact a { text-decoration:underline; }
@media(max-width:600px) { .form-grid {grid-template-columns:1fr;} .request-form button {width:100%;} }

.infusion-details { margin:0 0 1.2rem; border-top:1px solid #4b402b; border-bottom:1px solid #4b402b; padding:.75rem 0; }
.infusion-details summary { color:var(--gold-light); cursor:pointer; font-weight:600; min-height:44px; display:list-item; padding:.6rem 0; }
.infusion-details summary:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.infusion-details p { color:#ddd; margin:.65rem 0; }
.infusion-details .screening-note { color:#bbb; font-size:.9rem; }

/* 2026 marketing sections */
.woc-feature-section{padding-top:62px;padding-bottom:62px}.woc-feature-section p{max-width:850px;line-height:1.7}.woc-feature-section h2{margin-bottom:14px}.woc-feature-section a[href^=tel]{font-weight:700}.woc-feature-section .btn{margin:10px 10px 0 0}.woc-feature-section .btn-outline{color:inherit;border:1px solid #b89656}

/* Prominent community recognition and Orlando visitor feature */
.woc-community-highlight{background:#171717;color:#f7f4eb;border-top:3px solid #c6a35f;border-bottom:3px solid #c6a35f}
.woc-community-highlight .section-label,.woc-community-highlight h2{color:#d5b46b}
.woc-community-highlight p{color:#eee7d9}
.woc-community-highlight .woc-discount-emphasis{display:inline-block;margin:12px 0 17px;padding:11px 17px;border:1px solid #c6a35f;color:#f6dfa5;font-weight:700;letter-spacing:.07em;border-radius:4px}
.woc-community-highlight .woc-discount-terms{font-size:.84rem;color:#d5c7ab;line-height:1.55}
.woc-themepark-feature h2{max-width:850px}
