/* Clean V2 adaptation: warm editorial rhythm, original salon content. */
:is(.services, .experience, .results, .testimonials, .appointment, .site-footer) {
  --clean-ease: cubic-bezier(.16, 1, .3, 1);
  padding: clamp(56px, 5.5vw, 88px) 32px clamp(64px, 6vw, 96px);
}
:is(.services, .experience, .results, .testimonials, .appointment) .eyebrow {
  font-size: 12px; line-height: 1.7; letter-spacing: .27em;
}
:is(.services, .experience, .results, .testimonials, .appointment) h2 {
  font-size: clamp(42px, 4.7vw, 72px); line-height: 1.1; letter-spacing: -.05em;
}
.services { column-gap: clamp(32px, 4vw, 64px); grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); }
.services-intro { padding-top: 0; padding-bottom: 20px; }
.services h2 em { white-space: normal; }
.services-support, .results-support { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.6; }
.services-list li { grid-template-columns: 34px 72px minmax(0, 1fr); gap: 18px; padding: 26px 0; }
.service-icon { width: 72px; height: 72px; background: #eee2d1a3; }
.service-icon svg { width: 50px; height: 50px; }
.service-icon::before { height: 52px; }
.service-copy h3 { font-size: clamp(25px, 2.25vw, 34px); letter-spacing: -.04em; line-height: 1.25; }
.service-copy p { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; }
.services-photo img { border-radius: 16px; }
.services-photo figcaption { font-size: 13px; letter-spacing: .1em; padding-top: 16px; }
.experience-intro { padding: 0 0 36px; gap: 48px; }
.experience-support { font-size: clamp(19px, 1.7vw, 25px); line-height: 1.6; max-width: 390px; }
.experience-gallery { gap: 24px; }
.experience-photo figcaption { letter-spacing: .08em; font-size: 14px; padding-inline: 2px; }
.results-intro { margin-bottom: 36px; }
.results h2 { margin-bottom: 20px; }
.results-gallery { gap: 20px 24px; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) minmax(0, 1fr); }
.result-photo figcaption { font-size: 20px; }
.results-action { margin-top: 32px; }
.testimonials-intro { padding: 0 0 36px; align-items: center; }
.testimonials-source { margin: 0; font-size: 16px; padding: 12px 24px; }
.testimonials-grid { gap: clamp(32px, 4vw, 64px); }
.review-featured { background: #efe3d3c4; border: 1px solid #d6c1a338; border-radius: 16px; padding: 32px 36px; }
.review-featured .review-quote { font-size: clamp(36px, 3.25vw, 50px); line-height: 1.18; letter-spacing: -.04em; }
.review-quote { font-size: clamp(19px, 1.6vw, 24px); line-height: 1.5; }
.testimonials-list .review + .review { margin-top: 24px; padding-top: 24px; }
.review-name { font-size: 19px; }
.testimonials-footer { margin-top: 28px; }
.appointment { gap: clamp(32px, 4vw, 64px); }
.appointment-intro { padding: 26px 0 0; }
.appointment h2 { margin-bottom: 30px; }
.appointment-support { font-size: clamp(21px, 1.8vw, 27px); line-height: 1.55; }
.appointment-steps { margin-left: 0; }
.appointment-form { background: #fffcf7d4; border-color: #ba9666; border-radius: 20px; padding: 36px; }
.appointment-form h3 { font-size: clamp(33px, 3vw, 46px); line-height: 1.18; letter-spacing: -.04em; }
.appointment-field input, .appointment-field select { background: #fffdf8; transition: border-color 180ms ease, background-color 180ms ease; }
.appointment-field :is(input, select):focus { border-color: #8d642e; background: #fff; }
.appointment-choice-column label { border-radius: 6px; padding: 7px 4px; transition: background-color 160ms ease; }
.appointment-choice-column label:has(input:checked) { background: #eee2d17a; }
.appointment-choice-column label:focus-within { background: #eee2d17a; }
.site-footer { padding-bottom: 24px; }
.footer-columns { gap: 32px; }
.footer-location, .footer-attendance { padding-left: 32px; }
.site-footer h2 { font-size: clamp(32px, 2.7vw, 42px); line-height: 1.25; }
.footer-bottom { margin-top: 48px; }
:is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp, .footer-directions) {
  transition: background-color 180ms ease, color 180ms ease, transform 180ms var(--clean-ease);
}
:is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp):focus-visible { outline: 3px solid #96702e; outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
  :is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp):hover { background: #603a20; transform: translateY(-2px); }
  .footer-directions:hover { background: #eee2d1; transform: translateY(-2px); }
  .appointment-choice-column label:hover { background: #eee2d166; }
}
:is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp, .footer-directions):active { transform: translateY(0); }
@media (max-width: 1190px) {
  :is(.services, .experience, .results, .testimonials, .appointment, .site-footer) { padding-inline: 16px; }
  .services { column-gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .services-list li { grid-template-columns: 28px 56px minmax(0, 1fr); gap: 13px; }
  .service-icon { width: 56px; height: 56px; }
  .service-icon svg { width: 42px; height: 42px; }
  .service-copy h3 { font-size: 25px; }
  .appointment-form { padding: 28px; }
  .footer-columns { gap: 24px; }
  .footer-location, .footer-attendance { padding-left: 24px; }
}
@media (max-width: 1000px) {
  .results-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-location { padding-left: 0; }
  .appointment-intro { padding-top: 0; }
}
@media (max-width: 900px) {
  .services { grid-template-columns: minmax(0, 1fr); }
  :is(.services, .experience, .results, .testimonials, .appointment) h2 { font-size: clamp(40px, 6.5vw, 58px); }
  .services-list li { grid-template-columns: 32px minmax(0, 1fr) 52px; gap: 12px; }
  .service-icon { width: 52px; height: 52px; }
  .experience-intro { gap: 20px; }
  .experience-support { max-width: 570px; }
  .testimonials-intro { align-items: flex-start; }
  .review-featured .review-quote { font-size: clamp(34px, 5.2vw, 43px); }
}
@media (max-width: 640px) {
  :is(.services, .experience, .results, .testimonials, .appointment, .site-footer) { padding: 44px 0 60px; }
  :is(.services, .experience, .results, .testimonials, .appointment) .eyebrow { font-size: 11px; letter-spacing: .2em; }
  :is(.services, .experience, .results, .testimonials, .appointment) h2 { font-size: clamp(36px, 9.5vw, 54px); line-height: 1.13; }
  .services-intro { padding-bottom: 0; }
  .services-support { font-size: 18px; }
  .service-copy h3 { font-size: 25px; }
  .service-copy p { font-size: 17px; }
  .services-photo figcaption { font-size: 12px; letter-spacing: .06em; }
  .experience-intro { padding-bottom: 28px; }
  .experience-gallery { gap: 28px; }
  .experience-photo figcaption { font-size: 13px; }
  .results-gallery { gap: 26px 16px; }
  .result-photo figcaption { font-size: 18px; }
  .testimonials-intro { padding-bottom: 28px; }
  .testimonials-source { font-size: 14px; padding: 11px 20px; }
  .review-featured { padding: 24px; }
  .review-featured .review-quote { font-size: clamp(31px, 8.1vw, 41px); }
  .review-quote { font-size: 18px; line-height: 1.6; }
  .review-name { font-size: 18px; }
  .appointment-support { font-size: 19px; }
  .appointment-form { padding: 26px 20px; border-radius: 16px; }
  .appointment-form h3 { font-size: clamp(30px, 8.5vw, 42px); }
  .appointment-choice-column label { padding: 8px 2px; }
  .footer-location, .footer-attendance { padding-left: 0; }
  .site-footer h2 { font-size: clamp(32px, 8vw, 40px); }
  .site-footer { padding-bottom: 24px; }
  .footer-bottom { margin-top: 36px; }
}
@media (max-width: 420px) { .results-gallery { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 380px) {
  .services-list li { grid-template-columns: 26px minmax(0, 1fr); gap: 10px; }
  .service-icon { width: 28px; height: 32px; background: transparent; }
  .service-icon svg { width: 28px; height: 32px; }
  .service-copy h3 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp, .footer-directions),
  .appointment-field input, .appointment-field select, .appointment-choice-column label { transition: none; }
  :is(.services-cta, .results-cta, .appointment-submit, .footer-whatsapp, .footer-directions):hover { transform: none; }
}
