/* =========================================================
   LARGE DESKTOP / ULTRAWIDE
   ========================================================= */
@media (min-width: 1921px) {
  .msa-method__grid,
  .msa-lawyer__grid {
    width: min(100%, var(--msa-visual-max));
    margin-inline: auto;
  }

  .msa-method__visual-note {
    left: max(var(--msa-shell-gutter), calc((var(--msa-visual-max) - var(--msa-shell-max)) / 2));
  }

  .msa-method__content {
    padding-right: max(var(--msa-shell-gutter), calc((var(--msa-visual-max) - var(--msa-shell-max)) / 2));
  }

  .msa-lawyer__bio {
    padding-left: max(var(--msa-shell-gutter), calc((var(--msa-visual-max) - var(--msa-shell-max)) / 2));
  }

  .msa-hero__image { object-position: 55% 48%; }
}

@media (max-width: 1080px) {
  .msa-hero__main { width: min(720px,68%); }
  .msa-situations__grid { grid-template-columns: .9fr 1.1fr; gap: 48px; }
  .msa-method__grid { grid-template-columns: 52% 48%; }
  .msa-areas__layout { grid-template-columns: 1fr; }
  .msa-areas__aside { position: static; max-width: 560px; }
  .msa-area-row { grid-template-columns: 40px minmax(190px,.6fr) minmax(240px,1fr) 24px; }
  .msa-lawyer__grid { grid-template-columns: 48% 52%; }
  .msa-principle__statement { grid-template-columns: 1fr .48fr; gap: 48px; }

  .msa-before__layout { grid-template-columns: minmax(280px,.72fr) minmax(470px,1.28fr); gap: 48px; }
  .msa-before__entry { padding-inline: 34px; }

  .msa-contact__frame { grid-template-columns: minmax(300px,.78fr) minmax(500px,1.22fr); }
  .msa-contact__intro { padding-inline: 38px; }
  .msa-contact__form-panel { padding-inline: 38px; }
  .msa-form-row { grid-template-columns: 126px minmax(0,1fr); gap: 24px; }
}

