@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700;800;900&display=swap');

/* ==========================================================
   LIRON V12 — READABILITY + COMPOSITION SYSTEM
   Heebo throughout. This file intentionally loads last and
   normalizes the many legacy font-size/composition overrides.
   ========================================================== */
:root{
  --body:'Heebo',Arial,sans-serif;
  --display:'Heebo',Arial,sans-serif;
  --serif:var(--display);
  --max:1200px;
  --readable:68ch;
  --type-hero:clamp(3.7rem,3.05rem + 2.65vw,5.25rem);
  --type-page:clamp(3.25rem,2.7rem + 2.15vw,4.75rem);
  --type-section:clamp(2.55rem,2.15rem + 1.55vw,3.65rem);
  --type-card:clamp(1.55rem,1.35rem + .7vw,2.05rem);
  --text-body:1.0625rem;
  --text-lead:clamp(1.125rem,1.08rem + .2vw,1.25rem);
  --text-ui:.96875rem;
  --text-meta:.9rem;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}
body{font-family:var(--body)!important;font-size:var(--text-body)!important;line-height:1.72!important;font-weight:400;letter-spacing:0;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--body)!important;line-height:1.45}

/* ---------- heading hierarchy ---------- */
h1,h2,h3,h4,h5,h6,.section-title,.page-title,.product-title,.quote,.cta-panel h2,.modal-card h3{
  font-family:var(--display)!important;font-style:normal!important;font-synthesis:none!important;
  font-variation-settings:normal!important;letter-spacing:-.025em!important;text-wrap:balance;overflow-wrap:break-word
}
h1,.hero-copy h1{font-size:var(--type-hero)!important;line-height:1.04!important;font-weight:700!important;max-width:11.5ch!important;margin-block:0 1.25rem!important}
.page-hero h1{font-size:var(--type-page)!important;line-height:1.07!important;font-weight:700!important;max-width:13.5ch!important;margin-block:0 1.15rem!important}
h2,.section-title,.cta-panel h2{font-size:var(--type-section)!important;line-height:1.11!important;font-weight:700!important;max-width:15ch!important}
h3,.modal-card h3{font-size:var(--type-card)!important;line-height:1.18!important;font-weight:650!important}
h4{font-size:1.35rem!important;line-height:1.25!important;font-weight:650!important}
h5,h6{font-size:1.15rem!important;line-height:1.3!important;font-weight:650!important}
.quote{font-size:clamp(2.15rem,1.85rem + 1.15vw,3.15rem)!important;line-height:1.2!important;font-weight:600!important;max-width:22ch}
.hero-copy h1:after,.page-hero h1:after{display:none!important}

/* ---------- body / reading ---------- */
body p{font-size:var(--text-body)!important;line-height:1.72!important}
body .lead,.hero-copy>.lead,.page-hero .lead{font-size:var(--text-lead)!important;line-height:1.7!important;max-width:52ch!important;color:var(--muted)}
.prose,.topic-copy,.product-copy,.evidence-copy,.diagnosis-value-copy{font-size:var(--text-body)}
.prose p,.prose li,.topic-copy p,.product-copy p,.evidence-copy p,.diagnosis-value-copy p{font-size:var(--text-body)!important;line-height:1.75!important;max-width:var(--readable)}

/* Important readable secondary copy. Decorative microcopy is allowed smaller. */
body :is(.card p,.feature p,.concern-card p,.process-step p,.service-card p,.product-info p,.mini-list p,.mechanism-card p,.faq-a,.shop-note span,.kicker span,.value-list small,.locked-product-note p,.product-use-stack p,.treatment-timeline p,.account-empty){
  font-size:.975rem!important;line-height:1.66!important
}
body :is(.section-head>p,.section-kicker,.insight-intro p,.cta-panel p,.form-aside p){font-size:1rem!important;line-height:1.68!important;max-width:62ch}

