/* ==================================================================
   Hair Patch Landing — Divine Hair and Skin Clinic (v1.7.1 premium)
   Gold + Black + Ivory + White luxury palette.
   Mobile-first. Progressive: 480 / 768 / 1024.
   ================================================================== */

:root{
  --gold:#c9a24d;
  --gold-2:#e6c168;
  --gold-soft:#f3e6c2;
  --gold-dark:#8a6a24;
  --ink:#0b0b0b;
  --ink-2:#1e1c19;
  --ink-3:#4a4640;
  --muted:#7a7466;
  --ivory:#fbf7ee;
  --ivory-2:#f6efdd;
  --white:#ffffff;
  --line:#ece3ce;
  --shadow-sm:0 4px 12px rgba(11,11,11,.05);
  --shadow:0 10px 32px rgba(11,11,11,.08);
  --shadow-lg:0 24px 60px rgba(11,11,11,.14);
  --radius:16px;
  --radius-lg:26px;
  --container:1180px;
  --whatsapp:#25d366;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ivory);color:var(--ink);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;height:auto}
a{color:var(--gold-dark);text-decoration:none}
a:hover{opacity:.85}
h1,h2,h3,h4{font-family:'Playfair Display','Poppins',Georgia,serif;color:var(--ink);margin:0;font-weight:800;letter-spacing:-.015em;line-height:1.2}
p{margin:0 0 .75rem;color:var(--ink-3)}
button{font-family:inherit}

.hp-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 18px}
.divine-logo-img{height:44px;width:auto;display:block;image-rendering:-webkit-optimize-contrast}