@media (max-width: 820px) {
  .msa-hero { min-height: 720px; }
  .msa-hero__content { min-height: 720px; align-items: end; padding-block: 48px 54px; }
  .msa-hero__image { object-position: 62% 50%; }
  .msa-hero::before { background: linear-gradient(0deg, rgba(19,18,16,.84) 0%, rgba(19,18,16,.54) 48%, rgba(19,18,16,.11) 100%); }
  .msa-hero__rail { display: none; }
  .msa-hero__main { width: 100%; max-width: 620px; padding-left: 0; }
  .msa-hero h1 { font-size: clamp(49px,12.5vw,67px); max-width: 600px; margin-bottom: 20px; }
  .msa-hero__intro { font-size: 16px; max-width: 520px; }
  .msa-hero__actions { margin-top: 24px; }

  .msa-situations { padding-top: 72px; padding-bottom: 72px; }
  .msa-situations__grid { display: block; }
  .msa-situations__intro { max-width: 620px; margin-bottom: 50px; }
  .msa-situations__intro .msa-section-title { font-size: clamp(44px,10vw,61px); }
  .msa-situations__note { margin-top: 34px; }
  .msa-situation-row { grid-template-columns: 38px 1fr 22px; }

  .msa-method__grid { display: block; min-height: 0; }
  .msa-method__visual { min-height: 500px; }
  .msa-method__visual::after { top: auto; left: 0; right: 0; bottom: 0; width: auto; height: 7px; }
  .msa-method__visual-note { left: var(--msa-shell-gutter); right: var(--msa-shell-gutter); bottom: 24px; }
  .msa-method__content { padding: 64px var(--msa-shell-gutter) 72px; }
  .msa-method__content .msa-section-title { font-size: clamp(47px,10vw,64px); }
  .msa-method__lead { margin-bottom: 38px; }

  .msa-areas { padding-top: 72px; padding-bottom: 72px; }
  .msa-areas__head { grid-template-columns: 1fr; gap: 22px; padding-bottom: 42px; }
  .msa-areas__head .msa-section-title { font-size: clamp(46px,10vw,63px); }
  .msa-areas__layout { gap: 36px; }
  .msa-areas__note { padding: 20px 18px 22px; }
  .msa-area-row { grid-template-columns: 38px 1fr 22px; gap: 12px; padding: 20px 0; }
  .msa-area-row__title { grid-column: 2 / 3; }
  .msa-area-row__title h3 { font-size: 28px; }
  .msa-area-row__copy { grid-column: 2 / 3; }
  .msa-area-row__arrow { grid-column: 3; grid-row: 1 / span 3; align-self: center; }

  .msa-lawyer__grid { display: flex; flex-direction: column; min-height: 0; }
  .msa-lawyer__portrait { order: -1; min-height: 0; height: min(105vw,650px); }
  .msa-lawyer__bio { padding: 62px var(--msa-shell-gutter) 66px; }
  .msa-lawyer__bio h2 { font-size: clamp(45px,10vw,61px); }

  .msa-principle { padding-top: 68px; padding-bottom: 60px; }
  .msa-principle__statement { grid-template-columns: 1fr; gap: 22px; padding-bottom: 38px; }
  .msa-principle__statement h2 { font-size: clamp(46px,10vw,61px); }
  .msa-principle__statement-note { max-width: 620px; }
  .msa-principle__image { height: min(78vw,430px); }
  .msa-principle__band { margin-top: -38px; padding: 26px 22px 24px; grid-template-columns: 1fr; }
  .msa-principle__band article { padding: 22px 0; border-left: 0 !important; border-top: 1px solid rgba(27,26,23,.13); }
  .msa-principle__band article:first-child { padding-top: 0; border-top: 0; }
  .msa-principle__band article:last-child { padding-bottom: 0; }

  .msa-before { padding-top: 76px; padding-bottom: 76px; }
  .msa-before__layout { grid-template-columns: 1fr; gap: 44px; }
  .msa-before__intro { position: static; max-width: 660px; }
  .msa-before__intro .msa-section-title { font-size: clamp(47px,10vw,63px); }
  .msa-before__lead { max-width: 620px; }
  .msa-before__practical { max-width: 620px; }
  .msa-before__agenda { width: 100%; }
  .msa-before__entry { grid-template-columns: 48px 1fr; gap: 18px; padding: 30px 28px; }
  .msa-before__entry h3 { font-size: clamp(29px,6vw,36px); }

  .msa-contact { padding-top: 72px; padding-bottom: 72px; }
  .msa-contact__frame { grid-template-columns: 1fr; min-height: 0; }
  .msa-contact__intro { min-height: 0; padding: 52px 42px; }
  .msa-contact__intro .msa-section-title { max-width: 650px; font-size: clamp(47px,10vw,63px); }
  .msa-contact__details { max-width: 620px; }
  .msa-contact__form-panel { border-left: 1px solid rgba(27,26,23,.11); border-top: 0; padding: 44px 42px 48px; }
}

@media (max-width: 560px) {
  .msa-hero { min-height: 690px; }
  .msa-hero__content { min-height: 690px; }
  .msa-hero h1 { font-size: clamp(46px,13.4vw,58px); }
  .msa-hero__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  body.elementor-page .msa-btn { min-height: 50px; padding: 0 13px; font-size: 9px !important; gap: 8px; }
  .msa-situation-row h3 { font-size: 25px; }
  .msa-method__visual { min-height: 390px; }
  .msa-method-step { grid-template-columns: 32px 86px 1fr; gap: 8px; }
  .msa-method-step h3 { font-size: 23px; }
  .msa-method-step p { font-size: 12px; }

  .msa-before__practical { grid-template-columns: 1fr; gap: 8px; }
  .msa-before__entry { grid-template-columns: 1fr; gap: 14px; padding: 28px 22px 30px; }
  .msa-before__num { padding-top: 0; }
  .msa-before__entry h3 { font-size: 29px; }

  .msa-contact__intro { padding: 44px 24px; gap: 44px; }
  .msa-contact__details > div { grid-template-columns: 80px 1fr; gap: 16px; }
  .msa-contact__form-panel { padding: 36px 24px 40px; }
  .msa-contact__form-heading { padding-bottom: 22px; }
  .msa-contact__form-index { display: none; }
  .msa-form-row { grid-template-columns: 1fr; gap: 6px; padding: 20px 0 18px; }
  .msa-form-row label { padding-top: 0; }
  body.elementor-page .msa-form-row input { font-size: 22px !important; }
  .msa-contact-form__footer { grid-template-columns: 1fr; gap: 24px; align-items: stretch; }
  body.elementor-page button.msa-contact-form__button { width: 100%; }
}

@media (max-width: 360px) {
  .msa-hero__actions { grid-template-columns: 1fr; }
  .msa-method-step { grid-template-columns: 30px 1fr; }
  .msa-method-step p { grid-column: 2; }
  .msa-area-row__title h3 { font-size: 26px; }
}
