/* AP Architects Service mobile — canonical Figma 4205:502, isolated from desktop. */
@media (max-width: 767px) {
  body.page-template-page-service .ap-site-header { height: 60px; padding: 0; }
  body.page-template-page-service .ap-site-header__inner { width: 100%; height: 60px; padding: 0 20px; }
  body.page-template-page-service .ap-mobile-menu-toggle { width: 44px; height: 44px; }

  .ap-service-page {
    --ap-mobile-content-width: min(320px, calc(100vw - 40px));
    width: 360px;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .ap-service-page .ap-service-grid { display: none; }

  .ap-service-page .ap-service-hero { height: auto; min-height: 0; }
  .ap-service-page .ap-service-hero__media { height: 430px; }
  .ap-service-page .ap-service-hero__media::after { background: linear-gradient(180deg,rgba(0,0,0,0) 40%,#000 100%); }
  .ap-service-page .ap-service-hero__media img { inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
  .ap-service-page .ap-service-hero__content { position: relative; display: flex; min-height: 0; height: auto; padding: 310px 20px 79px; flex-direction: column; }
  .ap-service-page .ap-service-hero h1 { position: static; width: var(--ap-mobile-content-width); margin: 0; font-size: 40px; line-height: 1.08; letter-spacing: -.0125em; }
  .ap-service-page .ap-service-hero__copy { position: static; width: var(--ap-mobile-content-width); max-width: none; margin: 0; font-size: 15px; line-height: 1.45; letter-spacing: -.03em; }
  .ap-service-page .ap-service-hero__copy--left { margin-top: 14px; }
  .ap-service-page .ap-service-hero__copy--right { margin-top: 18px; }
  .ap-service-page .ap-service-hero__cta { position: static; width: 225px; min-height: 66px; margin: 32px 0 0; }
  .ap-service-page .ap-service-hero__cta,
  .ap-service-page .ap-service-included__cta{ gap: 12px; padding: 18px 30px 22px; font-size: 16px; line-height: 1.6; position:relative;margin:40px 0 0;}
  .ap-service-page .ap-service-hero__cta .ap-cta__arrow,
  .ap-service-page .ap-service-included__cta .ap-cta__arrow { width: 14px; height: 19px; }

  .ap-service-page .ap-service-tasks { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 4px; height: auto; min-height: 0; padding: 50px 0; overflow: visible; }
  .ap-service-page .ap-service-tasks__label { position: static; grid-column: 1 / -1; width: var(--ap-mobile-content-width); margin: 0 20px; font-size: 15px; line-height: normal; }
  .ap-service-page .ap-service-tasks__mobile-space { display: inline; white-space: pre; }
  .ap-service-page .ap-service-tasks__label br { display: none; }
  .ap-service-page .ap-service-tasks__title { position: static; grid-column: 1 / -1; width: var(--ap-mobile-content-width); margin: 18px 20px 0; font-size: 30px; line-height: 1.1; letter-spacing: -.033em; }
  .ap-service-page .ap-service-tasks__intro { position: static; grid-column: 1 / -1; width: var(--ap-mobile-content-width); max-width: none; margin: 43px 20px 29px; font-size: 15px; line-height: 1.45; }
  .ap-service-page .ap-service-task-image { position: static; width: 100%; height: 214px; margin: 0; aspect-ratio: auto; object-fit: cover; }
  .ap-service-page .ap-service-task-image--1 { grid-column: 1; margin-top: 38px; }
  .ap-service-page .ap-service-task-image--2 { grid-column: 2; margin-top: 0; }
  .ap-service-page .ap-service-task-image--3 { grid-column: 1; margin-top: 4px; }
  .ap-service-page .ap-service-task-image--4 { grid-column: 2; margin-top: 4px; transform: translateY(-38px); }
  .ap-service-page .ap-service-features { display: flex; grid-column: 1 / -1; width: var(--ap-mobile-content-width); margin: 51px 20px 0; flex-direction: column; gap: 30px; }
  .ap-service-page .ap-service-feature { position: static; width: var(--ap-mobile-content-width); height: auto; min-height: 96px; overflow: visible; }
  .ap-service-page .ap-service-feature h3 { gap: 10px; font-size: 20px; line-height: normal; }
  .ap-service-page .ap-service-feature h3 img { width: 24px; height: 24px; }
  .ap-service-page .ap-service-feature p { width: var(--ap-mobile-content-width); margin-top: 10px; font-size: 14px; line-height: 1.4; opacity: .7; }
  .ap-service-page .ap-service-feature--1 { order: 1; }
  .ap-service-page .ap-service-feature--2 { order: 2; }
  .ap-service-page .ap-service-feature--5 { order: 3; }
  .ap-service-page .ap-service-feature--6 { order: 4; }
  .ap-service-page .ap-service-feature--7 { order: 5; }
  .ap-service-page .ap-service-feature--3 { order: 6; }
  .ap-service-page .ap-service-feature--4 { order: 7; }

  .ap-service-page .ap-service-included{ position: relative;    height:auto;padding:50px 20px;overflow:visible;}
  .ap-service-page .ap-service-included h2{    width: var(--ap-mobile-content-width);  font-size: 30px; line-height: 1.1; letter-spacing: -.033em; position:relative;margin:0;}
  .ap-service-page .ap-service-included__intro{    width: var(--ap-mobile-content-width); max-width: none;  font-size: 15px; line-height: 1.45; position:relative;margin:14px 0 0;}
  .ap-service-page .ap-service-included__items{    display: flex; flex-direction: column; gap: 28px; width: var(--ap-mobile-content-width);  position:relative;margin:42px 0 0;}
  .ap-service-page .ap-service-included-item{ display: grid;   column-gap: 20px; width: var(--ap-mobile-content-width); min-height: 45px; grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;row-gap:4px;}
  .ap-service-page .ap-service-included-item__number { display: none; }
  .ap-service-page .ap-service-included-item > img { grid-column: 1; grid-row: 1 / 3; width: 40px; height: 40px; }
  .ap-service-page .ap-service-included-item h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: 20px; line-height: normal; }
  .ap-service-page .ap-service-included-item p { grid-column: 2; grid-row: 2; margin: 0; font-size: 14px; line-height: 1.4; opacity: .7; }
  .ap-service-page .ap-service-included-item p br { display: none; }
  .ap-service-page .ap-service-included__cta { position: absolute; top: 598px; left: 20px; width: 225px; min-height: 66px; margin: 0; }

  .ap-service-page .ap-projects--service{ position: relative;    height:auto;padding:50px 20px;overflow:visible;}
  .ap-service-page .ap-projects--service .ap-projects__stage,
  .ap-service-page .ap-projects--service .ap-projects__canvas{ position: relative;   height:auto;overflow:visible;display:flex;flex-direction:column;gap:0;padding:0;}
  .ap-service-page .ap-projects--service .ap-projects__label{    font-size: 15px; position:relative;margin:0;}
  .ap-service-page .ap-projects--service .ap-projects__title{    width: var(--ap-mobile-content-width);  font-size: 30px; line-height: 1.1; position:relative;margin:38px 0 0;}
  .ap-service-page .ap-projects--service .ap-projects__title br { display: none; }
  .ap-service-page .ap-projects--service .ap-projects__intro{    width: var(--ap-mobile-content-width);  font-size: 15px; line-height: 1.45; position:relative;margin:14px 0 0;}
  .ap-service-page .ap-projects--service .ap-projects__track{    display: flex; flex-direction: column; gap: 40px; width: var(--ap-mobile-content-width);  position:relative;margin:40px 0 0;}
  .ap-service-page .ap-projects--service .ap-project-card{ display: block; width: var(--ap-mobile-content-width);  height:auto;}
  .ap-service-page .ap-projects--service .ap-project-card:nth-child(n+4) { display: none; }
  .ap-service-page .ap-projects--service .ap-project-card__media,
  .ap-service-page .ap-projects--service .ap-project-card__image { width: var(--ap-mobile-content-width); height: 220px; aspect-ratio: auto; }
  .ap-service-page .ap-projects--service .ap-project-card__title { margin-top: 12px; font-size: 14px; }
  .ap-service-page .ap-projects--service .ap-project-card__copy { margin-top: 6px; font-size: 18px; line-height: normal; }
  .ap-service-page .ap-projects--service .ap-projects__all{     display: inline-flex;  font-size: 16px; position:relative;margin:40px 0 0;}

  .ap-service-page .ap-process--service { position: relative; height: auto; min-height: 0; padding: 48px 20px; overflow: visible; box-sizing: border-box; }
  .ap-service-page .ap-process--service .ap-process__canvas{ position: static; height: auto; display:block;padding:0;}
  .ap-service-page .ap-process--service .ap-process__lead { position: static; width: var(--ap-mobile-content-width); }
  .ap-service-page .ap-process--service .ap-process__title { width: var(--ap-mobile-content-width); font-size: 30px; line-height: 1.1; }
  .ap-service-page .ap-process--service .ap-process__intro { width: var(--ap-mobile-content-width); margin-top: 10px; font-size: 15px; line-height: 1.45; }
  .ap-service-page .ap-process--service .ap-process__image { display: none; }
  .ap-service-page .ap-process--service .ap-process__steps { position: static; width: var(--ap-mobile-content-width); margin: 24px 0 0; padding: 0; }
  .ap-service-page .ap-process--service .ap-process-step { grid-template-columns: 42px 1fr; min-height: 130px; padding: 20px 0; }
  .ap-service-page .ap-process--service .ap-process-step:nth-child(4) { min-height: 150px; }
  .ap-service-page .ap-process--service .ap-process-step:nth-child(5) { min-height: 170px; }
  .ap-service-page .ap-process--service .ap-process-step__number,
  .ap-service-page .ap-process--service .ap-process-step__content strong { font-size: 20px; line-height: normal; }
  .ap-service-page .ap-process--service .ap-process-step__content { gap: 4px; }
  .ap-service-page .ap-process--service .ap-process-step:nth-child(4) .ap-process-step__content { width: auto; min-width: 0; }
  .ap-service-page .ap-process--service .ap-process-step:nth-child(4) .ap-process-step__content > span { white-space: normal; overflow-wrap: break-word; }
  .ap-service-page .ap-process--service .ap-process-step__content span { font-size: 14px; line-height: 1.4; }

  .ap-service-page .ap-service-faq { position: relative; height: auto; min-height: 0; padding: 48px 20px; overflow: visible; box-sizing: border-box; }
  .ap-service-page .ap-service-faq__label,
  .ap-service-page .ap-service-faq h2,
  .ap-service-page .ap-service-faq__list { position: static; inset: auto; }
  .ap-service-page .ap-service-faq__label { margin: 0; font-size: 15px; }
  .ap-service-page .ap-service-faq h2 { width: var(--ap-mobile-content-width); margin: 20px 0 0; font-size: 30px; line-height: 1.1; }
  .ap-service-page .ap-service-faq h2 br { display: none; }
  .ap-service-page .ap-service-faq__list { width: var(--ap-mobile-content-width); margin: 49px 0 0; }
  .ap-service-page .ap-service-faq details,
  .ap-service-page .ap-service-faq details:nth-child(n) { height: auto; min-height: 0; overflow: visible; }
  .ap-service-page .ap-service-faq summary { min-height: 0; height: auto; padding: 22px 0; font-size: 20px; line-height: normal; }
  .ap-service-page .ap-service-faq summary i { flex: 0 0 32px; width: 32px; height: 32px; }
  .ap-service-page .ap-service-faq details p { width: var(--ap-mobile-content-width); max-width: none; padding: 0 0 22px; font-size: 14px; line-height: 1.4; }

  .ap-service-page .ap-service-included-item { grid-template-columns: 40px minmax(0, 1fr); }

  .ap-service-page .ap-contact{   height:auto;min-height:0;}
  .ap-service-page .ap-contact__canvas{   min-height: 0; padding: 48px 20px; position:relative;inset:auto;}
  .ap-service-page .ap-contact__form-column { position: static; width: var(--ap-mobile-content-width); }
  .ap-service-page .ap-contact__title { font-size: 30px; line-height: 1.08; }
  .ap-service-page .ap-contact-form { margin-top: 14px; }
  .ap-service-page .ap-contact-form__row { grid-template-columns: 1fr; gap: 6px; }
  .ap-service-page .ap-contact-field { min-height: 56px; padding: 18px 20px; font-size: 16px; }
  .ap-service-page .ap-contact-field::before { display: none; }
  .ap-service-page .ap-contact-form__services { height: 56px; min-height: 56px; margin-top: 6px; padding: 3px; }
  .ap-service-page .ap-contact-form__services .ap-contact-service { grid-template-columns: repeat(2,1fr); gap: 2px; }
  .ap-service-page .ap-contact-form__services .wpcf7-list-item-label { padding: 4px 6px; font-size: 11px; }
  .ap-service-page .ap-contact-field--comment { height: 100px; margin-top: 6px; }
  .ap-service-page .ap-contact-form__submit-row { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
  .ap-service-page .ap-contact-form__submit-row .wpcf7-submit { width: var(--ap-mobile-content-width); min-width: 0; min-height: 58px;  font-size: 17px; }
  .ap-service-page .ap-contact-form__submit-row p { width: var(--ap-mobile-content-width); font-size: 10px; line-height: 1.4; }
  .ap-service-page .ap-contact__details { display: none; }
  .ap-service-page .ap-contact__promise{      width: var(--ap-mobile-content-width);  position:static;margin:28px 0 0;}
  .ap-service-page .ap-contact__promise h3 { font-size: 18px; line-height: normal; }
  .ap-service-page .ap-contact__promise p { margin-top: 4px; font-size: 12px; line-height: 1.45; }

}

@media (max-width: 767px) and (orientation: landscape) {
  .ap-service-page {
    --ap-mobile-content-width: min(520px, calc(100vw - 40px));
    width: min(560px, 100%);
  }
}
