/* Shared public-page density. Never loaded by the real or demo cabinet. */
.public-site { --public-hero-size: clamp(28px, 3.5vw, 46px); --public-heading-size: clamp(26px, 2.7vw, 34px); }
.public-site :is(.nav-logo, .foot-in) img { aspect-ratio: 180 / 62; mix-blend-mode: multiply; }
.public-site .brand-name { white-space: nowrap; }
.public-site :is(h1, h2) { overflow-wrap: normal; word-break: normal; hyphens: none; }
.public-site :is(.hero, .seo-hero, .contact-hero, .clinic-hero) { padding: 44px 0 48px; }
.public-site h1 { font-size: var(--public-hero-size); line-height: 1.12; letter-spacing: -.025em; }
.public-site :is(.hero-grid, .seo-hero-grid, .contact-hero-grid, .clinic-hero-grid) { gap: 36px; }
.public-site :is(.hero-grid, .seo-hero-grid, .contact-hero-grid, .clinic-hero-grid) > * { min-width: 0; }
.public-site :is(.hero p.sub, .seo-hero-copy .sub, .contact-hero-copy > p, .clinic-lead) { font-size: 16px; line-height: 1.65; }
.public-site :is(.hero-trust, .seo-trust) { margin-top: 24px; }
.public-site .hero-trust b { font-size: 23px; }
.public-site .dual-visual { height: 450px; }
.public-site :is(.dental-visual, .service-visual, .supply-visual, .gov-visual) img { height: auto; }
.public-site :is(h2.sec-title, .network-head h2, .cabinet-showcase-heading h2, .procurement-head h2, .aftercare h2) { font-size: var(--public-heading-size); line-height: 1.18; }
.public-site .cabinet-showcase { padding: 44px 0 48px; }
.public-site .cabinet-showcase-heading { gap: 36px; margin-bottom: 26px; }
.public-site .service-network { padding: 36px; border-radius: 24px; }
.public-site .network-head { grid-template-columns: 1.15fr 1fr; gap: 36px; }
.public-site .network-team { margin-top: 28px; }
.public-site .network-team article { padding: 20px; }
.public-site :is(.included-grid, .equipment-grid, .qualification-grid, .compare-grid, .aud-grid, .svc-grid, .proc) { margin-top: 30px; }
.public-site .clinic-service-card h2 { font-size: 28px; margin: 22px 0; }
.public-site .clinic-hero .btn { font-size: 14px; }
.public-site :is(section[id], .cabinet-slide, #public-lead-form) { scroll-margin-top: 88px; }

/* Compact inquiry sections, with full-size inputs and unchanged form behavior. */
.public-site .section:has(#public-lead-form) { padding-block: 40px; }
.public-site .form-grid { gap: 28px; margin-top: 24px; }
.public-site .form-box { padding: 22px; border-radius: 16px; }
.public-site .form-box .fr { min-width: 0; margin-bottom: 12px; }
.public-site .form-box .fr label { font-size: 14px; line-height: 1.35; margin-bottom: 5px; }
.public-site .form-box :is(input:not([type="checkbox"]), select, textarea) { font-size: 16px; line-height: 1.35; min-height: 44px; padding: 10px 12px; }
.public-site .form-box .fr textarea { min-height: 72px; }
.public-site .form-box .fr-2 { gap: 12px; align-items: end; }
.public-site .lead-consent { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; }
.public-site .lead-consent input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 3px; accent-color: #075db8; }
.public-site .lead-consent label { font-size: 14px; line-height: 1.5; min-height: 44px; cursor: pointer; }
.public-site :is(.lead-consent, .lead-policy) a { text-decoration: underline; text-underline-offset: 2px; }
.public-site .lead-policy { font-size: 14px; line-height: 1.5; margin: 0 0 8px; }
.public-site .form-box .btn-primary { min-height: 44px; padding: 10px 16px; margin-top: 0; }
.public-site .form-status:empty { display: none; }
.public-site .form-info p { margin-bottom: 12px; line-height: 1.6; }
.public-site .form-info .contact-row { margin-top: 14px; }
.public-site .form-route-list { margin: 16px 0 20px; }
.public-site .contact-promise { gap: 12px; margin-bottom: 14px; }
@media (min-width: 921px) {
  .public-site .section:has(#public-lead-form) > .wrap { display: grid; grid-template-columns: 1fr 1.25fr; grid-template-rows: min-content 1fr; gap: 20px 28px; align-items: start; }
  .public-site .section:has(#public-lead-form) > .wrap > .reveal { grid-column: 1; grid-row: 1; min-width: 0; }
  .public-site .section:has(#public-lead-form) .form-grid { display: contents; }
  .public-site .section:has(#public-lead-form) .form-info { grid-column: 1; grid-row: 2; min-width: 0; }
  .public-site #public-lead-form { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
}
@media (max-width: 620px) {
  .public-site .section:has(#public-lead-form) { padding-block: 32px; }
  .public-site .form-box { padding: 18px; }
  .public-site .form-grid { gap: 22px; }
}

/* Subscription model for private clinics: service resources and contract terms. */
.clinic-subscription { padding-top: 44px; padding-bottom: 0; }
.clinic-subscription-panel { padding: 36px; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #1255a0, #0b3569); }
.clinic-subscription-head { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 36px; }
.clinic-subscription-head .eyebrow { color: #b9e7fa; }
.clinic-subscription-head > p { color: #d5e7f8; font-size: 15px; line-height: 1.7; }
.clinic-subscription-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.clinic-subscription-team article { padding: 20px; border: 1px solid #ffffff30; border-radius: 15px; background: #ffffff0f; }
.clinic-subscription-team i { font-size: 24px; color: #a9e6ff; }
.clinic-subscription-team h3 { font-size: 16px; line-height: 1.35; margin: 13px 0 9px; }
.clinic-subscription-team p { font-size: 14px; line-height: 1.65; color: #d5e7f8; }
.clinic-subscription-terms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 18px; border: 1px solid #ffffff30; border-radius: 14px; overflow: hidden; background: #ffffff30; }
.clinic-subscription-terms > div { padding: 16px 18px; background: #143e6e; }
.clinic-subscription-terms dt { color: #b9d4ee; font-size: 12px; margin-bottom: 5px; }
.clinic-subscription-terms dd { font-size: 14px; line-height: 1.5; font-weight: 600; }
.clinic-subscription-footer { display: flex; align-items: center; gap: 28px; margin-top: 24px; }
.clinic-subscription-footer p { font-size: 13px; line-height: 1.6; color: #d5e7f8; }
.clinic-subscription-footer .btn { flex-shrink: 0; background: #fff; color: #1255a0; justify-content: center; min-height: 44px; font-size: 14px; }

@media (max-width: 920px) {
  .public-site { --public-hero-size: clamp(28px, 5vw, 42px); }
  .public-site :is(.hero, .seo-hero, .contact-hero, .clinic-hero) { padding: 32px 0 38px; }
  .public-site :is(.hero-grid, .seo-hero-grid, .contact-hero-grid, .clinic-hero-grid) { grid-template-columns: 1fr; gap: 28px; }
  .public-site .clinic-service-card { display: none; }
  .public-site .dual-visual { height: 390px; }
  .public-site .network-head, .clinic-subscription-head { grid-template-columns: 1fr; gap: 20px; }
  .clinic-subscription-team, .clinic-subscription-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-site :is(section[id], .cabinet-slide) { scroll-margin-top: 88px; }
}
@media (max-width: 620px) {
  .public-site { --public-hero-size: clamp(26px, 7vw, 34px); --public-heading-size: clamp(24px, 6vw, 30px); }
  .public-site .section { padding-block: 42px; }
  .public-site :is(.clinic-subscription, .network-section) { padding-top: 32px; }
  .public-site .clinic-subscription { padding-bottom: 0; }
  .public-site .clinic-faq { padding-top: 0; }
  .public-site .cabinet-showcase { padding-block: 36px; }
  .public-site .dual-visual { height: 340px; }
  .public-site .service-network, .clinic-subscription-panel { padding: 24px; border-radius: 20px; }
  .public-site .network-head, .public-site .cabinet-showcase-heading { gap: 20px; }
  .clinic-subscription-team, .clinic-subscription-terms { grid-template-columns: 1fr; }
  .clinic-subscription-team article { padding: 18px; }
  .clinic-subscription-footer { flex-direction: column; align-items: stretch; gap: 16px; }
}