/* ---------- UI text floor ---------- */
body :is(.btn,.pill-btn,.desktop-nav a,.desktop-nav button,.faq-q,.slot-btn,.tab,.mini-btn,.text-link,.topic-nav a,.topic-nav strong,.choice strong,.booking-wa-link){
  font-size:var(--text-ui)!important;line-height:1.45!important;font-weight:550
}
body :is(label,.field label,.choice span,.optional-toggle,.consent,.inline-alert,.benefit,.goal,.booking-assurance div,.product-spec-row span,.product-trust-row span,.cart-summary-trust span,.selected-slot-summary span,.selected-slot-summary small,.booking-payment-box span,.booking-payment-box small,.account-status,.account-login-help,.account-security-row,.account-password-form label,.account-section-nav a,.account-section-head>a,.account-payments span,.account-payments small,.treatment-timeline span){
  font-size:.925rem!important;line-height:1.55!important
}
body :is(.eyebrow,.kicker,.tag,.status,.product-badge,.lock-badge,.shop-results-meta,.shop-filter-label,.shop-subfilter,.price-note,.breadcrumb,.compare-label,.page-hero-art .art-note,.illustration-badge,.footer-bottom,.mobile-menu .sub){
  font-size:var(--text-meta)!important;line-height:1.5!important
}
body :is(input,select,textarea){font-size:1rem!important;min-height:46px}

/* ---------- header / nav ---------- */
.brand-copy strong{font-size:.95rem!important;font-weight:600!important}
.brand-copy span{font-size:.68rem!important;line-height:1.25!important}
.desktop-nav{gap:26px!important}
.desktop-nav a{padding-block:10px!important}
.header-inner{min-height:62px!important}
.pill-btn{min-height:46px!important;padding-inline:20px!important}
.icon-btn{min-height:44px!important}

/* ---------- global composition ---------- */
.shell{width:min(calc(100% - 56px),var(--max))!important}
.narrow{width:min(calc(100% - 56px),860px)!important}
.section{padding:96px 0!important}
.section.tight{padding:66px 0!important}
.section-head{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:56px!important;align-items:end!important;margin-bottom:44px!important}
.section-head>*{min-width:0}
.section-head p{justify-self:start}
.card-grid,.feature-grid,.product-grid,.reviews,.choice-grid,.shop-explainer,.goal-grid{gap:20px!important}
.card{padding:30px!important}
.feature{padding-top:24px!important}
.media-split{gap:56px!important}
.topic-grid{gap:56px!important}
.topic-section{padding:90px 0!important}
.route-studio{padding:50px!important}
.cta-panel{padding:42px 46px!important;gap:34px!important}

/* ---------- home ---------- */
.hero{padding:138px 0 78px!important;min-height:min(100svh,900px)}
.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:64px!important}
.hero-copy,.hero-visual{min-width:0}
.hero-copy .lead{max-width:46ch!important}
.hero-actions{margin-top:30px!important;gap:12px!important}
.hero-proof{font-size:.9rem!important;line-height:1.5!important;gap:18px!important}
.trust-item{padding:20px 22px!important}
.trust-item strong{font-size:.975rem!important;line-height:1.35!important}
.trust-item span{font-size:.875rem!important;line-height:1.5!important}
body.page-home #main .service-card .service-copy{width:min(30rem,72%)!important;max-width:30rem!important;right:1.5rem!important;bottom:1.5rem!important}
body.page-home #main .service-card .service-copy h3{font-size:clamp(1.75rem,1.5rem + .65vw,2.25rem)!important;line-height:1.15!important}
body.page-home #main .service-card .service-copy p{font-size:.975rem!important;line-height:1.62!important;max-width:30rem!important;margin-top:.55rem!important}
body.page-home #main .service-card .service-link{font-size:.925rem!important;line-height:1.45!important}
.insight-intro{gap:48px!important;margin-bottom:42px!important}
.concern-stage-copy h3,.insight-focus h3{font-size:clamp(2rem,1.7rem + 1vw,2.75rem)!important;line-height:1.15!important;max-width:18ch!important}
.concern-tab strong{font-size:1.075rem!important}.concern-tab small{font-size:.9rem!important;line-height:1.5!important}
.review p{font-size:1.55rem!important;line-height:1.42!important}.review.big p{font-size:1.9rem!important}
.review strong{font-size:.9rem!important}

