/* Shared production layout. Content, not Figma sample heights, sizes panels. */
body :is(.executor-page, .customer-page, .catalog-page, .order-detail-page,
  .select-executor-page, .messages-page, .account-edit-page, .executor-public-page,
  .customer-public-page, .create-page, .auth-page) {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  overflow: visible;
}
body main { flex: 1 0 auto; min-width: 0; }
body :is(main, .footer) :is(h1, h2, h3, p, a, strong, span) { overflow-wrap: anywhere; }
body :is(main, .footer) :is(input, textarea, select) { min-width: 0; max-width: 100%; }
body .footer { height: auto; overflow: visible; flex-shrink: 0; }
body .footer .footer__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
  height: auto; min-height: 0; gap: 32px; padding: 48px 0 22px;
}
body .footer :is(.footer__brand, .footer__nav, .footer__subscribe, .footer__social, .footer__bottom) {
  position: static; width: auto; height: auto; min-width: 0;
}
body .footer__brand p { width: auto; max-width: 360px; }
body .footer__nav { gap: 24px; justify-content: space-between; }
body .footer__subscribe form { width: 100%; max-width: 360px; }
body .footer__subscribe label { width: 100%; }
body .footer__subscribe input { width: 100%; padding-right: 135px; }
body .footer .footer__social { margin-top: 22px; }
body .footer .footer__bottom { grid-column: 1 / -1; gap: 20px; flex-wrap: wrap; padding-top: 20px; }
body .footer .footer__bottom div { flex-wrap: wrap; gap: 16px 30px; }

/* Dashboard rows remain in document flow, including the action at their end. */
body .executor-overview {
  height: auto; grid-template-columns: minmax(0, 2.7fr) minmax(270px, 1fr);
  grid-template-rows: auto min-content 1fr; align-items: start;
}
body .executor-profile { height: auto; min-width: 0; flex-wrap: wrap; gap: 24px; }
body .executor-profile__welcome { min-width: 0; }
body .executor-profile__right { flex-wrap: wrap; gap: 20px; }
body .executor-panel__head { flex-wrap: wrap; gap: 16px; }
body .executor-tabs { min-width: 0; max-width: 100%; flex-wrap: wrap; gap: 12px; }
body .executor-tabs button { white-space: normal; line-height: 1.4; }
body .executor-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body .executor-stat { width: auto; min-height: 63px; height: auto; }
body .executor-stat span { line-height: 1.4; white-space: normal; }
body :is(.executor-work, .executor-new-orders) { height: auto; min-height: 0; min-width: 0; }
body :is(.executor-work__all, .executor-new-orders .button) {
  position: static; display: flex; width: fit-content; max-width: 100%; margin: 24px 0 0 auto;
}
body .executor-new-orders .button { width: 100%; }
body .executor-work-order { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, 26%); }
body .executor-work-order > div { min-width: 0; }
body .executor-work-order__meta { min-width: 0; }
body :is(.executor-work-order, .executor-compact-order) :is(h3, strong) { line-height: 1.4; white-space: normal; }
body .executor-compact-order div { flex-wrap: wrap; gap: 8px; }
body .executor-compact-order h3 { flex: 1 1 140px; }
body .executor-compact-order strong { flex: 0 1 100%; }

