.tc-chiro{
  --teal:#057F7E; --teal-d:#046b6a; --coral:#FD5F4C; --coral-d:#f43d14;
  --navy:#0F3140; --navy2:#1F5870; --soft:#76B9B8;
  --mint:#F1F7F5; --mint2:#EAFFFB; --white:#FEFEFE;
  --ink:#123138; --muted:#5c7178; --line:rgba(15,49,64,.10);
  --serif:'Young Serif',Georgia,serif; --sans:'Instrument Sans',system-ui,sans-serif; --italic:'Instrument Serif',Georgia,serif;
  --sp:8px; --r-pill:100px; --r-card:18px;
  --shadow:0 24px 60px rgba(15,49,64,.12); --shadow-sm:0 10px 30px rgba(15,49,64,.08);
  font-family:var(--sans); color:var(--ink); line-height:1.62; -webkit-font-smoothing:antialiased; background:var(--white); overflow-x:hidden;
}
.tc-chiro *{max-width:100%}
html,body{overflow-x:hidden; max-width:100%}
/* insurance: force GHL desktop nav hidden on mobile so it can never clip (hamburger drawer stays) */
@media(max-width:767px){ .nav-menu-desktop, .nav-menu .nav-menu-desktop{ display:none !important } }
.tc-chiro *{box-sizing:border-box; margin:0; padding:0}
.tc-chiro img{max-width:100%; display:block}
.tc-chiro a{color:inherit; text-decoration:none}
.tc-wrap{max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,40px)}
.tc-chiro h1,.tc-chiro h2,.tc-chiro h3{font-family:var(--serif); font-weight:400; line-height:1.06; color:var(--navy); letter-spacing:-.01em}
.tc-chiro h1{font-size:clamp(2.5rem,6vw,4.7rem)}
.tc-chiro h2{font-size:clamp(1.85rem,3.8vw,2.9rem)}
.tc-chiro h3{font-size:clamp(1.15rem,1.8vw,1.4rem)}
.tc-em{font-family:var(--italic); font-style:italic}
.tc-teal{color:var(--teal)} .tc-coral{color:var(--coral)}
.tc-kicker{font-size:.8rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--teal); display:inline-block}

