/* Clear choices, quiet browsing, the existing Glow palette. */
html { scroll-padding-top: 120px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #b58c48; outline-offset: 5px; }
.header nav { gap: clamp(16px,2vw,30px); font-size: .8rem; }
.hero { min-height: 700px; height: min(850px,100svh); }
.hero-center h1 { font-size: clamp(2.8rem,4.4vw,4.5rem); line-height: 1.08; }
.hero-center { top: 49%; }
.hero-center > p:not(.hero-kicker):not(.hero-script) { font-size: 1rem; line-height: 1.6; }
.hero-script { opacity: .14; }
.service-hero { min-height: 610px; }
.service-hero-copy { padding-top: 145px; padding-bottom: 56px; }
.service-hero-copy h1, .treatment-hero h1 { font-size: clamp(2.6rem,4.6vw,4.6rem); line-height: 1.1; }
.service-hero-photo { min-height: 610px; }
.treatment-index-hero { padding-top: 154px; padding-bottom: 48px; }
.treatment-index-hero h1 { font-size: clamp(2.7rem,5vw,4.8rem); line-height: 1.08; max-width: 900px; }
.section-tag, .hero-kicker, .service-trust, .hero-bottom { letter-spacing: .1em; }
.hero-bottom { font-size: .72rem; }
.booking-pulse { display: none !important; }
.concierge-launcher { min-height: 48px; padding: 5px 14px 5px 5px; }
.concierge-launcher strong { font-size: .85rem; }
.need-guide { padding: 58px 7vw; background: #f4efe7; color: #123e39; }
.need-guide h2 { font-size: clamp(2.1rem,3.2vw,3.2rem); margin: 10px 0; }
.need-guide > div > p:last-child { max-width: 680px; line-height: 1.6; }
.need-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 30px 0 20px; }
.need-grid a { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #fffdf9; border: 1px solid #d9cebb; border-radius: 10px; transition: border-color .15s; }
.need-grid a:hover { border-color: #145a52; }
.need-grid strong { font-size: 1.15rem; }
.need-grid span { line-height: 1.5; font-size: .92rem; }
.need-grid small { margin-top: auto; color: #315a52; line-height: 1.5; }
.advice-link a { text-decoration: underline; text-underline-offset: 4px; }
.goal-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 25px; }
.goal-links a { display: block; padding: 13px 18px; border: 1px solid #c6ab70; border-radius: 6px; color: #fff8e8; font-size: .95rem; }
.goal-links a:first-child { background: #ead29a; color: #173e39; }
.category-price-menu, .service-faq { background: #f4efe7; color: #123e39; }
.category-price-menu .laser-menu-heading p, .category-price-menu .laser-menu-heading h2 { color: #123e39; }
.price-group { margin: 14px 0; border: 1px solid #d9cebb; border-radius: 8px; background: #fffdf9; scroll-margin-top: 115px; }
.price-group > summary { display: flex; justify-content: space-between; gap: 20px; cursor: pointer; padding: 22px; font-size: 1.05rem; font-weight: 500; list-style: none; }
.price-group > summary::-webkit-details-marker { display: none; }
.price-group[open] > summary > span { transform: rotate(45deg); }
.price-group .laser-zone-grid { padding: 0 20px 20px; }
.service-faq .faq-list summary, .service-faq .faq-list p, .service-faq h2, .service-faq h2 em { color: #123e39; text-shadow: none; }
.results-strip { grid-auto-columns: minmax(270px,46%); }
.results-more { margin-top: 20px; }
.results-more > summary { padding: 16px 0; cursor: pointer; text-decoration: underline; text-underline-offset: 5px; }
.results-more .results-strip { margin-top: 20px; }
/* Content and actions remain visible while imagery and scripts load. */
.motion-ready main > section:not(.hero) { opacity: 1; transform: none; }
@media (max-width:1000px) {
 .need-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .hero-center h1 { font-size: clamp(2.7rem,5vw,3.9rem); }
}
@media (max-width:650px) {
 html { scroll-padding-top: 150px; }
 .hero { height: auto; min-height: 0; padding-bottom: 22px; }
 .hero-center { position: relative; inset: auto; transform: none; width: auto; padding: 165px 7vw 20px; }
 .hero-center h1 { font-size: clamp(2.35rem,9.4vw,3rem); line-height: 1.1; }
 .hero-center .hero-script { display: none; }
 .hero-film { position: relative; inset: auto; width: 86%; margin: 12px auto 25px; height: auto; }
 .hero-film video { max-height: 330px; object-fit: cover; }
 .hero .hero-center { order: 0; }
 .hero .hero-film { order: 1; }
 .hero { display: flex; flex-direction: column; }
 .hero-bottom { position: relative; inset: auto; order: 2; padding: 12px 7vw; gap: 10px; flex-wrap: wrap; font-size: .72rem; }
 .hero .scroll { display: none; }
 .hero-kicker { font-size: .7rem; }
 .service-hero { min-height: 0; }
 .service-hero-copy { padding: 165px 7vw 30px; }
 .service-hero-copy h1, .treatment-hero h1 { font-size: clamp(2.3rem,9vw,3rem); }
 .service-hero-photo { min-height: 0; height: 270px; }
 .service-hero-photo img { height: 100%; object-fit: cover; }
 .treatment-index-hero { padding: 170px 7vw 34px; }
 .treatment-index-hero h1 { font-size: clamp(2.4rem,9vw,3rem); }
 .need-guide { padding: 36px 7vw; }
 .need-grid { gap: 10px; }
 .need-grid a { padding: 17px 14px; gap: 10px; }
 .need-grid strong { font-size: 1rem; }
 .need-grid span { font-size: .85rem; }
 .goal-links { gap: 10px; }
 .goal-links a { padding: 12px 14px; font-size: .9rem; }
 .price-group > summary { padding: 18px 16px; font-size: 1rem; }
 .price-group .laser-zone-grid { padding: 0 12px 12px; }
 .results-strip { grid-auto-columns: 86%; }
 .concierge-launcher { padding: 4px; }
 .service-actions { gap: 18px; }
 body { padding-bottom: calc(75px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
@media (max-width:650px) {
 .hero { padding-top: 0; }
 .service-hero { padding-top: 0; }
 .service-hero-copy { order: 0; }
 .service-hero-photo { order: 1; }
}
@media (max-width:650px) { .hero-bottom { display: flex; } }
