/* ---- v3: client comment fixes + mobile polish ---- */

/* header: the real horizontal logo, cropped to its artwork */
.brand .hlogo{--h:58px;display:block;position:relative;overflow:hidden;flex:none;width:calc(var(--h)*4.26);height:calc(var(--h)*1.04);transition:.4s}
.brand .hlogo img{position:absolute;max-width:none;width:calc(var(--h)*5.657);height:auto;left:calc(var(--h)*-.69);top:calc(var(--h)*-1.03)}
.nav.scrolled .brand .hlogo{--h:50px}

/* hero */
.rooted{display:block;margin-top:4px;white-space:nowrap}
.orb.photo{inset:9%;padding:0;overflow:hidden;background:#fff;border:8px solid #fff;box-shadow:0 0 0 1.5px var(--gold-2),0 40px 90px -30px rgba(58,39,102,.55)}
.orb.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:50%;display:block}

/* sections that sit next to a background change: give the box room so it's centered in its own band */
.finder{padding-top:90px}
.cta-band{padding:90px 0 110px}

/* clickable service options -> booking (new tab) */
a.opt{text-decoration:none;color:inherit;cursor:pointer}
a.opt:hover{background:#fff;box-shadow:0 14px 30px -18px rgba(58,39,102,.35)}
.opt-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.opt .go{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--plum-2);font-weight:500;opacity:.7;transition:.3s}
.opt .go svg{width:13px;height:13px}
a.opt:hover .go{opacity:1;color:var(--plum)}

/* oncology: stages in a centered row, panel centered underneath (no dead space) */
.onc-journey{padding:90px 0}
.journey{display:block;max-width:980px;margin:40px auto 0}
.jsteps{grid-template-columns:repeat(4,1fr);gap:14px}
.jstep{flex-direction:column;justify-content:center;text-align:center;gap:12px;padding:22px 14px}
.jstep b{font-size:1.15rem;line-height:1.2}
.journey .jpanel{max-width:820px;margin:20px auto 0;text-align:center;min-height:0;padding:38px 46px}
.journey .jpanel .checks{display:inline-grid;grid-template-columns:1fr 1fr;gap:8px 28px;text-align:left;margin-top:10px}
.stage-line{margin-top:40px}
.goal .goal-script{color:#fff;font-size:clamp(2.4rem,5vw,3.4rem);margin-top:22px;text-shadow:0 2px 14px rgba(0,0,0,.25)}

/* headshots */
.tcard img,.bio-img img{object-position:50% 15%}
.avatar img{object-position:50% 15%}

/* ---------- mobile polish ---------- */
@media(max-width:960px){
  .brand .hlogo,.nav.scrolled .brand .hlogo{--h:46px}
}
@media(max-width:860px){
  section{padding:72px 0}
  .pagehero{padding:124px 0 52px}
  .subhero{padding:130px 0 64px}
  .hero{min-height:0;padding:118px 0 70px}
  .hero-grid{gap:34px}
  .onc-journey{padding:64px 0}
  .finder{padding-top:64px}
  .cta-band{padding:64px 0 80px}
  .jsteps{grid-template-columns:1fr 1fr;gap:10px}
  .jstep{padding:16px 10px;gap:8px}
  .jstep b{font-size:1rem}
  .journey .jpanel{padding:28px 22px;text-align:left}
  .journey .jpanel .checks{display:grid;grid-template-columns:1fr}
  .panel{padding:28px 20px}
  .banner{padding:44px 22px;border-radius:26px}
  .goal{padding:36px 22px}
  .goal h3{font-size:1.8rem}
  .quiz{padding:36px 22px;border-radius:26px}
  .feature-card{padding:30px 26px;min-height:300px}
  .feature-card h3{font-size:1.9rem}
  .device{padding:24px 20px;gap:24px}
  .device .art{max-width:280px;margin:0 auto;width:100%}
  .tech{gap:36px}
  .stats{margin-top:40px}
  .stat{padding:16px 8px}
  .stat strong{font-size:2.6rem}
  .bio{padding:44px 0;gap:30px}
  .mv div{padding:26px}
  .contact-grid{gap:36px}
  .hours{padding:26px 20px}
  .fgrid{gap:34px}
}
@media(max-width:600px){
  body{font-size:16px}
  .wrap{width:calc(100% - 36px)}
  .hero h1{font-size:clamp(2.2rem,9.4vw,2.8rem)}
  .hero .lead{font-size:1.05rem}
  .rotator{font-size:1.3em}
  .orb-stage{max-width:290px}
  .chip-float{padding:9px 12px;font-size:.76rem;gap:8px}
  .chip-float strong{font-size:1rem}
  .chip-float svg{width:20px;height:20px}
  .cf1{top:2%;left:-4%}.cf2{right:-4%;bottom:14%}.cf3{left:-2%;bottom:-4%}
  .marquee div{font-size:1.2rem}
  h2{font-size:clamp(1.9rem,7.6vw,2.4rem)}
  .lead{font-size:1.05rem}
  .script{font-size:2rem}
  .eyebrow{font-size:.7rem;letter-spacing:.22em}
  .pillars{gap:14px;margin-top:36px}
  .pillar{padding:26px 22px}
  .snip-grid,.team-snip{gap:14px;margin-top:32px}
  .snip{padding:24px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -18px 22px;padding:2px 18px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none}
  .panel h3{font-size:1.8rem}
  .panel-head{margin-bottom:20px}
  .opt{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px}
  .opt-r{flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .panel-foot{flex-direction:column;align-items:stretch;text-align:center;gap:14px}
  .panel-foot .btn{justify-content:center}
  .cta-row{flex-direction:column;align-items:stretch}
  .cta-row .btn{justify-content:center}
  .qopts{grid-template-columns:1fr}
  .qstep h4{font-size:1.4rem}
  .terrain{grid-template-columns:1fr 1fr;gap:10px}
  .tile{padding:16px 8px}
  .tile .ico{width:48px;height:48px}
  .tinfo{padding:18px 20px}
  .tinfo b{white-space:normal}
  .pitem{grid-template-columns:1fr;gap:12px;padding:22px}
  .uses{gap:10px}
  .benefits{gap:14px}
  .techwheel{max-width:330px}
  .tnode{width:72px;height:72px;margin:-36px;font-size:.6rem;padding:6px}
  .techwheel .core{font-size:1rem}
  .compare>div{padding:26px}
  .faq-search input{padding:14px 18px 14px 46px}
  .qa button{font-size:1.18rem;padding:20px 40px 20px 0}
  .stats{grid-template-columns:1fr 1fr;gap:6px}
  .res-grid{grid-template-columns:1fr}
  .map{height:200px}
  .review{flex-direction:column;text-align:center}
  .review .btn{align-self:center}
  .legal .wrap{flex-direction:column;text-align:center;gap:8px}
  .floatbtn{width:52px;height:52px;right:14px;bottom:14px}
  .bio-img{max-width:300px}
  .bio-img::before{inset:12px -12px -12px 12px}
}
@media(max-width:380px){
  .jstep b{font-size:.92rem}
  .brand .hlogo,.nav.scrolled .brand .hlogo{--h:42px}
}

/* v3.1 polish */
.pillar .ico{margin-left:auto;margin-right:auto}
.tnode{font-family:'Jost',sans-serif;font-weight:500;letter-spacing:.02em}
@media(max-width:600px){
  .legal{padding-bottom:86px}
  .jstep{min-height:118px}
}