/* buttons - pill, matches home */
.tc-btn{display:inline-flex; align-items:center; gap:.6rem; font-family:var(--sans); font-weight:600; font-size:1rem; padding:16px 32px; border-radius:var(--r-pill); border:1.5px solid transparent; cursor:pointer; transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease, color .3s ease; will-change:transform}
.tc-btn svg{width:18px; height:18px}
.tc-btn-primary{background:var(--coral); color:#fff; box-shadow:0 12px 28px rgba(253,95,76,.32)}
.tc-btn-primary:hover{background:var(--coral-d); box-shadow:0 18px 40px rgba(253,95,76,.42)}
.tc-btn-teal{background:var(--teal); color:#fff}
.tc-btn-teal:hover{background:var(--teal-d)}
.tc-btn-ghost{background:transparent; color:var(--navy); border-color:var(--line)}
.tc-btn-ghost:hover{border-color:var(--teal); color:var(--teal)}

/* header */
.tc-head{position:sticky; top:0; z-index:60; background:rgba(254,254,254,.85); backdrop-filter:blur(14px) saturate(1.2); border-bottom:1px solid var(--line)}
.tc-head .tc-wrap{display:flex; align-items:center; justify-content:space-between; height:76px; gap:20px}
.tc-head .tc-logo img{height:42px; width:auto}
.tc-nav{display:flex; align-items:center; gap:26px}
.tc-nav a.lnk{font-size:.94rem; font-weight:500; color:var(--navy); opacity:.82; transition:opacity .2s, color .2s}
.tc-nav a.lnk:hover{opacity:1; color:var(--teal)}
.tc-head-cta{display:flex; align-items:center; gap:16px}
.tc-phone{display:inline-flex; align-items:center; gap:.5rem; font-weight:600; color:var(--navy); white-space:nowrap}
.tc-phone svg{width:17px; height:17px; color:var(--teal)}
.tc-head .tc-btn{padding:12px 24px; font-size:.94rem}

/* hero */
.tc-hero{position:relative; overflow:hidden; background:radial-gradient(120% 140% at 82% 12%, #2c8b8a 0%, var(--navy2) 46%, var(--navy) 100%); color:#fff}
.tc-hero::before{content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); opacity:.05; mix-blend-mode:overlay; pointer-events:none}
.tc-hero .tc-wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(30px,5vw,64px); align-items:center; padding:clamp(56px,8vw,96px) clamp(20px,4vw,40px)}
.tc-hero h1{color:#fff; text-shadow:0 2px 44px rgba(0,20,26,.28)}
.tc-eyebrow{display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.55rem; font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#eafffb; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); padding:9px 18px; border-radius:20px; margin-bottom:26px; max-width:100%}
.tc-eyebrow i{width:7px; height:7px; border-radius:50%; background:var(--coral); font-style:normal}
.tc-hero .lead{font-size:clamp(1.06rem,1.5vw,1.24rem); color:#dff0ee; max-width:38ch; margin:22px 0 32px}
.tc-cta-row{display:flex; flex-wrap:wrap; gap:14px; align-items:center}
.tc-hero .tc-btn-ghost{color:#fff; border-color:rgba(255,255,255,.45)}
.tc-hero .tc-btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,.1); color:#fff}
.tc-hero-trust{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:30px; font-size:.9rem; color:#cfe6e4}
.tc-hero-trust span{display:inline-flex; align-items:center; gap:.5rem}
.tc-hero-trust svg{width:16px; height:16px; color:var(--soft)}
.tc-photo-frame{position:relative; justify-self:center}
.tc-photo{width:min(410px,82vw); aspect-ratio:4/5; border-radius:28px; background:url('https://assets.cdn.filesafe.space/dNaxuVG05AsjPmLbMfyA/media/b615a29a-9444-42df-97e0-8d75167a4e4e.jpg') center 18%/cover no-repeat, linear-gradient(160deg,#0a6b6a,var(--navy2)); box-shadow:0 34px 70px rgba(6,30,38,.46); border:6px solid rgba(255,255,255,.14)}
.tc-namecard{position:absolute; left:-16px; bottom:26px; background:#fff; color:var(--navy); border-radius:16px; padding:14px 20px; box-shadow:0 16px 34px rgba(6,30,38,.3)}
.tc-namecard strong{display:block; font-family:var(--serif); font-size:1.08rem}
.tc-namecard small{color:var(--teal); font-weight:600}
.tc-spine{position:absolute; right:0; top:-40px; width:min(340px,34vw); opacity:.09; z-index:1; color:#fff; pointer-events:none}

/* insurer trust band */
.tc-insurers{background:var(--navy); color:#dff0ee; text-align:center; padding:26px 20px}
.tc-insurers p{font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--soft); margin-bottom:14px; font-weight:600}
.tc-insurer-row{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 12px}
.tc-insurer-row span{font-size:.95rem; font-weight:500; color:#eafffb; opacity:.9; padding:7px 16px; border:1px solid rgba(255,255,255,.16); border-radius:var(--r-pill); transition:background .3s ease, color .3s ease, transform .3s ease, border-color .3s ease}
.tc-insurer-row span:hover,.tc-insurer-row span.fx-on{background:var(--coral); color:#fff; border-color:transparent; transform:translateY(-3px); opacity:1}
.tc-insurer-row span.more{background:rgba(118,185,184,.18); border-color:transparent; color:#fff; font-weight:600}

/* sections */
.tc-sec{padding:clamp(64px,8vw,112px) 0}
.tc-mint{background:var(--mint)}
.tc-sec-head{max-width:680px; margin:0 auto clamp(40px,5vw,60px); text-align:center}
.tc-sec-head .tc-kicker{margin-bottom:16px}
.tc-sec-head p{color:var(--muted); margin-top:18px; font-size:1.1rem}

/* conditions */
.tc-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px}
.tc-card{position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:34px 28px; overflow:hidden; transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, background .45s ease}
.tc-card::before{content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:linear-gradient(90deg,var(--coral),#ffb09f); transform:scaleX(0); transform-origin:left; transition:transform .5s ease}
.tc-ic{width:56px; height:56px; border-radius:16px; background:linear-gradient(150deg,var(--teal),var(--teal-d)); display:flex; align-items:center; justify-content:center; margin-bottom:22px; box-shadow:0 10px 22px rgba(5,127,126,.28); transition:transform .45s ease, background .45s ease}
.tc-ic svg{width:27px; height:27px; color:#fff; transition:color .45s ease}
.tc-card h3{margin-bottom:9px; transition:color .45s ease}
.tc-card p{color:var(--muted); font-size:.98rem; transition:color .45s ease}
/* Alvin spec: color change + text-color change + animate (not just lift) */
.tc-card:hover,.tc-card.fx-on{transform:translateY(-10px); box-shadow:0 30px 62px rgba(5,127,126,.30); background:linear-gradient(155deg,var(--teal) 0%,var(--navy) 100%); border-color:transparent}
.tc-card:hover::before,.tc-card.fx-on::before{transform:scaleX(1)}
.tc-card:hover h3,.tc-card.fx-on h3{color:#fff}
.tc-card:hover p,.tc-card.fx-on p{color:#eafffb}
.tc-card:hover .tc-ic,.tc-card.fx-on .tc-ic{background:#fff; transform:rotate(-6deg) scale(1.06)}
.tc-card:hover .tc-ic svg,.tc-card.fx-on .tc-ic svg{color:var(--teal)}

/* meet the chiropractor */
.tc-meet{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(30px,5vw,64px); align-items:center}
.tc-meet-photo{border-radius:24px; overflow:hidden; box-shadow:var(--shadow); background:linear-gradient(160deg,var(--soft),var(--navy2)); aspect-ratio:4/5; max-width:440px}
.tc-meet-photo img{width:100%; height:100%; object-fit:cover; object-position:center 15%; transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.tc-meet-photo:hover img{transform:scale(1.06)}
.tc-meet-body .tc-badge{font-family:var(--italic); font-style:italic; font-size:1.35rem; color:var(--teal); display:block; margin:6px 0 4px}
.tc-meet-body p{color:var(--muted); margin-top:16px; font-size:1.06rem}
.tc-cred{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px}
.tc-cred span{font-size:.88rem; font-weight:600; color:var(--navy); background:var(--mint2); border:1px solid var(--line); padding:8px 16px; border-radius:var(--r-pill)}

/* approach split */
.tc-split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,56px); align-items:center}
.tc-split .tc-body p{color:var(--muted); margin-top:16px; font-size:1.06rem}
.tc-quote-panel{position:relative; background:linear-gradient(160deg,rgba(5,127,126,.82),rgba(15,49,64,.92)), url('https://assets.cdn.filesafe.space/dNaxuVG05AsjPmLbMfyA/media/77125966-a189-4dec-b470-a303608019f0.webp') center/cover no-repeat; border-radius:24px; min-height:360px; display:flex; align-items:center; justify-content:center; color:#fff; overflow:hidden; padding:44px; box-shadow:var(--shadow)}
.tc-quote-panel .q{font-family:var(--serif); font-size:clamp(1.6rem,2.6vw,2.3rem); line-height:1.2; text-align:center; max-width:16ch; position:relative; z-index:2}
.tc-quote-panel .q em{font-family:var(--italic); color:var(--soft); display:block}
.tc-quote-panel svg{position:absolute; width:280px; opacity:.12; right:-30px; bottom:-40px; color:#fff}

/* steps */
.tc-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; counter-reset:s}
.tc-step{background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:36px 30px; position:relative; overflow:hidden; transition:transform .45s ease, box-shadow .45s ease, background .45s ease}
.tc-step::before{counter-increment:s; content:"0" counter(s); font-family:var(--serif); font-size:2.3rem; color:var(--coral); display:block; margin-bottom:16px; transition:color .45s ease}
.tc-step h3{margin-bottom:9px; transition:color .45s ease}
.tc-step p{color:var(--muted); font-size:.98rem; transition:color .45s ease}
.tc-step:hover,.tc-step.fx-on{transform:translateY(-8px); box-shadow:var(--shadow); background:linear-gradient(155deg,var(--navy2),var(--navy)); border-color:transparent}
.tc-step:hover::before,.tc-step.fx-on::before{color:#ff8f7d}
.tc-step:hover h3,.tc-step.fx-on h3{color:#fff}
.tc-step:hover p,.tc-step.fx-on p{color:#eafffb}

/* billing */
.tc-bill{display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:28px; transition:transform .45s ease, box-shadow .45s ease, background .45s ease}
.tc-bill .bic{flex:0 0 auto; width:46px; height:46px; border-radius:13px; background:var(--mint2); display:flex; align-items:center; justify-content:center; transition:background .45s ease, transform .45s ease}
.tc-bill svg{width:24px; height:24px; color:var(--teal)}
.tc-bill h3{font-size:1.12rem; margin-bottom:5px; transition:color .45s ease}
.tc-bill p{color:var(--muted); font-size:.96rem; transition:color .45s ease}
.tc-bill p a{transition:color .45s ease}
.tc-bill:hover,.tc-bill.fx-on{transform:translateY(-8px); box-shadow:var(--shadow); background:linear-gradient(155deg,var(--teal),var(--navy)); border-color:transparent}
.tc-bill:hover .bic,.tc-bill.fx-on .bic{background:#fff; transform:scale(1.06)}
.tc-bill:hover h3,.tc-bill.fx-on h3{color:#fff}
.tc-bill:hover p,.tc-bill.fx-on p{color:#eafffb}
.tc-bill:hover p a,.tc-bill.fx-on p a{color:#fff; text-decoration:underline}

/* faq */
.tc-faq{max-width:820px; margin:0 auto}
.tc-q{border-bottom:1px solid var(--line)}
.tc-q summary{cursor:pointer; list-style:none; padding:24px 0; font-family:var(--serif); font-size:clamp(1.08rem,1.6vw,1.22rem); color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:20px; transition:color .3s ease}
.tc-q summary:hover,.tc-q[open] summary{color:var(--teal)}
.tc-q summary::-webkit-details-marker{display:none}
.tc-q summary::after{content:"+"; font-family:var(--sans); font-size:1.6rem; color:var(--teal); transition:transform .3s; flex:0 0 auto}
.tc-q[open] summary::after{transform:rotate(45deg)}
.tc-q .a{color:var(--muted); padding:0 0 24px; max-width:70ch}

/* booking */
.tc-book{background:linear-gradient(165deg,var(--navy2),var(--navy)); color:#fff}
.tc-book .tc-split{align-items:start; gap:clamp(30px,5vw,52px)}
.tc-book h2{color:#fff}
.tc-book .tc-kicker{color:var(--soft)}
.tc-book .info p{color:#dff0ee}
.tc-book .info a{color:#fff; font-weight:600}
.tc-inforow{display:flex; gap:14px; align-items:flex-start; margin:20px 0}
.tc-inforow svg{width:20px; height:20px; color:var(--soft); flex:0 0 auto; margin-top:3px}
.tc-formcard{background:#fff; border-radius:22px; padding:14px; box-shadow:0 30px 60px rgba(0,0,0,.3)}
.tc-formcard iframe{width:100%; min-height:660px; border:0; border-radius:16px; display:block}

/* slim disclaimer */
.tc-legal{background:var(--mint); border-top:1px solid var(--line); padding:26px 0}
.tc-legal p{text-align:center; color:var(--muted); font-size:.82rem; max-width:82ch; margin:0 auto; line-height:1.6}

/* sticky mobile CTA */
.tc-sticky-cta{display:none; position:fixed; left:16px; right:16px; bottom:16px; z-index:70; text-align:center; background:var(--coral); color:#fff; font-weight:600; padding:16px; border-radius:var(--r-pill); box-shadow:0 12px 30px rgba(253,95,76,.42); transform:translateY(160%); opacity:0; pointer-events:none; transition:transform .35s ease, opacity .35s ease}
.tc-sticky-cta.show{transform:none; opacity:1; pointer-events:auto}

/* reveal + reduced motion */
.tc-anim .tc-rv{opacity:0; transform:translateY(28px)}
.tc-anim .tc-rv.is-in{opacity:1; transform:none; transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){
  .tc-anim .tc-rv{opacity:1 !important; transform:none !important; transition:none !important}
  .tc-chiro *{animation:none !important}
}

@media(max-width:940px){
  .tc-hero .tc-wrap{grid-template-columns:1fr; text-align:center; padding-top:52px}
  .tc-hero .lead{margin-left:auto; margin-right:auto} .tc-cta-row,.tc-hero-trust{justify-content:center}
  .tc-hero .tc-wrap{display:flex; flex-direction:column} /* mobile: value-prop first, photo after */
  .tc-photo-frame{order:2; margin-top:6px} .tc-photo{width:min(320px,74vw)}
  .tc-meet{grid-template-columns:1fr} .tc-meet-photo{margin:0 auto}
  .tc-split{grid-template-columns:1fr} .tc-steps{grid-template-columns:1fr}
  .tc-nav{display:none} .tc-foot-grid{grid-template-columns:1fr; gap:26px}
}
@media(max-width:820px){ .tc-sticky-cta{display:block} .tc-chiro{padding-bottom:84px} }
@media(max-width:600px){
  .tc-hero .tc-wrap{padding-left:22px; padding-right:22px}
  .tc-chiro h1{font-size:clamp(1.45rem,5.6vw,2rem); line-height:1.18; overflow-wrap:anywhere; word-break:break-word; hyphens:auto; max-width:100%}
  .tc-hero h1 .tc-em{display:block; margin-top:3px}
  .tc-hero .lead{overflow-wrap:anywhere}
  .tc-eyebrow{font-size:.62rem; letter-spacing:.06em; padding:7px 12px}
  .tc-insurer-row span{font-size:.74rem; padding:5px 10px}
  .tc-insurer-row{gap:6px}
  .tc-hero .lead{font-size:1.0rem}
  .tc-sec-head h2,.tc-chiro h2{overflow-wrap:break-word}
}