/* AD1 projects archive — layout only. Typography inherits Elementor globals. */
.ad1p{
  --ad1p-paper:#f3eee6;
  --ad1p-ink:#171513;
  --ad1p-muted:#6e6861;
  --ad1p-line:#d7d0c7;
  --ad1p-accent:var(--ad1t-accent,#bd3029);
  --ad1p-dark:#080a0b;
  color:var(--ad1p-ink);
  background:var(--ad1p-paper);
}
.ad1p *{box-sizing:border-box}
.ad1p a{color:inherit}
.ad1p-shell{width:min(var(--ad1t-shell,1360px),calc(100% - 64px));margin-inline:auto}

.ad1p-hero{position:relative;min-height:min(520px,58vw);display:flex;align-items:flex-end;overflow:hidden;color:var(--ad1-color-text-light,#fff);background:var(--ad1p-dark);}
.ad1p-hero__content{position:relative;z-index:2;padding-block:70px 38px}
.ad1p-hero__content h1{margin:0 0 .45em;font-family:var(--ad1-native-h1-family);font-weight:var(--ad1-global-h1-weight,var(--e-global-typography-primary-font-weight,400));line-height:var(--ad1-native-h1-line);letter-spacing:var(--ad1-native-h1-spacing);font-family:var(--ad1-native-h1-family);font-size:var(--ad1-native-h1-size);font-weight:var(--ad1-global-h1-weight,var(--e-global-typography-primary-font-weight,400));line-height:var(--ad1-native-h1-line);letter-spacing:var(--ad1-native-h1-spacing);}
.ad1p-hero__content p{max-width:48ch;margin:0;color:var(--ad1-color-text-light,#f3eee8);line-height:var(--ad1-native-body-line);font-family:var(--ad1-native-body-family);font-size:var(--ad1-native-body-size);font-weight:var(--ad1-global-body-weight,var(--e-global-typography-text-font-weight,400));line-height:var(--ad1-native-body-line);letter-spacing:var(--ad1-native-body-spacing);}
.ad1p-slider-controls{display:flex;align-items:center;gap:14px;margin-top:26px}
.ad1p-slider-controls button{width:38px;height:38px;display:grid;place-items:center;padding:0;color:var(--ad1-color-text-light,#fff);background:transparent;border:1px solid #ffffff63;border-radius:50%;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));}
.ad1p-slider-controls button:hover,.ad1p-slider-controls button:focus-visible{background:var(--ad1p-accent);border-color:var(--ad1p-accent);transform:translateY(-2px)}
.ad1p-slider-controls span{display:inline-flex;align-items:center;gap:6px;letter-spacing:var(--ad1-native-body-spacing);}

.ad1p-paper{background:var(--ad1p-paper)}
.ad1p-featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:50px;align-items:center;padding-block:56px 42px}
.ad1p-featured__media{display:block;overflow:hidden;border-radius:8px;background:#ddd4c9;box-shadow:0 18px 44px rgba(31,24,18,.09)}
.ad1p-featured__media img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease}
.ad1p-featured__media:hover img{transform:scale(1.025);filter:contrast(1.03)}
.ad1p-featured__copy h2{margin:.42em 0 .5em;font-family:var(--ad1-native-h2-family);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line);letter-spacing:var(--ad1-native-h2-spacing);font-family:var(--ad1-native-h2-family);font-size:var(--ad1-native-h2-size);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line);letter-spacing:var(--ad1-native-h2-spacing);}
.ad1p-featured__copy h2 a{text-decoration:none}
.ad1p-featured__copy p{max-width:52ch;margin:1.2em 0;line-height:var(--ad1-native-body-line);color:var(--ad1p-muted)}
.ad1p-kicker{display:block;color:var(--ad1p-accent);font-weight:var(--ad1-type-eyebrow-weight,var(--e-global-typography-accent-font-weight,500));letter-spacing:var(--ad1-native-accent-spacing);text-transform:uppercase;font-family:var(--ad1-type-eyebrow-family,var(--ad1-native-accent-family));font-size:var(--ad1-native-accent-size);font-weight:var(--ad1-type-eyebrow-weight,var(--e-global-typography-accent-font-weight,500));line-height:var(--ad1-native-accent-line);letter-spacing:var(--ad1-native-accent-spacing);}
.ad1p-meta,.ad1p-card__facts{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--ad1p-muted)}
.ad1p-meta span,.ad1p-card__facts span{display:inline-flex;align-items:center;gap:6px}
.ad1p-meta span:not(:last-child)::after,.ad1p-card__facts span:not(:last-child)::after{content:"·";margin-left:10px;color:var(--ad1p-accent)}
.ad1p-link{display:inline-flex;align-items:center;gap:8px;color:var(--ad1p-accent);font-weight:var(--ad1-global-body-weight,var(--e-global-typography-text-font-weight,400));letter-spacing:var(--ad1-native-body-spacing);text-transform:uppercase;text-decoration:none;font-family:var(--ad1-native-body-family);font-size:var(--ad1-native-body-size);font-weight:var(--ad1-global-body-weight,var(--e-global-typography-text-font-weight,400));line-height:var(--ad1-native-body-line);letter-spacing:var(--ad1-native-body-spacing);}

.ad1p-filters{display:flex;align-items:center;gap:22px;overflow:auto;padding-block:16px;border-top:1px solid var(--ad1p-line);border-bottom:1px solid var(--ad1p-line);scrollbar-width:none}
.ad1p-filters::-webkit-scrollbar{display:none}
.ad1p-filters a{position:relative;flex:0 0 auto;padding-block:9px;font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));text-transform:uppercase;text-decoration:none;font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));}
.ad1p-filters a::after{content:"";position:absolute;left:0;right:0;bottom:-17px;height:2px;background:var(--ad1p-accent);transform:scaleX(0);transform-origin:right;transition:transform .24s ease}
.ad1p-filters a:hover::after,.ad1p-filters a:focus-visible::after,.ad1p-filters a.is-active::after{transform:scaleX(1);transform-origin:left}

