/* moatazart.com — one stylesheet, no framework */

@font-face {
  font-family: 'Instrument Sans';
  src: url('../fonts/instrument-sans-var.woff2') format('woff2-variations'), url('../fonts/instrument-sans-var.woff2') format('woff2');
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Anybody';
  src: url('../fonts/anybody-var-latin.woff2') format('woff2-variations'), url('../fonts/anybody-var-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Anybody';
  src: url('../fonts/anybody-var-latin-ext.woff2') format('woff2-variations'), url('../fonts/anybody-var-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 50% 150%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  src: url('../fonts/instrument-serif-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  color-scheme: dark;
  --bg: #16181a;
  --bg-2: #1f2225;
  --paper: #efece6;
  --ink: #f4f2ee;
  --ink-2: #b9bec5;
  --ink-3: #9aa0a8;
  --line: #2d3135;
  --accent: #dc302b;      /* fills: playhead, strips, buttons */
  --accent-ink: #ff5d55;  /* red text on charcoal (AA contrast) */
  --sans: 'Instrument Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --display: 'Anybody', 'Arial Narrow', 'Helvetica Neue', sans-serif;
  --serif: 'Instrument Serif', 'Times New Roman', serif;
  --m: clamp(16px, 3.6vw, 56px);
  --gap: clamp(12px, 1.6vw, 24px);
  --head-h: 72px;
  --ease: cubic-bezier(.2, .7, .1, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --t-s: 12px;
  --t-meta: 13px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--head-h) + 16px); }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.5;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, p, dl, dd, figure, ul, ol { margin: 0; padding: 0; }
ul, ol { list-style: none; }
sup { font-size: .55em; vertical-align: super; line-height: 0; margin-left: .15em; font-variant-numeric: tabular-nums; letter-spacing: 0; color: var(--ink-3); }
::selection { background: var(--ink); color: var(--bg); }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }

.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 12px; top: -60px; z-index: 100; background: var(--ink); color: var(--bg); padding: 10px 14px; transition: top .2s; }
.skip:focus { top: 12px; }

.label {
  font-size: var(--t-meta);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}
.icon { width: 1em; height: 1em; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.icon--big { width: .8em; height: .8em; stroke-width: 1.4; }

/* ---------- header ---------- */
.site-head {
  position: sticky; top: 0; z-index: 50;
  height: var(--head-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--m);
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  transition: transform .45s var(--ease), box-shadow .3s;
  view-transition-name: site-head;
}
.site-head.is-hidden { transform: translateY(-100%); }
.site-head.is-scrolled { box-shadow: 0 1px 0 var(--line); }
.logo { display: inline-flex; align-items: center; color: var(--ink); }
.logo__mark { width: 40px; height: 40px; transition: transform .45s var(--ease); }
.logo:hover .logo__mark { transform: scale(1.06); }
.logo::after { display: none; }
.nav ul { display: flex; gap: clamp(20px, 3vw, 44px); }
.nav a, .logo { position: relative; padding: 6px 0; font-size: 15px; }
.nav a { font-weight: 500; letter-spacing: .06em; text-transform: uppercase; font-stretch: 90%; }
.nav a::after, .link-arrow::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease);
}
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.nav a[aria-current="page"]::before { content: ''; position: absolute; left: -11px; top: 50%; width: 5px; height: 5px; margin-top: -2px; border-radius: 50%; background: var(--accent); }
.menu-btn { display: none; align-items: center; gap: 10px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; padding: 10px 0; }
.menu-btn__bars { width: 22px; height: 8px; position: relative; }
.menu-btn__bars::before, .menu-btn__bars::after { content: ''; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; transition: transform .4s var(--ease); }
.menu-btn__bars::before { top: 0; } .menu-btn__bars::after { bottom: 0; }
.menu-btn[aria-expanded="true"] .menu-btn__bars::before { transform: translateY(3.25px) rotate(45deg); }
.menu-btn[aria-expanded="true"] .menu-btn__bars::after { transform: translateY(-3.25px) rotate(-45deg); }

.menu {
  position: fixed; inset: 0; z-index: 40; background: var(--bg);
  padding: calc(var(--head-h) + 24px) var(--m) var(--m);
  display: flex; flex-direction: column; justify-content: space-between;
}
.menu[hidden] { display: none; }
.menu li { overflow: hidden; }
.menu a { display: flex; align-items: baseline; gap: 14px; font-family: var(--display); text-transform: uppercase; font-size: clamp(48px, 15vw, 96px); font-weight: 700; font-stretch: 76%; letter-spacing: -.01em; line-height: 1.04; }
.menu a span { font-family: var(--sans); font-weight: 500; font-size: 13px; letter-spacing: .08em; color: var(--ink-3); font-stretch: 100%; }
.menu a[aria-current="page"] { color: var(--accent-ink); }
.menu.is-open li > a { animation: rise .7s var(--ease) both; animation-delay: calc(var(--i) * 60ms + 60ms); }
.menu__foot { display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--ink-2); }
@keyframes rise { from { transform: translateY(105%); } to { transform: none; } }

main { display: block; }
main:focus { outline: none; }

/* ---------- reveals ---------- */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: var(--d, 0ms); }
.js .reveal.in { opacity: 1; transform: none; }
.reveal-line { display: block; overflow: hidden; padding-bottom: .16em; margin-bottom: -.16em; }
.reveal-line > span { display: block; }
.js .reveal-line > span { transform: translateY(105%); transition: transform 1.05s var(--ease); transition-delay: var(--d, 0ms); }
.js .reveal-line.in > span { transform: none; }

/* ---------- sections ---------- */
.sec-head { display: flex; justify-content: space-between; align-items: baseline; padding: 0 var(--m); margin-bottom: clamp(28px, 4vw, 56px); }
.selected { padding-top: clamp(80px, 13vh, 160px); }
.link-arrow { position: relative; display: inline-flex; align-items: center; gap: .5em; font-size: 15px; font-weight: 500; padding: 4px 0; }
.link-arrow .icon { transition: transform .45s var(--ease); }
.link-arrow:hover::after { transform: scaleX(1); transform-origin: left; }
.link-arrow:hover .icon { transform: translateX(4px); }

/* irregular composition */
.compose { padding: 0 var(--m); display: grid; gap: clamp(56px, 9vw, 140px); }
.compose--home { gap: clamp(64px, 11vw, 170px); }
.row { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); align-items: start; }
.cell { margin-top: var(--off, 0); min-width: 0; }
.row .cell:nth-child(2) { align-self: var(--align, start); }
.cs-work .row:nth-child(even) .cell:nth-child(2) { align-self: end; }

/* media */
.media { position: relative; width: 100%; background: var(--ph, transparent); overflow: hidden; }
.media img, .media video { width: 100%; height: 100%; object-fit: cover; }
.media--alpha { background: var(--paper); }
.media--alpha img { object-fit: contain; }
.media--missing { background: var(--bg-2); display: grid; place-items: center; font-size: 11px; color: var(--ink-3); padding: 12px; text-align: center; }
.media img { opacity: 1; transition: opacity .6s var(--ease); }
.js .media img[loading="lazy"]:not(.is-loaded) { opacity: 0; }
.media--film { background: #000; }
.media--film video { object-fit: contain; }
.film__play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 12px; padding: 14px 22px 14px 16px;
  background: var(--bg); color: var(--ink); border-radius: 100px; font-size: 14px; font-weight: 500;
  transition: transform .4s var(--ease), background .3s;
}
.film__play svg { width: 22px; height: 22px; fill: var(--accent-ink); }
.film__play em { font-style: normal; color: var(--ink-3); margin-left: 4px; font-variant-numeric: tabular-nums; }
.film__play:hover { transform: translate(-50%, -50%) scale(1.04); }
.media--film.is-playing .film__play { opacity: 0; pointer-events: none; }
figcaption { margin-top: 10px; font-size: var(--t-meta); color: var(--ink-2); }

/* cards */
.card { display: block; }
.card .media { transition: transform .9s var(--ease), border-radius .6s var(--ease); }
.card .media img, .card .media video { transition: transform 1.2s var(--ease); }
.card:hover .media:not(.media--alpha) img, .card:hover .media video { transform: scale(1.035); }
.card:hover .media--alpha img { transform: translateY(-6px); }
.card__meta { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; row-gap: 2px; margin-top: 14px; align-items: baseline; }
.card__idx { grid-row: 1 / span 3; font-size: 12px; color: var(--ink-3); font-variant-numeric: tabular-nums; padding-top: .3em; }
.card__title { font-size: clamp(19px, 1.5vw, 24px); font-weight: 500; font-stretch: 92%; letter-spacing: -.01em; line-height: 1.15; position: relative; width: fit-content; }
.card__title::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .5s var(--ease); }
.card:hover .card__title::after, .card:focus-visible .card__title::after { transform: scaleX(1); transform-origin: left; }
.card__client { font-size: 15px; color: var(--ink); }
.card__disc { font-size: var(--t-meta); color: var(--ink-2); }

/* home thumbnail grid */
.tiles { padding: 0 var(--m); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(8px, .9vw, 14px); }
.tile { position: relative; display: block; overflow: hidden; background: var(--bg-2); isolation: isolate; }
.tile .media { aspect-ratio: 4 / 3 !important; height: auto; }
.tile .media img, .tile .media video { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.tile__info { position: absolute; inset: auto 0 0 0; z-index: 2; display: grid; gap: 2px; padding: clamp(14px, 1.6vw, 22px); padding-top: 30%; color: #fff;
  background: linear-gradient(to top, rgba(10,10,9,.82) 0%, rgba(10,10,9,.45) 55%, rgba(10,10,9,0) 100%);
  opacity: 0; transition: opacity .45s var(--ease); }
.tile__info > span { transform: translateY(10px); transition: transform .6s var(--ease); }
.tile__title { font-size: clamp(18px, 1.55vw, 26px); font-weight: 500; font-stretch: 92%; letter-spacing: -.01em; line-height: 1.12; }
.tile__client { font-size: 15px; opacity: .9; }
.tile__disc { font-size: 13px; opacity: .7; margin-top: 2px; }
.tile:hover .tile__info, .tile:focus-visible .tile__info { opacity: 1; }
.tile:hover .tile__info > span, .tile:focus-visible .tile__info > span { transform: none; }
.tile:hover .media img, .tile:hover .media video { transform: scale(1.04); }
.tile:focus-visible { outline-offset: 4px; }
@media (hover: none) {
  .tile__info { opacity: 1; padding-top: 24%; }
  .tile__info > span { transform: none; }
  .tile__disc { display: none; }
}
@media (max-width: 1100px) { .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tile__title { font-size: 15px; } .tile__client { font-size: 12px; } }

/* home about + clients + cta */
.home-about { padding: clamp(110px, 16vh, 200px) var(--m) 0; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 24px; }
.home-about .label { grid-column: 1 / span 3; }
.home-about__text { grid-column: 4 / span 8; font-size: clamp(24px, 2.6vw, 42px); line-height: 1.18; letter-spacing: -.02em; font-weight: 500; font-stretch: 92%; }
.home-about .link-arrow { grid-column: 4 / span 4; justify-self: start; }

.clients { padding: clamp(110px, 16vh, 200px) var(--m) 0; }
.clients__title { text-align: center; font-size: clamp(30px, 3.4vw, 52px); font-weight: 400; font-stretch: 92%; letter-spacing: -.02em; line-height: 1.1; color: var(--ink-3); margin-bottom: clamp(48px, 7vw, 104px); }
.clients__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1180px; margin: 0 auto; row-gap: clamp(48px, 6vw, 96px); column-gap: var(--gap); }
.clients__list li { display: grid; place-items: center; min-height: clamp(90px, 9vw, 130px); }
.clients__list img { width: var(--dw, 140px); max-width: 100%; height: auto; filter: brightness(0) invert(1); opacity: .88; transition: transform .5s var(--ease), opacity .5s var(--ease); }
.clients__list li:hover img { opacity: 1; }
.clients__list li:hover img { transform: scale(1.05); }

