/* Openwell — typography pass (loaded last on every page).
   Kerning + ligatures on everywhere; display sizes get looser leading so descenders and the serif
   italic never collide; body copy gets a touch more leading and a comfortable measure; small text
   gets a hair of positive tracking; the serif italic is optically matched to the sans it sits in.
   Type: IBM Plex Sans (display 200/300, body 400/500), IBM Plex Serif italic 300 for accents. */

/* ---- global rendering ---- */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures contextual}
h1,h2,h3,h4{text-wrap:balance;font-kerning:normal}
p,li,dd,figcaption,summary{text-wrap:pretty}
/* the serif italic runs visually large and wide next to Plex Sans light: pull it in a hair inside display type */
h1 em,h2 em,h3 em,.display em,.display-hero em,.h-xl em,.h-lg em,.h-md em,.ui-h em,.ip-h em{font-size:.965em;letter-spacing:-.012em}
/* small text reads better with a whisper of positive tracking */
.trustline,.tag,.credit,.disc,.fbottom,.fmicro,.mini .l,.reassure,.cap-mono,.illus,.legal-meta,.toc-label,.who-meta,.anno .s,.step .cap-mono,.firm-cred,.legal-note,.compare .foot,.story .who,.pcard .pd{letter-spacing:.004em}
/* tertiary tier: captions under forms, photo credits, disclaimers. A step lighter in tone and weight than secondary text */
.trustline,.tag,.credit,.disc,.reassure,.illus,.legal-meta,.firm-cred,.story .who,.step .cap-mono,.anno .s{color:#8e939f;font-weight:300}
.trustline span:not(:last-child)::after{color:#b4b8c2}
.reassure{color:#8e939f}
/* numerals that sit in rows or prices align better tabular */
.pcard .pn,.zero .n,.firm-price .p,.rank,.legal-toc a span,.ip-sub,.ip-num{font-variant-numeric:tabular-nums}

/* ---- landing ---- */
.hero h1{line-height:1.08;letter-spacing:-.026em;margin-top:22px;text-wrap:initial} /* keep the designed break: "...for you," / "Discovered" */
.hero .sub{line-height:1.6;letter-spacing:-.003em;margin-top:22px;max-width:50ch}
.hero .searchpill{margin-top:32px}
.trustline{margin-top:18px;line-height:1.5}
h2{line-height:1.12;letter-spacing:-.022em}
.lead{line-height:1.62;letter-spacing:-.002em}
.feat-row h3{line-height:1.14;letter-spacing:-.022em;margin-top:12px}
.feat-row p{line-height:1.65;margin-top:16px}
.feat-row .btn{margin-top:26px}
.compare .crow{line-height:1.45}
.pcard .pn{letter-spacing:-.02em;line-height:1}
.pcard .pl{line-height:1.4}
.story .q{line-height:1.5;letter-spacing:-.004em}
.jcard h3{line-height:1.35;letter-spacing:-.008em}
summary{line-height:1.4}
details .a{line-height:1.6}
.phys-text p,.phys .chk{line-height:1.55}
.fcta h2{line-height:1.1}
.fcols .brand{line-height:1.55}
.kick{letter-spacing:.002em}

/* ---- clinics ---- */
.display-hero{line-height:1.04;letter-spacing:-.028em}
.h-xl{line-height:1.1;letter-spacing:-.022em}
.h-lg{line-height:1.15}
.h-md{line-height:1.25;letter-spacing:-.012em}
.deck{line-height:1.6;letter-spacing:-.002em}
.hero .deck{margin-top:4px}
.step .t,.anno .t,.way .name,.perk .t{line-height:1.3;letter-spacing:-.012em}
.told .q{line-height:1.48}
.faq summary{line-height:1.4}
.faq .a{line-height:1.65}
.advisor .pull{line-height:1.2;letter-spacing:-.01em}
.firm-line,.legal-note{line-height:1.6}

/* ---- legal ---- */
.legal-head h1{line-height:1.08;letter-spacing:-.026em}
.legal-body{line-height:1.72}
.legal-body h2{line-height:1.18;letter-spacing:-.02em}
.legal-body h3{line-height:1.35}
.legal-body>p:first-child{line-height:1.6}
.legal-toc a{line-height:1.4}

/* ---- nav + phone mock ---- */
.nav-links a{letter-spacing:-.003em}
.intro-phone .ip-h{line-height:1.22}
.intro-phone .ip-name{letter-spacing:-.008em}

/* ---- shared button affordance: the live site's diagonal arrow follows every pill button label ----
   Drawn from the same 18x18 path as openwell-web (square caps), masked in currentColor so it takes the
   button's text colour, nudges up-right on hover. Excludes the nav CTA (it carries its own arrow disc). */
.btn::after,.btn-ghost::after{content:"";flex:none;width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'><path d='M5.25 12.75L12.15 5.85M12.75 12.75V5.25H5.25' stroke='%23000' stroke-width='1.5' stroke-linecap='square'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'><path d='M5.25 12.75L12.15 5.85M12.75 12.75V5.25H5.25' stroke='%23000' stroke-width='1.5' stroke-linecap='square'/></svg>") center/contain no-repeat;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.btn:hover::after,.btn-ghost:hover::after{transform:translate(1.5px,-1.5px)}
.btn.sm::after,.btn-ghost.sm::after{width:.9em;height:.9em}