body :is(.customer-board, .account-edit-board, .messages-board) {
  display: grid; height: auto; padding: 28px 30px 30px;
  grid-template-columns: minmax(0, 1fr) auto auto; gap: 30px; align-items: start;
}
body :is(.customer-profile, .customer-summary, .customer-icon-actions,
  .account-edit-profile, .account-edit-summary, .account-edit-icon-actions,
  .messages-profile, .messages-summary, .messages-icon-actions) {
  position: static; width: auto; height: auto; min-width: 0; white-space: normal;
}
body :is(.customer-profile, .account-edit-profile, .messages-profile) :is(h1, p) { line-height: 1.4; white-space: normal; }
body :is(.customer-profile, .account-edit-profile, .messages-profile) > div { min-width: 0; }
body :is(.customer-profile, .account-edit-profile, .messages-profile) > img { flex-shrink: 0; }
body :is(.customer-icon-actions, .account-edit-icon-actions, .messages-icon-actions) { gap: 16px; }
body .customer-board { grid-template-columns: minmax(0, 1fr) auto minmax(270px, 26%); }
body .customer-icon-actions { justify-content: flex-end; }
body .customer-kpis {
  position: static; grid-column: 1 / 3; width: auto; height: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
}
body .customer-kpi { width: auto; min-height: 63px; height: auto; }
body .customer-kpi span { white-space: normal; line-height: 1.4; }
body .customer-orders-panel { position: static; grid-column: 1 / 3; width: auto; height: auto; padding: 20px; }
body :is(.customer-orders-head, .customer-orders-list) { position: static; width: 100%; height: auto; }
body .customer-orders-head { flex-wrap: wrap; gap: 16px; }
body .customer-orders-controls { flex-wrap: wrap; gap: 16px; }
body .customer-tabs { width: auto; max-width: 100%; flex-wrap: wrap; gap: 12px; }
body .customer-tabs button { min-height: 32px; line-height: 1.4; }
body .customer-orders-list { margin-top: 24px; }
body .customer-order { width: 100%; height: auto; min-height: 0; align-items: flex-start; }
body .customer-order:last-child { height: auto; }
body .customer-order .customer-order__content { height: auto; }
body .customer-order .customer-order__meta { height: auto; gap: 16px; }
body .customer-order__title-row p { height: auto; }
body .customer-order__content { width: auto; height: auto; min-width: 0; flex: 1; gap: 20px; }
body .customer-order__title-row { height: auto; gap: 16px; flex-wrap: wrap; }
body .customer-order__title-row h3 { flex: 1 1 220px; line-height: 1.4; }
body .customer-order__title-row p { flex: 0 1 100%; flex-wrap: wrap; }
body .customer-order__description { width: 100%; }
body .customer-order__meta { flex-wrap: wrap; gap: 16px; }
body .customer-order__meta > div { flex-wrap: wrap; gap: 10px; }
body .customer-favorites { position: static; grid-column: 3; grid-row: 2 / 4; width: auto; height: auto; }
body .customer-favorite { width: 100%; height: auto; min-height: 76px; padding: 12px 0; gap: 12px; }
body .customer-favorite > div { min-width: 0; }
body .customer-favorite img { flex-shrink: 0; }

/* Order details and responses share the same data-length constraints. */
body :is(.detail-skills, .choice-skills, .catalog-categories, .create-chips) { flex-wrap: wrap; height: auto; gap: 12px; }
body :is(.detail-skill, .choice-skill, .catalog-chip, .create-chip,
  .executor-skills-list span, .customer-profile-skills-list span) {
  width: auto !important; max-width: 100%; height: auto; min-height: 32px;
  white-space: normal; line-height: 1.45; padding: 8px 16px; text-align: center;
}
body :is(.detail-project__bottom, .choice-project__bottom) { flex-wrap: wrap; gap: 20px; }
body :is(.detail-meta, .detail-meta__rest, .choice-meta, .choice-meta__rest) { flex-wrap: wrap; gap: 20px 32px; min-width: 0; }
body :is(.detail-meta__item, .choice-meta__item) { max-width: 100%; min-width: 0; }
body :is(.detail-meta, .choice-meta) :is(div, strong) { white-space: normal; line-height: 1.4; }
body :is(.detail-description, .choice-description) { height: auto; min-height: 0; max-height: none; }
body :is(.detail-file, .choice-file) { white-space: normal; max-width: 100%; }
body :is(.detail-response__controls, .detail-response__fields) { flex-wrap: wrap; gap: 20px; min-width: 0; }
body .detail-response__fields { max-width: 100%; flex: 1 1 360px; }
body .detail-response__fields label { min-width: 0; max-width: 100%; flex: 1 1 180px; }
body .select-executor-board { height: auto; display: flex; flex-direction: column; gap: 30px; padding: 30px; }
body :is(.choice-project, .choice-project__body, .choice-description, .choice-project__bottom,
  .choice-files, .choice-responses-title, .choice-candidates, .choice-candidate,
  .choice-candidate__inner, .choice-candidate__content, .choice-candidate__text) {
  position: static; width: 100%; height: auto; min-width: 0;
}
body .choice-project h2 { width: 100%; }
body :is(.choice-candidate__stats, .choice-candidate__actions) { flex-wrap: wrap; }
body :is(.choice-meta__author, .detail-meta__author) { min-width: 0; max-width: 100%; }
body :is(.choice-meta__author, .detail-meta__author) img { flex-shrink: 0; }
body :is(.choice-meta__rest, .choice-candidate__stats, .choice-candidate__actions) { width: 100%; min-width: 0; }
body .choice-mobile-heading { position: static; }
body .choice-candidate__button { max-width: 100%; height: auto; min-height: 34px; white-space: normal; line-height: 1.4; }
body .choice-candidate__person :is(h3, p) { white-space: normal; line-height: 1.4; }

