/* Dr. Christopher Zoumalan: styles for the "pieces" widgets (one part of a section each).
   Same look as the sections in zm-site.css, without needing the section wrapper. */
html.zm-site .zm-eyebrow{font-size:1rem;font-weight:500;color:var(--champagne-deep);margin:0 0 20px;letter-spacing:0}
html.zm-site .zm-cred{display:flex;flex-wrap:wrap;gap:6px 0;margin:18px 0 0;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft)}
html.zm-site .zm-cred span:not(:last-child)::after{content:"·";margin:0 10px;color:var(--champagne)}
html.zm-site .zm-body-text{margin:0;font-size:1.02rem;line-height:1.7;color:var(--ink)}
/* "Keep the built-in spacing" off: the container's gap decides */
html.zm-site .zm-flush{margin:0!important}
/* Elementor makes containers wrap on phones; a wrapping column lets the portrait card (aspect-ratio box)
   collapse to 0 height. Keep the container that holds it on one line. */
html.zm-site .e-con:has(> .elementor-widget-zm-p-portrait),html.zm-site .e-con-inner:has(> .elementor-widget-zm-p-portrait){flex-wrap:nowrap}
/* Procedure titles are links to their page; clicking elsewhere in the row still opens the text */
html.zm-site .acc-item summary .acc-link{color:inherit;text-decoration:none}
html.zm-site .acc-item summary .acc-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--champagne)}
/* ---------- Pieces: looks that only existed inside a section in the mockup ---------- */
html.zm-site .kicker{letter-spacing:0}
html.zm-site .zm-card-title{font-size:clamp(1.7rem,2.7vw,2.5rem)}
html.zm-site .zm-light{display:block;color:var(--ink-soft)}
html.zm-site .zm-statement{margin:0;font-size:1.2rem;font-weight:400;line-height:1.45;letter-spacing:-0.01em;max-width:30em}
html.zm-site .zm-links .ext svg{width:12px;height:12px;transition:transform .25s}
html.zm-site .zm-links .ext:hover svg{transform:translate(2px,-2px)}
html.zm-site .zm-links--col{flex-direction:column;align-items:flex-start;gap:14px}
html.zm-site .zm-fill{position:relative;height:100%;min-height:280px}
html.zm-site .zm-fill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.zm-site .zm-sticky-yes{position:sticky;top:96px;align-self:start}
@media (max-width:767px){
  html.zm-site .zm-sticky-yes{position:relative;top:auto}
  html.zm-site .zm-fill{min-height:220px}
  html.zm-site .zm-panel-grey .elementor-widget-zm-p-photos{order:-1}
}
/* ---------- Panels (container setting "Dr. Zoumalan panel") ---------- */
html.zm-site .zm-panel-grey{background:var(--mist-soft);border-radius:28px;overflow:hidden}
html.zm-site .zm-panel-dark{position:relative;isolation:isolate;overflow:hidden;border-radius:32px;background:var(--night);color:#fff}
html.zm-site .zm-panel-dark::before{content:"";display:block;position:absolute;inset:0;top:0;left:0;width:auto;height:auto;opacity:1;mix-blend-mode:normal;border-radius:inherit;z-index:-2;background:radial-gradient(60% 80% at 100% 100%,rgba(201,179,137,.16) 0%,transparent 60%),radial-gradient(50% 60% at 0% 0%,rgba(255,255,255,.06) 0%,transparent 70%)}
html.zm-site .zm-panel-dark::after{content:"";display:block;position:absolute;inset:0;z-index:-1;background-image:var(--grain);background-size:220px;opacity:.12;mix-blend-mode:screen;pointer-events:none}
html.zm-site .zm-panel-dark .kicker{color:var(--champagne);line-height:1.4}
html.zm-site .zm-panel-dark .intro-title{font-size:min(3.6rem,4vw);line-height:1.06;color:#fff}
html.zm-site .zm-panel-dark .zm-statement{font-size:1.35rem;letter-spacing:-0.015em;line-height:1.35;color:#fff;max-width:none}
html.zm-site .zm-panel-dark .intro-body{color:#C9CCD1;max-width:38em}
html.zm-site .zm-panel-dark .btn{background:var(--champagne);border-color:var(--champagne);color:var(--night)}
html.zm-site .zm-panel-dark .btn:hover{background:transparent;color:#fff;border-color:#fff}
@media (max-width:820px){html.zm-site .zm-panel-dark .intro-title{font-size:clamp(2.2rem,9vw,3.2rem)}}
html.zm-site .zm-panel-peach{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,#F2C3A1 0%,#F8D6BA 100%)}
html.zm-site .zm-panel-peach .e-con{z-index:1}
html.zm-site .zm-panel-peach .kicker{color:#7A4E33}
html.zm-site .zm-panel-peach .r-title{font-size:min(2.4rem,2.8vw);line-height:1.08;color:#3B2A22}
html.zm-site .zm-panel-peach .intro-body{color:#5E4538;font-size:.98rem;max-width:none}
html.zm-site .zm-panel-peach .ext{border-bottom-color:rgba(59,42,34,.45);color:#3B2A22}
html.zm-site .zm-panel-peach .elementor-widget-zm-p-photos{position:static}
html.zm-site .zm-panel-peach:hover .r1-img{transform:scale(1.03)}
@media (max-width:1000px){html.zm-site .zm-panel-peach .r-title{font-size:clamp(1.9rem,4.4vw,2.6rem)}}
/* ---------- Before & after gallery (/photo-gallery/{category}/) ---------- */
html.zm-site .zg{--zg-r:18px}
html.zm-site .zg .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
html.zm-site .zg-hero{padding:clamp(40px,6vw,88px) 0 clamp(36px,4vw,56px)}
html.zm-site .zg-hero .kicker{margin:0 0 14px}
html.zm-site .zg-h1{margin:0 0 20px;font-size:min(3.6rem,4.6vw);font-weight:300;letter-spacing:-0.04em;line-height:1.05;max-width:16em}
html.zm-site .zg-sub{margin:0;font-size:1.15rem;font-weight:400;line-height:1.5;letter-spacing:-0.005em;color:var(--ink-soft);max-width:34em}
html.zm-site .zg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:32px}
html.zm-site .zg-meta{font-size:.9rem;color:var(--ink-soft)}
html.zm-site .zg-list{padding:0 0 clamp(72px,9vw,120px)}
html.zm-site .zg-cases{border-top:1px solid var(--mist);padding-top:clamp(36px,4vw,56px)}
html.zm-site .zg-case{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(32px,4vw,48px) 0;border-bottom:1px solid var(--mist)}
html.zm-site .zg-case:first-child{padding-top:0}
html.zm-site .zg-case:last-child{border-bottom:0;padding-bottom:0}
html.zm-site .zg-figs{max-width:725px}
html.zm-site .zg-fig{margin:0;display:none}
html.zm-site .zg-fig.is-on{display:block}
html.zm-site .zg-fig img{display:block;width:100%;height:auto;border-radius:var(--zg-r);background:var(--mist-soft)}
html.zm-site .zg-fig figcaption{display:none}
html.zm-site .zg-body{max-width:34em}
html.zm-site .zg-num{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;font-size:1.9rem;font-weight:300;letter-spacing:-0.03em;line-height:1.2}
html.zm-site .zg-count{font-size:.78rem;font-weight:500;letter-spacing:0;color:var(--champagne-deep)}
html.zm-site .zg-desc{color:var(--ink-soft)}
html.zm-site .zg-desc p{margin:0}
html.zm-site .zg-desc p+p{margin-top:12px}
html.zm-site .zg-views{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
html.zm-site .zg-view{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border:1px solid var(--steel);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
html.zm-site .zg-view img{width:44px;height:28px;object-fit:cover;object-position:0 30%;border-radius:999px}
html.zm-site .zg-view:hover{border-color:var(--ink)}
html.zm-site .zg-view.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
html.zm-site .zg-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--mist)}
html.zm-site .zg-pgs{display:flex;align-items:center;gap:6px}
html.zm-site .zg-pg{display:grid;place-items:center;min-width:40px;height:40px;padding:0 6px;border-radius:999px;font-size:.92rem;font-weight:500;text-decoration:none;color:var(--ink);font-variant-numeric:tabular-nums;transition:background .2s}
html.zm-site .zg-pg:hover{background:var(--mist-soft)}
html.zm-site .zg-pg.is-on{background:var(--ink);color:#fff}
html.zm-site .zg-dots{color:var(--ink-soft);padding:0 4px}
html.zm-site .zg-pn{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;font-weight:500;text-decoration:none;color:var(--ink)}
html.zm-site .zg-pn--prev svg{transform:rotate(180deg)}
html.zm-site .zg-pn--off{color:var(--steel)}
html.zm-site .zg-pn svg{transition:transform .25s}
html.zm-site a.zg-pn--next:hover svg{transform:translateX(3px)}
html.zm-site a.zg-pn--prev:hover svg{transform:rotate(180deg) translateX(3px)}
html.zm-site .zg-more{margin-top:clamp(48px,6vw,80px)}
html.zm-site .zg-more-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);border-top:1px solid var(--mist)}
html.zm-site .zg-more-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--mist);font-size:.95rem;color:var(--ink);text-decoration:none;transition:padding .3s}
html.zm-site .zg-more-list a:hover{padding-left:6px}
html.zm-site .zg-more-list a svg{flex:none;color:var(--champagne-deep)}
html.zm-site .zg-more-list a[aria-current]{font-weight:600}
html.zm-site .zg-dis{margin-top:clamp(40px,5vw,64px);padding:clamp(22px,3vw,32px) clamp(22px,3vw,36px);border-radius:var(--zg-r);background:var(--mist-soft)}
html.zm-site .zg-dis-t{margin:0 0 8px;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
html.zm-site .zg-dis-p{margin:0;font-size:.88rem;line-height:1.65;color:var(--ink-soft);max-width:70em}
@media (max-width:820px){
  html.zm-site .zg-h1{font-size:clamp(2.1rem,8.6vw,3.2rem)}
  html.zm-site .zg-case{grid-template-columns:minmax(0,1fr);gap:20px}
  html.zm-site .zg-views{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter)}
  html.zm-site .zg-view{flex:none}
  html.zm-site .zg-more-list{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zg-pn{width:40px;height:40px;justify-content:center;gap:0;border:1px solid var(--steel);border-radius:999px}
  html.zm-site .zg-pn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  html.zm-site .zg-pn svg{width:16px;height:16px}
}

/* ---------- Before & after galleries index (/photo-gallery/) ---------- */
html.zm-site .zgi-sec{padding:0 0 clamp(72px,9vw,120px)}
html.zm-site .zgi-in{border-top:1px solid var(--mist);padding-top:clamp(36px,4vw,56px)}
html.zm-site .zgi-in>.kicker{margin:0 0 clamp(24px,3vw,36px)}
html.zm-site .zgi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(20px,2.4vw,36px)}
html.zm-site .zgi-card{position:relative;display:flex;flex-direction:column}
html.zm-site .zgi-media{overflow:hidden;border-radius:var(--zg-r);background:var(--mist-soft);aspect-ratio:471/157}
html.zm-site .zgi-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
html.zm-site .zgi-head{order:-1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--mist);transition:border-color .25s}
html.zm-site .zgi-t{margin:0;font-size:.86rem;font-weight:600;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
html.zm-site .zgi-t a{color:inherit;text-decoration:none}
html.zm-site .zgi-t a::after{content:"";position:absolute;inset:0;border-radius:var(--zg-r)}
html.zm-site .zgi-t a:focus-visible{outline:none}
html.zm-site .zgi-card:has(a:focus-visible){outline:2px solid var(--ink);outline-offset:6px;border-radius:var(--zg-r)}
html.zm-site .zgi-n{flex:none;font-size:.78rem;font-weight:500;line-height:1.75;color:var(--champagne-deep);white-space:nowrap}
html.zm-site .zgi-foot{margin:12px 0 0;font-size:.9rem}
html.zm-site .zgi-more{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);transition:color .2s}
html.zm-site .zgi-more svg{color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zgi-card:not(.zgi-card--static):hover .zgi-head{border-bottom-color:var(--ink)}
html.zm-site .zgi-card:not(.zgi-card--static):hover .zgi-media img{transform:scale(1.03)}
html.zm-site .zgi-card:hover .zgi-more{color:var(--ink)}
html.zm-site .zgi-card:hover .zgi-more svg{transform:translateX(3px)}
html.zm-site .zgi .zg-dis{margin-top:clamp(56px,7vw,96px)}
@media (max-width:1000px){html.zm-site .zgi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){html.zm-site .zgi-grid{grid-template-columns:minmax(0,1fr);gap:32px}}

/* ---------- FAQ (/faq/ and /faq/{question}/) ---------- */
html.zm-site .zfi-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(24px,3vw,36px)}
html.zm-site .zfi-jump a{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border:1px solid var(--steel);border-radius:999px;font-size:.9rem;font-weight:500;line-height:1.2;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s,color .2s}
html.zm-site .zfi-jump a span{font-size:.78rem;color:var(--champagne-deep);transition:color .2s}
html.zm-site .zfi-jump a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
html.zm-site .zfi-jump a:hover span{color:var(--champagne)}
html.zm-site .zfi-sec{padding:0 0 clamp(48px,6vw,80px);scroll-margin-top:110px}
html.zm-site .zfi-sec:last-child{padding-bottom:clamp(72px,9vw,120px)}
html.zm-site .zfi-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,88px);border-top:1px solid var(--mist);padding-top:clamp(28px,3.5vw,44px)}
html.zm-site .zfi-side{align-self:start;position:sticky;top:120px}
html.zm-site .zfi-side .kicker{margin:0 0 10px}
html.zm-site .zfi-t{margin:0;font-size:min(2.1rem,2.7vw);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:var(--ink);max-width:12em}
html.zm-site .zfi-list{list-style:none;margin:0;padding:0}
html.zm-site .zfi-list li{margin:0;padding:0}
html.zm-site .zfi-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--mist);font-size:1.02rem;line-height:1.45;color:var(--ink);text-decoration:none;transition:padding .3s,border-color .25s}
html.zm-site .zfi-list li:first-child a{padding-top:4px}
html.zm-site .zfi-list a svg{flex:none;color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zfi-list a:hover{padding-left:6px;border-bottom-color:var(--ink)}
html.zm-site .zfi-list a:hover svg{transform:translateX(3px)}
html.zm-site .zfq .zf-hero .kicker{margin:0 0 16px}
html.zm-site .zfq-q{margin:0;font-size:min(3.2rem,4.2vw);font-weight:300;letter-spacing:-0.035em;line-height:1.1;color:var(--ink);max-width:22em;text-wrap:balance}
html.zm-site .zfq-sec{padding:0 0 clamp(72px,9vw,120px)}
html.zm-site .zfq-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(36px,6vw,104px);border-top:1px solid var(--mist);padding-top:clamp(32px,4vw,56px)}
html.zm-site .zfq-grid--solo{grid-template-columns:minmax(0,1fr)}
html.zm-site .zfq-answer{max-width:44em;font-size:1.05rem;line-height:1.75;color:var(--ink)}
html.zm-site .zfq-answer>:first-child{margin-top:0}
html.zm-site .zfq-answer>:last-child{margin-bottom:0}
html.zm-site .zfq-answer p{margin:0 0 1.1em}
html.zm-site .zfq-answer ul,html.zm-site .zfq-answer ol{margin:0 0 1.1em;padding-left:1.25em}
html.zm-site .zfq-answer li{margin:0 0 .7em;padding-left:.25em}
html.zm-site .zfq-answer li::marker{color:var(--champagne-deep)}
html.zm-site .zfq-answer li span{font-weight:inherit!important}
html.zm-site .zfq-answer a{color:inherit;font-weight:500!important;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:3px}
html.zm-site .zfq-answer a:hover{text-decoration-color:var(--ink)}
html.zm-site .zfq-answer strong,html.zm-site .zfq-answer b{font-weight:600}
html.zm-site .zfq-side{align-self:start;position:sticky;top:120px}
html.zm-site .zfq-side .kicker{margin:0 0 14px}
html.zm-site .zfq-list a{font-size:.95rem;padding:14px 0}
html.zm-site .zfq-list li:first-child a{padding-top:0}
html.zm-site .zfq-all{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none}
html.zm-site .zfq-all svg{color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zfq-all:hover svg{transform:translateX(3px)}
html.zm-site .zbc-body strong{color:#fff;font-weight:600}
html.zm-site .zbc-ask{margin:0}
html.zm-site .zbc-ask a{display:inline-flex;align-items:center;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--champagne);font-size:min(1.9rem,2.4vw);font-weight:300;letter-spacing:-0.02em;line-height:1.2;color:#fff;text-decoration:none;transition:color .2s,border-color .2s}
html.zm-site .zbc-ask a span{display:inline-block}
html.zm-site .zbc-ask a span::first-letter{text-transform:uppercase}
html.zm-site .zbc-ask a svg{flex:none;color:var(--champagne);transition:transform .25s}
html.zm-site .zbc-ask a:hover{color:var(--champagne)}
html.zm-site .zbc-ask a:hover svg{transform:translateX(4px)}
@media (max-width:1000px){html.zm-site .zbc-ask a{font-size:1.6rem}}
@media (max-width:820px){
  html.zm-site .zfi-grid,html.zm-site .zfq-grid{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zfi-side,html.zm-site .zfq-side{position:static}
  html.zm-site .zfi-t{font-size:clamp(1.6rem,6.4vw,2rem)}
  html.zm-site .zfq-q{font-size:clamp(1.85rem,7.2vw,2.6rem)}
  html.zm-site .zfi-list a{font-size:.98rem}
  html.zm-site .zfq-side{padding-top:28px;border-top:1px solid var(--mist)}
}
/* WordPress adds the post-type class "faq" to the question page wrapper; the homepage FAQ section rule (.faq) must not pad it. */
html.zm-site .faq:not(section){padding:0}
html.zm-site section.zbc{padding-bottom:clamp(56px,6vw,96px)}

/* ---------- Procedure page sections (.zp, also the Page Generator Pro city pages) ---------- */
html.zm-site .zp{padding:0 0 clamp(64px,8vw,120px)}
html.zm-site .zp-eyebrow{margin:0 0 14px}
html.zm-site .zp-head{max-width:48em;margin:0 0 clamp(28px,3.5vw,48px)}
html.zm-site .zp-title{margin:0;font-size:min(2.9rem,3.6vw);font-weight:300;letter-spacing:-0.035em;line-height:1.1;color:var(--ink);max-width:22em;text-wrap:balance}
html.zm-site .zp-intro{margin-top:18px;color:var(--ink-soft);font-size:1.05rem}
html.zm-site .zp-rich>:first-child{margin-top:0}
html.zm-site .zp-rich>:last-child{margin-bottom:0}
html.zm-site .zp-rich p{margin:0 0 1em}
html.zm-site .zp-rich ul,html.zm-site .zp-rich ol{margin:0 0 1em;padding-left:1.2em}
html.zm-site .zp-rich li{margin:0 0 .55em;padding-left:.2em}
html.zm-site .zp-rich li::marker{color:var(--champagne-deep)}
html.zm-site .zp-rich a{color:inherit;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:3px}
html.zm-site .zp-rich a:hover{text-decoration-color:var(--ink)}
html.zm-site .zp-rich strong,html.zm-site .zp-rich b{font-weight:600;color:var(--ink)}
html.zm-site .zp-rich h2,html.zm-site .zp-rich h3{margin:1.4em 0 .5em;font-size:1.25rem;font-weight:500;letter-spacing:-0.01em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-rich h3 a{text-decoration:none}
html.zm-site .zp-body{color:var(--ink-soft);font-size:1.02rem;line-height:1.75}
html.zm-site .zp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
html.zm-site .zp-actions--center{justify-content:center}
html.zm-site .zp-card-t{margin:0 0 10px;font-size:1.2rem;font-weight:500;letter-spacing:-0.012em;line-height:1.3;color:var(--ink)}
/* hero */
html.zm-site .zp-hero{padding:clamp(40px,6vw,88px) 0 clamp(64px,8vw,112px)}
html.zm-site .zp-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,96px);align-items:center}
html.zm-site .zp-hero-grid--solo{grid-template-columns:minmax(0,1fr)}
html.zm-site .zp-h1{margin:0 0 24px;font-size:min(4rem,5vw);font-weight:300;letter-spacing:-0.045em;line-height:1.02;color:var(--ink)}
html.zm-site .zp-lede{color:var(--ink-soft);font-size:1.05rem;line-height:1.75;max-width:36em}
html.zm-site .zp-lead{margin:28px 0 0;padding-left:18px;border-left:2px solid var(--champagne);font-size:1.2rem;font-weight:400;letter-spacing:-0.01em;line-height:1.45;color:var(--ink);max-width:28em}
html.zm-site .zp-hero-media{margin:0;position:relative}
html.zm-site .zp-hero-media a{display:block;color:inherit;text-decoration:none}
html.zm-site .zp-hero-photo img{width:100%;height:auto;aspect-ratio:724/560;object-fit:cover;border-radius:28px;background:var(--mist-soft)}
html.zm-site .zp-media-label{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.92);font-size:.85rem;font-weight:500;color:var(--ink);backdrop-filter:blur(6px)}
html.zm-site .zp-media-label svg{color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zp-hero-media a:hover .zp-media-label svg{transform:translateX(3px)}
/* title + text */
html.zm-site .zp-split2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);padding-top:clamp(36px,4vw,56px);border-top:1px solid var(--mist)}
/* cards */
html.zm-site .zp-cards{display:grid;gap:clamp(14px,1.6vw,20px)}
html.zm-site .zp-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
html.zm-site .zp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
html.zm-site .zp-card{padding:clamp(24px,2.6vw,36px);border-radius:24px;background:var(--mist-soft)}
html.zm-site .zp-card-x{color:var(--ink-soft);font-size:.98rem;line-height:1.7}
html.zm-site .zp-card--cta{display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:var(--night);color:#fff}
html.zm-site .zp-card-cta-t{margin:0;font-size:1.35rem;font-weight:300;letter-spacing:-0.015em;line-height:1.35;color:#fff}
html.zm-site .zp-card--cta .zp-actions{margin-top:0}
html.zm-site .zp-card--cta .btn{background:var(--champagne);border-color:var(--champagne);color:var(--night)}
html.zm-site .zp-card--cta .btn:hover{background:transparent;border-color:#fff;color:#fff}
/* videos */
html.zm-site .zp-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
html.zm-site .zp-video{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:center;padding:clamp(14px,1.6vw,20px);border-radius:24px;background:var(--mist-soft)}
html.zm-site .zp-video-frame{overflow:hidden;border-radius:16px;background:var(--night);aspect-ratio:9/16}
html.zm-site .zp-video-frame video{display:block;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-video-x{padding:8px clamp(4px,1vw,12px) 8px 0;color:var(--ink-soft);font-size:.96rem;line-height:1.7}
/* text + image */
html.zm-site .zp-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,96px);align-items:center}
html.zm-site .zp-split--left .zp-split-media{order:-1}
html.zm-site .zp-split-text .zp-title{margin-bottom:22px}
html.zm-site .zp-sub{margin:28px 0 0;font-size:1.15rem;font-weight:400;letter-spacing:-0.01em;line-height:1.45;color:var(--ink);max-width:30em}
html.zm-site .zp-split-media{border-radius:24px;overflow:hidden}
html.zm-site .zp-split-img{display:block}
html.zm-site .zp-split-img img{width:100%;height:auto}
html.zm-site .zp-media--card{background:var(--mist-soft);padding:clamp(14px,1.6vw,20px)}
html.zm-site .zp-media--card .zp-split-img img{border-radius:14px}
html.zm-site .zp-media--card .zp-split-cap{padding:clamp(18px,2vw,26px) clamp(8px,1vw,14px) clamp(8px,1vw,12px);color:var(--ink-soft);font-size:.96rem;line-height:1.7}
html.zm-site .zp-media--portrait{background:var(--mist-soft);display:flex;justify-content:center;padding-top:clamp(28px,4vw,56px)}
html.zm-site .zp-media--portrait img{width:auto;max-width:100%;max-height:560px}
html.zm-site .zp-media--photo img{border-radius:24px}
/* accordion */
html.zm-site .zp-acc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(36px,6vw,96px);align-items:start}
html.zm-site .zp-acc-grid--solo{grid-template-columns:minmax(0,1fr)}
html.zm-site .zp-acc-grid--solo .zp-acc{max-width:60em}
html.zm-site .zp-acc{border-top:1px solid var(--mist)}
html.zm-site .zp-acc-item{border-bottom:1px solid var(--mist)}
html.zm-site .zp-acc-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none}
html.zm-site .zp-acc-item summary::-webkit-details-marker{display:none}
html.zm-site .zp-acc-t{margin:0;font-size:1.2rem;font-weight:400;letter-spacing:-0.012em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-acc-ico{position:relative;flex:none;width:36px;height:36px;border:1px solid var(--steel);border-radius:999px;transition:background .2s,border-color .2s}
html.zm-site .zp-acc-ico::before,html.zm-site .zp-acc-ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--ink);transition:transform .25s}
html.zm-site .zp-acc-ico::after{transform:rotate(90deg)}
html.zm-site .zp-acc-item[open] .zp-acc-ico{background:var(--ink);border-color:var(--ink)}
html.zm-site .zp-acc-item[open] .zp-acc-ico::before,html.zm-site .zp-acc-item[open] .zp-acc-ico::after{background:#fff}
html.zm-site .zp-acc-item[open] .zp-acc-ico::after{transform:rotate(0)}
html.zm-site .zp-acc-item summary:hover .zp-acc-ico{border-color:var(--ink)}
html.zm-site .zp-acc-x{padding:0 clamp(0px,4vw,56px) 26px 0;color:var(--ink-soft);font-size:1rem;line-height:1.75}
html.zm-site .zp-acc-media{position:sticky;top:120px;overflow:hidden;border-radius:24px}
html.zm-site .zp-acc-media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
/* dark call to action */
html.zm-site .zp-cta{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,5vw,80px);align-items:end;padding:clamp(36px,6vw,80px);border-radius:32px;background:var(--night);color:#C9CCD1}
html.zm-site .zp-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 100% 100%,rgba(201,179,137,.16) 0%,transparent 60%)}
html.zm-site .zp-cta .zp-eyebrow{color:var(--champagne)}
html.zm-site .zp-cta .zp-title{margin-bottom:20px;color:#fff}
html.zm-site .zp-cta .zp-rich{max-width:40em;line-height:1.75}
html.zm-site .zp-cta-side{padding-left:clamp(0px,3vw,40px);border-left:1px solid rgba(255,255,255,.18)}
html.zm-site .zp-cta-sub{margin:0;font-size:1.3rem;font-weight:300;letter-spacing:-0.015em;line-height:1.35;color:#fff}
html.zm-site .zp-cta .btn{background:var(--champagne);border-color:var(--champagne);color:var(--night)}
html.zm-site .zp-cta .btn:hover{background:transparent;border-color:#fff;color:#fff}
/* case studies */
html.zm-site .zp-cases-sec{scroll-margin-top:110px}
html.zm-site .zp-videos-sec{scroll-margin-top:110px}
html.zm-site .zp-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(16px,2vw,28px)}
html.zm-site .zp-case-img{overflow:hidden;margin:0 0 18px;border-radius:20px;background:var(--mist-soft)}
html.zm-site .zp-case-img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
html.zm-site .zp-case-x{color:var(--ink-soft);font-size:.95rem;line-height:1.7}
@media (max-width:1000px){
  html.zm-site .zp-cols-3,html.zm-site .zp-cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.zm-site .zp-videos{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-cta{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-cta-side{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
}
@media (max-width:820px){
  html.zm-site .zp-hero-grid,html.zm-site .zp-split,html.zm-site .zp-split2,html.zm-site .zp-acc-grid{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-split--left .zp-split-media{order:0}
  html.zm-site .zp-h1{font-size:clamp(2.3rem,10vw,3.2rem)}
  html.zm-site .zp-title{font-size:clamp(1.9rem,7.6vw,2.5rem)}
  html.zm-site .zp-acc-media{position:static}
  html.zm-site .zp-acc-media img{aspect-ratio:3/2}
}
@media (max-width:600px){
  html.zm-site .zp-cols-3,html.zm-site .zp-cols-2,html.zm-site .zp-cases{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-video{grid-template-columns:minmax(0,1fr);gap:18px}
  html.zm-site .zp-video-frame{width:min(100%,300px);margin:0 auto}
  html.zm-site .zp-video-x{padding:0 6px 8px}
}
/* procedure hero: portrait card, credentials, "learn more", intro band */
html.zm-site .zp-hero .zp-lead{margin:0;padding:0;border:0;font-size:1.2rem;font-weight:400;line-height:1.5;color:var(--ink-soft);max-width:30em}
html.zm-site .zp-hero .zp-h1{margin-bottom:22px}
html.zm-site .zp-hero .zp-lede{margin-top:20px}
html.zm-site .zp-hero .zp-actions{margin-top:32px}
html.zm-site .zp-cred{display:flex;flex-wrap:wrap;gap:6px 0;margin:22px 0 0;font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--ink-soft)}
html.zm-site .zp-cred span:not(:last-child)::after{content:"·";margin:0 10px;color:var(--champagne)}
html.zm-site .zp-portrait{justify-self:end;width:100%;max-width:520px}
html.zm-site .zp-portrait .square{border-radius:28px;background:radial-gradient(120% 90% at 70% 15%,#F4F5F6 0%,#DCDFE2 100%)}
html.zm-site .zp-portrait .proof{border-radius:16px}
html.zm-site .zp-hero-photo img{width:100%;height:auto;border-radius:28px}
html.zm-site .zp-more{margin-top:28px;max-width:36em;border-top:1px solid var(--mist)}
html.zm-site .zp-more summary{display:flex;align-items:center;gap:12px;padding:16px 0 0;cursor:pointer;list-style:none;font-size:.92rem;font-weight:500;color:var(--ink)}
html.zm-site .zp-more summary::-webkit-details-marker{display:none}
html.zm-site .zp-more summary:hover span:first-child{text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:4px}
html.zm-site .zp-more-ico{position:relative;flex:none;width:22px;height:22px;border:1px solid var(--steel);border-radius:999px}
html.zm-site .zp-more-ico::before,html.zm-site .zp-more-ico::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.5px;margin:-.75px 0 0 -4px;background:var(--ink);transition:transform .25s}
html.zm-site .zp-more-ico::after{transform:rotate(90deg)}
html.zm-site .zp-more[open] .zp-more-ico::after{transform:rotate(0)}
html.zm-site .zp-more-x{padding-top:14px;color:var(--ink-soft);font-size:.96rem;line-height:1.75}
html.zm-site .zp-band{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,5vw,80px);margin-top:clamp(48px,6vw,80px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--mist)}
html.zm-site .zp-band-l{margin:0}
html.zm-site .zp-band-x{color:var(--ink-soft);font-size:1.02rem;line-height:1.8;max-width:46em}
@media (max-width:820px){
  html.zm-site .zp-portrait{justify-self:stretch;max-width:none}
  html.zm-site .zp-band{grid-template-columns:minmax(0,1fr)}
}
/* ---------- Procedure sections, round 2 (city page redesign, Oct 2026) ---------- */
html.zm-site .zp--fill{padding-top:clamp(64px,8vw,120px);margin-bottom:clamp(64px,8vw,120px)}
html.zm-site .zp--dark{background:var(--night);color:#C9CCD1}
html.zm-site .zp--dark .zp-eyebrow{color:var(--champagne)}
html.zm-site .zp--dark .zp-title{color:#fff}
html.zm-site .zp-label{margin:0 0 18px;font:500 .8rem/1.4 var(--f-modern);letter-spacing:.08em;text-transform:uppercase;color:var(--champagne-deep)}
html.zm-site .zp-lead2{color:var(--ink-soft);font-size:1.05rem;line-height:1.8}
html.zm-site .zp-acc-grid{align-items:center}
/* hero: larger cut-out */
html.zm-site .zp-portrait--large .portrait{height:112%!important;top:6%!important}
/* video player (shared) */
html.zm-site .zp-player{position:relative;overflow:hidden;border-radius:22px;background:#000;aspect-ratio:9/16}
html.zm-site .zp-player video{display:block;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:72px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--night);cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.45);transition:transform .25s,background .25s}
html.zm-site .zp-play svg{margin-left:3px}
html.zm-site .zp-play:hover,html.zm-site .zp-play:focus-visible{transform:translate(-50%,-50%) scale(1.06);background:var(--champagne)}
html.zm-site .zp-player.is-playing .zp-play{display:none}
/* videos: dark, one big player + picker */
html.zm-site .zp-vf{padding-top:clamp(64px,8vw,120px);margin-bottom:clamp(64px,8vw,120px)}
html.zm-site .zp-vf-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
html.zm-site .zp-vf-player{box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
html.zm-site .zp-vf-head{margin:0 0 clamp(28px,3vw,40px);font-size:min(2.4rem,3.2vw);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:#fff}
html.zm-site .zp-vf-title{margin-bottom:clamp(28px,3vw,40px)}
html.zm-site .zp-vf-side>.zp-eyebrow+.zp-vf-list{margin-top:24px}
html.zm-site .zp-vf-list{display:grid;gap:12px}
html.zm-site .zp-vf-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:start;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;transition:border-color .2s,background .2s}
html.zm-site .zp-vf-item:hover{border-color:rgba(255,255,255,.3)}
html.zm-site .zp-vf-item.is-on{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.06)}
html.zm-site .zp-vf-pick{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:20px;background:transparent;cursor:pointer}
html.zm-site .zp-vf-pick:focus-visible{outline:2px solid var(--champagne);outline-offset:2px}
html.zm-site .zp-vf-thumb{display:block;overflow:hidden;border-radius:12px;aspect-ratio:9/16;opacity:.55;transition:opacity .2s;outline:1px solid transparent;outline-offset:3px}
html.zm-site .zp-vf-item.is-on .zp-vf-thumb{opacity:1;outline-color:var(--champagne)}
html.zm-site .zp-vf-thumb img{display:block;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-when{margin:2px 0 0;font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--champagne)}
html.zm-site .zp-vf-h{margin:8px 0;font-size:1.2rem;font-weight:400;line-height:1.3;letter-spacing:-0.01em;color:#fff}
html.zm-site .zp-vf-x{font-size:.94rem;line-height:1.7;color:#C9CCD1}
html.zm-site .zp-vf-item:not(.is-on) .zp-vf-x{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.zm-site .zp-vf-item:not(.is-on) .zp-vf-x p{display:inline}
/* videos: case cards */
html.zm-site .zp-vc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4vw,56px)}
html.zm-site .zp-vc-head .zp-actions{margin:0}
html.zm-site .zp-vc-intro{max-width:48em;margin:-12px 0 clamp(28px,3vw,40px)}
html.zm-site .zp-vc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
html.zm-site .zp-vc-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px);align-items:center;padding:clamp(14px,1.4vw,18px);border-radius:28px;background:var(--mist-soft)}
html.zm-site .zp-vc-card .zp-player{border-radius:18px}
html.zm-site .zp-vc-x{padding-right:clamp(4px,1vw,14px);font-size:.93rem;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zp-vc-n{margin:0;font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--champagne-deep)}
html.zm-site .zp-vc-t{margin:10px 0 12px;font-size:1.25rem;font-weight:400;letter-spacing:-0.012em;line-height:1.3;color:var(--ink)}
html.zm-site .zp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0;font-size:.85rem}
html.zm-site .zp-tags span{margin-right:4px;color:var(--ink-soft)}
html.zm-site .zp-tags b{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--mist);font-weight:500;color:var(--ink)}
/* numbered list + patient case */
html.zm-site .zp-cl-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,7vw,120px);align-items:start}
html.zm-site .zp-cl-head{position:sticky;top:110px}
html.zm-site .zp-cl-head .zp-title{margin-bottom:22px}
html.zm-site .zp-cl-list{list-style:none;margin:0;padding:0;counter-reset:zpcl;border-top:1px solid var(--mist)}
html.zm-site .zp-cl-list li{counter-increment:zpcl;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:baseline;margin:0;padding:20px 0;border-bottom:1px solid var(--mist);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:300;letter-spacing:-0.012em;line-height:1.4;color:var(--ink)}
html.zm-site .zp-cl-list li::before{content:counter(zpcl,decimal-leading-zero);font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--champagne-deep)}
html.zm-site .zp-cl-out{margin:28px 0 0 56px;font-size:.98rem;line-height:1.8;color:var(--ink-soft)}
html.zm-site .zp-case-band{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center;margin-top:clamp(48px,6vw,88px);padding:clamp(16px,1.6vw,22px);border-radius:24px;background:var(--mist-soft);color:inherit;text-decoration:none;transition:background .25s}
html.zm-site a.zp-case-band:hover{background:var(--mist)}
html.zm-site .zp-case-band-img img{display:block;width:100%;height:auto;border-radius:14px}
html.zm-site .zp-case-band-x{padding-right:56px;font-size:.95rem;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zp-go{position:absolute;right:clamp(16px,1.6vw,22px);bottom:clamp(16px,1.6vw,22px);display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--night);color:#fff;transition:background .25s,color .25s}
html.zm-site a.zp-case-band:hover .zp-go{background:var(--champagne);color:var(--night)}
/* tabs on a grey band */
html.zm-site .zp-tabs-sec{background:var(--mist-soft)}
html.zm-site .zp-tabs-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start;margin-bottom:clamp(36px,4vw,56px)}
html.zm-site .zp-tabs-intro{font-size:1rem;line-height:1.8;color:var(--ink-soft)}
html.zm-site .zp-tablist{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;padding:8px;border-radius:999px;background:#fff;margin-bottom:16px}
html.zm-site .zp-tab-h{margin:0;font:inherit}
html.zm-site .zp-tab{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;padding:16px 20px;border:0;border-radius:999px;background:transparent;font-family:inherit;font-size:1.05rem;font-weight:400;line-height:1.3;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
html.zm-site .zp-tablist{counter-reset:zptab}
html.zm-site .zp-tab{counter-increment:zptab}
html.zm-site .zp-tab::before{content:counter(zptab,decimal-leading-zero);font-size:.78rem;font-weight:500;color:var(--champagne-deep)}
html.zm-site .zp-tab:hover{background:var(--mist-soft)}
html.zm-site .zp-tab.is-on{background:var(--night);color:#fff}
html.zm-site .zp-tab.is-on::before{color:var(--champagne)}
html.zm-site .zp-tab:focus-visible{outline:2px solid var(--champagne);outline-offset:2px}
html.zm-site .zp-panes{display:grid;gap:16px}
html.zm-site .zp-pane{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start;padding:clamp(28px,4vw,56px);border-radius:28px;background:#fff}
html.zm-site .zp-tabs.is-ready .zp-pane:not(.is-on){display:none}
html.zm-site .zp-pane-x{font-size:1.08rem;line-height:1.85;color:var(--ink-soft)}
html.zm-site .zp-facts{margin:0;border-top:1px solid var(--mist)}
html.zm-site .zp-facts div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--mist)}
html.zm-site .zp-facts dt{padding-top:3px;font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--champagne-deep)}
html.zm-site .zp-facts dd{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink)}
/* wide photo + white card */
html.zm-site .zp-ft-photo{overflow:hidden;border-radius:28px}
html.zm-site .zp-ft-photo img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
html.zm-site .zp-ft-card{position:relative;margin:clamp(-160px,-10vw,-80px) clamp(16px,5vw,72px) 0;padding:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0;border-radius:28px;background:#fff}
html.zm-site .zp-ft-card--solo{margin-top:0;padding-left:0;padding-right:0}
html.zm-site .zp-ft-top{margin-bottom:clamp(28px,3vw,44px)}
html.zm-site .zp-ft-top .zp-title{margin:0 0 18px;max-width:none}
html.zm-site .zp-ft-top .zp-lead2{max-width:44em}
html.zm-site .zp-ft-pts{list-style:none;margin:0;padding:0;counter-reset:zpft;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px clamp(28px,4vw,56px)}
html.zm-site .zp-ft-pts li{counter-increment:zpft;margin:0;padding-top:20px;border-top:1px solid var(--mist);font-size:.95rem;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zp-ft-pts li::before{content:counter(zpft,decimal-leading-zero);display:block;margin-bottom:12px;font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--champagne-deep)}
html.zm-site .zp-ft-pts strong{display:block;margin-bottom:6px;font-size:1.08rem;font-weight:500;letter-spacing:-0.01em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-ft-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(28px,3vw,44px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--mist)}
html.zm-site .zp-ft-foot .zp-sub{margin:0}
html.zm-site .zp-ft-foot .zp-actions{margin:0;flex:none}
/* homepage FAQ used on procedure pages */
html.zm-site .zp-faq .procs-side .zp-intro{max-width:30em}
@media (max-width:900px){
  html.zm-site .zp-vf-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  html.zm-site .zp-vf-side{display:contents}
  html.zm-site .zp-vf .zp-eyebrow{order:0}
  html.zm-site .zp-vf-head,html.zm-site .zp-vf-title{order:1;font-size:clamp(1.7rem,6.6vw,2.2rem)}
  html.zm-site .zp-vf-player{order:2;width:100%;max-width:340px;margin-bottom:28px}
  html.zm-site .zp-vf-list{order:3;margin-top:0!important}
  html.zm-site .zp-vf .zp-actions{order:4}
  html.zm-site .zp-vc-grid,html.zm-site .zp-cl-grid,html.zm-site .zp-case-band,html.zm-site .zp-tabs-head,html.zm-site .zp-pane{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-vc-head{flex-direction:column;align-items:flex-start}
  html.zm-site .zp-cl-head{position:static}
  html.zm-site .zp-cl-out{margin-left:0}
  html.zm-site .zp-cl-list li{grid-template-columns:44px minmax(0,1fr);padding:16px 0}
  html.zm-site .zp-tablist{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);border-radius:24px}
  html.zm-site .zp-ft-foot{flex-direction:column;align-items:flex-start}
  html.zm-site .zp-ft-card{margin:-40px 10px 0}
  html.zm-site .zp-ft-card--solo{margin:0}
}
@media (max-width:600px){
  html.zm-site .zp-vc-card{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-vc-card .zp-player{max-width:300px}
  html.zm-site .zp-ft-pts{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zp-ft-photo img{aspect-ratio:4/3}
}
/* paragraph piece shown as a heading (keeps the old page's heading level, same look) */
html.zm-site .zm-txt-h{font-family:inherit;letter-spacing:normal;text-transform:none}
/* cards: white with a line, card links; checklist: several patient cases side by side */
html.zm-site .zp-cards-sec--outline .zp-card{background:#fff;border:1px solid var(--mist)}
html.zm-site .zp-card--link{display:flex;flex-direction:column}
html.zm-site .zp-card--link .zp-card-x{flex:1}
html.zm-site .zp-card-link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:22px;padding-bottom:3px;border-bottom:1px solid var(--champagne);font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none;transition:border-color .2s,gap .2s}
html.zm-site .zp-card-link:hover{border-color:var(--ink);gap:14px}
html.zm-site .zp-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(48px,6vw,88px)}
html.zm-site .zp-case-band--stack{grid-template-columns:minmax(0,1fr);align-items:start;align-content:start;margin-top:0}
html.zm-site .zp-case-band--stack .zp-case-band-x{padding:6px 60px 8px 8px}
@media (max-width:900px){html.zm-site .zp-case-grid{grid-template-columns:minmax(0,1fr)}}
/* long page titles (city pages with a full sentence as H1); bold text on dark panels */
html.zm-site .zp-h1--long{font-size:min(3.1rem,3.9vw);letter-spacing:-0.035em;line-height:1.08}
html.zm-site .zp-cta .zp-rich strong,html.zm-site .zp-cta .zp-rich b,html.zm-site .zp--dark .zp-rich strong,html.zm-site .zp--dark .zp-rich b{color:#fff}
@media (max-width:820px){html.zm-site .zp-h1--long{font-size:clamp(2rem,8vw,2.6rem)}}
/* hero: bar above the page title (old pages with a heading before the H1) */
/* old heading before the H1, shown as the eyebrow; its sentence sits under the subtitle */
html.zm-site .zp-hero .zp-top-h,html.zm-site .zp-eyebrow-h{font-weight:inherit;line-height:1.4}
/* heading above the numbered list */
html.zm-site .zp-cl-h{margin:0 0 14px;font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:400;letter-spacing:-0.01em;line-height:1.3;color:var(--ink)}
html.zm-site .zp-hero .zp-top-x{max-width:46ch;margin:16px 0 30px;font-size:1rem;line-height:1.65;color:var(--ink-soft)}
/* accordion item shown as steps: each paragraph's bold start becomes a small label */
html.zm-site .zp-steps p{position:relative;margin:0;padding:0 0 18px 22px;border-left:1px solid var(--mist)}
html.zm-site .zp-steps p:last-child{padding-bottom:0}
html.zm-site .zp-steps p>b:first-child,html.zm-site .zp-steps p>strong:first-child{display:block;margin-bottom:4px;font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--champagne-deep)}
/* a heading used as the closing line of the numbered list */
html.zm-site .zp-cl-out h5,html.zm-site .zp-cl-out h4{margin:0;font-size:1.02rem;font-weight:400;letter-spacing:0;line-height:1.75;color:var(--ink)}
/* simple text page (legal, thank you) */
html.zm-site .zp-article{padding:clamp(48px,7vw,104px) 0 clamp(72px,9vw,136px)}
html.zm-site .zp-article-x{max-width:46rem;margin:0 auto}
html.zm-site .zp-article .zp-article-h{font-size:min(3.4rem,4.6vw);margin-bottom:clamp(28px,3vw,40px)}
html.zm-site .zp-article-body{font-size:1.02rem;line-height:1.8;color:var(--ink-soft)}
html.zm-site .zp-article-body h2{margin:2em 0 .6em;font-size:1.5rem;font-weight:400;letter-spacing:-0.015em;line-height:1.3}
html.zm-site .zp-article-body h3{margin:1.8em 0 .5em;font-size:1.2rem}
html.zm-site .zp-article-body h2:first-child,html.zm-site .zp-article-body h3:first-child{margin-top:0}
html.zm-site .zp-article-body li{margin-bottom:.45em}
html.zm-site .zp-article-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){html.zm-site .zp-article .zp-article-h{font-size:clamp(2.2rem,9vw,2.8rem)}}

/* ---------- procedure blocks round 3: comparison, table, timeline, cases cards, links, two lists, video hero ---------- */
html.zm-site .zp-tag{margin:0 0 14px;font:500 .74rem/1.3 var(--f-modern);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}
html.zm-site .zp-note{margin-top:28px;padding-left:22px;border-left:2px solid var(--champagne)}
html.zm-site .zp-note-t,html.zm-site .zp-cmp-foot-x-t,html.zm-site .zp-cmp-note-t,html.zm-site .zp-two-foot-t{margin:0 0 8px;font-size:1.08rem;font-weight:500;letter-spacing:-0.01em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-note p,html.zm-site .zp-cmp-foot p,html.zm-site .zp-cmp-note p,html.zm-site .zp-two-foot p,html.zm-site .zp-cmp-after p{margin:0 0 .8em;line-height:1.75;color:var(--ink-soft)}
html.zm-site .zp-note p:last-child,html.zm-site .zp-cmp-foot p:last-child,html.zm-site .zp-cmp-note p:last-child,html.zm-site .zp-two-foot p:last-child,html.zm-site .zp-cmp-after p:last-child{margin-bottom:0}
html.zm-site .zp-cmp-note a,html.zm-site .zp-two-foot a,html.zm-site .zp-cmp-after a,html.zm-site .zp-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* comparison, two cards */
html.zm-site .zp-cmp{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px}
html.zm-site .zp-cmp-c{padding:clamp(28px,3vw,44px);border-radius:24px;background:var(--mist-soft)}
html.zm-site .zp-cmp-c--hl{background:#fff;border:1px solid var(--champagne);box-shadow:0 24px 50px -36px rgba(43,46,53,.35)}
html.zm-site .zp-cmp-c--hl .zp-tag{color:var(--champagne-deep)}
html.zm-site .zp-cmp-t{margin:0 0 12px;font-size:1.35rem;font-weight:400;letter-spacing:-0.015em;line-height:1.3;color:var(--ink)}
html.zm-site .zp-cmp-c .zp-rich p{margin:0 0 .8em;font-size:.98rem;line-height:1.75;color:var(--ink-soft)}
html.zm-site .zp-cmp-c .zp-rich p:last-child{margin:0}
html.zm-site .zp-cmp-vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:999px;background:var(--night);color:#fff;font-size:.82rem;font-weight:500;letter-spacing:.04em}
html.zm-site .zp-cmp-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-top:36px;padding-top:32px;border-top:1px solid var(--mist)}
html.zm-site .zp-cmp-foot>div{max-width:46em}
html.zm-site .zp-cmp-foot .zp-actions{margin:0}
/* comparison, table */
html.zm-site .zp-tbl-wrap{overflow-x:auto;border:1px solid var(--mist);border-radius:24px}
html.zm-site .zp-tbl{width:100%;min-width:760px;margin:0;border-collapse:collapse;font-size:.98rem}
html.zm-site .zp-tbl th,html.zm-site .zp-tbl td{padding:20px 24px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--mist);line-height:1.5}
html.zm-site .zp-tbl thead th{font:500 .74rem/1.3 var(--f-modern);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);background:var(--mist-soft)}
html.zm-site .zp-tbl thead td{background:var(--mist-soft)}
html.zm-site .zp-tbl tbody th{font-weight:500;color:var(--ink);white-space:nowrap;background:transparent}
html.zm-site .zp-tbl tbody td{color:var(--ink-soft);background:transparent}
html.zm-site .zp-tbl tbody tr:last-child>*{border-bottom:0}
html.zm-site .zp-tbl tr.is-hl>*{background:#FBF8F2}
html.zm-site .zp-tbl tr.is-hl th{box-shadow:inset 3px 0 0 var(--champagne)}
html.zm-site .zp-cmp-after{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:36px;align-items:start}
html.zm-site .zp-cmp-note{padding:26px 28px;border-radius:20px;background:var(--mist-soft)}
/* timeline: numbered cards on a grey band */
html.zm-site .zp-tl-band{padding:clamp(56px,7vw,104px) 0;background:var(--mist-soft)}
html.zm-site .zp-tl-h{margin:0 0 28px;font-size:1.2rem;font-weight:500;letter-spacing:-0.01em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-tl{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:16px}
html.zm-site .zp-tl li{counter-increment:s;margin:0;padding:28px 26px 30px;border-radius:22px;background:#fff}
html.zm-site .zp-tl li::before{content:counter(s,decimal-leading-zero);display:block;margin-bottom:26px;font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--champagne-deep)}
html.zm-site .zp-tl b{display:block;margin-bottom:8px;font-size:1.08rem;font-weight:500;color:var(--ink)}
html.zm-site .zp-tl span{display:block;font-size:.95rem;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zp-tl-after{margin-top:28px;max-width:52em;color:var(--ink-soft)}
html.zm-site .zp-tl-sec+.zp{padding-top:clamp(64px,8vw,120px)}
html.zm-site .zp-tl .zp-tl-t{margin:0 0 8px;font-size:1.08rem;font-weight:500;letter-spacing:-0.01em;line-height:1.35;color:var(--ink)}
html.zm-site .zp-tl-wph{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:16px;align-items:stretch}
html.zm-site .zp-tl-ph{position:relative;min-height:280px;border-radius:22px;overflow:hidden;background:var(--mist)}
html.zm-site .zp-tl-ph img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){html.zm-site .zp-tl-wph{grid-template-columns:1fr}html.zm-site .zp-tl-ph{min-height:0;aspect-ratio:16/9}html.zm-site .zp-tl-wph .zp-tl{grid-template-columns:repeat(var(--n),minmax(0,1fr))}}
@media (max-width:640px){html.zm-site .zp-tl-wph .zp-tl{grid-template-columns:1fr}}
/* before and after cards */
html.zm-site .zp-bac{display:grid;grid-template-columns:1fr 1fr;gap:20px}
html.zm-site .zp-bac-c{padding:clamp(16px,1.6vw,22px) clamp(16px,1.6vw,22px) clamp(24px,2.4vw,32px);border-radius:24px;background:var(--mist-soft)}
html.zm-site .zp-bac-img{margin:0 0 22px;overflow:hidden;border-radius:16px;background:#fff}
html.zm-site .zp-bac-img img{display:block;width:100%;height:auto}
html.zm-site .zp-bac-c .zp-card-t{margin:0 6px 10px}
html.zm-site .zp-bac-x{margin:0 6px 18px;line-height:1.75;color:var(--ink-soft)}
html.zm-site .zp-bac-x p{margin:0 0 .6em}
html.zm-site .zp-bac-x p:last-child{margin:0}
html.zm-site .zp-bac-dx{margin:0 6px;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px;border-top:1px solid var(--mist)}
html.zm-site .zp-bac-dx dt{font:500 .72rem/1.3 var(--f-modern);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
html.zm-site .zp-bac-dx dd{margin:0;color:var(--ink);font-weight:500;line-height:1.5}
html.zm-site .zp-disc{margin-top:28px;max-width:56em}
html.zm-site .zp-disc-t{margin:0 0 6px;font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--ink)}
html.zm-site .zp-disc p{margin:0 0 4px;font-size:.84rem;line-height:1.65;color:var(--ink-soft)}
html.zm-site .zp-disc strong,html.zm-site .zp-disc b{font-weight:500}
/* links list (hub pages) */
html.zm-site .zp-links{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,7vw,120px);align-items:start}
html.zm-site .zp-links-side{position:sticky;top:110px}
html.zm-site .zp-links-side .zp-body{margin-top:20px}
html.zm-site .zp-links-side .zp-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html.zm-site .zp-links-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--mist)}
html.zm-site .zp-links-list li{margin:0}
html.zm-site .zp-links-list a,html.zm-site .zp-links-nolink{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--mist);text-decoration:none;color:var(--ink);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:300;letter-spacing:-0.012em;line-height:1.35;transition:padding .2s}
html.zm-site .zp-links-list a:hover{padding-left:10px}
html.zm-site .zp-lk-go{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--mist);color:var(--ink);transition:background .2s,color .2s,border-color .2s}
html.zm-site .zp-links-list a:hover .zp-lk-go{background:var(--night);border-color:var(--night);color:#fff}
html.zm-site .zp-links-g{padding:34px 0 6px}
html.zm-site .zp-links-g:first-child{padding-top:10px}
html.zm-site .zp-links-gt{margin:0;font:500 .78rem/1.3 var(--f-modern);letter-spacing:.09em;text-transform:uppercase;color:var(--champagne-deep)}
html.zm-site .zp-links-gt a{color:inherit;text-decoration:none}
html.zm-site .zp-links-gt a:hover{text-decoration:underline}
/* two lists */
html.zm-site .zp-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
html.zm-site .zp-two-c{padding:clamp(26px,3vw,40px);border-radius:24px;background:var(--mist-soft)}
html.zm-site .zp-two-c--b{background:#fff;border:1px solid var(--mist)}
html.zm-site .zp-two-l{margin:0 0 14px;color:var(--ink)}
html.zm-site .zp-two-l b,html.zm-site .zp-two-l strong{font-weight:500}
html.zm-site .zp-two-c ul{list-style:none;margin:0;padding:0}
html.zm-site .zp-two-c li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;margin:0;padding:12px 0;border-top:1px solid var(--mist);line-height:1.6;color:var(--ink)}
html.zm-site .zp-two-c i{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--night);color:#fff}
html.zm-site .zp-two-c--b i{background:var(--mist);color:var(--ink)}
html.zm-site .zp-two-foot{margin-top:32px;max-width:52em}
/* hero with a video thumbnail */
html.zm-site .zp-hero-video{position:relative;display:block;overflow:hidden;border-radius:28px;background:#000}
html.zm-site .zp-hero-video img{display:block;width:100%;aspect-ratio:4/3.3;object-fit:cover;opacity:.9;transition:transform .5s,opacity .3s}
html.zm-site a.zp-hero-video:hover img{transform:scale(1.03);opacity:1}
html.zm-site .zp-vh-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--night);box-shadow:0 12px 30px -10px rgba(0,0,0,.45)}
html.zm-site .zp-vh-play svg{margin-left:3px}
html.zm-site .zp-vh-cap{position:absolute;left:18px;bottom:18px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.94);font-size:.85rem;font-weight:500;color:var(--ink)}
@media (max-width:900px){
 html.zm-site .zp-cmp,html.zm-site .zp-cmp-after,html.zm-site .zp-cmp-foot,html.zm-site .zp-bac,html.zm-site .zp-links,html.zm-site .zp-two{grid-template-columns:1fr}
 html.zm-site .zp-cmp-vs{position:static;transform:none;margin:-6px auto}
 html.zm-site .zp-links-side{position:static}
 html.zm-site .zp-tl{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){html.zm-site .zp-tl{grid-template-columns:1fr}html.zm-site .zp-bac-dx{grid-template-columns:1fr}}
/* ---------- round 2: CTA card, collage, accordion with a tall photo ---------- */
html.zm-site .zp-ctac{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:28px;overflow:hidden;background:var(--mist-soft)}
html.zm-site .zp-ctac-x{padding:clamp(36px,5vw,80px);align-self:center}
html.zm-site .zp-ctac .zp-ctac-t{margin:0;font-size:clamp(1.7rem,2.7vw,2.5rem);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:var(--ink);text-wrap:balance}
html.zm-site .zp-ctac-p{margin-top:18px;max-width:34em;font-size:1.02rem;line-height:1.75;color:var(--ink-soft)}
html.zm-site .zp-ctac-p p{margin:0 0 .6em}
html.zm-site .zp-ctac-p p:last-child{margin:0}
html.zm-site .zp-ctac-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:30px}
html.zm-site .zp-ctac-act{display:flex;flex-wrap:wrap;gap:12px}
html.zm-site .zp-ctac-row .cta-phone{margin:0}
html.zm-site .zp-ctac-row .cta-phone a{color:inherit;text-decoration:none}
html.zm-site .zp-ctac-img{position:relative;min-height:340px}
html.zm-site .zp-ctac-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-media--collage .zp-split-img,html.zm-site .zp-media--collage>div{display:block}
html.zm-site .zp-collage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:48px 1fr 1fr 48px;gap:14px;height:clamp(460px,44vw,620px)}
html.zm-site .zp-collage figure{margin:0;overflow:hidden;border-radius:20px;min-height:0}
html.zm-site .zp-collage img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
html.zm-site .zp-collage .zp-k1{grid-column:1;grid-row:1/4}
html.zm-site .zp-collage .zp-k2{grid-column:2;grid-row:2/3}
html.zm-site .zp-collage .zp-k3{grid-column:2;grid-row:3/5}
html.zm-site .zp-split:has(.zp-media--collage){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html.zm-site .zp-acc-grid--photo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
html.zm-site .zp-acc-photo{position:relative;min-height:520px;border-radius:28px;overflow:hidden}
html.zm-site .zp-acc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-acc-grid--photo .zp-acc-main{align-self:center}
html.zm-site .zp-acc-t a{color:inherit;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:4px}
@media (max-width:900px){
 html.zm-site .zp-ctac,html.zm-site .zp-split:has(.zp-media--collage),html.zm-site .zp-acc-grid--photo{grid-template-columns:minmax(0,1fr)}
 html.zm-site .zp-ctac-img{order:-1;min-height:220px}
 html.zm-site .zp-ctac-img img,html.zm-site .zp-acc-photo img{object-position:50% 22%} /* wide crop of portraits: keep the face (Oct 22) */
 html.zm-site .zp-collage{height:clamp(300px,90vw,440px);grid-template-rows:32px 1fr 1fr 32px;gap:10px}
 html.zm-site .zp-acc-photo{min-height:280px}
}

/* Oct 18 review: folded parts in text sections, feature outro, dark CTA side text + phone, cards top-aligned */
html.zm-site .zp-fold{margin-top:clamp(18px,2vw,26px)}
html.zm-site .zp-fold .zp-acc-x{padding-right:0}
html.zm-site .zp-ft-out{margin-top:clamp(20px,2.4vw,30px);color:var(--ink-soft)}
html.zm-site .zp-cta-sx{margin:0 0 20px;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.7}
html.zm-site .zp-cta-sx p{margin:0 0 .6em}
html.zm-site .zp-cta-phone{margin:14px 0 0;font-size:.85rem;color:rgba(255,255,255,.62)}
html.zm-site .zp-cta-phone a{color:#fff;text-decoration:none}
html.zm-site .zp-bac{align-items:start}
html.zm-site p.zp-title{font-size:min(2.9rem,3.6vw);font-weight:300;letter-spacing:-0.035em;line-height:1.1;color:var(--ink);margin-top:0}
@media (max-width:767px){html.zm-site p.zp-title{font-size:clamp(1.9rem,7.6vw,2.5rem)}}
html.zm-site .zp-cta p.zp-title{color:#fff}
html.zm-site .zp-cta-phone b,html.zm-site .zp-cta-phone a{color:#fff}
html.zm-site .zp-card-t a{color:inherit;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:3px}
/* timeline as expanding panels (Oct 19) */
html.zm-site .zp-xp .xp{background:#fff}
html.zm-site .zp-xp .xp:not(.is-on):hover{background:#F7F7F8}
html.zm-site .zp-xp .zp-xp-big{font-size:clamp(2.2rem,3.3vw,3.2rem);line-height:1.05;margin-bottom:18px}
html.zm-site .zp-xp .xp-full{width:clamp(260px,34vw,480px)}
html.zm-site .zp-xp .xp-text{font-size:1rem;line-height:1.6;color:var(--ink-soft)}
@media (max-width:900px){html.zm-site .zp-xp .zp-xp-big{font-size:1.9rem}html.zm-site .zp-xp .xp-full{width:auto}}
/* patient quotes (Oct 19, Raph pick 2C) */
html.zm-site .zp-quotes{padding:clamp(56px,7vw,100px) 0}
html.zm-site .zp-q-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
html.zm-site .zp-q-side .zp-head{margin-bottom:0}
html.zm-site .zp-q-side .zp-actions{margin-top:26px}
html.zm-site .zp-q{margin:0 0 26px;padding:0 0 26px;border-bottom:1px solid var(--mist)}
html.zm-site .zp-q-mark{display:block;height:.55em;font-size:4.2rem;line-height:1;color:var(--champagne);font-family:Georgia,serif}
html.zm-site .zp-q blockquote{margin:8px 0 14px;padding:0;border:0;font-size:1.15rem;line-height:1.6;font-weight:300;font-style:normal;color:var(--ink)}
html.zm-site .zp-q figcaption{font-size:.85rem;font-weight:600;color:var(--champagne-deep)}
html.zm-site .zp-q-note{margin:0;font-size:.8rem;color:var(--ink-soft)}
html.zm-site .zp-q-out{margin:14px 0 0;color:var(--ink-soft);font-size:.95rem}
@media (max-width:820px){html.zm-site .zp-q-grid{grid-template-columns:1fr}}
/* CTA card inside a 3-column grid: fill the row (Oct 19, Raph pick 5C) */
html.zm-site .zp-cols-3>.zp-card--cta:nth-child(3n+2){grid-column:span 2}
html.zm-site .zp-card-cta-x{margin-top:12px;color:rgba(255,255,255,.75);font-size:.95rem}
@media (max-width:600px){html.zm-site .zp-cols-3>.zp-card--cta:nth-child(3n+2){grid-column:auto}}
/* lead form (GHL embed) */
html.zm-site .zm-form{max-width:760px;margin:0 auto}
html.zm-site .zm-form iframe{display:block;width:100%}
html.zm-site .zm-form--card{padding:clamp(12px,2vw,24px);background:#fff;border-radius:24px;box-shadow:0 1px 0 var(--mist)}
/* hero styles: wide photo, three photos, text only (Oct 19, hero round 2) */
html.zm-site .zp-hband-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:start}
html.zm-site .zp-hband-top .zp-h1{margin-bottom:0}
html.zm-site .zp-hband-r .zp-lede{margin-top:0}
html.zm-site .zp-hband-r .zp-actions{margin-top:24px}
html.zm-site .zp-hband-img{margin:clamp(32px,4vw,56px) 0 0;border-radius:28px;overflow:hidden;background:var(--mist-soft)}
html.zm-site .zp-hband-img img{display:block;width:100%;height:auto;aspect-ratio:21/8;object-fit:cover}
html.zm-site .zp-hstrip{display:flex;flex-wrap:wrap;gap:10px 40px;margin:22px 0 0;padding-top:18px;border-top:1px solid var(--mist);font-size:.88rem;color:var(--ink-soft)}
html.zm-site .zp-hstrip b{color:var(--ink);font-weight:600}
html.zm-site .zp-hero--text .zp-hero-text{max-width:880px}
html.zm-site .zp-hero--text .zp-h1{font-size:clamp(2.6rem,5vw,4.4rem)}
html.zm-site .zp-hero--text .zp-lede{max-width:46em}
html.zm-site .zp-hchip{display:flex;align-items:center;gap:14px;margin-top:36px}
html.zm-site .zp-hchip img{width:64px;height:64px;border-radius:999px;object-fit:cover;object-position:center 15%}
html.zm-site .zp-hchip span{display:grid;font-size:.85rem;color:var(--ink-soft)}
html.zm-site .zp-hchip b{font-size:1rem;font-weight:500;color:var(--ink)}
html.zm-site .zp-hcol{position:relative;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:1/1.02}
html.zm-site .zp-hcol>div{border-radius:24px;overflow:hidden;background:var(--mist-soft)}
html.zm-site .zp-hcol img{display:block;width:100%;height:100%;object-fit:cover}
html.zm-site .zp-hcol-a{grid-row:1/3}
html.zm-site .zp-hproof{margin:0;padding:14px 18px;display:grid;gap:3px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:16px;font-size:.8rem;line-height:1.45;color:var(--ink-soft)}
html.zm-site .zp-hproof b{color:var(--ink);font-weight:600}
html.zm-site .zp-hproof--col{position:absolute;right:-10px;bottom:-18px;max-width:300px;box-shadow:0 12px 40px -18px rgba(0,0,0,.35)}
@media (max-width:900px){html.zm-site .zp-hband-top{grid-template-columns:minmax(0,1fr)}html.zm-site .zp-hband-img img{aspect-ratio:4/3}html.zm-site .zp-hcol{aspect-ratio:auto;grid-template-rows:200px 200px}html.zm-site .zp-hproof--col{position:static;grid-column:1/3;max-width:none;box-shadow:none}}
/* hero fixes (Oct 19): space between buttons and the wide photo; no double rule under the proof strip; CTA right after the hero = slim bar */
html.zm-site .zp-hband-top{margin-bottom:clamp(32px,4vw,56px)}
html.zm-site .elementor-widget-zm-pr-hero:has(.zp-hstrip)+.elementor-element .zp-split2{border-top:0;padding-top:0}
html.zm-site .zp-ctac-sec--bar{margin-top:calc(-1 * clamp(24px,4vw,64px))}
html.zm-site .zp-ctac--bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 48px;padding:clamp(26px,3vw,40px) clamp(26px,3.4vw,48px)}
html.zm-site .zp-ctac--bar .zp-ctac-x{padding:0}
html.zm-site .zp-ctac--bar .zp-ctac-t{font-size:clamp(1.3rem,1.9vw,1.7rem);max-width:30em}
html.zm-site .zp-ctac--bar .zp-ctac-p{margin-top:10px;font-size:.95rem}
html.zm-site .zp-ctac--bar .zp-ctac-row{margin-top:0;flex-direction:column;align-items:flex-start;gap:10px}
@media (max-width:900px){html.zm-site .zp-ctac--bar{grid-template-columns:minmax(0,1fr)}}
/* Sitemap (zm-sitemap): FAQ list look, two columns, compact city columns */
html.zm-site .zsm .zfi-list{columns:2;column-gap:clamp(24px,3vw,48px)}
html.zm-site .zsm .zfi-list li{break-inside:avoid}
html.zm-site .zsm .zfi-list a{padding:13px 0;font-size:.98rem}
html.zm-site .zsm .zfi-list li:first-child a{padding-top:13px}
html.zm-site .zsm-cities{display:grid;gap:clamp(28px,3.5vw,44px)}
html.zm-site .zsm-ct{margin:0 0 12px;font-size:1.1rem;font-weight:500;letter-spacing:-0.01em;color:var(--ink)}
html.zm-site .zsm-cols{list-style:none;margin:0;padding:0;columns:4;column-gap:24px}
html.zm-site .zsm-cols li{margin:0 0 8px;break-inside:avoid}
html.zm-site .zsm-cols a{font-size:.95rem;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
html.zm-site .zsm-cols a:hover{border-bottom-color:var(--champagne-deep)}
@media (max-width:900px){html.zm-site .zsm .zfi-list{columns:1}html.zm-site .zsm-cols{columns:2}}
/* Core page sections (zm-pr-gallery / testimonials / citations / awardlist / team / contact) */
html.zm-site .zc-head{max-width:780px;margin-bottom:clamp(28px,3.5vw,48px)}
html.zm-site .zc-head--img{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
html.zm-site .zc-aw-img{max-height:160px;width:auto;border-radius:12px}
html.zm-site .zc-gal a,html.zm-site .zc-gal span{display:block;overflow:hidden;border-radius:18px;background:var(--mist-soft)}
html.zm-site .zc-gal img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
html.zm-site .zc-gal a:hover img{transform:scale(1.03)}
html.zm-site .zc-gal--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
html.zm-site .zc-gal--grid>*{aspect-ratio:3/2}
html.zm-site .zc-gal--mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(140px,15vw,220px);gap:14px}
html.zm-site .zc-gal--mosaic>:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
html.zm-site .zc-gal--masonry{columns:5;column-gap:12px}
html.zm-site .zc-gal--masonry>*{break-inside:avoid;margin-bottom:12px;border:1px solid var(--mist);background:#fff}
html.zm-site .zc-gal--masonry img{height:auto}
html.zm-site .zc-view{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh;overflow:visible}
html.zm-site .zc-view::backdrop{background:rgba(20,22,28,.86)}
html.zm-site .zc-view img{display:block;max-width:92vw;max-height:88vh;border-radius:12px}
html.zm-site .zc-view-x{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}
html.zm-site .zc-qm{columns:3;column-gap:18px}
html.zm-site .zc-q,html.zm-site .zc-letter{break-inside:avoid;margin:0 0 18px;border-radius:22px}
html.zm-site .zc-q{background:var(--mist-soft);padding:28px 28px 26px}
html.zm-site .zc-letter{padding:14px;background:#fff;border:1px solid var(--mist)}
html.zm-site .zc-letter a{display:block}
html.zm-site .zc-letter img{display:block;width:100%;height:auto;border-radius:10px}
html.zm-site .zc-q-m{display:block;font-size:3rem;line-height:.6;color:var(--champagne-deep);margin-bottom:10px;font-family:Georgia,serif}
html.zm-site .zc-q blockquote{margin:0;font-size:1rem;line-height:1.6;color:var(--ink)}
html.zm-site [data-zc-hidden]{display:none}
html.zm-site .zc-more{margin-top:28px;text-align:center}
html.zm-site .zc-cit{list-style:none;margin:0;padding:0;max-width:980px}
html.zm-site .zc-cit li{padding:18px 0;border-bottom:1px solid var(--mist)}
html.zm-site .zc-ct{margin:0 0 6px;font-size:1.05rem;line-height:1.45;color:var(--ink);font-weight:500}
html.zm-site .zc-ct a{color:inherit;text-decoration:underline;text-decoration-color:var(--champagne-deep);text-underline-offset:3px}
html.zm-site .zc-cm{margin:0;font-size:.9rem;line-height:1.5;color:var(--slate,#666)}
html.zm-site .zc-cm span{font-style:italic}
html.zm-site .zc-yr{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;border-top:1px solid var(--ink);padding-top:14px;margin-bottom:24px}
html.zm-site .zc-yr-y{margin:0;font-size:1.6rem;font-weight:300;color:var(--champagne-deep)}
html.zm-site .zc-yr .zc-cit li:first-child{padding-top:4px}
html.zm-site .zc-aw{list-style:none;margin:0;padding:0;columns:2;column-gap:56px}
html.zm-site .zc-aw li{break-inside:avoid;display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--mist);line-height:1.45}
html.zm-site .zc-aw em{font-style:normal;white-space:nowrap;color:var(--champagne-deep);font-size:.9rem}
html.zm-site .zc-tm{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;padding:28px 0;border-top:1px solid var(--mist);align-items:start}
html.zm-site .zc-tm-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}
html.zm-site .zc-tm-n{margin:0 0 6px;font-size:1.4rem;font-weight:400;letter-spacing:-0.01em}
html.zm-site .zc-tm-b p{font-size:.98rem;line-height:1.65;margin:8px 0 0}
html.zm-site .zc-c2{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
html.zm-site .zc-info{background:var(--mist-soft);border-radius:24px;padding:32px;display:grid;gap:24px;position:sticky;top:120px}
html.zm-site .zc-info-l{margin:0 0 6px;font-size:inherit}
html.zm-site .zc-info-t p{margin:0;line-height:1.6}
html.zm-site .zc-info .zp-actions{margin:0}
html.zm-site .zc-dir{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--mist);padding-top:clamp(28px,3.5vw,44px)}
html.zm-site .zc-dir-t{font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:300;margin:0 0 20px;letter-spacing:-0.02em}
html.zm-site .zc-map-a,html.zm-site .zc-map{display:block;border-radius:22px;overflow:hidden;margin-bottom:28px}
html.zm-site .zc-map{width:100%;height:auto}
html.zm-site .zc-dir-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
html.zm-site .zc-dir-h{margin:0 0 6px;font-size:1rem;font-weight:500}
html.zm-site .zc-dir-g p{margin:0;font-size:.95rem;line-height:1.55}
@media (max-width:900px){
 html.zm-site .zc-gal--grid,html.zm-site .zc-gal--mosaic{grid-template-columns:1fr 1fr}
 html.zm-site .zc-gal--masonry{columns:2}
 html.zm-site .zc-qm{columns:1}
 html.zm-site .zc-aw{columns:1}
 html.zm-site .zc-c2,html.zm-site .zc-dir-g,html.zm-site .zc-yr,html.zm-site .zc-tm,html.zm-site .zc-head--img{grid-template-columns:1fr}
 html.zm-site .zc-info{position:static}
 html.zm-site .zc-tm-img{max-width:220px}
}
html.zm-site .zc-cx{margin:0;font-size:1rem;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
html.zm-site .zc-cx strong{font-weight:600}
html.zm-site .zc-cx em{color:var(--slate,#555)}
html.zm-site .zc-ca{color:var(--slate,#555)}
html.zm-site .zc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.zm-site .zc-gal--mosaic>:last-child:nth-child(5n+1){grid-column:1/-1;grid-row:span 2}
/* Page hero (zm-page-hero) for non-procedure pages */
html.zm-site .zph{padding:clamp(28px,4vw,56px) 0 clamp(40px,5vw,72px)}
html.zm-site .zph-bc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--ink-soft);margin:0 0 clamp(36px,5vw,64px)}
html.zm-site .zph-bc a{color:inherit;text-decoration:none}
html.zm-site .zph-bc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html.zm-site .zph-bc [aria-current]{color:var(--ink)}
html.zm-site .zph-bc-s{opacity:.45}
html.zm-site .zph-head .zp-eyebrow{margin-bottom:16px}
html.zm-site .zph-h1{margin:0;font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:300;letter-spacing:-0.045em;line-height:1.02;color:var(--ink);text-wrap:balance}
html.zm-site .zph-h1--long{font-size:clamp(1.9rem,3.1vw,2.75rem);line-height:1.14;letter-spacing:-0.03em}
html.zm-site .zph-lead{margin:20px 0 0;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:400;line-height:1.35;letter-spacing:-0.01em;color:var(--ink);max-width:32em}
html.zm-site .zph-intro{font-size:1.05rem;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zph-intro p{margin:0 0 .8em}
html.zm-site .zph-intro p:last-child{margin-bottom:0}
html.zm-site .zph .zp-actions{margin-top:26px}
html.zm-site .zph .btn{border-radius:999px}
html.zm-site .zph-tl{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--champagne);padding-bottom:4px}
html.zm-site .zph-tl svg{color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zph-tl:hover svg{transform:translateX(3px)}
/* split: title left, text + buttons right, bottoms aligned */
html.zm-site .zph--split .zph-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,6vw,110px);align-items:start}
html.zm-site .zph--split .zph-top:not(.zph-top--short) .zph-side,html.zm-site .zph--panel .zph-top:not(.zph-top--short) .zph-side{padding-top:40px}
html.zm-site .zph--split .zph-top--short,html.zm-site .zph--panel .zph-top--short{align-items:end}
html.zm-site .elementor-widget-zm-page-hero:has(.zph-tabs,.zph-facts)+.elementor-element .zp-split2{border-top:0;padding-top:0}
html.zm-site .zph--split .zph-top--short{grid-template-columns:minmax(0,1fr) auto}
html.zm-site .zph--split .zph-top--short .zp-actions{margin-top:0}
html.zm-site .zph--split .zph-h1,html.zm-site .zph--panel .zph-h1{max-width:18ch}
html.zm-site .zph--split .zph-h1--long{max-width:24ch}
/* centered */
html.zm-site .zph--center{text-align:center}
html.zm-site .zph--center .zph-bc{justify-content:center}
html.zm-site .zph--center .zph-h1{max-width:16ch;margin-inline:auto}
html.zm-site .zph--center .zph-h1--long{max-width:28ch}
html.zm-site .zph--center .zph-side{max-width:40em;margin:clamp(20px,2.4vw,28px) auto 0}
html.zm-site .zph--center .zp-actions{justify-content:center}
/* grey panel */
html.zm-site .zph--panel .zph-in{background:var(--mist-soft);border-radius:28px;padding:clamp(28px,4vw,56px) clamp(24px,4.5vw,64px) 0}
html.zm-site .zph--panel.zph--bare .zph-in{padding-bottom:clamp(32px,4vw,56px)}
html.zm-site .zph--panel .zph-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,88px);align-items:start}
html.zm-site .zph--panel .zph-top--short{grid-template-columns:minmax(0,1fr) auto}
html.zm-site .zph--panel .zph-top--short .zp-actions{margin-top:0}
html.zm-site .zph--panel .zph-bc{margin-bottom:clamp(28px,4vw,48px)}
/* section menu: a row of tabs on a hairline */
html.zm-site .zph-tabs{margin-top:clamp(40px,5vw,64px);border-bottom:1px solid var(--mist)}
html.zm-site .zph-tabs ul{display:flex;gap:clamp(20px,2.6vw,36px);list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
html.zm-site .zph-tabs ul::-webkit-scrollbar{display:none}
html.zm-site .zph-tabs li{flex:none}
html.zm-site .zph-tabs a{display:block;padding:0 0 16px;font-size:.93rem;color:var(--ink-soft);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .2s,border-color .2s}
html.zm-site .zph-tabs a:hover{color:var(--ink)}
html.zm-site .zph-tabs a[aria-current]{color:var(--ink);font-weight:500;border-bottom-color:var(--champagne-deep)}
html.zm-site .zph--center .zph-tabs{border-bottom:0}
html.zm-site .zph--center .zph-tabs ul{justify-content:center;flex-wrap:wrap;gap:8px}
html.zm-site .zph--center .zph-tabs a{padding:9px 18px;border:1px solid var(--mist);border-radius:999px;margin:0}
html.zm-site .zph--center .zph-tabs a:hover{border-color:var(--ink)}
html.zm-site .zph--center .zph-tabs a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
html.zm-site .zph--panel .zph-tabs{border-bottom:0;border-top:1px solid rgba(0,0,0,.08);padding-top:18px}
html.zm-site .zph--panel .zph-tabs a{padding-bottom:20px}
/* office details: one row */
html.zm-site .zph-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(40px,5vw,64px) 0 0;border-top:1px solid var(--mist)}
html.zm-site .zph-facts>div{padding:22px clamp(16px,2vw,28px) 0 0}
html.zm-site .zph-facts>div+div{padding-left:clamp(16px,2vw,28px);border-left:1px solid var(--mist)}
html.zm-site .zph-facts dt{margin:0 0 6px;font-size:.85rem;font-weight:500;color:var(--champagne-deep)}
html.zm-site .zph-facts dd{margin:0;font-size:1rem;line-height:1.55;color:var(--ink)}
html.zm-site .zph-facts dd p{margin:0}
html.zm-site .zph-facts a{color:inherit;text-decoration:none}
html.zm-site .zph--center .zph-facts{text-align:center}
html.zm-site .zph--panel .zph-facts{border-top-color:rgba(0,0,0,.08);padding-bottom:clamp(28px,3vw,40px)}
/* Numbered steps (zm-pr-steps) */
html.zm-site .zst{list-style:none;margin:0;padding:0;counter-reset:none}
html.zm-site .zst-i{display:grid;grid-template-columns:72px minmax(0,4fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);padding:clamp(28px,3.5vw,44px) 0;border-top:1px solid var(--mist)}
html.zm-site .zst-n{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:300;color:var(--champagne-deep);line-height:1}
html.zm-site .zst-t{margin:0;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:300;letter-spacing:-0.02em;line-height:1.15;color:var(--ink)}
html.zm-site .zst-b .zp-rich p{margin:0 0 .9em}
html.zm-site .zst-ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:18px}
html.zm-site .zst-ph a{display:block;border-radius:14px;overflow:hidden;background:var(--mist-soft)}
html.zm-site .zst-ph img{display:block;width:100%;height:auto}
@media (max-width:900px){
 html.zm-site .zph-top,html.zm-site .zph--split .zph-top--short,html.zm-site .zph--panel .zph-top--short,html.zm-site .zst-i{grid-template-columns:minmax(0,1fr)!important}
 html.zm-site .zph-top{gap:22px!important}
 html.zm-site .zph-top .zph-side{padding-top:0!important}
 html.zm-site .zst-i{gap:10px}
 html.zm-site .zph-h1--long{font-size:clamp(1.7rem,7vw,2.2rem)}
 html.zm-site .zph-facts{grid-template-columns:minmax(0,1fr)}
 html.zm-site .zph-facts>div+div{border-left:0;padding-left:0;border-top:1px solid var(--mist);margin-top:18px}
 html.zm-site .zph--center .zph-tabs ul{flex-wrap:nowrap;justify-content:flex-start}
 html.zm-site .zph--panel .zph-in{border-radius:20px}
}
/* ---------- blog (zm-post, zm-blog-index) ---------- */
html.zm-site .zb-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--ink-soft);margin:0 0 22px}
html.zm-site .zb-crumbs a{color:inherit;text-decoration:none}
html.zm-site .zb-crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html.zm-site .zb-crumbs span{color:var(--steel)}
html.zm-site .zb-crumbs a:last-child,html.zm-site .zb-crumbs a:last-child:hover{color:var(--champagne-deep);font-weight:500}
html.zm-site .zb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 clamp(28px,3vw,40px)}
html.zm-site .zb-h2{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:var(--ink)}
html.zm-site .zb-all{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap}
html.zm-site .zb-all svg{color:var(--champagne-deep);transition:transform .25s}
html.zm-site .zb-all:hover svg{transform:translateX(3px)}
/* article */
html.zm-site .zbp-hero{padding:clamp(36px,5vw,72px) 0 clamp(28px,3vw,44px)}
html.zm-site .zbp-hero .kicker{margin:0 0 14px}
html.zm-site .zbp-title{margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:300;letter-spacing:-0.035em;line-height:1.1;color:var(--ink);max-width:24em;text-wrap:balance}
html.zm-site .zbp-meta{margin:20px 0 0;font-size:.9rem;color:var(--ink-soft)}
html.zm-site .zbp-cover{margin:0 0 clamp(36px,4vw,56px)}
html.zm-site .zbp-cover img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:20px;background:var(--mist-soft)}
html.zm-site .zbp-sec{padding:0 0 clamp(64px,8vw,112px)}
html.zm-site .zbp-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,3fr);gap:clamp(36px,6vw,96px);border-top:1px solid var(--mist);padding-top:clamp(32px,4vw,52px)}
html.zm-site .zbp-content{max-width:46em;font-size:1.05rem;line-height:1.75;color:var(--ink)}
html.zm-site .zbp-content::after{content:"";display:table;clear:both}
html.zm-site .zbp-content>:first-child{margin-top:0}
html.zm-site .zbp-content p{margin:0 0 1.15em}
html.zm-site .zbp-content h1,html.zm-site .zbp-content h2{margin:1.9em 0 .6em;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:300;letter-spacing:-0.025em;line-height:1.2;color:var(--ink);scroll-margin-top:110px}
html.zm-site .zbp-content h3{margin:1.6em 0 .5em;font-size:1.3rem;font-weight:400;letter-spacing:-0.015em;line-height:1.3}
html.zm-site .zbp-content h4,html.zm-site .zbp-content h5,html.zm-site .zbp-content h6{margin:1.4em 0 .45em;font-size:1.08rem;font-weight:600;line-height:1.4}
html.zm-site .zbp-content :is(h1,h2,h3,h4,h5,h6) b,html.zm-site .zbp-content :is(h1,h2,h3,h4,h5,h6) strong{font-weight:inherit}
html.zm-site .zbp-content ul,html.zm-site .zbp-content ol{margin:0 0 1.15em;padding-left:1.25em}
html.zm-site .zbp-content li{margin:0 0 .6em;padding-left:.25em}
html.zm-site .zbp-content li::marker{color:var(--champagne-deep)}
html.zm-site .zbp-content a{color:inherit;font-weight:500;text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:3px}
html.zm-site .zbp-content a:hover{text-decoration-color:var(--ink)}
html.zm-site .zbp-content strong,html.zm-site .zbp-content b{font-weight:600}
html.zm-site .zbp-content hr{border:0;border-top:1px solid var(--mist);margin:2em 0}
html.zm-site .zbp-content img{max-width:100%;height:auto;border-radius:12px}
html.zm-site .zbp-content figure{margin:0 0 1.4em;max-width:100%}
html.zm-site .zbp-content figcaption,html.zm-site .zbp-content .wp-caption-text{font-size:.85rem;color:var(--ink-soft);margin-top:8px}
html.zm-site .zbp-content .alignleft{float:left;margin:.35em 1.6em 1em 0;max-width:50%}
html.zm-site .zbp-content .alignright{float:right;margin:.35em 0 1em 1.6em;max-width:50%}
html.zm-site .zbp-content .aligncenter{display:block;margin:1.4em auto}
html.zm-site .zbp-content .alignnone{margin:.4em 0 1.2em}
html.zm-site .zbp-content .aclear{clear:both}
html.zm-site .zbp-content .left{display:inline-block;vertical-align:top;margin:0 12px 12px 0}
html.zm-site .zbp-content table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:.95rem;line-height:1.5}
html.zm-site .zbp-content th,html.zm-site .zbp-content td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--mist)}
html.zm-site .zbp-content tr:first-child td,html.zm-site .zbp-content th{font-weight:600;background:var(--mist-soft)}
html.zm-site .zbp-content .cta-button{display:inline-flex;align-items:center;padding:13px 24px;border-radius:999px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-weight:500;font-size:.95rem;text-decoration:none;transition:background .2s,color .2s}
html.zm-site .zbp-content .cta-button:hover{background:transparent;color:var(--ink)}
html.zm-site .zbp-content .viewmore a{font-weight:500}
html.zm-site .zbp-side{align-self:start;position:sticky;top:120px}
html.zm-site .zbp-side .kicker{margin:0 0 12px}
html.zm-site .zbp-toc{list-style:none;margin:0 0 30px;padding:0;counter-reset:t;border-left:1px solid var(--mist)}
html.zm-site .zbp-toc li{margin:0}
html.zm-site .zbp-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:1px solid transparent;font-size:.9rem;line-height:1.4;color:var(--ink-soft);text-decoration:none}
html.zm-site .zbp-toc a:hover{color:var(--ink);border-left-color:var(--champagne)}
html.zm-site .zbp-ask{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px 24px;border-radius:20px;background:var(--mist-soft)}
html.zm-site .zbp-ask .btn{border-radius:999px}
html.zm-site .zbp-tel{font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none}
/* page as an article (zm-longread) */
html.zm-site .zbp-num{counter-reset:zbn}
html.zm-site .zbp-num h2:not(.zbp-skip){counter-increment:zbn}
html.zm-site .zbp-num h2:not(.zbp-skip)::before{content:counter(zbn,decimal-leading-zero);display:block;margin:0 0 12px;font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--champagne-deep)}
html.zm-site .zbp-glance{margin:0 0 2.4em;padding:clamp(24px,3vw,36px);border-radius:20px;background:var(--mist-soft)}
html.zm-site .zbp-content .zbp-glance-h{margin:0 0 18px;font-size:1.25rem;font-weight:400;letter-spacing:-0.015em;line-height:1.3}
html.zm-site .zbp-glance ul{list-style:none;margin:0;padding:0;counter-reset:zbg;columns:2;column-gap:36px}
html.zm-site .zbp-glance li{counter-increment:zbg;position:relative;break-inside:avoid;margin:0;padding:11px 0 11px 2.3em;border-top:1px solid var(--mist);font-size:.97rem;line-height:1.45}
html.zm-site .zbp-glance li::before{content:counter(zbg,decimal-leading-zero);position:absolute;left:0;top:13px;font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--champagne-deep)}
html.zm-site .zbp-content .zbp-glance a{font-weight:400;text-decoration:none}
html.zm-site .zbp-content .zbp-glance a:hover{text-decoration:underline;text-decoration-color:var(--champagne)}
html.zm-site .zbp-about{margin:2.6em 0 0;padding:clamp(26px,3.4vw,40px);border-radius:20px;background:var(--ink);color:rgba(255,255,255,.78)}
html.zm-site .zbp-about p{margin:0 0 1.2em;font-size:.98rem;line-height:1.7}
html.zm-site .zbp-content .zbp-about h2{margin:0;font-size:1rem;font-weight:500;letter-spacing:0;line-height:1}
html.zm-site .zbp-content .zbp-about h2 a{display:inline-block;padding:14px 26px;border-radius:999px;background:var(--champagne);color:var(--ink);text-decoration:none}
html.zm-site .zbp-content .zbp-about h2 a::first-letter{text-transform:uppercase}
html.zm-site .zbp-content .zbp-about h2 a:hover{background:#fff}
html.zm-site .zp-tabs-out{margin-top:36px;max-width:46em}
html.zm-site .zp-pane:not(:has(.zp-facts)){grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){html.zm-site .zp-pane:not(:has(.zp-facts)) .zp-pane-x{columns:2;column-gap:clamp(40px,5vw,72px)}html.zm-site .zp-pane-x li{break-inside:avoid}html.zm-site .zp-pane-x p:first-child{margin-top:0}}
html.zm-site .zm-cmp-note-card .zp-cmp-foot{grid-template-columns:minmax(0,1fr)}
html.zm-site .zm-cmp-note-card .zp-cmp-foot>div{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
html.zm-site .zm-cmp-note-card .zp-cmp-foot-x{padding:clamp(24px,3vw,36px);border-radius:22px;background:var(--mist-soft)}
html.zm-site .zm-cmp-note-card .zp-cmp-foot .zp-actions{justify-self:end;justify-content:flex-end;margin-top:-8px}
@media (max-width:900px){html.zm-site .zm-cmp-note-card .zp-cmp-foot>div{grid-template-columns:minmax(0,1fr)}html.zm-site .zm-cmp-note-card .zp-cmp-foot .zp-actions{justify-self:start}}
html.zm-site .zp-tabs-sec .zp-actions{margin-top:22px}
@media (max-width:700px){html.zm-site .zbp-glance ul{columns:1}}
html.zm-site .zbp-more{padding:clamp(56px,7vw,96px) 0;background:var(--mist-soft)}
/* cards + index */
html.zm-site .zbi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,3vw,44px) clamp(20px,2vw,28px)}
html.zm-site .zbc-a{display:block;color:var(--ink);text-decoration:none}
html.zm-site .zbc-img{display:block;overflow:hidden;border-radius:20px;background:var(--mist)}
html.zm-site .zbc-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}
html.zm-site .zbc-a:hover .zbc-img img{transform:scale(1.03)}
html.zm-site .zbc-meta{display:block;margin:16px 0 8px;font-size:.82rem;color:var(--champagne-deep)}
html.zm-site .zbc-h{margin:0;font-size:1.2rem;font-weight:400;line-height:1.35;letter-spacing:-0.01em;color:var(--ink);text-wrap:pretty}
html.zm-site .zbc-a:hover .zbc-h{text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:4px}
html.zm-site .zbi-hero{padding:clamp(40px,6vw,88px) 0 clamp(28px,3vw,44px)}
html.zm-site .zbi-hero .kicker{margin:0 0 14px}
html.zm-site .zbi-hero .kicker a{color:inherit;text-decoration:none}
html.zm-site .zbi-title{margin:0;font-size:clamp(2.4rem,4.6vw,4rem);font-weight:300;letter-spacing:-0.04em;line-height:1.05;color:var(--ink)}
html.zm-site .zbi-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(24px,3vw,36px)}
html.zm-site .zbi-cats a{padding:8px 16px;border:1px solid var(--mist);border-radius:999px;font-size:.88rem;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}
html.zm-site .zbi-cats a:hover{border-color:var(--ink)}
html.zm-site .zbi-cats a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
html.zm-site .zbi-list{padding:0 0 clamp(72px,9vw,120px)}
html.zm-site .zbi-feat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(28px,3vw,40px) 0 clamp(48px,6vw,80px);border-top:1px solid var(--mist);margin-bottom:clamp(8px,1vw,16px)}
html.zm-site .zbi-chip{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--mist-soft);font-size:.82rem;font-weight:500;color:var(--champagne-deep);text-decoration:none}
html.zm-site .zbi-feat .zbc-meta{margin:18px 0 12px}
html.zm-site .zbi-feat-h{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;letter-spacing:-0.03em;line-height:1.12;text-wrap:balance}
html.zm-site .zbi-feat-h a{color:var(--ink);text-decoration:none}
html.zm-site .zbi-feat-h a:hover{text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:5px}
html.zm-site .zbi-ex{margin:18px 0 28px;font-size:1rem;line-height:1.65;color:var(--ink-soft)}
html.zm-site .zbi-feat .btn{border-radius:999px}
html.zm-site .zbi-feat-img{display:block;overflow:hidden;border-radius:24px;background:var(--mist)}
html.zm-site .zbi-feat-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
html.zm-site .zbi-cta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,3vw,40px);border-radius:20px;background:var(--night);color:#fff}
html.zm-site .zbi-cta .kicker{color:var(--champagne)}
html.zm-site .zbi-cta-t{margin:0 0 26px;font-size:1.35rem;font-weight:300;line-height:1.35;letter-spacing:-0.01em}
html.zm-site .zbi-cta .btn{border-radius:999px;background:var(--champagne);border-color:var(--champagne);color:var(--night)}
html.zm-site .zbi-cta .btn:hover{background:transparent;color:#fff;border-color:#fff}
html.zm-site .zbi-grid .zbi-cta{grid-column:span 1}
html.zm-site .zbi-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:clamp(48px,6vw,72px)}
html.zm-site .zbi-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--mist);font-size:.92rem;color:var(--ink);text-decoration:none}
html.zm-site .zbi-pages a.page-numbers:hover{border-color:var(--ink)}
html.zm-site .zbi-pages .current{background:var(--ink);border-color:var(--ink);color:var(--paper)}
html.zm-site .zbi-pages .dots{border-color:transparent}
@media (max-width:1024px){
  html.zm-site .zbi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html.zm-site .zbp-grid{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zbp-side{position:static;border-top:1px solid var(--mist);padding-top:28px}
  html.zm-site .zbp-toc{display:none}
  html.zm-site .zbp-side .kicker{display:none}
}
@media (max-width:767px){
  html.zm-site .zbi-grid,html.zm-site .zbi-feat{grid-template-columns:minmax(0,1fr)}
  html.zm-site .zbi-feat-img{order:-1}
  html.zm-site .zb-head{flex-direction:column;align-items:flex-start}
  html.zm-site .zbp-content .alignleft,html.zm-site .zbp-content .alignright{float:none;margin:.4em 0 1.2em;max-width:100%}
  html.zm-site .zbp-content table{display:block;overflow-x:auto}
  html.zm-site .zbp-cover img{border-radius:14px}
}
/* Google reviews (zm-pr-reviews) */
html.zm-site .zrv-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(28px,3vw,44px)}
html.zm-site .zrv-top .zc-head{margin:0}
html.zm-site .zrv-sum{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
html.zm-site .zrv-score{margin:0;font-size:clamp(2.6rem,4vw,3.4rem);font-weight:300;letter-spacing:-0.04em;line-height:1;color:var(--ink)}
html.zm-site .zrv-count{margin:4px 0 0;font-size:.85rem;color:var(--ink-soft)}
html.zm-site .zrv-sum .btn{border-radius:999px;margin-left:8px}
html.zm-site .zrv-stars{display:inline-flex;gap:2px;color:var(--champagne)}
html.zm-site .zrv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
html.zm-site .zrv-card{display:flex;flex-direction:column;margin:0;padding:26px 26px 22px;border-radius:20px;background:var(--mist-soft)}
html.zm-site .zrv-card[data-zc-hidden]{display:none}
html.zm-site .zrv-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
html.zm-site .zrv-meta time{font-size:.8rem;color:var(--ink-soft)}
html.zm-site .zrv-text{margin:0;font-size:.97rem;line-height:1.65;color:var(--ink)}
html.zm-site .zrv-card--long .zrv-text{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
html.zm-site .zrv-card--long.is-open .zrv-text{display:block;overflow:visible}
html.zm-site .zrv-toggle{align-self:flex-start;margin-top:10px;padding:0;border:0;background:none;font:inherit;font-size:.88rem;font-weight:500;color:var(--champagne-deep);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
html.zm-site .zrv-who{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--mist);font-size:.88rem;font-weight:500;color:var(--ink)}
html.zm-site .zrv-av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.78rem}
html.zm-site .zrv-src{margin-left:auto;font-size:.78rem;font-weight:400;color:var(--ink-soft)}
html.zm-site .zrv-note{margin:28px 0 0;max-width:60em;font-size:.8rem;line-height:1.6;color:var(--ink-soft)}
@media (max-width:1024px){html.zm-site .zrv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){html.zm-site .zrv-grid{grid-template-columns:minmax(0,1fr)}html.zm-site .zrv-top{align-items:flex-start}}
/* blog templates: no white strip above the footer */
html.zm-site .elementor-location-single .elementor-widget-zm-post,html.zm-site .elementor-location-archive .elementor-widget-zm-blog-index{margin-bottom:0}
/* one-column pages: step headings and lists (thank-you pages) */
html.zm-site .zp-article-body h4{margin:1.9em 0 .4em;font-size:1.05rem;font-weight:600;line-height:1.45;letter-spacing:0;color:var(--ink)}
html.zm-site .zp-article-body strong,html.zm-site .zp-article-body b{color:var(--ink);font-weight:600}
html.zm-site .zp-article-body ol,html.zm-site .zp-article-body ul{padding-left:1.3em}
html.zm-site .zp-article-body li::marker{color:var(--champagne-deep)}
/* ad pages (Canvas): top bar + footer */
html.zm-site .zfb{padding:18px 0;border-bottom:1px solid var(--mist);background:var(--paper)}
html.zm-site .zfb-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
html.zm-site .zfb-r{display:flex;align-items:center;gap:18px}
html.zm-site .zfb-tel{font-size:.95rem;font-weight:500;color:var(--ink);text-decoration:none}
html.zm-site .zfb .btn{border-radius:999px}
html.zm-site .zff{padding:clamp(40px,5vw,64px) 0 32px;background:var(--mist-soft);color:var(--ink-soft);font-size:.88rem}
html.zm-site .zff-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--mist)}
html.zm-site .zff-bot{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px}
html.zm-site .zff-bot p{margin:0}
html.zm-site .zff-legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px .3em}
html.zm-site .zff-legal .zff-copy{margin:0;font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:0;line-height:inherit;color:inherit}
html.zm-site .zff-legal .zff-copy::after{content:'·';margin-left:.3em}
html.zm-site .zff a{color:inherit;text-decoration:none}
html.zm-site .zff a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
html.zm-site .zp-q-who{margin:0;font:inherit;letter-spacing:inherit}
@media (max-width:767px){html.zm-site .zfb .brand-full{height:30px}html.zm-site .zfb-tel{display:none}}
html.zm-site .zfb .btn{white-space:nowrap}
@media (max-width:420px){html.zm-site .zfb-in{gap:12px}html.zm-site .zfb .brand-full{height:24px;width:auto}html.zm-site .zfb .btn{padding:10px 16px;font-size:.85rem}}
html.zm-site .zm-outro-center .zp-outro{text-align:center;margin:36px auto 0}
html.zm-site .zm-outro-center .zp-outro + .zp-cards-actions{margin-top:16px}


