/* Pricing navigation geometry, shared by all compact patient galleries. */
.nova-patient-host{container-type:inline-size;container-name:patient-nav}
.nova-patient-nav.nova-patient-nav{--patient-ink:#101116;--patient-muted:#666d7c;--patient-line:#b9bfca;display:flex;align-items:center;gap:15px;padding:16px 0 0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--patient-ink);width:100%;box-sizing:border-box}
.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next){display:inline-flex;align-items:center;justify-content:center;position:relative;gap:10px;min-height:44px;height:44px;padding:10px 13px;margin:0;border:1px solid var(--patient-line);border-radius:8px;background:transparent;color:var(--patient-ink);font:400 12px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:normal;white-space:nowrap;box-shadow:none;cursor:pointer;width:auto}
.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next):first-child{width:44px;flex:0 0 44px;padding:10px}
.nova-patient-nav.nova-patient-nav>.nova-patient-toggle{min-width:54px;padding:10px 12px}
.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next):hover{background:rgb(255 255 255 / .35)}
.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next):disabled{opacity:.4;cursor:default}
.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next):focus-visible{outline:2px solid var(--patient-muted);outline-offset:4px}
.nova-patient-nav.nova-patient-nav button :is(img,svg):not(.nova-patient-countdown){width:20px;height:20px;filter:none;flex-shrink:0}
.nova-patient-nav.nova-patient-nav .nova-patient-meter{display:grid;grid-template-columns:1fr auto;flex:1;min-width:0;gap:10px 8px;font:400 10px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--patient-muted)}
.nova-patient-nav .nova-patient-label{font-size:9px}
.nova-patient-nav .nova-patient-track{grid-column:1/-1;display:block;height:2px;background:color-mix(in srgb,var(--patient-muted) 25%,transparent);overflow:hidden}
.nova-patient-nav .nova-patient-track i{display:block;height:2px;background:var(--patient-muted);transition:width .22s ease}
.nova-patient-nav.nova-patient-nav .nova-patient-countdown{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;overflow:visible}
.nova-patient-countdown rect{fill:none;stroke:var(--patient-ink);stroke-width:1;stroke-dasharray:100;stroke-dashoffset:100}
.nova-patient-nav.nova-patient-dark{--patient-ink:#fff;--patient-muted:#edf0f5;--patient-line:#c3c9d3}
.nova-patient-nav.nova-patient-dark button img{filter:brightness(0) invert(1)}
@container patient-nav (max-width:500px){.nova-patient-nav.nova-patient-nav{flex-wrap:wrap;gap:8px}.nova-patient-nav.nova-patient-nav .nova-patient-meter{flex:1 0 100%;order:-1}.nova-patient-nav .nova-patient-label{display:none}.nova-patient-nav .nova-patient-meter>span:not([class]){grid-column:2;text-align:right}.nova-patient-nav.nova-patient-nav>.nova-patient-toggle{margin-left:auto}.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next):last-child{font-size:11px;padding-inline:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.nova-patient-nav .nova-patient-track i{transition:none}}
/* The legacy campaign applies important CTA paint by ID; patient controls are neutral. */
.nova-patient-nav #patient-next{background:transparent!important;color:var(--patient-ink)!important;border-color:var(--patient-line)!important;box-shadow:none!important}
.nova-patient-nav #patient-next::after{display:none!important}
.nova-method-nav .nova-method-count{font-variant-numeric:tabular-nums;text-align:right}
.nova-method-nav .nova-patient-countdown{max-width:none}

.nova-patient-nav .nova-patient-countdown{z-index:2}
.nova-patient-nav .nova-patient-countdown rect{stroke-width:1.5}
.nova-patient-host :is(.nvc-h-saphir-stage,.saphir-stage){touch-action:pan-y pinch-zoom}
.nova-patient-nav button{touch-action:manipulation}
@media(pointer:coarse){.nova-patient-nav.nova-patient-nav>:is(button,#patient-prev,#patient-next){min-height:48px;height:48px;min-width:48px}.nova-patient-nav.nova-patient-nav>button:first-child{flex-basis:48px}}
@media(pointer:coarse){.nova-pricing.nova-pricing .nvp-price-controls>.nvp-button{min-height:48px;min-width:48px;touch-action:manipulation}}
.nova-patient-host :is(.nvc-h-saphir-bottom,.saphir-bottom){display:block}

/* Shared slate reading panel, including compact article modules. */
:is(.nvc-h-saphir,.saphir) :is(.nvc-h-saphir-copy,.saphir-copy){background:#666d7c;color:#fff}
:is(.nvc-h-saphir,.saphir) :is(.nvc-h-saphir-copy,.saphir-copy) h3{color:#fff}
:is(.nvc-h-saphir,.saphir) :is(.nvc-h-saphir-copy,.saphir-copy) :is(p,a,.nvc-h-saphir-index,.saphir-index){color:#fff}
:is(.nvc-h-saphir,.saphir) :is(.nvc-h-saphir-copy,.saphir-copy) a{text-decoration:underline;text-underline-offset:3px}
:is(.nvc-h-saphir,.saphir) .nova-method-detail{display:none}
@media(min-width:1024px){:is(.nvc-h-saphir,.saphir) .nova-method-detail{display:block;margin:14px 0 0;font-size:15px;line-height:1.6}}

/* Step headings remain subordinate to the section heading at every width. */
.nova-patient-host.nova-patient-host :is(.nvc-h-saphir-copy,.saphir-copy) h3{font-size:24px;line-height:1.2;letter-spacing:-.3px;margin:12px 0;font-weight:700}
@media(max-width:900px){.nova-patient-host.nova-patient-host :is(.nvc-h-saphir-copy,.saphir-copy) h3{font-size:22px}}
@media(min-width:801px){
.nova-patient-host :is(.nvc-h-saphir-slide,.saphir-slide)>figure{align-self:stretch;position:relative;min-height:230px;height:auto;min-width:0;width:100%;aspect-ratio:3/2}
.nova-patient-host :is(.nvc-h-saphir-slide,.saphir-slide)>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;display:block}
}

.nova-patient-host.nova-patient-host :is(.nvc-h-saphir-copy,.saphir-copy){display:flex;flex-direction:column;justify-content:center}

.nova-patient-host :is(.nvc-h-saphir-slide,.saphir-slide)>figure{min-width:0;max-width:100%;overflow:hidden}
.nova-patient-host :is(.nvc-h-saphir-copy,.saphir-copy){min-width:0;box-sizing:border-box}
