/*
  everestrank-lp-template — shared design system for Balanced Aesthetics Google Ads landing pages.
  Extracted verbatim from the approved Phase 3 master template (HydraFacial reference).
  Enqueued by the plugin ONLY on pages assigned the "Balanced Landing Page (Ads)" template.
  Brand rules: taupe-fill decorative only · taupe-text readable · NO GOLD · Cormorant + Arial + Ms Madi.
*/
:root{
  --taupe-fill:#837164; --taupe-text:#6B5A4E;
  --ink:#1D1D1D; --slate:#4A4A5A;
  --line:#E2DDD6; --line-hover:#bab4aa;
  --cream:#F3F2EE; --cream-dark:#D1CAC2; --white:#ffffff;
  --green:#4D5D57; --sage:#829586; --muted:#6f675f;
  /* Matched to the approved site system (.bwl on /peels/): DM Sans throughout,
     light weight, generous line-height. Cormorant retained as an accent only. */
  --f-head:'DM Sans',Arial,Helvetica,sans-serif;
  --f-body:'DM Sans',Arial,Helvetica,sans-serif;
  --f-accent:'Cormorant Garamond',Georgia,serif;
  --f-script:'Ms Madi',cursive;
  --pill:99px; --maxw:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.er-lp{margin:0;font-family:var(--f-body);color:var(--ink);background:var(--white);font-size:18.5px;line-height:1.8;font-weight:300;-webkit-font-smoothing:antialiased}
.er-lp h1,.er-lp h2,.er-lp h3{font-family:var(--f-head);font-weight:300;letter-spacing:-.02em;line-height:1.25;color:var(--ink);margin:0}
.er-lp h3{font-weight:400;letter-spacing:-.01em}
/* Taupe h2 matches the site's section headings. */
.er-lp h2{color:var(--taupe-fill)}
/* Cormorant italic survives as the pull-quote accent it is on the live site. */
.er-lp .em{font-family:var(--f-accent)}
.er-lp .em{font-style:italic;color:var(--taupe-text)}
.er-lp .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.er-lp a{color:inherit}
.er-lp .script{font-family:var(--f-script);color:var(--sage);font-size:26px;line-height:1}

.er-lp .eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--taupe-text);padding:6px 14px;border:1px solid var(--line);border-radius:var(--pill);background:transparent}
.er-lp .eyebrow.on-dark{color:#fff;border-color:rgba(255,255,255,.55)}

.er-lp .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:var(--pill);padding:14px 36px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease}
.er-lp .btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.er-lp .btn-primary:hover{transform:translateY(-2px)}
.er-lp .btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.er-lp .btn-secondary:hover{background:var(--ink);color:#fff}
.er-lp .btn-light{background:#fff;color:var(--ink);border-color:#fff}
.er-lp .btn-light:hover{transform:translateY(-2px)}
.er-lp .btn-sm{padding:11px 24px;font-size:12px}
.er-lp .btn:focus-visible{outline:3px solid var(--sage);outline-offset:2px}

.er-lp header.site{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.er-lp header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.er-lp .brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.er-lp .brand img{width:44px;height:44px;display:block}
.er-lp .brand .name{font-family:var(--f-head);font-size:21px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.05}
.er-lp .brand .name small{display:block;font-family:var(--f-body);font-size:9px;letter-spacing:.16em;color:var(--taupe-text);font-weight:700;margin-top:3px}

.er-lp .hero{background:linear-gradient(180deg,var(--cream) 0%,var(--white) 100%);padding:60px 0 54px}
.er-lp .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.er-lp .hero h1{font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.15;margin:20px 0 0}
.er-lp .hero h1 .u{position:relative;white-space:nowrap}
.er-lp .hero h1 .u svg{position:absolute;left:0;bottom:-.12em;width:100%;height:.3em;overflow:visible}
.er-lp .hero h1 .u path{fill:none;stroke:var(--sage);stroke-width:5;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;animation:er-draw 1.1s .35s ease forwards}
@keyframes er-draw{to{stroke-dashoffset:0}}
.er-lp .lead-p{font-size:19px;color:var(--taupe-text);line-height:1.75;max-width:570px;margin:24px 0 28px}
.er-lp .hero-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.er-lp .rating{display:inline-flex;align-items:center;gap:9px;margin-top:24px;font-size:14px;color:var(--slate);text-decoration:none}
.er-lp .rating:hover{color:var(--ink)}
.er-lp .stars{color:var(--taupe-fill);letter-spacing:2px}

.er-lp .lead{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 30px 60px -42px rgba(29,29,29,.32)}
.er-lp .lead h3{font-size:22px;margin-bottom:4px}
.er-lp .lead .lead-sub{font-size:14px;color:var(--taupe-text);margin-bottom:18px}
.er-lp .field{margin-bottom:12px}
.er-lp .field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.02em;margin-bottom:6px;color:var(--slate)}
.er-lp .field input,.er-lp .field select{width:100%;font-family:var(--f-body);font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink)}
.er-lp .field input:focus,.er-lp .field select:focus{outline:none;border-color:var(--taupe-fill);background:#fff;box-shadow:0 0 0 3px rgba(131,113,100,.14)}
.er-lp .consent{display:flex;gap:9px;align-items:flex-start;font-size:11.5px;color:var(--muted);margin:8px 0 16px;line-height:1.45}
.er-lp .consent input{margin-top:2px;flex:none}
.er-lp .lead .btn{width:100%}
.er-lp .reassure{text-align:center;font-size:11.5px;color:var(--taupe-text);margin-top:12px}

.er-lp .trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.er-lp .trust .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:18px 24px}
.er-lp .trust .item{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--slate)}
.er-lp .trust .item .chk{color:var(--sage);font-weight:700}
.er-lp .trust .item b{font-family:var(--f-head);font-size:20px;font-weight:600;color:var(--ink)}