.cta { padding: clamp(120px, 18vh, 220px) var(--m) clamp(60px, 10vh, 120px); display: grid; gap: 18px; }
.cta__big { display: inline-flex; align-items: center; gap: .25em; font-family: var(--display); text-transform: uppercase; font-size: clamp(46px, 8.6vw, 150px); font-weight: 700; font-stretch: 76%; letter-spacing: -.01em; line-height: .92; width: fit-content; }
.cta__big .icon { transition: transform .6s var(--ease); color: var(--accent); }
.cta__big:hover .icon { transform: translateX(.12em) rotate(-45deg); }
.cta__mail { font-size: clamp(20px, 2vw, 28px); font-weight: 500; width: fit-content; border-bottom: 1px solid var(--line); }
.cta__mail:hover { border-color: currentColor; }

/* ---------- page heads ---------- */
.page-head, .about-head, .contact { padding: clamp(28px, 6vh, 72px) var(--m) 0; }
.page-title { font-family: var(--display); text-transform: uppercase; font-size: clamp(60px, 13vw, 220px); font-weight: 700; font-stretch: 76%; letter-spacing: -.01em; line-height: .88; }
.page-title--name { font-size: clamp(56px, 12.5vw, 210px); }
.page-lede { max-width: 34em; margin-top: 24px; font-size: clamp(18px, 1.5vw, 22px); color: var(--ink-2); }

/* ---------- work page ---------- */
.filters { position: sticky; top: var(--head-h); z-index: 20; display: flex; flex-wrap: wrap; gap: 6px clamp(18px, 2.6vw, 36px); padding: 18px var(--m); margin-top: clamp(32px, 5vh, 64px); background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); transition: top .45s var(--ease); }
.head-hidden .filters { top: 0; }
.filter { position: relative; font-size: 15px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); padding: 6px 0; transition: color .3s; }
.filter:hover { color: var(--ink); }
.filter[aria-pressed="true"] { color: var(--ink); }
.filter::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.filter[aria-pressed="true"]::after { transform: scaleX(1); }

.wgrid { padding: clamp(36px, 5vw, 64px) var(--m) 0; display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-flow: row dense; grid-auto-rows: 6px; column-gap: var(--gap); align-items: start; }
.w-item { grid-column: span 4; grid-row: span var(--rows, 60); padding-bottom: clamp(40px, 5vw, 72px); }
.w-item--pano { grid-column: span 8; }
.w-item--wide { grid-column: span 5; }
.w-item--land { grid-column: span 4; }
.w-item--square { grid-column: span 4; }
.w-item--portrait { grid-column: span 3; }
.w-item--tall { grid-column: span 3; }
.w-item--wide.is-featured { grid-column: span 6; }
.w-item[hidden] { display: none; }
.w-item .card__title { font-size: clamp(17px, 1.3vw, 21px); }
.w-item .card__meta { margin-top: 12px; }

/* ---------- case study ---------- */
.cs-head { padding: clamp(28px, 6vh, 72px) var(--m) 0; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 24px; }
.crumb { grid-column: 1 / -1; font-size: var(--t-meta); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.crumb a:hover { color: var(--ink); }
.cs-title { grid-column: 1 / -1; font-family: var(--display); text-transform: uppercase; font-size: clamp(36px, 5.6vw, 96px); text-wrap: balance; font-weight: 700; font-stretch: 76%; letter-spacing: -.005em; line-height: .92; }
.cs-lede { grid-column: 1 / span 6; font-size: clamp(20px, 1.8vw, 28px); line-height: 1.25; letter-spacing: -.01em; font-weight: 500; font-stretch: 94%; }
.cs-meta { grid-column: 8 / span 5; display: grid; grid-template-columns: 1fr 1fr; gap: 18px var(--gap); align-self: end; }
.cs-meta div { border-top: 1px solid var(--line); padding-top: 10px; }
.cs-meta dt { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 4px; }
.cs-meta dd { font-size: 15px; line-height: 1.35; }
.cs-hero { padding: clamp(40px, 7vh, 80px) var(--m) 0; }
.cs-hero .media { max-height: 88vh; }
.cs-hero .media--upright { width: auto; height: min(88vh, 1100px); max-width: 100%; margin: 0 auto; }
.cs-hero .media--upright img, .cs-hero .media--upright video { object-fit: contain; }
.cs-about { padding: clamp(80px, 12vh, 150px) var(--m) 0; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 24px; }
.cs-about > .label { grid-column: 1 / span 3; }
.cs-cols { grid-column: 4 / span 9; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap) clamp(24px, 4vw, 64px); }
.cs-cols--one { grid-template-columns: minmax(0, 40em); }
.cs-cols p { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.5; }
.cs-cols p + p { margin-top: 1em; }
.cs-cols .label { margin-bottom: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.cs-work { padding-top: clamp(90px, 12vh, 160px); }
.cs-work > .label { padding: 0 var(--m); margin-bottom: clamp(28px, 4vw, 56px); display: flex; align-items: center; gap: 14px; }
.cs-work > .label::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.cs-work .compose { gap: clamp(40px, 6vw, 96px); }
.next { padding: clamp(120px, 18vh, 220px) var(--m) clamp(60px, 10vh, 120px); }
.next a { display: grid; gap: 10px; border-top: 1px solid var(--ink); padding-top: 18px; }
.next__title { display: inline-flex; align-items: center; gap: .2em; font-family: var(--display); text-transform: uppercase; font-size: clamp(36px, 6.4vw, 110px); font-weight: 700; font-stretch: 76%; letter-spacing: -.005em; line-height: .95; text-wrap: balance; }
.next__title .icon { color: var(--accent); transition: transform .6s var(--ease); }
.next a:hover .next__title .icon { transform: translateX(.12em); }
.next__client { color: var(--ink-2); }

/* ---------- about ---------- */
.about-pos { margin-top: 24px; font-size: clamp(20px, 2vw, 30px); font-weight: 500; font-stretch: 92%; letter-spacing: -.01em; }
.about-main { padding: clamp(56px, 9vh, 110px) var(--m) 0; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 40px; align-items: start; }
.portrait { grid-column: 1 / span 5; position: sticky; top: calc(var(--head-h) + 24px); }
.portrait img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; filter: saturate(.92); }
.bio { grid-column: 7 / span 6; display: grid; gap: 1.1em; }
.bio p { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; }
.bio .bio__lead { font-size: clamp(24px, 2.4vw, 38px); line-height: 1.18; letter-spacing: -.02em; font-weight: 500; font-stretch: 92%; }
.facts { padding: clamp(100px, 14vh, 180px) var(--m) 0; }
.facts > .label { margin-bottom: 28px; }
.facts__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap); }
.facts__list li { border-top: 1px solid var(--ink); padding-top: 14px; display: grid; gap: 10px; align-content: start; }
.facts__n { font-family: var(--display); font-size: clamp(48px, 6vw, 96px); font-weight: 700; font-stretch: 76%; letter-spacing: -.01em; line-height: .9; }
.facts__t { font-size: 15px; color: var(--ink-2); max-width: 18em; }
.exp { padding: clamp(100px, 14vh, 180px) var(--m) 0; }
.exp > .label { margin-bottom: 20px; }
.exp__sub { margin-top: 64px; }
.exp__list li { display: grid; grid-template-columns: 2fr 4fr 4fr 2fr; gap: var(--gap); padding: 14px 0; border-top: 1px solid var(--line); font-size: 16px; align-items: baseline; }
.exp__list li:last-child { border-bottom: 1px solid var(--line); }
.exp__when { font-size: var(--t-meta); color: var(--ink-3); font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.exp__org { font-weight: 500; }
.exp__role { color: var(--ink-2); }
.exp__where { color: var(--ink-3); text-align: right; }
.tools { margin-top: 40px; display: grid; grid-template-columns: 2fr 10fr; gap: var(--gap); font-size: 16px; }
.tools + .tools { margin-top: 14px; }
.resume { padding: clamp(100px, 14vh, 180px) var(--m) clamp(60px, 10vh, 120px); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 20px; align-items: center; }
.resume .label { grid-column: 1 / span 3; }
.resume p { grid-column: 4 / span 5; font-size: clamp(20px, 1.8vw, 28px); line-height: 1.2; font-weight: 500; font-stretch: 94%; }
.resume .btn { grid-column: 10 / span 3; justify-self: end; }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 26px; border: 1px solid var(--ink); border-radius: 100px; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; position: relative; overflow: hidden; isolation: isolate; transition: color .45s var(--ease); }
.btn::before { content: ''; position: absolute; inset: 0; background: var(--ink); transform: translateY(101%); transition: transform .5s var(--ease); z-index: -1; border-radius: inherit; }
.btn:hover { color: var(--bg); }
.btn:hover::before { transform: none; }
.btn .icon { transition: transform .5s var(--ease); }
.btn:hover .icon { transform: translateY(2px); }
.btn--solid { background: var(--ink); color: var(--bg); }
.btn--solid::before { background: var(--accent); }
.btn--solid:hover { color: #fff; }
.btn--solid:hover .icon { transform: translateX(4px); }
.btn[disabled] { opacity: .5; pointer-events: none; }

/* ---------- contact ---------- */
.contact__lede { margin-top: 28px; max-width: 26em; font-size: clamp(20px, 2vw, 30px); line-height: 1.2; font-weight: 500; font-stretch: 92%; letter-spacing: -.01em; }
.contact__grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gap); row-gap: 56px; padding: clamp(64px, 10vh, 120px) 0 clamp(60px, 10vh, 120px); }
.contact__details { grid-column: 1 / span 4; display: grid; gap: 22px; align-content: start; }
.contact__details div { border-top: 1px solid var(--line); padding-top: 10px; }
.contact__details dt { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 4px; }
.contact__details dd { font-size: 18px; }
.contact__details a { border-bottom: 1px solid var(--line); transition: border-color .3s; }
.contact__details a:hover { border-color: currentColor; }
.social-list { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.form { grid-column: 6 / span 7; display: grid; gap: 26px; }
.field { display: grid; gap: 6px; }
.field label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.field input, .field textarea { font: inherit; font-size: 20px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--ink-3); border-radius: 0; padding: 10px 0; transition: border-color .3s; resize: vertical; }
.field input:focus, .field textarea:focus { outline: none; border-bottom-color: var(--accent); box-shadow: 0 1px 0 var(--accent); }
.field input:focus-visible, .field textarea:focus-visible { outline: none; }
.field [aria-invalid="true"] { border-bottom-color: var(--accent); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form .btn { justify-self: start; }
.form__status { min-height: 1.5em; font-size: 16px; }
.form__status.is-ok { color: #6fd39a; }
.form__status.is-err { color: var(--accent-ink); }

/* ---------- footer ---------- */
.site-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 26px var(--m); border-top: 1px solid var(--line); font-size: 12px; letter-spacing: .06em; color: var(--ink-2); }
.foot-links { display: flex; gap: 6px; }
.foot-links a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; transition: background .3s, color .3s; }
.foot-links a:hover { background: var(--ink); color: var(--bg); }
.foot-links .icon { width: 18px; height: 18px; }

.nf { min-height: 60vh; display: grid; align-content: center; gap: 24px; }

