/* Lake Houston Medical laser hair removal page */
.laser-page {
  --laser-blush: #f1ded6;
  --laser-blue-soft: #dcebf2;
  --laser-steel: #5e7e93;
}
[data-theme='dark'] .laser-page,
.laser-page[data-theme='dark'] {
  --laser-blush: #3a2c2a;
  --laser-blue-soft: #203746;
  --laser-steel: #36566a;
}

.laser-hero {
  min-height: min(48rem, 82vh);
  position: relative;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #e8ded0;
}
.laser-hero__image,
.laser-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.laser-hero__image { object-fit: cover; object-position: center; }
.laser-hero__shade {
  background: linear-gradient(90deg, rgba(251,248,243,.98) 0%, rgba(251,248,243,.94) 38%, rgba(251,248,243,.08) 68%);
}
[data-theme='dark'] .laser-hero__shade {
  background: linear-gradient(90deg, rgba(10,22,34,.98) 0%, rgba(10,22,34,.92) 38%, rgba(10,22,34,.12) 68%);
}
.laser-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: clamp(var(--space-16), 10vw, var(--space-32));
}
.laser-hero__content h1 {
  max-width: 12ch;
  margin-top: var(--space-5);
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  letter-spacing: -.045em;
  color: var(--color-navy);
}
.laser-hero__content h1 em { color: var(--color-primary); font-style: normal; }
.laser-hero__content > p:not(.eyebrow) {
  max-width: 39rem;
  margin-top: var(--space-6);
  color: var(--color-text-muted);
  font-size: var(--text-lg);
}
.laser-hero__content small {
  display: block;
  margin-top: var(--space-5);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}

.laser-proof { background: var(--laser-blue-soft); }
.laser-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-8);
  padding-block: var(--space-8);
}
.laser-proof__grid div { display: grid; gap: var(--space-1); }
.laser-proof__grid b { font-family: var(--font-display); color: var(--color-navy); }
.laser-proof__grid span { color: var(--color-text-muted); font-size: var(--text-sm); }

.laser-intro {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(var(--space-8), 8vw, var(--space-24));
  align-items: end;
  margin-bottom: var(--space-12);
}
.laser-intro > p { color: var(--color-text-muted); font-size: var(--text-lg); }
.benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.benefit-block {
  min-height: 18rem;
  padding: clamp(var(--space-6), 5vw, var(--space-12));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--laser-blush);
}
.benefit-block:nth-child(3) { background: var(--laser-blue-soft); }
.benefit-block > span {
  margin-bottom: auto;
  font-size: var(--text-xs);
  letter-spacing: .12em;
  color: var(--color-text-muted);
}
.benefit-block h3 { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-navy); }
.benefit-block p { margin-top: var(--space-3); color: var(--color-text-muted); }
.benefit-block--wide { grid-column: span 2; min-height: 14rem; }
.benefit-block--image { padding: 0; overflow: hidden; }
.benefit-block--image img { width: 100%; height: 100%; object-fit: cover; }

.laser-tech { background: var(--color-navy); color: #eef4f9; }
.laser-tech__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(var(--space-8), 8vw, var(--space-20));
  align-items: center;
}
.laser-tech h2 { margin-top: var(--space-5); font-family: var(--font-display); font-size: var(--text-2xl); }
.laser-tech p { margin-top: var(--space-5); color: rgba(238,244,249,.76); }
.laser-tech .eyebrow { color: rgba(238,244,249,.72); }
.laser-tech figure img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.laser-tech figcaption { margin-top: var(--space-3); font-size: var(--text-xs); color: rgba(238,244,249,.62); }

.specialist-section { background: var(--laser-cream); }
.specialist-card {
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(var(--space-8), 6vw, var(--space-20));
}
.specialist-card figure { max-width: 30rem; }
.specialist-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
}
.specialist-card h2 { margin-top: var(--space-4); }
.specialist-card__role {
  margin-top: var(--space-2);
  color: var(--color-primary);
  font-weight: 700;
}
.specialist-card__role + p { margin-top: var(--space-5); color: var(--color-text-muted); }
.specialist-card .btn { margin-top: var(--space-6); }
.laser-checks { display: grid; gap: var(--space-3); margin-top: var(--space-6); }
.laser-checks li {
  position: relative;
  padding-left: var(--space-6);
  list-style: none;
}
.laser-checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-green);
  font-weight: 700;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 44px;
  margin-top: var(--space-6);
  color: inherit;
  font-weight: 700;
  text-underline-offset: .2em;
}