.er-lp .section{padding:clamp(58px,9vw,104px) 0}
.er-lp .section.alt{background:var(--cream)}
.er-lp .sec-head{max-width:780px;margin:0 auto 54px;text-align:center}
.er-lp .sec-head .script{display:block;margin-bottom:6px}
.er-lp .sec-head h2{font-size:clamp(33px,4.2vw,50px);margin-top:14px}
.er-lp .sec-head p{color:var(--slate);margin-top:12px;font-size:15px;line-height:1.7}

.er-lp .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* A one- or two-card set (e.g. a single named clinician) centres instead of
   sitting stranded in the left column of a four-up grid. */
.er-lp .cards.cards-1{grid-template-columns:minmax(0,420px);justify-content:center}
.er-lp .cards.cards-2{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}
/* Same centring, applied automatically. The .cards-N class is only emitted by
   the injectors block, so every other short set (boosters, extras, memberships,
   location) was sitting left-aligned under a centred heading in a four-column
   grid. Matching on child count covers them all. */
@media (min-width:921px){
  .er-lp .cards:has(> :first-child:nth-last-child(1)){grid-template-columns:minmax(0,420px);justify-content:center}
  .er-lp .cards:has(> :first-child:nth-last-child(2)){grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}
  .er-lp .cards:has(> :first-child:nth-last-child(3)){grid-template-columns:repeat(3,minmax(0,334px));justify-content:center}
}
.er-lp .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:36px 32px}
.er-lp .card h3{font-size:22px;margin:0 0 12px}
.er-lp .card .rule{width:30px;height:2px;background:var(--sage);margin:0 0 14px}
.er-lp .card p{font-size:14.5px;color:var(--slate);line-height:1.7;margin:0}

.er-lp .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.er-lp .step{padding-top:18px;border-top:2px solid var(--sage)}
.er-lp .step .n{font-family:var(--f-head);font-style:italic;font-size:15px;color:var(--taupe-text);letter-spacing:.03em}
.er-lp .step h3{font-size:22px;margin:8px 0}
.er-lp .step p{font-size:14.5px;color:var(--slate);line-height:1.7;margin:0}

