/* Phone and small-tablet layout. Desktop content and presentation are retained. */
@media screen and (max-width:760px){
  body.agency{font-size:16px;line-height:1.7}
  .agency .wrap{width:calc(100% - 36px)}
  .agency .nav-row{min-height:86px;gap:16px}
  .agency .site-logo{width:160px;max-width:100%;height:auto}
  .agency .brand{min-width:0}
  .agency .mobile-nav summary{min-width:64px;min-height:48px;padding:12px 0;display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:16px}
  .agency .mobile-nav nav{width:340px;max-width:calc(100vw - 36px);padding:12px;max-height:calc(100dvh - 110px);overflow-y:auto}
  .agency .mobile-nav nav a{min-height:48px;padding:13px 16px;font-size:17px;line-height:1.4}
  .agency :is(.button,.bio-link,.text-link,.testing-jumps a){min-height:48px}
  .agency :is(.bio-link,.text-link){display:inline-flex;align-items:center;padding:10px 0}
  .agency .page-intro{padding:36px 0}
  .agency .page-intro h1{font-size:clamp(34px,8vw,48px);line-height:1.1;letter-spacing:-1.2px;overflow-wrap:anywhere}
  .agency .lede{font-size:17px;line-height:1.65}
  .agency .original-content{padding-top:24px;padding-bottom:36px}
  .agency .original-content :is(p,li){font-size:16px;line-height:1.75;overflow-wrap:anywhere}
  .agency .original-content :is(h2,h3){overflow-wrap:anywhere}
  .agency .original-content :is(pre,table){max-width:100%;overflow-x:auto}
  .agency .original-content table{display:block}
  .agency :is(.contact-box,.deliverables,.bio-credentials){padding:24px;min-width:0}
  .agency .enquiry-form :is(input,select,textarea){font-size:16px;min-height:48px}
  .agency .field-pair{grid-template-columns:1fr;gap:0}
  .agency .enquiry-form label{font-size:14px}
  .agency .testing-jumps{gap:10px;margin:24px 0}
  .agency .testing-jumps a{display:flex;align-items:center;line-height:1.4}

  /* Bookings stays usable without making a phone load and scroll an iframe. */
  .agency.page-home .booking-frame{display:none}
  .agency.page-home .booking-summary[hidden]{display:block}
  .agency.page-home .booking-fallback{display:none}
  .agency.page-home .hero-enquiry-layout .booking-mission{padding-bottom:20px;margin-bottom:20px}
  .agency.page-home .hero-enquiry-layout .booking-mission h2{font-size:25px;line-height:1.25}
  .agency.page-home .booking-mission>p{font-size:15px;line-height:1.7}
  .agency.page-home .booking-summary{padding:20px 18px}
  .agency.page-home .booking-summary h3{font-size:24px;line-height:1.25}
  .agency.page-home .booking-summary p{font-size:15px}
  .agency.page-home .home-campaign .booking-button{min-height:52px;padding:14px 18px;font-size:15px}

  /* All four services are visible without a horizontal carousel. */
  .agency.page-home .compact-service-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible;scroll-snap-type:none;padding-bottom:0;margin:0 0 24px}
  .agency.page-home .compact-service-row .service-tile{grid-template-rows:120px auto 1fr auto;padding:16px;gap:14px;scroll-snap-align:none}
  .agency.page-home .compact-service-row .service-tile .service-photo{height:120px;aspect-ratio:16/9;object-fit:cover}
  .agency.page-home .compact-service-row .service-tile>figure{height:120px}
  .agency.page-home .compact-service-row .service-tile>figure img{max-height:110px!important}
  .agency.page-home .compact-service-row .service-tile h2{font-size:21px;line-height:1.25;letter-spacing:-.3px}
  .agency.page-home .compact-service-row .service-tile p{font-size:15px;line-height:1.65}
  .agency.page-home .compact-service-row .service-tile>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:15px}
  .agency.page-home .assurance-band{padding:22px;gap:18px;margin-top:24px}
  .agency.page-home .assurance-band h2{font-size:27px}
  .agency.page-home .assurance-band .assurance-copy>p:not(.eyebrow){font-size:15px}
  .agency.page-home .original-content .testimonial{padding:24px;margin:28px 0}
  .agency.page-home .testimonial p{font-size:18px;line-height:1.6}
  .agency.page-home .testimonial cite{font-size:15px;line-height:1.5;margin-top:18px}

  .agency footer{padding:36px 0 calc(88px + env(safe-area-inset-bottom,0px))}
  .agency .footer-grid{gap:24px}
  .agency .footer-grid a{min-height:44px;display:flex;align-items:center;margin:0;font-size:15px}
  .agency .footer-grid p{font-size:14px}
  .agency .related-sites{gap:8px 18px;margin-top:24px;padding-top:24px}
  .agency .related-sites h2{width:100%;font-size:14px}
  .agency .related-sites a{min-height:44px;display:flex;align-items:center;font-size:14px}
  .agency .footer-bottom{font-size:12px;gap:14px}
  .agency .footer-bottom>div{gap:8px 18px}
  .agency .footer-bottom :is(a,button){display:inline-flex;align-items:center;min-height:44px;font-size:13px}
  .agency .consent-reopen,.agency .a11y-tools{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .agency .consent-reopen,.agency .a11y-trigger{min-height:44px}
  .agency .a11y-panel{bottom:calc(72px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 96px - env(safe-area-inset-bottom,0px))}
}
@media screen and (max-width:480px){
  .agency.page-home .campaign-copy .actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .agency.page-home .campaign-copy .actions a{width:100%;min-height:50px;padding:14px 20px;font-size:15px}
  .agency.page-home .compact-service-row{grid-template-columns:1fr}
  .agency.page-home .compact-service-row .service-tile{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto auto;gap:14px 16px;padding:18px}
  .agency.page-home .compact-service-row .service-tile .service-photo{grid-column:1;grid-row:1;height:76px;width:96px;align-self:center}
  .agency.page-home .compact-service-row .service-tile>figure{grid-column:1;grid-row:1;width:96px;height:76px;align-self:center}
  .agency.page-home .compact-service-row .service-tile>figure img{max-height:76px!important}
  .agency.page-home .compact-service-row .service-tile h2{grid-column:2;grid-row:1;align-self:center;font-size:20px}
  .agency.page-home .compact-service-row .service-tile p{grid-column:1/-1;grid-row:2}
  .agency.page-home .compact-service-row .service-tile>a{grid-column:1/-1;grid-row:3}
  .agency .footer-affiliates{grid-template-columns:1fr;gap:12px;max-width:260px;margin-bottom:28px}
  .agency .testing-jumps a{width:100%}
}

/* Readable copyright and policy links across desktop and mobile. */
.agency footer .footer-bottom, .agency footer .footer-bottom :is(p,a,button) { font-size:14px; line-height:1.8; }
.agency footer .footer-bottom { flex-wrap:wrap; }

/* Consistent text sizing throughout the site footer. */
.agency footer, .agency footer :is(p,h2,a,button,span,div) { font-size:14px; }

body.agency footer :is(p,h2,a,button,span,div) { font-size:14px; }

body.agency footer, body.agency footer :is(p,h2,a,button,span,div) { font-size:14px!important; }

body.agency img[src*='editorial/john-mccarthy.webp'] { border-radius:16px!important; }

/* Rounded corners for the resilience image. */
img[src$="/editorial/resilience.webp"] { border-radius: 16px !important; }
