@media (max-width: 1023px) {
  html { font-size: 16px; }
}
@media (max-width: 1023px) {
  .display.d-xxl { font-size: clamp(2rem, 7.4vw, 5rem); }
  .display.d-xl  { font-size: clamp(1.7rem, 6.2vw, 3.4rem); }
  .display.d-lg  { font-size: clamp(1.5rem, 5.4vw, 2.8rem); }
  .display.d-md  { font-size: clamp(1.3rem, 4.4vw, 2.2rem); }
}
@media (min-width: 700px) and (max-width: 1000px) {
  .feature__media { grid-column: 1 / span 7; grid-row: 1; }
  .feature__text  { grid-column: 8 / span 5; grid-row: 1; }
  .feature--flip .feature__media { grid-column: 6 / span 7; grid-row: 1; }
  .feature--flip .feature__text  { grid-column: 1 / span 5; grid-row: 1; }
  .feature__stamp { position: absolute; margin-top: 0; }
}
@media (max-width: 760px) {
  .ways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pillars { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
  .pillar + .pillar { border-left: 1px solid var(--rule); border-top: 0; }
  .cta__inner { grid-template-columns: 1.1fr .9fr; }
}
@media (max-width: 620px) {
  .cta__inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .post { grid-template-columns: 1fr 3fr; gap: 22px; }
  .post__full { grid-column: auto; }
}
@media (max-width: 620px) {
  .process,
  .process[style*="grid-template-columns"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .process[style*="repeat(4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .stats, .markets { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .process[style*="repeat(3"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .process[style*="repeat(4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
  .works { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(10px, 1.6vw, 24px); }
  .works > .w-7 { grid-column: span 7; }
  .works > .w-5 { grid-column: span 5; }
  .works > .w-6 { grid-column: span 6; }
  .works > .w-8 { grid-column: span 8; }
  .works > .w-4 { grid-column: span 4; }
  .works > .w-12 { grid-column: span 12; }
  .works > .work:first-child,
  .works > .work:last-child { grid-column: span 12; }
}
@media (max-width: 860px) {
  .trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shot { --shot-h: min(46vh, 380px); }
  .cmsn__head { grid-column: 1 / span 4; }
  .cmsn__body { grid-column: 6 / span 4; }
  .cmsn__work { grid-column: 10 / span 3; }
  .toc__r a { grid-template-columns: 62px minmax(0, 5fr) minmax(0, 6fr) 22px; gap: 16px; }
  .toc__d { grid-column: auto; }
  .toc__go { grid-row: auto; }
  .spec__r { grid-template-columns: minmax(90px, 2fr) minmax(0, 9fr); gap: 10px 20px; }
}
@media (max-width: 1000px) {
  .cmsn__head { grid-column: 1 / span 4; }
  .cmsn__body { grid-column: 6 / span 4; }
  .cmsn__work { grid-column: 10 / span 3; }
}
@media (max-width: 859px) {
  .stu-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stu-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stu-head--split { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .stu-head--split .stu-head__aside { max-width: 27rem; }
  .stu-prin { grid-template-columns: 2fr 10fr; gap: 40px; }
  .stu-area { grid-template-columns: 2fr 10fr; gap: 40px; }
  .stu-track::before { left: calc(16.666% - .5px); }
  .stu-area__mark::before { left: auto; right: -7.5px; }
  .stu-dept { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 5vw, 64px); }
  .stu-dept--flip .stu-dept__fig { order: 2; }
  .stu-dept--flip .stu-dept__txt { order: 1; }
  .stu-countries { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stu-panel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
}
@media (max-width: 639px) {
  .stu-ways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stu-stats { flex-direction: row; justify-content: center; gap: clamp(18px, 6vw, 48px); }
  .stu-stat__bar { display: block; }
  .stu-hero__sig { display: flex; }
  .stu-hero__grid { display: block; }
}
@media (max-width: 860px) {
  .cn {
    display: grid;
    align-items: center;
    min-height: clamp(420px, 62vh, 820px);
  }
  .cn__stage {
    position: absolute;
    inset: 0;
    width: auto;
    aspect-ratio: auto;
    grid-area: 1 / 1;
  }
  .cn__inner {
    grid-area: 1 / 1;
    max-width: 68%;
    margin-inline: auto;
    padding: clamp(14px, 3.5vh, 40px) 0;
  }
}
@media (max-width: 620px) {
  .cn__inner { max-width: 56%; }
  .cn__title { font-size: clamp(1.15rem, 5.6vw, 2.6rem); }
  .cn__sub { font-size: clamp(.86rem, 3.3vw, 1rem); max-width: 34ch; }
  .cn__act { margin-top: clamp(14px, 3vw, 30px); }
  .cn__act .btn { padding: 10px 16px; font-size: .58rem; }
  .cn__inner::before { display: block; }
}
@media (max-width: 900px) {
  .form { grid-template-columns: 1fr; }
  .field--full { grid-column: 1 / -1; }
  .panel__card { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .stu-grid3,
  .trio,
  .stu-countries { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .process,
  .process[style*="grid-template-columns"],
  .process[style*="repeat(3"],
  .process[style*="repeat(4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .stats, .markets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pillar:nth-child(odd) { border-left: 0; }
  .cmsn__head { grid-column: 1 / -1; }
  .cmsn__body { grid-column: 1 / span 7; }
  .cmsn__work { grid-column: 8 / span 5; }
  .specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .proc { padding: 20px 16px; }
  .toc__r a { grid-template-columns: 34px minmax(0, 1fr) 18px; gap: 12px; }
  .toc__d { display: none; }
}
.hero, .stu-hero {
  min-height: 100vh;
  min-height: 100svh;
}
.lb, .panel, .nav__links {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
a, button, .btn, .stu-btn, .way, .piece, .toc__r a, .ilink, .stu-way {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
@media (hover: none) and (pointer: coarse) {
  .stu-card:hover,
  .way:hover { transform: none; }
  .stu-card:active { transform: translate3d(0, -2px, 0); transition: transform .2s ease-out; }
  .piece__more { backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (max-width: 620px) {
  .stu-hero__h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .18em;
    width: min(100%, 350px);
    font-size: clamp(1.95rem, 8vw, 2.25rem);
    line-height: 1.16;
  }
  .stu-hero__h1 br { display: none; }
  .stu-hero__h1 > span,
  .stu-hero__h1 > em { display: block; max-width: 100%; }
  .stu-hero__sub { font-size: clamp(.72rem, 2.9vw, .84rem); letter-spacing: .16em; }
  .stu-hero__inner { padding: 118px 22px 96px; }
  .stu-hero__status { top: 74px; }
  .stu-pill { font-size: .68rem; padding: 6px 12px; }
  .stu-btn { padding: 12px 20px; font-size: .82rem; }
  .stu-sec { padding: clamp(56px, 13vw, 160px) 0; }
  .stu-wrap, .stu-wrap--narrow { width: min(1180px, 100% - 36px); }
}
@media (max-width: 1023px) {
  .piece__m { font-size: max(0.82rem, 0.46rem); letter-spacing: 0.13em; }
  .brand__sub { font-size: max(0.82rem, 0.5rem); letter-spacing: 0.13em; }
  .pcard__badge { font-size: max(0.82rem, 0.53rem); letter-spacing: 0.13em; }
  .specs__l { font-size: max(0.82rem, 0.54rem); letter-spacing: 0.13em; }
  .card__k { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .card__no { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .cdl__k { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .feature__stamp .mono { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .foot__col .foot__head { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .form__note { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .pcard__meta { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .post__tag { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .work__meta { font-size: max(0.82rem, 0.55rem); letter-spacing: 0.13em; }
  .market__d { font-size: max(0.82rem, 0.56rem); letter-spacing: 0.13em; }
  .pillar__i { font-size: max(0.82rem, 0.56rem); letter-spacing: 0.13em; }
  .plate__tag { font-size: max(0.82rem, 0.56rem); letter-spacing: 0.13em; }
  .proc__k { font-size: max(0.82rem, 0.56rem); letter-spacing: 0.13em; }
  .field label { font-size: max(0.82rem, 0.57rem); letter-spacing: 0.13em; }
  .phead__crumb { font-size: max(0.82rem, 0.57rem); letter-spacing: 0.13em; }
  .stat__l { font-size: max(0.82rem, 0.57rem); letter-spacing: 0.13em; }
  .lb__count { font-size: max(0.82rem, 0.58rem); letter-spacing: 0.13em; }
  .post__n { font-size: max(0.82rem, 0.6rem); letter-spacing: 0.13em; }
  .proc__list li { font-size: max(0.82rem, 0.6rem); letter-spacing: 0.13em; }
  .tl__yr { font-size: max(0.82rem, 0.62rem); letter-spacing: 0.13em; }
  .nav__link { font-size: max(0.82rem, 0.63rem); letter-spacing: 0.13em; }
  .tlink { font-size: max(0.82rem, 0.64rem); letter-spacing: 0.13em; }
  .btn { font-size: max(0.82rem, 0.66rem); letter-spacing: 0.13em; }
  .ticker__item { font-size: max(0.82rem, 0.66rem); letter-spacing: 0.13em; }
  .piece__below .piece__m { font-size: max(0.82rem, 0.7rem); letter-spacing: 0.13em; }
  .ag-head__s { font-size: max(11px, 0.5rem); }
  .ag-msg__k { font-size: max(11px, 0.5rem); }
  .ag-note { font-size: max(11px, 0.5rem); }
  .chan__k { font-size: max(11px, 0.5rem); }
  .piece__more { font-size: max(11px, 0.5rem); }
  .works > .work:not(:first-child):not(:last-child) .work__s, .works > .w-5 .work__s { font-size: max(11px, 0.52rem); }
  .spine__label { font-size: max(11px, 0.53rem); }
  .ag-chip { font-size: max(11px, 0.55rem); }
  .chan__addr-go { font-size: max(11px, 0.55rem); }
  .foot__bottom p, .foot__legal a, .foot__legal span { font-size: max(11px, 0.55rem); }
  .frame__note { font-size: max(11px, 0.55rem); }
  .ag-launch__t { font-size: max(11px, 0.56rem); }
  .callbar__btn { font-size: max(11px, 0.58rem); }
  .btn--nav { font-size: max(11px, 0.6rem); }
  .cn__eyebrow { font-size: max(11px, 0.6rem); }
  .foot__hours { font-size: max(11px, 0.6rem); }
  .way__go { font-size: max(11px, 0.6rem); }
  .stu-hero__sig p { font-size: max(11px, 0.62rem); }
  .stu-stat__l { font-size: max(11px, 0.62rem); }
  .stu-way__k { font-size: max(11px, 0.62rem); }
  .cwork__k { font-size: max(11px, 0.64rem); }
  .spec__k { font-size: max(11px, 0.64rem); }
  .shot__cap { font-size: max(11px, 0.66rem); }
  .toc__d { font-size: max(11px, 0.66rem); }
  .stu-eyebrow-row .stu-key { font-size: max(11px, 0.68rem); }
  .stu-key { font-size: max(11px, 0.68rem); }
  .stu-work__m { font-size: max(11px, 0.68rem); }
  .ilink { font-size: max(11px, 0.7rem); }
  .latest__m { font-size: max(11px, 0.7rem); }
  .toc__n { font-size: max(11px, 0.7rem); }
  .fadr__k { font-size: 0.82rem; letter-spacing: 0.13em; }
}
@media (max-width: 1023px) {
  h1, h2, h3, h4, p, li, a, span, figcaption, dd, dt, .mono, .eyebrow,
  .pillar__t, .card__t, .piece__t, .post__t, .toc__t, .stu-work__t {
    overflow-wrap: break-word;
  }
  .pillar { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 859px) {
  .stu-grid3,
  .stu-grid2,
  .stu-panel__grid,
  .stu-dept,
  .ways__grid,
  .trio,
  .pillars,
  .process,
  .process[style*="grid-template-columns"] {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  }

  .stu-head--split {
    flex-direction: column;
    align-items: flex-start;
  }

  .stu-head--split .stu-head__aside { max-width: 42rem; }
  .stu-prin,
  .stu-area { grid-template-columns: 1fr; gap: 14px; }
  .stu-track::before { left: 7px; }
  .stu-area__mark::before { right: auto; left: 0; }

  .stu-countries {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  }
  .stu-grid3 > :last-child:nth-child(odd),
  .ways__grid > :last-child:nth-child(odd),
  .trio > :last-child:nth-child(odd),
  .pillars > :last-child:nth-child(odd),
  .process > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .cmsn__head,
  .cmsn__body,
  .cmsn__work {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .ways__grid,
  .trio,
  .pillars,
  .post,
  .stu-grid3,
  .stu-grid2,
  .stu-panel__grid,
  .stu-dept,
  .stu-ways {
    grid-template-columns: minmax(0, 1fr);
  }

  .process,
  .process[style*="grid-template-columns"],
  .process[style*="repeat(3"],
  .process[style*="repeat(4"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .stats,
  .markets,
  .stu-countries {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  }

  .works {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .works > .work,
  .works > .w-4,
  .works > .w-5,
  .works > .w-6,
  .works > .w-7,
  .works > .w-8,
  .works > .w-12,
  .works > .work:first-child,
  .works > .work:last-child {
    grid-column: auto !important;
  }

  .stu-dept--flip .stu-dept__fig,
  .stu-dept--flip .stu-dept__txt { order: initial; }

  .stu-stats {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    gap: 18px;
  }
  .stu-stat__bar { display: none; }

  .stu-card {
    min-width: 0;
    padding: clamp(20px, 6vw, 26px);
  }
}
@media (max-width: 620px) {
  .specs__l {
    font-size: 0.76rem;
    letter-spacing: 0.06em;
    overflow-wrap: break-word;
  }
  .specs__item:last-child { padding-right: 0; }
}
