/* Approved LaserUP addition: preserve typography/powder tokens and common shell.
   DESIGN_VARIANCE 4 / MOTION_INTENSITY 2 / VISUAL_DENSITY 5. */
.facial-service{scroll-margin-top:110px;padding-block:28px 32px}
.facial-service-layout{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;width:100%}
.facial-cover{margin:0;min-width:0;align-self:center}
.facial-cover img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:var(--radius)}
.facial-service-copy{min-width:0}.facial-new{font-size:13px;font-weight:600;color:var(--green);margin-bottom:8px}
.facial-service .facial-service-copy h2{font-size:clamp(30px,2.5vw,36px);line-height:1.1;letter-spacing:-.045em;max-width:650px;text-wrap:balance}
.facial-intro{font-size:14px;line-height:1.6;margin-top:12px;max-width:650px}
.facial-details{margin-top:12px}.facial-details>summary{width:fit-content;min-height:38px;padding-block:8px;font-size:13px;font-weight:500;color:var(--green);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.facial-service-copy h3{font-size:15px;line-height:1.5;font-weight:600;letter-spacing:0;margin-top:24px}
.facial-requests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;list-style:none;padding:0;margin:16px 0 20px}
.facial-requests li{font-size:14px;line-height:1.55;padding-left:13px;border-left:2px solid var(--accent);min-width:0}
.facial-caveat{font-size:12px;line-height:1.65;max-width:650px}.facial-address{font-size:12px;margin-top:16px}
.facial-first-visit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;margin-block:10px 12px;padding-top:14px;border-top:1px solid var(--line)}
.facial-first-visit>div>p{color:var(--ink);font-size:13px;font-weight:550;margin-bottom:3px}
.facial-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.facial-price>strong{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-.045em;color:var(--green);white-space:nowrap}
.facial-price>span{font-size:15px;color:var(--muted);white-space:nowrap}.facial-first-visit .facial-eligibility{grid-column:1/-1;font-size:12px;line-height:1.55;max-width:650px}
.facial-first-visit .button,.facial-offer .button{font-size:14px;min-height:48px;white-space:nowrap;justify-content:center}
.facial-subscription-link{font-size:13px;color:var(--green);text-decoration:underline;text-underline-offset:4px;display:inline-block;line-height:1.5}
.special-offers .facial-offer{gap:14px}.facial-offer-amount>span{font-size:13px;color:var(--muted)}.facial-offer-amount>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:4px}
.facial-offer-amount strong{font-size:32px;line-height:1.2;font-weight:550;letter-spacing:-.045em;white-space:nowrap;color:var(--green)}.facial-offer-amount del{font-size:15px;color:var(--muted);white-space:nowrap}
.facial-offer-condition{font-size:12px;line-height:1.6}.facial-offer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin-top:auto}.facial-details-link{font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.facial-price-link:hover{text-decoration:underline;text-underline-offset:4px}.facial-details>summary:focus-visible,.facial-price-link:focus-visible,.facial-subscription-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1000px){.facial-service-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}.facial-first-visit{grid-template-columns:1fr}.facial-first-visit .button{width:fit-content}.facial-service{padding-block:24px}}
@media(max-width:760px){.facial-service-layout{grid-template-columns:1fr;gap:20px}.facial-cover{width:min(100%,220px);justify-self:start}.facial-service .facial-service-copy h2{font-size:29px;line-height:1.1}.facial-requests{grid-template-columns:1fr;gap:12px}.facial-intro{font-size:13px;line-height:1.6;margin-top:10px}.facial-new{font-size:12px;margin-bottom:6px}.facial-service-copy h3{margin-top:16px;font-size:14px}.facial-first-visit{gap:8px;margin-bottom:10px;padding-top:12px}.facial-first-visit .button{width:100%;font-size:14px;grid-row:3}.facial-price{gap:10px}.facial-price>strong{font-size:30px}.facial-subscription-link{font-size:12px}}
