/* Providence Dental — landing pages (Figma pixel build, 2026-08-26).
   One sheet for both location funnels: same design, different values.
   Palette from the Figma file: ink #101010, gold #C09836, gold-light #D4A83D,
   maroon #B24037, greys #F7F7F7/#F5F5F5, border #E6E6E6. Font: Raleway (self-hosted). */

@font-face{font-family:'Raleway';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/raleway-400-latin.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/raleway-500-latin.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/raleway-600-latin.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/raleway-700-latin.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/raleway-800-latin.woff2') format('woff2')}

/* Reset within our template only */
.pvl-lp,.pvl-lp *,.pvl-lp *::before,.pvl-lp *::after{box-sizing:border-box}
body.pvl-lp{margin:0;padding:0;background:#fff;color:#101010;font-family:'Raleway',-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.pvl-lp h1,.pvl-lp h2,.pvl-lp h3,.pvl-lp p,.pvl-lp ul{margin:0;padding:0}
.pvl-lp img{max-width:100%;height:auto;display:block}
.pvl-lp a{color:inherit;text-decoration:none}
.pvl-lp .pvl-container{max-width:1296px;margin:0 auto;padding:0 24px}
.pvl-lp .pvl-eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#C09836}
.pvl-lp .pvl-eyebrow.gold{color:#C09836}
.pvl-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Reveal animations (gated on html.pvl-anim so non-JS clients always see content).
   Keyframes (not transitions) so the one-off reveal never fights hover transforms, and the
   pvlRiseSafe fallback auto-reveals everything even if pvl-lp.js never runs. */
@keyframes pvlRise{from{opacity:0;transform:translateY(16px)}to{opacity:1}}
@keyframes pvlRiseSafe{from{opacity:0;transform:translateY(16px)}to{opacity:1}}
html.pvl-anim .pvl-lp .pvl-reveal{opacity:0;animation:pvlRiseSafe .55s cubic-bezier(.25,.46,.45,.94) 2.4s both}
html.pvl-anim .pvl-lp .pvl-reveal.pvl-armed{animation:none}
html.pvl-anim .pvl-lp .pvl-reveal.pvl-in{animation:pvlRise .55s cubic-bezier(.25,.46,.45,.94) both;animation-delay:var(--pvl-d,0s)}
html.pvl-anim .pvl-lp .pvl-reveal.pvl-now{opacity:1;animation:none}

/* Load cascade for page-top elements (hero copy, thank-you block, schedule header) */
html.pvl-anim .pvl-lp .pvl-cascade>*{opacity:0;animation:pvlRise .5s cubic-bezier(.25,.46,.45,.94) both}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(1){animation-delay:.06s}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(2){animation-delay:.14s}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(3){animation-delay:.22s}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(4){animation-delay:.3s}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(5){animation-delay:.38s}
html.pvl-anim .pvl-lp .pvl-cascade>*:nth-child(n+6){animation-delay:.46s}
html.pvl-anim .pvl-lp .pvl-hero-card{opacity:0;animation:pvlRise .6s cubic-bezier(.25,.46,.45,.94) .32s both}

/* Reduced motion: kill all animation, keep everything visible */
@media (prefers-reduced-motion:reduce){
  .pvl-lp,.pvl-lp *,.pvl-lp *::before,.pvl-lp *::after{animation:none!important;transition:none!important}
  html.pvl-anim .pvl-lp .pvl-reveal,html.pvl-anim .pvl-lp .pvl-cascade>*,html.pvl-anim .pvl-lp .pvl-hero-card{opacity:1!important;transform:none!important}
}

/* Buttons */
.pvl-lp .pvl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.15;cursor:pointer;white-space:nowrap}
.pvl-lp .pvl-btn-primary{background:#B24037;color:#fff;border:0;border-radius:0;padding:16px 32px;text-transform:uppercase;letter-spacing:.01em}
.pvl-lp .pvl-btn-invert{background:#fff;color:#B24037;border:0;border-radius:0;padding:16px 32px;text-transform:uppercase;letter-spacing:.01em}
.pvl-lp .pvl-btn-call{background:#fff;color:#101010;border:1.5px solid #101010;border-radius:2px;padding:16px 28px}
.pvl-lp .pvl-btn-call.ghost{background:#101010;color:#fff;border-color:#fff}
.pvl-lp .pvl-btn-block{width:100%}
.pvl-lp .pvl-ctas{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:48px}
.pvl-lp .pvl-ctas.left{justify-content:flex-start}

/* Utility bar */
.pvl-lp .pvl-topbar{background:#fff;border-bottom:1px solid #E6E6E6;position:relative;z-index:40}
.pvl-lp .pvl-topbar-in{display:flex;align-items:center;justify-content:space-between;min-height:59px;padding-top:10px;padding-bottom:10px}
.pvl-lp .pvl-topbar-center .pvl-topbar-in,.pvl-lp.pvl-topbar-center .pvl-topbar-in{justify-content:center}
.pvl-lp .pvl-topbar.pvl-topbar-center .pvl-topbar-in{justify-content:center;min-height:48px}
.pvl-lp .pvl-logolock img{width:177px;height:28px;object-fit:contain}
.pvl-lp .pvl-topbar-buttons{display:flex;align-items:center;gap:24px}
.pvl-lp .pvl-topbar .pvl-btn{font-size:13px}
.pvl-lp .pvl-topbar .pvl-btn-primary{padding:12px 24px}
.pvl-lp .pvl-topbar .pvl-btn-call{padding:12px 24px}

/* Hero */
.pvl-lp .pvl-hero{position:relative;min-height:700px;display:flex;align-items:center;overflow:hidden}
.pvl-lp .pvl-hero-bg{position:absolute;inset:0;background:url('../img/hero-practice.jpg') center 38%/cover no-repeat}
.pvl-lp .pvl-hero-bg::after{content:"";position:absolute;inset:0;background:rgba(10,10,10,.72)}
.pvl-lp .pvl-hero-grid{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:48px;width:100%;padding-top:60px;padding-bottom:60px}
.pvl-lp .pvl-hero-copy{max-width:620px;color:#fff}
.pvl-lp .pvl-hero-copy .pvl-eyebrow{font-size:14px;margin-bottom:14px}
.pvl-lp .pvl-hero-copy h1{font-size:38px;line-height:45px;font-weight:500;color:#fff;margin-bottom:32px}
.pvl-lp .pvl-hero-copy h1 em{font-style:normal;color:#D4A83D}
.pvl-lp .pvl-hero-ticks{display:flex;flex-direction:column;gap:20px}
.pvl-lp .pvl-hero-tick{display:flex;gap:12px;align-items:flex-start}
.pvl-lp .pvl-tick-mark{color:#D4A83D;font-size:22px;font-weight:700;line-height:26px;flex:0 0 auto}
.pvl-lp .pvl-hero-tick b{display:block;font-size:16px;font-weight:600;line-height:19px;color:#fff;margin-bottom:2px}
.pvl-lp .pvl-hero-tick span:not(.pvl-tick-mark){display:block;font-size:13px;line-height:18px;color:#CCCCCC}

/* Hero form card */
.pvl-lp .pvl-hero-card{background:#fff;border:1px solid #E6E6E6;border-radius:12px;box-shadow:0 18px 32px rgba(16,16,16,.18);padding:48px;width:460px;flex:0 0 auto;scroll-margin-top:80px}
.pvl-lp .pvl-hero-card .pvl-eyebrow{margin-bottom:16px}
.pvl-lp .pvl-hero-card h2{font-size:30px;line-height:35px;font-weight:500;color:#101010;margin-bottom:16px}
.pvl-lp .pvl-card-price{font-size:16px;font-weight:600;line-height:19px;color:#101010;margin-bottom:16px}
.pvl-lp .pvl-card-price s{font-weight:600}
.pvl-lp .pvl-card-price em{font-style:normal;color:#C09836}
.pvl-lp .pvl-card-desc{font-size:13px;line-height:18px;color:#595959;margin-bottom:16px}
.pvl-lp .pvl-lead-form p{margin:0 0 10px}
.pvl-lp .pvl-lead-form input{width:100%;background:#F5F5F5;border:1px solid #F5F5F5;border-radius:0;padding:12px 14px;font-family:inherit;font-size:13px;line-height:15px;color:#101010;outline:none}
.pvl-lp .pvl-lead-form input::placeholder{color:#808080;opacity:1}
.pvl-lp .pvl-lead-form input:focus{border-color:#C09836;background:#fff}
.pvl-lp .pvl-lead-form .pvl-btn-primary{margin-top:6px;padding:16px 24px;font-size:15px;font-weight:700}
.pvl-lp .pvl-lead-form.has-error input:invalid{border-color:#B24037}
.pvl-lp .pvl-form-msg{display:none;font-size:12px;color:#B24037;margin:0}
.pvl-lp .pvl-form-msg:not(:empty){display:block;margin-top:10px}
.pvl-lp .pvl-lead-form.is-busy .pvl-btn-primary{opacity:.7;pointer-events:none}
.pvl-lp .pvl-card-address{font-size:12px;line-height:14px;color:#808080;margin-top:16px}
.pvl-lp .pvl-form-consent{font-size:10.5px;line-height:14px;color:#A6A6A6;margin-top:8px}

/* Sections */
.pvl-lp .pvl-sec{padding:100px 0}
.pvl-lp .pvl-sec-white{background:#fff}
.pvl-lp .pvl-sec-grey{background:#F7F7F7}
.pvl-lp .pvl-sec-dark{background:#101010;color:#fff;padding:90px 0}
.pvl-lp .pvl-sec-head{text-align:center;margin-bottom:40px}
.pvl-lp .pvl-sec-head .pvl-eyebrow{margin-bottom:40px}
.pvl-lp .pvl-sec-head h2{font-size:34px;line-height:40px;font-weight:500;color:#101010}
.pvl-lp .pvl-sec-head .pvl-sec-sub{max-width:760px;margin:40px auto 0;font-size:15px;line-height:18px;color:#595959}

/* Before / after gallery */
.pvl-lp .pvl-ba-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pvl-lp .pvl-ba-pair{display:flex;gap:4px}
.pvl-lp .pvl-ba-pair img{width:calc(50% - 2px);aspect-ratio:304/200;object-fit:cover}
.pvl-lp .pvl-ba-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;font-weight:600;line-height:14px;letter-spacing:.02em;text-transform:uppercase;color:#101010}
.pvl-lp .pvl-ba-labels .gold{color:#C09836}

/* Patient stories */
.pvl-lp .pvl-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}
.pvl-lp .pvl-photo{width:100%;aspect-ratio:400/450;object-fit:cover;border-radius:8px}
.pvl-lp .pvl-video-grid{display:flex;justify-content:center;gap:24px}
.pvl-lp .pvl-video-grid>div{width:382px;max-width:100%}
.pvl-lp .pvl-video{position:relative;width:100%;aspect-ratio:382/680;border-radius:8px;overflow:hidden;background:#101010}
.pvl-lp .pvl-video img,.pvl-lp .pvl-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pvl-lp .pvl-video__shade{position:absolute;inset:0;background:rgba(16,16,16,.28);pointer-events:none;transition:opacity .3s ease}
.pvl-lp .pvl-video.is-playing .pvl-video__shade{opacity:0}
.pvl-lp .pvl-video__play{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border:0;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 4px 8px rgba(16,16,16,.25);cursor:pointer;transition:transform .2s ease,opacity .25s ease}
.pvl-lp .pvl-video__play span{display:block;width:0;height:0;margin:0 auto;border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #B24037;transform:translateX(3px)}
.pvl-lp .pvl-video.is-playing .pvl-video__play{opacity:0;pointer-events:none}
.pvl-lp .pvl-video__soon{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(16,16,16,.72);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px;white-space:nowrap}

/* Split sections (why choose / dentist) */
.pvl-lp .pvl-split{display:flex;align-items:center;gap:64px}
.pvl-lp .pvl-split-img{width:380px;flex:0 0 auto;aspect-ratio:380/460;object-fit:cover;border-radius:8px}
.pvl-lp .pvl-split-img.tall{width:400px;aspect-ratio:400/480}
.pvl-lp .pvl-split-copy{flex:1 1 auto;min-width:0}
.pvl-lp .pvl-split-copy .pvl-eyebrow{margin-bottom:24px}
.pvl-lp .pvl-split-copy h2{font-size:30px;line-height:35px;font-weight:500;color:#101010;max-width:560px;margin-bottom:24px}
.pvl-lp .pvl-feature{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.pvl-lp .pvl-feature-ico{font-size:22px;line-height:26px;flex:0 0 auto}
.pvl-lp .pvl-feature h3{font-size:17px;line-height:20px;font-weight:600;color:#101010;margin-bottom:4px}
.pvl-lp .pvl-feature p{font-size:14px;line-height:16px;color:#666666;max-width:480px}
.pvl-lp .pvl-split .pvl-ctas{margin-top:32px}

/* Dentist section */
.pvl-lp .pvl-dentist-sub{font-size:16px;line-height:19px;font-weight:600;color:#C09836;margin-bottom:20px}
.pvl-lp .pvl-dentist h2{margin-bottom:20px}
.pvl-lp .pvl-checkrow{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}
.pvl-lp .pvl-checkrow span{color:#C09836;font-size:16px;font-weight:700;line-height:19px;flex:0 0 auto}
.pvl-lp .pvl-checkrow p{font-size:14px;line-height:16px;color:#595959;max-width:480px}
.pvl-lp .pvl-dentist-bio{font-size:14px;line-height:16px;color:#595959;max-width:560px}

/* Treatments grid */
.pvl-lp .pvl-treat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pvl-lp .pvl-treat{background:#fff;padding:32px 28px;min-height:180px}
.pvl-lp .pvl-treat.dark{background:#101010}
.pvl-lp .pvl-treat h3{font-size:18px;line-height:21px;font-weight:700;color:#101010;margin-bottom:12px}
.pvl-lp .pvl-treat.dark h3{color:#fff}
.pvl-lp .pvl-treat p{font-size:13px;line-height:15px;color:#666666;margin-bottom:12px}
.pvl-lp .pvl-treat.dark p{color:#CCCCCC}
.pvl-lp .pvl-treat a{display:inline-block;font-size:13px;line-height:15px;font-weight:600;color:#C09836}

/* Trust & value banner */
.pvl-lp .pvl-dark-title{font-size:28px;line-height:33px;font-weight:500;color:#fff;text-align:center;margin-bottom:40px}
.pvl-lp .pvl-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center}
.pvl-lp .pvl-trust-ico{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 8px;background:#fff;border-radius:50%;font-size:20px;line-height:1}
.pvl-lp .pvl-trust h3{font-size:16px;line-height:19px;font-weight:600;color:#fff;margin-bottom:8px}
.pvl-lp .pvl-trust p{font-size:13px;line-height:15px;color:#BFBFBF;max-width:300px;margin:0 auto}

/* Reviews */
.pvl-lp .pvl-review-head{text-align:center;margin-bottom:40px}
.pvl-lp .pvl-review-head b{display:block;font-size:18px;line-height:21px;font-weight:800;color:#101010;margin-bottom:4px}
.pvl-lp .pvl-review-stars{display:block;font-size:15px;line-height:18px;font-weight:600;color:#C09836;margin-bottom:4px}
.pvl-lp .pvl-review-head small{display:block;font-size:13px;line-height:15px;color:#737373}
.pvl-lp .pvl-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pvl-lp .pvl-review{background:#fff;border:1px solid #E6E6E6;border-radius:8px;padding:24px;min-height:260px}
.pvl-lp .pvl-review-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.pvl-lp .pvl-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;background:#C09836;border-radius:50%;color:#fff;font-size:16px;font-weight:700}
.pvl-lp .pvl-review-top b{display:block;font-size:14px;line-height:16px;font-weight:600;color:#101010;margin-bottom:2px}
.pvl-lp .pvl-review-top small{display:block;font-size:11px;line-height:13px;color:#8C8C8C}
.pvl-lp .pvl-review-rating{display:block;font-size:13px;line-height:15px;color:#C09836;letter-spacing:.06em;margin-bottom:12px}
.pvl-lp .pvl-review p{font-size:13px;line-height:15px;color:#595959}

/* Final CTA band */
.pvl-lp .pvl-final{background:#B24037;padding:80px 0;text-align:center}
.pvl-lp .pvl-final h2{font-size:26px;line-height:31px;font-weight:500;color:#fff;margin-bottom:16px}
.pvl-lp .pvl-final p{font-size:15px;line-height:18px;color:#FFEDE5;max-width:700px;margin:0 auto}
.pvl-lp .pvl-final .pvl-ctas{margin-top:36px}

/* Footer */
.pvl-lp .pvl-footer{background:#101010;padding:48px 0;text-align:center}
.pvl-lp .pvl-footer-logo{width:180px;height:28px;object-fit:contain;margin:0 auto 12px}
.pvl-lp .pvl-footer-line{font-size:12px;line-height:16px;color:#B3B3B3;margin-bottom:12px}
.pvl-lp .pvl-footer-line.small{font-size:12px}
.pvl-lp .pvl-footer-copy{font-size:11px;line-height:13px;color:#808080}
.pvl-lp .pvl-footer a:hover{color:#fff}
.pvl-lp .pvl-ty ~ .pvl-footer .pvl-footer-line{font-size:16px;line-height:19px}

/* Schedule page */
.pvl-lp .pvl-sched-band{background:#101010;color:#fff;text-align:center;padding:64px 0}
.pvl-lp .pvl-sched-band .pvl-eyebrow{margin-bottom:12px}
.pvl-lp .pvl-sched-band h1{font-size:34px;line-height:40px;font-weight:500;color:#fff;margin-bottom:12px}
.pvl-lp .pvl-sched-band p{font-size:16px;line-height:19px;font-weight:600;color:#D9D9D9}
.pvl-lp .pvl-sched-body{background:#fff;padding:80px 0}
.pvl-lp .pvl-sched-grid{display:flex;gap:64px;align-items:flex-start}
.pvl-lp .pvl-sched-side{width:420px;flex:0 0 auto}
.pvl-lp .pvl-sched-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;margin-bottom:20px}
.pvl-lp .pvl-sched-intro{font-size:15px;line-height:18px;color:#595959;max-width:380px;margin-bottom:20px}
.pvl-lp .pvl-sched-tick{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}
.pvl-lp .pvl-sched-tick span{color:#C09836;font-size:16px;font-weight:600;line-height:19px;flex:0 0 auto}
.pvl-lp .pvl-sched-tick b{display:block;font-size:14px;line-height:16px;font-weight:600;color:#101010;margin-bottom:2px}
.pvl-lp .pvl-sched-tick small{display:block;font-size:13px;line-height:15px;color:#737373}
.pvl-lp .pvl-booking{flex:1 1 auto;min-width:0}
.pvl-lp .pvl-ghl-embed{min-height:620px;background:#F7F7F7;border:1px dashed #D9D9D9}
.pvl-lp .pvl-ghl-embed iframe{display:block;width:100%}

/* Thank-you page */
.pvl-lp .pvl-ty{background:#fff;text-align:center;padding:100px 0 60px}
.pvl-lp .pvl-ty-check{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 16px;background:#C09836;border-radius:50%;color:#fff;font-size:36px;font-weight:700}
.pvl-lp .pvl-ty h1{font-size:38px;line-height:45px;font-weight:500;color:#101010;margin-bottom:16px}
.pvl-lp .pvl-ty-sub{font-size:16px;line-height:19px;color:#666666;max-width:430px;margin:0 auto 22px}
.pvl-lp .pvl-ty-next{background:#F7F7F7;padding:40px 0 100px;text-align:center}
.pvl-lp .pvl-ty-next h2{font-size:22px;line-height:26px;font-weight:600;color:#101010;margin-bottom:32px}
.pvl-lp .pvl-ty-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left}
.pvl-lp .pvl-ty-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#C09836;border-radius:50%;color:#fff;font-size:15px;font-weight:700;margin-bottom:8px}
.pvl-lp .pvl-ty-step b{display:block;font-size:15px;line-height:18px;font-weight:600;color:#101010;margin-bottom:8px}
.pvl-lp .pvl-ty-step p{font-size:13px;line-height:15px;color:#737373;max-width:320px}

/* ============ Motion polish (kept in step with Aesthetique v2.1.0 system) ============ */

/* Desktop-only hover states: gentle lift + shadow deepen */
@media (hover:hover) and (pointer:fine){
  .pvl-lp .pvl-treat,.pvl-lp .pvl-review,.pvl-lp .pvl-ba-case,.pvl-lp .pvl-photo,.pvl-lp .pvl-video,.pvl-lp .pvl-trust{transition:transform .2s ease,box-shadow .2s ease}
  .pvl-lp .pvl-treat:hover,.pvl-lp .pvl-review:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,16,16,.12)}
  .pvl-lp .pvl-ba-case:hover,.pvl-lp .pvl-photo:hover{transform:translateY(-3px)}
  .pvl-lp .pvl-video:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,16,16,.22)}
  .pvl-lp .pvl-video:hover .pvl-video__play{transform:scale(1.08)}
  .pvl-lp .pvl-btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}
  .pvl-lp .pvl-btn-primary:hover{background:#9d372f;transform:translateY(-2px);box-shadow:0 10px 22px rgba(178,64,55,.35)}
  .pvl-lp .pvl-btn-invert:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,16,16,.25)}
  .pvl-lp .pvl-btn-call:hover{background:#101010;color:#fff;transform:translateY(-2px)}
  .pvl-lp .pvl-btn-call.ghost:hover{background:#fff;color:#101010}
  .pvl-lp .pvl-treat a:hover{text-decoration:underline}
}

/* ============ Responsive ============ */
@media (max-width:1180px){
  .pvl-lp .pvl-hero-copy h1{font-size:34px;line-height:41px}
  .pvl-lp .pvl-hero-card{width:420px;padding:40px}
  .pvl-lp .pvl-split{gap:40px}
}

@media (max-width:1024px){
  .pvl-lp .pvl-hero{min-height:0}
  .pvl-lp .pvl-hero-grid{flex-direction:column;align-items:stretch;gap:40px;padding-top:56px;padding-bottom:56px}
  .pvl-lp .pvl-hero-copy{max-width:640px}
  .pvl-lp .pvl-hero-card{width:100%;max-width:520px;margin:0 auto}
  .pvl-lp .pvl-treat-grid{grid-template-columns:repeat(2,1fr)}
  .pvl-lp .pvl-photo-grid{grid-template-columns:repeat(3,1fr);gap:16px}
  .pvl-lp .pvl-split{flex-direction:column;align-items:flex-start}
  .pvl-lp .pvl-split-img,.pvl-lp .pvl-split-img.tall{width:100%;max-width:480px}
  .pvl-lp .pvl-review-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .pvl-lp .pvl-review{min-height:0}
  .pvl-lp .pvl-trust-grid{gap:32px}
  .pvl-lp .pvl-sched-grid{flex-direction:column}
  .pvl-lp .pvl-sched-side{width:100%}
}

@media (max-width:767px){
  .pvl-lp .pvl-sec{padding:64px 0}
  .pvl-lp .pvl-sec-dark{padding:64px 0}
  .pvl-lp .pvl-container{padding:0 18px}
  /* Sticky top bar keeps the call + book actions in reach on mobile */
  .pvl-lp .pvl-topbar{position:sticky;top:0;box-shadow:0 2px 10px rgba(16,16,16,.08)}
  .pvl-lp .pvl-topbar-in{min-height:54px;gap:10px}
  .pvl-lp .pvl-logolock img{width:140px;height:22px}
  .pvl-lp .pvl-topbar-buttons{gap:8px}
  .pvl-lp .pvl-topbar .pvl-btn{font-size:11px}
  .pvl-lp .pvl-topbar .pvl-btn-primary{padding:10px 12px}
  .pvl-lp .pvl-topbar .pvl-btn-call{padding:9px 10px}
  .pvl-lp .pvl-hero-copy h1{font-size:29px;line-height:36px;margin-bottom:24px}
  .pvl-lp .pvl-hero-card{padding:28px 22px}
  .pvl-lp .pvl-hero-card h2{font-size:24px;line-height:29px}
  .pvl-lp .pvl-sec-head h2{font-size:26px;line-height:32px}
  .pvl-lp .pvl-sec-head .pvl-eyebrow{margin-bottom:18px}
  .pvl-lp .pvl-sec-head .pvl-sec-sub{margin-top:18px}
  .pvl-lp .pvl-ba-gallery{grid-template-columns:1fr}
  .pvl-lp .pvl-photo-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto 24px}
  .pvl-lp .pvl-video-grid{flex-direction:column;align-items:center}
  .pvl-lp .pvl-video-grid>div{width:min(382px,100%)}
  .pvl-lp .pvl-split-copy h2{font-size:25px;line-height:31px}
  .pvl-lp .pvl-treat-grid{grid-template-columns:1fr}
  .pvl-lp .pvl-treat{min-height:0}
  .pvl-lp .pvl-dark-title{font-size:24px;line-height:30px}
  .pvl-lp .pvl-trust-grid{grid-template-columns:1fr}
  .pvl-lp .pvl-final h2{font-size:22px;line-height:28px}
  .pvl-lp .pvl-ctas{gap:14px;margin-top:32px}
  .pvl-lp .pvl-ctas .pvl-btn{width:100%;max-width:340px}
  .pvl-lp .pvl-ctas.left .pvl-btn{max-width:none}
  .pvl-lp .pvl-sched-band{padding:44px 0}
  .pvl-lp .pvl-sched-band h1{font-size:26px;line-height:32px}
  .pvl-lp .pvl-sched-body{padding:48px 0}
  .pvl-lp .pvl-ty{padding:64px 0 44px}
  .pvl-lp .pvl-ty h1{font-size:30px;line-height:36px}
  .pvl-lp .pvl-ty-steps{grid-template-columns:1fr;gap:28px}
  .pvl-lp .pvl-footer{padding:36px 0}
  .pvl-lp .pvl-ty ~ .pvl-footer .pvl-footer-line{font-size:13px;line-height:17px}
}

@media (max-width:420px){
  .pvl-lp .pvl-logolock img{width:118px;height:19px}
  .pvl-lp .pvl-topbar .pvl-btn-call svg{margin:0}
  .pvl-lp .pvl-topbar .pvl-btn-call .pvl-btn-call-label{display:none}
}
