/* eschei â€” mobile drawer + motion + dense home */
@media (max-width:768px){
  .es-nav{
    z-index:130;
    padding:.45rem .85rem;
    padding-top:calc(.45rem + env(safe-area-inset-top,0px));
    min-height:calc(var(--es-nav-h) + env(safe-area-inset-top,0px));
    gap:.5rem;
  }
  .es-nav__logo{min-width:0;flex:1}
  .es-nav__word{
    font-size:1.05rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    max-width:min(58vw,240px);
  }
  .es-nav__links,.es-nav__cta{display:none !important}
  .es-burger{
    display:flex !important;
    margin-left:auto;
    z-index:132;
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    flex-shrink:0;
    border-radius:6px;
    background:rgba(184,212,232,.35);
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:background .3s,transform .3s var(--es-ease);
  }
  .es-nav.is-solid .es-burger{background:rgba(232,244,251,.12)}
  .es-nav.is-open .es-burger{background:rgba(168,208,141,.35)}
  .es-burger:active{transform:scale(.94)}

  .es-drawer-backdrop{
    z-index:110;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    pointer-events:none;
  }
  .es-drawer-backdrop.is-open{pointer-events:auto}
  .es-drawer-backdrop[hidden]{display:block !important;opacity:0;visibility:hidden}
  .es-drawer-backdrop.is-open[hidden],
  .es-drawer-backdrop.is-open:not([hidden]){visibility:visible}

  .es-drawer{
    z-index:120;
    padding:calc(var(--es-nav-h) + env(safe-area-inset-top,0px) + .55rem) 1.15rem calc(1.4rem + env(safe-area-inset-bottom,0px));
    box-shadow:-20px 0 48px rgba(30,42,50,.4);
    transform:translateX(105%);
  }
  .es-drawer.is-open{transform:none}
  .es-drawer[hidden]{display:flex !important;pointer-events:none;visibility:hidden}
  .es-drawer.is-open{pointer-events:auto;visibility:visible}
  .es-drawer__head{
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .38s var(--es-ease),transform .38s var(--es-ease);
  }
  .es-drawer.is-open .es-drawer__head{opacity:1;transform:none;transition-delay:.05s}
  .es-drawer__close{
    min-width:48px;
    min-height:48px;
    width:48px;
    height:48px;
    -webkit-tap-highlight-color:transparent;
  }
  .es-drawer__nav a{
    opacity:0;
    transform:translateX(28px);
    min-height:52px;
    font-size:1.05rem;
    transition:opacity .45s var(--es-ease),transform .45s var(--es-ease),background .2s,color .2s;
  }
  .es-drawer.is-open .es-drawer__nav a{opacity:1;transform:none}
  .es-drawer.is-open .es-drawer__nav a:nth-child(1){transition-delay:.08s}
  .es-drawer.is-open .es-drawer__nav a:nth-child(2){transition-delay:.14s}
  .es-drawer.is-open .es-drawer__nav a:nth-child(3){transition-delay:.2s}
  .es-drawer.is-open .es-drawer__nav a:nth-child(4){transition-delay:.26s}
  .es-drawer.is-open .es-drawer__nav a:nth-child(5){transition-delay:.32s}
  .es-drawer.is-open .es-drawer__nav a:nth-child(6){transition-delay:.38s}
  .es-drawer__cta{justify-content:center;margin-top:.4rem}
  .es-drawer__meta{
    opacity:0;
    transform:translateY(12px);
    transition:opacity .42s var(--es-ease) .42s,transform .42s var(--es-ease) .42s;
  }
  .es-drawer.is-open .es-drawer__meta{opacity:1;transform:none}

  body.is-nav-open{
    overflow:hidden !important;
    touch-action:none;
    overscroll-behavior:none;
  }

  .es-hero__copy{
    margin-left:0;
    padding:3.5rem 1.15rem calc(2.5rem + env(safe-area-inset-bottom,0px));
    width:100%;
  }
  .es-hero__brand{font-size:clamp(2.4rem,14vw,3.6rem)}
  .es-hero__actions{flex-direction:column;align-items:stretch}
  .es-hero__actions .es-btn{width:100%}

  .es-intro{grid-template-columns:1fr;gap:1.35rem}
  .es-intro__media{min-height:240px;aspect-ratio:16/11}

  .es-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    grid-auto-rows:minmax(150px,22vw);
    height:auto;
    max-height:none;
    gap:.65rem;
  }
  .es-mosaic__cell--wide{grid-column:span 2;grid-row:span 1;min-height:200px}
  .es-mosaic__cell--tall{grid-row:span 1}
  .es-mosaic__cell--full{grid-column:1 / -1;min-height:160px}
  .es-mosaic__cell .es-frame{min-height:0}

  .es-services__row,
  .es-services__row--flip{grid-template-columns:1fr}
  .es-services__row--flip .es-services__media{order:0}
  .es-services__media{min-height:200px}
  .es-services__body{padding:1.1rem 1.15rem 1.25rem}

  .es-ba{grid-template-columns:1fr;gap:1rem}
  .es-ba__pair{gap:.4rem}
  .es-ba__shot .es-frame{min-height:120px}

  .es-why,.es-plans,.es-voices,.es-team,.es-channels,.es-areas,.es-topics,.es-strip{grid-template-columns:1fr;gap:.9rem}
  .es-stats{grid-template-columns:1fr 1fr;gap:.85rem}
  .es-process,.es-steps{grid-template-columns:1fr 1fr;gap:.75rem}
  .es-areas{grid-template-columns:1fr 1fr}

  .es-hero--page{min-height:min(58svh,520px)}
  .es-quote,.es-contact,.es-map-block,.es-featured{grid-template-columns:1fr;gap:1.25rem}
  .es-posts{grid-template-columns:1fr}
  .es-post{grid-template-columns:1fr}
  .es-form{padding:1.25rem 1.1rem}
  .es-form .es-btn{width:100%}
  .es-map iframe{min-height:240px}

  .es-cta{min-height:54svh}
  .es-cta__in{padding:2.5rem 1.15rem calc(2rem + env(safe-area-inset-bottom,0px))}

  .es-foot__grid{grid-template-columns:1fr 1fr;gap:1.35rem}
  .es-foot__grid > div:first-child{grid-column:1 / -1}
}