/* ===== Buttons ===== */
.hp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.85rem 1.4rem;border-radius:999px;font-weight:700;font-size:15px;border:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;text-decoration:none!important;white-space:nowrap;letter-spacing:.01em}
.hp-btn:active{transform:translateY(1px)}
.hp-btn--primary{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 55%,var(--gold-dark) 100%);color:#0b0b0b;box-shadow:0 12px 28px rgba(201,162,77,.35),inset 0 1px 0 rgba(255,255,255,.35);text-shadow:0 1px 0 rgba(255,255,255,.15)}
.hp-btn--primary:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(201,162,77,.42)}
.hp-btn--call{background:#fff;color:var(--ink);border:1.5px solid var(--gold)}
.hp-btn--call:hover{background:var(--ivory)}
.hp-btn--whatsapp{background:var(--whatsapp);color:#fff}
.hp-btn--whatsapp:hover{background:#20b955}
.hp-btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.hp-btn--xl{min-height:60px;padding:1rem 1.7rem;font-size:16px}
.hp-btn--block{display:flex;width:100%}
.hp-btn__spinner{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(11,11,11,.35);border-top-color:#0b0b0b;animation:hpSpin .8s linear infinite}
.hp-btn.is-loading{pointer-events:none;opacity:.85}.hp-btn.is-loading .hp-btn__spinner{display:inline-block}
@keyframes hpSpin{to{transform:rotate(360deg)}}

.hp-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .9rem;background:var(--ivory-2);color:var(--gold-dark);border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem}
.hp-eyebrow::before{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%}

/* ===== Topbar ===== */
.hp-topbar{position:sticky;top:0;z-index:40;background:rgba(11,11,11,.94);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(201,162,77,.25)}
.hp-topbar__inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 18px;min-height:60px;gap:.5rem}
.hp-brand{display:flex;align-items:center;gap:.6rem;color:#fbf7ee;text-decoration:none!important}
.hp-brand__wrap{display:none}
.hp-brand__logo{height:38px;width:auto}
.hp-topbar__call{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b0b0b!important;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none!important;box-shadow:0 6px 18px rgba(201,162,77,.35)}
.hp-topbar__call span{display:none}

/* ===== Hero ===== */
.hp-hero{padding:32px 0 24px;background:radial-gradient(1200px 500px at 80% -20%,rgba(201,162,77,.14),transparent 60%),linear-gradient(180deg,#0b0b0b 0%,#1a1611 100%);color:#fbf7ee;position:relative;overflow:hidden}
.hp-hero::after{content:"";position:absolute;left:-60px;bottom:-100px;width:280px;height:280px;background:radial-gradient(circle,rgba(230,193,104,.25),transparent 70%);border-radius:50%;pointer-events:none}
.hp-hero__inner{display:flex;flex-direction:column;gap:26px;position:relative;z-index:1}
.hp-hero__copy{max-width:640px}
.hp-hero .hp-eyebrow{background:rgba(201,162,77,.14);border-color:rgba(201,162,77,.35);color:var(--gold-2)}
.hp-hero__title{font-size:34px;line-height:1.12;color:#fff}
.hp-hero__title em{font-style:normal;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hp-hero__sub{font-size:15.5px;color:#d7d1bd;margin-top:.75rem}
.hp-hero__perks{list-style:none;padding:0;margin:1.1rem 0 1.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}
.hp-hero__perks li{display:flex;align-items:center;gap:.55rem;font-weight:500;color:#f0eadb;font-size:14.5px}
.hp-hero__perks li::before{content:"✓";width:22px;height:22px;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b0b0b;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}
.hp-cta-row{display:grid;grid-template-columns:1fr;gap:.65rem;margin-bottom:1.25rem}
.hp-cta-row .hp-btn{width:100%}
.hp-trust-strip{display:flex;flex-wrap:wrap;gap:.4rem .9rem;color:#c8c2ae;font-size:13px;font-weight:600;padding-top:1rem;border-top:1px solid rgba(201,162,77,.20)}
.hp-trust-strip span{display:inline-flex;align-items:center;gap:.35rem}

.hp-hero__media{position:relative}
.hp-hero__ba{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(201,162,77,.35);background:linear-gradient(135deg,#232019,#0b0b0b);position:relative}
.hp-hero__ba::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:linear-gradient(180deg,transparent,var(--gold),transparent);pointer-events:none;z-index:2}
.hp-hero__ba img{aspect-ratio:3/4;object-fit:cover;width:100%;background:linear-gradient(135deg,#3a3630,#1e1b17)}
.hp-hero__media figcaption{margin-top:.6rem;color:#a19a86;font-size:12.5px;text-align:center}

/* ===== Sections ===== */
.hp-section{padding:56px 0;position:relative}
.hp-section:nth-of-type(even){background:var(--white)}
.hp-section__head{margin-bottom:2rem;text-align:center;max-width:720px;margin-left:auto;margin-right:auto}
.hp-section__head--left{text-align:left;margin-left:0;margin-right:0}
.hp-section__head h2{font-size:28px;line-height:1.15;margin:.15rem 0 .6rem}
.hp-section__head p{font-size:15px;color:var(--ink-3)}

.hp-grid{display:grid;gap:14px;grid-template-columns:1fr}
.hp-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}
.hp-card__icon{display:inline-flex;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--ivory),var(--gold-soft));color:var(--gold-dark);align-items:center;justify-content:center;font-size:24px;margin-bottom:.9rem;border:1px solid var(--line)}
.hp-card h3{font-size:17px;margin:0 0 .4rem;font-family:'Playfair Display',serif}
.hp-card p{font-size:14.5px;color:var(--ink-3);margin:0}

/* Before/After premium slider */
.hp-ba-grid{display:grid;grid-template-columns:1fr;gap:20px}
.hp-ba-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);margin:0}
.hp-ba-card__images{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--ink);position:relative}
.hp-ba-card__images::after{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:linear-gradient(180deg,var(--gold-2),var(--gold-dark));z-index:2}
.hp-ba-card__slot{position:relative;overflow:hidden;background:linear-gradient(135deg,#3a3630,#0b0b0b)}
.hp-ba-card__slot img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .5s ease}
.hp-ba-card:hover .hp-ba-card__slot img{transform:scale(1.03)}
.hp-ba-card__tag{position:absolute;top:12px;left:12px;background:rgba(11,11,11,.85);color:#fff;font-size:10.5px;font-weight:800;padding:.3rem .7rem;border-radius:999px;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15)}
.hp-ba-card__tag--after{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b0b0b;border-color:transparent}
.hp-ba-card figcaption{padding:.9rem 1.1rem;font-weight:600;color:var(--ink);text-align:center;font-size:14.5px;background:var(--ivory);border-top:1px solid var(--line)}
.hp-inline-cta{margin-top:1.5rem;text-align:center}

/* Testimonials */
.hp-testimonials{display:grid;gap:14px;grid-template-columns:1fr}
.hp-testimonial{background:#fff;border-radius:var(--radius);padding:20px 20px 18px;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin:0;position:relative}
.hp-testimonial::before{content:"“";position:absolute;top:6px;left:14px;font-family:'Playfair Display',serif;font-size:56px;color:var(--gold);opacity:.4;line-height:1}
.hp-testimonial__stars{color:var(--gold);font-size:16px;margin:0 0 .5rem;letter-spacing:.05em}
.hp-testimonial p{font-size:14.5px;color:var(--ink);font-style:italic;margin:0 0 .75rem}
.hp-testimonial footer{font-size:13px;color:var(--muted)}
.hp-testimonial footer strong{color:var(--ink)}

/* FAQ */
.hp-faq-list{display:grid;gap:12px;max-width:880px;margin:0 auto}
.hp-faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;transition:border-color .2s ease,box-shadow .2s ease}
.hp-faq-item[open]{border-color:var(--gold);box-shadow:var(--shadow-sm)}
.hp-faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink);list-style:none;font-family:'Playfair Display',serif}
.hp-faq-item summary::-webkit-details-marker{display:none}
.hp-faq-item__chev{color:var(--gold);transition:transform .2s ease;font-size:14px}
.hp-faq-item[open] .hp-faq-item__chev{transform:rotate(180deg)}
.hp-faq-item p{margin-top:.7rem;color:var(--ink-3);font-size:14.5px}

/* Clinic */
.hp-clinic__grid{display:grid;grid-template-columns:1fr;gap:16px}
.hp-clinic__info{background:#fff;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);border:1px solid var(--line);font-style:normal}
.hp-clinic__row{display:flex;flex-direction:column;padding:.7rem 0;border-bottom:1px dashed var(--line)}
.hp-clinic__row:last-of-type{border-bottom:0}
.hp-clinic__label{font-weight:700;color:var(--gold-dark);font-size:11px;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.14em}
.hp-clinic__map{border-radius:var(--radius);overflow:hidden;background:#fff;min-height:300px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.hp-map-placeholder{display:grid;place-items:center;height:100%;min-height:300px;padding:1rem;text-align:center;color:var(--muted);background:linear-gradient(135deg,var(--ivory),#fff)}
.hp-map-placeholder span{font-size:36px;color:var(--gold)}
.hp-map-placeholder h3{margin:.5rem 0;color:var(--ink);font-family:'Playfair Display',serif}
.hp-map-placeholder code{background:var(--ink);color:var(--gold-2);padding:.25rem .6rem;border-radius:6px;font-size:12px}

/* Form */
.hp-appt{background:linear-gradient(180deg,#0b0b0b 0%,#1a1611 100%);color:#fbf7ee;padding:64px 0}
.hp-appt .hp-section__head h2{color:#fff}
.hp-appt .hp-section__head p{color:#c8c2ae}
.hp-appt .hp-eyebrow{background:rgba(201,162,77,.14);border-color:rgba(201,162,77,.35);color:var(--gold-2)}
.hp-appt__inner{max-width:880px;margin:0 auto}
.hp-form{background:#fff;border-radius:var(--radius-lg);padding:26px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--line);color:var(--ink)}
.hp-form__grid{display:grid;grid-template-columns:1fr;gap:16px}
.hp-field{display:flex;flex-direction:column;gap:.4rem}
.hp-field--wide{grid-column:1/-1}
.hp-field__label{font-weight:600;font-size:13.5px;color:var(--ink)}
.hp-req{color:#c62828;margin-left:.2rem}
.hp-input{min-height:52px;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:.75rem 1rem;font:inherit;color:var(--ink);width:100%;transition:border-color .2s ease,box-shadow .2s ease}
textarea.hp-input{min-height:108px;resize:vertical}
.hp-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,77,.18)}
.hp-input:invalid:not(:placeholder-shown):not(:focus){border-color:#dc2626}
.hp-consent{flex-direction:row;align-items:flex-start;gap:.65rem;font-size:13.5px;color:var(--ink-3)}
.hp-consent input{width:22px;height:22px;margin-top:.15rem;accent-color:var(--gold)}
.hp-form__actions{margin-top:1.5rem;text-align:center}
.hp-form__legal{margin-top:1rem;font-size:12px;color:var(--muted)}
.hp-form__error{margin-top:1rem;padding:.8rem 1rem;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px;font-weight:600;border:1px solid #fecaca}

/* Footer */
.hp-footer{background:#0b0b0b;color:#c8c2ae;padding:44px 0 16px;margin-bottom:68px;border-top:1px solid rgba(201,162,77,.25)}
.hp-footer h4{color:#fff;font-size:12.5px;margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.16em;font-family:'Poppins',sans-serif}
.hp-footer p{color:#a19a86;font-size:14px;margin:0 0 .4rem}
.hp-footer a{color:var(--gold-2)}
.hp-footer__grid{display:grid;grid-template-columns:1fr;gap:22px}
.hp-footer__logo{margin-bottom:.75rem}
.hp-footer__logo img{height:64px;filter:drop-shadow(0 3px 10px rgba(201,162,77,.35))}
.hp-footer__tag{color:#a19a86}
.hp-footer__bottom{border-top:1px solid #1e1b16;margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:#7a7466;font-size:12.5px}

/* Sticky mobile CTA */
.hp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:2px;background:#0b0b0b;border-top:1px solid rgba(201,162,77,.35);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.hp-sticky__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:66px;color:#fff!important;font-size:11.5px;font-weight:700;text-decoration:none!important;padding:.5rem .3rem;letter-spacing:.03em}
.hp-sticky__btn--call{background:linear-gradient(135deg,#1a1611,#0b0b0b);color:var(--gold-2)!important}
.hp-sticky__btn--whatsapp{background:var(--whatsapp)}
.hp-sticky__btn--book{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:#0b0b0b!important}

/* Thank-you */
.hp-thankyou{padding:56px 0 108px;background:linear-gradient(180deg,var(--ivory) 0%,#fff 100%);min-height:calc(100vh - 60px)}
.hp-thankyou__inner{max-width:680px;margin:0 auto;text-align:center;padding:0 18px}
.hp-thankyou__badge{width:96px;height:96px;margin:0 auto 1.2rem;border-radius:50%;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#0b0b0b;display:grid;place-items:center;font-size:48px;font-weight:800;box-shadow:0 24px 50px rgba(201,162,77,.4)}
.hp-thankyou h1{font-size:32px;margin-bottom:.5rem}
.hp-thankyou__lead{font-size:16px;color:var(--ink-3);margin-bottom:1.5rem}
.hp-thankyou__ref{background:#fff;border:1px solid var(--gold);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:.2rem;margin:0 auto 1.25rem;max-width:360px;box-shadow:var(--shadow)}
.hp-thankyou__ref span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.hp-thankyou__ref strong{font-size:24px;color:var(--gold-dark);font-family:'Playfair Display',serif}
.hp-thankyou__summary{list-style:none;padding:0;margin:0 auto 1.25rem;max-width:440px;text-align:left;background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.hp-thankyou__summary li{display:flex;justify-content:space-between;padding:.75rem 1.1rem;border-bottom:1px dashed var(--line)}
.hp-thankyou__summary li:last-child{border-bottom:0}
.hp-thankyou__summary span{color:var(--muted)}
.hp-thankyou__summary strong{color:var(--ink)}
.hp-thankyou__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem}
.hp-thankyou__note{text-align:left;background:#fff;padding:20px;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.hp-thankyou__note ol{margin:.5rem 0 0;padding-left:1.25rem;color:var(--ink-3)}
.hp-thankyou__note li{margin:.4rem 0}

/* Breakpoints */
@media (min-width:480px){
  .hp-cta-row{grid-template-columns:1fr 1fr}
  .hp-cta-row .hp-btn--primary{grid-column:1/-1}
  .hp-hero__perks{grid-template-columns:1fr 1fr}
  .hp-form__grid{grid-template-columns:1fr 1fr}
  .hp-grid--benefits,.hp-grid--why{grid-template-columns:1fr 1fr}
  .hp-testimonials{grid-template-columns:1fr 1fr}
  .hp-topbar__call span{display:inline}
  .hp-brand__wrap{display:none}
}
@media (min-width:768px){
  .hp-container{padding:0 28px}
  .hp-section{padding:80px 0}
  .hp-section__head h2{font-size:36px}
  .hp-hero{padding:56px 0 36px}
  .hp-hero__inner{flex-direction:row;align-items:center;gap:44px}
  .hp-hero__copy{flex:1}
  .hp-hero__media{flex:1;margin:0}
  .hp-hero__title{font-size:48px}
  .hp-cta-row{grid-template-columns:auto auto auto;justify-content:flex-start}
  .hp-cta-row .hp-btn{width:auto}
  .hp-cta-row .hp-btn--primary{grid-column:auto}
  .hp-grid--benefits,.hp-grid--why{grid-template-columns:repeat(3,1fr)}
  .hp-ba-grid{grid-template-columns:repeat(3,1fr)}
  .hp-testimonials{grid-template-columns:repeat(2,1fr)}
  .hp-clinic__grid{grid-template-columns:1fr 1fr}
  .hp-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}
  .hp-footer{margin-bottom:0}
  .hp-sticky{display:none}
  .hp-form{padding:36px}
}
@media (min-width:1024px){
  .hp-section__head h2{font-size:42px}
  .hp-hero__title{font-size:60px}
  .hp-testimonials{grid-template-columns:repeat(4,1fr)}
}

/* Micro interactions */
.hp-btn,.hp-card,.hp-ba-card,.hp-faq-item{will-change:transform}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:focus-visible{outline:3px solid rgba(201,162,77,.5);outline-offset:2px;border-radius:8px}

/* ==================================================================
   v1.7.1 PREMIUM POLISH — scroll animations, floating rating badge,
   hero pulse CTA, gold rule, card hover elevation, form focus ring.
   ================================================================== */

/* Entrance animations */
@keyframes hpFadeUp { from { opacity:0; transform: translateY(24px); } to { opacity:1; transform:none; } }
@keyframes hpFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes hpGoldPulse { 0%,100% { box-shadow: 0 12px 28px rgba(201,162,77,.35), inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 0 rgba(230,193,104,.6); } 50% { box-shadow: 0 18px 42px rgba(201,162,77,.5), inset 0 1px 0 rgba(255,255,255,.35), 0 0 0 12px rgba(230,193,104,0); } }
@keyframes hpFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes hpShine { 0% { transform: translateX(-120%) skewX(-20deg); } 100% { transform: translateX(220%) skewX(-20deg); } }

.hp-hero__title,.hp-hero__sub,.hp-hero__perks,.hp-cta-row,.hp-trust-strip{animation: hpFadeUp .8s cubic-bezier(.22,.61,.36,1) both}
.hp-hero__title{animation-delay:.05s}
.hp-hero__sub{animation-delay:.15s}
.hp-hero__perks{animation-delay:.25s}
.hp-cta-row{animation-delay:.35s}
.hp-trust-strip{animation-delay:.45s}
.hp-hero__media{animation: hpFadeIn 1s .3s both}

/* Reveal on scroll */
.reveal{opacity:0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);}
.reveal.is-in{opacity:1; transform: none;}

/* Primary CTA pulse for hero (attention grabbing) */
.hp-hero .hp-btn--primary{animation: hpGoldPulse 2.4s ease-in-out infinite; position:relative; overflow:hidden}
.hp-hero .hp-btn--primary::after{content:""; position:absolute; top:0; left:0; height:100%; width:60%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: hpShine 3.2s ease-in-out infinite; pointer-events:none;}

/* Floating rating badge on hero */
.hp-hero__rating{position:absolute; z-index:3; background:#fff; color:var(--ink); border-radius:14px; padding:.6rem .85rem; box-shadow:0 20px 45px rgba(0,0,0,.35), 0 0 0 1px rgba(201,162,77,.35); display:none; align-items:center; gap:.55rem; animation: hpFloat 4s ease-in-out infinite;}
.hp-hero__rating strong{font-family:'Playfair Display',serif; font-size:20px; color:var(--gold-dark); line-height:1}
.hp-hero__rating small{color:var(--muted); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; font-weight:600}
.hp-hero__rating .stars{color:var(--gold); font-size:13px; letter-spacing:.05em}

/* Hero decorative divider */
.hp-gold-rule{display:block; margin:1.25rem 0 0; height:2px; width:96px; background:linear-gradient(90deg, transparent, var(--gold), transparent); border:0; opacity:.7}

/* Cards - deeper hover elevation and subtle gold border shimmer */
.hp-card{position:relative; overflow:hidden}
.hp-card::before{content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg, rgba(230,193,104,0), rgba(230,193,104,.08) 60%, rgba(230,193,104,0)); opacity:0; transition: opacity .3s ease; pointer-events:none;}
.hp-card:hover::before{opacity:1;}
.hp-card__icon{transition: transform .35s cubic-bezier(.4,1.6,.6,1);}
.hp-card:hover .hp-card__icon{transform: rotate(-6deg) scale(1.06);}

/* Testimonials - lifted quote */
.hp-testimonial{overflow:hidden; transition: transform .2s ease, box-shadow .25s ease;}
.hp-testimonial:hover{transform: translateY(-2px); box-shadow: var(--shadow);}
.hp-testimonial::after{content:""; position:absolute; inset:auto -30% -50% auto; width:180px; height:180px; background: radial-gradient(circle, rgba(230,193,104,.18), transparent 65%); pointer-events:none;}

/* Testimonial avatar */
.hp-testimonial__author{display:flex; align-items:center; gap:.65rem; margin-top:.5rem;}
.hp-testimonial__avatar{width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:#0b0b0b; display:grid; place-items:center; font-weight:800; font-family:'Playfair Display',serif; font-size:15px; flex-shrink:0}

/* Section separators - subtle gold accents */
.hp-section__head h2::after{content:""; display:block; margin:.9rem auto 0; width:64px; height:3px; background:linear-gradient(90deg, var(--gold), var(--gold-dark)); border-radius:2px;}
.hp-section__head--left h2::after{margin-left:0; margin-right:auto;}

/* Enhanced form focus */
.hp-input:focus{transform: translateY(-1px);}
.hp-form__grid label:focus-within .hp-field__label{color: var(--gold-dark);}

/* FAQ hover */
.hp-faq-item:hover{border-color: var(--gold-2);}

/* Before/After label emphasis */
.hp-ba-card:hover .hp-ba-card__tag--after{transform: translateY(-2px); box-shadow: 0 8px 18px rgba(201,162,77,.4);}

/* Trust bar (custom small strip below hero on desktop) */
.hp-trust-bar{display:none; padding:16px 0; background:#fff; border-bottom:1px solid var(--line);}
.hp-trust-bar__row{display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; align-items:center; text-align:center; color:var(--ink-3); font-size:13px; font-weight:600;}
.hp-trust-bar__row .item{display:flex; align-items:center; justify-content:center; gap:.5rem;}
.hp-trust-bar__row .num{font-family:'Playfair Display',serif; font-size:22px; color:var(--gold-dark); font-weight:800; line-height:1;}

/* Show trust bar on desktop, rating badge on hero on desktop */
@media (min-width:768px){
  .hp-trust-bar{display:block;}
  .hp-hero__rating{display:inline-flex; top:20px; left:-24px;}
}
@media (min-width:1024px){
  .hp-hero__rating{top:30px; left:-40px;}
}

/* Appointment form — premium touches */
.hp-appt::before{content:""; position:absolute; inset:0; background:
  radial-gradient(600px 300px at 15% 20%, rgba(201,162,77,.12), transparent 60%),
  radial-gradient(600px 300px at 85% 80%, rgba(201,162,77,.10), transparent 60%);
  pointer-events:none;
}
.hp-appt{position:relative;}
.hp-appt__inner{position:relative; z-index:1;}

/* Section badges: subtle gold border */
.hp-eyebrow{box-shadow: 0 4px 12px rgba(201,162,77,.15);}

/* Sticky mobile CTA — polish */
.hp-sticky__btn:active{filter: brightness(.92);}
.hp-sticky__btn--book{animation: hpGoldPulse 3s ease-in-out infinite;}

/* Footer - subtle gold border top */
.hp-footer::before{content:""; display:block; height:1px; width:100%; background:linear-gradient(90deg, transparent, var(--gold), transparent); position:absolute; top:0; left:0;}
.hp-footer{position:relative;}
.hp-footer__logo{margin-bottom:.9rem;}

/* Topbar - CTA sheen */
.hp-topbar__call{position:relative; overflow:hidden}
.hp-topbar__call::after{content:""; position:absolute; top:0; left:0; height:100%; width:40%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); animation: hpShine 4s ease-in-out infinite; pointer-events:none;}

/* Better placeholder gradient for hero images while loading */
.hp-hero__ba img, .hp-ba-card__slot img{background:linear-gradient(135deg,#2a2620 0%,#1a1611 50%,#0b0b0b 100%);}

/* Loading state for form submit */
.hp-btn.is-loading .hp-btn__label{opacity:.5;}