.area-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-8);
  border-bottom: 1px solid oklch(from var(--color-text) l c h / .14);
  padding-bottom: var(--space-4);
}
.area-tabs button {
  min-height: 44px;
  padding: var(--space-2) var(--space-5);
  border: 1px solid oklch(from var(--color-text) l c h / .14);
  border-radius: var(--radius-full);
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}
.area-tabs button[aria-selected='true'] { background: var(--color-navy); color: #fff; border-color: var(--color-navy); }
.area-panel {
  display: grid;
  grid-template-columns: 1fr .75fr;
  gap: var(--space-8);
  align-items: end;
  min-height: 18rem;
  margin-top: var(--space-6);
  padding: clamp(var(--space-8), 6vw, var(--space-16));
  background: var(--laser-steel);
  color: #fff;
}
.area-panel h3 { margin-top: var(--space-3); font-family: var(--font-display); font-size: var(--text-2xl); }
.area-panel p:not(.eyebrow) { margin-top: var(--space-4); color: rgba(255,255,255,.82); }
.area-panel .eyebrow { color: rgba(255,255,255,.72); }
.area-panel__note { display: grid; gap: var(--space-2); padding: var(--space-6); background: rgba(255,255,255,.12); }
.area-panel__note span { color: rgba(255,255,255,.76); font-size: var(--text-sm); }
.center-cta { display: flex; justify-content: center; margin-top: var(--space-8); }

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--space-4);
  margin-top: var(--space-10);
}
.process-grid li {
  list-style: none;
  min-height: 20rem;
  padding: var(--space-8);
  background: var(--color-surface);
  border-top: 1px solid oklch(from var(--color-text) l c h / .15);
}
.process-grid li:nth-child(2) { margin-top: var(--space-8); }
.process-grid span { color: var(--color-primary); font-weight: 700; }
.process-grid h3 { margin-top: var(--space-16); font-family: var(--font-display); font-size: var(--text-xl); }
.process-grid p { margin-top: var(--space-4); color: var(--color-text-muted); }

.prep__grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(var(--space-8), 8vw, var(--space-20)); align-items: start; }
.prep h2 { margin-top: var(--space-5); font-family: var(--font-display); font-size: var(--text-2xl); }
.prep .laser-checks { color: var(--color-text-muted); }
.aftercare-card { padding: clamp(var(--space-8), 6vw, var(--space-12)); background: var(--laser-blush); }
.aftercare-card h3 { margin-top: var(--space-4); font-family: var(--font-display); font-size: var(--text-xl); }
.aftercare-card p:last-child { margin-top: var(--space-4); color: var(--color-text-muted); }

.laser-quote { padding-block: clamp(var(--space-16), 10vw, var(--space-32)); background: var(--laser-blush); text-align: center; }
.laser-quote blockquote { max-width: 24ch; margin-inline: auto; font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.15; color: var(--color-navy); }
.laser-quote p { margin: var(--space-5) auto 0; color: var(--color-text-muted); }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(var(--space-8), 8vw, var(--space-20)); align-items: start; }
.faq-layout .btn { margin-top: var(--space-6); }
.faq-list { border-top: 1px solid oklch(from var(--color-text) l c h / .15); }
.faq-list details { border-bottom: 1px solid oklch(from var(--color-text) l c h / .15); }
.faq-list summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-size: var(--text-xl); color: var(--color-primary); font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 var(--space-8) var(--space-6) 0; color: var(--color-text-muted); }

.laser-visit { display: grid; grid-template-columns: 1fr auto; gap: var(--space-8); align-items: center; }
.laser-visit h2 { margin-top: var(--space-4); font-family: var(--font-display); font-size: var(--text-2xl); }
.laser-visit p:last-child { margin-top: var(--space-4); color: var(--color-text-muted); }
.laser-visit__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); min-width: 17rem; }
.laser-visit__actions .text-link { justify-content: center; margin-top: 0; }
.laser-footer { display: grid; grid-template-columns: 1.3fr .7fr; gap: var(--space-10); }
.laser-footer p { margin-top: var(--space-4); color: var(--color-text-muted); }
.laser-footer > div:last-child { display: grid; align-content: start; gap: var(--space-2); }
.laser-footer a { color: var(--color-text-muted); min-height: 44px; display: flex; align-items: center; }

@media (max-width: 75rem) {
  .laser-nav { display: none; }
}
@media (max-width: 62rem) {
  .laser-hero { min-height: 44rem; align-items: end; }
  .laser-hero__shade { background: linear-gradient(0deg, rgba(251,248,243,.98) 0%, rgba(251,248,243,.90) 46%, rgba(251,248,243,.08) 78%); }
  [data-theme='dark'] .laser-hero__shade { background: linear-gradient(0deg, rgba(10,22,34,.98) 0%, rgba(10,22,34,.90) 46%, rgba(10,22,34,.08) 78%); }
  .laser-hero__image { object-position: 60% center; }
  .laser-intro, .laser-tech__grid, .prep__grid, .faq-layout { grid-template-columns: 1fr; }
  .laser-tech__grid figure { order: -1; }
  .laser-proof__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li, .process-grid li:nth-child(2) { min-height: 0; margin-top: 0; }
  .process-grid h3 { margin-top: var(--space-8); }
  .specialist-card { grid-template-columns: 1fr; }
  .specialist-card figure { max-width: 23rem; }
}
@media (max-width: 40rem) {
  .brand-logo { width: 11.75rem; }
  .laser-hero { min-height: 42rem; }
  .laser-hero__content { padding-block: var(--space-12); }
  .laser-hero__content > p:not(.eyebrow) { font-size: var(--text-base); }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-block--wide { grid-column: auto; }
  .area-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--space-3); }
  .area-tabs button { flex: none; }
  .area-panel { grid-template-columns: 1fr; min-height: 22rem; }
  .laser-visit, .laser-footer { grid-template-columns: 1fr; }
  .laser-visit__actions { min-width: 0; }
}
