
/* ================= Lip Filler page (shares the laser page's building blocks) ================= */

/* hero: text + Dr. Parvina's vertical treatment video in a framed "reel" */
.lp-hero{position:relative;overflow:hidden;background:radial-gradient(60% 80% at 82% 40%,color-mix(in srgb,var(--D-acc) 16%,transparent),transparent 70%),var(--D-bg)}
.lp-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;padding-top:90px;padding-bottom:90px}
.lp-hero h1{font-size:clamp(40px,5.4vw,70px)}
.lp-hero .txt{max-width:600px}
.lp-reel{position:relative;justify-self:center;width:100%;max-width:340px;margin:0;aspect-ratio:9/16;border-radius:26px;box-shadow:0 0 0 1px color-mix(in srgb,var(--D-acc) 55%,transparent),0 30px 60px rgba(0,0,0,.35)}
.lp-reel::before{content:"";position:absolute;inset:0;border-radius:26px;pointer-events:none;box-shadow:0 0 60px 16px color-mix(in srgb,var(--D-acc) 45%,transparent);opacity:.35;will-change:opacity;animation:lpGlow 6s ease-in-out infinite}
@keyframes lpGlow{50%{opacity:.8}}
.lp-reel video{position:relative;display:block;width:100%;height:100%;object-fit:cover;border-radius:26px;background:#000}
.vid-sound{position:absolute;right:14px;bottom:14px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.45);color:#fff;cursor:pointer;transition:background .3s,transform .3s}
.vid-sound:hover{background:rgba(0,0,0,.65);transform:scale(1.06)}
.vid-sound svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vid-sound .on,.vid-sound.is-on .off{display:none}
.vid-sound.is-on .on{display:block}

/* the Lip Queen approach: photo + copy */
.lp-split .wrap{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:80px}
.lp-photo{position:relative;margin:0;max-width:460px}
@media(min-width:861px){#how .lp-photo{max-width:420px}} /* how-it-works photos match the 420 x 525 videos */
.lp-photo::before{content:"";position:absolute;inset:22px 22px -22px -22px;border:1px solid var(--acc);opacity:.6;border-radius:4px}
.lp-photo img{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:4px;box-shadow:0 30px 60px rgba(0,0,0,.12)}
.lp-copy .lead{margin-top:24px}
.lp-copy p+p{margin-top:16px}
.lp-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-stats div{padding:22px 14px;border-right:1px solid var(--line)}
.lp-stats div:last-child{border-right:0}
.lp-stats b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;color:var(--acc);line-height:1.1}
.lp-stats span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--head)}

/* what Dr. Parvina assesses at the consultation */
.lp-check{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px}
.lp-check li{position:relative;padding-left:26px;font-size:15px;line-height:1.55}
.lp-check li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;border-radius:50%;border:1px solid var(--acc);background:color-mix(in srgb,var(--acc) 25%,transparent)}
.lp-check b{color:var(--head);font-weight:500;margin-right:6px}

/* pick your goal (above the price cards) */
.lp-goals{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.lp-goals div{padding:22px 22px 20px;border-top:1px solid var(--acc);background:color-mix(in srgb,var(--surf) 60%,transparent)}
.lp-goals span{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--acc)}
.lp-goals h3{font-size:16px;margin:8px 0 6px}
.lp-goals p{font-size:14px;line-height:1.55}
.lp-goals small{display:block;margin-top:12px;font-size:12px;color:var(--text)}
.lp-goals small b{font-weight:500;color:color-mix(in srgb,var(--acc) 70%,var(--head))}

/* recovery timeline (inside the dark process section) */
.lp-recov{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.lp-recov h3{text-align:center;font-size:18px;margin-bottom:26px}
.lp-recov ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:r}
.lp-recov li{position:relative;padding-left:20px;border-left:1px solid color-mix(in srgb,var(--acc) 60%,transparent)}
.lp-recov b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;color:var(--acc);margin-bottom:6px}
.lp-recov span{font-size:14px;line-height:1.6}