/* ---------- standard page heroes ---------- */
.page-hero{padding:142px 0 84px!important}
.page-hero .grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;gap:58px!important;align-items:center!important}
.page-hero-art{min-height:460px!important;border-radius:30px!important}
.page-hero-art .art-note{padding:13px 15px!important;max-width:250px!important}
.stat strong{font-size:1.55rem!important;font-weight:650!important}.stat span{font-size:.9rem!important;line-height:1.5!important}

/* ---------- content cards / services ---------- */
.card h3{margin-top:24px!important}
.feature h3{font-size:1.6rem!important}
.concern-card h3{font-size:1.65rem!important}
.process-step{padding:28px 24px!important}.process-step h3{font-size:1.55rem!important;margin-top:20px!important}
.service-card .service-copy{right:26px!important;left:26px!important;bottom:24px!important}
.service-card h3{font-size:1.8rem!important}
.evidence-copy{padding:40px!important}
.goal{padding:16px 17px!important}
.faq-q{padding:24px 0!important;min-height:54px!important}
.faq-a{padding-bottom:24px!important}

/* ---------- shop / product ---------- */
.product-info{padding:24px!important}
.product-card h3,.product-info h3{font-size:1.65rem!important;line-height:1.2!important}
.product-info p{min-height:auto!important;margin:10px 0 20px!important}
.product-footer{gap:14px!important}
.product-detail{gap:54px!important}
.product-detail-v9 .product-copy h1{font-size:clamp(2.9rem,2.4rem + 1.8vw,4.2rem)!important;line-height:1.08!important;max-width:13ch!important}
.product-main-price{font-size:1.75rem!important}
.product-spec-row,.product-trust-row{gap:9px!important}
.product-spec-row span,.product-trust-row span{padding:8px 11px!important}
.product-info-columns{gap:42px!important}
.product-use-stack article{padding:22px!important}
.expert-note{padding:24px!important}

/* ---------- booking / checkout ---------- */
.form-shell{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;gap:26px!important}
.form-aside{padding:34px!important}
.form-card{padding:38px!important}
.form-card h2{font-size:2.35rem!important;line-height:1.14!important}
.field-grid{gap:16px!important}
.field{gap:8px!important}
.field input,.field select,.field textarea{padding:14px 15px!important}
.choice{padding:18px!important}
.booking-aside h1{font-size:clamp(2.7rem,2.25rem + 1.6vw,3.8rem)!important;line-height:1.08!important;max-width:12ch!important}
.slot-day{padding:17px!important}.slot-day>strong{font-size:1rem!important;margin-bottom:12px!important}
.slot-status{font-size:.925rem!important;line-height:1.55!important}
.selected-slot-summary{padding:18px!important}.selected-slot-summary strong{font-size:1.2rem!important}
.booking-payment-box{padding:18px!important}.booking-payment-box strong{font-size:1.55rem!important}