/* ---------- view transitions (cross-document, progressive) ---------- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-out .35s var(--ease) both; }
::view-transition-new(root) { animation: vt-in .6s var(--ease) both; }
::view-transition-group(*) { animation-duration: .6s; animation-timing-function: var(--ease); }
@keyframes vt-out { to { opacity: 0; transform: translateY(-12px); } }
@keyframes vt-in { from { opacity: 0; transform: translateY(18px); } }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .facts__list { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
  .w-item--pano { grid-column: span 12; }
  .w-item--wide, .w-item--wide.is-featured { grid-column: span 6; }
  .w-item--land, .w-item--square { grid-column: span 6; }
  .w-item--portrait, .w-item--tall { grid-column: span 4; }
  .cs-lede { grid-column: 1 / -1; }
  .cs-meta { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 760px) {
  :root { --head-h: 60px; }
  body { font-size: 16px; }
  .nav { display: none; }
  .menu-btn { display: inline-flex; }
  .row { display: block; }
  .row .cell { margin-top: 0; }
  .row .cell + .cell { margin-top: 56px; }
  /* keep personality: alternate narrower items left and right */
  .compose .cell { width: var(--mw, 100%); }
  .compose .row:nth-child(odd) .cell:nth-child(2), .compose .row:nth-child(even) .cell:nth-child(1) { margin-left: auto; }
  .home-about .label, .home-about__text, .home-about .link-arrow,
  .cs-about > .label, .cs-cols,
  .resume .label, .resume p, .resume .btn,
  .contact__details, .form, .portrait, .bio { grid-column: 1 / -1; }
  .resume .btn { justify-self: start; }
  .portrait { position: static; }
  .cs-cols { grid-template-columns: 1fr; }
  .cs-meta { grid-template-columns: 1fr 1fr; }
  .facts__list { grid-template-columns: 1fr 1fr; }
  .exp__list li { grid-template-columns: 1fr; gap: 2px; }
  .exp__where { text-align: left; }
  .tools { grid-template-columns: 1fr; gap: 6px; }
  .clients__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clients__list { row-gap: 40px; }
  .clients__list li { min-height: 80px; }
  .clients__list img { width: calc(var(--dw, 140px) * .7); }
  .wgrid { grid-template-columns: repeat(2, 1fr); }
  .w-item, .w-item--portrait, .w-item--tall, .w-item--land, .w-item--square { grid-column: span 1; }
  .w-item--pano, .w-item--wide, .w-item--wide.is-featured { grid-column: span 2; }
  .w-item .card__idx { display: none; }
  .w-item .card__meta { grid-template-columns: 1fr; }
  .w-item .card__disc { display: none; }
  .filters { gap: 4px 18px; padding: 12px var(--m); }
  .filter { font-size: 13px; }
  .site-foot { flex-direction: column-reverse; align-items: flex-start; }
  .cs-hero .media--upright { height: auto; width: 100%; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .js .reveal, .js .reveal-line > span { opacity: 1; transform: none; }
  @view-transition { navigation: none; }
}