body .catalog-board { height: auto !important; min-height: 0; padding: 30px; }
body :is(.catalog-heading, .catalog-filter-panel, .catalog-orders) { position: static; width: 100%; height: auto !important; }
body .catalog-heading { margin-bottom: 24px; gap: 20px; flex-wrap: wrap; }
body .catalog-filter-panel { padding: 24px; }
body .catalog-filters { position: static; width: 100%; height: auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 200px) 160px 150px; gap: 18px; }
body .catalog-filter-field { width: 100%; min-width: 0; }
body .catalog-categories { position: static; width: 100%; margin-top: 20px; }
body .catalog-orders { margin-top: 24px; padding: 0 24px 24px; }
body .catalog-order { width: 100%; height: auto; min-height: 0; grid-template-columns: 160px minmax(0, 1fr); padding-bottom: 20px; }
body .catalog-order::after { display: none; }
body :is(.catalog-order__body, .catalog-order__top, .catalog-order__title-row, .catalog-order__description) { width: auto; min-width: 0; height: auto; }
body .catalog-order__title-row { gap: 16px; align-items: flex-start; }
body .catalog-order__title-row h2 { flex: 1 1 0; min-width: 0; line-height: 1.35; }
body .catalog-order__title-row strong { flex: 0 1 30%; white-space: normal; text-align: right; margin-left: 0; }
body .catalog-more { position: static; display: flex; margin: 24px auto 0; }

/* Public profiles: each section grows with biographies, reviews and portfolios. */
body :is(.executor-public-board, .customer-public-board) {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
  gap: 30px; height: auto !important; padding: 28px 30px 30px;
}
body :is(.executor-public-board, .customer-public-board) > * { position: static; width: auto; height: auto !important; min-width: 0; grid-column: 1 / -1; }
body :is(.executor-info-card--stats, .customer-profile-info--stats) { grid-column: 1; }
body :is(.executor-info-card--skills, .customer-profile-info--skills) { grid-column: 2; }
body :is(.executor-info-card--rating, .customer-profile-info--rating) { grid-column: 3; }
body :is(.executor-profile-top, .customer-profile-top, .executor-profile-actions) { flex-wrap: wrap; gap: 20px; }
body :is(.executor-profile-person, .customer-profile-person) { min-width: 0; }
body :is(.executor-profile-person, .customer-profile-person) img { flex-shrink: 0; }
body .executor-portfolio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body :is(.executor-portfolio-card, .executor-portfolio-card img, .executor-activity-card, .customer-profile-project) { width: 100%; }
body .executor-portfolio-card img { height: auto; aspect-ratio: 1.54; }
body :is(.executor-activity-body, .executor-activity-copy, .executor-activity-description, .executor-activity-line) { width: 100%; min-width: 0; }
body :is(.executor-rating-row, .executor-rating-row > div, .customer-profile-rating-row, .customer-profile-rating-row > div) { max-width: 100%; }
body .executor-portfolio-empty { max-width: 430px; min-height: 240px; padding: 30px; }
body :is(.executor-portfolio-card h3, .executor-activity-card h3, .executor-profile-person h1, .customer-profile-person h1) { white-space: normal; line-height: 1.4; }
body :is(.executor-activity-title, .executor-activity-bottom, .customer-profile-project__top, .customer-profile-project__title,
  .executor-rating-row, .customer-profile-rating-row) { flex-wrap: wrap; gap: 12px; }
