/* DAO DANANG v2.0.19 — STEP 9 / FINAL RESPONSIVE TYPOGRAPHY & READABILITY
   Safe presentation-only layer. No routing, SEO, schema, translation or JS changes. */

.dao-site{
  --dao-copy:rgba(245,242,237,.76);
  --dao-copy-muted:rgba(245,242,237,.61);
}

/* Stronger body readability while keeping the dark luxury tone. */
.dao-site p,
.dao-site li,
.dao-site .dao-section-note{
  color:var(--dao-copy);
}
.dao-site .dao-muted,
.dao-site small{
  color:var(--dao-copy-muted);
}

/* Prevent awkward heading overflow in long translated strings. */
.dao-site h1,
.dao-site h2,
.dao-site h3,
.dao-site summary,
.dao-site .dao-btn,
.dao-site .dao-link-button{
  max-width:100%;
}
.dao-site h1,
.dao-site h2,
.dao-site h3{
  overflow-wrap:normal;
  word-break:normal;
}
.dao-lang-zh-cn h1,.dao-lang-zh-cn h2,.dao-lang-zh-cn h3,
.dao-lang-zh-hk h1,.dao-lang-zh-hk h2,.dao-lang-zh-hk h3,
.dao-lang-zh-tw h1,.dao-lang-zh-tw h2,.dao-lang-zh-tw h3,
.dao-lang-ja h1,.dao-lang-ja h2,.dao-lang-ja h3,
.dao-lang-ko h1,.dao-lang-ko h2,.dao-lang-ko h3{
  word-break:keep-all;
  overflow-wrap:break-word;
}

/* Cleaner numeric scanning in course cards. */
.dao-price-row strong,
.dao-price-card__row strong{
  font-variant-numeric:tabular-nums lining-nums;
  white-space:nowrap;
}
.dao-price-row span,
.dao-price-card__row span{
  white-space:nowrap;
}

/* Keep reading line lengths premium rather than stretched. */
.dao-hero__lead,
.dao-prices-hero__copy > p,
.dao-therapists-hero__copy > p,
.dao-hoian-hero__inner > p,
.dao-faq-hero p,
.dao-intro__copy > p,
.dao-therapist-gallery-head > p,
.dao-section-note{
  text-wrap:pretty;
}

/* More controlled link/button state without extra visual noise. */
.dao-site a,
.dao-site button,
.dao-site summary{
  -webkit-tap-highlight-color:rgba(185,23,49,.14);
}
.dao-site a:focus-visible,
.dao-site button:focus-visible,
.dao-site summary:focus-visible{
  outline-offset:3px;
}

/* Anchored sections should not disappear underneath the sticky header. */
.dao-site section[id],
.dao-site [id].dao-section{
  scroll-margin-top:88px;
}

@media (max-width:760px){
  /* Final mobile rhythm based on live screenshots. */
  :root{
    --dao-mobile-section:46px;
  }

  .dao-section{
    padding-block:var(--dao-mobile-section);
  }

  .dao-hero h1,
  .dao-prices-hero h1,
  .dao-therapists-hero h1,
  .dao-hoian-hero h1,
  .dao-faq-hero h1,
  .dao-booking-hero h1,
  .dao-areas-hero h1{
    max-width:12.5ch;
    font-size:clamp(33px,9.1vw,39px)!important;
    line-height:1.035;
    letter-spacing:-.035em;
  }

  .dao-lang-ko .dao-hero h1,
  .dao-lang-ko .dao-prices-hero h1,
  .dao-lang-ko .dao-therapists-hero h1,
  .dao-lang-ko .dao-hoian-hero h1,
  .dao-lang-ko .dao-faq-hero h1,
  .dao-lang-ja .dao-hero h1,
  .dao-lang-ja .dao-prices-hero h1,
  .dao-lang-ja .dao-therapists-hero h1,
  .dao-lang-ja .dao-hoian-hero h1,
  .dao-lang-ja .dao-faq-hero h1,
  .dao-lang-zh-cn .dao-hero h1,
  .dao-lang-zh-hk .dao-hero h1,
  .dao-lang-zh-tw .dao-hero h1{
    max-width:100%;
    letter-spacing:-.025em;
  }

  .dao-section-title,
  .dao-heading-row h2,
  .dao-intro h2,
  .dao-faq-preview h2,
  .dao-therapist-gallery-head h2,
  .dao-hoian-intro h2,
  .dao-hoian-locations h2,
  .dao-prices-heading h2{
    font-size:clamp(28px,7.9vw,33px)!important;
    line-height:1.08;
    letter-spacing:-.03em;
  }

  .dao-hero__lead,
  .dao-prices-hero__copy > p:not(.dao-kicker),
  .dao-therapists-hero__copy > p:not(.dao-kicker),
  .dao-hoian-hero__inner > p:not(.dao-kicker),
  .dao-faq-hero p:not(.dao-kicker){
    max-width:34em;
    font-size:13px;
    line-height:1.72;
  }

  .dao-kicker{
    max-width:100%;
    line-height:1.5;
  }

  /* Prevent excessively tall text-only blocks. */
  .dao-how-grid > div,
  .dao-hoian-steps .dao-container > div{
    align-content:start;
  }

  .dao-how-grid strong,
  .dao-hoian-steps strong{
    line-height:1.4;
  }

  /* Price card balance on narrow phones. */
  .dao-price-card__row{
    gap:14px;
  }
  .dao-price-card__row strong{
    font-size:clamp(18px,5.2vw,21px);
  }

  /* FAQ remains easy to scan with larger tap targets but less empty height. */
  .dao-faq-list summary,
  .dao-faq-accordion summary{
    min-height:52px;
  }

  /* Footer no longer feels like another full page. */
  .dao-footer{
    padding-top:32px;
  }
  .dao-footer__grid{
    row-gap:22px;
  }
}

@media (max-width:380px){
  .dao-hero h1,
  .dao-prices-hero h1,
  .dao-therapists-hero h1,
  .dao-hoian-hero h1,
  .dao-faq-hero h1,
  .dao-booking-hero h1,
  .dao-areas-hero h1{
    font-size:32px!important;
  }
  .dao-section-title,
  .dao-heading-row h2,
  .dao-intro h2,
  .dao-faq-preview h2,
  .dao-therapist-gallery-head h2{
    font-size:28px!important;
  }
}