/* gallery sub-groups (sub-folders of a project) */
.cs-group { margin: clamp(56px, 8vw, 110px) var(--m) clamp(20px, 2.4vw, 32px); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--ink-2); }
.strip { padding: 0 var(--m); display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px); align-items: start; }
.strip figure { margin: 0; }
@media (max-width: 760px) { .strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- case-study mosaic ---------- */
.mosaic { --mg: clamp(10px, 1.1vw, 18px); padding: 0 var(--m); display: grid; gap: var(--mg); }
.mrow { display: flex; gap: var(--mg); width: calc(var(--fill) * 100%); max-width: calc(var(--sum) * 82svh + (var(--n) - 1) * var(--mg)); margin-inline: auto; align-items: flex-start; }
.mtile { margin: 0; flex: var(--a) 1 0; min-width: 0; }
.mrow--film { width: min(100%, calc(var(--a1) * 84svh)); min-width: min(100%, 300px); }
.film__play { white-space: nowrap; }
.mtile .media { height: auto; }
.mtile figcaption { margin-top: 10px; font-size: 13px; color: var(--ink-2); }
.cs-work > .label + .mosaic, .cs-group + .mosaic { margin-top: 0; }
@media (max-width: 760px) {
  /* re-flow into fewer pieces per line; flex-basis and grow both follow the aspect ratio, so every line stays justified */
  .mrow { flex-wrap: wrap; width: 100%; justify-content: center; }
  .mtile { flex: var(--a) 1 calc(var(--a) * 38%); max-width: calc(var(--a) * 78svh); }
}
/* ---------- work page uses the homepage tile grid ---------- */
.work-tiles { padding-top: clamp(36px, 5vw, 64px); }
.tiles > li[hidden] { display: none; }

/* ---------- two-part filter bar: sector (left) · discipline (right) ---------- */
.filters { justify-content: space-between; align-items: center; row-gap: 4px; }
.filters__group { display: flex; flex-wrap: wrap; gap: 6px clamp(18px, 2.6vw, 40px); }
.filters__group--disc { justify-content: flex-end; }
.filter sup { display: none; }
.selected .filters { margin: 0 0 clamp(24px, 3vw, 40px); }
@media (max-width: 1100px) {
  .filters { flex-direction: column; align-items: flex-start; }
  .filters__group--disc { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .filters { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 0 18px; }
  .filters::-webkit-scrollbar { display: none; }
  .filters__group { flex-wrap: nowrap; gap: 0 18px; flex: none; }
  .filter { white-space: nowrap; }
}

/* ---------- full-screen viewer ---------- */
.is-zoomable { cursor: zoom-in; }
.is-zoomable:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.lb-open, .lb-open body { overflow: hidden; }
.lb { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: rgba(10, 11, 12, .86); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .35s var(--ease); }
.lb.is-on { opacity: 1; }
.lb[hidden] { display: none; }
.lb { --px: clamp(16px, 6vw, 96px); --py: clamp(64px, 8vh, 88px); }
.lb__stage { width: 100%; height: 100%; display: grid; place-items: center; padding: var(--py) var(--px); box-sizing: border-box; }
.lb__stage img, .lb__stage video { max-width: calc(100vw - 2 * var(--px)); max-height: calc(100svh - 2 * var(--py)); width: auto; height: auto; object-fit: contain; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); background: #fff; transform: scale(.985); transition: transform .45s var(--ease); }
.lb.is-on .lb__stage img, .lb.is-on .lb__stage video { transform: none; }
.lb__btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(244, 242, 238, .92); color: #16181a; transition: background .2s, transform .2s; }
.lb__btn:hover { background: #fff; transform: scale(1.06); }
.lb__btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lb__close { top: 16px; right: 16px; }
.lb__prev { left: 16px; top: 50%; translate: 0 -50%; }
.lb__next { right: 16px; top: 50%; translate: 0 -50%; }
.lb--single .lb__prev, .lb--single .lb__next { display: none; }
.lb__count { position: absolute; bottom: 18px; left: 50%; translate: -50% 0; margin: 0; font-size: 13px; letter-spacing: .08em; color: #f3f0ea; }
@media (max-width: 760px) { .lb { --px: 12px; --py: 76px; } .lb__prev, .lb__next { top: auto; bottom: 10px; translate: none; } }
@media (prefers-reduced-motion: reduce) { .lb, .lb__stage img, .lb__stage video { transition: none; } }

/* ===================================================================
   Homepage intro: "Timeline". The name is a timeline; the red playhead
   travels through it as the reel turns (and can be dragged to scrub).
   =================================================================== */
.intro { position: relative; isolation: isolate; overflow: hidden; height: calc(100svh - var(--head-h)); min-height: 640px; max-height: 1120px; }
.intro__atmo { position: absolute; inset: 0; z-index: -2; }
.intro__atmo i { position: absolute; inset: -12%; background-size: cover; background-position: center; filter: blur(42px) brightness(.34) saturate(1.15); transform: scale(1.1); opacity: 0; transition: opacity 1.1s var(--ease); }
.intro::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(95% 75% at 50% 55%, transparent 40%, rgba(0, 0, 0, .55)); }
.intro__atmo::after { content: ''; position: absolute; inset: 0; opacity: .35; mix-blend-mode: soft-light; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAQAAABIkb+zAABE30lEQVR42gXBA4AbiQIA0AyTie2svcXWvtq27attXnlXXHl1r7z617at7bZrxeZkMjPJzH8POINlpvQp0yq8WL/aJ7oLzjPAGGaKoFp9qeosWyjdTUwxjGefmGHZN6EfYKCesXm4UkaFrsVemFJKTMZJEUeiHX4NKmF7yvRSBbrMqpD1ZN1VXUQvDPV/rcrq4qzRen61Uv0us8bMvkW0W9YDHe9+KDnv72O4zu/i9MX+IkSwMRX4uS5zsrtR4L5+gchWs1R1OQ5zpiMHrHsBTOt0j0yeWW1L6s3Y8FLv6PQhtc9ELXgbnA/UceCCHT6dmILO0X+Ayjy9uP+qnotvQHx8pZN2VWQCbLKDyGpeMZY/j17HzXDWkYL0EuID56H9JTBGPzV0NWMFcJrIxZpiP1wp2kK5hs0qPUEIpa3g8ekvoGcVacx0pK5EETQKR1Nj3JlJ+cECuru6me+KejQo4K0gB0ELw0M4Z9J6xl+5itFMVydwI/ody8bkyr/4x5DswBPwz9x0wkyGFX+H34o7ovWCxdEd0E2U5nBCTWIhOce7ivO7Abog17m47EXlMUs4aXu4W3QHy2GXhPjxo2QbuxW7Quei2wRfDTXVJP1YeCxWo5PgR7SouzB0xlcjme6+58siHOxhIMqCHNS9Wf4OGG275j3ptQqm092ZadJFiWyQq9YFOsSv0638a+iITE3+Z6vRbqbzeCg61LEQnRA7ZkNELlXH6A5oFP+6ZTHnFZzFeJxbA8LwG+B/9CdygVxgPZW0HUWwA55XWaVFw3MPorOUw83DaDgtpxYaLu+jPMkfH3EH+oa76BHxdseE2OD0cOSElBeZkhqrKiXCYCXGlV51n43O4F6XthNdcVXIJwj6q0KBHcLv4PlYN25XtihykWjF3yFo59Hzx2u6Bh8GhmcQwD3RqlAOTVvTolReM3wH8yZ3jbWRv73qcnSK6lexwL8lSyouCweU+rABHmV4BH6Qv/FMk7wV5tBHhY2j2xVysindmOcKr9Fk1WwXF5W80K+Lf+QjgtnhrxyYjkKL+Ss4wHINX2SumKnhaA44kxP7+HOQPMvthJHfkp8CPrCdBA7k62K8snzde+hvVxgq07pEN37l0XXEhYYtVVbdWMGIUrfoNyQ9uiJ0yBQhfPw4glYOqvPh52wsklxcegkbgh3mHRUdAfJcYbwFmkyXsSc5v2R0OCs6JXWC/aAwQ1gv/C0S1LWOfFfAlRdlv+QHfxmkougO4mpOmteBXHZdZHdwMlTbsHy8F50dap1TUvVRneV6JujtqhYnwnAXd11vQ0lc84jYzlZyiKASqI7dAIYQ9ZNod43+gResRDP+qZNDbfXla9TYbaqNeyr/Id5euq+mMdPDf9GDKssU1so9iSLTKflr87BwGCXr3agYKRzEWVapTanwdwPHBibzN3Huu0czAXGIr6En4qf8PWLZxjF4nlFQfjU8jn84Ps3eEk+xtdXjftZRn9knpvwlcD5no6wKyExsBUCpK1AWWMJN9lXk9PRUAJ3J3hKXKy/dTR4kof/Az1kHnFkqZ1UBeFOc7nkg3pvxi/4eHZPIlS6zzkt7J94X/x+OgIito3wHvsL9mFWGl2fvMacl6URq6cIYjfBQO9iVbOC5h5YjE/EWvJXVFnEvZBf2LBAI9U17Wz0r5UKxVX4tJtLFIrci84ye8DAjj3c6dIp4J2zC5IQSbGeOMSUZ/AI/FB6Rj0bPAAXqSoIUbiRGyx4HmgUPcuriMu0pyW1XiWBEQu9ao+nPv1UdTrQD1mDzxfAMTU58GW9J7AjQ39fc8FVLOfrK26FpTKbqQMKUesE+LNgViqoHBmuB6VX1MSOyRbtR9ldpJKM/Ws5OdZcb5/wkA9toOY/HvSYXMwX4K3l/0uHPR1Yjtbx2YIp9gKo+/phTzj2gzXLmm/YmbLX3YrlVOilr1BVxazgZ5w140WDeHuSUL4crt/2iF9abCv5ewuY0rR0O1a+uQcVcjqGVvZllDo8R2WiFohVviOA+sRLrFd3CWqviyRAhJxPj+F+AfXR6OhgOu+z6ONwtelB8Wjw7uJGwcnLkGNYFKRK+gzeo33OV0QZwNdcWyUC09CX3NOMe9lpUqMuMVPAM0P/cv4JH6eVkfQyL+0zFUYNgcqCO+LjyT3q0qJ+lg7St/Rpvk78yRa/A0X10mOdEh/N4vuPs/ADHYAE0zia64/7RKboaq2hKaAn3qWI2my69CUqATa5t2H7d3/B9/2REXLM3dARsiFr8T6TjJXFsZBDOcL5KgaMy68TU5OALxXt2m79QrFP1D+zzFyl2OHxqpfuYwMa7CZ2z14KfvUOhF8INIIMkC+fb76vslWrxAOpe2G0qgX6vPZo2F58kvkuPJAH8uG2edA+SanS6hdEdNMw5oRwBHzR1ZFjTterdpiGWlnm7y17pBpgz8uP0UGUA+8vdLHVZ8JyC8nXgrcB7KK4w6eFH3gh1GSFTr/o+O/9VQVQCE3mbsWMM3cCT4Mu0KutJ7Cd3lhcYBa6A68vax9twSrk3KJIrg0nHC1MsNtByOmtrbAMyvvYRb5Thfpi2tkYagIWaN+EFArN9VJ2dbI3lh+AP246EhINpl9C3hO/xY9IMapHbJtbK1kcDzGtlcq01aEgfbf7H2MZlxTjiO1G9dI5jU2IA2YbXSA55byJ1hJ+is7Uy81nt5dDx8GGend+es7X2uUrES0m88CGcF+xkYTq4L/peet7OptWvmCB5Cq4VrLByuXbtInea4CQA2sWtJeMiy0N/Bm5gl3TVMMK9wxnq+cEbnDsVXu6V27fy1zKvHZcdQqiLYUs86D6YvCnQIi0LcAeWIxvoR0qbtplxQHAqX2JuSM2AqmQhRRS4y+nPOGIe3y51HZR1qMHuzBzRNlId4XpXWv8BvrDp8e2C/5khSZK8PRCnflUH4KfWq6G3vL/BaTW/2wdqm3Ff0KOgfLaXxCopo874pfKx4kPo7xXS/DbEiFAhvAeNEMXY/2Rp1FghEEcEKq9vL/eXalTlgbwZsU6hWkE72+6sN/Yu0lE+rfG1T4o0q24OR9Pc5l9YL+nOyrT8hpazagu9XTC99CvnXLwAmag94fgfZxdwBv1lPIFUlf2W9BiWUq3CPGYP+Dk+SfIKX0IXaKZbMgx1vQ35OeaumqfIaV8b4Qaol5XKXgJCic1sqlMge0stsOsRTHIv+C55RtXklNFEBIZD2+UvvM6kq5ypvkrhIHNUVs0fTlwwVypxYqAOLQNu8l/z6wgsYQvnf/7Gad+gv6OzkP9ov2J9qDW/3D9ayqu8kZxFnRK/qO2DhW3H0n+P70TWRTuKzgf/p4Rs7zkcrlRa/Wuk1kKvkLSxdzLUAreqG0kKOR7uUZtCYoNOSNqxCULGZEuPRwdITNGB1lGyuHydeasimqiVrq38kw8GLMb79jaZukgObxnZif3JiVIJZ4miSv3oR30FwHkXbp3Bq+2hqM9/RhujJX651ladgDJMp+M1trwcqCfs4jGBjVBYSUJ5nD+qx3Eui/vEb4P93XFrUFPqXSWZEvOC7x1tDN5YL2E7cy1+KzoZfVjTXRS3lqrVtFw+rHKxYjdwjdeQMAsnh05RYvB1BEHKRE8EiQiH90yeG9xHdxNa3SPUn8CB7CSJGb4fQaNHtedZI2+69S9so6hEqsXr+Hf4GvKVnr80I6oiUHH6rmAXKtf4MdLcn5szIHBRc9+toP7z9cBTkyD+MzCoNcWeKOnAfBX0PHm48JWgLf8iFqbaWVcXTDP/Hk/1LifTUg+Df0lrAhF2EQxI1kCd0HTyMfIypOFZk8Kgntkd7SVOdR4xINXWjBn81r4vrtEJxNDMFdUU0JXqrep34A1wC7AvkGvjKoqdcznDEktk4wPnnDrkNwSKvFSXlpULrlV9qCO23hBOdVJhBWvIKEOCbkJ9xP4nRx6/ovxoS2ibxSpNea5nHATKJG4FnrDLEs8F08lSgvA2i5Wyo8O9QbjGuTxtYvGA7MnlEvr3lAfW7nqPuAN8zdXx2+2Mr3hYlIA/sl38kxixuV16faatKlnRz9lMPDYxMbUe0CW8h9ZIykkHfjpGCjZov9d2S3WYkdTHNQG3OTXgbwEl677xKHxvis81jLzoXgOOIrU2bd4UQUeLX8fjz0kuZFfAz5Rh1fjqFuzaWEzcKXH/19y0CuhkeUeyBVr/ewKdyC0N9OJyhb8M3SpR3QPqYG173nkN4zeAPQW0ro0YDIhQcprmALWPfz2V8q4Bv5Bu30jb/xLjVLsrPpE3+MnC04GS6DfuaMUxdBk7HLcwHrjG1zL5huMdtEPzJEwxp7APshRNN1gWVlKOX3dFkzz/xpvR49mF0a0OE+JLZEc99NgUR245b1NIKepdr3fcGJqHFjL3rLnxWOXrjAklvxelKOcmb66+YBZlBenbQQ72I3slRrAtdE2ZE5y9wun4s6CwWJ6U4zhr7SY8pG0Sfa47lhSEagKNACBSYCR3cHpQZyNMEI/NR19DD6T3HWq01NADwL1jkneVo+qH+Gz0j+A1QSv8fmR37tfS19m24mepvaIc6fVfYg5aZ1jtAW6Imae65ZpH9Zc1lz8y9wzp6L6SEcg+shHnGJ6DMYn76QvL25OEAhNNtZ3ULHJgUoLTWTrNvjP6W1IDeApvOFhUdADYDz0DamNrxQG9j1zJzCe6xu5ATfx1ZUeC7ZNuUieIXpBUVUieA3RYLnTH1ZdmYKC3dim4QXzPvtbU1nza8LPsZw7Ps13eOvaEGgsEwCeIwsVyx0LTxMaKz+kq54ykp+EO0Crr1eyDwSscXzRDWVm5B8zHLkPaQBT8n+Qmu15hCe3BjwJ6/eDAA/lkMPw1qrnLX4N2ooJEodPKJkG/pA2AKI2I/kM+W2ZA8/i2QIa6xFWu7Sz5z0uAbyUp6KhfF2QPA08VVkzAtLBXacIJRbC+7AK0HHjCn48EXFfk62MKvIO/I5dUA1yUYOcmL69andc5OA+5B87Hv4sbeMbHhrFb1ZRFr6iVq8mGCZGgo2NdPFv4LGbBbyBnpK2kfVxT8FapDYBN39fr/3DYhYPgTQYktipCRzZGI1qzgwvc5WLpvYMmYWbtg7hW+z6e8DPEWcH/kscyRGWn9OyfIn1nZQ1eh3fR1hRw4pj0EH0dL0QOMY8T8+S9pOnlXST5yrrsfWcRLNHjRdP0uZFjpF7eUe7CMysOMauER5N6lTyRAzeMHcPXU+Tlq3luw6vi/vDfiu5WMMlEyTnzXIK8vU5IUez+oQy7hiYs0R7AD21r6HroBj1J9Tw+m6ilp8sOWeVZnOLtHKWun4hfUgsXxAZox5JIuCEm0p5yoprN1dO5ndAhoTYp88o66+s5RouSkvllI9m7MC+5BbissBDEki+Yl/JIwT1fdcoJ6qJzU4bm18CcKYF5oh/ck0Vd6uBVfvVGZmf8X+qaxBpI8Z7JaAHUdeZwYgpxjVsBLdPegi743fhE0Xo4M76Z+ErtVXJcWsOjKMWPh6oA2DdfPcedAjyIrdVN9BQQQixDkxBejR+xVxsm2IoxDqd5OFv1QG2mEe58t9A0jv9dXSs646TUtyqHgZh4F9zB2IxbHh/BHjbO53fG2qtE9hr1Si8L/OQdMK/K26HAK3DVKD0RQBWP0G5kIlLOtOC62Lj7uXQK3l59znEj1l/XGEgSXvf2oyX8N6oHjnnmJrpdcW/ISC5PhX7Xr/cpVJTmVrSxpANplELAAVU5bymcbMeRs4ib91qUxLZh1oizlAfNfbJUvJeR65Lx1reSjhIXMl+chVhCgiimfeRdKnte9jfvb8TG0VHX8W3hvcRowU9TI78iCkf2BBXBoWJFrUaziX0TnMTv7Gki6WAgq86YVoYO8zJxn+pK5Wym1Ogs2SikjH7fNxkgWan8UvIbLbdFdFPl12Mcv9l8K8OFZURmCJ873kIeaCU2hOkn/1UFafgzIjn4H94ZksYoY9dF1gVtxHpXy8DJ+ANdNf6naB91p6oEaM/ZZ4WRrWBj+W4IxO1APWF/sBH1pGafVOx6j01PjJYWWVXAvqgv0ojzUvmF85RpzEyPNjJOEpd744psab9QncBEthCjBW5uekyn+htSlbmS2rv/0/1iGnqmCWZr5rj1nify+VSWVO1cJa2tPedIZT5l2IQ9aQVSKjhZ+TAPj8sCx4PrOC+Ml4h+UHfqv9C/fEwLXU95H/4e2GkcEQEBHdsU2MZUJbbIPhvfgfsRI1jhXqlohV5T096O2Ucl8uhW2zVpMb+1uGPN93BbV7v0r5wzyucCqWi1836Y0EdDbYGN+gpuEXCGI4hUSCVkCeHhL8AdlraC+eim9NaeI16VK6KTc5pYj0MPQnUlg7l3aJ/vO+doOFswSmn39EgrdBRQY4ha5J/Mw3jb0CjOHUkvx2CzKeegRxq6xvsgWOvajk3yINSfshXxjdytVsjhQUTjFMfxMn+OoEyw1TdVZWHbSTDn9vCHxBDuKf9decAKUn3wA4rvwTf+s6ZD4FOgHy7g3pL/HWpMz6XqCxsXH9f2i3cN9eDTcUN2/ThVZnSfC403lHoG8QbLf0E1/o3oC2kKidpywc6SE6rd5g+2L6n9Jfm8jt5awhJbzX5QJgvHK2bXtJY/qF4lvCpXBbJS8osvygivNibU/+M4z7aOr+Cm85ZCe+liJclBiHspD4mBonuiHwrIm3nc98g9UFlP/4ls78ulvfIdwFUFQk7kZ0M9I3V4O23FqrXKcbzbgXeJjrCd84v307fNRUsp0Kd6ToyRc6vPpk7k7HS+TN4sYix/O4hwSvy6GMKCrr3IhWhhcEtisSyH8YJT4pXULMxOs67Tma1DvzGTPXMUW3SsaA/1zHTIvszdz3PIBHj2q3YKbyInBKnV9ZEx4YPCV5repEw/2sHNuOnsR7STPnJl0DLvJYrPbSZ3hWRsiwpoT+gTxUu+5XotTqdXE/XZhpp6LFx+0XQJbRpfGPiSokS7wnp+u4RM8QMZ4bwaVgVOKUr9f2inuMqkM2Kb7QvSH8A7fq1Ij5EXkJdMgXYFUYiOzugpgjlmzm3dXr8/bV70bkiSlEceTqGkOo5PstG5CNmnHyrq4yOFI5mj2MjiXeh44nr6i4ol3LJ4faIHVh6JgUXsjdQRiu/AXCwKKugUzjigAzA+NNy0O8ZDwhkPEpu9ddEzkjwWqg+eh1v5VmF/OjdKQGJ7Mu1SMkX6Te5smUXgFBxhvybWx3O5cvtjqrHgp2wVusP/AfPGUWSSF1HucP6TYahoLbqH8EOdaIJ9KTNxmgjuRFYI35JdbP/CW3g9xQtq90Urk+YWhWiLIM8ylpjuHU/8nbkRyiUiYU/gZ6BcOVkZi/TQzoo7hSX+WWy55CzqBFUcQayRvx7ZPJLmwtlPIaHM5PzFTJOlAssBK0LHhJxHkfXAiloVCTfNG2Ev0z6Ib4zUmIPKkvAHoom2W8KkMdqeAtXiA9DOyNAoV9RA1hq46P3AHpFr0Km40fiklKu55nBCfnMKx1LCCmDiMjqMlFnmiMYmxZjM6jNQ0zou9o33d9Eck9VbWNEaS4999PUkx0FdeU0NGCNzvYSnC/oSCo7i+wQMYks1cETGKdMKrZhoQXSdudQoS5lR2YDPIb6nPyf+yZTYM5JG+3N9N4Fl2jN+UtHV3IdbgA1EXmZDX0UDo2pxg1ITflQ0TjEy/jZ0SpZZOZSbFzmq7eVWBnqrYO5goq+nnpHkzTKfATKBL7KZ5PnwINLF1moyZY0UyQwQK8kwcVGmlCmR6V0FhA4Ok7Mw0DoGfRpeJt/nXa+qjgNaCTYc3kFcVA3wmx2z0wRWHh4XTcenplqYvqrjvu/x4QgvOiI5TEfjZjlEcJEv9GRlA8FS7yvfs8Dz5BpOoVDtLkr77HyNVQQaa5qhjwh78GMYGh15S9sE49T9gJ7+26H/SV5habx+TpFgRrSnSg9vYeqFT0XKYhdZsX8E+o/8JSMW9xXJXP04RN6jYFt8FOcQzqC76ADwm6UC+IBUM1XQV0n/UHfBijAkaeuRJg5D33QPwBfRinjABcsWRverbzBBfXbxdfUsg5K32LsWuS4wRBpTdXQN3MexoUJF+cbI+0AG9D1xlT7s2C4YGr6o/uq/5vgHvsA9pcymHHKxeQW0DF/OnldPgOMx6D/dbf/38DRijXqoept3XMgduOfdCjdWhbQN6f1eJV8f7CxyaQsUZegR6rFwXnWQ9WF34yoOH2pE5Zh2u7exR1RnY0a4brReVsK/R5vApghGkeeRdfwpQHsmjO30vEUqIq0Tj/wPZBvBp9wPoaA8Al9J5LmaMIc9lxUHQx84nwIaWQforX21YFd0WupebyPpI10xWhY6bwz7NlIDoq30vHBnxSqqiDpjjYV3Ywp0ZzwM/eFX0TEdJOCfU81lmpiGhLpXntReV9kVRyWR6AZyse0x6lb+U1XC2vmH438y40LNBTjvnX9TPI0+RGl4Dr43uob3r6fGpCivMR4Ilog2hZtxRzgzZIM8w+MccmCsg3GueST0MbUXuo+5FZmYEKa88XzUiPh9nK/Fl0WLAg2RnkYh+13xh0SJnZc2iXRVrLZVxMICC30pVmqbynuu/UR9CMqw1qrfzIOkz+3nVKnVj7ILxIX4ithbHYAOdmUirAe6b3gZWQHTrnWJvpnFtengUf9lfIpwvOijuJ8ZhqTxSdpufhv2GXgbCXL2+HsIlkvlnBDQ2V2UuCHncUvI/0QLYCN3oOdw9AZ9EeypX+C/HNrICtk+hq3he7E64Hb7KOF97y0jJQ4BQ+j7iTIkIBlYcYf3y3cfyArdIxs5ipB3/uvhnfhPogfjo0gIxz77AsK2vgY6MJgT52FruG+VOnhBopzZwG7laghW4PDWQ8fWrMueLdoYBcmaftCKYHXSLp3oe2clnzeWG6KbKVqHJoVOpx71vciYF2mTMVuewMYaBweFsnGJB0xj3xzKLOSLV0T7lD3W3LJu9YDeKwKDaaOUk+BV5oGHyavJLQ0+3mNXW8VuZZZ6k00Zm1lSEtexS331eFBVJ18nLhW0pmrVA9AQcV19CJGpdmjl8AmVkEoyzWQGCwuQP3nPVYcsX5RFWBVnKnsoIHEvImxYs9jvfDfFxbKVBYG6imtmCtgUhZyqnrL2IZ+kob+5AvJJwmLlZu9ZkjG1jEmAjZAEGeWP+k76clCZeSdUl2NhJ1Eh8USeEJlk5Rsx52uqE1CDb5AtERxxnUoUhXomX3b4MtZT6/D77K1ECnw5ABiaCaVEalLTmkaCZ4Gx8aQkDlmP2wZJsQfCrrRwSEC+l0etYoWUWcyt8FuF/3l3uNca+nK3sh2De/lLggg7lpE4cwQV2usOjmhbNUCs5o2lf1P+jWU5KOVdBAoqetXUT4TkG5jRQIvg5pxPJYockfhceEB8Jtsxfo1sKE+Il4vnUzsUl2X78UH6hYKtjmOGvWLCeSbuz5oTqNTeDbUXGKJF/KfCAng8vFrw1fLevUqzJ5QWOsWPAGVIVeyB4IunQuC3v5F8oTeKg/aDYIZin3xv7DOa8M9ijyuWSCzVAndHzt2MnugewVQB5qjH9QYB+nlwIv0H1FPdHv4V2AO1oDyq4/o8BBdPJZyRyURp1t+1awCoENpp7B6vxq5bxgd/Vx+icGyzNwDf8g4R9aA6q7/DjwgG74x8w6XgkiCkel6jEr8Eb/ucxFXJBd4u7JD4QnlTcXdcjg6VtAlJ/IJgsrRKdiwpDrREcpWv/NthjO6AzDHPMb2QXMIBbD5+nVzEayyJxw+VHwb1yo9MsaxJ8KtjcXJLakMwwO1RAatZfD3nUWwVcCb3seKX5iO3Ee+qXStuxi+T3U+kBd6KhL92S9/JrNEh3kL0hQHqoJ/BPpMh5TuSDsl68xLxYtYouMXG2Lv2C7zTgn8xs/+4cqlAHe7C1AtrOWFlifWCMd1BpN6qmceaQr0jGcjiRBfARqmjhT6zZLWqpYMP7EGaeDbBhUR2oJncFV9CjTQeZqyxl8AdSm28h9uY8RFe8LJsLne6ux+2y9ffuMe+Ll4/thZ5p7wu/BQpjFeoCtCR/Hmhf8Or4oWuDTCpWiu+wzz26Vw2ZbPQJkmyaod9BF8aZ4G1HugE1SDaXpIauSZXUMdAa9Vp8ZfIK6gXfxhACjNFr2pqgnZ8I8t3GaXnpWXw+5hKNMe6QdOjuif/C/4p3tLk5X3nBvi+0ESytyDBeDzz0LmRz7y9mpXuwtAyzSxLcw2PPCLlRwpdMsMPyTVgErYW+SRZEDIKYfdErlQYCs/AKf59/gHovuBm/DnXTf6g3vif6efFUEcwqWXsrXYVXmA+Hujqb6WZGVmKiN0HDFOgx9Z12FBqtbIfDDXktYo1laxVzQDven2uUeqjog62zaRXIgp0lryL1SUzlC85ter2xCJ5HhULrI4NNNyPr03M4W7kFtB10477KJcZOgI/iqSl50trLMv5PRAldDZxJXyANWCj5aDoRKVS1zp2jX8Zv4v0jN0MNHJvUVsTBdo9gmoRHKuIrQf2RIfz7dJLRCK2S9He+lne2NFTft6mVDSMTkhYHD3DnZS3cIKnTd4Te4JqeS2AI852vv4yhx8RlSDdYPCDUMN5w24DNoMG6bKUa/6+nlS2N3uXPxtFaxgJbLxOT4DeBgXG54EWsUAaEXMlGspfaH5HFnpP89YBlLw/Vcg/A4XlP6oKy57mI0kVrAf4bFxu/II+ilwNDSofl9fbv6hmd3hS8gwnLfTolxjX/YrSjVxl1D/lh4SHI/+i4wVpindhWKqUjyaKpT7CltxE3VsPIiuQUbHOyunSNR4G38dpQE2QovBBmkYeMJjpWeh61thwA59WCNHYVu3YYAx+7JojUzjLE3vUN/hLEnfMLZBUPeElwcuOnJQ+1SGxRrk8cqeqXDyRvALfsa4JhhJ6QbmjQj0dJr08fkvZBslbEDRPF2iCr/geciqHmwj6DiZZQ1nQW/Vw3f+AvZ4W+B8UP7gKyou68CJOEDiJnKTnMT7JlUQO40T38N5F/3LOTR6CjjMvFB2jjJGDylXwA2gM74QwH8yn7uAjRfl0ZmJ9uIsoZlslTGeeGf7gGYqg69QF0fJga54p2JqhiHYmgO7snQNuzZlpSfOdJ2ZIZ5kaOFsb1ptH+6rh/7TjHFpslOV+fBQtRnoQF/g/Ynd4mZDfpRE2hvdid7Eflh65pR4/R5dYGT+W/AB/GCsTbbVeiIskgwVsfCa8Rk5Qg/FdgBUT8MqV18Trgqd1EjSMzsZx/8jwr9R11Y2iJkIce4w5sJ5wM76s6istsfOU713JUomnoeuvJFXsEyLhDWBLHT01zVihEpJCl/nr+XzHWf3c2obITfG4+FplNNDBXsNdJrsCdKAPBOrKviKdImKhIVBHtJz8BH5Llgl+Sm5TP0G/gEW3CMXck9E7ArLkudhu+Y/fC+RyukqMSLFktbNN5IR2ECXhjo0sBQbjNdqe1C/xGqwJXI4sUL236WLf2CLfv8ErMC/xDs1j94t2oTcYXhQXJ5K7kr0c1sjhYB9hR2JU6gpuZ2CvtgpZn9TD1V05K8gRYiG+odbWFq8C4Zc81j7DeCUxyLw8+SH7JjoylMeYiAe5dWIGUB5ryKkT6Ib15Z+S62wvUja4WiGA+ng1EhsmmobWBobK1wUUoUZkddadkjHJgZidYxY7OMbIvlCB9AYcDOflYe7NYTMHxNcRvRQ7i0cZ6uMX459jDTjJleWsJNAxkSo7EpKHu8UeoLfCYHa8mBZEDYXO678WYACYqjeQreyp3BwYKX8sms1pzxHYsz2bvbPYuC4twUVUiTTNnxyoiBrJ4vBK2W7gbcyDlUAi9t+IRphwZKlCdl20I2FULSct7hbgR2KK9Lo3X51baU5vImjK64JN5UxGQf5w5yf5d/N9/dXoF43D1TeAGSDBKfmtmtu8OqqmvxaTl7Tpkdf8jZJM+YHwn65n4Qv4K+Y36o/MVjJR+HnssKB99Er6Vp6dNwHIkKdx26NKca2X4i/jdg4T2OzQBupl/FbIGJ+tfES/NY+mL4mu6MYIZ4ZXynoF+rIiyXAztE7iVV6V3YK6RWXsRfAm+bcO57TlNfOPZO/pnIKIOCcyE72q7Rr6SW8FxkcfCYw80HI//IJ7jCAkg6A23l6m71ANdYpvtF4USv381OM1jYNtVLRwNFbl+4ptTytyHVRsdx2StOf/D3PBK/n9lKh8qACmhdDSwA9oP9YjPAYSSL5C7sgUR3e+jlIBPl8o/R+gAanw9khThrMVZ8Bb6ByIwP1y2NCQPhG+jIrpRtwiweKgOPJCBvc1NStxS56HrKbeDl+im4wp6sTWSFjjlBpX6Hb6CM/k+PDwZEKOpqW2iJzVCEVr7TPgHKUOu1l5kMpVD41m2L5p5whPc2qFt1xDM0+VWvLbO1uF70V+6u4iEPOgMB/7ACdSerK/l3Yw/g+8Hpoif0sxzJyqJckpcGVshS8EfonkyH/UVqYm043Rq8Q7crP6bPhxoDvRjjsv2jslGA8wl7kL7AdEdqxTROq2p3Sr/iZfyLYiR6Y8ixylgbF6Vl7GOR/vTb2NvAnMM9SL7sbRBA0u48u5w4k8lAe8juSLyLjQOU+dJeQ4flKvsc3xpVpDTYckvZsAumr2Qs9qPqXlUHcCSxVABHD72S3MA8NyxYYfDYUNIyPR/zgy/m3JMOvA+MUcQWXXrIyvd0VLuQuFrx1PlVsgj7uYWpFSbEvmf6UyuedYNfSPjxXF1a/hweQds1ewL7o246SjBAsiDRJ5gSYSq1uk6CTvytlSu8LUhH0ZhCYrZlS+454N9FUsi+3EpyROSCyoCViWMgsZxdkY7Rqto/8mmZz4JhnKHQv+iM0Lr5AMFV/1j1RNiBQJe4C5uk/IvCoxOQctt4W0uLBj/Kyh3MPLzXFZ8WXaP31bsVuk0ij1rFa9jXmESyUP+VvwSrCNoS7+MHgc665pjdzwTBGqqFFkM5gFLCoYrglXpLeu9TIiziyvQbVftJz7oXYWEYj+I3NC7yMlgV6JfsFp7ADrIV16SC2MwOAkn0OvItWBTKqhMJSPgGNZPqcFQlQOjLqr9ocqE798CtsO73GHK8yLt4icVcnAN8AWvSFoyOlPlkZ+VQ4oHi9aL5iJiHIHuo2W8eGphUPydZZvSTvwFOSqoUukqegb0jilvUVI/UZu+C6xHXLvDEeqekb51HZVZXEPYr4kNThVMlS7HmUMYhiwN0wujDWtWx2b5x0b/oN3HZ1SC5skxnjaCaiIVCYmK45Ki9nG8UT6d6fUlcEe9sL+eEPBxBifuRb6TdYHoGKs2w2vlegM6yquQGDmG+pE4Jpx0M9NhoXkB0cAWRlM0p/HUU3vnz89zeDmMCE4KS6q/lNwi/pWnJ7T7mcleDDD7qzDrra0MfntAaiWMyjMRj2yaYLF7CdV91ppyMP/S3bMLURmpo1lX9Ayl4rXjKmsOJAldJfjYWZudjOXWNSv2q7/wz5ZBcXrEPs4vZyjhQf8YPL42FlxL+6sUH0lX14K5KpGWFfRjb3wIrEz9Kf3vcgTFdjdySeF9TT/83WJTos+w7rJbhB/0H18mfjjDDtdz7wpZx2+Bn0a6U3qHSOg65IT8njZN4rU1kVcyfpis2Zp5Rfdb4ytZia4M6tlYXvhcqOuWpc5kFlCm8ML/FGoryQiPBtZBIxh5Ui5ZBbN8PbWExFSB4D8rsmqURqbeC9Db20MFVMc45QGp4kw1c+q/exWDJMKZAQ9N0DHf0qWANtUVdYtBpmz0DGRm2RdZ4RywDOeDKBl0ly2qxrFTglvl28iWGiArsD2QLMlaFHPFn+CfggGBr4pb4RuKtN9i0SjvI+YS+lBcldwRvLOOMSdyE61Ns8NoY+DBcJP+IRUHteGBSWPyCtsLaDFWthfypcCAwQdTFO92/D3GXeEuNUlaqY0Um2r/2aa0k/gOvwfaDv2mqzK8lSRj24KdQtXSGYCaUh1eSNQwDmd/RJbXHhIP8LbxMnoN3CGB+WcKTE8Uj+5Py9Pe4+AurBGEZ75FR2A7eFOrV5J1eP9ST9Hl4Trp6/82VH11bxJv5nYEpwnGYwxkUvRjo75SIpgnHFe6Bp3aKKp5ID0bGAQnpeFkfOjKsHA+AT5Bfij4yU5JEIDfbFpYcA8lhqhHINOiAdDoMZPpgX1sSPiqGqz+ZukpcmL34pW4zOSn5WoM9Kq3htD0TzRQO0/ska2Y3IGPKTLsrdLH+nmxL6FMegzl4ZrA17LV64e/h+3foAX+I5cCryH4B05TUvNtj2BH4gL4El1bnXCkX6PVpK7PTE1Gz8ON7U1VRDWY2Y3Z1Uabrua1A5xhFY7h6t+clbDkl83jGvUY7hjiVT7qLTOwOYA5frXOEU61joTEmVEkJt4T3V9Gzf8XCxJHOT7qoeJV/h8SXFhcixBrrfr3O9iXZBR6vf+c6nprssxl/0DkBLtk/l7bBLZDL5a3Ul4GjTUvKUx6I50GBp1NYDUJrnxtv+ScpO5pM5frvbCj+C6ck6nLIP8vqG18m/0aXqretZcQZ0PBcOFBbo0RVPlC/3MemXAaMO1rLOgIO9gviK3b84OXoFySG49xQ59LMsJHa4XyTggVIuluSXc3rnX+K85H+tnG1vl52Ro6reqe1fozG/B75q3J6mkTl7KY30HTTbfiYXSGqqUoqp6TbFJwrfZY7IjupWqN1AktZzTNNtRd5/Onqw35OpOC09i2dKT6olKdWanOiTvbYEh21iwXT82/TAXVWVqiupfVhUIPFJgODY8aUSgOtA5+bwvYVS7xqlh9m11I3CQfhu8q6YucgR5FMyXlvulvEvBkLoRssp8Pm2KdW2SMjRZ0a10trIPKgrZpVGrOeU2+xl/LBKiSn9fGfVjrfxO9JEUwys4RWy7uMuwwxmQ9vRx9Zu9w/kvlROq14cTisexK9JeZH5ETrbgn1M1ImBV6x8MtkG/PdQqvp0tRkfL2kYp+1PNSrw4VobixlxfpbSPqwW9SQIm6oYSqS98XxDwHN+Q+OHJAQ3VV0UeFojtLf2blga34d+LJn1LJMuAyx6PUcWdQW1F6xj+dreLvZVtF8myEuVRxdbaisx2xHjQj+TGkqQEcDHQH4pRXmYJe92yM/mcbIywCx9Kmsnx63PZXGQDOlJxXv0lVKufGK//FdevS//Nc5p188phbvSUKiba6J/BOVR8LNFB/h4soNJCmwSvURyEzVtzAvzBvEbc0fy3NUttD21f8Ov6VgzhMij19mJwIAyO0Y4m6ye6SDdr7rG5cS80g1hR7Ul9mPMmZX19f/nrSCKrc3i0tSX4u3oz4USMwbmJPzxzK31oQTGiHVRZq3hdq1JcJCdyn0Y/Q0/dVUB6FBdrqbax3zymGOy/GEeQ5+R28XPbdl11bSk9XXEKn6yoSEtYO4Zb1cO5l+OAOJLpjuG+VIlK3UF4Gr0HpQHvoueUF6QXJenVw2XdvWJkB/hY8iy4OFqYvtGEq7+4OicYyU28O3ey9C0FbdZvY4O8dYIh4vbYC7OdPRnrYmwSUkEhcYb7BAknjfUf0sgUpLy0vK/mq9xAPCYPyhpij8gXWTJmif+DjgOt8wyVUHCBZ5LgGYdnH81vH9MzDn636NhImaCpnKHqxC8EF0pyiG/RO1T9RJ3g3NBRsEOkBf1cMZJe43tGXqTqSAsBBXOs9k/xvGAJ0iXwVDvT1TGwmBGCh6MyVbFjkOdP7JFpFiFGn5OPvb059uhccT3OLXgusr0KeC9LYxx4dfqj6KmoUWKzXlJsVVyPHfC3Ds9I2u4uFNwWnK6pTioPDRV9gyh7c9FgaZzsYaF1X8kLnAJ8seag7SH/iEIT5wTfSrK8HRkcSiYLUzLdTXxzc+fQ1kqNeLHguKgLPS3aHf8YUjK1+aWOp5KHHkydG1oteEmwQLmvMfcL+zGyQfLaezDrgieD/SUt45cgUO0xKDuYm11OzAicgPY4xYI30W2mTth42uXmS4dZj6paCrrGoNegg9dRvTfY3j41/TbVXR6MDHPijF/PyMZBf9NnlUe9Pzm/u08mDtGfiDncJ2jDsvFaq/emDrE6w4PJGeKjvlfgvGgjTkPFWVrkQwT/gN90M8v5hqkePT01KpMN0+yxdSR2QwZexLufN0dkJEaGP2g68V6SD6MmW0ONXzKK3cteVbfhLhbt1qZF68jxqAB5xKidzzXb4k8F3zxnsF5udVpv90doVSI3OE0OWA6ocyXjVYciHnRODOQI9FSwcgZVrt1ZRHhGxr1BERbFhIWjq2zWhKsP0RmvBU6mjxQuj5k0y0iDaCWnm2WTaEqEFB6U90myMTxwEPRN3z1kr7GZJdoKzKr9io+S0p7Vik/xxfRI7rqy5uxf4STvbO4DdQ/+SPov3nZY8mOq5xnQVigVtbc3x1vyH+uXe2n6nue5M1k2IfaCU8IsIYloe3QYsZBpEjiIj493cW9XtyKF7ANkJf9CUjP/TkbgsoVckUVK4Ac2DrpnWstusFs0EYiOn4uxeAAwhPtmplmtPFAuhb/4k4LnTGWhU8HOUtC7FFmpOeWLyCfjnQQdgX8SfxJu1itRwA2CYQrxpWleRv4KX9AV+4+E+2kw1Bz6hDdkqjX94Uz3NmGDuJ+IMruy0nxtXXuhOfqvcZ7nvTSALFD8sGexwagUzVYPhlpE90RmKJ/9up6zhSqq3ScjpYMt+UyhKlP4MLzbIUgdUPFZFKC4/AFKTuiWHG6ZqvDaq85pQ9AjiwRJQBO1GC4DXyUry3Tcl4JntWMipblvXR9Cx8mT8qPmsGy5/K6zk2Sx45HeVPEUY/g9nX0Ui+Lx+Axbz5zjoQ+BjrgWahhel/iYrYvupVXsoTQKecdeqP6VYyn8S5/NSLi+Uql8IdpZCIR+Ya24zZVjzQuZxtF2jFV4hSyvnC5cQorisvCIzA3x++DYOAYuqP4L+iag0R/Uaeg7dgHsq7zK20d5eKmVnwyVfugxWegPajDJ2uAmXjPExDNgk6wVwEB4tYQrLw2uk9yK6tgq4qKkf+Igf2GwW+JLfAzVPL43fi9cV/Gb9HNUKygOvMYUzuW60spz9FysJ2vj3EqbF+gkS7Ef0SWhy+MXBD3j+8RvijfllfsKk/3VleCRCKTRskzkNa2RLPGMEywMtZLM5W4RHPQZ1AsIrvgx0053EWyGPeCuibwQzZQg9EfeqehDaX7t+eRybLjP5Unhboz2UDX2CZNAO9VFNMaZwV5ExFRH7Rt4qGd+Yji23r7S3NX1Ah8iccM/6c6ZA7A24qW14wUgssbYASuV/kibhB6yDok8iL0KOBk1MTe6mBxCd8tqQ6zWbY4Pqpwvf+NeIRhp+y7sHuoZnValtZUJ/CBpOIX3zj3GM+rrS7YRnWlh4rv7N/1AwRHeaYEFq8sJm37w3iEJ8VbmrsNZ2aCaQ6YqVnD90sWR+64UeFDZa4PUe60kSrzj/EtvBR8ApcoW1UCrOoer5mpnVFUnBcOLRH7gAfqN7JDYyWrCv0z/EIV4b2yu1y78299W9QHlOJ7JN+KTyPqgkzwO4enfqOGOK2g/7iuvl7uU6pl2y/wneJg5wP/du42SJWstoyQvaXdKmuUh1IqBDP7AV99WWcC3PuMblWPhqS+Sh/2tdBKyoZvDhxIuJBW9C0zzf0+uJN3Ce2UXMo/XduFu4onsLfh46t4SHwoBHfitMD/VJ/a34JD5rIERqKIqC3SUfRtbabgJ3+OFeEuYM2x7IjNSH90NesN6+275NIfM+59hgmBQ/J5rZlQM3YfXkLWqH3hpminC8Ls45IKi2BXV1+g7MFV02N6S6EL3if5IJt0dTbi8FadASvL2+ZkYI0eAhvhZkS58TLhOM4lBwh1JnfufpD7x4vCyaFfTAKiJpz5SS72hP+utrrAHldZG79MHqRbMOPqEwY8j7KDYKJVc84l/ixkltIk89gmSzyDKNxHtAGhsehHzW+RjOE+515ETHAKWexvoE+gl8gFr5MsU2ewJtKF0RriLliIL4zQ+M7U1dwfuY5+gBlkbsAvB+odEHynrCi/ZZ6R89C9L+poQpQ5EZIIzaKrlCnkN+83THNiPFHgGxBdIyvyR1A3ei/E2UNwZ566ibzonSDlhBSUJCIzH4i4KIb1KHPglHIpT3H1MPFIuisn7xDY7euoXujTyf2S6opPxNAtf/J4A/WXoJtk5apjnIAIRgS3oInWzwBPYxAuFHaQVa0nJADv7nwRmunseeHpzXeIq8mUkSdOIN467P5ER6ObtbRjmG0LeRi6Bm+VNpf9B+cWPeUr4hfJ22Wb+feI/2/OYmqdXvTJ/RAn9a0F9bIv+GvDGe87gCh2wvSPc3I6K5fAUtqPyv/BirVi0SSkz3w79EC/VmnnTgfm+EqRMtsKFpDDsdq8L3Y71s0bU37le+yjTupBemoXvddfF9hs6o+2qpkDDOVBb+V7OtJhW4CDqh/+OFUhFwS6GbdBmUYH1PfGYNyXrgyWAfa79mbD4XfwWsFd2yTGM5ehtyF+1oyJVeEwrs/TFngbTwPvxUQKv9J4oBD6Sq7EhnoRvrNIfrQu8LT+lsRKieKvQJuBcrEuiNns4vsmRLsoMCIMxLNdKCQNIivq1OEs2n1rrOAeG6TPaRs4HmiNlafgnTbnnGFKSeqEmnLgsxyq/q0RcscBO7gkXqgFn16Q4574UCkt74V0lq2yNuYvJ15ytQBCh5M3KW7sOc3YlUmQZ3q7MM811QR/vGtDDfwnPQtXCRmrK8hb9Yjpps+UUhY0hmfhpEoLysO/lLTUtyv+U+5nu9Hz3AbGdN1o5zrtVMIrHpe8FDmRuC2qN/3K6VjfRfUIW2XS5Eh+PZWRbpIX4kbA1XOzxyBtwczGteDY7HNsFFKh8srEVMwx65FRsq/ElHBG/BvaHwOga7kN6knh/1Kbd5PUoJtdCGYqL8YeMCZqcNA1YoJjLV8Vy3f/KFsHpybudWWFz2tVIb6IS/kF5+XdCFHFOkk7OQhuC58wPvLfrLAk4wbhhMGsKZyVeoPlAKDSUdkNOuav8l7AD/dTzxLeOIg1vnS2VFnI+sNOd5vqkvRXT+lsbzVwnnR3gqG6pW/o+xP28S+qF0aPAn/bPsIPsxUyqyhH3tN9WVjsAhlbPpTsFuJ72jkayyd4UzQv6lPvPpDRhWXUj7BoekkH/Q+9KVhC9xH/UHEK6Ozt6hIpV/Dz5KM9coJ5gkaKDVayKei9wY+pX8oneC4os8090ijWfT6J+WUPCYZtgGslucI/Gnke+Kp6Iauy/5bzjvK7AFFlwnvE34GJ8I+8+2E72JDZSMdyTrd6GD/BKstoLugQN1ETveR0/ALmTlT3MLmg/b5L1inw1JoV8wmblPEUqu0TZHSzyzaDMwh8cFbc/P0Xg9k8xDMUe1ZRii3yIIpVT7d2pnOIB9OoqSMO5Jv6APigakmynNqn+LvUnxubctA8Gd4keJ/LjDx2PsAHQYGwm31CeBdXjv8ayESB8NtrMaBGuDUhQBlhRPcL0gD3okfMrI8WxCiwIv+QoI+KkcpGyzJ7sYkCWKGOwXOoc5wd2S19evoE7ke2WmeF/Jn6GNqBO0o7ISOov45fvPTKah4d79ul47lGZ9xhNRUvjB9/syA7uEGa0ajecwQ+VPZR/dn9ITmIWuC5pn1OpsYIo5IvNYl5QVui8vXcqp7qurm30AI+vafgzP2kULMZf4lr8stAb/BSbyK3iLoAmG4qgfznmAGo6Hp+XmJbgufbBqOW0rktomMIZ/BA+bJojVmm3m7WKGsnTOAcBRI3hY1Vc/k/gnXysoWXwlKgxljCewH9xLPwXyLhAB/c5CeYcLR8a/8NzJrku0SrUBRaxdeMv3QfQNcRXPFndgVsVXgq0Eb32ifgS33+SCt/H8CrOB/0cz030sWC5GzTlELzPYJH0DfKxsk0uik7yS5nV3EbpSZbW5FBxXOUL7/X9VfcPqZdTCS+DLcw9vwTM0zkdb3zZqkoyJe2YbFouRs6QM8XbwXZ5joQ/WvGTl9lc0DqwjvRbAyGJxUfnRxbprmHnLJBgAN6hYkfhUaYn8R8RtkTdFDY1sVnHZQc5vOTAqpHCJsbjaDbQgYwmbbJq4I1aBzjLdzFnJbknmAT+hb7OVJjnSjTJpPe9u7MuIfsMzmGg9+yP2AzqPPItPh/5GlsJL1R1sc3hXOQHRX2IncIC4LB3E3sIfs6uhg9bH7Fr1Fp4LDIC28oHmDrMCEAfdQQv8XphR70C/j1hSXxUuH/wC/eGHLedS+4Xn6e57hNhYHS3rItrkjABtWf1pixPIumXHJUNsGajr5SYIJneTY0QjOA+kI1ivrl/hA6ZBloHaIZ4SGlb4inZQ9WWL0T6BEx0uqF/fE8FxSVVZ7CB4Ea/U3iqMo3lSKGTPJF0PKmP5yOLfPmCI5bJVOfozNgmNyWtxw07xPa3/G3pClzsGin8Bmeon0eU5uXxUdQnolcMi38in3n/IHi6hZ79/L8UWcQU7z+yrorHvpsCEFhT+SvR2/mQ5wb+M8CJHqzT3YDbKtCCXEotkDUsB8I5+nhYZ9hc8iHGU7+urlCtcsRFxw0NElmRXkmQfa32T+fd9DXsfwER0JmaI05JaL0ZgjuJMPWQQYRvfR8EWlkXe1Ha/hC0CxxDBKDb4g7+vUm/89dpKdsYGRj8bvojugsBbZ10ET0/MgArihYF75MNDD1s20V27r1EG1QDJwIWepUwLQm0p/Hu2urTCvbvpNbOMY7xuZLAJEaBrYfUxIKMT0gv90IvJhiSWO7D0gYENkuHUV01+USl77VguLRB6D6vX6JDpLPwJ/HZ/w25wimmLzCO4Af5Oc6mRJ5tjRyK5aAtHIy2vfNLeAbRFBvFL/J8JjublpdNUjTCVuBgEv87d7s8Ujs+lsm+Mteprea9pKwKg3QDc9T/QJDsvFE2zwvZmmlnGx9lX3X10AJaS3Ab3N07BrnAdEjqkjwO2Wr46P6ftlOMEzjz64XIpk5zW4D13Bbclrz6ULS4A9w4tCT3XvyWboxgJ9CZHePZI8yrJESL8+cGLtp/E401EuJZsmj5am5W9vf4N/uWYD3LSX6BpcB3K/Qs7wlwQHeAbp6FeWaqligzkXnUOFqJzVAJwFGqBt5G8Z4h6HjKQHS/85DwuHqZ+wjdXNlBeUNqIAebicRpzkfImSp2Lde5Qp/8m6D8GObeFWXlWCRdiQO35eqAS8n3r64q1p+3T0vrG83H9+R5YJmrZ+KcsABuDG0TrxVfCfh8OarhjlXwAmo4FCcVwH+yIH0nul0V8ztjNw1DiWUOPkqRfnhf8Cozl/NPtCnTz3iR3ye4APFlECF5Qu73I3BZj5R75D2FB4sIv7qXxr9Rk+F/HQOThaBFDfeqfGFYndzcrnd9l5WLPpJrmdWJp9QobhVvJv9YeAMlZYxMWo60SIX0hy/AJ9k/iupprOG8sNyzyzgF6sJRaHhFl6RNKm7BOaIG5cuz9ioV7p+huL9j0la3k5qW2t/XS5lgvikbVOO6y76GooUeblxjeuX/N1xPdsy1G9zNhgRMICjtBGmk4913RU3ClxJ6lpvk4H2OnQ0OU3WyNjV01T311cqWcayxTe73KQPdd/lUrFe2ztrA6KUAfZ3F5RpJe+xg8BamSRz1G9VfOPeIEHBPd6rMZyT5IIh9A1Qzha8c/yOO5ctCo+RZscbsh8hYeIF5RN4EzvZgDZCE7/O/SG0Uu090jG1Ol5btkF1HfxJzkFvSyp/WnKmuamGJ/axpJn+Sc6e7SFAr+jculAQSHUBbtBN3bPSFq1fWZAqsXa8+JV1QoRP0EuwV17HtJnfpivldLXfkNc70DMSyjX2NdIut5T9XTK6piiRy7lq34zrRUy5U7OqYOU3MsidlDyvOcgeRlfE+5A7gG33ZPlHePPg7fzLUhq0PXU88lSLUef4a213/fmBGNT/6TvlZ0JB7+OfzcEjLs0N1DSG1dxX4QHhWvJlKYbrEP1AZklJQhneVtrc/VdVj9N4/3PvAKsTCHJL/9A7SLUiY7N9iPkoH6ESLuWX+aMykOhmcnjobaC3RBjfqvK4qwQwwqtpchlNLwjtls+RjwKteF/APflddoJZww/LzyADmTQLsKnZVfKhu7NaAtzLksmw4TUmibekWrC7vVaxPalHpNG+M6I739qdDrui40LeUQym9OVn1zgCNBSbvo8BJiVE+0LJd2Tnh8KRlb0Y14m6Rz0zQEBPP0F8zI3hKWjvbNeV8H6EkUqoyWvCWSGWJKvPTtKE1/SwraBcVSe1BNlBXJNrJPIKzvttA4+qM+I3yY9HL9qcpDzkp0N7CZppJsntA3dq5wXvOW2gd+F/JQKoh51y8Xdl6/hF/fQNQIesGJ0cOEO80axMqb1PAmNuoJDWxRnTJ9Lw8jzsonKtjBRcrClLquCJpnR29+CC/0m3U24BE5UyZWNbWuVmzruqSwhC7j+6HbtSM1dQQ94IPs1zWr4nWxonBM0z9wIqMVrYrik+CN8DE4kOqBnEofkTVs5KVHeAe8d1MQws/6erbGIQvfQ889XTOagCfdz9G5pA35P1jk2AyoBbt9w1V96Eu4BVaMLKQQmi9YUApBTxiJchPcrMUeKB+L+MDRHEDo0MasS/0PQBSoXjO7tjPmhNyOpKHN6+z2h3D+pJkWEiWyw5JwPCRyATmLH0MSlbYPK9yTlQEod3Uk8w+rlb2s/XuV/5jHOXzqYo8zbFDvmeAMuWU+4/geyGrCtKl7J+884SUfhO5oimo3s+vG/mW7rQ3o7fBLFVXkYcg2K3Kw4nRdJbar/ryvY+uJH5OpY1MgHXCPU53AtLyY9eFRZxo+H4gLmoheRJcF38bbiWBDglQfDYyWpROvLX9YSJCdXkrhDsFIsdoQUCd5OSx/UNHFe39cpSFsuWwiOfPpQpksxQy9rY+y9+XRUMLkqo8z4DByHtwE39WoHVqadQTLeAes1Kmy+w8bm5oTKRAsUCZS5502TxOHz9BhcYY46WpbCC2IrPY5wae8k7KhgMSxzZRBDvgcCdOCs7G58SfA9XwBCLJziH/0WUE9oda81vG+gBd2DbgoqrGsV3iuYHxsCzmMV6pgJV6IlBTdRJEcjJ9HR0Zxia+VE83qq+4i7Mx2Eb4hLljXBnrwDR3t4HGRjqwFbFj7GByOz8TKHEla2dX1UtCEtex8vBzXy2znn5n/Jcajyijp9S/CZ+BaUgTgHW48sv9/1ZPky4U/k6XQ+/Vb6tah9dI5dGvnKYly5KaWjZLyiwPqPOm+zV/1TulKeNUEjWJmZLHCo+3Om2GeSbvRVG5Rkzfob+yGaGbwA2J16AJTUbHQUsrfq8/o7JMCozQIDijC1R9NZnZ/3g7QG2kF1pD/KTfxDOwIuXOKpX8IdWI1sIHJKnskuA858v0kLshVCjO8mzRLSRbiOa62iA3HXNkF3j5cYPifxUH9Wmx8TEPcgYZjQ6pUSRjnMFiZTABkKEexANyWu6GmiohT14Yygy2pptC2UyUuAkdlO/liqwNsPem54mN0G7gXPEw/Qios2RA4AvxhXuOsGmK7DA/30blTY8ukh4zV0X6AF2QkSk1RLb9/+NpZ3wADuRCAAAAAElFTkSuQmCC) repeat; }
.intro::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; z-index: -1; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--bg)); }
.intro__in { position: relative; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; padding: 0 var(--m) 18px; }
@media (min-width: 761px) { .intro__in { padding-bottom: calc(18px + 4vh); } }
.intro__in > * { min-width: 0; }

.intro__name { text-align: center; padding-top: calc(var(--fs, 60px) * .34 + 22px); touch-action: pan-y; }
.js .intro__name { cursor: ew-resize; }
.iname { font-weight: inherit; }
.iname__vis { position: relative; display: inline-block; white-space: nowrap; font-family: var(--display); text-transform: uppercase; font-weight: 700; font-stretch: 70%; font-variation-settings: 'wdth' 70, 'wght' 700; font-size: clamp(44px, 9.4vw, 150px); line-height: .9; letter-spacing: -.01em; color: var(--ink); -webkit-user-select: none; user-select: none; }
.iname__vis .ln { display: block; position: relative; z-index: 1; }
.iname__vis .ln { text-align: left; }
.iname__vis .lt { display: inline-block; }
.iname__vis .ch { display: inline-block; }
.iname__vis .ch { position: relative; transform-origin: 50% .39em; }
/* SVG copies of each letter: .pl the plain letter with slightly rounded corners (#rd-f), .ne the neon version under the playhead (#nz-f); filters are built in main.js */
.iname__vis .ch { color: transparent; } /* each letter is drawn by its SVG copies (rounded corners); see depth() in main.js */
.iname__vis .ch.sp { color: inherit; }
.iname__vis .ch .nz { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.iname__vis .ch .nz .pl { fill: #f4f2ee; }
.iname__vis .ch .nz .ne { fill: #fff; display: none; }
.iname__vis .nz-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.ph { position: absolute; top: -.16em; bottom: -.15em; left: 0; width: .36em; background: #e8192f; z-index: 0; pointer-events: none; }
.ph__tag { position: absolute; left: 50%; top: 0; translate: -50% calc(-100% - .45em); font-family: var(--sans); font-stretch: 100%; font-variation-settings: normal; font-size: max(12px, .1em); font-weight: 500; letter-spacing: .06em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ticks { position: absolute; left: 0; right: 0; bottom: -.24em; height: .09em; pointer-events: none; }
.ticks i { position: absolute; top: 0; width: 1px; height: 100%; background: #5b6168; translate: -50% 0; transition: background .3s, height .3s; }
.ticks i.on { background: var(--accent); height: 160%; }
@media (max-width: 760px) { .logo__mark { width: 34px; height: 34px; } }
.intro .tagline { margin-top: calc(var(--fs, 60px) * .38 + 10px); font-size: var(--tfs, clamp(14px, 1.45vw, 24px)); font-weight: 500; letter-spacing: .2em; white-space: nowrap; text-transform: uppercase; color: var(--ink-3); }
.intro .tagline b { color: var(--accent-ink); font-weight: 500; padding: 0 .35em; }

/* the reel sits between its two arrows, which are centred on it vertically */
.intro__stage { position: relative; min-height: 0; display: grid; }
.intro__stage .ibtn { position: absolute; top: 50%; translate: 0 -50%; z-index: 200; width: 72px; height: 72px; background: rgba(22, 24, 26, .35); }
.intro__stage .ibtn svg { width: 24px; height: 24px; }
.intro__stage .ibtn--prev { left: 12px; }
.intro__stage .ibtn--next { right: 12px; }
html:not(.js) .intro__stage .ibtn { display: none; }
.intro__reel { position: relative; min-height: 220px; perspective: 1300px; perspective-origin: 50% 45%; touch-action: pan-y; }
.js .intro__reel { cursor: grab; }
.intro__reel.is-drag { cursor: grabbing; }
.rc { position: absolute; left: 50%; top: 50%; width: var(--cw, 280px); aspect-ratio: 1; border-radius: 3px; overflow: hidden; background: #0b0c0d; box-shadow: 0 26px 60px rgba(0, 0, 0, .5); will-change: transform, opacity; -webkit-user-drag: none; user-select: none; transform: translate(-50%, -50%); }
.rc img, .rc video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); pointer-events: none; }
.rc video { opacity: 0; transition: opacity .5s; }
.rc video.on { opacity: 1; }
.rc:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 4px; }

.intro__cap { display: grid; justify-items: center; gap: 2px; text-align: center; min-height: 84px; padding-top: 8px; }
.intro__cap > * { transition: transform .6s var(--ease), opacity .6s var(--ease); }
.intro__cap.is-swap > * { transform: translateY(10px); opacity: 0; transition: none; }
.intro__title { font-weight: 600; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.2; }
.intro__meta { font-size: 13.5px; color: var(--ink-3); }
.intro__meta b { color: var(--ink); font-weight: 600; }
.intro__cap .link-arrow { font-size: 13px; margin-top: 4px; color: var(--ink-2); }
.intro__ui { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; font-size: 12px; letter-spacing: .12em; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.intro__range { width: var(--nw, 360px); max-width: 100%; height: 3px; position: relative; background: var(--line); }
.intro__btns { justify-self: end; }
.intro__range::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: var(--p, 8%); background: var(--accent); transition: width .5s var(--ease); }
.intro__range input { position: absolute; inset: -12px 0; width: 100%; opacity: 0; margin: 0; cursor: pointer; }
.intro__range:has(input:focus-visible) { outline: 2px solid var(--accent-ink); outline-offset: 6px; }
.intro__btns { display: flex; gap: 10px; }
.ibtn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(244, 242, 238, .28); display: grid; place-items: center; transition: background .3s; }
.ibtn:hover { background: rgba(244, 242, 238, .08); }
.ibtn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* without JavaScript: a simple scrolling row */
html:not(.js) .intro__reel { display: flex; gap: 14px; align-items: center; overflow-x: auto; perspective: none; padding: 20px 0; }
html:not(.js) .rc { position: relative; left: auto; top: auto; flex: none; transform: none; width: min(60vw, 280px); }
html:not(.js) .intro__ui { display: none; }

@media (max-width: 760px) {
  .intro { min-height: 600px; }
  .intro .tagline { white-space: normal; letter-spacing: .14em; }
  .intro__range { display: none; }
  .intro__ui { grid-template-columns: 1fr auto; }
  .intro__stage .ibtn { width: 44px; height: 44px; background: rgba(22, 24, 26, .72); border-color: rgba(244, 242, 238, .5); }
  .intro__stage .ibtn svg { width: 18px; height: 18px; }
  .intro__stage .ibtn--prev { left: 0; }
  .intro__stage .ibtn--next { right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .intro__atmo i, .intro__cap > * { transition: none; }
}
