
:root{
 --ink:#121313;--ink2:#1C1D1D;--bone:#F2F1EA;--paper:#FCFBF6;--lime:#F84C00;--lime2:#FF7A1A;
 --muted:#77736F;--line:#DDD8D4;--slate:#33302E;--max:1260px;
 --shadow:0 28px 90px rgba(11,18,16,.18);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}.max{width:min(var(--max),calc(100% - 48px));margin:auto}
.topbar{position:fixed;left:0;right:0;top:0;z-index:80;padding:18px 0;background:rgba(0,0,0,.10);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:.25s}
.topbar.scrolled{background:rgba(18,19,19,.94);backdrop-filter:blur(16px);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;gap:28px}.brand img{width:280px;max-height:74px;object-fit:contain;object-position:left center;display:block}.navlinks{margin-left:auto;display:flex;align-items:center;gap:27px;color:#EEF0EA;font-size:12px;font-weight:800;letter-spacing:.03em}
.navlinks a{opacity:.82}.navlinks a:hover,.navlinks a.active{opacity:1;color:var(--lime)}
.book{border:1px solid var(--lime);padding:12px 18px;border-radius:4px;background:rgba(0,0,0,.20);color:#F7F7F4!important;font-weight:900;opacity:1!important;transition:background .2s,border-color .2s,color .2s,transform .2s}
.hamb{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:28px}
.returnBtn{position:fixed;left:0;top:44%;z-index:95;background:var(--lime);color:#121313;padding:12px 14px 12px 11px;border-radius:0 10px 10px 0;font-size:10px;font-weight:900;letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.kicker{font-size:11px;font-weight:900;letter-spacing:.27em;text-transform:uppercase}.kicker.light{color:#c9d0ca}.kicker.dark{color:#67756e}
.kicker:before{content:"";display:inline-block;width:34px;border-top:2px solid var(--lime);vertical-align:middle;margin-right:12px}
h1,h2,h3{font-family:Arial,Helvetica,sans-serif;margin-top:0}.outline{color:transparent;-webkit-text-stroke:1px rgba(245,246,239,.78)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 20px;border-radius:4px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.btn.lime{background:var(--lime);color:#121313}.btn.ghost{border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.04)}.btn.dark{background:var(--ink);color:#fff}
.reveal{opacity:0;transform:translateY(16px);transition:.7s}.reveal.in{opacity:1;transform:none}

/* completely full-bleed editorial hero */
.hero{position:relative;min-height:820px;background:#121313;overflow:hidden;color:#fff}
.heroMedia{position:absolute;inset:0;background:#121313}
.heroPhoto{display:none}.heroPhotoImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.72) 38%,rgba(10,10,10,.16) 72%),linear-gradient(0deg,rgba(10,10,10,.76),rgba(10,10,10,0) 47%)}
.heroNoise{position:absolute;inset:0;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.8) .55px, transparent .55px);background-size:8px 8px}
.heroInner{position:relative;z-index:4;min-height:820px;padding:164px 0 54px;display:grid;grid-template-rows:1fr auto}
.heroTitle{font-size:clamp(72px,9.2vw,150px);line-height:.78;letter-spacing:-.07em;font-weight:950;max-width:1050px;margin:24px 0 28px;text-transform:uppercase}
.heroTitle span{display:block}.heroIntro{display:grid;grid-template-columns:1fr 390px;align-items:end;gap:50px}
.heroIntro p{margin:0;color:#ced6d0;line-height:1.72;font-size:17px;max-width:560px}.heroActions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.heroMetric{justify-self:end;border-left:1px solid rgba(255,255,255,.22);padding-left:26px}.heroMetric strong{font-size:72px;line-height:1;font-weight:950;color:var(--lime)}.heroMetric span{display:block;font-size:11px;line-height:1.5;color:#bac5bf;text-transform:uppercase;letter-spacing:.12em}
.marquee{background:var(--lime);color:#121313;overflow:hidden;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);display:flex;justify-content:center}.marqueeTrack{display:flex;align-items:center;justify-content:center;padding:13px 24px;font-size:12px;font-weight:950;letter-spacing:.18em;white-space:nowrap}.marqueeTrack span{padding:0 28px}.marqueeTrack b{font-size:17px}

/* sections */
.section{padding:100px 0}.section.black{background:var(--ink);color:#fff}.section.bone{background:var(--bone)}.section.white{background:var(--paper)}
.sectionHead{display:grid;grid-template-columns:260px 1fr;gap:70px;align-items:start;margin-bottom:48px}.sectionHead h2{font-size:clamp(46px,5.2vw,76px);line-height:.93;letter-spacing:-.055em;margin:0}.sectionHead p{max-width:720px;color:var(--muted);font-size:16px;line-height:1.75;margin:14px 0 0}.black .sectionHead p{color:#aebbb4}
.reasonGrid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 260px;gap:16px}.reason{position:relative;overflow:hidden;min-height:0;padding:28px;background:#F3E8DE;border:1px solid rgba(255,88,0,.10)}.reason:nth-child(1){background:#F3E8DE}.reason:nth-child(2){background:#EBCDB8}.reason:nth-child(3){background:#282421;color:#fff;border-color:rgba(255,88,0,.32)}.reason:nth-child(4){background:#F0D8C7}.reason:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#ff5a00;opacity:.86}.reason .n{font-size:12px;font-weight:900;letter-spacing:.12em}.reason h3{font-size:32px;letter-spacing:-.04em;position:absolute;left:28px;right:28px;bottom:22px;margin:0}.reason p{position:absolute;left:28px;right:28px;bottom:75px;font-size:13px;line-height:1.55;color:#65564d;max-width:440px}.reason:nth-child(3) p{color:#d8ccc4}.reason .bgWord{position:absolute;right:-10px;top:8px;font-size:94px;font-weight:950;color:rgba(255,88,0,.09);letter-spacing:-.08em}.reason:nth-child(3) .bgWord{color:rgba(255,88,0,.16)}
.imageBand{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.imageBand .photo{background:#D9DFD8 center/cover no-repeat;position:relative;min-height:540px}.imageBand .copy{background:#181818;color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.imageBand h2{font-size:68px;line-height:.9;letter-spacing:-.06em;margin:20px 0}.imageBand p{color:#b8c5bf;font-size:16px;line-height:1.75;max-width:590px}.tagRow{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.tag{padding:9px 11px;border:1px solid rgba(255,255,255,.15);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.processGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #ced6cf;border-left:1px solid #ced6cf}.process{min-height:280px;padding:26px;border-right:1px solid #ced6cf;border-bottom:1px solid #ced6cf;position:relative}.process b{font-size:10px;letter-spacing:.15em}.process h3{font-size:26px;letter-spacing:-.04em;margin:70px 0 10px}.process p{font-size:13px;color:#67766f;line-height:1.65}.process i{position:absolute;right:20px;top:18px;font-style:normal;font-size:58px;font-weight:950;color:#d8ded8}
.doctorFeature{display:grid;grid-template-columns:.92fr 1.08fr;min-height:720px}.doctorImage{background-color:#BEC9C0;background-size:cover;background-position:center 12%;background-repeat:no-repeat}.doctorCopy{background:var(--lime);padding:74px;display:flex;flex-direction:column;justify-content:center}.doctorCopy h2{font-size:76px;line-height:.86;letter-spacing:-.07em;margin:20px 0}.doctorCopy p{font-size:16px;line-height:1.75;max-width:580px}.doctorFacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.doctorFact{border-top:1px solid rgba(17,26,24,.34);padding:13px 0}.doctorFact b{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.doctorFact span{display:block;font-size:12px;margin-top:4px}
.quoteBlock{padding:96px 0;background:#E7E9E1}.quoteGrid{display:grid;grid-template-columns:260px 1fr;gap:70px}.quote{font-size:42px;line-height:1.18;letter-spacing:-.04em;font-weight:800}.quote small{display:block;margin-top:24px;font-size:10px;letter-spacing:.16em;color:#6f7b74}
.cta{padding:82px 0;background:#0E0F0F;color:#fff}.ctaGrid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.cta h2{font-size:82px;line-height:.84;letter-spacing:-.07em;margin:0;max-width:850px}.cta p{color:#aebbb4}.footer{background:#0E0F0F;color:#bcc7c1;padding:0 0 34px}.foot{border-top:1px solid rgba(255,255,255,.12);padding-top:28px;display:flex;justify-content:space-between;gap:30px;font-size:10px;line-height:1.6}.foot a{color:var(--lime)}

/* internal pages */
.pageHero{padding:180px 0 90px;background:#141515;color:#fff;position:relative;overflow:hidden}.pageHero:after{content:"";position:absolute;right:-90px;bottom:-180px;width:520px;height:520px;border:1px solid rgba(248,76,0,.25);border-radius:50%;box-shadow:0 0 0 55px rgba(248,76,0,.08825),0 0 0 110px rgba(248,76,0,.0455)}
.pageHero h1{font-size:clamp(68px,8vw,126px);line-height:.8;letter-spacing:-.07em;text-transform:uppercase;margin:25px 0}.pageHero p{max-width:680px;color:#b9c5bf;line-height:1.7}
.editorial{display:grid;grid-template-columns:330px 1fr;gap:74px}.sideTitle{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;position:sticky;top:110px;align-self:start}.bigCopy h2{font-size:64px;line-height:.93;letter-spacing:-.055em}.bigCopy p{font-size:17px;line-height:1.8;color:#64746C}
.serviceList{border-top:1px solid var(--line)}.serviceRow{display:grid;grid-template-columns:110px 1fr 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}.serviceRow .index{font-size:11px;font-weight:900;letter-spacing:.14em}.serviceRow h3{font-size:34px;letter-spacing:-.04em;margin:0}.serviceRow p{margin:0;color:#65766D;line-height:1.7}
.doctorPage{display:grid;grid-template-columns:1fr 1fr;min-height:740px}.doctorPagePhoto{background-color:#B8C4BA;background-size:cover;background-position:center 10%;background-repeat:no-repeat}.doctorPageCopy{padding:80px;background:#E6EAE2}.doctorPageCopy h2{font-size:72px;line-height:.86;letter-spacing:-.065em;margin:20px 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.fact{border:1px solid #C8D1CA;padding:15px}.fact b{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.fact span{display:block;font-size:12px;color:#617169;margin-top:5px;line-height:1.5}
.formGrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}.contactPanel{background:var(--ink);color:#fff;padding:36px;min-height:470px}.contactPanel h2{font-size:52px;line-height:.9;letter-spacing:-.05em}.contactPanel p,.contactPanel span{color:#afbbb5;line-height:1.7;font-size:14px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}input,textarea,select{width:100%;padding:14px;border:1px solid #CDD6CF;background:#fff;font:inherit;border-radius:0}textarea{min-height:150px;resize:vertical}.full{grid-column:1/-1}.submit{border:0;cursor:pointer}.note{font-size:10px;color:#728078;line-height:1.6;margin-top:10px}
.demoFlag{position:fixed;right:14px;bottom:14px;z-index:99;background:var(--lime);color:#101816;padding:8px 11px;font-size:9px;font-weight:950;letter-spacing:.12em}

@media(max-width:980px){
 .navlinks{display:none}.hamb{display:block}.navlinks.open{display:flex;position:absolute;top:74px;left:20px;right:20px;background:#121313;padding:22px;flex-direction:column;align-items:flex-start}
 .brand img{width:225px}.heroTitle{font-size:88px}.heroIntro,.sectionHead,.editorial,.quoteGrid{grid-template-columns:1fr}.heroMetric{justify-self:start}.reasonGrid{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px}.reason{min-height:0}
 .imageBand,.doctorFeature,.doctorPage,.formGrid{grid-template-columns:1fr}.imageBand .copy,.doctorCopy,.doctorPageCopy{padding:52px 34px}.processGrid{grid-template-columns:1fr 1fr}.doctorImage,.doctorPagePhoto{min-height:620px}.ctaGrid{grid-template-columns:1fr}.cta h2{font-size:64px}
}
@media(max-width:620px){
 .max{width:min(var(--max),calc(100% - 28px))}.returnBtn{display:none}.hero{min-height:760px}.heroInner{padding-top:135px;min-height:760px}.heroTitle{font-size:60px;line-height:.82}.heroIntro{gap:30px}.heroMetric strong{font-size:54px}
 .section{padding:70px 0}.sectionHead h2,.bigCopy h2{font-size:43px}.reasonGrid{grid-template-columns:1fr;grid-template-rows:240px 240px 240px 240px}.imageBand h2,.doctorCopy h2,.doctorPageCopy h2{font-size:50px}
 .processGrid{grid-template-columns:1fr}.doctorImage,.doctorPagePhoto{min-height:500px}.doctorFacts,.facts{grid-template-columns:1fr}.quote{font-size:31px}.cta h2{font-size:48px}.foot{flex-direction:column}
 .serviceRow{grid-template-columns:55px 1fr}.serviceRow p{grid-column:2}.formGrid form{grid-template-columns:1fr}.full{grid-column:auto}.demoFlag{display:none}
}

/* AC Chiropractic v8 local-photo safeguards */
.heroPhotoImg{z-index:1}.heroShade{z-index:2}.heroNoise{z-index:3}.heroInner{z-index:4}
.reverseBand .copy{order:1}.reverseBand .photo{order:2}
.photoPanel{position:relative;background:#121313 url('images/08_clinic_exterior.png') center/cover no-repeat;overflow:hidden}.contactPanelShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.34),rgba(10,10,10,.92))}.contactPanelContent{position:relative;z-index:2}.photoPanel h2,.photoPanel p,.photoPanel span{position:relative}.contactRoom{padding:0 0 100px;background:var(--bone)}.contactRoom .max{display:grid;grid-template-columns:1.25fr .75fr;gap:0;background:#E6EAE2}.roomPhoto{min-height:430px;background:center/cover no-repeat}.roomCopy{padding:54px;display:flex;flex-direction:column;justify-content:center}.roomCopy h2{font-size:54px;line-height:.92;letter-spacing:-.05em;margin:18px 0}.roomCopy p{color:#64746C;line-height:1.7}.imageBand .photo{background-position:center center}.doctorImage,.doctorPagePhoto{background-position:center center}.doctorPagePhoto{min-height:740px}.doctorImage{min-height:720px}
@media(max-width:980px){.contactRoom .max{grid-template-columns:1fr}.roomPhoto{min-height:420px}.reverseBand .copy,.reverseBand .photo{order:initial}.brand img{max-height:58px}}
@media(max-width:620px){.heroPhotoImg{object-position:62% top}.roomCopy{padding:38px 26px}.roomCopy h2{font-size:42px}}

/* v9 AC orange brand pass */
.navlinks a:hover,.navlinks a.active{text-shadow:0 0 18px rgba(248,76,0,.22)}
.book:hover{background:var(--lime);border-color:var(--lime);color:#121313!important;opacity:1!important}.btn.lime:hover{background:var(--lime2);border-color:var(--lime2);transition:.2s}
.btn.lime,.returnBtn,.marquee,.doctorCopy,.demoFlag{box-shadow:0 0 0 1px rgba(248,76,0,.04)}

/* v26: use uploaded Aaron selfie in Meet Your Chiropractor section */
.doctorFeature .doctorImage{background-position:center top;}

/* v28: improve homepage stat and Meet Your Chiropractor label */
.doctorCopy .kicker.dark{color:#fff;}

/* v30: Services hero rings lightened ~33%; Aaron service imagery aligned with homepage look. */

/* v33: brightened services hero orange rings by ~50% for better visibility. */

/* v34: services hero orange rings increased to ~10x v33 opacity, capped at full opacity. */

/* v35: services hero orange rings reduced to 50% of v34 brightness. */

/* v36: services hero orange rings reduced another 50% from v35 brightness. */


/* v37: animated sticky Services label that follows the active service row. */
.serviceSideTitle{transition:opacity .18s ease,transform .18s ease}
.serviceSideTitle.serviceTitlePulse{animation:serviceTitlePulse .28s ease}
@keyframes serviceTitlePulse{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}


/* v38: active Services row focus + corrected later activation point. */
.serviceList .serviceRow{
  transition:opacity .34s ease,filter .34s ease,transform .34s ease;
  transform-origin:left center;
}
.serviceList.serviceFocus .serviceRow:not(.is-active){
  opacity:.46;
  filter:blur(1.15px);
  transform:scale(.992);
}
.serviceList.serviceFocus .serviceRow.is-active{
  opacity:1;
  filter:none;
  transform:none;
}
@media(max-width:620px){
  .serviceList.serviceFocus .serviceRow:not(.is-active){opacity:.58;filter:blur(.7px);transform:none}
}
@media(prefers-reduced-motion:reduce){
  .serviceList .serviceRow,.serviceSideTitle{transition:none!important;animation:none!important}
}


/* v40: Start Here conversation graphic replaces Aaron photo */
.conversationBand{background:#111313}
.conversationGraphic{position:relative;min-height:650px;overflow:hidden;background:
 radial-gradient(circle at 72% 26%,rgba(248,76,0,.18),transparent 0 18%,transparent 38%),
 radial-gradient(circle at 20% 78%,rgba(248,76,0,.10),transparent 0 14%,transparent 34%),
 linear-gradient(145deg,#101111 0%,#181919 58%,#101111 100%);display:flex;align-items:center;justify-content:center;padding:70px 56px}
.conversationGraphic:before{content:"";position:absolute;inset:0;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.55) .6px,transparent .6px);background-size:8px 8px;pointer-events:none}
.conversationRings{position:absolute;width:520px;height:520px;border:1px solid rgba(248,76,0,.42);border-radius:50%;right:-180px;top:-110px;box-shadow:0 0 0 62px rgba(248,76,0,.065),0 0 0 125px rgba(248,76,0,.028)}
.questionMark{position:absolute;right:42px;bottom:-70px;font-size:420px;line-height:1;font-weight:950;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.07);letter-spacing:-.08em;user-select:none}
.conversationFlow{position:relative;z-index:3;width:min(520px,100%);display:flex;flex-direction:column;align-items:stretch}
.flowCard{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:22px;padding:23px 24px;border:1px solid rgba(255,255,255,.16);background:rgba(20,21,21,.78);backdrop-filter:blur(8px);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.flowCard:nth-of-type(3){margin-left:38px}.flowCard:nth-of-type(5){margin-left:76px}
.flowNum{font-size:38px;line-height:1;font-weight:950;color:var(--lime);letter-spacing:-.05em}
.flowCard b{display:block;color:#fff;font-size:26px;letter-spacing:.03em}.flowCard small{display:block;margin-top:6px;color:#aebbb4;font-size:12px;line-height:1.5;letter-spacing:.02em}
.flowLine{height:32px;position:relative}.flowLine:before{content:"";position:absolute;left:36px;top:0;bottom:0;width:1px;background:linear-gradient(var(--lime),rgba(248,76,0,.16))}.flowLine span{position:absolute;left:32px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 22px rgba(248,76,0,.65)}
.speechBubble{position:absolute;z-index:2;width:56px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--lime);font-size:20px;font-weight:950;background:rgba(18,19,19,.68)}
.speechBubble:after{content:"";position:absolute;bottom:-7px;left:13px;width:13px;height:13px;border-left:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);background:#151616;transform:rotate(-45deg)}
.bubbleOne{left:48px;top:62px;transform:rotate(-5deg)}.bubbleTwo{right:78px;bottom:82px;transform:rotate(5deg)}
@media(max-width:980px){.conversationGraphic{min-height:560px}.conversationFlow{width:min(600px,100%)}.flowCard:nth-of-type(3){margin-left:26px}.flowCard:nth-of-type(5){margin-left:52px}}
@media(max-width:620px){.conversationGraphic{min-height:520px;padding:52px 24px}.conversationRings{width:360px;height:360px;right:-180px;top:-70px}.questionMark{font-size:280px;right:10px;bottom:-38px}.flowCard{grid-template-columns:56px 1fr;gap:14px;padding:18px}.flowCard:nth-of-type(3),.flowCard:nth-of-type(5){margin-left:0}.flowNum{font-size:30px}.flowCard b{font-size:20px}.bubbleOne{left:18px;top:28px}.bubbleTwo{right:24px;bottom:30px}}


/* v45: lower Contact page overlay copy for better readability on clinic exterior image. */
.photoPanel{display:flex;align-items:flex-end}
.photoPanel .contactPanelContent{width:100%;padding-bottom:10px}
@media(max-width:620px){
  .photoPanel .contactPanelContent{padding-bottom:6px}
}


/* v46: align second Start Here connector with card 02/03 step; remove decorative chat bubbles. */
.conversationFlow .flowLine:nth-of-type(4):before{left:74px}
.conversationFlow .flowLine:nth-of-type(4) span{left:70px}
@media(max-width:980px){
  .conversationFlow .flowLine:nth-of-type(4):before{left:62px}
  .conversationFlow .flowLine:nth-of-type(4) span{left:58px}
}
@media(max-width:620px){
  .conversationFlow .flowLine:nth-of-type(4):before{left:36px}
  .conversationFlow .flowLine:nth-of-type(4) span{left:32px}
}