.er-lp .results{text-align:center}
.er-lp .results img{max-width:560px;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:8px auto 0;display:block}
.er-lp .fineprint{font-size:12px;color:var(--muted);margin-top:14px}

.er-lp .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.er-lp .quote{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.er-lp .quote .stars{font-size:15px;display:block;margin-bottom:12px}
.er-lp .quote p{font-family:var(--f-head);font-size:20px;font-style:italic;line-height:1.34;color:var(--ink);margin:0 0 14px}
.er-lp .quote .who{font-size:13px;color:var(--slate);font-weight:700}
.er-lp .sample-tag{display:inline-block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-text);border:1px dashed var(--cream-dark);border-radius:var(--pill);padding:3px 9px;margin-top:10px}

.er-lp .provider-card{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:start;max-width:1000px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:42px}
.er-lp .provider-card .avatar{width:104px;height:104px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-size:38px;font-weight:600;color:var(--taupe-text);flex:none}
.er-lp .provider-lead{font-size:17.5px;color:var(--slate);line-height:1.75;margin:0 0 18px;max-width:62ch}
.er-lp .cred-row{display:flex;flex-wrap:wrap;gap:10px 22px}
.er-lp .cred{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--slate);font-weight:700}
.er-lp .cred .chk{color:var(--sage)}
.er-lp .license{font-size:12px;color:var(--muted);margin-top:12px}
.er-lp .license .blank{border-bottom:2px dashed var(--cream-dark);padding:0 16px}

.er-lp .price-card{max-width:780px;margin:0 auto 18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.er-lp .price-label{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--taupe-text)}
.er-lp .price-figure{font-family:var(--f-head);font-size:34px;font-weight:600;color:var(--ink);margin:8px 0 10px}
.er-lp .price-figure .blank{border-bottom:2px dashed var(--cream-dark);padding:0 18px}
.er-lp .price-note{font-size:15.5px;color:var(--slate);line-height:1.6;max-width:46ch;margin:0}

.er-lp .faq{max-width:860px;margin:0 auto}
.er-lp .q{border-bottom:1px solid var(--line)}
.er-lp .q summary{list-style:none;cursor:pointer;font-family:var(--f-head);font-weight:500;font-size:20px;color:var(--ink);padding:20px 40px 20px 0;position:relative}
.er-lp .q summary::-webkit-details-marker{display:none}
.er-lp .q summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--f-body);font-size:22px;color:var(--taupe-fill);line-height:1}
.er-lp .q[open] summary::after{content:"\2013"}
.er-lp .q summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.er-lp .q .a{padding:0 0 22px;color:var(--slate);font-size:16.5px;line-height:1.7;max-width:66ch}

