/* Shared navigation and compact product presentation; the palette stays in each page. */
html{scroll-behavior:smooth;scroll-padding-top:20px}
:focus-visible{outline:2px solid var(--dc-accent);outline-offset:4px}
/* New text links inherit the site's palette instead of browser-default blue. */
main a,footer a{color:var(--dc-accent);text-underline-offset:3px}
/* A closing section can have more than two actions; style every secondary one. */
.o2-end-acts a:not(:first-child){display:inline-block;font:600 16px/1.25 Archivo,sans-serif;color:#fff;border:1px solid rgba(255,255,255,.25);padding:17px 26px;border-radius:9px;text-decoration:none}
.skip-link{position:absolute;left:16px;top:-80px;z-index:20;padding:12px 18px;background:#fff;color:var(--dc-dark)}
.skip-link:focus{top:12px}
.o2-head{gap:18px;padding:18px 28px;flex-wrap:nowrap;position:relative}
.o2-brand{white-space:nowrap;font-size:16px}
.o2-nav{order:initial;width:auto;flex-wrap:nowrap;gap:20px;margin-left:auto;overflow:visible;mask-image:none;-webkit-mask-image:none}
.o2-nav a{white-space:nowrap;font-size:13px;line-height:1.4}
.o2-head .o2-signin{margin-left:0;white-space:nowrap}
.site-menu{display:none;position:relative;margin-left:auto}
.site-menu summary{cursor:pointer;padding:10px 12px;border:1px solid var(--dc-line);border-radius:6px;font-size:14px;font-weight:600;list-style:none}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary:after{content:' +';font-family:'IBM Plex Mono',monospace}
.site-menu[open] summary:after{content:' −'}
.site-menu nav{position:absolute;right:0;top:calc(100% + 10px);z-index:10;min-width:230px;padding:10px;background:#fff;border:1px solid var(--dc-line);border-radius:8px;box-shadow:0 12px 28px rgba(20,23,28,.12)}
.site-menu nav a{display:block;padding:12px;color:var(--dc-dark);text-decoration:none;font-size:15px;line-height:1.35;border-radius:4px}
.site-menu nav a:hover,.site-menu nav a[aria-current=page]{background:var(--dc-panel);color:var(--dc-accent)}
.o2-btn{display:inline-block;line-height:1.25;box-shadow:none}
.o2-hero-copy{padding-top:48px;padding-bottom:48px;gap:22px}
.o2-hero h1{font-size:54px;line-height:1.02}
.o2-sub{font-size:18px;max-width:46ch}
.hero-secondary,.hero-credential{margin:0;font-size:14px;line-height:1.55;color:var(--dc-body)}
.hero-secondary a,.o2-text-link{color:var(--dc-dark);text-underline-offset:4px;font-weight:600}
.hero-credential{border-top:1px solid var(--dc-line);padding-top:18px;max-width:54ch}
.hero-portrait{padding:32px 28px!important;align-self:center}
.hero-portrait img{max-height:480px;object-fit:cover}
.roadmap-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:44px}
.roadmap-preview{margin:0;padding:20px;text-align:center;background:var(--dc-panel);border-radius:8px}
.roadmap-preview img{display:block;width:100%;height:auto;max-width:275px;margin:0 auto;box-shadow:0 12px 24px rgba(20,23,28,.14)}
.roadmap-preview figcaption{margin-top:18px;font-size:12px;color:var(--dc-body)}
.roadmap-card{padding:0;background:transparent;border:0;gap:16px}
.roadmap-card:first-child{border:0}
.lead-form{margin-top:8px}
.lead-form input[type=email]{border-color:rgba(20,23,28,.24)}
.plan-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px}
.plan-intro h2{margin-top:14px;font-size:36px}
.plan-intro p{color:var(--dc-body);max-width:48ch}
.plan-example{background:#fff;border:1px solid var(--dc-line);border-radius:10px;padding:28px}
.plan-example h3{margin-top:16px;font-size:22px}
.plan-example p{font-size:15px}
.plan-example dl{margin:22px 0;border-top:1px solid var(--dc-line)}
.plan-example dl div{padding:12px 0;border-bottom:1px solid var(--dc-line)}
.plan-example dt{font-size:12px;color:var(--dc-body);margin-bottom:4px}
.plan-example dd{font-size:14px;margin:0;color:var(--dc-dark)}
.sample-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dc-body)}
.dx-deliverable{gap:20px}
.dx-deliverable .o2-plabel{color:rgba(255,255,255,.7);line-height:1.4}
.dx-price{margin:0;font-size:54px;font-weight:700;line-height:1.1;color:#fff}
.dx-price span{display:block;font-size:14px;font-weight:400;color:rgba(255,255,255,.7);margin-top:8px}
.dx-deliverable ul{margin:0;padding-left:20px;color:rgba(255,255,255,.88);display:grid;gap:10px;font-size:15px}
.dx-deliverable .dx-scope{border-top:1px solid rgba(255,255,255,.2);padding-top:18px;margin:0;font-size:13px;line-height:1.6;color:rgba(255,255,255,.7)}
.dx-deliverable a{color:#fff;text-underline-offset:4px;font-size:13px}
.dx-sample-finding{max-width:850px;border:1px solid var(--dc-line);border-radius:10px;padding:28px;background:#fff}
.dx-sample-finding h3{font-size:25px;line-height:1.2;margin:12px 0 16px}
.dx-sample-finding p{font-size:16px;color:var(--dc-body);max-width:68ch}
.sample-action{border-top:1px solid var(--dc-line);padding-top:18px;margin-top:20px}
.sample-action strong{font-size:13px;color:var(--dc-dark)}
.sample-action p{margin:8px 0 0}
.dx-scope-note{margin-top:28px;border:1px solid var(--dc-line);border-radius:8px;padding:24px;background:#fff}
.dx-scope-note p{font-size:15px;line-height:1.6;color:var(--dc-body)}
.dx-scope-note a{color:var(--dc-dark)}
.o2-tier>p{font-size:14px;color:var(--dc-body);line-height:1.55}
.intake-preview{border:1px solid var(--dc-line);border-radius:8px;padding:20px;margin-top:22px}
.intake-preview>summary{cursor:pointer;font-weight:600;font-size:16px}
.intake-preview[open]>summary{margin-bottom:24px}
.o2-section-nav{position:static;overflow:visible;flex-wrap:wrap;mask-image:none;-webkit-mask-image:none;gap:12px 24px}
.service-intro{padding:56px 28px 42px;background:var(--dc-panel)}
.service-intro h1{font-size:48px;line-height:1.05;max-width:18ch;letter-spacing:-.025em}
.service-intro p{max-width:62ch;color:var(--dc-body);font-size:18px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
/* One offering left in a section: a lone card in a two-column grid reads as a
   missing card rather than a deliberate single service. */
.service-grid-single{grid-template-columns:minmax(0,540px)}
.service-card{border:1px solid var(--dc-line);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:14px}
.service-card h3{font-size:24px;line-height:1.2}
.service-card p{margin:0;font-size:15px;color:var(--dc-body)}
.service-card .service-price{font-size:28px;font-weight:700;color:var(--dc-dark)}
.service-card ul{font-size:15px;color:var(--dc-body);padding-left:20px;margin:0;display:grid;gap:8px}
.service-card .o2-text-link{margin-top:auto;padding-top:8px}
.service-booking{margin-top:30px;border-top:1px solid var(--dc-line);padding-top:24px}
.service-booking>summary{cursor:pointer;font-weight:600;font-size:18px}
.service-booking p{font-size:14px;color:var(--dc-body)}
@media(min-width:981px){.o2-hero{grid-template-columns:1.25fr .75fr}}
@media(max-width:1100px){.o2-nav{gap:14px}.o2-nav a{font-size:12px}}
@media(max-width:980px){
  .o2-head{padding:14px 20px;gap:14px;row-gap:14px}
  .o2-head>.o2-nav{display:none}
  .site-menu{display:block}
  .o2-head .o2-signin{padding:10px 0;border:0}
  .o2-hero-copy{padding-top:36px;padding-bottom:36px}
  .o2-hero h1{font-size:44px}
  /* Keep the physician visible when the hero stacks on smaller screens. */
  .hero-portrait{display:flex;padding:0 20px 32px!important;justify-content:center}
  .hero-portrait img{max-height:320px}
  .roadmap-grid{gap:28px}
  .plan-intro{gap:28px}
}
@media(max-width:620px){
  .o2-head{padding:12px 16px;gap:12px}
  .o2-brand{font-size:14px;gap:7px}
  .site-menu summary{padding:9px 10px;font-size:13px}
  .o2-head .o2-signin{display:none}
  .o2-hero-copy{padding:30px 20px 34px;gap:20px}
  .o2-hero h1{font-size:38px;max-width:13ch}
  .o2-sub{font-size:17px;line-height:1.55}
  .o2-pill{font-size:10px;letter-spacing:.025em;line-height:1.4}
  .hero-secondary,.hero-credential{font-size:13px}
  .o2-acts{gap:12px}
  .o2-btn{font-size:15px;padding:15px 20px}
  .roadmap-grid,.plan-intro,.service-grid{grid-template-columns:1fr}
  .roadmap-preview{display:block;order:2;max-width:190px;justify-self:center;padding:14px}.roadmap-preview figcaption{font-size:11px;margin-top:12px}
  .roadmap-card h3{font-size:23px}
  .roadmap-card .lead-form{margin-top:2px}
  .plan-intro{gap:24px}
  .plan-intro h2{font-size:30px}
  .plan-example,.dx-sample-finding,.service-card{padding:22px}
  .dx-sample-finding h3{font-size:22px}
  .dx-deliverable{padding:28px 20px;gap:18px}
  .dx-price{font-size:42px}
  .o2-section-nav{padding:16px 20px;gap:14px 20px}
  .o2-section-nav a{font-size:12px}
  .service-intro{padding:34px 20px}
  .service-intro h1{font-size:36px}
  .service-intro p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-home{color:inherit;text-decoration:none;flex:none}
