.salon-page { background:#fff; }
.salon-page .page-hero { padding:clamp(34px,5vw,68px) 0; background:#fff; }
.salon-page .salon-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.95fr); gap:clamp(30px,5vw,70px); align-items:center; width:min(1280px,calc(100% - 40px)); margin:0 auto; }
.salon-page .page-hero__inner { max-width:none; margin:0; padding:0; }
.salon-page .page-hero h1 { font-size:clamp(42px,5vw,72px); letter-spacing:-.045em; }
.salon-page .page-hero .lead { max-width:680px; font-size:clamp(18px,1.7vw,23px); line-height:1.4; }
.salon-page .hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.salon-page .salon-hero__visual { position:relative; margin:0; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--line); border-top:4px solid var(--red); border-radius:8px; box-shadow:0 14px 35px rgba(15,17,21,.09); }
.salon-page .salon-hero__visual img { width:100%; height:100%; object-fit:cover; }
.salon-page .salon-hero__visual figcaption { position:absolute; right:16px; bottom:16px; left:16px; padding:14px 16px; border:1px solid rgba(227,6,19,.2); border-radius:8px; background:rgba(255,255,255,.9); font-weight:900; }
.salon-page .page-body { width:min(1100px,calc(100% - 40px)); max-width:none; padding:70px 0 84px; }
.salon-page .page-body h2 { margin:0 0 16px; font-size:clamp(28px,3.4vw,46px); }
.salon-page .salon-services-panel,
.salon-page .salon-info-grid article,
.salon-page .page-cta { border:1px solid var(--line); border-top:3px solid var(--red); border-radius:8px; background:#fff; box-shadow:0 14px 35px rgba(15,17,21,.07); }
.salon-page .salon-services-panel { padding:clamp(24px,4vw,42px); }
.salon-page .salon-services-panel ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0 0; padding:0; list-style:none; }
.salon-page .salon-services-panel li { position:relative; margin:0; padding:18px 18px 18px 52px; border:1px solid var(--line); border-radius:8px; line-height:1.5; }
.salon-page .salon-services-panel li::before { content:"✓"; position:absolute; top:15px; left:14px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#258443; color:#fff; font-weight:900; }
.salon-page .salon-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.salon-page .salon-info-grid article { padding:clamp(24px,4vw,36px); }
.salon-page .salon-info-grid a { color:var(--red); font-weight:900; }
.salon-page .page-cta { margin-top:24px; padding:28px; background:#fff; }
.salon-page .footer-legal a { color:var(--red); }

@media (max-width:1040px) {
  .salon-page .salon-hero { grid-template-columns:1fr; }
  .salon-page .salon-hero__visual { order:-1; width:min(820px,100%); justify-self:center; aspect-ratio:16/9; }
}
@media (max-width:720px) {
  .salon-page .salon-services-panel ul,
  .salon-page .salon-info-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .salon-page .salon-hero,
  .salon-page .page-body { width:min(100% - 28px,1100px); }
  .salon-page .page-hero { padding-top:18px; }
  .salon-page .page-hero h1 { font-size:clamp(38px,11vw,50px); }
  .salon-page .salon-services-panel { padding:18px; }
  .salon-page .page-cta .button { width:100%; justify-content:center; }
}