.er-lp .cta{background:var(--green);text-align:center;padding:72px 0}
.er-lp .cta h2{color:#fff;font-size:clamp(32px,4vw,44px);margin:16px 0}
.er-lp .cta p{color:#dfe6e2;margin:0 auto 30px;max-width:32em;font-size:16.5px;line-height:1.7}
/* __EM_ON_DARK_FIX__ — the .em accent is a child of the h2, so it keeps its own
   dark taupe colour even though the headline around it is white. On the green
   CTA band that made the emphasised word nearly invisible. Light warm accent
   here instead: still reads as emphasis, but legible. */
.er-lp .cta h2 .em{color:var(--cream-dark)}
.er-lp .cta h2 .u svg path{stroke:rgba(255,255,255,.55)}

.er-lp footer.site{background:var(--cream);color:var(--muted);font-size:13px;padding:50px 0 110px;border-top:1px solid var(--line)}
.er-lp footer.site .cols{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap;margin-bottom:26px}
.er-lp footer.site .name{font-family:var(--f-head);color:var(--ink);font-size:22px;font-weight:600;margin-bottom:8px}
.er-lp footer.site .cols a{color:var(--taupe-text);text-decoration:none;font-weight:700}
.er-lp footer.site .cols a:hover{text-decoration:underline}
.er-lp .disclaimer{border-top:1px solid var(--line);padding-top:20px;line-height:1.65;color:var(--muted);max-width:78ch}

.er-lp .mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:10px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.er-lp .mobile-bar .btn{flex:1;padding:14px}
.er-lp .mobile-bar .btn-icon{flex:0 0 auto;min-width:78px;padding:14px 16px}
.er-lp .mobile-bar .btn-book{flex:1 1 auto}

@media (max-width:920px){
  .er-lp .hero-grid{grid-template-columns:1fr;gap:32px}
  .er-lp .hero-grid .lead{order:-1}
  .er-lp .hero .hero-cta{display:none}
  .er-lp .cards{grid-template-columns:repeat(2,1fr)}
  .er-lp .steps,.er-lp .quotes{grid-template-columns:1fr}
  .er-lp .trust .wrap{justify-content:flex-start}
}
@media (max-width:560px){
  .er-lp .cards{grid-template-columns:1fr}
  .er-lp .brand .name{font-size:18px}
  .er-lp .mobile-bar{display:flex}
  .er-lp .hero{padding:38px 0 34px}
  .er-lp .provider-card{grid-template-columns:1fr;justify-items:center;text-align:center;padding:26px}
  .er-lp .cred-row{justify-content:center}
  .er-lp .price-card{flex-direction:column;align-items:flex-start}
  .er-lp .price-card .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .er-lp *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .er-lp .hero h1 .u path{stroke-dashoffset:0}
}

.er-lp .reassure.consent{font-size:12.5px;line-height:1.6;color:var(--muted);margin-top:12px}
.er-lp .reassure.consent a{color:var(--taupe-text);text-decoration:underline}

/* ============================================================
   Wellness-consult additions (hero value row, roadmap, phases)
   ============================================================ */
.er-lp .hero-sub{font-size:17px;color:var(--slate);margin:14px 0 0;max-width:34em}
.er-lp .hero-values{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 4px}
.er-lp .hero-values .hv{flex:1 1 130px;border:1px solid var(--line);border-radius:14px;padding:14px 12px;text-align:center;background:rgba(255,255,255,.6)}
.er-lp .hero-values .hv b{display:block;font-family:var(--f-head);font-size:19px;font-weight:500;color:var(--ink);line-height:1.2}
.er-lp .hero-values .hv span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe-text);margin-top:6px;font-weight:600}
.er-lp .hero-under{margin-top:14px}
.er-lp .hdr-book{display:none}

.er-lp blockquote.pull{margin:26px auto 0;max-width:640px;text-align:center;font-family:var(--f-accent);font-style:italic;font-size:clamp(22px,3vw,30px);line-height:1.35;color:var(--taupe-text)}
.er-lp blockquote.pull cite{display:block;font-family:var(--f-body);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px;font-weight:600}

/* Roadmap */
.er-lp .roadmap{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}
.er-lp .doc-mock{position:sticky;top:96px}
.er-lp .doc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 26px 34px;box-shadow:0 22px 50px rgba(29,29,29,.10),0 2px 0 #fff,0 3px 0 var(--line),0 8px 0 #fff,0 9px 0 var(--line);transform:rotate(-1.2deg)}
.er-lp .doc-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
.er-lp .doc-brand{display:block;font-family:var(--f-head);font-size:13px;font-weight:600;letter-spacing:.22em;color:var(--taupe-fill)}
.er-lp .doc-kicker{display:block;font-family:var(--f-accent);font-style:italic;font-size:20px;color:var(--ink);margin-top:6px}
.er-lp .doc-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line)}
.er-lp .doc-n{font-family:var(--f-head);font-size:11px;font-weight:600;color:var(--taupe-text);letter-spacing:.1em;flex:0 0 auto}
.er-lp .doc-label{font-size:13px;color:var(--ink);flex:1 1 auto;line-height:1.3}
.er-lp .doc-bars{display:flex;flex-direction:column;gap:4px;flex:0 0 46px}
.er-lp .doc-bars i{display:block;height:4px;border-radius:2px;background:var(--cream-dark)}
.er-lp .doc-bars i:last-child{width:62%}
.er-lp .doc-foot{display:flex;gap:10px;margin-top:22px}
.er-lp .doc-foot span{height:6px;border-radius:3px;background:var(--cream);flex:1}
.er-lp .doc-foot span:last-child{flex:0 0 34%;background:var(--taupe-fill);opacity:.35}

