/* Shared layout corrections for phones, tablets, desktop and text enlargement. */
:root {
  --page-gutter: clamp(1rem, 4vw, 3.5rem);
  --header-height: 104px;
  --sticky-header-offset: var(--header-height);
  --bottom-bar-height: 0px;
  --control-size: max(44px,2.75rem);
}
html { scroll-padding-top: calc(var(--sticky-header-offset) + 1rem); }
body { padding-bottom: var(--bottom-bar-height); font-size: 1rem; }
[hidden] { display: none !important; }
.wrap {
  width: min(1280px, calc(100% - var(--page-gutter) - var(--page-gutter) - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
}
:where(h1,h2,h3,h4,p,a,button,summary,dt,dd,li,address) { overflow-wrap: anywhere; }
:where(h1,h2,h3,h4) { hyphens: auto; }
:where(.section-heading,.services-layout,.service-row,.service-main,.trust-grid,.steps,.equipment-grid,.documents-grid,.article-grid,.contact-grid,.footer-main,.article-layout,.service-hero,.complex-overview,.explorer-workspace,.part-panel-heading,.part-services,.complex-article,.legal-layout,.region-section,.seo-info-layout,.report-service-links,.rza-feature-grid,.rza-work-grid,.rza-brand-grid,.rza-brand-heading,.rza-chain,.rza-scenarios,.rza-results-grid,.rza-equipment-section,.rza-price-grid,.rza-preparation,.secondary-photo-grid,.field-gallery,.secondary-check-grid,.field-ssn-grid,.measurement-schedule)>* { min-width: 0; }
.button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.button>span { flex: 0 0 auto; }
.header-inner { height: auto; min-height: 104px; padding-block: 14px; gap: 22px; }
.header-phone { margin-left: auto; }
.header-phone>a { font-size: 1.0625rem; }
.header-phone>span { font-size: .875rem; }
.desktop-nav,.header-contact { display: none; }
.menu-button { display: grid; place-items: center; flex: 0 0 var(--control-size); width: var(--control-size); height: var(--control-size); padding: 0; font-size: 1.5rem; line-height: 1; }
.mobile-nav {
  position: absolute; top: 100%; inset-inline: 0; background: white;
  max-height: calc(100vh - var(--header-height));
  max-height: calc(100dvh - var(--header-height));
  overflow-y: auto; overscroll-behavior: contain;
  padding: 12px max(var(--page-gutter), env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(var(--page-gutter), env(safe-area-inset-left, 0px));
  box-shadow: 0 14px 22px #00000012;
}
.mobile-nav a { min-height: 44px; font-size: 1rem; padding: 12px 0; }
.header a:focus-visible,.mobile-nav a:focus-visible { outline-offset: 2px; }
.logo span { font-size: .75rem; letter-spacing: .025em; }
.article-sidebar { top: calc(var(--sticky-header-offset) + 24px); }
.legal-toc { top: calc(var(--sticky-header-offset) + 24px); max-height: calc(100dvh - var(--sticky-header-offset) - 48px); overflow-y: auto; }
.legal-body section,.measurement-article,.explorer-details,[id^="rza-"],[id^="terminal-"],[id^="work-"] { scroll-margin-top: calc(var(--sticky-header-offset) + 20px); }
.article-layout { grid-template-columns: minmax(0,1fr) 330px; }
.measurement-schedule>div { grid-template-columns: minmax(0,150px) minmax(0,1fr); }
.company-identifiers span { white-space: normal; overflow-wrap: anywhere; }
.document-facts>div { flex-wrap: wrap; }
.document-facts dd { min-width: 0; overflow-wrap: anywhere; }
.contact-form,.contact-form textarea,.copy-fallback textarea { min-width: 0; }
.contact-form textarea,.copy-fallback textarea { font-size: 1rem; max-width: 100%; }
.messenger { min-height: 52px; gap: 12px; padding: 12px; }
.messenger>b { flex: 0 0 32px; }
.messenger>span { min-width: 0; }
.messenger small { display: block; margin-left: 0; font-size: .875rem; }
.mail-button { min-height: 52px; gap: 12px; text-align: left; }
.mail-button>span { flex-shrink: 0; }
.contact-form>label,.channel-label,.mail-button { font-size: 1rem; }
.contact-form .small,#form-status { font-size: .875rem !important; }
dialog {
  --dialog-padding: clamp(12px,3vw,26px);
  padding: var(--dialog-padding);
  width: min(800px,calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));
  max-width: calc(100% - 24px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  overflow: auto; overscroll-behavior: contain;
}
#verification-dialog { width: min(940px,calc(100% - 24px)); }
.dialog-head { top: calc(-1 * var(--dialog-padding)); gap: 12px; }
.dialog-head h2 { min-width: 0; font-size: clamp(1.1rem,3vw,1.4rem); }
.dialog-head button { flex: 0 0 var(--control-size); width: var(--control-size); height: var(--control-size); }
.certificate-preview>span,.verification-button { min-height: 44px; }
.part-choice { min-height: 48px; font-size: .9375rem; }
.part-panel-heading { grid-template-columns: 85px minmax(0,1fr); }
.part-service { grid-template-columns: minmax(0,1fr) 16px; min-height: 48px; }
.part-panel p,.rza-work-card>p,.rza-brand-card>p,.rza-scenarios p,.rza-equipment-section p,.rza-price-grid p,.rza-preparation p,.rza-faq p { font-size: 1rem; }
.rza-brand-heading { grid-template-columns: minmax(0,1fr) minmax(80px,32%); gap: 14px; }
.rza-brand-heading h3 { font-size: clamp(1.5rem,3vw,2rem); overflow-wrap: anywhere; }
.rza-terminal-photo img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.rza-brand-heading .rza-brand-series { font-size: .875rem; }
.rza-section-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; }
.rza-section-nav .wrap { gap: 8px 24px; padding-block: 12px; }
.rza-feature-image { margin-inline: 0; }
.mobile-action { display: none; }
footer { padding-bottom: 32px; }

@media(min-width:90rem) {
  .desktop-nav { display: flex; font-size: 1rem; gap: 22px; }
  .header-contact { display: block; }
  .menu-button,.mobile-nav { display: none; }
}
@media(max-width:75rem) {
  .rza-brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rza-brand-card { padding: 26px; }
}
@media(max-width:68rem) {
  .article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:64rem) {
  .hero { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; }
  .hero-content { grid-row: 1; padding-block: 40px; }
  .hero-copy { max-width: 650px; }
  .hero-copy>p { max-width: 550px; font-size: 1rem; }
  .hero h1 { font-size: clamp(2.2rem,6.5vw,3.6rem); }
  .hero .eyebrow { font-size: .8125rem; }
  .hero-photo { position: relative; grid-row: 2; inset: auto; height: 320px; width: 100%; clip-path: none; opacity: 1; }
  .hero-photo:after { background: linear-gradient(180deg,#1c1c1c44,transparent); }
  .hero-photo img { object-position: center 56%; }
  .hero-actions { flex-direction: row; flex-wrap: wrap; max-width: none; }
  .hero-actions .button { min-width: 0; font-size: .9375rem; }
  .hero-cert { position: relative; grid-row: 3; justify-self: end; left: auto; right: auto; bottom: auto; margin: -6rem var(--page-gutter) 24px 0; width: min(337px,calc(100% - var(--page-gutter) - var(--page-gutter))); max-width: none; padding: 16px; display: grid; grid-template-columns: auto minmax(0,1fr) var(--control-size); gap: 12px; z-index: 1; }
  .hero-cert>div { font-size: .875rem; }
  .hero-cert strong { font-size: 1rem; }
  .hero-cert button { min-width: 44px; min-height: 44px; }
  .hero-cert .cert-mark { font-size: 2.6rem; }
  .photo-caption { display: none; }
  .article-layout,.seo-info-layout,.complex-article { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .article-sidebar { position: static; grid-row: auto; width: 100%; }
  .article-sidebar .button { width: auto; max-width: 100%; gap: 16px; font-size: .9375rem; }
  .article-sidebar .sidebar-phone { display: block; margin-left: 0; }
  .complex-article-aside { width: 100%; }
  .complex-article-aside>img { max-width: 420px; margin-inline: auto; }
  .explorer-workspace { grid-template-columns: minmax(0,1fr); }
  .explorer-scene { min-width: 0; }
  .part-choices { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: none; overflow: visible; }
  .explorer-details { padding: 24px; }
}
@media(max-width:56rem) {
  .contact-grid,.documents-grid,.region-section,.rza-feature-grid,.rza-results-grid,.rza-equipment-section,.rza-preparation { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .contact-form { padding: 28px; }
  .certificate-display { width: 100%; max-width: 420px; margin-inline: auto; }
  .section-heading { display: block; }
  .section-heading>p { max-width: 650px; margin-top: 24px; }
  .section-heading>.text-link { margin-top: 20px; }
  .legal-layout { display: block; }
  .legal-toc { position: static; max-height: none; margin-bottom: 32px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
  .legal-toc .legal-related { grid-column: 1/-1; }
  .service-hero { grid-template-columns: minmax(0,1fr); }
  .service-hero figure { width: 100%; max-width: 560px; }
  .field-ssn-grid { grid-template-columns: minmax(0,1fr); }
  .field-photo-portrait { width: 100%; margin-inline: auto; }
  .rza-feature-image { height: auto; aspect-ratio: 16/9; }
}
@media(max-width:48rem) {
  :root { --bottom-bar-height: calc(52px + env(safe-area-inset-bottom,0px)); }
  .header-inner { min-height: 80px; gap: 14px; padding-block: 10px; }
  .header-phone>a { font-size: 1rem; }
  .header-phone>span { font-size: .75rem; }
  .logo img { width: 124px; height: 45px; }
  .logo span { font-size: .75rem; }
  .page-intro h1,.service-hero h1 { font-size: clamp(2rem,6vw,2.6rem); }
  .page-intro p,.article-body p,.instrument p,.article-card p,.steps p,.documents-grid p,.contact-grid>div>p { font-size: 1rem; }
  .service-row { grid-template-columns: minmax(0,1fr); gap: 12px; align-items: start; }
  .service-main { grid-template-columns: 72px minmax(0,1fr); gap: 16px; }
  .service-thumbnail { width: 72px; height: 72px; }
  .service-row .price { padding: 0 0 0 88px; text-align: left; }
  .service-row .row-arrow { display: none; }
  .service-row>a:first-child strong { font-size: 1rem; }
  .service-row>a:first-child span,.service-row .price small { font-size: .875rem; }
  .service-row .price b { font-size: 1rem; white-space: normal; }
  .service-group>summary>span:first-child { min-width: 0; }
  .group-count,.plus { flex-shrink: 0; }
  .trust-grid span { font-size: .875rem; }
  .trust-grid>div { align-items: flex-start; }
  .article-card .eyebrow,.instrument-kind,.instrument-proof,.article-foot,.section-heading .eyebrow { font-size: .875rem; }
  .equipment-grid,.rza-brand-grid,.rza-work-grid,.rza-price-grid { grid-template-columns: minmax(0,1fr); }
  .rza-price-grid .rza-price-project { grid-column: auto; }
  .secondary-photo-grid,.field-gallery,.secondary-check-grid,.rza-scenarios { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .rza-scope-note { grid-template-columns: minmax(0,1fr); padding: 24px; }
  .rza-other .outline { flex-shrink: 1; }
  .rza-brand-heading { grid-template-columns: minmax(0,1fr) minmax(80px,32%); }
  .rza-brand-heading h3 { font-size: 1.75rem; }
  .rza-hero .eyebrow { font-size: .8125rem; }
  .rza-hero h1 { overflow-wrap: anywhere; }
  .rza-hero-copy>p { font-size: 1rem; }
  .rza-hero-actions .button { font-size: .9375rem; }
  .rza-art-caption,.field-photo figcaption,.rza-brand-note,.rza-section-note { font-size: .875rem; }
  .contact-form { padding: 24px; }
  .contact-grid .phone-link { font-size: clamp(1.25rem,5.5vw,1.8rem); }
  .measurement-schedule>div { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .measurement-schedule dd { font-size: 1rem; }
  .explorer-details { padding: 20px; }
  .part-services { grid-template-columns: minmax(0,1fr); }
  .part-panel-heading { grid-template-columns: 64px minmax(0,1fr); gap: 12px; }
  .part-panel-heading img { width: 64px; height: 64px; }
  .part-panel h3 { font-size: 1.2rem; }
  .part-request { width: 100%; gap: 12px; }
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .footer-main>div:first-child { grid-column: 1/-1; flex-wrap: wrap; }
  .footer-main a,.footer-main p,.footer-main strong { font-size: .875rem; }
  .footer-bottom,.credits { font-size: .8125rem; }
  .mobile-action { display: grid; position: fixed; inset: auto 0 0; z-index: 25; background: white; box-shadow: 0 -1px 15px #0002; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); padding: 0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px); }
  .mobile-action a { display: grid; place-items: center; min-height: 52px; padding: 12px 8px; font-size: .875rem; line-height: 1.4; }
  body:has(textarea:focus) .mobile-action,body:has(dialog[open]) .mobile-action { display: none; }
}
@media(max-width:40rem) {
  .article-grid { grid-template-columns: minmax(0,1fr); }
  .article-visual { margin: -30px -28px 24px; }
  .rza-chain { grid-template-columns: minmax(0,1fr); }
  .rza-chain li { border-right: 0; padding: 24px; }
  .rza-chain h3 { font-size: 1.25rem; }
  .rza-chain p { font-size: 1rem; }
}
@media(max-width:30rem) {
  .header-inner { display: grid; grid-template-columns: minmax(0,1fr) var(--control-size); gap: 5px 16px; }
  .logo { grid-column: 1; grid-row: 1; align-items: flex-start; justify-self: start; }
  .header-phone { grid-column: 1; grid-row: 2; margin: 0; white-space: normal; }
  .header-phone>span { display: none; }
  .menu-button { grid-column: 2; grid-row: 1/3; align-self: center; }
  .hero-actions .button,.rza-hero-actions .button { width: 100%; }
  .hero .eyebrow { letter-spacing: .035em; }
  .hero-cert { grid-template-columns: auto minmax(0,1fr); }
  .hero-cert button { grid-column: 2; justify-self: end; }
  .contact-form { padding: 20px 16px; }
  .steps,.part-choices,.footer-main,.legal-toc { grid-template-columns: minmax(0,1fr); }
  .footer-main>div:first-child { display: block; }
  .footer-main>div:first-child p { margin-top: 12px; }
  .rza-brand-card,.rza-price-grid article { padding: 24px 20px; }
  .article-equipment,.service-order { padding: 22px 18px; }
  .measurement-schedule { padding-inline: 16px; }
  .document-facts>div { display: block; }
  .document-facts dd { text-align: left; margin-top: 5px; }
}
@media(max-width:22rem) {
  .service-main { grid-template-columns: 64px minmax(0,1fr); }
  .service-thumbnail { width: 64px; height: 64px; }
  .service-row .price { padding-left: 80px; }
  .trust-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:20rem) {
  .rza-brand-heading { grid-template-columns: minmax(0,1fr); }
  .rza-terminal-photo { width: min(160px,100%); margin-inline: auto; }
}
@media(max-height:44rem) {
  .article-sidebar { position: static; }
}
@media(max-height:31rem) and (max-width:90rem) {
  :root { --sticky-header-offset: 0px; --bottom-bar-height: 0px; }
  .header { position: relative; }
  .mobile-action { display: none; }
}
@media(hover:none) {
  .part-hotspot:is(:hover,:focus-visible) .part-hover-label { display: none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
}
@media print {
  body { padding-bottom: 0; }
  .wrap { width: 100%; }
  .header,.mobile-action { display: none; }
}