/* Cards: buttons under the grid (ad pages) */
html.zm-site .zp-cards-actions{margin-top:36px;justify-content:center}
html.zm-site .zp-rich .zp-sub-h{margin:1.6em 0 .4em;font-family:inherit;font-size:1.05rem;font-weight:600;letter-spacing:0;line-height:1.4;color:var(--ink)}
@media (min-width:1001px){html.zm-site .zp-cases:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Ad pages: location section with a large map (widget class zm-map) */
html.zm-site .zm-map .zp-split{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:stretch}
html.zm-site .zm-map .zp-split-media,html.zm-site .zm-map .zp-split-img{height:100%}
html.zm-site .zm-map .zp-split-img img{height:100%;min-height:460px;object-fit:cover;object-position:center}
@media (max-width:820px){html.zm-site .zm-map .zp-split{grid-template-columns:minmax(0,1fr)}html.zm-site .zm-map .zp-split-img img{min-height:320px}}
html.zm-site .zm-quote-split .zp-split{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
html.zm-site .zm-quote-split .zp-split-img img{aspect-ratio:4/5;object-fit:cover;object-position:center top}
html.zm-site .zm-quote-split .zp-title{font-size:clamp(1.7rem,2.6vw,2.45rem);line-height:1.18;max-width:20em}
@media (max-width:820px){html.zm-site .zm-quote-split .zp-split{grid-template-columns:minmax(0,1fr)}html.zm-site .zm-quote-split .zp-split-media{max-width:340px}}
/* Cards: a lone last card fills its row (widget class zm-fill-last) */
@media (min-width:1001px){html.zm-site .zm-fill-last .zp-cols-3>.zp-card:last-child:nth-child(3n+1){grid-column:1/-1}}
@media (min-width:601px) and (max-width:1000px){html.zm-site .zm-fill-last .zp-cols-3>.zp-card:last-child:nth-child(2n+1){grid-column:1/-1}}
/* Small print kept as a heading (old page level) inside rich text */
html.zm-site .zp-rich .zp-fine-h{margin:0 0 .8em;font-family:inherit;font-size:.82rem;font-weight:400;letter-spacing:0;line-height:1.6;color:inherit;opacity:.85}
/* Text under a card grid / accordion list */
html.zm-site .zp-outro{margin-top:28px;max-width:760px;color:var(--ink-soft)}
html.zm-site .zp-cards-sec .zp-outro{margin-top:36px}
/* Videos: short vertical clips in a row of three, no cards (widget class zm-reels) */
html.zm-site .zm-reels .zp-videos{grid-template-columns:repeat(3,minmax(0,1fr))}
html.zm-site .zm-reels .zp-video{grid-template-columns:minmax(0,1fr);padding:0;background:none}
html.zm-site .zm-reels .zp-video-x:not(:has(.zp-rich *)){display:none}
@media (max-width:600px){html.zm-site .zm-reels .zp-videos{grid-template-columns:minmax(0,1fr)}html.zm-site .zm-reels .zp-video-frame{width:min(100%,320px);margin:0 auto}}
/* A live heading that holds plain information (address, hours, phone): kept as a heading, set like body text */
html.zm-site .zp-rich .zp-plain-h{margin:0 0 1em;font-family:inherit;font-size:1rem;font-weight:400;letter-spacing:0;line-height:1.7;color:var(--ink-soft)}
html.zm-site .zp-rich .zp-plain-h b,html.zm-site .zp-rich .zp-plain-h a{color:var(--ink)}

/* Boxed sections are columns: never let their inner wrap. Column + wrap made Chrome cut a child's height on phones, so the next section overlapped it (home results grid, Oct 22). */
html.zm-site .e-con-boxed>.e-con-inner{flex-wrap:nowrap}

/* Oct 22 mobile fixes */
/* Elementor resets every figure inside a widget to margin:0 with a stronger selector; give our figures their spacing back */
html.zm-site .elementor .elementor-widget figure.zc-q,html.zm-site .elementor .elementor-widget figure.zc-letter{margin:0 0 18px}
html.zm-site .elementor .elementor-widget figure.zbp-cover{margin:0 0 clamp(36px,4vw,56px)}
html.zm-site .elementor .elementor-widget figure.zp-q{margin:0 0 26px}
html.zm-site .elementor .elementor-widget figure.zp-hband-img{margin:clamp(32px,4vw,56px) 0 0}
html.zm-site .elementor .elementor-widget figure.zp-bac-img{margin:0 0 22px}
html.zm-site .elementor .elementor-widget .zbp-content figure{margin:0 0 1.4em}
/* phone menu: the panel takes focus on open, no ring */
html.zm-site .ov:focus{outline:none}
/* blog category pills: one swipeable row on phones */
html.zm-site .zbi-cats-w{position:relative;margin-top:clamp(24px,3vw,36px)}
html.zm-site .zbi-cats-w>.zbi-cats{margin-top:0}
html.zm-site .zbi-cats-next{display:none}
@media (max-width:820px){
 html.zm-site .zbi-cats-w{margin-right:calc(-1 * clamp(16px,4vw,48px))}
 html.zm-site .zbi-cats-w>.zbi-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 64px 2px 0}
 html.zm-site .zbi-cats-w>.zbi-cats::-webkit-scrollbar{display:none}
 html.zm-site .zbi-cats-w>.zbi-cats a{flex:none;white-space:nowrap}
 html.zm-site .zbi-cats-w.is-scroll:not(.is-end)>.zbi-cats{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 96px),transparent calc(100% - 20px));mask-image:linear-gradient(90deg,#000 calc(100% - 96px),transparent calc(100% - 20px))}
 html.zm-site .zbi-cats-w.is-scroll:not(.is-end) .zbi-cats-next{display:grid;place-items:center;position:absolute;right:clamp(16px,4vw,48px);top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:1px solid var(--mist);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 2px 10px rgba(30,32,38,.08)}
 html.zm-site .zbi-cats-next svg{width:18px;height:18px}
}

/* Photo + quote card (split media "photo" with a caption): one card, photo on top, quote below (consultations, Oct 22) */
html.zm-site .zp-media--photo:has(.zp-split-cap){border-radius:24px;overflow:hidden;background:var(--mist-soft);align-self:center}
html.zm-site .zp-media--photo:has(.zp-split-cap) .zp-split-img img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:50% 0%;border-radius:0}
html.zm-site .zp-media--photo .zp-split-cap{padding:clamp(26px,3vw,40px)}
html.zm-site .zp-media--photo .zp-split-cap p{margin:0}
html.zm-site .zp-media--photo .zp-split-cap p:first-child::before{content:"\201C";display:block;font-family:Georgia,serif;font-size:3rem;line-height:.6;margin:8px 0 12px;color:var(--champagne-deep)}
html.zm-site .zp-media--photo .zp-split-cap p:first-child{font-size:clamp(1.08rem,1.35vw,1.25rem);font-weight:300;line-height:1.6;color:var(--ink)}
html.zm-site .zp-media--photo .zp-split-cap p+p{margin-top:18px;padding-top:16px;border-top:1px solid var(--mist);font-size:.9rem;color:var(--ink-soft)}
html.zm-site .zp-media--photo .zp-split-cap strong{font-weight:500;color:var(--ink)}

