/* mobile-refinements.css */
/* Phone presentation only. The approved desktop rules and content stay intact. */
@media (max-width:760px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:80px; }
  body { font-size:15px; line-height:1.7; padding-bottom:54px; padding-bottom:calc(54px + env(safe-area-inset-bottom,0px)); }
  body,button,input,select,textarea { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",Arial,sans-serif; }
  button,input,select,textarea { font-size:16px; }
  a,button { -webkit-tap-highlight-color:rgba(211,31,45,.12); touch-action:manipulation; }
  img { max-width:100%; }
  #site-header.zl2-header { height:64px; min-height:64px; z-index:1100; }
  .zl2-nav-shell { width:auto; margin:0 16px; gap:16px; }
  .zl2-brand { flex:0 0 auto; }
  .zl2-brand img { width:124px; height:auto; max-height:32px; object-fit:contain; }
  .zl2-header-contact,.zl2-main-nav { display:none!important; }
  .zl2-menu-toggle { position:relative; display:block; flex:0 0 44px; width:44px; height:44px; padding:0; margin-left:auto; color:#fff; font-size:0; border:0; border-radius:0; background:none; }
  .zl2-menu-toggle::before,.zl2-menu-toggle::after { content:""; position:absolute; width:20px; height:1.5px; background:currentColor; left:12px; top:16px; transition:transform .18s; }
  .zl2-menu-toggle::before { box-shadow:0 6px currentColor,0 12px currentColor; }
  .zl2-menu-toggle::after { display:none; }
  .zl2-menu-toggle[aria-expanded="true"]::before { top:22px; box-shadow:none; transform:rotate(45deg); }
  .zl2-menu-toggle[aria-expanded="true"]::after { display:block; top:22px; transform:rotate(-45deg); }
  .zl2-mobile-nav { box-sizing:border-box; top:64px; bottom:0; padding:12px 24px 28px; padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); background:#181818; z-index:1090; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .zl2-mobile-nav-row { min-height:54px; gap:12px; }
  .zl2-mobile-nav-row>a { font-size:16px; line-height:1.5; padding:15px 0; }
  .zl2-mobile-nav-row>button { flex:0 0 44px; width:44px; height:48px; font:24px/1 Arial,sans-serif; }
  .zl2-mobile-sublinks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding:8px 0 16px; }
  .zl2-mobile-sublinks[hidden] { display:none!important; }
  .zl2-mobile-sublinks a { display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 0; font-size:14px; line-height:1.6; color:#c9c9c9; overflow-wrap:break-word; }
  .zl2-mobile-contact { min-height:54px; grid-template-columns:1fr 1fr; padding-bottom:env(safe-area-inset-bottom,0px); z-index:500; }
  .zl2-mobile-contact a { min-height:54px; padding:10px 12px; font-size:14px; line-height:1.5; font-weight:500; }
  body.menu-is-open .zl2-mobile-contact { visibility:hidden; }
  #site-footer.zl2-footer { padding:30px 0 28px; }
  #site-footer>.container { width:auto; max-width:none; margin:0 20px; padding:0; }
  .zl2-footer-main { grid-template-columns:minmax(0,1fr); gap:22px; }
  .zl2-footer-brand,.zl2-footer-bottom,.zl2-footer-contact>h4,.zl2-footer-contact>a { display:none!important; }
  .zl2-footer h4 { margin:0 0 10px; font-size:16px; line-height:1.6; font-weight:500; }
  .zl2-footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; }
  .zl2-footer-links a { display:flex; align-items:center; min-height:42px; margin:0; padding:8px 0; color:#c9c9c9; font-size:13px; line-height:1.5; }
  .zl2-footer-contact { border-top:1px solid #ffffff20; padding-top:18px; }
  .zl2-footer-contact p { margin:0 0 6px; font-size:12px; line-height:1.8; color:#aaa; overflow-wrap:break-word; }
  .zl2-lightbox { box-sizing:border-box; height:100vh; height:100dvh; padding:72px 12px 100px; padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); z-index:2000; }
  .zl2-lightbox:not([open]) { display:none; }
  .zl2-lightbox img { width:auto; max-width:100%; max-height:calc(100vh - 220px); max-height:calc(100dvh - 220px); height:auto; object-fit:contain; touch-action:pan-y pinch-zoom; }
  .zl2-lightbox-counter { max-width:100%; margin-top:16px; font:12px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:0; overflow-wrap:break-word; text-align:center; }
  .zl2-lightbox-close { top:16px; top:calc(16px + env(safe-area-inset-top,0px)); right:16px; }
  .zl2-lightbox-prev,.zl2-lightbox-next { top:auto; bottom:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
  .zl2-lightbox-prev { left:calc(50% - 60px); }
  .zl2-lightbox-next { right:calc(50% - 60px); }
  .zl3-reveal.is-prepared { opacity:1; transform:none; }
  .zl-mobile-case-back { display:inline-flex; align-items:center; justify-self:start; order:-1; gap:9px; min-height:44px; margin:-12px 0 4px; padding:4px 0; font-size:13px; line-height:1.5; color:#666; border:0; }
  .zl-mobile-case-back::before { content:""; width:7px; height:7px; border-left:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }
  .zl-mobile-case-back:active { color:#d31f2d; }
  @media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto!important; }
    .zl2-mobile-nav,.zl2-menu-toggle::before,.zl2-menu-toggle::after { transition:none; }
  }
}

/* mobile-home.css */
/* Phone-only homepage refinements. Load after the existing site styles.
   Content stays in the document; desktop composition and shared chrome are unchanged. */
@media (max-width: 760px) {
  body[data-page="home"] main .container {
    width: calc(100% - 40px);
    max-width: none;
  }

  body[data-page="home"] main > .zl2-section {
    padding-block: 44px;
  }

  body[data-page="home"] main .zl2-eyebrow {
    margin-bottom: 12px;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .1em;
  }

  body[data-page="home"] main :is(.zl2-section, .zl2-home-design) h2 {
    font-size: clamp(24px, 6.4vw, 26px);
    line-height: 1.4;
    letter-spacing: -.035em;
    margin-bottom: 16px;
  }

  body[data-page="home"] main .zl2-section-head {
    display: block;
    margin-bottom: 24px;
  }

  body[data-page="home"] main .zl2-section-head > div:last-child {
    max-width: none;
    margin-top: 14px;
  }

  body[data-page="home"] main .zl2-section-head p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.75;
  }

  body[data-page="home"] main .zl2-section-head .zl2-button {
    min-height: 44px;
    font-size: 13px;
    gap: 18px;
  }

  /* A deliberate picture-led first screen, independent of the phone's height. */
  body[data-page="home"] main > section.zl2-home-hero[data-screen] {
    display: block;
    height: clamp(520px, 140vw, 580px);
    min-height: 0;
    max-height: none;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
  }

  body[data-page="home"] .zl2-home-hero > .zl2-slide {
    position: absolute;
    inset: 0;
    height: 100%;
    min-height: 0;
  }

  body[data-page="home"] .zl2-home-hero > .zl2-slide > .container {
    height: 100%;
    min-height: 0;
    padding-block: 36px 128px;
    justify-content: flex-end;
  }

  body[data-page="home"] .zl2-home-hero .zl2-slide-bg {
    object-fit: cover;
    object-position: 58% center;
  }

  body[data-page="home"] .zl2-home-hero .zl2-slide:nth-child(2) .zl2-slide-bg {
    object-position: 61% center;
  }

  body[data-page="home"] .zl2-home-hero .zl2-slide:nth-child(3) .zl2-slide-bg {
    object-position: 56% center;
  }

  body[data-page="home"] .zl2-home-hero .zl2-slide::after {
    background: linear-gradient(180deg, #1717170a 0%, #17171725 26%, #171717a8 64%, #171717df 100%);
  }

  body[data-page="home"] .zl2-home-hero .zl2-eyebrow {
    margin-bottom: 16px;
    font-size: 9px;
    color: #f1f1f1;
  }

  body[data-page="home"] .zl2-home-hero :is(h1, h2) {
    max-width: 100%;
    margin: 0 0 16px;
    font-size: clamp(28px, 8vw, 34px);
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: -.025em;
    text-wrap: balance;
  }

  body[data-page="home"] .zl2-home-hero .zl2-slide p {
    max-width: 340px;
    margin: 0 0 22px;
    color: #eee;
    font-size: 14px;
    line-height: 1.75;
  }

  body[data-page="home"] .zl2-home-hero .zl2-actions {
    display: flex;
    width: min(100%, 350px);
    gap: 10px;
    flex-wrap: nowrap;
  }

  body[data-page="home"] .zl2-home-hero .zl2-actions .zl2-button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 46px;
    padding: 11px 12px;
    gap: 10px;
    font-size: 12px;
    white-space: nowrap;
  }

  body[data-page="home"] .zl2-home-hero .zl30-hero-controls {
    left: 20px;
    right: auto;
    bottom: 46px;
    max-width: calc(100% - 40px);
    padding: 3px;
    gap: 0;
    background: #17171770;
    border-color: #ffffff35;
  }

  body[data-page="home"] .zl30-hero-controls button,
  body[data-page="home"] .zl30-hero-controls .zl2-hero-pager button {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }

  body[data-page="home"] .zl2-home-hero > .zl2-hero-pager {
    left: 20px;
    right: auto;
    bottom: 48px;
    gap: 8px;
  }

  body[data-page="home"] .zl2-home-hero > .zl2-hero-pager button {
    width: 44px;
    min-height: 44px;
  }

  body[data-page="home"] .zl2-home-hero .zl2-hero-caption {
    left: 20px;
    right: 20px;
    bottom: 17px;
    max-width: none;
    font-size: 8px;
    line-height: 1.5;
    letter-spacing: .03em;
    color: #d5d5d5;
  }

  /* The existing case shell may be moved after the hero by the mobile script. */
  body[data-page="home"] .zl30-home-case-shell > .zl30-card-screen {
    height: auto;
    min-height: 0;
    padding-block: 28px 0;
  }

  body[data-page="home"] .zl30-home-case-shell > .zl30-card-screen.is-first {
    padding-top: 42px;
  }

  body[data-page="home"] .zl30-home-case-shell > .zl30-card-screen:last-child {
    padding-bottom: 44px;
  }

  body[data-page="home"] .zl30-home-case-shell .zl30-screen-inner {
    height: auto;
    min-height: 0;
    gap: 22px;
  }

  body[data-page="home"] .zl30-home-case-shell .zl30-row-heading,
  body[data-page="home"] .zl30-home-case-shell .zl2-section-head p {
    display: none;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-section-head {
    margin-bottom: 0;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-section-head h2 {
    margin-bottom: 0;
    font-size: clamp(24px, 6.4vw, 26px);
    line-height: 1.4;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-section-head > div:last-child {
    margin-top: 10px;
  }

  body[data-page="home"] .zl30-home-case-shell .zl30-project-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100% !important;
    margin: 0;
    gap: 28px !important;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project {
    padding: 0;
    border: 0;
    background: transparent;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-image {
    width: 100%;
    aspect-ratio: 4 / 3 !important;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    aspect-ratio: 4 / 3 !important;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-image > span {
    bottom: 12px;
    right: 12px;
    padding: 8px 11px;
    font-size: 11px;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-heading {
    align-items: flex-start;
    gap: 12px;
    margin: 14px 0 7px;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-heading > a {
    flex: 1;
    min-width: 0;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project-heading h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: -.025em;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-project > p {
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-tags {
    margin: 8px 0 0;
    padding: 0;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-tags a {
    padding-block: 3px;
    font-size: 11px;
    line-height: 1.6;
  }

  body[data-page="home"] .zl30-home-case-shell .zl2-tags a:not(:first-child) {
    display: none;
  }

  /* Services retain the four manual tabs and both useful destination links. */
  body[data-page="home"] .zl2-dark .zl2-section-head p,
  body[data-page="home"] .zl5-service-kicker {
    display: none;
  }

  body[data-page="home"] .zl5-service-tabs {
    margin-bottom: 20px;
  }

  body[data-page="home"] .zl5-service-tabs > button {
    min-height: 48px;
    padding: 10px 3px 13px;
    font-size: 14px;
  }

  body[data-page="home"] .zl5-service-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  body[data-page="home"] .zl5-service-visual > img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  body[data-page="home"] .zl5-service-copy h3 {
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 1.45;
  }

  body[data-page="home"] .zl5-service-copy > p {
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.75;
  }

  body[data-page="home"] .zl5-service-scope {
    margin-bottom: 14px;
    font-size: 12px;
  }

  body[data-page="home"] .zl5-service-actions {
    gap: 8px 18px;
  }

  body[data-page="home"] .zl5-service-actions :is(.zl2-button, .zl5-service-link) {
    min-height: 44px;
    font-size: 13px;
  }

  /* Short editorial sections: one clear image, concise copy, native links. */
  body[data-page="home"] .zl2-about-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }

  body[data-page="home"] .zl2-about-grid > figure {
    order: -1;
  }

  body[data-page="home"] .zl2-about-grid figure > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  body[data-page="home"] .zl2-about-grid figcaption {
    position: static;
    max-width: none;
    margin: 0;
    padding: 15px 16px;
    gap: 5px;
  }

  body[data-page="home"] .zl2-about-grid figcaption strong {
    font-size: 16px;
  }

  body[data-page="home"] .zl2-about-grid > div > .zl2-lead {
    margin-bottom: 12px;
    font-size: 18px !important;
    line-height: 1.55 !important;
  }

  body[data-page="home"] .zl2-about-grid > div > p:not(.zl2-lead) {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.75;
  }

  body[data-page="home"] .zl2-about-grid > div > p:nth-of-type(3) {
    display: none;
  }

  body[data-page="home"] .zl2-about-grid .zl2-button {
    margin-top: 8px;
    min-height: 46px;
    font-size: 13px;
  }

  body[data-page="home"] .zl2-process-section .zl2-section-head p {
    display: none;
  }

  body[data-page="home"] .zl20-process-visuals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body[data-page="home"] .zl20-process-visuals > a {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  body[data-page="home"] .zl20-process-visuals > a::after {
    background: linear-gradient(180deg, transparent 25%, #000c 100%);
  }

  body[data-page="home"] .zl20-process-visuals > a > div {
    inset: auto 13px 15px;
  }

  body[data-page="home"] .zl20-process-visuals h3 {
    margin: 9px 0 0;
    font-size: clamp(17px, 4.5vw, 21px);
    line-height: 1.45;
  }

  body[data-page="home"] .zl20-process-visuals p {
    display: none;
  }

  body[data-page="home"] .zl20-process-visuals b {
    font-size: 18px;
  }

  body[data-page="home"] main > .zl2-home-design {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  body[data-page="home"] .zl2-home-design-photo > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: 56% center;
  }

  body[data-page="home"] .zl2-home-design-copy {
    min-width: 0;
    padding: 30px 20px 26px;
  }

  body[data-page="home"] .zl2-home-design-copy > p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.75;
  }

  body[data-page="home"] .zl2-design-links > a {
    padding-block: 17px;
    gap: 6px 12px;
  }

  body[data-page="home"] .zl2-design-links strong {
    font-size: 18px;
    line-height: 1.5;
  }

  body[data-page="home"] .zl2-design-links small {
    font-size: 12px;
    line-height: 1.6;
  }

  body[data-page="home"] .zl2-build-feature {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  body[data-page="home"] .zl2-build-feature > figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  body[data-page="home"] .zl2-build-feature figcaption {
    padding: 12px 15px;
    font-size: 11px;
  }

  body[data-page="home"] .zl2-build-feature > div > a {
    gap: 13px;
    padding-block: 18px;
  }

  body[data-page="home"] .zl2-build-feature > div > a > div {
    min-width: 0;
  }

  body[data-page="home"] .zl2-build-feature h3 {
    margin: 0 0 5px;
    font-size: 18px;
    line-height: 1.5;
  }

  body[data-page="home"] .zl2-build-feature p {
    font-size: 13px;
    line-height: 1.75;
  }

  /* A compact news list complements the larger project photography above. */
  body[data-page="home"] .zl2-home-news .zl2-news-card:not(:first-child) {
    display: none;
  }
  body[data-page="home"] .zl2-home-news .zl2-section-head p {
    display: none;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-card {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    gap: 7px 15px;
    padding: 20px 0;
    border-top: 1px solid #dcdcdc;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-image {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: start;
    width: 104px;
    aspect-ratio: 4 / 3;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-meta {
    grid-column: 2;
    margin: 0;
    gap: 5px;
    font-size: 10px;
    line-height: 1.5;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-card h3 {
    grid-column: 2;
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    letter-spacing: -.025em;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-card h3 a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-card > p {
    display: none;
  }

  body[data-page="home"] .zl2-home-news .zl2-news-card > .zl2-text-link {
    display: inline-flex;
    align-items: center;
    grid-column: 2;
    justify-self: start;
    min-height: 44px;
    margin: 0;
    padding: 0;
    font-size: 12px;
  }
}

/* mobile-cases.css */
/* Phone layouts for case browsing. Loaded after the approved desktop styles. */
@media (max-width: 760px) {
  body[data-page="cases"],
  body[data-page="case-static"] {
    --zl30-gutter: 16px;
  }

  body:is([data-page="cases"], [data-page="case-static"]) main .container {
    width: calc(100% - 32px);
    min-width: 0;
  }

  /* Keep the index header compact, with useful touch targets. */
  body[data-page="cases"] .zl30-card-screen {
    height: auto;
    min-height: 0;
    padding: 0 0 28px;
  }

  body[data-page="cases"] .zl30-card-screen.is-first {
    padding-top: 24px;
  }

  body[data-page="cases"] .zl30-screen-inner {
    height: auto;
    min-height: 0;
    gap: 0;
  }

  body[data-page="cases"] .zl30-list-header {
    margin: 0 0 20px;
    padding: 0 0 16px;
  }

  body[data-page="cases"] .zl30-list-header .zl2-page-intro {
    padding: 0 0 12px !important;
  }

  body[data-page="cases"] .zl30-list-header .zl2-page-intro .container {
    width: 100%;
  }

  body[data-page="cases"] .zl30-list-header .zl2-breadcrumb {
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 1.5;
  }

  body[data-page="cases"] .zl30-list-header .zl2-page-intro h1 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.35;
    letter-spacing: 0;
  }

  body[data-page="cases"] .zl30-list-header .zl2-page-intro p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
  }

  body[data-page="cases"] .zl30-list-header .zl2-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 0;
  }

  body[data-page="cases"] .zl30-list-header .zl2-filter-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 8px;
    width: 100%;
    min-width: 0;
  }

  body[data-page="cases"] .zl30-list-header .zl2-filter-tabs button {
    min-width: 0;
    min-height: 44px;
    padding: 10px 0;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0;
    white-space: nowrap;
  }

  body[data-page="cases"] .zl30-list-header .zl2-search {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: none;
    min-height: 44px;
    margin: 0;
    padding: 0;
  }

  body[data-page="cases"] .zl30-list-header .zl2-search > span {
    flex: none;
    font-size: 12px;
    line-height: 1.5;
  }

  body[data-page="cases"] .zl30-list-header .zl2-search input {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: 44px;
    padding: 10px 0;
    font-size: 16px;
    line-height: 24px;
  }

  body[data-page="cases"] .zl5-city-field {
    display: none !important;
  }

  body[data-page="cases"] .zl30-list-header .zl2-result-count {
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.5;
  }

  body[data-page="cases"] .zl30-list-header .zl2-filter-empty {
    margin: 18px 0 0;
    font-size: 15px;
    line-height: 1.75;
  }

  body[data-page="cases"] .zl30-row-heading {
    display: none;
  }

  /* Image-led cards, without the inset desktop frames. */
  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 28px !important;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row > .zl2-project {
    padding: 0;
    border: 0;
    background: transparent;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project-image {
    height: auto !important;
    aspect-ratio: auto !important;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project-image img {
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    transform: none;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project-heading {
    gap: 10px;
    margin: 12px 0 6px;
    align-items: start;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl2-project-heading > a {
    min-width: 0;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project-heading h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.45;
    letter-spacing: 0;
    word-break: normal;
    overflow-wrap: normal;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project > p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.65;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-project > p > span {
    font-size: 12px;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-tags {
    margin: 0;
    padding: 0;
    gap: 6px 14px;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl2-tags a {
    font-size: 12px;
    line-height: 1.75;
    word-break: normal;
    overflow-wrap: normal;
  }

  body:is([data-page="cases"], [data-page="case-static"]) .zl30-project-row .zl2-tags a:nth-child(n+3) {
    display: none;
  }

  body[data-page="cases"] .zl40-pagination {
    gap: 8px 18px;
    margin-top: 24px;
    padding-top: 12px;
  }

  body[data-page="cases"] .zl40-pagination button {
    min-height: 44px;
    font-size: 14px;
  }

  body[data-page="cases"] .zl40-page-status {
    font-size: 12px;
  }

  /* The title introduces the image collage before the descriptive details. */
  body[data-page="case-static"] .zl4-case-top {
    display: block;
    height: auto;
    min-height: 0;
    padding: 24px 0 32px;
  }

  body[data-page="case-static"] .zl4-case-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: start;
  }

  body[data-page="case-static"] .zl4-case-copy {
    display: contents;
  }

  body[data-page="case-static"] .zl4-case-copy > .zl2-eyebrow {
    order: 0;
    margin: 0 0 10px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
  }

  body[data-page="case-static"] .zl4-case-copy h1 {
    order: 1;
    margin: 0 0 20px;
    padding-left: 12px;
    border-left-width: 3px;
    font-size: 28px;
    line-height: 1.4;
    letter-spacing: 0;
    word-break: normal;
    overflow-wrap: normal;
  }

  body[data-page="case-static"] .zl4-case-mosaic {
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0 0 22px;
  }

  body[data-page="case-static"] .zl4-case-mosaic figure {
    min-width: 0;
    margin: 0;
  }

  body[data-page="case-static"] .zl4-case-mosaic figure:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
  }

  body[data-page="case-static"] .zl4-case-mosaic figure:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  body[data-page="case-static"] .zl4-case-mosaic figure:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
  }

  body[data-page="case-static"] .zl4-case-mosaic.has-2 figure:nth-child(2) {
    grid-column: 1 / -1;
  }

  body[data-page="case-static"] .zl4-case-mosaic .zl2-gallery-open {
    display: block;
    width: 100%;
    height: auto;
    padding: 0;
    border: 0;
  }

  body[data-page="case-static"] .zl4-case-mosaic img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto !important;
    object-fit: contain;
    transform: none;
  }

  body[data-page="case-static"] .zl4-case-copy > p {
    order: 3;
    max-width: none;
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.8;
  }

  body[data-page="case-static"] .zl4-case-copy dl {
    order: 4;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 16px 0;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    font-size: 15px;
    line-height: 1.7;
  }

  body[data-page="case-static"] .zl4-case-copy dl > div {
    display: grid;
    grid-template-columns: 5em minmax(0, 1fr);
    gap: 8px;
    line-height: 1.7;
  }

  body[data-page="case-static"] .zl4-case-copy dd {
    margin: 0;
    min-width: 0;
    word-break: normal;
    overflow-wrap: normal;
  }

  body[data-page="case-static"] .zl4-case-copy > .zl2-tags {
    order: 5;
    margin: 14px 0 0;
    gap: 6px 14px;
  }

  body[data-page="case-static"] .zl4-case-jumps {
    order: 6;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 0;
  }

  body[data-page="case-static"] .zl4-case-jumps > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid #252525;
    background: #252525;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    white-space: nowrap;
  }

  body[data-page="case-static"] .zl4-case-jumps > a:last-child {
    background: transparent;
    color: #252525;
  }

  body[data-page="case-static"] .zl4-case-jumps > a > span {
    display: inline;
    width: auto;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    white-space: nowrap;
  }

  body[data-page="case-static"] .zl4-case-jumps > a > span:first-child {
    flex: none;
    font-size: 18px;
  }

  /* Full images retain their proportions and share an even vertical rhythm. */
  body[data-page="case-static"] .zl30-gallery-screen {
    height: auto;
    min-height: 0;
    gap: 20px;
    padding: 0 0 20px;
  }

  body[data-page="case-static"] .zl30-gallery-header .zl2-section-head {
    display: block;
    margin: 0 0 18px;
  }

  body[data-page="case-static"] .zl30-gallery-header .zl2-section-head > div:last-child {
    margin-top: 8px;
  }

  body[data-page="case-static"] .zl30-gallery-header .zl2-eyebrow,
  body[data-page="case-static"] .zl30-related-screen .zl2-eyebrow {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl2-section-head h2,
  body[data-page="case-static"] .zl30-related-screen .zl2-section-head h2 {
    margin: 0;
    font-size: 26px;
    line-height: 1.4;
  }

  body[data-page="case-static"] .zl30-gallery-header .zl2-section-head p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl5-gallery-intro > p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.8;
  }

  body[data-page="case-static"] .zl5-project-notes summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    min-height: 44px;
    font-size: 15px;
    line-height: 1.6;
  }

  body[data-page="case-static"] .zl5-project-notes summary > span:first-child {
    font-size: inherit;
    transform: none;
  }

  body[data-page="case-static"] .zl5-project-notes summary > span:last-child {
    flex: none;
    font-size: 19px;
  }

  body[data-page="case-static"] .zl5-brief-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  body[data-page="case-static"] .zl5-brief-grid h3 {
    font-size: 18px;
    line-height: 1.5;
  }

  body[data-page="case-static"] .zl5-brief-grid p {
    font-size: 15px;
    line-height: 1.8;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl30-area-note {
    margin: 12px 0 0;
    font-size: 12px !important;
    line-height: 1.7;
  }

  body[data-page="case-static"] .zl30-gallery-screen > .zl30-row-heading {
    display: none;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl4-gallery-bleed {
    width: calc(100% - 32px);
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px !important;
    margin: 0 auto;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl2-gallery-tile {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl2-gallery-open {
    height: auto !important;
    max-height: none;
    aspect-ratio: auto !important;
    padding: 0;
    border: 0;
  }

  body[data-page="case-static"] .zl30-gallery-screen .zl2-gallery-open img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    transform: none;
  }

  body[data-page="case-static"] .zl30-gallery-screen figcaption {
    min-height: 0;
    padding: 8px 0 0;
    gap: 12px;
    font-size: 12px;
    line-height: 1.6;
  }

  body[data-page="case-static"] .zl30-related-screen {
    height: auto;
    min-height: 0;
    padding: 20px 0 32px;
  }

  body[data-page="case-static"] .zl30-related-screen .zl30-screen-inner {
    height: auto;
    min-height: 0;
    gap: 20px;
  }
}

/* mobile-inner.css */
/* Compact phone layouts for the design, EPC and service pages. */
@media (max-width:760px) {
  body:is([data-page="design"],[data-page="epc"],[data-page="services"]) main>section[data-screen] {
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    scroll-margin-top:80px;
  }
  body:is([data-page="design"],[data-page="epc"],[data-page="services"]) main :is(.container,.zl2-wrap) {
    box-sizing:border-box;
    width:calc(100% - 40px);
    max-width:none;
    margin-inline:auto;
  }
  body:is([data-page="design"],[data-page="epc"],[data-page="services"]) main :is(h1,.page-title),
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-copy h1,
  body.zl30-services .zl30-service-hero .page-title {
    font-size:28px!important;
    font-weight:500;
    line-height:1.4!important;
    letter-spacing:0!important;
  }
  body:is([data-page="design"],[data-page="epc"],[data-page="services"]) main h2 {
    font-size:24px!important;
    font-weight:500;
    line-height:1.45!important;
    letter-spacing:0;
  }
  body:is([data-page="design"],[data-page="epc"],[data-page="services"]) main :is(.zl2-eyebrow,.kicker) {
    font-size:10px;
    line-height:1.6;
    letter-spacing:.09em;
    margin:0 0 10px;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-section {
    display:block;
    padding:32px 0!important;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro {
    display:block;
    padding:94px 0 0!important;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-copy {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-copy h1 { margin:0; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-copy>p {
    max-width:none;
    padding:0;
    margin:0;
    font-size:14px;
    line-height:1.75;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-chapter-nav {
    gap:4px 20px;
    margin:20px 0 18px;
    padding-top:10px;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-chapter-nav>a { min-height:40px; gap:7px; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-chapter-nav>a>span:last-of-type { font-family:inherit; font-size:14px; color:inherit; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-image { margin:0; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-intro-image img {
    display:block;
    width:100%;
    height:auto!important;
    aspect-ratio:16/10;
    object-fit:cover;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-section-head {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    margin:0 0 22px;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-section-head>div { margin:0; justify-self:stretch; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-section-head h2 { margin:0; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-section-head .zl2-lead {
    max-width:none;
    padding:0;
    margin:0;
    font-size:14px!important;
    line-height:1.75!important;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-inline-note {
    display:flex;
    gap:10px;
    margin:20px 0 0;
    padding:16px 0 0;
    border-top:1px solid var(--zl2-line,#dedede);
    border-bottom:0;
  }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-inline-note>span { font-size:15px; line-height:1.6; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-inline-note>p { flex-basis:100%; margin:0; font-size:14px; line-height:1.75; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-button { min-height:44px; padding:10px 16px; font-size:14px; gap:24px; }
  body:is([data-page="design"],[data-page="epc"]) .zl2-specialist .zl2-photo figcaption { margin:0; padding-top:10px; font-size:12px; line-height:1.65; }

  /* The EPC link and the next heading share a normal section gap. */
  body[data-page="design"] .zl2-specialist #whole-design { padding-bottom:20px!important; }
  body[data-page="design"] .zl2-specialist .zl30-design-stage { padding-top:24px!important; }
  body[data-page="design"] .zl2-specialist #whole-design .zl2-feature {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    margin:0;
  }
  body[data-page="design"] .zl2-specialist #whole-design .zl2-feature>.zl2-photo { order:-1; margin:0; height:auto; }
  body[data-page="design"] .zl2-specialist #whole-design .zl2-feature>.zl2-photo img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  body[data-page="design"] .zl2-specialist .zl2-feature-copy h3 { font-size:20px; line-height:1.5; margin:0 0 10px; }
  body[data-page="design"] .zl2-specialist .zl2-feature-copy>p { margin:0; font-size:14px; line-height:1.75; }
  body[data-page="design"] .zl2-specialist .zl2-feature-copy>p+p,
  body[data-page="design"] .zl2-specialist .zl2-feature .zl2-photo figcaption { display:none; }
  body[data-page="design"] .zl2-specialist .zl2-tags { margin:12px 0 0; gap:4px 14px; }
  body[data-page="design"] .zl2-specialist .zl2-tags>a { padding:5px 0; font-size:12px; line-height:1.7; }
  body[data-page="design"] .zl30-design-cards { grid-template-columns:minmax(0,1fr); gap:26px; }
  body[data-page="design"] .zl30-design-cards article { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px 8px; border:0; }
  body[data-page="design"] .zl30-design-cards article>figure { grid-column:1/-1; margin:0 0 6px; }
  body[data-page="design"] .zl30-design-cards img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  body[data-page="design"] .zl30-design-cards article>.zl2-row-no { align-self:center; font-size:12px; }
  body[data-page="design"] .zl30-design-cards h3 { margin:0; font-size:20px; font-weight:500; line-height:1.5; }
  body[data-page="design"] .zl30-design-cards article>div { grid-column:1/-1; }
  body[data-page="design"] .zl30-design-cards p { margin:0; font-size:14px; line-height:1.75; }
  body[data-page="design"] .zl30-design-cards .zl2-deliverable { display:none; }

  /* EPC keeps the image, service title and its short explanation together. */
  body[data-page="epc"] .zl2-specialist .zl2-value-feature { gap:22px; }
  body[data-page="epc"] .zl2-specialist .zl2-epc-mark { font-size:48px; }
  body[data-page="epc"] .zl2-specialist .zl2-value-feature .zl2-editorial-rows>article { gap:8px 12px; padding:18px 0; }
  body[data-page="epc"] .zl2-specialist .zl2-value-feature .zl2-editorial-rows h3 { margin:0; font-size:19px; }
  body[data-page="epc"] .zl2-specialist .zl2-editorial-rows p { font-size:14px; line-height:1.75; margin:0; }
  body[data-page="epc"] .zl2-specialist .zl2-editorial-rows .zl2-deliverable { display:none; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines { grid-template-columns:minmax(0,1fr); gap:26px; border:0; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines>article { position:relative; min-width:0; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines figure { margin:0 0 14px; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines .zl2-discipline-letter { float:right; margin:0 0 0 12px; font-size:30px; line-height:1.2; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines .zl2-eyebrow { display:none; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines h3 { margin:0 0 8px; font-size:20px; line-height:1.5; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines p:not(.zl2-eyebrow) { margin:0; max-width:none; font-size:14px; line-height:1.75; }
  body[data-page="epc"] .zl2-specialist .zl30-epc-disciplines ul { display:none; }
  body[data-page="epc"] .zl2-specialist .zl2-journey { margin:0!important; }
  body[data-page="epc"] .zl2-specialist .zl2-journey li { padding:18px 0; gap:7px 12px; }
  body[data-page="epc"] .zl2-specialist .zl2-journey h3 { font-size:19px; }
  body[data-page="epc"] .zl2-specialist .zl2-journey p { font-size:14px; line-height:1.75; margin:0; }
  body[data-page="epc"] .zl2-specialist .zl2-journey small { display:none; }
  body[data-page="epc"] .zl2-specialist .zl2-process-story { gap:18px; }
  body[data-page="epc"] .zl2-specialist .zl2-process-story h3 { font-size:22px; line-height:1.5; margin:0 0 12px; }
  body[data-page="epc"] .zl2-specialist .zl2-process-story p:not(.zl2-eyebrow) { margin:0; font-size:14px; line-height:1.75; }
  body[data-page="epc"] .zl2-specialist .zl2-process-story .zl2-photo img { aspect-ratio:16/10; }
  body[data-page="epc"] .zl2-specialist .zl2-process-story .zl2-button { margin-top:16px; }
  body[data-page="epc"] .zl-final-faq-heading { margin-bottom:22px; }
  body[data-page="epc"] .zl-final-faq-heading h2 { margin:0; }
  body[data-page="epc"] .zl-final-faq-heading>p { margin-top:12px; font-size:14px; line-height:1.75; }
  body[data-page="epc"] .zl-final-faq-grid article { padding:18px; }
  body[data-page="epc"] .zl-final-faq-index { margin-bottom:12px; }
  body[data-page="epc"] .zl-final-faq-grid h3 { font-size:18px; line-height:1.55; margin-bottom:10px; }
  body[data-page="epc"] .zl-final-faq-grid p { font-size:14px; line-height:1.75; }
  body[data-page="epc"] .zl40-budget { gap:20px; }
  body[data-page="epc"] .zl40-budget figure img { aspect-ratio:16/10; }
  body[data-page="epc"] .zl40-budget h2 { margin:0 0 12px; }
  body[data-page="epc"] .zl40-budget .zl40-intro { margin:0; font-size:14px; line-height:1.75; }
  body[data-page="epc"] .zl40-budget-lines { margin:18px 0; }
  body[data-page="epc"] .zl40-budget-lines article { grid-template-columns:24px minmax(0,1fr); gap:12px; padding:14px 0; }
  body[data-page="epc"] .zl40-budget-lines h3 { font-size:18px; line-height:1.5; }
  body[data-page="epc"] .zl40-budget-lines p { font-size:14px; line-height:1.75; }

  /* Service overview: shorter image cards and a compact six-item scope. */
  body.zl30-services main>section:not(.zl30-service-hero) { display:block; padding-block:32px!important; }
  body.zl30-services .zl30-service-hero { min-height:0!important; }
  body.zl30-services .zl30-service-hero>.container { padding-block:118px 44px!important; }
  body.zl30-services .zl30-service-hero .breadcrumbs { margin-bottom:15px; font-size:12px; }
  body.zl30-services .zl30-service-hero .page-subtitle { margin-top:15px; max-width:none; font-size:14px; line-height:1.75; }
  body.zl30-services .zl30-service-row-head { gap:14px; margin-bottom:20px; align-items:center; }
  body.zl30-services .zl30-service-row-head h2 { font-size:23px!important; }
  body.zl30-services .zl30-service-row-number { font-size:10px; }
  body.zl30-services .zl30-service-row { gap:20px; }
  body.zl30-services .zl30-service-row .service-card,
  body.zl30-services #all-services .service-card { height:auto; min-height:0; aspect-ratio:4/3; }
  body.zl30-services .zl30-service-row .service-card:after { background:linear-gradient(180deg,#10101000 30%,#101010b8 100%); }
  body.zl30-services .zl30-service-row .service-card-content { inset:auto 18px 18px; }
  body.zl30-services .zl30-service-row .service-card h3 { margin:0 0 7px; font-size:21px; line-height:1.45; }
  body.zl30-services .zl30-service-row .service-card .service-tags { font-size:12px; line-height:1.65; }
  body.zl30-services .zl30-service-row .service-card :is(.service-no,p) { display:none; }
  body.zl30-services .zl30-service-note { padding:4px 0 0; }
  body.zl30-services .zl30-service-note h3 { font-size:22px; margin:0 0 12px; }
  body.zl30-services .zl30-service-note p { margin:0 0 18px; font-size:14px; line-height:1.75; }
  body.zl30-services .zl30-service-note .geo-related a { padding:13px 0; }
  body.zl30-services .zl30-service-note .geo-related span { font-size:13px; line-height:1.7; }
  body.zl30-services :is(.zl30-service-scope,.zl30-service-professionals) .section-head { gap:12px!important; margin:0 0 22px!important; }
  body.zl30-services :is(.zl30-service-scope,.zl30-service-professionals) .section-head .section-lead { margin:0; font-size:14px; line-height:1.75; }
  body.zl30-services .zl30-service-scope .scope-premium-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  body.zl30-services .zl30-service-scope .scope-premium-intro { padding:0 18px 18px; border-top:0; min-width:0; }
  body.zl30-services .zl30-service-scope .zl30-scope-photo { margin:0 -18px 16px; }
  body.zl30-services .zl30-service-scope .zl30-scope-photo img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  body.zl30-services .zl30-service-scope .scope-premium-intro>small { display:none; }
  body.zl30-services .zl30-service-scope .scope-premium-intro h3 { font-size:21px!important; font-weight:500; line-height:1.5; margin:0; }
  body.zl30-services .zl30-service-scope .scope-premium-intro>p,
  body.zl30-services .zl30-service-scope .scope-premium-highlights { display:none; }
  body.zl30-services .zl30-service-scope .scope-premium-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
  body.zl30-services .zl30-service-scope .scope-premium-grid>span { min-width:0; min-height:0; padding:15px 12px; justify-content:flex-start; }
  body.zl30-services .zl30-service-scope .scope-premium-grid strong { font-size:17px; font-weight:500; line-height:1.5; margin:0 0 5px; }
  body.zl30-services .zl30-service-scope .scope-premium-grid small { max-width:none; font-size:13px; line-height:1.6; }
  body.zl30-services .zl30-service-professionals .professional-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px!important; }
  body.zl30-services .zl30-service-professionals .professional-grid article { min-width:0; min-height:0; padding:0 0 14px!important; }
  body.zl30-services .zl30-service-professionals .professional-grid figure { margin:0 0 12px; }
  body.zl30-services .zl30-service-professionals .professional-grid img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  body.zl30-services .zl30-service-professionals .professional-grid article>b { display:none; }
  body.zl30-services .zl30-service-professionals .professional-grid h3 { margin:0 12px 7px!important; font-size:17px!important; font-weight:500; line-height:1.5; }
  body.zl30-services .zl30-service-professionals .professional-grid p { margin:0 12px; font-size:14px!important; line-height:1.7!important; }
  body[data-page="contact"] .zl30-contact-intro h1 { font-size:28px!important; line-height:1.4!important; }
  body[data-page="contact"] main h2 { font-size:24px!important; line-height:1.45!important; }
}

/* mobile-construction.css */
/* Construction: compact, readable phone chapters; desktop styles are untouched. */
@media (max-width:760px) {
  body[data-page="construction"] .zl2-specialist>section[data-screen] {
    display:block;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    scroll-margin-top:80px;
  }
  body[data-page="construction"] .zl2-specialist .zl2-wrap {
    box-sizing:border-box;
    width:calc(100% - 40px);
    max-width:none;
    margin-inline:auto;
  }
  body[data-page="construction"] .zl2-specialist .zl2-intro { padding:30px 0 0!important; }
  body[data-page="construction"] .zl2-specialist .zl2-section { padding:32px 0!important; }
  body[data-page="construction"] .zl2-specialist .zl2-intro-copy {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  body[data-page="construction"] .zl2-specialist .zl2-intro-copy h1 {
    margin:0;
    font-size:28px!important;
    font-weight:500;
    line-height:1.4!important;
    letter-spacing:0;
  }
  body[data-page="construction"] .zl2-specialist .zl2-intro-copy>p {
    max-width:none;
    margin:0;
    padding:0;
    font-size:14px;
    line-height:1.75;
  }
  body[data-page="construction"] .zl2-specialist .zl2-eyebrow {
    margin:0 0 10px;
    font-size:10px;
    line-height:1.6;
    letter-spacing:.08em;
  }
  body[data-page="construction"] .zl2-specialist .zl2-chapter-nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
    margin:20px 0;
    padding:6px 0 0;
  }
  body[data-page="construction"] .zl2-specialist .zl2-chapter-nav>a {
    display:grid;
    grid-template-columns:18px minmax(0,1fr) 12px;
    align-items:center;
    gap:6px;
    min-width:0;
    min-height:48px;
    padding:6px 0;
    border-bottom:1px solid var(--zl2-line,#dedede);
  }
  body[data-page="construction"] .zl2-specialist .zl2-chapter-nav>a>span:first-child { font-size:10px; color:var(--zl2-red,#d9232d); }
  body[data-page="construction"] .zl2-specialist .zl2-chapter-nav>a>span:last-of-type { font-family:inherit; font-size:13px; line-height:1.5; color:inherit; }
  body[data-page="construction"] .zl2-specialist .zl2-chapter-nav>a>b { margin:0; font-size:14px; text-align:right; }
  body[data-page="construction"] .zl2-specialist .zl2-intro-image { width:100%; margin:0; }
  body[data-page="construction"] .zl2-specialist .zl2-intro-image img {
    display:block;
    width:100%;
    height:auto!important;
    aspect-ratio:16/10;
    object-fit:cover;
  }
  body[data-page="construction"] .zl2-specialist .zl2-section-head {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    margin:0 0 22px;
  }
  body[data-page="construction"] .zl2-specialist h2 {
    margin:0;
    font-size:24px!important;
    font-weight:500;
    line-height:1.45;
    letter-spacing:0;
  }
  body[data-page="construction"] .zl2-specialist .zl2-section-head .zl2-lead {
    max-width:none;
    margin:0;
    padding:0;
    font-size:14px!important;
    line-height:1.75!important;
  }
  body[data-page="construction"] .zl2-specialist .zl2-management-layout,
  body[data-page="construction"] .zl2-specialist .zl2-material-layout,
  body[data-page="construction"] .zl2-specialist .zl2-aftercare-layout {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  body[data-page="construction"] .zl2-specialist .zl2-large-statement h3,
  body[data-page="construction"] .zl2-specialist .zl2-aftercare-layout>div>h3 { margin:0 0 12px; font-size:21px; line-height:1.5; }
  body[data-page="construction"] .zl2-specialist .zl2-large-statement>p,
  body[data-page="construction"] .zl2-specialist .zl2-aftercare-layout>div>p:not(.zl2-eyebrow) { max-width:none; margin:0; font-size:14px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist .zl2-button { min-height:44px; padding:10px 14px; font-size:14px; }
  body[data-page="construction"] .zl2-specialist .zl2-large-statement>.zl2-button { margin-top:16px; }
  body[data-page="construction"] .zl2-specialist .zl2-timeline,
  body[data-page="construction"] .zl2-specialist .zl2-material-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 18px;
    border-top:1px solid var(--zl2-line,#dedede);
  }
  body[data-page="construction"] .zl2-specialist .zl2-timeline>article { display:block; min-width:0; padding:16px 0; }
  body[data-page="construction"] .zl2-specialist .zl2-timeline>article>span { display:block; padding:0; margin-bottom:6px; font-size:11px; }
  body[data-page="construction"] .zl2-specialist .zl2-material-list article { min-width:0; padding:16px 0; }
  body[data-page="construction"] .zl2-specialist .zl2-timeline h3,
  body[data-page="construction"] .zl2-specialist .zl2-material-list h3 { font-size:17px; line-height:1.5; margin:0 0 7px; }
  body[data-page="construction"] .zl2-specialist .zl2-timeline p,
  body[data-page="construction"] .zl2-specialist .zl2-material-list p { margin:0; font-size:13px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist .zl2-timeline small,
  body[data-page="construction"] .zl2-specialist .zl2-material-list small { margin-top:7px; font-size:12px; line-height:1.65; color:#777; }
  body[data-page="construction"] .zl2-specialist .zl2-document-strip { margin-top:20px; padding:16px; }
  body[data-page="construction"] .zl2-specialist .zl2-document-strip>span { font-size:13px; margin-bottom:5px; }
  body[data-page="construction"] .zl2-specialist .zl2-document-strip>p { margin:0; font-size:12px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist .zl2-photo,
  body[data-page="construction"] .zl2-specialist .zl20-aftercare-photo { margin:0; }
  body[data-page="construction"] .zl2-specialist .zl2-material-image img,
  body[data-page="construction"] .zl2-specialist .zl20-aftercare-photo img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
  body[data-page="construction"] .zl2-specialist .zl2-photo figcaption { margin:0; padding-top:8px; font-size:12px; line-height:1.6; }
  body[data-page="construction"] .zl2-specialist .zl2-inline-note { display:block; margin:20px 0 0; padding:16px 0 0; border-bottom:0; }
  body[data-page="construction"] .zl2-specialist .zl2-inline-note>span { font-size:15px; line-height:1.6; }
  body[data-page="construction"] .zl2-specialist .zl2-inline-note>p { margin:6px 0 0; font-size:13px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist #team .zl2-team-visuals { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 22px; }
  body[data-page="construction"] .zl2-specialist #team .zl2-team-visuals img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  body[data-page="construction"] .zl2-specialist .zl2-editorial-rows>article { grid-template-columns:24px minmax(0,1fr); gap:7px 10px; padding:17px 0; }
  body[data-page="construction"] .zl2-specialist .zl2-editorial-rows h3 { margin:0; padding:0; font-size:18px; line-height:1.5; }
  body[data-page="construction"] .zl2-specialist .zl2-editorial-rows p { margin:0; font-size:14px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist .zl2-deliverable { margin-top:6px; font-size:12px; line-height:1.65; }
  body[data-page="construction"] .zl2-specialist .zl2-subtle-note { margin:18px 0 0!important; font-size:13px; line-height:1.75; }
  body[data-page="construction"] .zl2-specialist .zl20-aftercare-photo { margin-bottom:22px; }
  body[data-page="construction"] .zl2-specialist .zl2-service-phone { margin-top:18px; padding-top:16px; gap:4px 16px; }
  body[data-page="construction"] .zl2-specialist .zl2-service-phone>span { font-size:12px; }
  body[data-page="construction"] .zl2-specialist .zl2-service-phone>strong { font-size:24px; }
  body[data-page="construction"] .zl2-specialist .zl2-handover { padding:18px; }
  body[data-page="construction"] .zl2-specialist .zl2-aftercare-layout .zl2-handover h3 { font-size:20px; margin:0 0 12px; }
  body[data-page="construction"] .zl2-specialist .zl2-handover ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:0; }
  body[data-page="construction"] .zl2-specialist .zl2-handover li { padding:12px 0; min-width:0; }
  body[data-page="construction"] .zl2-specialist .zl2-handover strong { font-size:14px; }
  body[data-page="construction"] .zl2-specialist .zl2-handover li span { font-size:12px; line-height:1.7; }
  body[data-page="construction"] .zl2-specialist .zl2-service-flow { margin-top:22px; padding:16px 0; gap:12px; font-size:12px; }
  body[data-page="construction"] .zl2-specialist .zl2-next { margin-top:28px; padding-top:24px; gap:18px; }
  body[data-page="construction"] .zl2-specialist .zl2-next h2 { font-size:22px!important; }
  body[data-page="construction"] .zl2-specialist .zl2-next p:not(.zl2-eyebrow) { font-size:14px; line-height:1.75; margin-top:10px; }
}