/* pricing cards */
.lp-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.lp-card{position:relative;display:flex;flex-direction:column;padding:30px 26px 28px;background:var(--surf);border:1px solid var(--line);border-radius:18px;transition:transform .35s,box-shadow .35s,border-color .35s}
.lp-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.lp-card.hot{border-color:var(--acc);box-shadow:0 18px 40px color-mix(in srgb,var(--acc) 22%,transparent)}
.lp-tag{align-self:flex-start;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
.lp-card.hot .lp-tag{background:var(--acc);color:#fff;padding:5px 10px;border-radius:999px}
.lp-card h3{font-size:20px}
.lp-card small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.lp-card b{display:block;margin:18px 0 12px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:40px;line-height:1;color:var(--acc)}
.lp-card b s{font-size:20px;color:var(--muted);margin-left:6px}
.lp-card p{font-size:14px;line-height:1.6}
#pricing .pextra{margin-top:26px;border-radius:14px}
.pextra a{color:color-mix(in srgb,var(--acc) 75%,var(--head));font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.pextra a:hover{color:var(--head)}
.cmp-note.center{text-align:center}

/* before & after: 5 sliders, 3 per row on desktop (last row centered) */
.lip-ba{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.lip-ba>div{flex:0 0 calc((100% - 60px)/3)}
.ba-more{display:none}
/* brand watermark on Dr. Parvina's own results (white version of the Pari logo) */
.lip-ba .ba::after,.wm-ba .ba::after{content:"";position:absolute;right:12px;bottom:10px;width:70px;height:70px;background:url(../img/pari-logo.webp) center/contain no-repeat;filter:brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0,0,0,.45));opacity:.75;pointer-events:none}

/* inside the studio */
.lp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.lp-gallery figure{margin:0}
.lp-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px;box-shadow:0 20px 44px rgba(0,0,0,.1)}
.lp-gallery figcaption{margin-top:14px;text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

@media(max-width:1024px){
  .lp-prices,.lp-goals{grid-template-columns:1fr 1fr}
  .lip-ba>div{flex-basis:calc((100% - 30px)/2)}
}
@media(max-width:860px){
  /* phone: first 2 results, the rest behind "See more results" */
  .lip-ba{gap:26px}
  .lip-ba>div{flex-basis:100%}
  .lip-ba .ba::after,.wm-ba .ba::after{width:60px;height:60px}
  section:not(.ba-all) .lip-ba>div:nth-child(n+3){display:none}
  .ba-more{display:inline-flex;margin-top:28px}
  .lp-hero .wrap{grid-template-columns:1fr;gap:34px;padding-top:30px;padding-bottom:70px}
  .lp-reel{order:-1;max-width:none;aspect-ratio:4/5;border-radius:20px}
  .lp-reel::before,.lp-reel video{border-radius:20px}
  .lp-reel video{object-position:50% 35%}
  .lp-split .wrap{grid-template-columns:1fr;gap:44px}
  .lp-photo{margin:0 auto;max-width:360px}
  .lp-photo::before{inset:16px 16px -16px -16px}
  .lp-stats span{font-size:10px;letter-spacing:.1em}
  .lp-stats b{font-size:24px}
  .lp-stats div{padding:18px 8px;text-align:center}
  .lp-copy{text-align:center}
  .lp-check{text-align:left;max-width:420px;margin-left:auto;margin-right:auto}
  /* intro paragraph lines up with the checklist below it */
  .lp-copy > p{text-align:left;max-width:420px;margin-left:auto;margin-right:auto}
  .lp-copy .lead{font-size:17px}
  .lp-recov ol{grid-template-columns:1fr;gap:20px;max-width:420px;margin:0 auto}
  /* studio photos: three circles in one row, all visible at once */
  .lp-gallery{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
  .lp-gallery img{aspect-ratio:1;border-radius:50%;object-position:50% 30%;box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 55%,transparent),0 12px 26px rgba(0,0,0,.1)}
  .lp-gallery figcaption{margin-top:12px;font-size:10px;letter-spacing:.1em;line-height:1.5}
}
@media(max-width:600px){
  .lp-prices{grid-template-columns:1fr;gap:16px;margin-top:40px}
  .lp-goals{gap:12px;margin-top:36px}
  .lp-goals div{padding:16px 14px}
  .lp-goals p{font-size:13px}
  .lp-card{padding:24px 22px}
  .lp-card b{font-size:36px}
}
@media(prefers-reduced-motion:reduce){.lp-reel::before{animation:none}}

/* phones: the hero headline scales with the screen so long lines ("Restore volume,") never overflow */
@media(max-width:600px){.lp-hero h1{font-size:min(40px,calc((100vw - 40px) * .11))}}

/* booking button at the bottom of a price card */
.lp-card .card-book{margin-top:auto;align-self:stretch;justify-content:center;text-align:center}
.lp-card p:has(+.card-book){margin-bottom:22px}

/* photo-in-hero + video-in-section swap (lip filler) */
.lp-reel.sw-photo img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:26px}
@media(min-width:861px){.lp-hero .lp-reel.sw-photo{aspect-ratio:4/5;max-width:400px}}
@media(max-width:860px){.lp-hero .lp-reel.sw-photo{aspect-ratio:1/1}.lp-reel.sw-photo img{border-radius:20px}}
.sw-watch .wrap{grid-template-columns:.8fr 1.2fr}
.sw-reel{position:relative;justify-self:center;width:100%;max-width:420px;margin:0;aspect-ratio:4/5;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 45%,transparent),0 30px 60px rgba(0,0,0,.16)}
.sw-reel video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
@media(max-width:860px){.sw-watch .wrap{grid-template-columns:1fr}.sw-reel{max-width:300px}.sw-reel video{object-position:50% 40%}}

/* lip filler product comparison */
.lf-wrap{margin-top:48px}
.lf-table{width:100%;border-collapse:collapse;background:var(--surf);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lf-table th,.lf-table td{padding:16px 18px;text-align:left;vertical-align:top;font-size:14.5px;line-height:1.5;border-bottom:1px solid var(--line)}
.lf-table thead th{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:color-mix(in srgb,var(--acc) 85%,#000)}
.lf-table tbody th{font-weight:500;color:var(--head);white-space:nowrap}
.lf-table tbody tr:last-child>*{border-bottom:0}
.lf-table td:last-child{font-family:var(--serif);font-style:italic;font-size:17px;color:color-mix(in srgb,var(--acc) 75%,var(--head));white-space:nowrap}
@media(max-width:860px){
  /* phones: each filler becomes its own card */
  .lf-wrap{margin-top:32px}
  .lf-table,.lf-table tbody,.lf-table tr,.lf-table th,.lf-table td{display:block;width:100%}
  .lf-table{background:none;border:0;border-radius:0}
  .lf-table thead{display:none}
  .lf-table tr{margin-bottom:14px;padding:16px 18px;background:var(--surf);border:1px solid var(--line);border-top:2px solid var(--acc);border-radius:14px}
  .lf-table tbody th{padding:0 0 8px;border:0;font-size:16px;white-space:normal}
  .lf-table td{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;white-space:normal}
  .lf-table td::before{content:attr(data-l);font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
  .lf-table td:last-child{border-bottom:0;font-size:16px}
}
/* desktop: tighter spacing above titles (banner + every section) on all service pages */
@media(min-width:861px){.lp-hero .wrap{padding-top:50px;padding-bottom:60px}.pad{padding-top:84px;padding-bottom:84px}}