/* blog tables on phones: swipe hint + fade on the cut edge */
html.zm-site .zbp-tw-hint{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.82rem;color:var(--ink-soft)}
html.zm-site .zbp-tw-hint[hidden]{display:none}
html.zm-site .zbp-tw-hint svg{width:16px;height:16px}
@media (max-width:820px){
 html.zm-site .zbp-content table.is-scroll:not(.is-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
}

/* Track record title had no phone size (3.2vw = 12px on a phone) */
@media (max-width:820px){html.zm-site .t2-title{font-size:clamp(2rem,8vw,2.8rem)}}

/* CTA card photo on phones: taller so the portrait isn't cut in half (Raph, Oct 22) */
@media (max-width:900px){html.zm-site .zp-ctac-img{min-height:clamp(340px,100vw,460px)}html.zm-site .zp-ctac-img img{object-position:50% 12%}}
/* portrait in the consultation CTA card: keep Dr. Z's whole head in frame at every width (Oct 29) */
html.zm-site .zp-ctac--portrait{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
html.zm-site .zp-ctac--portrait .zp-ctac-img{min-height:460px}
html.zm-site .zp-ctac--portrait .zp-ctac-img img{object-position:50% 4%}
@media (max-width:900px){html.zm-site .zp-ctac--portrait{grid-template-columns:minmax(0,1fr)}html.zm-site .zp-ctac--portrait .zp-ctac-img{min-height:clamp(340px,100vw,460px)}html.zm-site .zp-ctac--portrait .zp-ctac-img img{object-position:50% 8%}}
html.zm-site .ft-mail{margin:6px 0 0;font-size:.92rem;color:var(--ink-soft)}
html.zm-site .ft-mail a{color:inherit;text-decoration:none}
html.zm-site .ft-mail a:hover{text-decoration:underline;text-underline-offset:3px}
/* banner-shaped image in a split block: text on top, image across the full width (Oct 29) */
html.zm-site .zp-split--wide{grid-template-columns:minmax(0,1fr);gap:clamp(24px,3vw,40px)}
html.zm-site .zp-split--wide .zp-split-media{order:2}
html.zm-site .zp-split--wide .zp-split-img img{width:100%;height:auto}
