/* Surface/radius/spacing roles only. Parent grids, positions and image offsets stay inherited. */
.main_header, .usl_fon, .proj_fon, .about_fon { border-radius:0; }
.butt_big, .usl_butt_vn, .etaps_butt, .usl_zakaz, .proj_butt, .post_butt { border-radius:var(--zam-radius-action); }
.form_col input.form_butt, .form_col .wpcf7-submit { border-radius:var(--zam-radius-control); }
.usl_block, .proj_block, .blog_post, .post_content, .otz_row, .rasch_form, #port_slider { border-radius:var(--zam-radius-card); }
.usl_img_wrap { border-radius:var(--zam-radius-image); }
.content_img img { border-radius:0; }
.main-menu .sub-menu li { border-radius:var(--zam-radius-control); }
.form_col input, .form_col select, .form_col textarea { border-radius:var(--zam-radius-control); }
section:where(:not(.main_header):not(.usl_fon):not(.proj_fon):not(.about_fon)) { padding-top:var(--zam-section-space); padding-bottom:var(--zam-section-space); }
.archive-project, .archive-service, .contacts-page, .blog-page, section.single-post { padding-top:var(--zam-archive-space); }
.main_row { isolation:isolate; }
.main_row::before {
  content:""; position:absolute; inset:var(--zam-glass-inset); pointer-events:none;
  border-radius:var(--zam-radius-panel); background:var(--zam-glass-fill);
  box-shadow:var(--zam-glass-shadow); z-index:-1;
}
/* Complete business-card lockup: the old separate word label is redundant. */
.logo p, .about_logo p { display:none; }
.logo img { display:block; width:var(--zam-brand-width); height:auto; max-height:none; margin:0; }
.site-logo { margin-right:0; }
footer .logo { --zam-brand-width:var(--zam-brand-footer-width); }
.about_logo img { width:var(--zam-brand-about-width); height:auto; margin-right:0; }
@media(max-width:800px) {
  .logo { --zam-brand-width:var(--zam-brand-mobile-width); }
}
@media(max-width:800px) {
  :root { --zam-section-space:var(--zam-section-space-mobile); }
}

/* Decorative separator uses the existing positioned header, no box-model change. */
.site-header { background-image:var(--zam-navigation-surface); }
.site-header::after {
  content:""; position:absolute; left:0; right:0; bottom:var(--zam-navigation-line-offset);
  height:var(--zam-navigation-line-height); background-image:var(--zam-navigation-line); pointer-events:none;
}
.main_col > img, .usl_ico > img, .etap_col > img { filter:var(--zam-icon-relief); }
.et_cif { box-shadow:var(--zam-step-shadow); }
.cif { text-shadow:var(--zam-metric-relief); }

/* Shared action sizing. Preserve parent flex rows and mobile stacking. */
.butt_big, .usl_butt_vn, .etaps_butt, .usl_zakaz, .proj_butt, .post_butt {
  padding:var(--zam-action-padding-block) var(--zam-action-padding-inline);
  min-height:var(--zam-action-min-height);
}
.butt_big img { width:var(--zam-action-icon-size); margin-right:var(--zam-action-icon-gap); }
.butt_small { margin-left:var(--zam-secondary-action-gap); }
@media(min-width:801px) {
  .butt_big p, .butt_small { white-space:nowrap; }
}

.port_butts { margin-block:var(--zam-project-actions-gap); justify-content:flex-start; }

/* Align native form controls by their visible boxes, not inline baselines/spinner. */
.rasch_form { align-items:flex-start; }
.form_col { position:relative; margin-bottom:var(--zam-field-row-gap); }
.form_col > p { min-height:var(--zam-field-label-reserve); margin:0 0 var(--zam-field-label-gap); }
.form_col > div p { margin:0; }
.form_col :is(input:not([type="checkbox"]):not([type="submit"]), select) {
  display:block; box-sizing:border-box; height:var(--zam-field-height); padding:0 var(--zam-field-padding-inline);
}
.form_col .wpcf7-submit { display:block; margin-top:0; padding-block:var(--zam-action-padding-block); }
.form_col .wpcf7-spinner { position:absolute; right:0; bottom:var(--zam-form-spinner-offset); margin:0; }
.pol_row { min-height:var(--zam-field-label-reserve); margin:0 0 var(--zam-consent-bottom-gap); }
.pol_row :is(.wpcf7-form-control-wrap,.wpcf7-acceptance,.wpcf7-list-item) { display:block; margin:0; }
.pol_row label { margin:0; display:flex; align-items:flex-start; gap:var(--zam-consent-gap); }
.pol_row input[type="checkbox"] { flex-shrink:0; margin:2px 0 0; }
.cont_tel, .cont_mail, .cont_adr {
  box-sizing:border-box; width:100%; text-align:left;
  padding-left:var(--zam-contact-icon-space); background-size:var(--zam-contact-icon-size) auto;
  margin-bottom:var(--zam-contact-row-gap);
}
.cont_text { margin-bottom:var(--zam-contact-group-gap); }
.soc { margin-top:var(--zam-contact-group-gap); }
@media(max-width:480px) {
  .rasch_form .form_col { width:100%; }
  .form_col > p, .pol_row { min-height:0; }
}
