/* Preserve the original layout, typography, imagery and colour family. */
.site-shell {
  background: radial-gradient(ellipse at 8% 18%, #f1d5db 0, transparent 32rem), linear-gradient(130deg, #fffaf1, #f1e6ed 62%, #e7ddeb);
}
.site-header {
  background: linear-gradient(112deg, #fffaf5f5, #f1e3edf0 62%, #e5d9e9ed);
  box-shadow: 0 3px 22px #4426380b;
}
.hero-copy-column {
  background: linear-gradient(115deg, transparent 0 72%, #c691a82b 72% 72.5%, transparent 72.5%), radial-gradient(ellipse at 0% 92%, #e4b6c57a, transparent 72%), linear-gradient(145deg, #fffaf1 8%, #f5e4e6 54%, #e7dcec);
}
.worries-section,.methods-section,.menu-section,.faq-section {
  background: radial-gradient(ellipse at 95% 8%, #ebc6d34d, transparent 48%), linear-gradient(120deg, #fffbf5 10%, #f7e9e9 65%, #eee4f0);
}
.learning-section,.future-section,.about-section {
  background: radial-gradient(ellipse at 12% 25%, #fff6e6bf, transparent 48%), linear-gradient(130deg, #f1d5da, #e4d7ed 65%, #f3e6df);
}
.features-section {
  background: radial-gradient(ellipse at 10% 12%, #d9c9e68c, transparent 50%), linear-gradient(145deg, #fff9f0, #f1dfe4 78%, #e5d9ed);
}
.method-item,.salon-card {
  background: linear-gradient(125deg, #fffcf7 12%, #faeee9 65%, #eee3f0);
  box-shadow: 0 18px 44px #3c2d3f17, inset 0 1px #fff;
}
.learning-step,.change-column,.hero-visual-note,.editorial-photo figcaption,.portrait-frame figcaption {
  background: linear-gradient(135deg, #fffaf4f5, #f5e6e8ed 60%, #e8ddecf0);
  box-shadow: inset 0 1px #ffffffb3, 0 12px 28px #6e464814;
}
.menu-price {
  background: linear-gradient(130deg, #f7dfe2, #e5d4e9);
  box-shadow: inset 0 1px #ffffffa6, 0 8px 20px #5034470d;
}
.menu-cta,.learning-callout {
  background: linear-gradient(120deg, #ecdeef, #f5e2e2 62%, #e2d1e6);
  box-shadow: inset 0 1px #ffffffa6;
}
.hero-points span,.menu-tags span {
  background: linear-gradient(135deg, #f5ecfa, #dfcee9);
  box-shadow: inset 0 1px #ffffffb3;
}
.testimonial {
  background: linear-gradient(140deg, #fff6ec29, #dfb9d019 66%, #f8e4fa12);
  box-shadow: inset 0 1px #ffffff1f, 0 14px 32px #170d231a;
}
.contact-section {
  background: linear-gradient(180deg, #f5e9eb 0 7rem, #3a253f 7rem, #241529);
}
.contact-card {
  background: radial-gradient(ellipse at 100% 0%, #a768836b, transparent 70%), linear-gradient(135deg, #56334c, #34213d 63%, #221528);
  box-shadow: inset 0 1px #efd1dd29, 0 20px 45px #160d251f;
}
.site-footer { background: linear-gradient(120deg, #201126, #352138 64%, #29172e); }
.mobile-navigation {
  background: radial-gradient(ellipse at 95% 18%, #ead1e3, transparent 65%), linear-gradient(150deg, #fff8ef, #f0dfe9);
  overflow-y: auto;
}
.button,.header-mail,.mobile-fixed-mail,.mobile-navigation a {
  border-radius: 4px;
  transition: box-shadow .2s ease, filter .2s ease, transform .2s ease;
}
.button--primary,.header-mail,.mobile-fixed-mail,.mobile-navigation a {
  color: #fffaf5;
  background: linear-gradient(180deg, #ffffff20, transparent 47%), linear-gradient(115deg, #98546a, #794057 49%, #49304e);
  border: 1px solid #f5cdd344;
  box-shadow: inset 0 1px #ffffff59, inset 0 -1px #2c153c33, 0 12px 28px #72394130;
}
.button--soft {
  color: #38233e;
  background: linear-gradient(180deg, #ffffff80, transparent 52%), linear-gradient(115deg, #f0e3f5, #dfcbe9 50%, #c9afce);
  border-color: #9b80a366;
  box-shadow: inset 0 1px #ffffffd9, 0 9px 23px #5035581f;
}
.button--light {
  color: #38233e;
  background: linear-gradient(180deg, #ffffff94, transparent 53%), linear-gradient(110deg, #fff9e9, #f1d8d9 60%, #d7bfdc);
  border-color: #ffffff70;
  box-shadow: inset 0 1px #ffffff, 0 12px 25px #11081740;
}
.mobile-menu-button {
  background: linear-gradient(135deg, #fff9f1, #e8d8e8);
  box-shadow: inset 0 1px #fff, 0 3px 8px #4b2e4212;
}
:where(a,button):focus-visible { outline: 3px solid #8b576e; outline-offset: 4px; }
.contact-card a:focus-visible,.mobile-fixed-mail:focus-visible { outline-color: #f8d6ad; }
.button,.header-mail,.mobile-fixed-mail { max-width: 100%; white-space: normal; text-align: center; }
.method-copy>p:last-child,.feature-copy>p,.menu-copy>p:not(.menu-lead),.worry-item p,.change-column>p:not(.change-label),.faq-answer,.salon-card dd { font-size: 1rem; }
.hero-audience,.hero-points span,.menu-tags span,.hero-access,.method-name,.menu-lead,.change-label,.salon-card dt,.contact-email { font-size: .875rem; }
.voice-note,.footer-inner span,.footer-inner small,.footer-inner a,.section-kicker,.hero-visual-note span { font-size: .8125rem; }
.section { scroll-margin-top: 90px; }
@media (hover:hover) {
  .button--primary:hover,.header-mail:hover,.mobile-fixed-mail:hover,.mobile-navigation a:hover {
    color: #fffaf5;
    background: linear-gradient(180deg, #ffffff24, transparent 48%), linear-gradient(115deg, #a55e75, #7f4561 49%, #533254);
    box-shadow: inset 0 1px #ffffff70, 0 15px 32px #72394140;
  }
  .button--soft:hover,.button--light:hover { color: #38233e; background: linear-gradient(120deg, #fff6ed, #eed8e6 60%, #d9c1e4); box-shadow: inset 0 1px #fff, 0 14px 29px #3d234333; }
}
@media (min-width: 800px) {
  .hero-copy-inner h1 { font-size: clamp(2.65rem, 4.2vw, 5rem); }
  .hero-actions { flex-wrap: wrap; }
}
@media (min-width: 1080px) {
  .header-inner { gap: 1.2rem; }
  .desktop-nav { gap: .9rem; }
  .desktop-nav button,.header-mail { font-size: .875rem; }
  .header-mail { flex-shrink: 0; }
  .text-wordmark { flex-shrink: 0; }
}
@media (min-width: 1080px) and (max-width: 1240px) {
  .desktop-nav { flex-wrap: wrap; gap: .1rem .9rem; }
  .desktop-nav button { padding: .1rem 0; }
}
@media (max-width: 639px) {
  .contact-card .button { padding-inline: .65rem; }
  .hero-copy-inner h1 { font-size: clamp(2.1rem, 10.6vw, 3.3rem); }
  .button { padding-inline: 1.05rem; }
  .hero-visual-note p { font-size: .9375rem; }
}
