@media (max-width: 960px) {
  :root { --gl-gutter: 24px; }
  .gl-menu-toggle { display: block; }
  .gl-nav { position: absolute; z-index: 5; top: calc(100% + var(--gl-header-gap)); right: 0; left: 0; max-height: calc(100svh - var(--gl-admin-offset) - var(--gl-header-stack) - 18px); overflow: auto; overscroll-behavior: contain; padding: .75rem; opacity: 0; background: rgba(255,255,255,.98); border: 1px solid var(--gl-line); border-radius: 24px; box-shadow: 0 22px 60px rgba(45,12,71,.16); transform: translateY(10px); visibility: hidden; pointer-events: none; transition: opacity .22s ease,transform .22s ease,visibility .22s; }
  .gl-nav.is-open { opacity: 1; transform: translateY(0); visibility: visible; pointer-events: auto; }
  .no-js .gl-menu-toggle { display: none; }
  .no-js .gl-nav { position: static; max-height: none; padding: 0; opacity: 1; transform: none; visibility: visible; pointer-events: auto; border: 0; }
  .no-js .gl-nav__list { display: flex; flex-wrap: wrap; justify-content: flex-end; }
  body.no-js .gl-header { position: relative; height: auto; }
  body.no-js .gl-header__inner { height: auto; flex-wrap: wrap; gap: .5rem 1rem; padding-block: .6rem; }
  body.no-js .gl-nav { flex: 1 1 100%; }
  body.no-js .gl-nav__list { justify-content: center; gap: .1rem .7rem; }
  body.no-js .gl-nav a { padding: .45rem; font-size: .9rem; }
  .gl-nav__list { display: grid; gap: .15rem; }
  .gl-nav a { display: flex; min-height: 46px; align-items: center; padding: .65rem .8rem; font-size: 1rem; }
  .gl-nav .gl-menu-cta > a { justify-content: center; margin-top: .35rem; }
  .gl-hero { min-height: auto; }
  .gl-hero__slide { grid-template-columns: 1fr; grid-template-rows: minmax(330px,50svh) auto; }
  .gl-hero__media { grid-column: 1; grid-row: 1; height: 50svh; min-height: 330px; }
  .gl-hero__content { grid-column: 1; grid-row: 2; padding: 3rem 18px 6rem; }
  .gl-hero::after { width: 90vw; bottom: 42%; }
  .gl-slider-controls { bottom: 22px; }
  .gl-manifesto__grid, .gl-split, .gl-asco__grid, .gl-contact__grid, .gl-page-split, .gl-booking-grid { grid-template-columns: 1fr; gap: 3rem; }
  .gl-method-hero__layout { grid-template-columns: 1fr; gap: 3rem; }
  .gl-method-hero__content { max-width: 680px; }
  .gl-method-hero__image { height: min(64vw,520px); }
  .gl-method-editorial__layout,.gl-method-audience__layout { grid-template-columns: 1fr; gap: 2.75rem; }
  .gl-method-editorial__content { padding-top: 0; }
  .gl-method-principles__head,.gl-method-action__inner { grid-template-columns: 1fr; align-items: start; }
  .gl-method-action__buttons { grid-template-columns: max-content max-content; min-width: 0; }
  .gl-process__rail { grid-template-columns: 1fr 1fr; }
  .gl-packages { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
	.gl-catalogue-nav,.gl-paths { grid-template-columns: 1fr 1fr; }
  .gl-catalogue-closing__inner { grid-template-columns: 1fr; gap: 2.75rem; }
  .gl-catalogue-closing h2 { max-width: 16ch; }
  .gl-catalogue-closing__actions { gap: 1.35rem; padding: 2.25rem 0 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .gl-package--featured { transform: none; }
  .gl-gallery__grid { grid-template-columns: 1fr 1fr; }
  .gl-gallery figure { min-height: 300px; }
  .gl-footer__lead { grid-template-columns: 1fr; }
  .gl-footer__brand { width: 210px; min-height: 94px; }
  body.gl-site .gl-footer__brand img { height: 68px; }
  .gl-footer__grid { grid-template-columns: 1fr 1fr; }
  .gl-footer__nav { grid-column: 1 / -1; margin-top: 2rem; padding: 2rem 0 0; border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
}
@media(max-width:640px){.gl-catalogue-nav,.gl-paths{grid-template-columns:1fr}.gl-catalogue-nav{margin-inline:1rem}.gl-package__header{min-height:0}.gl-package__description{min-height:0}}

@media (max-width: 782px) {
  .admin-bar { --gl-admin-offset: 46px; }
}

@media (max-width: 620px) {
  :root { --gl-gutter: 18px; --gl-space: 4.2rem; --gl-header-top: max(6px, env(safe-area-inset-top)); --gl-header-height: 68px; }
  body.gl-site h1 { max-width: 100%; font-size: clamp(2.25rem,9vw,2.8rem); overflow-wrap: normal; hyphens: none; }
  .gl-hero__lead { max-width: 100%; font-size: 1rem; overflow-wrap: normal; }
  body.gl-site h2 { font-size: clamp(2rem,10vw,3rem); }
  .gl-header__inner,.gl-header.is-scrolled .gl-header__inner { height: var(--gl-header-height); padding-inline: 14px 10px; box-shadow: none; }.gl-brand,body.gl-site .gl-header.is-scrolled .gl-brand { min-width: 142px; min-height: var(--gl-header-height); }.gl-brand__art { width: 142px; height: var(--gl-header-height); }body.gl-site .gl-brand__logo,body.gl-site .gl-header.is-scrolled .gl-brand__logo { width: auto; height: 59px; max-width: 134px; left: 16px; }.gl-brand__shield { width: 70px; height: 82px; }body.gl-site .gl-brand__shield img,body.gl-site .gl-header.is-scrolled .gl-brand__shield img { width: auto; height: 82px; max-width: none; }.gl-menu-toggle { margin-left: auto; }
  .gl-nav { border-radius: 20px; }
  .gl-page-hero { min-height: 360px; padding-block: 4.5rem; }
  .gl-page-hero > .gl-shell { display: block; }
  .gl-page-hero .gl-prose, .gl-page-hero > div > p:last-child { margin-top: 1.15rem; font-size: 1.05rem; }
  .gl-method-hero { padding-block: 3.25rem; }
  .gl-method-hero__content h1 { max-width: 100%; font-size: clamp(2.6rem,13vw,3.35rem); hyphens: none; }
  .gl-method-hero__actions { align-items: stretch; }
  .gl-method-hero__actions .gl-button { width: 100%; }
  .gl-method-hero__actions .gl-text-link { align-self: center; margin-inline: auto; }
  .gl-method-hero__image { height: min(92vw,390px); border-radius: 14px; }
  .gl-method-facts dl { grid-template-columns: 1fr; }
  .gl-method-facts dl > div,.gl-method-facts dl > div:first-child { padding: 1.15rem 0; }
  .gl-method-facts dl > div + div { border-top: 1px solid rgba(92,7,159,.16); border-left: 0; }
  .gl-method-editorial h2 { font-size: clamp(2.35rem,11vw,3.15rem); }
  .gl-method-steps__list { grid-template-columns: 1fr; gap: 0; padding-left: 1.25rem; border-top: 0; border-left: 2px solid var(--gl-violet-soft); }
  .gl-method-step { padding: 0 0 2.5rem 1.65rem; }
  .gl-method-step:last-child { padding-bottom: 0; }
  .gl-method-step::before { top: .15rem; left: -1.7rem; }
  .gl-method-step > span { margin-bottom: .9rem; }
  .gl-method-principles__grid { grid-template-columns: 1fr; }
  .gl-method-principle { min-height: 0; padding: 1.75rem; }
  .gl-method-audience__layout { gap: 2.25rem; }
  .gl-method-audience__copy .gl-button { width: 100%; }
  .gl-method-action__buttons { grid-template-columns: 1fr; width: 100%; }
  .gl-method-action__buttons .gl-button { width: 100%; }
  .gl-hero__slide { grid-template-rows: 42svh auto; }
  .gl-hero__media { height: 42svh; min-height: 0; }
  .gl-hero__content { padding-bottom: 5.6rem; }
  .gl-hero::after { top: calc(42svh - 8px); bottom: auto; }
  .gl-section-head--row { grid-template-columns: 1fr; align-items: start; }
  .gl-service { grid-template-columns: 42px 1fr; gap: 1rem; }.gl-service p { grid-column: 2; }
  .gl-process__rail { grid-template-columns: 1fr; }.gl-process__rail li { min-height: 130px; padding-left: 1.5rem; border-top: 0; border-left: 2px solid var(--gl-violet); }.gl-process__rail li::before { top: 0; left: -8px; }.gl-process__rail b { margin-bottom: 1rem; }
  .gl-split__media::after { inset: 14px -10px -14px 10px; }
  .gl-gallery__grid, .gl-form-grid, .gl-footer__grid { grid-template-columns: 1fr; }
  .gl-catalogue-closing__inner { gap: 2.25rem; }
  .gl-catalogue-closing h2 { font-size: clamp(2.15rem,10vw,3rem); }
  .gl-catalogue-closing__actions { width: 100%; padding-top: 1.75rem; }
  .gl-catalogue-closing__actions .gl-button { width: 100%; min-width: 0; }
  .gl-gallery figure, .gl-gallery figure:nth-child(n+3) { min-height: 280px; }
  .gl-footer::before { right: -310px; top: -180px; }
  .gl-footer__inner { padding-top: 2.75rem; }
  .gl-footer__lead { gap: 1.75rem; padding-bottom: 2.5rem; }
  .gl-footer__brand { width: 170px; min-height: 76px; padding: .75rem 1rem; border-radius: 12px; }
  body.gl-site .gl-footer__brand img { width: auto; height: 56px; max-width: 100%; }
  .gl-footer__statement { font-size: clamp(1.35rem,6.8vw,1.75rem); }
  .gl-footer__cta { width: 100%; min-width: 0; margin-top: 1.5rem; }
  .gl-footer__grid { gap: 0; padding-block: 2.25rem; }
  .gl-footer__details,.gl-footer__details + .gl-footer__details { padding: 0 0 1.75rem; border-left: 0; }
  .gl-footer__details + .gl-footer__details { padding-top: 1.75rem; border-top: 1px solid rgba(255,255,255,.12); }
  .gl-footer__nav { grid-column: auto; margin-top: 0; padding-top: 1.75rem; }
  .gl-footer__menu { grid-template-columns: 1fr 1fr; }
  .gl-footer__bottom { grid-template-columns: 1fr auto; align-items: start; }
  .gl-footer__bottom p:nth-child(2) { grid-column: 1 / -1; grid-row: 2; text-align: left; }
}

@media (max-width: 340px) {
  :root { --gl-gutter: 16px; }
  .gl-header__inner { padding-inline: 12px 8px; }
  .gl-brand,body.gl-site .gl-header.is-scrolled .gl-brand { min-width: 130px; }
  .gl-brand__art { width: 130px; }
  body.gl-site .gl-brand__logo,body.gl-site .gl-header.is-scrolled .gl-brand__logo { height: 55px; max-width: 122px; }
  .gl-brand__shield { width: 66px; height: 78px; }
  body.gl-site .gl-brand__shield img,body.gl-site .gl-header.is-scrolled .gl-brand__shield img { height: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.gl-page-hero.is-motion-active::before { animation: none !important; will-change: auto; }
	.gl-page-hero.is-motion-active::after { animation: none !important; transform: translate3d(0,0,0); will-change: auto; }
}