.ad1p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:30px 44px}
.ad1p-card{min-width:0;overflow:hidden;border-radius:8px;background:var(--ad1p-dark);box-shadow:0 12px 30px rgba(30,24,18,.08);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}
.ad1p-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(30,24,18,.15)}
.ad1p-card__media{position:relative;min-height:310px;display:block;overflow:hidden;color:var(--ad1-color-text-light,#fff);text-decoration:none;background:#111;}
.ad1p-card__picture{display:block;width:100%;height:100%;min-width:0;}
.ad1p-card__image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s ease}
.ad1p-card:hover .ad1p-card__image{transform:scale(1.045);filter:saturate(.9)}
.ad1p-card__veil{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 18%,rgba(5,7,8,.28) 45%,rgba(5,7,8,.96) 100%)}
.ad1p-card__copy{position:absolute;inset:auto 0 0;padding:24px;z-index:2}
.ad1p-card__copy h2{margin:.36em 0 .55em;color:var(--ad1-color-text-light,#fff);font-family:var(--ad1-type-card-title-family,var(--ad1-native-h2-family));font-size:var(--ad1-native-card-title-size);font-weight:var(--ad1-type-card-title-weight,var(--ad1-global-h2-weight,400));line-height:var(--ad1-native-card-title-line);letter-spacing:var(--ad1-native-card-title-spacing);}
.ad1p-card__facts{color:var(--ad1-color-text-light,#ddd6ce);}
.ad1p-card .ad1p-link{margin-top:1.15em}
.ad1p-pagination{display:flex;justify-content:center;gap:8px;padding-bottom:58px}
.ad1p-pagination .page-numbers{min-width:38px;height:38px;display:grid;place-items:center;padding:0 10px;border:1px solid var(--ad1p-line);text-decoration:none}
.ad1p-pagination .current,.ad1p-pagination a:hover{color:var(--ad1-color-text-light,#fff);background:var(--ad1p-dark);border-color:var(--ad1p-dark);}

.ad1p-journey{position:relative;overflow:hidden;padding-block:58px;background:#e8e1d7}
.ad1p-journey::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(243,238,230,.82),rgba(243,238,230,.88)),var(--ad1p-journey-bg);background-size:cover;background-position:center;filter:saturate(.4)}
.ad1p-journey>.ad1p-shell{position:relative;z-index:1}
.ad1p-journey h2{margin:0 0 32px;font-family:var(--ad1-native-h2-family);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line);letter-spacing:var(--ad1-native-h2-spacing);font-family:var(--ad1-native-h2-family);font-size:var(--ad1-native-h2-size);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line);letter-spacing:var(--ad1-native-h2-spacing);}
.ad1p-journey__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ad1p-stage{position:relative;min-width:0;padding:18px 14px;border:1px solid rgba(41,35,30,.14);background:rgba(255,253,249,.74);backdrop-filter:blur(3px);transition:transform .28s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-color .28s ease}
.ad1p-stage:hover{transform:translateY(-5px);background:#fffdf9;border-color:var(--ad1p-accent)}
.ad1p-stage__icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:16px;border:1px solid rgba(41,35,30,.25);border-radius:50%;transition:color .25s ease,border-color .25s ease,transform .25s ease}
.ad1p-stage:hover .ad1p-stage__icon{color:var(--ad1p-accent);border-color:var(--ad1p-accent);transform:rotate(-3deg) scale(1.04)}
.ad1p-stage__icon svg{width:23px;height:23px;display:block;fill:currentColor}
.ad1p-stage small{display:block;color:var(--ad1p-accent);font-weight:var(--ad1-type-meta-weight,var(--e-global-typography-accent-font-weight,500));font-family:var(--ad1-type-meta-family,var(--ad1-native-accent-family));font-size:var(--ad1-native-meta-size);font-weight:var(--ad1-type-meta-weight,var(--e-global-typography-accent-font-weight,500));line-height:var(--ad1-native-meta-line);letter-spacing:var(--ad1-native-meta-spacing);}
.ad1p-stage h3{margin:.45em 0;font-family:var(--ad1-type-form-label-family,var(--ad1-native-accent-family));font-size:var(--ad1-type-form-label-size,13px);font-weight:var(--ad1-type-form-label-weight,500);line-height:var(--ad1-type-form-label-line-height,1.35);letter-spacing:var(--ad1-type-form-label-letter-spacing,.06em);}
.ad1p-stage p{margin:0;color:var(--ad1p-muted);line-height:var(--ad1-native-body-line);font-family:var(--ad1-native-body-family);font-size:var(--ad1-native-body-size);font-weight:var(--ad1-global-body-weight,var(--e-global-typography-text-font-weight,400));line-height:var(--ad1-native-body-line);letter-spacing:var(--ad1-native-body-spacing);}
.ad1p-cta{width:max-content;display:flex;align-items:center;justify-content:center;margin:30px auto 0;padding:14px 24px;color:var(--ad1-color-text-light,#fff);background:var(--ad1p-accent);border:1px solid var(--ad1p-accent);font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));text-transform:uppercase;text-decoration:none;transition:transform .25s ease,background-color .25s ease,color .25s ease;font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));}
.ad1p-cta:hover,.ad1p-cta:focus-visible{color:var(--ad1p-accent);background:transparent;transform:translateY(-2px)}

[data-ad1-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}
[data-ad1-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .ad1p-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad1p-journey__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .ad1p-shell{width:min(100% - 32px,760px)}
  .ad1p-hero{min-height:470px}
  .ad1p-featured{grid-template-columns:1fr;gap:26px;padding-top:28px}
  .ad1p-grid{grid-template-columns:1fr}
  .ad1p-card__media{min-height:260px}
  .ad1p-journey__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .ad1p-shell{width:min(100% - 24px,500px)}
  .ad1p-hero{min-height:430px}
  .ad1p-hero__content{padding-block:52px 26px}
  .ad1p-filters{gap:16px}
  .ad1p-card__copy{padding:18px}
  .ad1p-journey__grid{grid-template-columns:1fr}
  .ad1p-stage{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start}
  .ad1p-stage__icon{grid-row:1/4;margin:0}
  .ad1p-stage small,.ad1p-stage h3,.ad1p-stage p{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  .ad1p-card,.ad1p-card__image,.ad1p-stage,.ad1p-stage__icon,[data-ad1-reveal]{transition:none!important;transform:none!important}
  [data-ad1-reveal]{opacity:1}
}


/* AD1 0.4.0 — archive fidelity and web-app behaviour. */
.ad1p-hero__browse{width:max-content;display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--ad1-color-text-light,#fff);font-size:var(--ad1-native-body-size);font-weight:var(--ad1-global-body-weight,var(--e-global-typography-text-font-weight,400));letter-spacing:var(--ad1-native-body-spacing);text-transform:uppercase;text-decoration:none;}
.ad1p-hero__browse::after{content:"";width:42px;height:1px;background:var(--ad1p-accent);transition:width .25s ease}
.ad1p-hero__browse:hover::after,.ad1p-hero__browse:focus-visible::after{width:62px}
@media(max-width:767px){
  body.ad1-mobile-app-enabled .ad1p-hero{min-height:330px}
  body.ad1-mobile-app-enabled .ad1p-hero__content{padding-block:46px 28px}
  body.ad1-mobile-app-enabled .ad1p-featured{gap:18px;padding-block:18px 26px}
  body.ad1-mobile-app-enabled .ad1p-featured__media{border:4px solid #fff;border-radius:6px;box-shadow:0 12px 30px rgba(21,17,12,.12)}
  body.ad1-mobile-app-enabled .ad1p-featured__copy h2{margin:.3em 0;font-size:var(--ad1-native-h2-size)}
  body.ad1-mobile-app-enabled .ad1p-filters{position:relative;gap:10px;padding:10px 0;border:1px solid var(--ad1p-line);border-left:0;border-right:0}
  body.ad1-mobile-app-enabled .ad1p-filters a{padding:9px 12px;font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));}
  body.ad1-mobile-app-enabled .ad1p-filters a::after{bottom:-11px}
  body.ad1-mobile-app-enabled .ad1p-grid{gap:10px;padding-block:18px 28px}
  body.ad1-mobile-app-enabled .ad1p-card{overflow:visible;border-radius:4px;background:#fbf8f2;border:1px solid var(--ad1p-line);box-shadow:none;transform:none}
  body.ad1-mobile-app-enabled .ad1p-card:hover{transform:none;box-shadow:none}
  body.ad1-mobile-app-enabled .ad1p-card__media{min-height:0;display:grid;grid-template-columns:112px minmax(0,1fr);color:var(--ad1p-ink);background:#fbf8f2}
  body.ad1-mobile-app-enabled .ad1p-card__image{position:relative;inset:auto;width:112px;height:100%;min-height:118px;object-fit:cover;transform:none!important;filter:none!important}
  body.ad1-mobile-app-enabled .ad1p-card__veil{display:none}
  body.ad1-mobile-app-enabled .ad1p-card__copy{position:static;inset:auto;display:flex;flex-direction:column;justify-content:center;padding:13px 15px;color:var(--ad1p-ink)}
  body.ad1-mobile-app-enabled .ad1p-card__copy h2{margin:.25em 0 .35em;color:var(--ad1p-ink);font-size:var(--ad1-native-card-title-size);}
  body.ad1-mobile-app-enabled .ad1p-card__facts{gap:3px 8px;color:var(--ad1p-muted);font-size:var(--ad1-native-meta-size);}
  body.ad1-mobile-app-enabled .ad1p-card__facts span:not(:last-child)::after{margin-left:7px}
  body.ad1-mobile-app-enabled .ad1p-card .ad1p-link{margin-top:8px;font-size:var(--ad1-native-body-size);}
  body.ad1-mobile-app-enabled .ad1p-journey{padding-block:34px;color:var(--ad1-color-text-light,#f4efe7);background:#0a0c0d;}
  body.ad1-mobile-app-enabled .ad1p-journey::before{opacity:.12;background-image:var(--ad1p-journey-bg);filter:saturate(.2)}
  body.ad1-mobile-app-enabled .ad1p-journey h2{color:var(--ad1-color-text-light,#fff);font-size:var(--ad1-native-h2-size);}
  body.ad1-mobile-app-enabled .ad1p-journey__grid{gap:7px}
  body.ad1-mobile-app-enabled .ad1p-stage{grid-template-columns:40px minmax(0,1fr);column-gap:13px;padding:13px;color:var(--ad1-color-text-light,#fff);background:#ffffff08;border-color:#ffffff1c;backdrop-filter:none;}
  body.ad1-mobile-app-enabled .ad1p-stage__icon{width:40px;height:40px;color:var(--ad1-color-text-light,#fff);border-color:#ffffff3b;}
  body.ad1-mobile-app-enabled .ad1p-stage h3{color:var(--ad1-color-text-light,#fff);font-size:var(--ad1-type-form-label-size-mobile,12px);line-height:var(--ad1-type-form-label-line-height-mobile,1.35);}
  body.ad1-mobile-app-enabled .ad1p-stage p{color:var(--ad1-color-text-light,#c9c1b8);font-size:var(--ad1-native-body-size);}
}

/* 0.4.7 — legible editorial project-slider controls and mobile clearance. */
.ad1p-slider-controls {
  gap: 8px;
}

.ad1p-slider-controls button {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 0;
  color:var(--ad1-color-text-light,#fff);
  background: rgba(8,10,11,.42);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ad1p-slider-controls button:hover,
.ad1p-slider-controls button:focus-visible {
  color:var(--ad1-color-text-light,#fff);
  background: var(--ad1p-accent);
  border-color: var(--ad1p-accent);
}

.ad1p-slider-arrow,
.ad1p-slider-arrow svg {
  width: 22px;
  height: 22px;
  display: block;
  pointer-events: none;
}

.ad1p-slider-arrow svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ad1p-slider-controls > span:not(.ad1p-slider-arrow) {
  min-width: 64px;
  min-height: 46px;
  justify-content: center;
  padding-inline: 10px;
  color: rgba(255,255,255,.78);
  background: rgba(8,10,11,.42);
  border-top: 1px solid rgba(255,255,255,.24);
  border-bottom: 1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ad1p-slider-controls > span strong {
  color:var(--ad1-color-text-light,#fff);
}

.ad1p-slider-controls--paper button {
  color: var(--ad1p-ink);
  background: transparent;
  border-color: var(--ad1p-line);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ad1p-slider-controls--paper > span:not(.ad1p-slider-arrow) {
  color: var(--ad1p-muted);
  background: transparent;
  border-color: var(--ad1p-line);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ad1p-slider-controls--paper > span strong {
  color: var(--ad1p-ink);
}

@media(max-width:1024px) {
  body.ad1-mobile-app-enabled .ad1p-spotlight {
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
  }

  body.ad1-mobile-app-enabled .ad1p-spotlight__head {
    justify-content: flex-start;
  }

  body.ad1-mobile-app-enabled .ad1p-slider-controls--paper {
    margin: 0;
  }
}

/* AD1 0.4.1 — approved archive structure, production spotlight and controlled metadata. */
.ad1p-spotlight{padding-block:52px 38px}
.ad1p-spotlight__head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.ad1p-spotlight__head h2{margin:.35em 0 0;font-family:var(--ad1-native-h2-family);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line)}
.ad1p-slider-controls--paper{margin:0;color:var(--ad1p-ink)}
.ad1p-slider-controls--paper button{color:var(--ad1p-ink);border-color:var(--ad1p-line)}
.ad1p-spotlight__viewport{position:relative;min-height:420px}
.ad1p-spotlight__slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:48px;align-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s linear .55s}
.ad1p-spotlight__slide.is-active{position:relative;opacity:1;visibility:visible;transform:none;transition-delay:0s}
.ad1p-spotlight__media{display:block;overflow:hidden;border-radius:8px;background:#d8d0c6;box-shadow:0 18px 44px rgba(31,24,18,.1)}
.ad1p-spotlight__media img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.ad1p-spotlight__media:hover img{transform:scale(1.025)}
.ad1p-spotlight__copy h2{margin:.35em 0 .45em;font-family:var(--ad1-native-h2-family);font-weight:var(--ad1-global-h2-weight,var(--e-global-typography-secondary-font-weight,400));line-height:var(--ad1-native-h2-line)}
.ad1p-spotlight__copy h2 a{text-decoration:none}
.ad1p-spotlight__copy p{max-width:52ch;margin:1.25em 0;color:var(--ad1p-muted);line-height:var(--ad1-native-body-line)}
.ad1p-card__facts{display:grid;gap:5px;margin:0}
.ad1p-card__facts>div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline}
.ad1p-card__facts dt{color:var(--ad1-color-text-light,#fff9);font-size:var(--ad1-native-meta-size);font-weight:var(--ad1-type-meta-weight,var(--e-global-typography-accent-font-weight,500));letter-spacing:var(--ad1-native-meta-spacing);text-transform:uppercase;}
.ad1p-card__facts dd{margin:0;color:var(--ad1-color-text-light,#fff);}
.ad1p-card__facts>div:not(:last-child)::after{display:none}
.ad1p-card__facts span{display:none}
.ad1p-journey{padding-block:0;color:var(--ad1-color-text-light,#fff);background:#080a0b;}
.ad1p-journey::before{background-image:linear-gradient(90deg,rgba(8,10,11,.97),rgba(8,10,11,.84)),var(--ad1p-journey-bg);filter:saturate(.35)}
.ad1p-journey__layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2.2fr) minmax(210px,.72fr);gap:30px;align-items:center;padding-block:38px}
.ad1p-journey__intro h2,.ad1p-journey__cta h2{margin:0 0 12px;color:var(--ad1-color-text-light,#fff);font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));}
.ad1p-journey__intro p,.ad1p-journey__cta p{margin:0;color:var(--ad1-color-text-light,#c9c0b6);line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));}
.ad1p-journey__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.ad1p-stage{min-height:150px;padding:14px 9px;text-align:center;color:var(--ad1-color-text-light,#fff);background:transparent;border:0;border-left:1px solid #ffffff1d;backdrop-filter:none;}
.ad1p-stage:first-child{border-left:0}
.ad1p-stage:hover{transform:translateY(-3px);background:#ffffff08;border-color:#ffffff2e}
.ad1p-stage__icon{width:42px;height:42px;margin:0 auto 10px;color:var(--ad1-color-text-light,#fff);border-color:#ffffff42;}
.ad1p-stage small{color:var(--ad1p-accent)}
.ad1p-stage h3{margin:.4em 0;color:var(--ad1-color-text-light,#fff);font-family:var(--ad1-type-form-label-family,var(--ad1-native-accent-family));font-size:var(--ad1-type-form-label-size,13px);font-weight:var(--ad1-type-form-label-weight,500);line-height:var(--ad1-type-form-label-line-height,1.35);letter-spacing:var(--ad1-type-form-label-letter-spacing,.06em);}
.ad1p-stage p{margin:0;color:var(--ad1-color-meta-on-dark,#bfb7ae);font-size:var(--ad1-native-body-size);line-height:var(--ad1-native-body-line);}
.ad1p-journey__cta{padding-left:26px;border-left:1px solid #ffffff21}
.ad1p-journey__cta .ad1p-cta{width:100%;margin:20px 0 0}

@media(max-width:1180px){
  .ad1p-journey__layout{grid-template-columns:1fr}
  .ad1p-journey__intro,.ad1p-journey__cta{max-width:760px}
  .ad1p-journey__cta{padding:24px 0 0;border-left:0;border-top:1px solid #ffffff21}
}
@media(max-width:820px){
  .ad1p-spotlight{padding-top:28px}
  .ad1p-spotlight__head{align-items:flex-start;flex-direction:column}
  .ad1p-spotlight__slide{grid-template-columns:1fr;gap:22px}
  .ad1p-spotlight__viewport{min-height:0}
  .ad1p-journey__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:520px){
  .ad1p-spotlight__head h2{font-size:var(--ad1-native-h2-size)}
  .ad1p-spotlight__slide{gap:16px}
  .ad1p-spotlight__copy p{display:none}
  .ad1p-card__facts>div{grid-template-columns:1fr;gap:1px}
  .ad1p-card__facts dt{font-size:var(--ad1-native-meta-size);}
  .ad1p-card__facts dd{font-size:var(--ad1-native-meta-size);}
  .ad1p-journey__layout{padding-block:30px}
  .ad1p-journey__grid{grid-template-columns:1fr}
  .ad1p-stage{display:grid;grid-template-columns:42px 36px minmax(0,1fr);align-items:center;min-height:0;text-align:left;border-left:0;border-top:1px solid #ffffff18}
  .ad1p-stage:first-child{border-top:0}
  .ad1p-stage__icon{grid-column:1;grid-row:1/3;margin:0}
  .ad1p-stage small{grid-column:2;grid-row:1/3}
  .ad1p-stage h3,.ad1p-stage p{grid-column:3}
}
@media(prefers-reduced-motion:reduce){
  .ad1p-spotlight__slide,.ad1p-spotlight__media img{transition:none!important;transform:none!important}
}

/* 0.4.3 — approved mobile archive composition. */
.ad1p-mobile-filter{display:none}
.ad1p-stage summary{display:block;list-style:none;cursor:default}
.ad1p-stage summary::-webkit-details-marker{display:none}
.ad1p-stage summary>b{display:none}

@media(max-width:767px){
  body.ad1-mobile-app-enabled .ad1p-hero{min-height:300px}
  body.ad1-mobile-app-enabled .ad1p-hero__content{padding-block:44px 24px}
  body.ad1-mobile-app-enabled .ad1p-hero__content h1{font-size:var(--ad1-native-h1-size)}
  body.ad1-mobile-app-enabled .ad1p-hero__content p{max-width:34ch;font-size:var(--ad1-native-body-size)}
  body.ad1-mobile-app-enabled .ad1p-hero__browse{display:none}

  body.ad1-mobile-app-enabled .ad1p-spotlight{
    position:relative;
    z-index:3;
    margin-top:-28px;
    padding-top:0;
    padding-bottom:24px;
  }
  body.ad1-mobile-app-enabled .ad1p-spotlight__head{justify-content:flex-end;margin:0 0 10px}
  body.ad1-mobile-app-enabled .ad1p-spotlight__head>div:first-child{display:none}
  body.ad1-mobile-app-enabled .ad1p-spotlight__slide{gap:14px}
  body.ad1-mobile-app-enabled .ad1p-spotlight__media{border:4px solid #fff;border-radius:7px;box-shadow:0 12px 30px rgba(21,17,12,.16)}
  body.ad1-mobile-app-enabled .ad1p-spotlight__media img{aspect-ratio:16/9}
  body.ad1-mobile-app-enabled .ad1p-spotlight__copy h2{margin:.3em 0;font-size:var(--ad1-native-h2-size)}
  body.ad1-mobile-app-enabled .ad1p-spotlight__copy p{display:none}
  body.ad1-mobile-app-enabled .ad1p-spotlight__copy .ad1p-link{font-size:var(--ad1-native-body-size);}

  body.ad1-mobile-app-enabled .ad1p-filters{display:none}
  body.ad1-mobile-app-enabled .ad1p-mobile-filter{
    position:relative;
    z-index:4;
    display:block;
    border-top:1px solid var(--ad1p-line);
    border-bottom:1px solid var(--ad1p-line);
  }
  body.ad1-mobile-app-enabled .ad1p-mobile-filter summary{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    list-style:none;
    color:var(--ad1p-ink);
    font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));
    font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));
    font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));
    letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));
    text-transform:uppercase;
    cursor:pointer;
  }
  body.ad1-mobile-app-enabled .ad1p-mobile-filter summary::-webkit-details-marker{display:none}
  body.ad1-mobile-app-enabled .ad1p-mobile-filter summary span{display:inline-flex;align-items:center;gap:8px}
  body.ad1-mobile-app-enabled .ad1p-mobile-filter summary b{color:var(--ad1p-accent);font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));}
  body.ad1-mobile-app-enabled .ad1p-mobile-filter details>div{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    padding:0 0 12px;
  }
  body.ad1-mobile-app-enabled .ad1p-mobile-filter a{
    min-height:42px;
    display:flex;
    align-items:center;
    padding:9px 12px;
    border:1px solid var(--ad1p-line);
    color:var(--ad1p-ink);
    background:#faf7f1;
    font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));
    font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));
    text-decoration:none;
  }
  body.ad1-mobile-app-enabled .ad1p-mobile-filter a.is-active{color:var(--ad1-color-text-light,#fff);background:var(--ad1p-accent);border-color:var(--ad1p-accent);}

  body.ad1-mobile-app-enabled .ad1p-grid{gap:8px;padding-block:16px 24px}
  body.ad1-mobile-app-enabled .ad1p-card{border:0;border-bottom:1px solid var(--ad1p-line);border-radius:0;background:transparent}
  body.ad1-mobile-app-enabled .ad1p-card__media{
    position:relative;
    grid-template-columns:116px minmax(0,1fr);
    min-height:94px;
    background:transparent;
  }
  body.ad1-mobile-app-enabled .ad1p-card__image{
    align-self:center;
    width:116px;
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
    border-radius:5px;
  }
  body.ad1-mobile-app-enabled .ad1p-card__copy{min-width:0;padding:10px 40px 10px 12px}
  body.ad1-mobile-app-enabled .ad1p-card__copy h2{margin:.2em 0 .28em;font-size:var(--ad1-native-card-title-size);line-height:var(--ad1-native-card-title-line);}
  body.ad1-mobile-app-enabled .ad1p-card__facts{gap:2px;font-size:var(--ad1-native-meta-size);}
  body.ad1-mobile-app-enabled .ad1p-card__facts>div{display:flex;gap:5px}
  body.ad1-mobile-app-enabled .ad1p-card__facts dt{font-size:var(--ad1-native-meta-size);}
  body.ad1-mobile-app-enabled .ad1p-card__facts dd{font-size:var(--ad1-native-meta-size);}
  body.ad1-mobile-app-enabled .ad1p-card .ad1p-link{
    position:absolute;
    right:10px;
    top:50%;
    margin:0;
    color:var(--ad1p-accent);
    font-size:var(--ad1-native-body-size);
    transform:translateY(-50%);
  }
  body.ad1-mobile-app-enabled .ad1p-card .ad1p-link__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

  body.ad1-mobile-app-enabled .ad1p-pagination{padding-bottom:30px}
  body.ad1-mobile-app-enabled .ad1p-pagination .page-numbers:not(.next):not(.prev){display:none}
  body.ad1-mobile-app-enabled .ad1p-pagination .next{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ad1p-line);
    font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));
    font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));
    font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));
    letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));
  }

  body.ad1-mobile-app-enabled .ad1p-journey__intro{margin-bottom:18px}
  body.ad1-mobile-app-enabled .ad1p-journey__grid{display:block}
  body.ad1-mobile-app-enabled .ad1p-stage{min-height:0;padding:0;border:0;border-top:1px solid #ffffff1c;background:#ffffff06}
  body.ad1-mobile-app-enabled .ad1p-stage:first-child{border-top:0}
  body.ad1-mobile-app-enabled .ad1p-stage summary{
    min-height:64px;
    display:grid;
    grid-template-columns:42px 28px minmax(0,1fr) 24px;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    cursor:pointer;
  }
  body.ad1-mobile-app-enabled .ad1p-stage summary>b{display:block;color:var(--ad1-color-text-light,#fff);font-size:var(--ad1-native-lead-size);transition:transform .2s ease;}
  body.ad1-mobile-app-enabled .ad1p-stage[open] summary>b{transform:rotate(180deg)}
  body.ad1-mobile-app-enabled .ad1p-stage__icon{grid-column:1;grid-row:auto;width:40px;height:40px;margin:0}
  body.ad1-mobile-app-enabled .ad1p-stage small{grid-column:2;grid-row:auto}
  body.ad1-mobile-app-enabled .ad1p-stage h3{grid-column:3;margin:0}
  body.ad1-mobile-app-enabled .ad1p-stage p{grid-column:auto;margin:0;padding:0 44px 14px 90px}
  body.ad1-mobile-app-enabled .ad1p-journey__cta{padding-top:22px}

  /* Hero and Spotlight used to overlap and show two control rows. */
  body.ad1-mobile-app-enabled .ad1p-hero .ad1p-slider-controls{display:none}

  /* Desktop card metadata colours must not leak onto the ivory mobile list. */
  body.ad1-mobile-app-enabled .ad1p-card__facts dt{color:var(--ad1p-muted)}
  body.ad1-mobile-app-enabled .ad1p-card__facts dd{color:var(--ad1p-ink);font-weight:var(--ad1-type-meta-weight,var(--e-global-typography-accent-font-weight,500));}
}

/* Keep the single approved mobile control row on Spotlight and place it clear
   of the fixed app navigation. This must follow the legacy mobile layer. */
@media(max-width:1024px){
  body.ad1-mobile-app-enabled .ad1p-hero .ad1p-slider-controls{display:none}
  body.ad1-mobile-app-enabled .ad1p-spotlight{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  body.ad1-mobile-app-enabled .ad1p-spotlight__head{justify-content:flex-start}
  body.ad1-mobile-app-enabled .ad1p-slider-controls--paper{margin:0}
}


/* 0.5.7 — archive filter navigation is UI text, not display typography. */
.ad1p .ad1p-filters{
  gap:clamp(12px,1.8vw,26px);
  min-width:0;
  padding-block:14px;
}
.ad1p .ad1p-filters a{
  padding-block:8px;
  color:var(--ad1p-ink);
  font-family:var(--ad1-type-button-ui-family,var(--ad1-button-font-family,var(--ad1-native-accent-family)));
  font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));
  font-style:normal;
  font-weight:var(--ad1-type-button-ui-weight,var(--ad1-button-font-weight,500));
  line-height:var(--ad1-type-button-ui-line-height,var(--ad1-native-accent-line));
  letter-spacing:var(--ad1-type-button-ui-letter-spacing,var(--ad1-native-accent-spacing));
  white-space:nowrap;
}
.ad1p .ad1p-filters a::after{bottom:-15px}
@media(max-width:1180px){
  .ad1p .ad1p-filters{gap:18px}
  .ad1p .ad1p-filters a{font-size:var(--ad1-type-button-ui-size,var(--ad1-button-font-size,var(--ad1-native-accent-size)));}
}


/* 0.9.4 metadata separators: no decorative bullet collision */
.ad1p-meta span:not(:last-child)::after,.ad1p-card__facts span:not(:last-child)::after{content:"";width:1px;height:1em;margin-left:12px;background:currentColor;opacity:.28;}

/* Stage 46 — film titles always consume Primary. */
.ad1p-spotlight__copy h2,.ad1p-card__copy h2{font-family:var(--ad1-type-card-title-family,var(--ad1-native-h2-family));font-size:var(--ad1-native-card-title-size);font-weight:var(--ad1-type-card-title-weight,400);line-height:var(--ad1-native-card-title-line);letter-spacing:var(--ad1-native-card-title-spacing)}

/* Stage 52 — native Projects containment repair. */
.ad1p{overflow-x:clip}.ad1p *{box-sizing:border-box;min-width:0}.ad1p-shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.ad1p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ad1p-card{min-width:0}.ad1p-card__media{min-width:0}.ad1p-card img{max-width:100%;height:auto}.ad1p-pagination{overflow-wrap:anywhere}
@media(max-width:1024px){.ad1p-shell{width:min(100% - 64px,1120px)}.ad1p-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ad1p-shell{width:calc(100% - 28px)}.ad1p-grid{grid-template-columns:1fr}.ad1p-spotlight__slide{grid-template-columns:1fr}.ad1p-filters{display:none}}
@media(max-width:390px){.ad1p-shell{width:calc(100% - 24px)}}

/* Stage 54 — every reusable Project card title consumes card-title, never Primary. */
.ad1p-spotlight__copy h2,.ad1p-card__copy h2{
 font-family:var(--ad1-type-card-title-family,var(--ad1-native-h2-family))!important;font-size:var(--ad1-native-card-title-size)!important;font-weight:var(--ad1-type-card-title-weight,400)!important;line-height:var(--ad1-native-card-title-line)!important;letter-spacing:var(--ad1-native-card-title-spacing)!important
}


/* Stage 63 — approved Projects Archive visual contract.
 * Owner: Theme / Projects Archive only. No shared Form/People/News selectors. */
.ad1p .ad1p-hero{
  --ad1-hero-media-start:34%;
  --ad1-hero-copy-max:31rem;
  min-height:clamp(20rem,30vw,27rem);
  align-items:stretch;
  background:var(--ad1-color-background-dark);
}
.ad1p .ad1p-hero .ad1p-hero__media{
  inset:0 0 0 var(--ad1-hero-media-start);
  -webkit-mask:none;
  mask:none;
  background:var(--ad1-color-background-dark);
}
.ad1p .ad1p-hero .ad1p-hero__image{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;
}
.ad1p .ad1p-hero .ad1p-hero__veil{
  background:
    radial-gradient(ellipse 68% 130% at 30% 50%,color-mix(in srgb,var(--ad1-internal-hero-surface) 96%,transparent) 0 22%,color-mix(in srgb,var(--ad1-internal-hero-surface) 58%,transparent) 43%,transparent 66%),
    linear-gradient(90deg,var(--ad1-internal-hero-surface) 0 28%,color-mix(in srgb,var(--ad1-internal-hero-surface) 86%,transparent) 38%,color-mix(in srgb,var(--ad1-internal-hero-surface) 36%,transparent) 52%,transparent 66%),
    linear-gradient(0deg,var(--ad1-internal-hero-surface) 0,color-mix(in srgb,var(--ad1-internal-hero-surface) 62%,transparent) 10%,transparent 27%);
}
.ad1p .ad1p-hero__content{
  min-height:inherit;
  justify-content:center;
  padding-block:clamp(3rem,6vw,5rem);
}
.ad1p .ad1p-hero__copy{max-width:31rem}
.ad1p .ad1p-hero__copy h1{color:var(--ad1-color-text-light)}
.ad1p .ad1p-hero__copy>p{color:var(--ad1-color-text-light)}
.ad1p .ad1p-hero__browse{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.4rem;color:var(--ad1-color-accent);font-family:var(--ad1-type-button-ui-family);font-size:var(--ad1-type-button-ui-size);font-weight:var(--ad1-type-button-ui-weight);line-height:var(--ad1-type-button-ui-line-height);letter-spacing:var(--ad1-type-button-ui-letter-spacing);text-decoration:none;text-transform:uppercase}

/* The approved archive has one Featured Project directly after the Hero — no
   second archive heading and no competing carousel owner. */
.ad1p .ad1p-featured{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(2rem,4.4vw,4rem) clamp(1.75rem,3.2vw,3rem)}
.ad1p .ad1p-featured__media{border-radius:.45rem;box-shadow:none;background:var(--ad1-color-border-on-light)}
.ad1p .ad1p-featured__media img{aspect-ratio:16/9;object-fit:cover}
.ad1p .ad1p-featured__copy h2{margin:.45rem 0 1rem;font-family:var(--ad1-type-card-title-family);font-size:var(--ad1-type-card-title-size);font-weight:var(--ad1-type-card-title-weight);line-height:var(--ad1-type-card-title-line-height);letter-spacing:var(--ad1-type-card-title-letter-spacing)}
.ad1p .ad1p-featured__copy>p{font-family:var(--ad1-type-text-family);font-size:var(--ad1-type-text-size);font-weight:var(--ad1-type-text-weight);line-height:var(--ad1-type-text-line-height);letter-spacing:var(--ad1-type-text-letter-spacing)}
.ad1p .ad1p-meta{color:var(--ad1-color-meta-on-light);font-family:var(--ad1-type-meta-family);font-size:var(--ad1-type-meta-size);font-weight:var(--ad1-type-meta-weight);line-height:var(--ad1-type-meta-line-height);letter-spacing:var(--ad1-type-meta-letter-spacing)}

.ad1p .ad1p-filters{padding-block:.8rem;gap:clamp(1.2rem,3vw,3.4rem)}
.ad1p .ad1p-grid{gap:clamp(.9rem,1.5vw,1.35rem);padding-block:clamp(1.4rem,2.5vw,2.4rem) clamp(2.5rem,4vw,4rem)}
.ad1p .ad1p-card{border-radius:.35rem;box-shadow:none}
.ad1p .ad1p-card__media{min-height:clamp(15rem,24vw,22rem);background:var(--ad1-color-background-dark)}
.ad1p .ad1p-card__veil{background:linear-gradient(0deg,color-mix(in srgb,var(--ad1-color-background-dark) 98%,transparent) 0 13%,color-mix(in srgb,var(--ad1-color-background-dark) 78%,transparent) 34%,color-mix(in srgb,var(--ad1-color-background-dark) 18%,transparent) 66%,transparent 84%)}
.ad1p .ad1p-card__copy{padding:clamp(1rem,1.7vw,1.45rem)}
.ad1p .ad1p-card__type,.ad1p .ad1p-card__genre{color:var(--ad1-color-accent);font-family:var(--ad1-type-meta-family);font-size:var(--ad1-type-meta-size);font-weight:var(--ad1-type-meta-weight);line-height:var(--ad1-type-meta-line-height);letter-spacing:var(--ad1-type-meta-letter-spacing);text-transform:uppercase}
.ad1p .ad1p-card__genre{position:absolute;z-index:2;top:1rem;right:1rem}
.ad1p .ad1p-card__copy h2{color:var(--ad1-color-text-light)!important}
.ad1p .ad1p-card__director,.ad1p .ad1p-card__status{margin:.25rem 0;color:var(--ad1-color-meta-on-dark);font-family:var(--ad1-type-meta-family);font-size:var(--ad1-type-meta-size);font-weight:var(--ad1-type-meta-weight);line-height:var(--ad1-type-meta-line-height);letter-spacing:var(--ad1-type-meta-letter-spacing)}
.ad1p .ad1p-card__status{display:flex;flex-wrap:wrap;gap:.45rem .8rem}
.ad1p .ad1p-card .ad1p-link{color:var(--ad1-color-text-light);font-family:var(--ad1-type-button-ui-family);font-size:var(--ad1-type-button-ui-size);font-weight:var(--ad1-type-button-ui-weight);line-height:var(--ad1-type-button-ui-line-height);letter-spacing:var(--ad1-type-button-ui-letter-spacing)}
.ad1p .ad1p-card .ad1p-link__icon{color:var(--ad1-color-accent)}

/* Scope the reusable stages component to the Projects mockup without changing
   Festival or other consumers. */
.ad1p .ad1p-stages-cta{margin-top:0}
.ad1p .ad1p-stages-cta .ad1-stages-cta__inner{grid-template-columns:minmax(12rem,.65fr) minmax(0,2.5fr);gap:1.6rem 2rem}
.ad1p .ad1p-stages-cta .ad1-stages-cta__grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.ad1p .ad1p-stages-cta .ad1-stages-cta__stage{min-height:6.5rem}

@media(max-width:1024px){
  .ad1p .ad1p-featured{grid-template-columns:1fr 1fr;gap:2rem}
  .ad1p .ad1p-stages-cta .ad1-stages-cta__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  .ad1p .ad1p-hero{min-height:20rem;display:block}
  .ad1p .ad1p-hero.has-image .ad1p-hero__media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;display:block!important}
  .ad1p .ad1p-hero.has-image .ad1p-hero__media>img,.ad1p .ad1p-hero.has-image picture.ad1p-hero__media>img{object-fit:cover!important;object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important}
  .ad1p .ad1p-hero .ad1p-hero__veil{inset:0;height:auto;background:linear-gradient(90deg,color-mix(in srgb,var(--ad1-internal-hero-surface) 88%,transparent) 0 12%,color-mix(in srgb,var(--ad1-internal-hero-surface) 42%,transparent) 48%,transparent 76%),linear-gradient(0deg,var(--ad1-internal-hero-surface) 0,color-mix(in srgb,var(--ad1-internal-hero-surface) 82%,transparent) 22%,color-mix(in srgb,var(--ad1-internal-hero-surface) 24%,transparent) 58%,transparent 82%)}
  .ad1p .ad1p-hero__content{position:relative;z-index:2;min-height:20rem;justify-content:flex-end;padding:5rem 0 2rem}
  .ad1p .ad1p-hero__copy{max-width:22rem}
  .ad1p .ad1p-hero__browse{display:inline-flex!important}
  .ad1p .ad1p-featured{grid-template-columns:1fr;gap:1rem;padding-top:0;position:relative;z-index:3;margin-top:-1rem}
  .ad1p .ad1p-featured__media{border:3px solid var(--ad1-color-background-light);border-radius:.4rem}
  .ad1p .ad1p-featured__copy{padding:.25rem .35rem 0}
  .ad1p .ad1p-grid{gap:.65rem}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__media{display:grid;grid-template-columns:7.25rem minmax(0,1fr);min-height:6.5rem;color:var(--ad1-color-text-dark);background:transparent}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__veil{display:none}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__copy h2{color:var(--ad1-color-text-dark)!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__type{color:var(--ad1-color-accent)}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__director,body.ad1-mobile-app-enabled .ad1p .ad1p-card__status{color:var(--ad1-color-meta-on-light)}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card .ad1p-link{color:var(--ad1-color-accent)}
  .ad1p .ad1p-stages-cta .ad1-stages-cta__grid{grid-template-columns:1fr}
}


/* Stage 64 — Projects Archive mobile media preservation.
 * Mobile listing thumbnails are source images, not crop windows/cards. */
@media(max-width:767px){
  body.ad1-mobile-app-enabled .ad1p .ad1p-card{
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__media{
    display:grid!important;
    grid-template-columns:7.25rem minmax(0,1fr)!important;
    align-items:center!important;
    min-height:7rem!important;
    overflow:visible!important;
    background:transparent!important;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__image{
    position:relative!important;
    inset:auto!important;
    width:7.25rem!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    align-self:center!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
    transform:none!important;
    filter:none!important;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__copy{align-self:stretch!important;justify-content:center!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__genre{position:static!important;margin:0 0 .15rem!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__facts>div{flex-wrap:wrap!important}
}


/* Stage 64 — Projects featured metadata + hero preservation. */
.ad1p .ad1p-meta .ad1-inline-icon{width:1.1rem!important;height:1.1rem!important;flex:0 0 1.1rem!important}
.ad1p .ad1p-meta b{font:inherit!important;color:inherit!important;letter-spacing:inherit!important}
@media(max-width:767px){
  .ad1p .ad1p-hero.has-image .ad1p-hero__media>img,
  .ad1p .ad1p-hero.has-image picture.ad1p-hero__media>img{
    object-fit:contain!important;
    object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important;
    background:var(--ad1-color-background-dark)!important;
  }
}

/* Stage 65 — Projects Archive card interaction + CTA restoration companion.
 * Archive Hero from Stage 63/64 is intentionally preserved. */
@media(min-width:768px){
  .ad1p .ad1p-grid{padding-block:1rem 1.75rem}
  .ad1p .ad1p-card{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ad1p .ad1p-card__media{
    position:relative!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:var(--ad1-color-background-dark)!important;
  }
  .ad1p .ad1p-card__image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    transform:none!important;
    filter:none!important;
    transition:transform .42s ease,filter .3s ease!important;
  }
  .ad1p .ad1p-card__veil{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(0deg,
      color-mix(in srgb,var(--ad1-color-background-dark) 98%,transparent) 0 8%,
      color-mix(in srgb,var(--ad1-color-background-dark) 80%,transparent) 26%,
      color-mix(in srgb,var(--ad1-color-background-dark) 34%,transparent) 52%,
      transparent 76% 100%)!important;
    transition:background .3s ease!important;
  }
  .ad1p .ad1p-card__copy{
    position:absolute!important;
    inset:auto 0 0!important;
    z-index:2!important;
    padding:1.25rem!important;
    color:var(--ad1-color-text-light)!important;
  }
  .ad1p .ad1p-card__copy :is(.ad1p-card__type,.ad1p-card__director,.ad1p-card__meta,.ad1p-card__status){color:var(--ad1-color-meta-on-dark)!important}
  .ad1p .ad1p-card__copy h2,
  .ad1p .ad1p-card__copy h2 a{color:var(--ad1-color-text-light)!important}
  .ad1p .ad1p-card .ad1p-link{
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(.55rem)!important;
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
    color:var(--ad1-color-text-light)!important;
  }
  .ad1p .ad1p-card:hover .ad1p-link,
  .ad1p .ad1p-card:focus-within .ad1p-link{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important;
  }
  .ad1p .ad1p-card:hover .ad1p-card__image,
  .ad1p .ad1p-card:focus-within .ad1p-card__image{transform:scale(1.025)!important}
  .ad1p .ad1p-card:hover .ad1p-card__veil,
  .ad1p .ad1p-card:focus-within .ad1p-card__veil{
    background:linear-gradient(0deg,
      color-mix(in srgb,var(--ad1-color-background-dark) 100%,transparent) 0 10%,
      color-mix(in srgb,var(--ad1-color-background-dark) 88%,transparent) 31%,
      color-mix(in srgb,var(--ad1-color-background-dark) 42%,transparent) 58%,
      transparent 80% 100%)!important;
  }
}

@media(max-width:767px){
  body.ad1-mobile-app-enabled .ad1p .ad1p-grid{padding-block:.75rem 1.25rem!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card{border:0!important;box-shadow:none!important;background:transparent!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__media{
    grid-template-columns:minmax(6.25rem,34%) minmax(0,1fr)!important;
    min-height:0!important;
    overflow:visible!important;
    background:transparent!important;
    border-bottom:1px solid var(--ad1-color-border-on-light)!important;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__image{
    position:relative!important;
    inset:auto!important;
    align-self:center!important;
    width:100%!important;
    height:auto!important;
    max-height:8.5rem!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
    transform:none!important;
    filter:none!important;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__copy{padding:.9rem 2.5rem .9rem .85rem!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__veil{display:none!important}
  body.ad1-mobile-app-enabled .ad1p .ad1p-card .ad1p-link{opacity:1!important;visibility:visible!important;transform:none!important}
}

/* Stage 66 — Projects Archive rotators. The accepted archive/featured geometry is
 * preserved; only media/content state and controls are added. */
.ad1p-hero[data-ad1-project-rotator] .ad1p-hero__slide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .45s ease,visibility .45s ease;
}
.ad1p-hero[data-ad1-project-rotator] .ad1p-hero__slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ad1p-featured-rotator{position:relative}
.ad1p-featured-rotator__slides{position:relative}
.ad1p-featured-rotator .ad1p-featured__slide{display:none}
.ad1p-featured-rotator .ad1p-featured__slide.is-active{display:grid}
.ad1p-rotator-controls{
  display:flex;
  align-items:center;
  gap:.7rem;
  color:var(--ad1-color-meta-on-dark);
  font-family:var(--ad1-type-meta-family);
  font-size:var(--ad1-type-meta-size);
  font-weight:var(--ad1-type-meta-weight);
  line-height:var(--ad1-type-meta-line-height);
  letter-spacing:var(--ad1-type-meta-letter-spacing);
}
.ad1p-rotator-controls button{
  display:inline-grid;
  place-items:center;
  min-width:2.5rem;
  min-height:2.5rem;
  padding:0;
  border:1px solid var(--ad1-color-border-on-dark);
  background:transparent;
  color:var(--ad1-color-text-light);
  font-family:var(--ad1-type-button-ui-family);
  font-size:var(--ad1-type-button-ui-size);
  font-weight:var(--ad1-type-button-ui-weight);
  cursor:pointer;
}
.ad1p-rotator-controls button:hover,.ad1p-rotator-controls button:focus-visible{border-color:var(--ad1-color-accent);color:var(--ad1-color-text-light);outline:0}
.ad1p-hero__controls{margin-top:1rem}
.ad1p-rotator-progress{width:7rem;height:1px;background:var(--ad1-color-border-on-dark);position:relative;overflow:hidden}
.ad1p-rotator-progress::before{content:"";display:block;width:28%;height:100%;background:var(--ad1-color-accent)}
.ad1p-featured__controls{justify-content:flex-end;margin:-.35rem 0 1rem;color:var(--ad1-color-meta-on-light)}
.ad1p-featured__controls button{border-color:var(--ad1-color-border-on-light);color:var(--ad1-color-text-dark)}

@media(max-width:767px){
  .ad1p-hero__controls{margin-top:.8rem}
  .ad1p-rotator-progress{flex:1;max-width:8rem}
  .ad1p-featured__controls{justify-content:space-between;margin:.4rem 0 1rem}
}
@media(prefers-reduced-motion:reduce){.ad1p-hero[data-ad1-project-rotator] .ad1p-hero__slide{transition:none}}

/* Stage 67 — each Projects Hero slide owns its image, logline and project CTA. */
.ad1p-hero__dynamic{position:relative;min-height:9.5rem}
.ad1p-hero__copy-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.ad1p-hero__copy-slide.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}
.ad1p-hero__project-title{display:block;margin-bottom:.55rem;color:var(--ad1-color-meta-on-dark);font-family:var(--ad1-type-meta-family);font-size:var(--ad1-type-meta-size);font-weight:var(--ad1-type-meta-weight);line-height:var(--ad1-type-meta-line-height);letter-spacing:var(--ad1-type-meta-letter-spacing);text-transform:uppercase}
.ad1p .ad1p-hero__copy-slide p{color:var(--ad1-color-text-light);font-family:var(--ad1-type-lead-family);font-size:var(--ad1-type-lead-size);font-weight:var(--ad1-type-lead-weight);line-height:var(--ad1-type-lead-line-height);letter-spacing:var(--ad1-type-lead-letter-spacing)}
@media(max-width:767px){
  .ad1p-hero__dynamic{min-height:10rem}
  .ad1p-hero__copy-slide{padding-right:.25rem}
}

/* Stage 70 — the active Project name inside the archive Hero is a real editorial
 * title, not metadata. It reads the Secondary Global while the page H1 remains Primary. */
.ad1p .ad1p-hero__project-title{
  display:block;
  max-width:20ch;
  margin:0 0 .45rem;
  color:var(--ad1-color-text-light);
  font-family:var(--ad1-type-secondary-family,var(--ad1-native-h2-family));
  font-size:var(--ad1-type-secondary-size,var(--ad1-native-h2-size));
  font-weight:var(--ad1-type-secondary-weight,var(--ad1-global-h2-weight,400));
  line-height:var(--ad1-type-secondary-line-height,var(--ad1-native-h2-line));
  letter-spacing:var(--ad1-type-secondary-letter-spacing,var(--ad1-native-h2-spacing));
  text-transform:none;
  text-wrap:balance;
}


.ad1p .ad1p-featured__media picture{display:block;width:100%}

/* Stage 77 — Mobile Projects rotator/layout repair.
 * Desktop geometry is intentionally untouched. The shared Hero remains the
 * media-window owner; this block owns Projects rotator state and Projects-only
 * responsive composition. */
@media(max-width:767px){
  /* Shared Hero makes media relative on phones. Hidden rotator slides must be
     removed from flow or every invisible slide reserves another media-height. */
  .ad1p .ad1p-hero[data-ad1-project-rotator] .ad1p-hero__slide:not(.is-active){display:none!important}
  .ad1p .ad1p-hero[data-ad1-project-rotator] .ad1p-hero__slide.is-active{display:block!important}

  /* The active copy follows the one visible media frame; no desktop-sized
     placeholder is allowed to create a second blank mobile panel. */
  .ad1p .ad1p-hero__dynamic{min-height:0}
  .ad1p .ad1p-hero__copy-slide{padding-right:0}
  .ad1p .ad1p-hero__project-title{
    font-size:var(--ad1-native-h2-size);
    line-height:var(--ad1-native-h2-line);
    letter-spacing:var(--ad1-native-h2-spacing);
  }
  .ad1p .ad1p-hero__copy-slide p{
    font-size:var(--ad1-native-lead-size);
    line-height:var(--ad1-native-lead-line);
    letter-spacing:var(--ad1-native-lead-spacing);
  }

  /* Stage 79 — Featured Project is a fixed horizontal frame on every slide.
     The Featured Image is the canonical source, with the horizontal Hero image
     only as fallback. Do not switch to the vertical/mobile project asset here. */
  .ad1p .ad1p-featured__media picture{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
  }
  .ad1p .ad1p-featured__media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .ad1p .ad1p-featured__copy h2{
    font-size:var(--ad1-native-card-title-size);
    line-height:var(--ad1-native-card-title-line);
    letter-spacing:var(--ad1-native-card-title-spacing);
  }
  .ad1p .ad1p-featured__copy>p{
    font-size:var(--ad1-native-body-size);
    line-height:var(--ad1-native-body-line);
    letter-spacing:var(--ad1-native-body-spacing);
  }

  /* Projects-specific Stage CTA had a later desktop min-height that overrode
     the reusable phone contract. Restore compact rows and readable wrapping. */
  .ad1p .ad1p-stages-cta .ad1-stages-cta__inner{
    grid-template-columns:1fr;
    grid-template-areas:"head" "stages" "action";
    gap:1rem;
  }
  .ad1p .ad1p-stages-cta .ad1-stages-cta__stage{
    min-height:0;
    padding:.8rem .85rem;
  }
  .ad1p .ad1p-stages-cta .ad1-stages-cta__button,
  .ad1p .ad1p-stages-cta .ad1-stages-cta__button:hover,
  .ad1p .ad1p-stages-cta .ad1-stages-cta__button:focus-visible{
    color:var(--ad1-color-text-light);
  }
}

/* Stage 78 — project archive list cards use the project-owned vertical image on phones. */
@media(max-width:767px){
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__picture{
    display:block;
    width:100%;
    min-width:0;
    align-self:center;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__picture.has-mobile-source{
    aspect-ratio:3/4;
    overflow:hidden;
  }
  body.ad1-mobile-app-enabled .ad1p .ad1p-card__picture.has-mobile-source .ad1p-card__image{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
  }
}