body :is(.customer-profile-project__title strong, .customer-profile-executor) { white-space: normal; }

/* Editing, registration and uploads must reserve space for errors and previews. */
body .account-edit-editor { position: static; grid-column: 1 / -1; width: 100%; height: auto; }
body .account-edit-editor__head { flex-wrap: wrap; gap: 20px; }
body .account-edit-tabs { width: auto; max-width: 100%; flex-wrap: wrap; gap: 20px; }
body .account-edit-field { width: 100%; min-width: 0; }
body .account-edit-form-card { width: 100%; height: auto; min-height: 165px; }
body .account-edit-fields { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .account-edit-fields--security { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .account-edit-actions { position: static; width: 100%; margin-top: 30px; gap: 16px; flex-wrap: wrap; }
body .account-edit-security-actions { flex-wrap: wrap; }
body .create-board { height: auto; padding: 30px; display: flex; flex-direction: column; gap: 28px; }
body :is(.create-board h1, .create-requirements-title, .create-form-card, .create-form-grid,
  .create-requirements, .create-requirements .create-field--skills, .create-chips,
  .create-files, .create-upload, .create-publish) { position: static; width: 100%; height: auto; min-width: 0; }
body :is(.create-form-card, .create-requirements) { padding: 24px; }
body .create-form-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body .create-field { width: 100%; min-width: 0; min-height: 40px; }
body .create-field--description { height: 160px; padding-top: 0; }
body .create-chips { margin-top: 20px; }
body .create-files__copy :is(h2, p) { width: auto; }
body .create-upload { min-height: 80px; padding: 20px; margin-top: 20px; gap: 16px; flex-wrap: wrap; }
body .create-upload :is(button, span) { margin: 0; line-height: 1.5; }
body .create-publish { align-self: center; width: auto; min-height: 40px; padding: 10px 24px; }
body .auth-board { height: auto !important; padding: 30px; display: flex; flex-direction: column; align-items: center; gap: 30px; }
body :is(.auth-intro, .login-card, .register-roles, .register-data-title, .register-data-card, .register-data-fields, .register-submit) { position: static; transform: none; height: auto; max-width: 100%; }
body .login-card { width: 450px; }
body :is(.login-card__fields, .login-card__links, .auth-field, .login-card .auth-submit) { width: 100%; }
body .login-card__links { flex-wrap: wrap; gap: 16px; line-height: 1.5; }
body .register-roles { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .register-role { width: 100%; height: auto; }
body .register-role p { width: auto; }
body .register-role__button { margin-top: auto; }
body .register-data-title { align-self: flex-start; }
body .register-data-card { width: 100%; padding: 24px; }
body .register-data-fields { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .register-data-card .auth-field { width: 100%; }

/* The chat header and composer reserve their own rows; only history scrolls. */
body .messages-chats-title { position: static; grid-column: 1 / -1; }
body .messages-chat-scroll { position: static; grid-column: 1; width: 100%; max-height: 760px; overflow: auto; }
body .messages-board { grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr) auto; }
body .messages-panel { position: static; grid-column: 2 / 4; width: 100%; height: 760px; min-height: 0; }
body .messages-panel__head { position: static; width: auto; padding: 20px; flex-wrap: wrap; gap: 16px; flex-shrink: 0; }
body .messages-panel__meta { flex-wrap: wrap; gap: 16px; }
body .messages-panel__person { min-width: 0; }
body .messages-panel__person :is(h2, p), body .messages-panel__meta p { white-space: normal; flex-wrap: wrap; line-height: 1.4; }
body .messages-dialog { min-height: 0; padding: 18px 20px; }
body .messages-chat-card { width: 100%; height: auto; min-height: 80px; gap: 12px; }
body .messages-chat-card__person { min-width: 0; }
body .messages-chat-card__person:not(:has(img)) { flex-direction: column; align-items: flex-start; gap: 8px; }
body .messages-chat-list { width: 100%; flex-direction: column; }
body .messages-panel__person:not(:has(img)) { flex-direction: column; align-items: flex-start; gap: 8px; }
body .messages-chat-card__person img { flex-shrink: 0; }
body .messages-chat-card strong { line-height: 1.4; }
body .messages-composer { min-width: 0; }
body .messages-composer textarea { min-width: 0; width: 100%; }
body .messages-composer button { max-width: 100%; }
body .contact-form .itp-contact-captcha__check input { width: 1px !important; height: 1px !important; }
body :is(.executor-skills-list, .customer-profile-skills-list) { width: 100%; min-width: 0; }
body .customer-profile-message { max-width: 100%; white-space: normal; height: auto; min-height: 32px; line-height: 1.4; }

@media (max-width: 1199px) {
  body .site-header__desktop { display: none; }
  body .site-header__mobile { display: flex; gap: 15px; }
  body .site-header__inner { align-items: center; }
  body .mobile-square { display: grid; width: 36px; height: 36px; place-items: center; padding: 9px; border: 0; border-radius: 8px; background: var(--button-dark); }
  body .mobile-square--light { background: var(--white); }
  body .mobile-square img { width: 18px; height: 18px; }
  body .mobile-menu:not([hidden]) { position: absolute; top: 100%; right: 0; left: 0; z-index: 20; display: grid; gap: 16px; padding: 20px; border-radius: 8px; background: #232534; }
  body .executor-overview { grid-template-columns: minmax(0, 1fr); }
  body :is(.executor-profile, .executor-kpis, .executor-work, .executor-new-orders) { grid-column: 1; grid-row: auto; }
  body .customer-board { grid-template-columns: minmax(0, 1fr) auto auto; }
  body :is(.customer-kpis, .customer-orders-panel, .customer-favorites) { grid-column: 1 / -1; grid-row: auto; }
  body :is(.executor-public-board, .customer-public-board) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body :is(.executor-info-card--rating, .customer-profile-info--rating) { grid-column: 1 / -1; }
  body .catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .footer .footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .footer__subscribe { grid-column: 1 / -1; }
  body .messages-board { grid-template-columns: minmax(0, 1fr) auto auto; }
  body .messages-chat-scroll { grid-column: 1 / -1; max-height: 260px; }
  body .messages-panel { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  body main.container { width: 100%; max-width: 100%; }
  body :is(.executor-overview, .customer-board, .account-edit-board, .messages-board,
    .executor-public-board, .customer-public-board, .create-board, .auth-board,
    .select-executor-board, .catalog-board, .order-detail-board) { padding: 20px 15px; gap: 24px; }
  body :is(.customer-board, .account-edit-board, .messages-board) { grid-template-columns: minmax(0, 1fr) auto; }
  body :is(.customer-profile, .account-edit-profile, .messages-profile) { grid-column: 1 / -1; }
  body :is(.customer-summary, .account-edit-summary, .messages-summary) { grid-column: 1; flex-wrap: wrap; gap: 12px; }
  body :is(.customer-icon-actions, .account-edit-icon-actions, .messages-icon-actions) { grid-column: 2; gap: 10px; }
  body :is(.customer-icon-actions, .account-edit-icon-actions, .messages-icon-actions) button { width: 44px; height: 44px; }
  body :is(.executor-kpis, .customer-kpis) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body .executor-profile__right { width: 100%; justify-content: space-between; }
  body :is(.executor-profile, .executor-profile__summary, .executor-kpis, .executor-panel) { width: 100%; }
  body .executor-profile { grid-template-columns: minmax(0, 1fr) auto; }
  body .executor-icon-action { width: 32px; height: 32px; padding: 4px; flex: 0 0 32px; }
  body .executor-icon-action img { width: 24px; height: 24px; flex-shrink: 0; }
  body .executor-profile__actions { gap: 8px; }
  body .executor-profile__welcome img { flex-shrink: 0; }
  body :is(.detail-meta__rest, .choice-meta__rest) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .executor-work-order { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body .executor-work-order__meta { align-items: flex-start; }
  body .executor-work__head { flex-wrap: wrap; gap: 12px; }
  body .customer-orders-panel { padding: 16px; }
  body .customer-order { flex-direction: column; }
  body .customer-order__image { width: 100%; height: auto; aspect-ratio: 1.4; flex-basis: auto; }
  body .customer-order__content { width: 100%; }
  body .customer-order__title-row h3 { flex: auto; }
  body :is(.customer-action, .customer-create) { max-width: 100%; height: auto; min-height: 34px; white-space: normal; line-height: 1.4; }
  body :is(.detail-project__bottom p, .choice-project__bottom p) { white-space: normal; }
  body .detail-response__fields, body .detail-response__fields label { flex: none; width: 100%; }
  body .choice-candidate__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); white-space: normal; }
  body .choice-candidate__actions { align-items: stretch; }
  body .catalog-filter-panel { padding: 16px; }
  body .catalog-filters { display: flex; flex-wrap: wrap; gap: 12px; }
  body .catalog-filter-field--search { width: calc(100% - 52px); }
  body .catalog-orders { padding: 0; }
  body .catalog-order { display: flex; flex-direction: column; gap: 16px; }
  body .catalog-order__image { width: 100%; height: auto; aspect-ratio: 1.41; }
  body .catalog-order__body { width: 100%; }
  body .catalog-order__title-row { flex-direction: column; gap: 10px; }
  body .catalog-order__title-row h2 { width: 100%; }
  body .catalog-order__title-row strong { text-align: left; flex: auto; }
  body :is(.executor-public-board, .customer-public-board) { grid-template-columns: minmax(0, 1fr); }
  body :is(.executor-public-board, .customer-public-board) > * { grid-column: 1; }
  body .executor-portfolio-grid { grid-template-columns: minmax(0, 1fr); }
  body .executor-activity-card { flex-wrap: nowrap; }
  body .executor-activity-body { flex: 0 1 auto; }
  body .executor-activity-card > img { width: 100%; height: auto; aspect-ratio: 1.54; flex-basis: auto; }
  body :is(.create-form-row, .account-edit-fields, .account-edit-fields--security,
    .register-roles, .register-data-fields) { grid-template-columns: minmax(0, 1fr); }
  body :is(.create-form-card, .create-requirements, .account-edit-form-card, .register-data-card, .register-role, .login-card) { padding: 20px 16px; }
  body .create-field { margin-top: 0; }
  body .create-field--description { margin-top: 20px; }
  body .messages-panel { height: 650px; }
  body .messages-panel__head { padding: 16px; }
  body .messages-dialog { padding: 16px; }
  body .footer .footer__inner { width: calc(100% - 30px); grid-template-columns: minmax(0, 1fr); padding: 36px 0 22px; text-align: center; }
  body .footer__brand { align-items: center; }
  body .footer__nav { flex-direction: row; flex-wrap: wrap; justify-content: center; }
  body .footer__nav div { align-items: center; }
  body .footer__subscribe form { margin: 0 auto; }
  body .footer__social { justify-content: center; }
  body .footer .footer__bottom { flex-direction: column; align-items: center; }
  body .footer .footer__bottom div { flex-direction: column; }
  body .page { width: 100%; }
  body .page .container { width: calc(100% - 30px); }
  body .page .site-header__inner { width: 100%; }
  body :is(.hero__copy, .hero h1, .hero p, .hero__image, .faq .section-title, .order-card h3) { width: 100%; max-width: 100%; }
  body .hero__image { height: auto; aspect-ratio: 1; }
  body .hero__actions { flex-wrap: wrap; gap: 12px; }
  body .hero__tags { flex-wrap: wrap; gap: 8px; }
  body .step { grid-template-columns: 64px minmax(0, 1fr); }
  body .step__icon { width: 64px; height: 64px; padding: 12px; }
  body .contacts { min-width: 0; }
  body .contacts__info { min-width: 0; }
}
