@media (max-width:1700px) {
  .popup__title {
    font-size: 30px;
  }
  .popup__holder .final__form {
    gap: 8px;
  }
  .popup__form {
    padding: 30px 62px;
  }
  .popup__image {
    max-width: 477px;
  }
}

@media (min-width:1280px) {
  .dist__top h2 {
    font-size: 53px;
  }
  .phases__top .h2 {
    font-size: 53px;
  }
}
@media (max-width:1280px){
  .location__eyebrow {
    top: 20px;
    left: 20px;
  }
  .phase__custom-info {
    max-width: 100%;
  }
  .hero__title{ font-size:clamp(56px,7.4vw,96px); }
  .h2,.team__h2{ font-size:clamp(40px,5vw,63.4px); line-height:1.05; }
  .location__h2{ font-size:clamp(46px,6vw,80.6px); line-height:1.02; }
  .arch__hero h2,.auto__h2{ font-size:clamp(44px,6vw,77.8px); line-height:1.02; }
  .seasons__h2{ font-size:clamp(40px,5.4vw,69.1px); line-height:1.05; }
  .final__h2{ font-size:clamp(44px,6.6vw,86.4px); line-height:1.04; }
  .passage__quote{ font-size:clamp(34px,5vw,63.4px); line-height:1.2; }
  .final__form-h3{ font-size:clamp(36px,4.6vw,51.8px); line-height:1.1; }
}
@media (max-width:1250px) {
  .popup__image {
    display: none;
  }
  .header__tel-box {
    margin-right: 20px;
  }
  .header__tel {
    position: relative;
  }
  .header__tel ul {
    position: absolute;
    top: 100%;
    background: #333;
    right: 0;
    z-index: 20;
    padding: 10px;
    display: none;
  }
  .header__tel ul.show {
    display: block;
  }
  .header__tel-notes-2 {
    display: none;
  }
  .header__tel {
    margin: 0;
  }
  .header__in {
    padding: 0 20px;
  }
  .header__links {
    margin: 0 20px 0 0;
    gap: 10px;
  }
}
@media (max-width:767px) {
  .header__right {
    flex: 0;
  }
}
@media (max-width: 1080px){
  :root{ --gutter:40px; }
  .facts__v{ flex-basis:120px; font-size:28px; }
  .phase__body{ flex-wrap: wrap;}
  .phase__body.solo{ grid-template-columns:120px 1fr; justify-content:stretch; }
  .phase__body > .phase__types{ flex-wrap: wrap;margin-top:8px; }
  .auto__cards{ grid-template-columns:repeat(2,1fr); }
  .auto-card:nth-child(4n+1){ border-left:1px solid var(--line); padding-left:28px; }
  .auto-card:nth-child(2n+1){ border-left:0; padding-left:0; }
  .europe__tl {
    font-size: 24px;
    line-height: 26px;
    left: 15px;
  }
  .plate__tl-box {
    left: 15px;
  }
  .plate__cs-t {
    font-size: 40px;
    line-height: 42px;
  }
  .success-box {
    padding: 0 15px;
  }
}