/* ---------- account / login ---------- */
.account-main{padding:46px 0 76px!important}
.account-shell{width:min(1080px,calc(100% - 40px))!important}
.account-login-layout{grid-template-columns:minmax(0,.95fr) minmax(360px,.85fr)!important;gap:28px!important}
.account-login-card{padding:40px!important;border-radius:30px!important}
.account-login-card h1,.account-profile-head h1,.error404 h1{font-size:clamp(2.75rem,2.35rem + 1.45vw,3.8rem)!important;line-height:1.08!important;max-width:13ch!important}
.account-login-card>p,.account-profile-head p{font-size:1rem!important;line-height:1.7!important}
.account-login-steps{font-size:.9rem!important;gap:9px!important;flex-wrap:wrap}
.account-login-steps span{font-size:.9rem!important;white-space:normal}.account-login-steps b{font-size:.78rem!important}
.account-privacy-note{font-size:.875rem!important;line-height:1.55!important}
.account-login-preview{padding:36px!important}.account-login-preview h2{font-size:2.35rem!important;line-height:1.12!important;max-width:12ch!important}
.account-preview-list strong{font-size:1rem!important}.account-preview-list small{font-size:.875rem!important;line-height:1.5!important}.account-preview-list b{font-size:.9rem!important}
.account-section{padding:26px!important}
.account-section-head h2{font-size:2rem!important;line-height:1.15!important}
.account-plan-card h2{font-size:2.2rem!important}.account-plan-card span,.account-section-head span{font-size:.9rem!important}
.treatment-timeline h3{font-size:1.35rem!important}
.google-login{width:100%;background:#fff;border:1px solid #cbd6e2;color:#173F73;gap:12px;margin:20px 0 0}.google-login:disabled{opacity:.55;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#64748b;font-size:.9rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#dde4ed}.account-status.error{color:#a52222}.account-loading{text-align:center;padding:5rem 1rem}body [hidden]{display:none!important}

/* ---------- legal / result pages ---------- */
body :is(.thanks-v91-card,.payment-result,.pay-result-card,.thanks-card) h1{font-size:clamp(2.65rem,2.2rem + 1.6vw,3.75rem)!important;line-height:1.08!important}
.error404 p,.pay-result p,.thanks-page p{font-size:1rem!important;line-height:1.7!important}

/* ---------- footer ---------- */
.footer-brand p,.footer-col a,.footer-col p{font-size:.95rem!important;line-height:1.65!important}
.footer-col strong{font-size:.9rem!important}.footer-bottom{font-size:.875rem!important}

/* ---------- tablet ---------- */
@media(max-width:1060px){
  .shell{width:min(calc(100% - 40px),var(--max))!important}
  .section{padding:82px 0!important}.section.tight{padding:58px 0!important}
  .hero-grid,.page-hero .grid,.media-split,.diagnosis-value-grid{gap:38px!important}
  .section-head{gap:32px!important}
  .topic-grid{gap:36px!important}
  .route-studio{padding:38px!important}
  .product-detail{gap:38px!important}
}

/* ---------- mobile ---------- */
@media(max-width:700px){
  :root{
    --type-hero:clamp(2.8rem,2.55rem + 1.2vw,3.15rem);
    --type-page:clamp(2.65rem,2.42rem + 1vw,3rem);
    --type-section:clamp(2.15rem,1.98rem + .85vw,2.45rem);
    --type-card:1.55rem;
    --text-body:1rem;
    --text-lead:1.08rem;
    --text-ui:.95rem;
    --text-meta:.875rem;
  }
  body{font-size:1rem!important;line-height:1.68!important}
  .shell,.narrow{width:calc(100% - 32px)!important}
  .site-header .brand-copy strong{font-size:.9rem!important}.site-header .brand-copy span{font-size:.62rem!important}
  .section{padding:68px 0!important}.section.tight{padding:50px 0!important}
  .section-head{grid-template-columns:1fr!important;gap:18px!important;margin-bottom:32px!important}
  h1,.hero-copy h1,.page-hero h1{max-width:100%!important;letter-spacing:-.02em!important}
  h2,.section-title{max-width:100%!important;letter-spacing:-.018em!important}
  .hero{padding:108px 0 56px!important;min-height:auto!important}
  .hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .hero-copy .lead,.page-hero .lead{max-width:100%!important}
  .hero-actions{margin-top:24px!important}
  .hero-proof{font-size:.875rem!important;gap:12px!important}
  .trust-item{padding:16px 14px!important}
  .trust-item strong{font-size:.925rem!important}.trust-item span{font-size:.82rem!important}
  .page-hero{padding:108px 0 58px!important}
  .page-hero .grid{grid-template-columns:1fr!important;gap:32px!important}
  .page-hero-art{min-height:360px!important;border-radius:24px!important}
  .card-grid,.feature-grid,.product-grid,.reviews,.choice-grid,.shop-explainer,.goal-grid{gap:14px!important}
  .card{padding:24px!important}
  .route-studio{padding:28px 18px!important}
  .media-split,.topic-grid,.diagnosis-value-grid{grid-template-columns:1fr!important;gap:30px!important}
  .topic-section{padding:66px 0!important}
  .cta-panel{grid-template-columns:1fr!important;padding:30px 24px!important;gap:24px!important}
  .evidence-copy{padding:27px!important}
  body.page-home #main .service-card .service-copy{width:calc(100% - 2.5rem)!important;max-width:26rem!important;right:1.25rem!important;bottom:1.25rem!important}
  body.page-home #main .service-card .service-copy h3{font-size:1.7rem!important}
  body.page-home #main .service-card .service-copy p{font-size:.95rem!important}
  .review p,.review.big p{font-size:1.4rem!important}
  .product-info{padding:21px!important}.product-card h3,.product-info h3{font-size:1.5rem!important}
  .product-detail{gap:28px!important}.product-detail-v9 .product-copy h1{font-size:2.65rem!important;max-width:100%!important}
  .product-info-columns{grid-template-columns:1fr!important;gap:28px!important}
  .form-shell{grid-template-columns:1fr!important;gap:16px!important}.form-card{padding:25px 19px!important}.form-card h2{font-size:2rem!important}.form-aside{display:none!important}
  .booking-aside h1{font-size:2.55rem!important;max-width:100%!important}
  .account-main{padding:28px 0 68px!important}.account-shell{width:calc(100% - 28px)!important}.account-login-layout{grid-template-columns:1fr!important;gap:16px!important}.account-login-card{padding:26px 20px!important}.account-login-card h1,.account-profile-head h1,.error404 h1{font-size:2.6rem!important;max-width:100%!important}.account-login-preview{padding:26px 22px!important}.account-login-preview h2{font-size:2rem!important;max-width:100%!important}.account-profile-head{align-items:flex-start!important;flex-direction:column!important}.account-plan-card{grid-template-columns:1fr!important;gap:20px!important;padding:24px!important}.account-section{padding:21px!important}
  .mobile-menu nav a{font-size:1.6rem!important;line-height:1.25!important;font-weight:500!important}
}

@media(max-width:370px){
  :root{--type-hero:2.65rem;--type-page:2.5rem;--type-section:2.05rem}
  .shell,.narrow{width:calc(100% - 26px)!important}
  .page-hero-art{min-height:330px!important}
}

/* V12.1 targeted readability polish after full visual pass */
.page-hero-art .art-note{color:var(--deep)!important;font-weight:500!important}
.page-hair .page-hero-art .art-note{background:rgba(255,255,255,.94)!important;color:var(--deep)!important}
.scan-legend span{font-size:.95rem!important;line-height:1.5!important}.scan-legend i{font-size:.75rem!important}
.cart-hero-trust strong{font-size:1rem!important;line-height:1.35!important}.cart-hero-trust span{font-size:.9rem!important;line-height:1.5!important}.cart-hero-trust>div{padding:16px!important}
.cart-line small,.summary-shipping-note,.cart-summary-trust span{font-size:.9rem!important;line-height:1.5!important}
.checkout-trust span{font-size:.875rem!important;line-height:1.4!important;padding:9px 12px!important}
.product-hero-art .prod-caption{font-size:.875rem!important;line-height:1.4!important;padding:10px 13px!important}
.shop-note strong{font-size:1rem!important}.shop-note span{font-size:.95rem!important;line-height:1.58!important}
.blue-lift-step span{font-size:.78rem!important}.blue-lift-step strong{font-size:1.45rem!important}.blue-lift-step small{font-size:.925rem!important;line-height:1.55!important}
.thanks-kicker,.thanks-status{font-size:.9rem!important}

@media(max-width:700px){
  /* Four choices should all be visible; no half-card clipping. */
  .concern-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:10px!important;padding-bottom:0!important}
  .concern-tab{min-width:0!important;width:100%!important;padding:14px 12px!important;gap:4px!important}
  .concern-tab strong{font-size:1.05rem!important;line-height:1.2!important}.concern-tab small{font-size:.82rem!important;line-height:1.4!important}.concern-tab .num{font-size:.75rem!important}
  .page-diagnosis .page-hero{padding-bottom:44px!important}.page-diagnosis .page-hero + .section{padding-top:54px!important}
  .scan-legend span{font-size:.925rem!important}.cart-hero-trust span{font-size:.875rem!important}.checkout-trust span{font-size:.85rem!important}
  .blue-lift-step small{font-size:.875rem!important}
}