.er-lp .roadmap-list{display:flex;flex-direction:column;gap:18px}
.er-lp .rm-item{display:flex;gap:14px;align-items:flex-start}
.er-lp .rm-item .chk{flex:0 0 26px;height:26px;border-radius:50%;background:var(--cream);color:var(--taupe-fill);display:inline-flex;align-items:center;justify-content:center;font-size:13px;margin-top:3px}
.er-lp .rm-item h3{font-size:19px;margin:0 0 4px}
.er-lp .rm-item p{margin:0;font-size:16px;color:var(--slate);line-height:1.6}
.er-lp .rm-price{border-top:1px solid var(--line);margin-top:10px;padding-top:24px}
.er-lp .rm-price .figure{font-family:var(--f-head);font-size:clamp(52px,8vw,76px);font-weight:300;line-height:1;color:var(--ink);letter-spacing:-.03em}
.er-lp .rm-price .note{font-size:14px;color:var(--muted);margin-top:8px}

/* Three-phase path */
.er-lp .phases{display:flex;align-items:stretch;gap:0;margin-top:6px}
.er-lp .phase{flex:1 1 0;min-width:0;border:1px solid var(--line);border-radius:16px;padding:30px 26px;background:var(--white)}
.er-lp .ph-n{font-family:var(--f-head);font-size:clamp(40px,5vw,58px);font-weight:300;line-height:1;color:var(--cream-dark);letter-spacing:-.03em}
.er-lp .phase h3{margin:10px 0 14px;color:var(--taupe-text);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}
.er-lp .phase ul{list-style:none;margin:0;padding:0}
.er-lp .phase li{font-size:16px;color:var(--slate);padding:7px 0;border-bottom:1px solid var(--cream)}
.er-lp .phase li:last-child{border-bottom:0}
.er-lp .ph-arrow{flex:0 0 46px;display:flex;align-items:center;justify-content:center;color:var(--cream-dark);font-size:24px}
.er-lp .ph-arc{text-align:center;margin:34px auto 14px;font-family:var(--f-accent);font-style:italic;font-size:clamp(20px,2.6vw,28px);color:var(--taupe-text)}

@media (max-width:920px){
  .er-lp .roadmap{grid-template-columns:1fr;gap:36px}
  .er-lp .doc-mock{position:static;max-width:420px;margin:0 auto}
  .er-lp .phases{flex-direction:column;gap:14px}
  .er-lp .ph-arrow{flex:0 0 auto;transform:rotate(90deg);padding:2px 0}
}
@media (max-width:560px){
  .er-lp .hdr-book{display:inline-flex;padding:10px 16px;font-size:11px}
  .er-lp .hero-values .hv{flex:1 1 calc(50% - 5px)}
}

/* Header buttons must never wrap; on phones the sticky bar already carries Call. */
.er-lp header.site .btn{white-space:nowrap}
.er-lp .steps-4{grid-template-columns:repeat(4,1fr)}
.er-lp .hero-values{margin-bottom:26px}
.er-lp .reassure.consent{text-align:left}
@media (max-width:920px){ .er-lp .steps-4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){
  .er-lp .hdr-call{display:none}
  .er-lp .steps-4{grid-template-columns:1fr}
  .er-lp .brand .name small{white-space:nowrap}
}