@media (max-width:480px){
  .es-process,.es-steps,.es-stats,.es-areas{grid-template-columns:1fr}
  .es-foot__grid{grid-template-columns:1fr}
  .es-mosaic{
    grid-template-columns:1fr;
    grid-auto-rows:minmax(180px,42vw);
  }
  .es-mosaic__cell--wide,
  .es-mosaic__cell--full{grid-column:span 1;min-height:200px}
  .es-ba__pair{grid-template-columns:1fr}
}

@media (min-width:769px) and (max-width:1024px){
  .es-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:minmax(180px,20vw);
    height:auto;
    max-height:none;
  }
  .es-mosaic__cell--wide{grid-column:span 2;grid-row:span 1;min-height:240px}
  .es-mosaic__cell--full{grid-column:1 / -1;min-height:180px}
  .es-why,.es-plans,.es-voices,.es-team,.es-channels,.es-topics{grid-template-columns:repeat(2,1fr)}
  .es-areas,.es-strip,.es-stats{grid-template-columns:repeat(2,1fr)}
  .es-plans article:last-child{grid-column:1 / -1;max-width:50%;margin-inline:auto}
  .es-process,.es-steps{grid-template-columns:repeat(2,1fr)}
  .es-posts{grid-template-columns:1fr}
  .es-contact{grid-template-columns:1fr}
  .es-foot__grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .es-intro{grid-template-columns:1fr 1fr}
}

/* Image visibility safety — local assets must always paint */
img[src*='assets/images/'] {
  opacity: 1 !important;
  visibility: visible !important;
}