@media (max-width: 860px){
  .concept__top,.location__caption,.location__body,.europe__top,.dist__top,
  .arch__intro,.rel__grid,.auto__top,.phases__top,.pricing__grid,
  .services__top,.team__grid,.final__form-grid{
    display: block; gap:40px;
  }
  .location__caption {
    padding: 0 15px;
  }
  .phase__media .pm-kicker {
    left: 15px;
  }
  .phase__media .pm-end {
    left: 15px !important;
  }
  .phase__media .pm-tag {
    left: 15px;
  }
  .europe__right,.facts,.rel__list,.auto__aside,.dist__top .lead-aside,
  .phases__top .lead-aside,.services__top .lead-aside,.team__right{
    width:100%; max-width:100%; flex:none; align-self:stretch;
  }
  .concept__grid{ grid-template-columns:repeat(2,1fr); gap:0; margin-top:56px; }
  .col-card{ padding:24px 0; border-left:0; border-top:1px solid var(--line); }
  .col-card:nth-child(2n){ padding-left:24px; border-left:1px solid var(--line); }
  .europe__plates{ grid-template-columns:1fr; }
  .europe__plate{ height:420px; }
  .arch__gallery{ grid-template-columns:1fr; height:auto; }
  .arch__hero{ height:480px; }
  .arch__col{ grid-template-rows:none; }
  .arch__cell{ height:320px; }
  .arch__features{ grid-template-columns:repeat(2,1fr); gap:0; }
  .feat-card{ padding:24px; border-left:1px solid var(--line); border-top:1px solid var(--line); }
  .feat-card:nth-child(2n+1){ border-left:0; padding-left:0; }
  .seasons__grid{ grid-template-columns:repeat(2,1fr); }
  .phase__media.grid3{ grid-template-columns:1fr; height:auto; }
  .phase__media.grid3 .pm-cell.big{ height:420px; }
  .phase__media .pm-right{ grid-template-rows:none; }
  .phase__media .pm-right .pm-cell{ height:280px; }
  .phase__types{ flex-wrap: wrap;}
  .phase__types.one{ max-width:none; }
  .services__grid{ grid-template-columns:1fr; }
  .team__people{ grid-template-columns:1fr; }
  .team-person:first-child{ border-right:1px solid var(--line); border-bottom:0; }
  .auto__panel{ padding: 50px 15px; z-index: 2; background: #fff; position:static; width:100%; max-width:none; margin-top:24px; }
  .auto__feature{ height:auto; display:flex; flex-direction:column; }
  .auto__feature-quote{ z-index: 2; position:static; padding:36px 15px 0; max-width:none; }
  .auto__feature::before{ content:""; display:block; height:360px; }
  .dist__rail{ flex-wrap:wrap; }
  .dist-card{ flex:1 1 40%; padding:18px 0; border-left:0; border-top:1px solid var(--line); }
  .dist__rail2{ flex-direction:column; gap:24px; }
  .dist__rail2 .rail2-l{ flex:none; }
  .pricing__panel {
    margin-top: 25px;
  }
  .pricing__panel {
    padding: 40px 15px;
  }
}

@media (max-width:980px){
  .siderail{ display:none; }
}

@media (max-width:640px) {
  .popup__form {
    padding: 30px 15px;
  }
  .popup__title {
    font-size: 20px;
    line-height: 22px;
  }
  .final__form-note {
    display: none;
  }
  .popup__close {
    right: 0;
  }
  .europe__plate-quote,
  .europe__plate-stat,
  .arch__hero h2 {
    left: 15px;
  }
  .footer__grid {
    display: block;
  }
  .footer__custom {
    margin-top: 30px;
  }
  .pill {
    width: 100%;
    justify-content: center;
  }
  .location__inner {
    padding: 70px 0;
  }
  .facts__v {
    flex-basis: auto;
    margin-bottom: 25px;
  }
  :root{ --gutter:22px; }
  .header{ height:64px; }
  .header__links{ display:none; }
  .header__right .header__cta span{ display:none; }
  .header__brand-name{ font-size:18px; letter-spacing:5px; }

  .hero{ padding-top:88px; }
  .hero__center{ padding-top:24px; gap:18px; }
  .hero__title{ font-size:clamp(40px,11vw,56px); }
  .hero__bar{ grid-template-columns:1fr; gap:28px; }
  .hero__mid{ align-items:flex-start; }
  .hero__cta-wrap{ justify-content:flex-start; }

  .sec-pad{ padding:72px 0; }
  .sec-pad-100{ padding:64px 0; }
  .sec-pad-60{ padding:48px 0; }

  .concept__grid{ grid-template-columns:1fr; }
  .col-card,.col-card:nth-child(2n){ padding:24px 0; border-left:0; border-top:1px solid var(--line); }
  .location__hero{ height:auto; min-height:560px; }
  .location__h2{ font-size:clamp(38px,9vw,46px); }
  .location__coords{ border-left:0; padding:24px 0 0; border-top:1px solid var(--line); }
  .facts__list li{ flex-direction:column; gap:8px; }
  .facts__v{ font-size:30px; }
  .europe__plate-quote p{ font-size:26px; line-height:1.3; }
  .seasons__grid{ grid-template-columns:1fr; }
  .arch__features{ grid-template-columns:1fr; }
  .feat-card,.feat-card:nth-child(2n+1){ padding:20px 0; border-left:0; padding-left:0; }
  .auto__cards{ grid-template-columns:1fr; }
  .auto-card,.auto-card:nth-child(2n+1){ border-left:0; padding:24px 0; min-height:0; }
  .phase__body{ flex-wrap: wrap;}
  .phase__body.solo{ grid-template-columns:1fr; }
  .dist-card{ flex:1 1 100%; }
  .passage__quote{ font-size:clamp(26px,7vw,34px); }
  .pricing__price .v{ font-size:44px; }
  .svc-panel{ padding:28px 24px; }
  .svc-panel__title{ font-size:32px; }
  .team__stats{ flex-direction:column; gap:24px; }
  .final__hero{ padding:88px 22px; }
  .final__form-actions{ flex-direction:column; }
  .btn-dark,.btn-outline{ min-width:0; width:100%; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:36px; }
  .footer__brand{ grid-column:1 / -1; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; }
}
