/* Public components only. Existing content, form fields and behaviour stay in their own modules. */
body.public-body :is(.catalog-results, .engineer-main, .engineer-side, .profile-copy, .engineer-create-content) {
  min-width: 0;
}
body.public-body :is(.filter-panel, .engineer-card, .region-card, .doc-card, .news-card,
  .service-card, .contact-card, .form-card, .faq-panel, .review-card, .text-panel,
  .engineer-create-guide, .success-credentials, .tariff-card, .engineer-clean-card) {
  border: 1px solid var(--public-line);
  border-radius: var(--public-radius);
  background: var(--public-surface);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), var(--public-shadow);
  color: var(--public-ink);
}
body.public-body :is(.filter-panel, .form-card) {
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
  backdrop-filter: blur(16px) saturate(1.08);
}
body.public-body :is(.doc-card, .news-card, .service-card, .review-card, .contact-card,
  .faq-panel, .text-panel, .engineer-create-guide, .success-credentials) {
  padding: 26px;
}
body.public-body :is(.doc-card, .news-card, .service-card, .review-card, .text-panel) p {
  color: var(--public-muted);
  line-height: 1.7;
}

/* Search and catalogue: readable rows with quiet tariff accents. */
body.public-body .catalog-layout {
  grid-template-columns: minmax(240px, 270px) minmax(0, 1fr);
  gap: 26px;
  padding-block: 12px 48px;
}
body.public-body .filter-panel { top: 112px; padding: 24px; }
body.public-body .filter-panel h2 { margin: 0 0 21px; font-size: 21px; font-weight: 600; }
body.public-body .filter-panel .form-stack { gap: 18px; }
body.public-body .filter-panel label > span { color: var(--public-muted); font-size: 13px; font-weight: 500; }
body.public-body .results-head { align-items: center; margin-bottom: 22px; gap: 12px; }
body.public-body .results-head h2 { margin: 0; font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
body.public-body .results-head span { color: var(--public-muted); font-size: 13px; }
body.public-body .engineer-list { gap: 18px; }
body.public-body .engineer-card {
  --card-accent: var(--public-blue);
  grid-template-columns: 104px minmax(0, 1fr) minmax(145px, 170px);
  gap: 22px;
  padding: 24px;
  box-shadow: inset 3px 0 0 var(--card-accent), inset 0 1px 0 #fff, var(--public-shadow);
}
body.public-body .engineer-card::before { content: none; }
body.public-body .engineer-card.plan-maximum { --card-accent: #c2475f; }
body.public-body .engineer-card.plan-premium { --card-accent: #997117; }
body.public-body .engineer-card .engineer-visual { width: 104px; grid-column: auto; gap: 10px; }
body.public-body .engineer-card .engineer-main { grid-column: auto; }
body.public-body .engineer-avatar-link { width: 104px; height: 104px; border-radius: 14px; background: #edf2f8; }
body.public-body .engineer-avatar-link img { border-radius: inherit; }
body.public-body .engineer-title { align-items: flex-start; gap: 12px; }
body.public-body .engineer-main h3 { margin: 0 0 7px; font-size: 21px; line-height: 1.3; font-weight: 600; letter-spacing: -.035em; }
body.public-body .engineer-main p { font-size: 14px; line-height: 1.65; color: var(--public-muted); }
body.public-body .engineer-main .engineer-location { margin-block: 12px 8px; color: #4b6383; font-size: 13px; }
body.public-body .engineer-name-link { color: var(--public-ink); }
body.public-body .engineer-name-link:hover { color: var(--public-blue); }
body.public-body .engineer-badges .verified { border: 0; border-radius: 7px; padding: 5px 9px; background: #eaf5f0; color: #287b61; font-size: 11px; font-weight: 500; }
body.public-body .engineer-recommendation { gap: 5px; color: var(--card-accent); }
body.public-body .engineer-recommendation strong { font-size: 10px; line-height: 1.4; font-weight: 500; }
body.public-body .engineer-card .engineer-side {
  grid-column: auto; display: flex; flex-direction: column; align-items: flex-start;
  gap: 8px; padding: 4px 0 4px 20px; border-left: 1px solid var(--public-line);
}
body.public-body .engineer-side > strong { color: var(--public-ink); font-size: 23px; font-weight: 600; letter-spacing: -.04em; }
body.public-body .engineer-side > span { color: var(--public-muted); font-size: 12px; }
body.public-body .engineer-side > .btn { width: 100%; margin-top: auto; min-height: 42px; font-size: 12px; }
body.public-body .chips { gap: 6px; margin-top: 14px; }
body.public-body .chips > span { padding: 6px 9px; border: 0; border-radius: 7px; background: #edf3fa; color: #506b8e; font-size: 11px; font-weight: 400; }
body.public-body .catalog-pagination { gap: 8px; margin-top: 28px; flex-wrap: wrap; color: var(--public-muted); }
body.public-body .catalog-page-link { border: 1px solid var(--public-line); border-radius: 9px; background: #fff; color: var(--public-muted); font-weight: 500; box-shadow: none; }
body.public-body .catalog-page-link.is-current { border-color: var(--public-blue); background: var(--public-blue); color: #fff; }
body.public-body .catalog-page-status { font-size: 12px; }
body.public-body .empty-state { padding: 36px 24px; border: 1px dashed #c8d6e9; border-radius: 20px; background: rgba(255,255,255,.6); color: var(--public-muted); }

/* Regions, documents and editorial cards. */
body.public-body :is(.docs-page, .news-page) {
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding-block: 12px 48px;
}
body.public-body .region-strip { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 20px; }
body.public-body .region-grid-full { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 22px; padding-block: 12px 48px; }
body.public-body .region-card { display: grid; grid-template-columns: minmax(0, 72fr) minmax(0, 28fr); grid-template-rows: auto auto 1fr; min-width: 0; min-height: 0; padding: 0; border-radius: 12px; background: transparent; }
body.public-body .region-card.large { min-height: 0; padding: 0; }
body.public-body .region-card .region-title { grid-column: 1; grid-row: 1; align-self: start; margin: 0; padding: 18px 0 0 20px; color: var(--public-ink); font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
body.public-body .region-card.large .region-title { margin: 0; font-size: 20px; }
body.public-body .region-card > span:not(.region-title) { grid-column: 1; grid-row: 2; align-self: start; max-width: none; padding: 6px 0 0 20px; color: var(--public-muted); line-height: 1.55; font-size: 12px; }
body.public-body .region-card strong { grid-column: 1; grid-row: 3; align-self: start; margin: 0; padding: 8px 0 18px 20px; color: var(--public-blue); font-size: 18px; font-weight: 500; line-height: 1.4; }
body.public-body .region-card img { position: static; z-index: 0; display: block; grid-column: 1 / -1; grid-row: 1 / 4; align-self: start; width: 100%; max-width: none; height: auto; max-height: none; margin: 0; object-fit: contain; object-position: center; opacity: 1; }
body.public-body .region-card.large img { width: 100%; max-width: none; height: auto; max-height: none; }
body.public-body :is(.region-card, .news-card) { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body.public-body :is(.region-card:hover, .news-card:hover) { transform: translateY(-3px); border-color: rgba(107,150,209,.38); box-shadow: 0 18px 40px rgba(47,76,117,.09); }
body.public-body .doc-card { grid-template-columns: 48px minmax(0, 1fr); gap: 18px; align-content: start; }
body.public-body .doc-card .document-icon { width: 44px; max-height: 52px; object-fit: contain; }
body.public-body .doc-card .file-badge { border-radius: 11px; background: #edf4ff; color: var(--public-blue); }
body.public-body :is(.doc-card h2, .news-card h2) { margin: 0 0 10px; color: var(--public-ink); font-size: 21px; font-weight: 600; line-height: 1.35; letter-spacing: -.035em; }
body.public-body .doc-card > .btn { margin-top: 9px; }
body.public-body .news-card { padding: 20px; }
body.public-body .news-card-image { aspect-ratio: 16 / 10; margin-bottom: 20px; border-radius: 13px; }
body.public-body .news-card a { color: var(--public-ink); font-weight: 500; }
body.public-body .date-badge { color: var(--public-muted); background: #edf3fa; border-radius: 7px; padding: 5px 9px; font-size: 11px; font-weight: 500; }
body.public-body .article-page { max-width: 920px; padding-block: 24px 64px; }
body.public-body .article-page h1 { margin: 20px 0; color: var(--public-ink); font-size: clamp(32px, 4.2vw, 50px); font-weight: 500; line-height: 1.13; letter-spacing: -.045em; }
body.public-body .article-image { max-height: 470px; border-radius: 20px; margin-block: 24px; }
body.public-body .article-content { color: #405571; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
body.public-body .article-content :is(h2, h3) { color: var(--public-ink); line-height: 1.3; margin-top: 1.7em; }
body.public-body .article-content img { height: auto; border-radius: 14px; }
body.public-body .article-content a { color: var(--public-blue); text-decoration: underline; text-underline-offset: 3px; }
body.public-body .text-panel.legal-document { padding: clamp(22px, 4vw, 44px); color: #405571; line-height: 1.8; }
body.public-body .legal-document :is(h2, h3) { color: var(--public-ink); font-weight: 600; }
body.public-body .legal-document a { overflow-wrap: anywhere; }
body.public-body .split-page { grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 32px; padding-block: 18px 48px; }
body.public-body .split-page article { color: #405571; font-size: 16px; line-height: 1.8; }
body.public-body .contact-list { gap: 18px; }
body.public-body .contact-list a { color: var(--public-blue); font-size: 21px; font-weight: 500; overflow-wrap: anywhere; }
body.public-body .faq-panel details { border-color: var(--public-line); padding-block: 17px; }
body.public-body .faq-panel summary { color: var(--public-ink); font-weight: 500; }
body.public-body .business-details--contacts { border: 1px solid var(--public-line); border-radius: 20px; background: var(--public-surface); box-shadow: var(--public-shadow); }
body.public-body .map-section iframe { border: 1px solid var(--public-line); border-radius: 20px; box-shadow: var(--public-shadow); }

/* Public profiles: the same tariff information, with restrained surfaces. */
body.public-body .profile-hero { padding-block: 22px 32px; background: transparent; box-shadow: none; }
body.public-body .profile-grid { grid-template-columns: 200px minmax(0, 1fr) 280px; gap: 30px; align-items: start; }
body.public-body .profile-photo { width: 200px; height: 220px; border: 1px solid var(--public-line); border-radius: 20px; box-shadow: var(--public-shadow); }
body.public-body .profile-copy h1 { color: var(--public-ink); font-size: clamp(30px, 3.5vw, 43px); font-weight: 500; line-height: 1.14; letter-spacing: -.045em; overflow-wrap: anywhere; }
body.public-body .profile-copy > p { color: var(--public-muted); font-size: 15px; line-height: 1.75; }
body.public-body .back-link { display: inline-block; margin-bottom: 18px; color: var(--public-muted); font-size: 12px; font-weight: 500; }
body.public-body .back-link:hover { color: var(--public-blue); }
body.public-body .profile-metrics { gap: 9px; margin-top: 22px; }
body.public-body .profile-metrics span { min-width: 94px; padding: 11px 14px; border: 1px solid var(--public-line); border-radius: 12px; background: rgba(255,255,255,.8); color: var(--public-muted); font-size: 12px; }
body.public-body .profile-metrics strong { color: var(--public-ink); font-size: 21px; font-weight: 600; }
body.public-body .contact-card { gap: 12px; padding: 23px; }
body.public-body .contact-card h2 { color: var(--public-ink); font-size: 21px; font-weight: 500; }
body.public-body .contact-card :is(a, strong, .profile-contact-static) { color: var(--public-blue); font-weight: 500; }
body.public-body .contact-card strong { font-size: 22px; }
body.public-body .contact-card .profile-contact-actions { margin-top: 9px; gap: 9px; }
body.public-body .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
body.public-body .service-card h3 { color: var(--public-ink); font-size: 20px; font-weight: 600; letter-spacing: -.03em; }
body.public-body .service-card strong { color: var(--public-blue); font-size: 20px; font-weight: 500; }
body.public-body .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
body.public-body .review-card { min-width: 0; }
body.public-body .review-card-head { gap: 12px; align-items: flex-start; }
body.public-body .review-card-head strong { font-weight: 600; color: var(--public-ink); }
body.public-body .review-stars { color: #aa7d1b; font-size: 13px; letter-spacing: 1px; }
body.public-body .review-card time { color: var(--public-muted); font-size: 11px; }

/* Form surfaces do not alter visibility or layout of security/consent fields. */
body.public-body .form-page { padding-block: 14px 54px; }
body.public-body .form-card { gap: 21px; padding: clamp(22px, 3vw, 36px); max-width: 920px; }
body.public-body .form-card.editable-public-form { background: var(--form-bg, var(--public-surface)); }
body.public-body :is(.form-card, .region-request-form) label > span { color: #4e6380; font-size: 13px; font-weight: 500; line-height: 1.5; }
body.public-body .request-form-intro { margin-bottom: 3px; padding-bottom: 19px; border-color: var(--public-line); }
body.public-body .request-form-intro h2 { margin-bottom: 9px; color: var(--public-ink); font-weight: 500; letter-spacing: -.035em; }
body.public-body .request-form-intro p { color: var(--public-muted); line-height: 1.7; }
body.public-body .region-request-band { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 36px; padding: 34px; border: 1px solid var(--public-line); border-radius: 24px; background: var(--public-surface); box-shadow: var(--public-shadow); }
body.public-body .region-request-band::before { content: none; }
body.public-body .region-request-band h2 { color: var(--public-ink); font-size: clamp(24px, 2.5vw, 31px); font-weight: 500; line-height: 1.3; letter-spacing: -.04em; }
body.public-body .region-request-band > div > p { color: var(--public-muted); line-height: 1.7; margin-top: 15px; }
body.public-body .region-request-form { gap: 17px; }
body.public-body .personal-data-consents { grid-column: 1 / -1; padding: 16px; border: 1px solid var(--public-line); border-radius: 12px; background: rgba(235,242,252,.5); }
body.public-body .personal-data-consents legend { color: var(--public-muted); font-size: 12px; font-weight: 500; }
body.public-body .personal-data-consents label > span { color: var(--public-muted); font-size: 12px; line-height: 1.7; font-weight: 400; }
body.public-body .engineer-create-layout { grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: 28px; }
body.public-body .engineer-create-guide { top: 112px; }
body.public-body .engineer-create-guide h2 { color: var(--public-ink); font-weight: 500; }
body.public-body .engineer-create-guide ol { gap: 21px; }
body.public-body .engineer-create-guide li > b { border-radius: 10px; background: #edf4ff; color: var(--public-blue); box-shadow: none; font-weight: 500; }
body.public-body .engineer-create-guide li span { color: var(--public-muted); line-height: 1.65; }
body.public-body .success-credentials { background: #f1f8f5; border-color: #d4e8de; }
body.public-body .success-credentials h2 { color: #27684f; }

/* Placement plans use the same calm cards as the public catalogue. */
body.public-body :is(.engineers-blocker-grid, .engineers-channel-list) { gap: 21px; }
body.public-body :is(.engineers-blocker-grid, .engineers-channel-list) article { padding: 26px; border: 1px solid var(--public-line); border-radius: 20px; background: var(--public-surface); box-shadow: var(--public-shadow); }
body.public-body :is(.engineers-blocker-grid, .engineers-channel-list) h3 { color: var(--public-ink); font-size: 20px; font-weight: 600; line-height: 1.4; }
body.public-body :is(.engineers-blocker-grid, .engineers-channel-list) p { color: var(--public-muted); font-size: 14px; line-height: 1.75; }
body.public-body .engineers-channel-list > article > span { border-radius: 8px; background: #edf4ff; color: var(--public-blue); font-weight: 500; }
body.public-body .engineers-economy { padding: 22px; gap: 12px; border: 1px solid var(--public-line); border-radius: 24px; background: var(--public-surface); box-shadow: var(--public-shadow); }
body.public-body .engineers-economy article { border-radius: 16px; padding: 27px; }
body.public-body .engineers-economy article:first-child { background: #fbf1f3; }
body.public-body .engineers-economy article:last-child { background: #edf7f1; }
body.public-body .engineers-economy span { color: var(--public-muted); font-size: 13px; font-weight: 500; }
body.public-body .engineers-economy strong { font-size: clamp(28px, 3vw, 38px); font-weight: 500; letter-spacing: -.045em; }
body.public-body .engineers-economy p { color: var(--public-muted); font-size: 14px; line-height: 1.7; }
body.public-body .engineers-benefit-band { padding: 32px; border: 1px solid var(--public-line); border-radius: 24px; background: var(--public-surface); box-shadow: var(--public-shadow); }
body.public-body .engineers-benefit-band h2 { color: var(--public-ink); font-weight: 500; letter-spacing: -.035em; }
body.public-body .engineers-benefit-band li { border-color: var(--public-line); border-radius: 11px; background: rgba(255,255,255,.65); color: #4c6483; font-weight: 500; font-size: 13px; }
body.public-body .engineers-tariff-grid { gap: 18px; }
body.public-body .engineers-tariff-grid .tariff-card { padding: 28px 22px; gap: 16px; min-width: 0; }
body.public-body .tariff-card > span { color: var(--public-ink); font-size: 17px; font-weight: 600; }
body.public-body .engineers-tariff-grid .tariff-card > strong { margin-block: 9px 4px; color: var(--public-ink); font-size: clamp(26px, 2.5vw, 34px); font-weight: 500; letter-spacing: -.045em; }
body.public-body .tariff-card strong small { color: var(--public-muted); font-size: 12px; font-weight: 400; letter-spacing: 0; }
body.public-body .engineers-tariff-grid .tariff-card ul { gap: 12px; color: var(--public-muted); font-size: 13px; line-height: 1.65; }
body.public-body .tariff-card .tariff-feature-crm { color: var(--public-blue); font-weight: 500; }
body.public-body .tariff-card em { top: -12px; right: 19px; padding: 6px 12px; border-radius: 8px; color: #a64156; background: #fbeaf0; font-size: 11px; font-weight: 500; box-shadow: none; }
body.public-body .tariff-card.tariff-maximum { border-color: rgba(194,71,95,.3); box-shadow: inset 0 2px 0 #c2475f, var(--public-shadow); }
body.public-body .tariff-card.tariff-premium { border-color: rgba(153,113,23,.28); box-shadow: inset 0 2px 0 #aa812a, var(--public-shadow); }
body.public-body .tariff-trial-period { border-radius: 6px; background: #edf4ff; color: var(--public-blue); font-weight: 500; text-transform: none; }
body.public-body .engineers-tariff-grid .tariff-card > .btn { height: auto; min-height: 46px; flex: 0 0 auto; padding: 12px 16px; }
body.public-body .engineers-final-cta { padding: 35px; border: 0; border-radius: 24px; background: #e9f0fa; color: var(--public-ink); box-shadow: none; }
body.public-body .engineers-final-cta h2 { color: var(--public-ink); font-weight: 500; letter-spacing: -.035em; }
body.public-body .engineers-final-cta p { color: var(--public-muted); line-height: 1.7; }
body.public-body .engineers-final-cta > div > span { color: var(--public-blue); font-weight: 500; }

/* Dark footer preserves the existing white brand asset. */
body.public-body .sro-showcase { border: 0; background: transparent; padding-block: 36px; }
body.public-body .sro-showcase h2 { color: var(--public-muted); font-size: 16px; font-weight: 500; }
body.public-body .sro-logo-item { border-color: var(--public-line); border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: 0 4px 15px rgba(47,76,117,.025); }
body.public-body .site-footer { border-radius: 28px 28px 0 0; background: linear-gradient(120deg,#152c4a,#203b5e); color: #e4ecf7; margin-top: 36px; }
body.public-body .footer-grid { width: min(100% - 72px, 1280px); gap: 30px; padding-block: 47px 30px; }
body.public-body .footer-brand img { width: 164px; height: auto; margin-bottom: 22px; }
body.public-body .site-footer h3 { margin-bottom: 15px; color: #fff; font-size: 14px; font-weight: 600; letter-spacing: -.015em; }
body.public-body .site-footer :is(p, a) { color: #c3d2e5; font-size: 12px; line-height: 1.8; }
body.public-body .site-footer a { margin-block: 7px; }
body.public-body .site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body.public-body .site-footer .footer-contact { margin-bottom: 9px; color: #fff; font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }
body.public-body .site-footer .business-details__compact { color: #c3d2e5; font-size: 11px; line-height: 1.8; }
body.public-body .site-footer .business-details__compact a { color: inherit; font-size: inherit; }
body.public-body .site-footer .socials { gap: 9px; margin-top: 17px; }
body.public-body .site-footer .socials a { width: 32px; height: 32px; margin: 0; border-color: rgba(255,255,255,.22); border-radius: 10px; background: rgba(255,255,255,.06); }
body.public-body .footer-legal-links { border-color: rgba(255,255,255,.14); padding-top: 17px; margin-top: 20px; }
body.public-body .site-footer .footer-legal-links h4 { font-size: 11px; font-weight: 500; color: #e4ecf7; }
body.public-body .site-footer .footer-legal-links a { color: #b9cbe1; font-size: 11px; line-height: 1.65; }
body.public-body .footer-publication-notice { width: min(100% - 72px,1280px); border-color: rgba(255,255,255,.13); padding-block: 23px; }
body.public-body .site-footer .footer-publication-notice p { color: #aebfd5; font-size: 11px; line-height: 1.7; text-align: left; }

@media (max-width: 1120px) {
  body.public-body .catalog-layout { grid-template-columns: 230px minmax(0,1fr); gap: 22px; }
  body.public-body .engineer-card { grid-template-columns: 84px minmax(0,1fr); gap: 18px; }
  body.public-body .engineer-card .engineer-visual { width: 84px; }
  body.public-body .engineer-avatar-link { width: 84px; height: 84px; }
  body.public-body .engineer-card .engineer-side { grid-column: 2; flex-direction: row; align-items: center; flex-wrap: wrap; border-left: 0; border-top: 1px solid var(--public-line); padding: 14px 0 0; }
  body.public-body .engineer-side > .btn { width: auto; margin-top: 4px; }
  body.public-body .profile-grid { grid-template-columns: 170px minmax(0,1fr); gap: 26px; }
  body.public-body .profile-photo { width: 170px; height: 190px; }
  body.public-body .profile-grid > .contact-card { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.public-body .profile-grid > .contact-card h2 { grid-column: 1 / -1; }
  body.public-body .engineers-tariff-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 20px; }
  body.public-body .engineers-channel-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
  body.public-body .catalog-layout { grid-template-columns: minmax(0,1fr); }
  body.public-body .filter-panel { position: static; }
  body.public-body .filter-panel .form-stack { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; }
  body.public-body :is(.region-strip, .region-grid-full) { gap: 18px; }
  body.public-body :is(.docs-page, .news-page, .service-grid, .review-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  body.public-body .region-request-band { grid-template-columns: minmax(0,1fr); gap: 27px; padding: 28px; }
  body.public-body .split-page { grid-template-columns: minmax(0,1fr); gap: 25px; }
  body.public-body .engineer-create-layout { grid-template-columns: minmax(0,1fr); }
  body.public-body .engineer-create-guide { position: static; }
  body.public-body .engineers-blocker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.public-body .engineers-benefit-band { grid-template-columns: minmax(0,1fr); }
  body.public-body .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 35px; }
  body.public-body .footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  body.public-body :is(.region-strip, .region-grid-full, .docs-page, .news-page, .service-grid, .review-grid, .engineers-blocker-grid, .engineers-channel-list) { grid-template-columns: minmax(0,1fr); gap: 17px; }
  body.public-body .engineer-card { grid-template-columns: minmax(0,1fr); padding: 22px; gap: 18px; }
  body.public-body .engineer-card .engineer-visual { display: flex; align-items: center; justify-content: flex-start; width: 100%; grid-column: 1; gap: 17px; }
  body.public-body .engineer-card .engineer-main { grid-column: 1; }
  body.public-body .engineer-avatar-link { flex: 0 0 84px; }
  body.public-body .engineer-recommendation { width: auto; justify-items: start; text-align: left; }
  body.public-body .engineer-main h3 { font-size: 22px; }
  body.public-body .engineer-card .engineer-side { grid-column: 1; gap: 10px 16px; }
  body.public-body .engineer-side > .btn { width: 100%; margin-top: 7px; }
  body.public-body .results-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  body.public-body .filter-panel .form-stack { grid-template-columns: minmax(0,1fr); }
  body.public-body .catalog-pagination .catalog-page-status { flex-basis: 100%; }
  body.public-body .catalog-page-numbers { flex-wrap: wrap; }
  body.public-body .profile-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  body.public-body .profile-photo { width: 150px; height: 165px; }
  body.public-body .profile-grid > .contact-card { grid-template-columns: minmax(0,1fr); }
  body.public-body .profile-copy h1 { font-size: 33px; }
  body.public-body .profile-metrics span { flex: 1 1 90px; padding: 10px; font-size: 11px; }
  body.public-body :is(.doc-card, .service-card, .review-card, .contact-card, .faq-panel, .text-panel, .engineer-create-guide) { padding: 22px; }
  body.public-body .region-card.large { min-height: 0; padding: 0; }
  body.public-body .region-card .region-title { padding: 16px 0 0 16px; font-size: 17px; }
  body.public-body .region-card.large .region-title { font-size: 18px; }
  body.public-body .region-card > span:not(.region-title) { padding-left: 16px; font-size: 11px; }
  body.public-body .region-card strong { padding-left: 16px; padding-bottom: 16px; font-size: 17px; }
  body.public-body .region-request-band { padding: 24px 21px; border-radius: 20px; }
  body.public-body :is(.form-card, .region-request-form, .engineer-self-form .form-grid) { grid-template-columns: minmax(0,1fr); }
  body.public-body .form-card { padding: 24px 21px; gap: 19px; }
  body.public-body .article-content { font-size: 16px; line-height: 1.8; }
  body.public-body .article-page { padding-bottom: 44px; }
  body.public-body .engineers-tariff-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  body.public-body .engineers-tariff-grid .tariff-card { padding: 28px; }
  body.public-body .engineers-economy { grid-template-columns: minmax(0,1fr); padding: 17px; }
  body.public-body .engineers-economy > div { width: 38px; height: 38px; font-size: 12px; }
  body.public-body .engineers-economy article { padding: 23px; }
  body.public-body .engineers-benefit-band { padding: 24px; }
  body.public-body .engineers-benefit-band ul { grid-template-columns: minmax(0,1fr); }
  body.public-body .engineers-final-cta { padding: 27px 24px; flex-direction: column; align-items: flex-start; }
  body.public-body .engineers-final-cta > .btn { width: 100%; }
  body.public-body .site-footer { border-radius: 22px 22px 0 0; margin-top: 24px; }
  body.public-body .footer-grid { width: calc(100% - 44px); gap: 27px; padding-top: 35px; }
  body.public-body .footer-publication-notice { width: calc(100% - 44px); }
}
@media (max-width: 420px) {
  body.public-body .footer-grid { grid-template-columns: minmax(0,1fr); }
  body.public-body .doc-card { grid-template-columns: 38px minmax(0,1fr); gap: 15px; }
  body.public-body .doc-card .document-icon { width: 36px; }
  body.public-body .engineer-title { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  body.public-body :is(.region-card, .news-card, .engineer-avatar-link img) { transition: none; }
  body.public-body :is(.region-card:hover, .news-card:hover, .engineer-avatar-link:hover img) { transform: none; }
}

/* The requested monochrome location map on the public about page. */
body.public-body .about-location{margin-top:18px;margin-bottom:56px}
body.public-body .about-location-heading{display:flex;align-items:end;justify-content:flex-end;gap:20px;margin-bottom:22px}
body.public-body .about-location-map{overflow:hidden;border:1px solid var(--public-line);border-radius:18px;background:#e8e8e8;box-shadow:var(--public-shadow)}
body.public-body .about-location-map iframe{display:block;width:100%;height:480px;border:0;filter:grayscale(1)}
@media(max-width:680px){body.public-body .about-location{margin-bottom:34px}body.public-body .about-location-heading{align-items:flex-start;gap:12px;flex-direction:column}body.public-body .about-location-map iframe{height:360px}}

/* Region artwork baseline and readable labels, 2026-11-09. */
body.public-body .region-card{background:#fff}
body.public-body .region-card img{align-self:end;object-position:center bottom;transform:translateY(var(--region-art-drop,0px))}
body.public-body .region-card>:is(span,strong){text-shadow:0 0 3px #fff,0 0 8px rgba(255,255,255,.9),0 0 14px rgba(255,255,255,.55)}
/* Only verified blank lower margins are hidden; the complete drawing stays visible. */
body.public-body .region-card img[src*="/assets/img/okir/regions/kirovskaya-oblast.webp"]{--region-art-drop:calc(7.692308% - 2px)}
body.public-body .region-card img[src*="/assets/img/okir/regions/orenburgskaya-oblast.webp"]{--region-art-drop:calc(6.493506% - 2px)}
body.public-body .region-card img[src*="/assets/img/okir/regions/respublika-krym.webp"]{--region-art-drop:calc(7.435897% - 2px)}
body.public-body .region-card img[src*="/assets/img/okir/regions/respublika-tatarstan.webp"]{--region-art-drop:calc(7.012987% - 2px)}
body.public-body .region-card img[src*="/assets/img/okir/regions/sevastopol.webp"]{--region-art-drop:calc(6.153846% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/10-c8cfae716bf9ff0d7999.webp"]{--region-art-drop:calc(6.076389% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/12-50f54f51a5ad31d9d5cb.webp"]{--region-art-drop:calc(4.340278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/15-8a9160b05ecda879ad3d.webp"]{--region-art-drop:calc(5.555556% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/16-b4f318cf8027b3c3290c.webp"]{--region-art-drop:calc(6.770833% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/18-5556271d06137ce67562.webp"]{--region-art-drop:calc(9.548611% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/19-bfa0986453b6f70b1a08.webp"]{--region-art-drop:calc(5.902778% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/2-0f54570ee75a07ad8fc5.webp"]{--region-art-drop:calc(4.166667% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/20-cbd0783e1fae71bc7ebf.webp"]{--region-art-drop:calc(12.500000% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/21-1f914683a25e7ad734dc.webp"]{--region-art-drop:calc(2.777778% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/22-e5370eac799c1ea88582.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/23-40036cea83ed6ee31d03.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/24-994c94dfca16703788b1.webp"]{--region-art-drop:calc(7.986111% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/25-e0135ddbc1ec5ed4a1fc.webp"]{--region-art-drop:calc(6.944444% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/29-5d6c16d665d908dd1467.webp"]{--region-art-drop:calc(5.381944% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/3-17e7fa3999495d1faed6.webp"]{--region-art-drop:calc(5.729167% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/30-d242bb5c1f536591a537.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/31-7417ad99cbc6e03102e4.webp"]{--region-art-drop:calc(7.812500% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/32-e7cdc84fca9fc98b322f.webp"]{--region-art-drop:calc(8.159722% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/34-c0591da482b46735b14c.webp"]{--region-art-drop:calc(7.812500% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/35-e0649d962edc8e60d3bc.webp"]{--region-art-drop:calc(7.812500% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/38-184f78a8f777665560ba.webp"]{--region-art-drop:calc(9.548611% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/39-f319c7678e2df0865a5e.webp"]{--region-art-drop:calc(5.729167% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/42-4114b5cf2d3d69861363.webp"]{--region-art-drop:calc(7.812500% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/45-a4682b68fdf748ecd4b0.webp"]{--region-art-drop:calc(5.729167% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/46-a96c85c9218a308ad290.webp"]{--region-art-drop:calc(13.194444% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/5-9c5a0ad2d8051d309e27.webp"]{--region-art-drop:calc(6.250000% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/53-bd69cec1143e4f354dab.webp"]{--region-art-drop:calc(10.590278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/55-fa966c3fa2619ed04d09.webp"]{--region-art-drop:calc(4.687500% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/60-a790c81205cffcb904ed.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/62-e837b9fa28aacf0174e1.webp"]{--region-art-drop:calc(6.250000% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/64-b5a702e236534ea20b70.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/68-42d322aa89e8d074e2b3.webp"]{--region-art-drop:calc(7.118056% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/74-24b6ae0f1ae5fe631988.webp"]{--region-art-drop:calc(5.902778% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/75-e6ae68cd4317cbc4b542.webp"]{--region-art-drop:calc(7.986111% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/77-bae4fc9f6b6aa235ce07.webp"]{--region-art-drop:calc(6.597222% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/79-3e11b522f5839191a9a2.webp"]{--region-art-drop:calc(4.340278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/81-1c7f51af437261c24445.webp"]{--region-art-drop:calc(6.076389% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/83-5974aea16aadb9c63254.webp"]{--region-art-drop:calc(4.340278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/84-d6b7168872058a86dab6.webp"]{--region-art-drop:calc(4.340278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/85-5b34256ea082bc4e2b71.webp"]{--region-art-drop:calc(4.340278% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/88-5fa6b0efe0c1c4545e42.webp"]{--region-art-drop:calc(2.777778% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/9-aab59294c2d776cf3e58.webp"]{--region-art-drop:calc(6.597222% - 2px)}
body.public-body .region-card img[src*="/storage/cache/regions/91-a768beb30a0804a995e4.webp"]{--region-art-drop:calc(7.638889% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260825235745-302e79a5ef.webp"]{--region-art-drop:calc(5.333333% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260826161828-fe475e2d24.webp"]{--region-art-drop:calc(5.166667% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165057-1861f9bdd4.webp"]{--region-art-drop:calc(4.000000% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165108-7b36ae0f61.webp"]{--region-art-drop:calc(4.833333% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165134-f254c647c3.webp"]{--region-art-drop:calc(6.000000% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165151-45f216a3dd.webp"]{--region-art-drop:calc(5.333333% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165207-b9d2690df0.webp"]{--region-art-drop:calc(4.833333% - 2px)}
body.public-body .region-card img[src*="/storage/uploads/20260911165242-934dd8c5a9.webp"]{--region-art-drop:calc(5.333333% - 2px)}

/* REGION COMPACT 20261109: shorter cards and clear text over the original artwork. */
body.public-body #public-main .region-card {
  position: relative;
  aspect-ratio: 2 / 1;
  min-height: 180px;
  height: auto;
  overflow: hidden;
}
body.public-body #public-main .region-card img {
  position: absolute;
  grid-area: auto;
  align-self: auto;
  inset: auto auto 0 0;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
}
body.public-body #public-main .region-card > :is(span, strong) {
  position: relative;
  z-index: 1;
  paint-order: stroke fill;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.98);
  text-shadow: 0 0 3px #fff, 0 0 7px #fff, 0 0 14px rgba(255,255,255,.98), 0 0 20px rgba(255,255,255,.9);
}
body.public-body #public-main .region-card .region-title { padding-top: 14px; }
body.public-body #public-main .region-card > span:not(.region-title) { padding-top: 4px; }
body.public-body #public-main .region-card strong {
  padding: 6px 0 12px 20px;
  color: #124e9c;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  -webkit-text-stroke: 2px #fff;
}
@media (max-width: 680px) {
  body.public-body #public-main .region-card { aspect-ratio: auto; }
  body.public-body #public-main .region-card strong { padding-left: 16px; font-size: 24px; }
}

/* TARIFF CONTENT 20261109: centred recommendations and the premium introduction. */
body.public-body #public-main .engineers-tariff-grid .tariff-card > .tariff-badge {
  position: absolute;
  z-index: 1;
  top: -15px;
  left: 50%;
  right: auto;
  width: max-content;
  max-width: calc(100% - 32px);
  margin: 0;
  padding: 5px 14px;
  transform: translateX(-50%);
  border: 1px solid #efd1da;
  border-radius: 9px;
  background: #fbeaf0;
  color: #9f3349;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 3px 10px rgba(143,54,77,.06);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
}
body.public-body #public-main .engineers-tariff-grid .tariff-card > .tariff-badge-premium {
  border-color: #e9dba9;
  background: #fff5d9;
  color: #796017;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 3px 10px rgba(128,100,32,.06);
}
body.public-body #public-main .engineers-tariff-grid .tariff-card > .tariff-premium-note {
  margin: 0;
  color: #766125;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  text-wrap: balance;
}
body.public-body #public-main .engineers-tariff-grid .tariff-card li.tariff-feature-leads {
  color: #225caa;
  font-weight: 650;
}
body.public-body #public-main .engineers-tariff-grid .tariff-card li.tariff-feature-leads::marker { color: #226cd5; }

/* November premium offer: the monthly amount and the offer period stay together. */
body.public-body #public-main .engineers-tariff-grid .tariff-old-price {
  margin: 0 0 -20px;
  color: #64748b;
  font-size: 18px;
  line-height: 1.5;
  text-decoration-thickness: 1.5px;
}
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #e9dba9;
  border-radius: 12px;
  background: #fff9e9;
  color: #66511b;
  font-size: 15px;
  line-height: 1.5;
}
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms b {
  color: #725512;
  font-size: 17px;
}
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms > span {
  color: inherit;
  font-size: inherit;
  font-weight: 500;
}
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
body.public-body #public-main #tariffs { scroll-margin-top: 108px; }
body.public-body #public-main .engineers-tariff-grid .tariff-card ul { gap: 10px; }
body.public-body #public-main .engineers-tariff-grid .tariff-card li { font-size: 16px; line-height: 1.55; }
body.public-body #public-main #tariffs > .tariff-offer-details {
  max-width: 1100px;
  margin: 24px auto 0;
  color: var(--public-muted);
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 680px) {
  body.public-body #public-main #tariffs { scroll-margin-top: 90px; }
  body.public-body #public-main #tariffs > .tariff-offer-details { text-align: left; }
}

/* A slightly smaller public type scale, with consistent readable controls. */
body.public-body { --public-copy-size: 17px; --public-secondary-size: 14px; }
body.public-body #public-main h2,
body.public-body :is(.project-team,.project-credentials,.congress-results) h2 { font-size: clamp(27px,2.2vw,32px); }
body.public-body #public-main h3,
body.public-body :is(.project-team,.project-credentials,.congress-results) h3 { font-size: 20px; }
body.public-body #public-main :is(.doc-card,.news-card,.contact-card,.filter-panel,.about-panel,.list-panel) h2 { font-size: 23px; }
body.public-body #public-main .hero h1 { font-size: clamp(35px,4vw,55px); }
body.public-body #public-main :is(.page-hero,.engineers-offer-copy,.article-page,.profile-copy) h1 { font-size: clamp(32px,3.8vw,46px); }
body.public-body #public-main .region-card .region-title { font-size: 20px; }
body.public-body #public-main .region-card strong { font-size: 24px; }
body.public-body .site-header :is(.main-nav a,.header-login-primary,.public-sound-toggle) { font-size: 15px; }
body.public-body .okir-partners-v17 .site-partner-copy { width: 100%; flex-direction: row; align-items: center; gap: 12px; }
body.public-body .okir-partners-v17 .site-partner-copy > span { min-width: 0; flex: 1 1 auto; font-size: 14px; }
body.public-body .okir-partners-v17 .site-partner-copy > strong { order: 2; flex: 0 0 auto; margin-left: auto; font-size: 11px; }
body.public-body #public-main .engineers-tariff-grid .tariff-card > strong { font-size: clamp(25px,2.2vw,31px); }
body.public-body #public-main .engineers-tariff-grid .tariff-card > .tariff-free-month { margin: 0; color: #225caa; font-size: 16px; font-weight: 600; line-height: 1.5; }
body.public-body :is(.site-widget-panel,.engineer-consultation-dialog,.visitor-lead-modal) h2 { font-size: 25px; }
body.public-body footer.site-footer :is(p,a) { font-size: 14px; }
@media (max-width: 680px) {
  body.public-body { --public-copy-size: 16px; --public-secondary-size: 14px; }
  body.public-body #public-main h2,
  body.public-body :is(.project-team,.project-credentials,.congress-results) h2 { font-size: 26px; }
  body.public-body #public-main .hero h1 { font-size: clamp(30px,8vw,38px); }
  body.public-body #public-main :is(.page-hero,.engineers-offer-copy,.article-page,.profile-copy) h1 { font-size: 30px; }
  body.public-body #public-main .region-card .region-title { font-size: 19px; }
  body.public-body #public-main .region-card strong { font-size: 22px; }
  body.public-body .okir-partners-v17 .site-partner-copy { gap: 8px; }
  body.public-body .okir-partners-v17 .site-partner-copy > span { font-size: 13px; }
  body.public-body :is(.site-widget-panel,.engineer-consultation-dialog,.visitor-lead-modal) h2 { font-size: 24px; }
}
body.public-body #public-main .engineers-tariff-grid .tariff-card > span { font-size: 16px; }
body.public-body #public-main .engineers-tariff-grid .tariff-card > .tariff-premium-note { font-size: 14px; }
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms { font-size: 14px; }
body.public-body #public-main .engineers-tariff-grid .tariff-promo-terms b { font-size: 16px; }
body.public-body .visitor-lead-modal.tariff-choice-mode #visitor-lead-title { font-size: 24px; }

/* Plan colours follow their placement level: white, blue, red and gold. */
body.public-body #public-main .engineers-tariff-grid .tariff-free {
  background: #fff;
  border-color: #dfe6ef;
  box-shadow: inset 0 3px 0 #edf0f5, var(--public-shadow);
}
body.public-body #public-main .engineers-tariff-grid .tariff-standard {
  background: linear-gradient(160deg,#edf5ff,#f8fbff);
  border-color: #a9c8f0;
  box-shadow: inset 0 3px 0 #226cd5, var(--public-shadow);
}
body.public-body #public-main .engineers-tariff-grid .tariff-maximum {
  background: linear-gradient(160deg,#fff0f3,#fff9fa);
  border-color: #e6a7b4;
  box-shadow: inset 0 3px 0 #d43149, var(--public-shadow);
}
body.public-body #public-main .engineers-tariff-grid .tariff-premium {
  background: linear-gradient(160deg,#fff5d8,#fffdf6);
  border-color: #d9bb70;
  box-shadow: inset 0 3px 0 #b68622, var(--public-shadow);
}
body.public-body #public-main .engineers-tariff-grid .tariff-maximum :is(li.tariff-feature-leads,.tariff-feature-crm) { color: #a22b41; }
body.public-body #public-main .engineers-tariff-grid .tariff-premium :is(li.tariff-feature-leads,.tariff-feature-crm) { color: #79570f; }
body.public-body #public-main .engineers-tariff-grid .tariff-maximum > .btn {
  border-color: #d43149;
  background: #d43149;
  color: #fff;
  box-shadow: 0 5px 14px rgba(190,39,63,.12);
}
body.public-body #public-main .engineers-tariff-grid .tariff-maximum > .btn:hover { border-color: #b9233b; background: #b9233b; }
body.public-body #public-main .engineers-tariff-grid .tariff-premium > .btn {
  border-color: #d5b35f;
  background: #f4dc99;
  color: #62450b;
  box-shadow: 0 5px 14px rgba(153,113,23,.1);
}
body.public-body #public-main .engineers-tariff-grid .tariff-premium > .btn:hover { border-color: #c9a64e; background: #eed183; }

/* Tariff benefits and premium-only fine print. */
body.public-body #public-main .engineers-tariff-grid .tariff-tier-stars { margin: 0; color: #596d86; font-size: 15px; line-height: 1.5; }
body.public-body #public-main .engineers-tariff-grid .tariff-tier-stars > span { color: #966812; font-size: 18px; letter-spacing: 1px; white-space: nowrap; }
body.public-body #public-main .engineers-tariff-grid .tariff-offer-fineprint { display: block; color: #596579; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }

/* Compact tariff comparison, 2026-11-10: aligned options instead of unequal card lists. */
body.public-body #public-main #tariffs .tariff-comparison-scroll{display:block;max-width:100%;min-width:0;margin:0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #dfe6ef;border-radius:15px;scrollbar-width:thin}
body.public-body #public-main #tariffs .tariff-comparison-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:separate;border-spacing:0;font:inherit;text-align:center}
body.public-body #public-main #tariffs .tariff-comparison-table :is(th,td){box-sizing:border-box;border:0;border-top:1px solid #e7ecf3;vertical-align:middle;overflow-wrap:anywhere}
body.public-body #public-main #tariffs .tariff-comparison-table thead th{width:18.75%;padding:0;border-top:0;vertical-align:top}
body.public-body #public-main #tariffs .tariff-comparison-table thead th:first-child{width:25%;padding:18px 14px;text-align:left;background:#fff;color:#53677f;font-size:14px;font-weight:500}
body.public-body #public-main #tariffs .tariff-comparison-table tbody th,body.public-body #public-main #tariffs .tariff-comparison-table tfoot th{padding:9px 14px;text-align:left;background:#fff;color:#53677f;font-size:14px;font-weight:400;line-height:1.45}
body.public-body #public-main #tariffs .tariff-comparison-table tbody td{padding:7px 10px;line-height:1.4}
body.public-body #public-main #tariffs .tariff-comparison-table tfoot td{padding:12px 10px}
body.public-body #public-main #tariffs .tariff-free{--tariff-accent:#52677f;background:#fff}
body.public-body #public-main #tariffs .tariff-standard{--tariff-accent:#226cd5;background:#f0f6ff}
body.public-body #public-main #tariffs .tariff-maximum{--tariff-accent:#c5324e;background:#fff2f5}
body.public-body #public-main #tariffs .tariff-premium{--tariff-accent:#9d7216;background:#fff8e5}
body.public-body #public-main #tariffs .tariff-card{display:grid;align-content:start;gap:6px;min-width:0;height:auto;min-height:0;margin:0;padding:14px 10px;border:0;border-radius:0;background:none;box-shadow:none;text-align:center}
body.public-body #public-main #tariffs .tariff-card h3{margin:0;color:#243b58;font-size:18px;line-height:1.35;font-weight:600}
body.public-body #public-main #tariffs .tariff-card p{margin:0;font-size:13px;line-height:1.4}
body.public-body #public-main #tariffs .tariff-card>.tariff-badge{position:static;justify-self:center;transform:none;min-height:0;max-width:none;margin:0;padding:3px 8px;border:1px solid color-mix(in srgb,var(--tariff-accent) 22%,transparent);border-radius:6px;background:#fff;color:var(--tariff-accent);font-size:11px;font-style:normal;font-weight:500;line-height:1.4;white-space:normal}
body.public-body #public-main #tariffs .tariff-card>.tariff-premium-note{color:#795c19;font-size:12px;line-height:1.35}
body.public-body #public-main #tariffs .tariff-tier-stars>span{color:var(--tariff-accent);font-size:18px;letter-spacing:1px;white-space:nowrap}
body.public-body #public-main #tariffs .tariff-card>.tariff-old-price{margin:0;color:#64748b;font-size:12px;line-height:1.35}
body.public-body #public-main #tariffs .tariff-card>strong{margin:0;color:#243b58;font-size:28px;font-weight:600;line-height:1.25;letter-spacing:-.04em}
body.public-body #public-main #tariffs .tariff-card strong small{color:#637188;font-size:12px;font-weight:400;letter-spacing:0;white-space:nowrap}
body.public-body #public-main #tariffs .tariff-card>.tariff-free-month{margin:0;color:#52677f;font-size:12px;line-height:1.4}
body.public-body #public-main #tariffs .tariff-promo-terms{display:grid;gap:3px;margin:0;padding:5px 0;border:0;border-radius:0;background:none;color:#795c19;font-size:12px;line-height:1.4}
body.public-body #public-main #tariffs .tariff-promo-terms b{font-size:13px}
body.public-body #public-main #tariffs .tariff-promo-terms p{margin:0;color:inherit;font-size:12px;line-height:1.4}
body.public-body #public-main #tariffs .tariff-plan-details{margin:0;color:#5b6679;font-size:12px;font-weight:400;line-height:1.45;text-align:left}
body.public-body #public-main #tariffs .tariff-plan-details summary{padding:5px 0;color:#785b19;font-size:12px;line-height:1.4;cursor:pointer;text-align:center}
body.public-body #public-main #tariffs .tariff-plan-details .tariff-offer-fineprint{display:block;padding:8px 0 0;color:#596579;font-size:12px;font-weight:400;line-height:1.5}
body.public-body #public-main #tariffs .tariff-comparison-mark{display:inline-block;margin:0;color:#226cd5;font-family:Arial,sans-serif;font-size:24px;font-weight:600;line-height:1.15}
body.public-body #public-main #tariffs .tariff-comparison-mark.is-unavailable{color:#d43a52;font-size:26px;font-weight:400}
body.public-body #public-main #tariffs .tariff-comparison-leads{color:var(--tariff-accent);font-size:13px;font-weight:600;line-height:1.4}
body.public-body #public-main #tariffs .tariff-comparison-table tfoot .btn{display:flex;justify-content:center;align-items:center;min-height:44px;height:auto;margin:0;padding:9px 7px;font-size:13px;font-weight:500;line-height:1.4;white-space:normal;text-align:center}
body.public-body #public-main #tariffs .tariff-comparison-table tfoot .tariff-premium .btn{border-color:#d5b35f;background:#f4dc99;color:#684c11}
body.public-body #public-main #tariffs .tariff-comparison-table tfoot .tariff-maximum .btn{border-color:#d43149;background:#d43149;color:#fff}
body.public-body #public-main #tariffs .tariff-comparison-table tfoot .tariff-standard .btn{border-color:#226cd5;background:#226cd5;color:#fff}
body.public-body #public-main #tariffs .tariff-comparison-hint{display:none;margin:0 0 10px;color:#637188;font-size:13px;line-height:1.5}
@media(max-width:900px){body.public-body #public-main #tariffs .tariff-comparison-hint{display:block}}
@media(max-width:680px){body.public-body #public-main #tariffs .tariff-comparison-table{min-width:720px}body.public-body #public-main #tariffs .tariff-comparison-table :is(thead,tbody,tfoot)>tr>:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:2px 0 0 #e7ecf3}body.public-body #public-main #tariffs .tariff-comparison-table thead th:first-child{z-index:3}}

/* 2026-11-10: equal desktop header slots and a single-DOM mobile card layout. */
body.public-body #public-main #tariffs .tariff-comparison-scroll{padding-top:12px}
body.public-body #public-main #tariffs .tariff-comparison-table thead th:not(:first-child){position:relative}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-card{position:relative;grid-template-rows:[title]22px [benefit]30px [price]48px [helper]72px [terms]minmax(18px,auto);row-gap:0;padding:14px 8px 4px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-card>h3{grid-row:title;align-self:center;margin:0;font-size:18px;line-height:22px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-badge{position:absolute;top:-12px;left:50%;right:auto;z-index:4;transform:translateX(-50%);max-width:calc(100% - 8px);width:max-content;margin:0;padding:3px 7px;font-size:10.5px;line-height:14px;white-space:nowrap}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-tier-stars,body.public-body #public-main #tariffs .tariff-comparison-table .tariff-free-month{grid-row:benefit;align-self:start;margin:0;font-size:11px;line-height:12px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-tier-stars>span{display:block;font-size:16px;line-height:18px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price{grid-row:price;position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;height:48px;margin-inline:-8px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price>del{position:absolute;top:0;left:0;right:0;margin:0;font-size:10.5px;line-height:12px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price>strong{display:block;width:max-content;max-width:100%;margin:0;color:#243b58;font-size:clamp(23px,1.8vw,26px);font-weight:600;line-height:34px;letter-spacing:-.045em;white-space:nowrap}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price>strong>small{display:inline;margin:0;color:#637188;font-size:10.5px;line-height:inherit;letter-spacing:0;white-space:nowrap}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper{grid-row:helper;min-width:0;margin:0;padding:0;align-self:start}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-premium-note,
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-promo-terms,
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-promo-terms :is(b,p,span){display:block;margin:0;padding:0;font-size:11px;line-height:12px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-promo-terms{border:0;border-radius:0;background:none}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-plan-details{grid-row:terms;align-self:start;margin:0;font-size:10.5px;line-height:14px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-plan-details>summary{margin:0;padding:2px 0;font-size:10.5px;line-height:14px}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-comparison-mark.is-included{color:var(--tariff-accent,#52677f)}
body.public-body #public-main #tariffs .tariff-comparison-table .tariff-comparison-mark.is-unavailable{color:#d43a52}
@media(max-width:980px){
 body.public-body #public-main #tariffs .tariff-comparison-hint{display:none}
 body.public-body #public-main #tariffs .tariff-comparison-scroll{overflow:visible;margin:12px 0 20px;padding:0;border:0;border-radius:0}
 body.public-body #public-main #tariffs .tariff-comparison-table{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;border:0;table-layout:auto}
 body.public-body #public-main #tariffs .tariff-comparison-table :is(thead,tbody,tfoot,tr){display:contents}
 body.public-body #public-main #tariffs .tariff-comparison-table tr>th:first-child{position:absolute;left:auto;top:auto;z-index:auto;width:1px;height:1px;min-width:0;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);box-shadow:none}
 body.public-body #public-main #tariffs .tariff-comparison-table tr>:not(:first-child){grid-column:1;grid-row:var(--tariff-mobile-row);width:auto;min-width:0;max-width:100%}
 body.public-body #public-main #tariffs .tariff-comparison-table thead th:not(:first-child){display:block;position:relative;margin-top:12px;padding:0;border:1px solid #dfe6ef;border-bottom:0;border-radius:14px 14px 0 0}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-card{grid-template-rows:[title]22px [benefit]30px [price]48px [helper]auto [terms]auto;padding:16px 14px 10px;border-radius:14px 14px 0 0}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-badge{top:-12px;font-size:11px}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price>strong{font-size:28px}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-price>strong>small{font-size:12px}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-premium-note,
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-promo-terms,
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-header-helper .tariff-promo-terms :is(b,p,span){font-size:12px;line-height:15px}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-plan-details>summary{font-size:12px;line-height:16px;padding:3px 0}
 body.public-body #public-main #tariffs .tariff-comparison-table tbody td{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:8px 14px;border-right:1px solid #dfe6ef;border-left:1px solid #dfe6ef;text-align:right}
 body.public-body #public-main #tariffs .tariff-comparison-table tbody td::before{content:attr(data-label);min-width:0;color:#53677f;font-size:14px;font-weight:400;line-height:1.45;text-align:left}
 body.public-body #public-main #tariffs .tariff-comparison-table .tariff-comparison-leads{max-width:145px;margin-left:auto;font-size:13px;line-height:1.35}
 body.public-body #public-main #tariffs .tariff-comparison-table tfoot td{display:block;margin:0 0 18px;padding:12px 14px;border:1px solid #dfe6ef;border-radius:0 0 14px 14px}
}
