/* Final theme layer. Kept separate so legacy utility rules cannot override the redesign. */
:root {
  --color-primary: #1B8E4C;
  --color-primary-dark: #2F7549;
  --color-secondary: #1D6E92;
  --color-secondary-dark: #1A2F59;
  --color-ink: #122238;
  --color-ink-mid: #526475;
  --color-ink-light: #748391;
  --font-sans: 'Manrope', sans-serif;
  --font-display: 'Sora', sans-serif;
}

body { color: #122238; background: #fff; padding-top: 0 !important; }
.le-container { width: calc(100% - 48px) !important; max-width: 1240px; margin-left: auto !important; margin-right: auto !important; }
body::before { display: none !important; }
h1, h2, h3, h4, .section-heading, .card-title, .plan-title { font-family: 'Sora', sans-serif; }

#hero.le-hero {
  display: block;
  min-height: auto;
  padding-top:128px;
  align-items: initial;
}
#hero.le-hero::before {
  z-index: 0;
  transform: none;
  opacity: .13;
  background-size: 80px 80px;
}
#hero.le-hero::after { display: none; }

#siteHeader {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 700;
  width: 100%;
}

#topbar { background: #1A2F59 !important; border: 0; }
#navbar { height: 92px; background: rgba(255,255,255,.95) !important; border-bottom: 1px solid rgba(18,34,56,.08); box-shadow: none; }
#navbar .h-\[68px\] { height: 92px; }
#navbar.scrolled { background: rgba(255,255,255,.98) !important; box-shadow: 0 16px 40px rgba(12,29,52,.09); position:relative; top:-20px; transition: all .3s ease-in-out; }
#navbar > .max-w-7xl { width: 100%; max-width: 1240px; margin-inline: auto; }
.brand-logo-header { width: 220px; max-width: none; max-height: 78px; object-fit: contain; }
.brand-logo-mobile { width: 180px; max-width: none; max-height: 72px; object-fit: contain; }
.nav-link { color: #405063; }
.nav-link:hover, .nav-link.active { color: #1A2F59; }
.nav-link::after { background: #1B8E4C; }
.btn-primary, .add-cart-btn, .plan-btn-primary { background: #1B8E4C; box-shadow: 0 12px 28px rgba(27,142,76,.17); }
.btn-primary:hover, .add-cart-btn:hover, .plan-btn-primary:hover { background: #2F7549; box-shadow: 0 17px 34px rgba(27,142,76,.2); }

.page-hero { min-height: 440px; padding-bottom: 70px; }
.page-hero::before { background: linear-gradient(90deg, rgba(7,24,42,.95), rgba(12,35,59,.76) 52%, rgba(12,35,59,.25)); }
.page-hero::after { opacity: .1; background-size: 72px 72px; }
.page-hero h1 { font-size: clamp(2.65rem, 5vw, 4.8rem); line-height: 1.04; }
.page-hero-copy p { color: rgba(255,255,255,.73); font-size: 15px; line-height: 1.8; }
.breadcrumb { width: fit-content; padding: 8px 12px; border-radius: 8px; }

.section-shell { padding-top: 104px; padding-bottom: 104px; }
.section-shell.bg-soft, .bg-soft { background: #f2f7f4; }
.section-shell.bg-white { background: #fff; }
.card-kicker { border: 1px solid rgba(27,142,76,.12); border-radius: 7px; color: #2F7549; background: #e9f5ed; padding:10px;width:fit-content; align-items:center; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; justify-content:center; display:inline-flex; }
.gradient-text { background: linear-gradient(120deg, #2F7549, #1D6E92); -webkit-background-clip: text; background-clip: text; }

.feature-card, .info-card, .detail-card, .contact-card, .legal-card, .faq-item, .blog-card, .test-card, .plan-card, .brochure-service-card {
  border: 1px solid #dce6e2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(12,29,52,.06);
}
.feature-card:hover, .brochure-service-card:hover, .test-card:hover, .plan-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(12,29,52,.1);
}
.feature-icon, .icon-bullet-badge, .brochure-service-icon, .test-icon-wrap, .step-num {
  color: #2F7549;
  background: #e9f5ed;
  border-color: rgba(27,142,76,.13);
}
.plan-card-head { background: linear-gradient(140deg, #1A2F59, #1C4E69) !important; }
.plan-card, .pricing-spotlight-card { border-radius: 18px; }
.view-info-btn, .btn-outline, .plan-btn-secondary { border-color: #dce6e2; color: #1A2F59; background: #fff; box-shadow: none; }
.view-info-btn:hover, .btn-outline:hover, .plan-btn-secondary:hover { border-color: #1B8E4C; color: #2F7549; }

.form-control, input, textarea, select { border-color: #d8e3de; }
.form-control:focus, input:focus, textarea:focus, select:focus { border-color: rgba(27,142,76,.55); box-shadow: 0 0 0 4px rgba(27,142,76,.08); }

footer { padding-top: 82px !important; background: #0a1a2d !important; }
footer::before { opacity: .07; background-size: 70px 70px; }
.footer-brand-panel { display: inline-flex; padding: 5px 10px; border-radius: 12px; background: #fff; }
.brand-logo-footer { width: 180px; }
.footer-link { color: rgba(255,255,255,.55); font-size: 11px; }
.footer-link:hover { color: #8bddaa; transform: translateX(3px); }
footer .text-blue-500 { color: #8bddaa; }

/* Homepage appointment card */
.le-hero-grid { grid-template-columns: minmax(0, .95fr) minmax(440px, .78fr); gap: 74px; align-items: center; }
.le-hero-copy { padding: 68px 0; }
.le-hero-booking {
  position: relative;
  z-index: 3;
  margin: 54px 0;
  padding: 28px;
  color: #122238;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 22px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 34px 80px rgba(2,13,28,.28);
  backdrop-filter: blur(18px);
}
/* .le-hero-booking::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, #1B8E4C, #1D6E92);
} */
.le-booking-head { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 13px; }
.le-booking-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(140deg, #1B8E4C, #2F7549); box-shadow: 0 12px 24px rgba(27,142,76,.2); }
.le-booking-head span:not(.le-booking-status) { display: block; color: #1B8E4C; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.le-booking-head h2 { margin-top: 4px; font-size: 18px; line-height: 1.2; letter-spacing: -.035em; }
.le-booking-status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 999px; color: #2F7549; background: #eaf5ee; font-size: 9px; font-weight: 800; }
.le-booking-status i { width: 6px; height: 6px; border-radius: 50%; background: #1B8E4C; box-shadow: 0 0 0 4px rgba(27,142,76,.1); }
.le-booking-copy { margin-top: 17px; padding-bottom: 18px; color: #6b7a88; border-bottom: 1px solid #e3ebe7; font-size: 11px; line-height: 1.7; }
.le-booking-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.le-booking-field { display: block; min-width: 0; }
.le-booking-field-wide { grid-column: 1 / -1; }
.le-booking-field > span { display: block; margin-bottom: 6px; color: #46586a; font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.le-booking-field > div { display: flex; align-items: center; gap: 9px; min-height: 47px; padding: 0 13px; border: 1px solid #dbe5e0; border-radius: 10px; background: #f7faf8; transition: border-color .2s, box-shadow .2s, background .2s; }
.le-booking-field > div:focus-within { border-color: rgba(27,142,76,.65); background: #fff; box-shadow: 0 0 0 4px rgba(27,142,76,.08); }
.le-booking-field i { width: 14px; flex: 0 0 auto; color: #1B8E4C; text-align: center; font-size: 11px; }
.le-booking-field input, .le-booking-field select { width: 100%; min-width: 0; border: 0; outline: 0; color: #122238; background: transparent; box-shadow: none !important; font-size: 11px; }
.le-booking-field input::placeholder { color: #9aa7a1; }
.le-booking-choice { grid-column: 1 / -1; position: relative; cursor: pointer; }
.le-booking-choice input { position: absolute; opacity: 0; pointer-events: none; }
.le-booking-choice span { display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px dashed #c9d9d1; border-radius: 10px; color: #566a78; background: #fbfdfc; font-size: 10px; font-weight: 700; transition: all .2s; }
.le-booking-choice input:checked + span { color: #2F7549; border-color: #1B8E4C; background: #eaf5ee; }
.le-booking-choice i { color: #1B8E4C; }
.le-booking-submit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 49px; border-radius: 11px; color: #fff; background: linear-gradient(120deg, #1B8E4C, #2F7549); box-shadow: 0 13px 28px rgba(27,142,76,.2); font-size: 11px; font-weight: 800; transition: transform .2s, box-shadow .2s; }
.le-booking-submit:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(27,142,76,.27); }
.le-booking-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 15px; color: #84918b; font-size: 9px; }
.le-booking-foot a { color: #1D6E92; font-weight: 800; }
.le-booking-foot i { margin-right: 5px; }

.le-ad-row {
  padding: 34px 0;
  background: #fff;
  border-bottom: 1px solid #dce6e2;
}

.le-ad-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.le-ad-card {
  display: block;
  overflow: hidden;
  border: 1px solid #dce6e2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(12, 29, 52, 0.08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.le-ad-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 142, 76, .28);
  box-shadow: 0 26px 58px rgba(12, 29, 52, .12);
}

.le-ad-card img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

/* Homepage service collage */
.le-service-card {
  position: relative;
  display: block;
  min-height: 100%;
  height: 100%;
  isolation: isolate;
}
.le-service-card,
.brochure-service-media,
.test-card-media,
.le-catalog-media,
.pkg-card-img,
.detail-price-image {
  overflow: hidden;
}
.le-service-card > img,
.brochure-service-media > img,
.test-card-media > img,
.le-catalog-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.pkg-card-photo,
.detail-price-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.le-service-card > img {
  transform: scale(1.02);
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.le-service-card:hover > img {
  transform: scale(1.07);
}
.le-service-overlay {
  background: linear-gradient(180deg, rgba(7,22,39,.06) 0%, rgba(7,22,39,.16) 32%, rgba(7,22,39,.72) 100%);
}
.le-service-content {
  width: auto;
  max-width: calc(100% - 56px);
}
.le-service-content h3,
.le-service-content p,
.le-service-content b {
  text-shadow: 0 10px 24px rgba(4, 14, 24, 0.24);
}
.le-service-card-full { grid-column: 1 / -1; min-height: 300px; }
.le-service-card-full img { object-position: center 45%; }
.le-service-card-full .le-service-overlay { background: linear-gradient(90deg, rgba(7,22,39,.82), rgba(7,22,39,.48) 52%, rgba(7,22,39,.12)); }
.le-service-card-full .le-service-content { right: auto; max-width: 610px; }
.le-plans-footer p a { color: #a9e8bf; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* Editorial system for every interior page */
.site-page:not(.premium-home) main { background: #fff; }
.site-page:not(.premium-home) .page-hero {
  min-height: 500px;
  padding: 78px 0;
  align-items: center;
  background-position: center;
}
.site-page:not(.premium-home) .page-hero::before {
  background: linear-gradient(90deg, rgba(7,24,42,.96) 0%, rgba(12,35,59,.83) 48%, rgba(12,35,59,.28) 100%);
}
.site-page:not(.premium-home) .page-hero-content { width: 100%; max-width: 1240px; }
.site-page:not(.premium-home) .page-hero-inner { gap: 64px; }
.site-page:not(.premium-home) .page-hero-copy { max-width: 720px; gap: 16px; }
.site-page:not(.premium-home) .page-hero h1 { max-width: 760px; font-size: clamp(3rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -.055em; }
.site-page:not(.premium-home) .page-hero p { max-width: 650px; color: rgba(239,246,250,.74); font-size: 14px; line-height: 1.85; }
.site-page:not(.premium-home) .breadcrumb { padding: 8px 11px; border-radius: 7px; color: #b9e6ca; background: rgba(255,255,255,.08); font-size: 9px; letter-spacing: .13em; }
.site-page:not(.premium-home) .breadcrumb i { color: #72d498; }
.site-page:not(.premium-home) .hero-search-card { padding: 24px; border: 1px solid rgba(255,255,255,.4); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 30px 70px rgba(3,16,31,.28); }
.site-page:not(.premium-home) .hero-search-badge { border-radius: 12px; background: linear-gradient(140deg, #1B8E4C, #1D6E92); box-shadow: 0 13px 26px rgba(27,142,76,.2); }
.site-page:not(.premium-home) .hero-search-meta { border: 0; border-radius: 6px; color: #2F7549; background: #eaf5ee; box-shadow: none; font-size: 9px; }
.site-page:not(.premium-home) .hero-search-title { font-size: 17px; }
.site-page:not(.premium-home) .hero-search-bar { height:105px; border-radius: 10px; background: #f7faf8; border-color: #d9e4de; box-shadow: none; }
.site-page:not(.premium-home) .hero-search-bar .btn-primary { min-height: 42px; border-radius: 8px; }
.site-page:not(.premium-home) .hero-search-pill { border-radius: 999px; border-color: #dce6e2; color: #526475; background: #f2f7f4; }
.site-page:not(.premium-home) .section-shell { padding-top: 55px; padding-bottom: 55px; }
.site-page:not(.premium-home) .section-shell:nth-of-type(even) { background: #f4f8f5; }
.site-page:not(.premium-home) .section-heading { font-size: clamp(2.2rem, 3.5vw, 4rem); line-height: 1.1; }
.site-page:not(.premium-home) .info-card,
.site-page:not(.premium-home) .detail-card,
.site-page:not(.premium-home) .contact-card,
.site-page:not(.premium-home) .legal-card,
.site-page:not(.premium-home) .faq-card { padding: 30px; border-radius: 16px; border-color: #dce6e2; box-shadow: 0 16px 42px rgba(12,29,52,.065); }
.site-page:not(.premium-home) .card-title { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.25; }
.site-page:not(.premium-home) .card-text { color: #687987; font-size: 13px; line-height: 1.85; }
.site-page:not(.premium-home) .brochure-service-card { padding: 24px; border-radius: 16px; }
.site-page:not(.premium-home) .brochure-service-media { margin: -24px -24px 18px; height: 210px; border-radius: 16px 16px 12px 12px; }
.site-page:not(.premium-home) .brochure-service-card h3 { font-size: 17px; }
.site-page:not(.premium-home) .brochure-service-card p { font-size: 12px; }
.site-page:not(.premium-home) .surface-input { min-height: 52px; padding: 14px 15px; border: 1px solid #d8e3de; border-radius: 10px; background: #f7faf8; font-size: 12px; }
.site-page:not(.premium-home) textarea.surface-input { min-height: 130px; }
.site-page:not(.premium-home) .contact-pill { border-radius: 9px; border-color: #dce6e2; color: #526475; background: #f2f7f4; font-size: 11px; }
.site-page:not(.premium-home) .detail-price-panel,
.site-page:not(.premium-home) .detail-list-card,
.site-page:not(.premium-home) .checkout-item-row { border-radius: 14px; border-color: #dce6e2; background: #f7faf8; }
.site-page:not(.premium-home) .cta-section { background: linear-gradient(125deg, #10233d, #1A2F59 50%, #1C4E69); }

@media (max-width: 899px) {
  .le-hero { padding: 42px 0 64px; }
  .le-hero-grid { grid-template-columns: 1fr; gap: 8px; }
  .le-hero-copy { padding: 24px 0 16px; }
  .le-hero-booking { width: min(100%, 620px); margin: 18px 0 0; }
  .le-service-card-full { grid-column: 1 / -1; }
  .le-experience-grid {
    gap: 42px;
    align-items: start;
  }
  .le-experience-visual {
    width: min(100%, 560px);
    min-height: 540px;
    margin-inline: auto;
  }
  .le-experience-copy {
    min-width: 0;
  }
  .page-hero { min-height: 400px; }
  .section-shell { padding-top: 78px; padding-bottom: 78px; }
  .site-page:not(.premium-home) .page-hero { min-height: 440px; padding: 64px 0; }
  .site-page:not(.premium-home) .page-hero-inner { gap: 30px; }
  .site-page:not(.premium-home) .page-hero h1 { font-size: clamp(2.65rem, 8vw, 4.2rem); }
  .site-page:not(.premium-home) .section-shell { padding-top: 82px; padding-bottom: 82px; }
}

@media (max-width: 899px) {
  #siteHeader { position: fixed !important; }
  #navbar, #navbar .h-\[68px\] { height: 84px; }
  #navbar.scrolled { top: 0; }
  .brand-logo-header { width: 184px; max-height: 72px; }
  #hero.le-hero { padding-top: 96px; }
}

@media (max-width: 640px) {
  .le-container { width: calc(100% - 32px) !important; }
  #navbar > .max-w-7xl { padding-left: 16px; padding-right: 16px; }
  #navbar .brand-logo-header { width: 166px; max-height: 66px; }
  #navbar #cartBtn { display: none; }
  .le-hero { padding: 28px 0 52px; }
  .le-hero h1 { overflow-wrap: anywhere; font-size: clamp(2.65rem, 13vw, 3.65rem); }
  .le-hero-copy { padding-top: 18px; }
  .le-hero-booking { margin-top: 16px; padding: 21px 18px; border-radius: 17px; }
  .le-booking-head { grid-template-columns: 42px 1fr; }
  .le-booking-icon { width: 42px; height: 42px; }
  .le-booking-status { grid-column: 1 / -1; width: fit-content; }
  .le-booking-form { grid-template-columns: 1fr; }
  .le-booking-field, .le-booking-field-wide, .le-booking-choice, .le-booking-submit { grid-column: 1; }
  .le-booking-foot { align-items: flex-start; flex-direction: column; }
  .le-service-card-full { min-height: 360px; }
  .le-service-card-full .le-service-overlay { background: linear-gradient(to top, rgba(7,22,39,.78), rgba(7,22,39,.22)); }
  .le-ad-row { padding: 24px 0; }
  .le-ad-grid { grid-template-columns: 1fr; gap: 16px; }
  .le-ad-card { border-radius: 14px; }
  .site-page:not(.premium-home) .page-hero { min-height: 390px; padding: 54px 0; }
  .site-page:not(.premium-home) .page-hero h1 { font-size: clamp(2.25rem, 11vw, 3.1rem); }
  .site-page:not(.premium-home) .page-hero p { font-size: 12px; }
  .site-page:not(.premium-home) .section-shell { padding-top: 66px; padding-bottom: 66px; }
  .site-page:not(.premium-home) .info-card,
  .site-page:not(.premium-home) .detail-card,
  .site-page:not(.premium-home) .contact-card,
  .site-page:not(.premium-home) .legal-card,
  .site-page:not(.premium-home) .faq-card { padding: 22px; }
  .page-hero { min-height: 360px; padding-bottom: 42px; }
  .page-hero h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .section-shell { padding-top: 66px; padding-bottom: 66px; }
  .le-service-card {
    min-height: 320px;
  }
  .le-service-card-wide {
    min-height: 420px;
  }
  .le-service-card-full {
    min-height: 340px;
  }
  .le-service-card > img {
    transform: scale(1.04);
  }
  .le-service-content {
    inset: auto 18px 18px;
    max-width: calc(100% - 36px);
  }
  .le-service-card-wide .le-service-content,
  .le-service-card-full .le-service-content {
    inset: auto 20px 20px;
    max-width: calc(100% - 40px);
  }
  .le-service-content h3 {
    margin-top: 8px;
    font-size: 1.45rem;
    line-height: 1.14;
  }
  .le-service-card-wide h3 {
    font-size: 1.95rem;
  }
  .le-service-content p {
    margin-top: 10px;
    max-width: none;
    font-size: 11px;
    line-height: 1.6;
  }
  .le-service-content b {
    margin-top: 14px;
  }
  .le-experience-grid {
    gap: 30px;
  }
  .le-experience-visual {
    width: 100%;
    min-height: 0;
    padding: 10px 0 0 12px;
  }
  .le-experience-image-main {
    position: relative;
    inset: auto;
    width: calc(100% - 34px);
    min-height:100%;
    border-radius: 24px;
  }
  .le-experience-image-small {
    right: 0;
    bottom: -12px;
    width: min(42vw, 168px);
    height: auto;
    min-height: 138px;
    aspect-ratio: 1 / 1;
    border-width: 6px;
    border-radius: 20px;
  }
  .le-experience-stat {
    left: 0;
    top: 34px;
    max-width: min(48vw, 190px);
    padding: 14px 16px;
    border-radius: 16px;
  }
  .le-experience-stat strong {
    font-size: 15px;
  }
  .le-experience-stat span {
    font-size: 9px;
    line-height: 1.45;
  }
  .le-experience-copy h2 {
    margin-top: 14px;
  }
  .le-lead {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.8;
  }
  .le-value-list {
    margin: 24px 0;
  }
  .le-value-list > div {
    grid-template-columns: 34px 1fr;
    gap: 12px;
    padding: 16px 0;
  }
  .le-value-list b {
    font-size: 10px;
  }
  .le-value-list strong {
    font-size: 14px;
    line-height: 1.35;
  }
  .le-value-list small {
    font-size: 11px;
    line-height: 1.65;
  }
  .le-text-link {
    gap: 8px;
    font-size: 11px;
    flex-wrap: wrap;
  }
  .le-trust-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .le-trust-grid > div {
    padding: 0;
    border: 0;
  }
  .le-section-head,
  .le-process-intro {
    gap: 14px;
  }
  .le-section-head h2,
  .le-experience-copy h2,
  .le-process-intro h2,
  .le-closing-copy h2 {
    font-size: clamp(2rem, 9vw, 2.8rem);
    line-height: 1.08;
  }
  .le-section-head > p,
  .le-process-intro p,
  .le-closing-copy p {
    font-size: 13px;
    line-height: 1.75;
  }
  .le-pricing-grid .pricing-spotlight-head,
  .pricing-spotlight-head {
    min-height: auto;
    padding: 22px 20px;
  }
  .pricing-spotlight-head h3,
  .le-pricing-grid .pricing-spotlight-head h3 {
    font-size: 1.55rem;
    line-height: 1.15;
  }
  .pricing-spotlight-head > p:not(.pricing-package-type),
  .le-pricing-grid .pricing-spotlight-head > p:not(.pricing-package-type) {
    min-height: 0;
    font-size: 12px;
    line-height: 1.65;
  }
  .pricing-spotlight-price strong,
  .le-pricing-grid .pricing-spotlight-price strong {
    display: block;
    margin-left: 0;
    font-size: 2rem;
    line-height: 1.05;
  }
  .pricing-price-old,
  .le-pricing-grid .pricing-price-old {
    margin-left: 0;
  }
  .pricing-spotlight-body,
  .le-pricing-grid .pricing-spotlight-body {
    padding: 20px;
  }
  .pricing-spotlight-meta,
  .plan-footer-note {
    align-items: flex-start;
    flex-direction: column;
  }
  .le-experience-visual {
    min-height: auto;
  }
  .le-test-list {
    display: grid;
    gap: 14px;
    border-top: 0;
  }
  .le-test-row {
    grid-template-columns: 1fr;
    gap: 14px;
    min-height: 0;
    padding: 18px 16px;
    border: 1px solid #dce6e2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(12, 29, 52, 0.06);
  }
  .le-test-row:hover {
    padding-inline: 16px;
  }
  .le-test-number,
  .le-test-add,
  .le-test-meta {
    grid-column: auto;
    grid-row: auto;
  }
  .le-test-number {
    width: fit-content;
  }
  .le-test-name {
    gap: 12px;
  }
  .le-test-name p {
    max-width: none;
  }
  .le-test-add {
    justify-self: stretch;
    width: 100%;
    height: 46px;
    border-radius: 16px;
  }
  .le-process-grid > div {
    min-height: 0;
    padding: 26px 22px 22px;
  }
  .le-closing-inner {
    gap: 24px;
  }
  .le-closing-phone {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Premium interior page system */
.site-page:not(.premium-home) main {
  position: relative;
  background:
    radial-gradient(circle at top left, rgba(27, 142, 76, 0.06), transparent 28%),
    radial-gradient(circle at top right, rgba(29, 110, 146, 0.07), transparent 30%),
    linear-gradient(180deg, #f7fbf8 0%, #ffffff 18%, #f7fbf8 100%);
}

.le-page-hero {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  padding: 160px 0 88px;
  background:
    linear-gradient(90deg, rgba(7, 24, 42, 0.94), rgba(12, 35, 59, 0.78) 46%, rgba(12, 35, 59, 0.2) 100%),
    var(--hero-image) center/cover no-repeat;
}

.le-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 78px 78px;
  opacity: 0.12;
}

.le-page-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(14px);
  opacity: 0.42;
}

.le-page-orb-one {
  top: 32px;
  left: -90px;
  width: 260px;
  height: 260px;
  background: rgba(27, 142, 76, 0.28);
}

.le-page-orb-two {
  right: -64px;
  bottom: -54px;
  width: 320px;
  height: 320px;
  background: rgba(29, 110, 146, 0.22);
}

.le-page-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
  gap: 34px;
  align-items: end;
  padding-top: 100px;
}

.le-page-copy {
  display: grid;
  gap: 18px;
  max-width: 760px;
}

.le-page-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: #d7efe0;
  background: rgba(255, 255, 255, 0.08);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.le-page-breadcrumb i {
  color: #8bddaa;
}

.le-page-copy h1 {
  color: #fff;
  font-size: clamp(2.5rem, 3.5vw, 3.8rem);
  line-height: 0.98;
  letter-spacing: -0.06em;
  max-width: 820px;
}

.le-page-copy p {
  max-width: 640px;
  color: rgba(233, 242, 248, 0.8);
  font-size: 15px;
  line-height: 1.9;
}

.le-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
}

.le-page-actions .btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
}

.le-page-actions .btn-outline:hover {
  color: #122238;
  background: #fff;
  border-color: #fff;
}

.le-page-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 640px;
  margin-top: 8px;
}

.le-page-metric {
  padding: 18px 18px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(5, 17, 32, 0.18);
  backdrop-filter: blur(14px);
}

.le-page-metric strong {
  display: block;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.le-page-metric span {
  display: block;
  margin-top: 6px;
  color: rgba(232, 242, 246, 0.72);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.le-page-side {
  align-self: stretch;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 28px;
  color: #122238;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 30px 75px rgba(2, 13, 28, 0.28);
  backdrop-filter: blur(18px);
}

.le-side-badge,
.le-side-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eaf5ee;
  color: #2f7549;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.le-side-meta {
  margin-top: 14px;
  background: #f2f7f4;
  color: #526475;
}

.le-page-side h2 {
  margin-top: 18px;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.le-page-side > p {
  margin-top: 10px;
  color: #687987;
  font-size: 13px;
  line-height: 1.8;
}

.le-side-list {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.le-page-side .hero-search-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 18px;
  margin-bottom: 16px;
}

.le-page-side .hero-search-hint {
  margin-top: 16px;
}

.le-side-list-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 14px;
  border: 1px solid #dce6e2;
  border-radius: 18px;
  background: #f8fbf9;
}

.le-side-list-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  color: #2f7549;
  background: #e9f5ed;
}

.le-side-list-item strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}

.le-side-list-item span {
  display: block;
  margin-top: 5px;
  color: #687987;
  font-size: 12px;
  line-height: 1.7;
}

.le-page-section,
.section-shell {
  position: relative;
}

.le-page-section > .le-container,
.section-shell > .le-container {
  position: relative;
  z-index: 1;
}

.le-section-intro {
  display: grid;
  gap: 16px;
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
  justify-items: center;
}

.le-section-intro p {
  color: #687987;
  font-size: 15px;
  line-height: 1.85;
}

.le-grid-2,
.le-split-showcase,
.content-grid.two-up,
.contact-grid,
.checkout-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.le-grid-3,
.content-grid.three-up {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.le-panel,
.info-card,
.detail-card,
.contact-card,
.legal-card,
.faq-item,
.blog-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid #dce6e2;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 55px rgba(12, 29, 52, 0.07);
}

.le-panel::before,
.info-card::before,
.detail-card::before,
.contact-card::before,
.legal-card::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #1b8e4c, #1d6e92);
  opacity: 0.92;
}

.le-panel-soft {
  background: linear-gradient(180deg, #f7fbf8, #ffffff);
}

.le-panel-dark {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.08);
  background: linear-gradient(135deg, #0f2139 0%, #153152 55%, #1c4e69 100%);
  box-shadow: 0 28px 60px rgba(10, 26, 45, 0.2);
}

.le-panel-dark::before {
  background: linear-gradient(90deg, #8bddaa, #8ad3eb);
}

.le-panel-dark p,
.le-panel-dark .card-text,
.le-panel-dark .le-meta-line,
.le-panel-dark .le-support-copy {
  color: rgba(235, 245, 250, 0.78);
}

.le-panel-dark .contact-pill,
.le-panel-dark .le-chip-pill {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.le-panel-dark .btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.08);
}

.le-panel-dark .btn-outline:hover {
  color: #122238;
  background: #fff;
  border-color: #fff;
}

.le-image-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: linear-gradient(180deg, #f7fbf8, #ffffff);
}

.le-feature-svg {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin: 0 auto;
}

.le-visual-panel {
  min-height: 100%;
  padding: 0;
}

.le-visual-placeholder {
  display: grid;
  min-height: 320px;
  place-items: center;
  padding: 32px;
  background: linear-gradient(135deg, #f4f8f5, #ffffff);
}

.le-editorial-copy,
.detail-richtext {
  color: #4f6275;
  font-size: 14px;
  line-height: 1.95;
}

.le-editorial-copy h2,
.le-editorial-copy h3,
.detail-richtext h2,
.detail-richtext h3 {
  margin: 1.4em 0 0.55em;
  color: #122238;
  font-family: var(--font-display);
  line-height: 1.15;
}

.le-editorial-copy ul,
.detail-richtext ul {
  padding-left: 20px;
}

.le-editorial-copy li,
.detail-richtext li {
  margin: 0.45em 0;
}

.le-mini-grid,
.mini-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.le-mini-card,
.mini-stat {
  padding: 18px;
  border: 1px solid #dce6e2;
  border-radius: 20px;
  background: #f8fbf9;
}

.le-mini-card strong,
.mini-stat strong {
  display: block;
  color: #122238;
  font-size: 16px;
  font-weight: 800;
}

.le-mini-card span,
.mini-stat span {
  display: block;
  margin-top: 6px;
  color: #687987;
  font-size: 12px;
  line-height: 1.65;
}

.le-list-stack,
.timeline-list,
.icon-bullet-list {
  display: grid;
  gap: 14px;
}

.le-list-item,
.timeline-item,
.icon-bullet {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid #dce6e2;
  border-radius: 20px;
  background: #f8fbf9;
}

.le-list-icon,
.icon-bullet-badge,
.step-num {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  color: #2f7549;
  background: #e9f5ed;
  border: 1px solid rgba(27, 142, 76, 0.12);
  font-weight: 800;
}

.timeline-item .step-num {
  font-size: 15px;
}

.le-list-item strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}

.le-list-item p,
.timeline-item .card-text,
.icon-bullet .card-text {
  margin-top: 5px;
}

.le-chip-row,
.split-points,
.brochure-commitment-grid,
.pkg-card-tags,
.detail-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.le-chip-pill,
.contact-pill,
.brochure-commitment-pill,
.test-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #dce6e2;
  border-radius: 999px;
  background: #f3f8f5;
  color: #405063;
  font-size: 12px;
  font-weight: 700;
}

.le-catalog-test .le-chip-row {
  align-items: flex-start;
}

.le-catalog-test .le-chip-pill-save {
  flex-basis: 100%;
  width: fit-content;
}

.le-chip-pill i,
.contact-pill i {
  color: #2f7549;
}

.le-data-grid,
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.process-grid::before,
.process-grid::after {
  display: none !important;
  content: none !important;
}

.le-data-card,
.step-card {
  position: relative;
  padding: 28px 24px;
  border: 1px solid #dce6e2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(12, 29, 52, 0.06);
}

.le-data-card strong,
.step-card h3 {
  display: block;
  margin-top: 12px;
  font-size: 18px;
  line-height: 1.3;
}

.step-card {
  text-align: left;
}

.le-data-card span,
.step-card p {
  display: block;
  margin-top: 7px;
  color: #687987;
  font-size: 13px;
  line-height: 1.75;
}

.le-form-grid,
.form-grid {
  display: grid;
  gap: 16px;
}

.form-label {
  display: inline-block;
  margin-bottom: 8px;
  color: #405063;
  font-size: 12px;
  font-weight: 700;
}

.le-support-stack,
.brochure-contact-stack {
  display: grid;
  gap: 14px;
}

.le-support-card,
.brochure-contact-panel,
.detail-list-card,
.checkout-item-row {
  padding: 18px;
  border: 1px solid #dce6e2;
  border-radius: 20px;
  background: #f8fbf9;
}

.brochure-contact-panel strong {
  display: block;
  color: #122238;
  font-size: 14px;
  font-weight: 800;
}

.brochure-contact-panel span {
  display: block;
  margin-top: 6px;
  color: #687987;
  font-size: 13px;
  line-height: 1.7;
}

.le-cta-block,
.cta-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0f2139 0%, #153152 52%, #1c4e69 100%);
}

.le-cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  padding: 36px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 26px 60px rgba(5, 17, 32, 0.18);
}

.le-cta-copy span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8bddaa;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.le-cta-copy h2 {
  margin-top: 16px;
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.le-cta-copy p {
  margin-top: 12px;
  max-width: 640px;
  color: rgba(233, 242, 248, 0.78);
  font-size: 14px;
  line-height: 1.85;
}

.le-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.le-catalog-card {
  overflow: hidden;
  border: 1px solid #dce6e2;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 52px rgba(12, 29, 52, 0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.le-catalog-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 30px 70px rgba(12, 29, 52, 0.12);
}

.le-catalog-media {
  position: relative;
  min-height: 238px;
}

.le-catalog-media img {
  width: 100%;
  height: 238px;
  object-fit: cover;
}

.le-catalog-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 24, 42, 0.14), rgba(7, 24, 42, 0.86));
}

.le-catalog-topline,
.le-catalog-titleblock {
  position: absolute;
  left: 18px;
  right: 18px;
  z-index: 1;
}

.le-catalog-topline {
  top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.le-catalog-titleblock {
  bottom: 18px;
}

.le-catalog-titleblock h3 {
  color: #fff;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.le-catalog-titleblock p {
  margin-top: 8px;
  color: rgba(236, 244, 248, 0.8);
  font-size: 13px;
  line-height: 1.8;
}

.le-catalog-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.le-catalog-badge.is-highlight {
  color: #2f7549;
  background: #eaf5ee;
  border-color: rgba(27, 142, 76, 0.08);
}

.le-catalog-body {
  display: grid;
  gap: 16px;
  padding: 24px;
}

.le-catalog-price-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
}

.le-catalog-price-label {
  display: block;
  color: #7b8a96;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.le-catalog-price {
  display: flex;
  align-items: end;
  gap: 9px;
  margin-top: 4px;
}

.le-catalog-price strong {
  color: #122238;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.le-catalog-price span {
  color: #93a0aa;
  font-size: 14px;
  text-decoration: line-through;
}

.le-catalog-stat {
  min-width: 86px;
  padding: 12px 14px;
  border: 1px solid #dce6e2;
  border-radius: 18px;
  background: #f8fbf9;
  text-align: center;
}

.le-catalog-stat strong {
  display: block;
  color: #122238;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}

.le-catalog-stat span {
  display: block;
  margin-top: 5px;
  color: #687987;
  font-size: 11px;
  font-weight: 700;
}

.le-catalog-feature-list {
  display: grid;
  gap: 10px;
  padding: 0;
  list-style: none;
}

.le-catalog-feature-list li {
  display: flex;
  gap: 11px;
  align-items: start;
  color: #526475;
  font-size: 13px;
  line-height: 1.7;
}

.le-catalog-feature-list i {
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #2f7549;
  background: #e9f5ed;
  font-size: 11px;
  flex-shrink: 0;
}

.le-catalog-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  padding-top: 4px;
  color: #687987;
  font-size: 12px;
  font-weight: 700;
}

.le-catalog-actions {
  display: flex;
  gap: 10px;
}

.le-catalog-actions > * {
  flex: 1 1 0;
  justify-content: center;
}

.le-process {
  overflow: hidden;
}

.le-process-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1fr);
  gap: 42px;
  align-items: center;
}

.le-process-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.le-process-visual img {
  display: block;
  width: 100%;
  max-width: 470px;
  height: auto;
}

.le-process-content {
  min-width: 0;
}

.le-process-intro {
  display: grid;
  gap: 16px;
  margin-bottom: 34px;
  text-align: left;
  justify-items: start;
}

.le-process-intro h2 {
  max-width: 640px;
  text-align: left;
}

.le-process-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 0;
}

.le-process-grid > div {
  min-height: 50px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.le-process-grid > div:nth-child(2n) {
  border-right: 1px solid rgba(255, 255, 255, 0.13);
}

.le-compact-empty {
  text-align: center;
  padding: 42px 28px;
}

.le-compact-empty h2 {
  margin-top: 16px;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  color: #526475;
  font-size: 13px;
  border-bottom: 1px solid rgba(220, 230, 226, 0.8);
}

.summary-row:last-child {
  border-bottom: 0;
}

.checkout-item-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.checkout-item-copy h4 {
  font-size: 15px;
  line-height: 1.35;
}

.checkout-item-copy p,
.checkout-item-type {
  color: #687987;
  font-size: 12px;
}

.checkout-item-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.qty-btn {
  width: 34px;
  height: 34px;
  border: 1px solid #dce6e2;
  border-radius: 12px;
  background: #fff;
  color: #122238;
  font-size: 16px;
  font-weight: 800;
}

.faq-list {
  display: grid;
  gap: 16px;
}

.faq-item h3 {
  font-size: 20px;
  line-height: 1.3;
}

.blog-cover {
  height: 180px;
  border-radius: 20px;
  background: linear-gradient(135deg, #153152, #1d6e92);
}

.blog-body {
  margin-top: 18px;
}

.blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #687987;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.page-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 1100px) {
  .le-page-hero-grid,
  .le-cta-inner,
  .le-data-grid,
  .process-grid {
    grid-template-columns: 1fr;
  }

  .le-page-metrics {
    max-width: none;
  }

  .le-cta-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 899px) {
  .le-page-hero {
    min-height: 0;
    padding: 66px 0 60px;
  }

  .le-grid-2,
  .le-grid-3,
  .le-split-showcase,
  .content-grid.two-up,
  .content-grid.three-up,
  .contact-grid,
  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .le-process-layout {
    grid-template-columns: 1fr;
  }

  .le-page-metrics,
  .le-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .le-page-copy h1 {
    font-size: clamp(2.35rem, 11vw, 3.4rem);
  }

  .le-page-copy p,
  .le-section-intro p {
    font-size: 13px;
  }

  .le-page-side,
  .le-panel,
  .info-card,
  .detail-card,
  .contact-card,
  .legal-card,
  .faq-item,
  .blog-card {
    padding: 22px;
    border-radius: 22px;
  }

  .le-page-metrics,
  .le-mini-grid {
    grid-template-columns: 1fr;
  }
  .le-page-hero {
    padding: 54px 0 48px;
  }
  .le-page-hero-grid {
    gap: 20px;
  }
  .le-page-breadcrumb {
    width: 100%;
    justify-content: flex-start;
    font-size: 10px;
    line-height: 1.5;
    white-space: normal;
  }
  .le-page-copy {
    gap: 14px;
  }
  .le-page-actions,
  .le-page-actions a,
  .le-page-actions button {
    width: 100%;
  }
  .le-page-actions {
    gap: 10px;
  }
  .le-page-actions .btn-primary,
  .le-page-actions .btn-outline {
    justify-content: center;
  }
  .le-page-metric {
    padding: 16px;
    border-radius: 18px;
  }
  .le-page-metric strong {
    font-size: 21px;
  }
  .le-page-side {
    padding: 18px;
    border-radius: 18px;
  }
  .le-page-side h2 {
    margin-top: 0px;
    font-size: 21px;
  }
  .le-page-side > p {
    font-size: 12px;
    line-height: 1.7;
  }
  .le-page-side .hero-search-head {
    gap: 12px;
    margin-top: 14px;
    margin-bottom: 14px;
  }
  .hero-search-head > div,
  .hero-search-bar input {
    /* width: 100%; */
  }
  .hero-search-meta {
    margin-bottom: 0.45rem;
    white-space: normal;
  }
  .hero-search-title {
    font-size: 0.98rem;
    line-height: 1.35;
  }
  .hero-search-bar {
    gap: 8px;
    padding: 10px;
    border-radius: 14px;
  }
  .hero-search-bar input {
    font-size: 0.9rem;
  }
  .hero-search-pill {
    padding: 7px 10px;
    font-size: 0.7rem;
  }

  .le-list-item,
  .timeline-item,
  .icon-bullet,
  .checkout-item-row {
    grid-template-columns: 1fr;
  }
  .timeline-item,
  .icon-bullet,
  .le-list-item,
  .checkout-item-row {
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
  }
  .timeline-item .step-num,
  .icon-bullet-badge,
  .le-list-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .detail-price-image img {
    height: 190px;
  }
  .detail-price-panel,
  .detail-list-card {
    padding: 18px;
    border-radius: 18px;
  }

  .le-catalog-topline {
    justify-content: flex-start;
  }
  .le-catalog-card {
    border-radius: 22px;
  }
  .le-catalog-media {
    min-height: 210px;
  }
  .le-catalog-media img {
    height: 210px;
  }
  .le-catalog-topline,
  .le-catalog-titleblock {
    left: 14px;
    right: 14px;
  }
  .le-catalog-topline {
    top: 14px;
  }
  .le-catalog-titleblock {
    bottom: 14px;
  }
  .le-catalog-badge {
    font-size: 9px;
    letter-spacing: 0.1em;
  }
  .le-catalog-titleblock h3 {
    font-size: 1.65rem;
    line-height: 1.1;
  }
  .le-catalog-titleblock p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.6;
  }
  .le-catalog-body {
    gap: 14px;
    padding: 18px 16px;
  }
  .le-catalog-price-row {
    gap: 14px;
    align-items: stretch;
  }
  .le-catalog-price strong {
    font-size: 2.1rem;
  }
  .le-catalog-price span {
    font-size: 13px;
  }
  .le-catalog-stat {
    min-width: 76px;
    padding: 10px 12px;
    border-radius: 16px;
  }
  .le-catalog-feature-list li {
    gap: 10px;
    font-size: 12px;
    line-height: 1.65;
  }
  .le-catalog-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    font-size: 11px;
  }
  .le-catalog-actions {
    gap: 8px;
  }
  .le-catalog-actions > * {
    min-height: 46px;
  }

  .le-catalog-price-row,
  .le-catalog-actions,
  .page-hero-actions {
    flex-direction: row;
  }

  .le-process-grid {
    grid-template-columns: 1fr;
  }

  .le-process-grid > div:nth-child(2n) {
    border-right: 1px solid rgba(255, 255, 255, 0.13);
  }
}
