/* TruNORTH — pages built from the Wix Studio design (tools/site/build.js).
 *
 * Phone (≤750px) follows the Wix mobile breakpoint, which scales with the
 * viewport: many sizes are in vw so the layout matches at any phone width.
 * Tablet (751–1000px) and desktop (≥1001px) are designed from the same
 * content, since the Wix desktop and tablet breakpoints hide most of it.
 */

:root {
  --black: #000;
  --cream: #fffefc;
  --paper: #ebeae6;
  --yellow: #f3e75e;
  --pale: #f4f6ad;
  --grey: #939290;
  --green: #0f761e;
  --stone: #5c5757;
  --orange: #ee7419;
  --serif: averia-serif-libre, Georgia, serif;
  --sans: aether, Inter, Arial, sans-serif;
  --lean: bree-w01-thin-oblique, Ubuntu, sans-serif;
  --dek: brandon-grot-w01-light, "Josefin Sans", sans-serif;
  --plain: helvetica-w01-roman, Helvetica, Arial, sans-serif;
  --ui: "Wix Madefor Text", wix-madefor-text-v2, Arial, sans-serif;
  --gutter: max(16px, 4.6vw);
  --wide: 1360px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--cream); color: var(--black); font-family: var(--plain); }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, dl, dd { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; }
button { font: inherit; }
.skip { position: absolute; left: -9999px; top: 0; z-index: 2147483647; background: #fff; color: #000; padding: 8px 12px; }
.skip:focus { left: 8px; top: 8px; }
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }

/* Full-bleed background images inside a positioned section. */
.bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* An image not supplied yet. */
.ph { display: block; width: 100%; height: 100%; min-height: 1px; background: #1b1b1b; }
.ph.bg { background: #111; }

/* ---------------------------------------------------------------- buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  min-height: 29px; padding: 7px 16px; border: 1px solid #fff; background: #000; color: #fff;
  font: 400 10px/1.2 var(--ui); letter-spacing: .01em; text-decoration: none;
  transition: background-color .2s, color .2s, border-color .2s;
}
.btn:hover { background: #fff; color: #000; }
.btn--yellow { border-color: var(--yellow); color: var(--yellow); }
.btn--yellow:hover { background: var(--yellow); color: #000; }
.btn--yellow-clear { border-color: var(--yellow); color: var(--yellow); background: transparent; }
.btn--yellow-clear:hover { background: var(--yellow); color: #000; }
.btn--outline-dark { border-color: #000; color: #000; background: transparent; }
.btn--outline-dark:hover { background: #000; color: #fff; }
@media (min-width: 751px) { .btn { min-height: 42px; min-width: 182px; padding: 10px 24px; font-size: 12px; } }

/* ---------------------------------------------------------------- bands & headings */
.band { display: flex; align-items: center; justify-content: center; min-height: 43px; padding: 0 var(--gutter); }
.band--yellow { background: var(--yellow); }
.band--black { background: #000; }
.band--left { justify-content: flex-start; }
.band--right { justify-content: flex-end; }
.band__title { font: 400 15px/1.2 var(--sans); }
.band__title--enfonix { font-family: enfonix, Michroma, sans-serif; font-size: 15px; letter-spacing: .02em; }
@media (min-width: 751px) { .band { min-height: 64px; } .band__title--enfonix { font-size: 22px; } }

.rule { height: 3px; background: #000; }
.rule--10 { height: 10px; }

/* Section heading bars (Learn Creative Economy). */
.sh { padding: 12px 16px; text-align: center; }
.sh__title { font: 700 18.7px/1.3 Arial, sans-serif; letter-spacing: -.02em; }
.sh__sub { margin: 3px auto 0; max-width: 260px; font: 400 12px/1.6 var(--plain); }
.sh--black { background: #000; color: var(--pale); }
.sh--pale { background: var(--pale); color: #000; }
.sh--white, .sh--light { background: #fff; color: #000; }
.sh--light { background: var(--cream); padding: 0 16px; }
.sh--faculty { background: #000; color: var(--cream); }
@media (min-width: 751px) {
  .sh { padding: 40px var(--gutter); }
  .sh--light { padding: 24px var(--gutter); }
  .sh__title { font-size: clamp(26px, 3.2vw, 44px); }
  .sh__sub { max-width: none; font-size: 15px; margin-top: 8px; }
}

/* ---------------------------------------------------------------- slider */
.slider { position: relative; }
.slider__track {
  display: flex; gap: 32px; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain;
}
.slider__track::-webkit-scrollbar { display: none; }
.slider__item { flex: 0 0 auto; scroll-snap-align: start; }
.slider__item > a, .slider__item > img, .slider__item > .ph { display: block; height: 100%; }
.slider__item img { width: auto; height: 100%; max-width: none; object-fit: contain; }
.slider__item .ph { aspect-ratio: var(--ph-ratio, .75); width: auto; border-radius: 16px; background: #b3b3b3; }
.slider__item a:hover img { transform: scale(1.03); }
.slider__item img { transition: transform .35s; }
/* On desktop most sliders become a grid. */
@media (min-width: 1001px) {
  .slider--grid .slider__track { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); overflow: visible; }
  .slider--grid .slider__item { height: auto !important; }
  .slider--grid .slider__item img { width: 100%; height: auto; }
  .slider--grid .slider__item .ph { width: 100%; height: auto; }
  .slider--grid }

/* The site menu lives in menu.css, which the older pages load too. */

/* ---------------------------------------------------------------- footer (home footer, every page) */
.site-footer { background: var(--green); color: #fff; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer__inner { padding: 55px 24px 12px; font: 400 14px/1.15 var(--plain); }
.site-footer__title { margin-bottom: 30px; font: 400 16px/1.1 var(--ui); letter-spacing: .01em; }
.site-footer__touch p { font: 400 14px/23px var(--ui); }
.site-footer__links { margin-top: 18px; }
.site-footer__social { margin-top: 16px; max-width: 252px; }
.site-footer__copy { margin-top: 16px; }
.site-footer__logo { display: block; width: 60vw; max-width: 300px; margin: 30px 0 0; }
@media (min-width: 751px) {
  .site-footer__inner {
    display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px 40px; align-items: start;
    max-width: var(--wide); margin: 0 auto; padding: 64px var(--gutter) 48px; font-size: 15px;
  }
  .site-footer__logo { grid-column: 1; grid-row: 1 / span 2; order: -1; width: 280px; margin: 0; }
  .site-footer__touch { grid-column: 2; }
  .site-footer__links { grid-column: 3; margin: 0; padding-top: 49px; }
  .site-footer__social { grid-column: 4; margin: 0; padding-top: 49px; max-width: none; line-height: 1.6; }
  .site-footer__copy { grid-column: 2 / -1; margin: 0; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.3); font-size: 13px; }
}
@media (min-width: 751px) and (max-width: 1000px) {
  .site-footer__inner { grid-template-columns: 1fr 1fr; }
  .site-footer__logo { grid-column: 1 / -1; grid-row: auto; width: 240px; }
  .site-footer__touch { grid-column: 1; grid-row: 2 / span 2; }
  .site-footer__links { grid-column: 2; grid-row: 2; padding-top: 46px; }
  .site-footer__social { grid-column: 2; grid-row: 3; padding-top: 0; }
  .site-footer__copy { grid-column: 1 / -1; grid-row: 4; }
}

/* ================================================================ HOME */

/* Cover: the Unveiled magazine cover with the issue's stories over it. */
.h-cover { position: relative; min-height: 224.4vw; background: #000; color: var(--cream); }
.h-cover__art img, .h-cover__art .ph { width: 100%; height: auto; aspect-ratio: 3913 / 4962; object-fit: cover; object-position: 50% 0; }
.h-story a { text-decoration: none; }
.h-story a:hover { text-decoration: underline; text-underline-offset: .12em; text-decoration-thickness: 1px; }
.h-story__kicker { font: 300 2.667vw/1.3 var(--serif); letter-spacing: -.02em; color: var(--grey); }
.h-story__title { font: 300 4vw/1.3 var(--serif); letter-spacing: -.02em; }
.h-story__dek { font: italic 400 4.8vw/1.3 var(--dek); letter-spacing: -.02em; }
.h-story--lead, .h-story--travel, .h-story--econ, .h-cover__actions { position: absolute; }
.h-story--lead { top: 71.8vw; left: 4.9vw; width: 51.3vw; }
.h-story--travel { top: 71.8vw; left: 62.3vw; width: 37vw; }
.h-story--travel .h-story__title { font-size: 3.733vw; }
.h-story--travel .h-story__dek { font-size: 3.2vw; line-height: 1.6; letter-spacing: 0; }
.h-story--econ { top: 120vw; left: 62.3vw; width: 36.7vw; }
.h-story--econ .h-story__title { font-size: 2.667vw; }
.h-story--econ .h-story__dek { font-size: 3.2vw; line-height: 1.3; }
.h-cover__actions { top: 134.9vw; left: 4.9vw; display: flex; gap: 2.8vw; }
.h-cover__actions .btn { min-width: 18.7vw; }

/* Tablet/desktop (Wix website-7): the cover runs full width at Wix's 1 : 1.0394 crop,
   with the stories laid over its dark lower third. Measured at 1440px, scaled in vw. */
@media (min-width: 751px) {
  .h-cover { min-height: 0; }
  .h-cover__art img, .h-cover__art .ph { aspect-ratio: 1600 / 1662; object-position: 50% 0; }
  .h-story--lead { top: 70.3vw; left: 6.32vw; width: 48vw; }
  .h-story--econ { top: 69.65vw; left: 65.5vw; width: 32vw; }
  .h-story--econ .h-story__dek { max-width: 26vw; }
  .h-story--travel { top: 85.9vw; left: 65.5vw; width: 28vw; }
  .h-cover__actions { top: 98vw; left: 6.32vw; gap: 4.9vw; }
  .h-cover__actions .btn { min-width: 12.7vw; min-height: 2.92vw; padding: 0 1vw; font-size: max(11px, .97vw); background: #000; }
  .h-story__kicker, .h-story--travel .h-story__kicker, .h-story--econ .h-story__kicker { font-size: 1.53vw; line-height: 1.2; color: var(--cream); }
  .h-story--lead .h-story__title { font-size: 3.6vw; line-height: 1.38; }
  .h-story--lead .h-story__dek { margin-top: .7vw; font-size: 2.08vw; line-height: 1.47; letter-spacing: -.02em; }
  .h-story--travel .h-story__title, .h-story--econ .h-story__title { font-size: 2.36vw; line-height: 1.29; letter-spacing: -.03em; }
  .h-story--econ .h-story__dek { font-size: 1.46vw; line-height: 1.38; letter-spacing: -.02em; }
  .h-story--travel .h-story__dek { font-size: 1.46vw; line-height: 1.7; letter-spacing: -.02em; }
}

/* Intro: TruNORTH, the platform line, the eight things to do, Join. */
.h-intro { padding: 7.7vw 0 12px; background: #fff; }
.h-intro__logo { width: 52.6vw; margin-left: 5.1vw; }
.h-intro__text { margin: 5.6vw 8.5vw 0 6.4vw; font: 400 15px/1.15 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.h-intro__tiles { margin-top: 5.2vw; }
.h-intro__tiles .slider__item { height: 55.9vw; }
.h-intro__cta { padding: 2.6vw 4.9vw 0; }
@media (min-width: 751px) {
  .h-intro { padding: 80px var(--gutter) 72px; }
  .h-intro__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: center; max-width: var(--wide); margin: 0 auto; }
  .h-intro__logo { width: 100%; max-width: 420px; margin: 0; }
  .h-intro__text { margin: 0; font-size: clamp(20px, 2vw, 30px); line-height: 1.35; }
  .h-intro__tiles { max-width: var(--wide); margin: 56px auto 0; }
  .h-intro__tiles .slider__item { height: 340px; }
  .h-intro__cta { padding: 48px 0 0; text-align: center; }
}
@media (min-width: 1001px) {
  /* Wix website-7: logo and line stacked on the left, six round tiles in a full-bleed row. */
  .h-intro { padding: 3.8vw 0 2.2vw; }
  .h-intro__head { display: block; max-width: none; margin: 0 0 0 6.32vw; }
  .h-intro__logo { width: 23vw; max-width: none; }
  .h-intro__text { max-width: 44vw; margin-top: 1.4vw; font-size: 1.25vw; line-height: 1.22; }
  .h-intro__tiles { max-width: none; margin-top: 4.2vw; }
  .h-intro__tiles .slider__track { gap: 1.85vw; }
  .h-intro__tiles .slider__item { height: 20.85vw; }
  .h-intro__cta { padding: 1.9vw 0 0 6.32vw; text-align: left; }
}

/* Featured event: the flyer. */
.h-event { position: relative; background: var(--orange); }
.h-event__flyer img { width: 100%; height: 144.9vw; object-fit: cover; }
.h-event__details { display: none; }
.h-event__cta { position: absolute; left: 5.4vw; top: 125.9vw; }
.h-event__cta .btn { min-height: 33px; padding: 8px 18px; font-size: 11px; }
/* Tablet/desktop (Wix website-7): the expedition poster fills the section edge to edge. */
.h-event__poster { display: block; }
@media (min-width: 751px) {
  .h-event__poster img { display: block; width: 100%; height: auto; aspect-ratio: 1440 / 993; object-fit: cover; }
  .h-event__cta { top: auto; bottom: 5.6vw; left: 6.4vw; }
  .h-event__cta .btn { min-width: 12.7vw; min-height: 2.92vw; padding: 0 1vw; font-size: max(11px, .97vw); background: #000; }
}

/* NERGP band, from the Wix section's own values (S = viewport width, capped at
   the 1600px section width): the photo fills the section anchored bottom left
   (its black fade is part of the image); logo, text and button sit at fixed
   fractions of S from the top left of the centred 1600px container. */
.h-nergp { --s: min(100vw, 1600px); position: relative; overflow: hidden; height: calc(var(--s) * .419872); background: #000; color: #fff; }
.h-nergp__photo { position: absolute; inset: 0; }
.h-nergp__photo img, .h-nergp__photo .ph { width: 100%; height: 100%; object-fit: cover; object-position: 0% 100%; }
.h-nergp__inner { position: relative; height: 100%; max-width: 1600px; margin: 0 auto; }
.h-nergp__logo { position: absolute; top: calc(var(--s) * .0247431); left: calc(var(--s) * .0260277); width: 16.0841%; aspect-ratio: 1 / .8885970197; }
.h-nergp__logo img { width: 100%; height: 100%; object-fit: contain; object-position: 0 50%; }
.h-nergp__text { position: absolute; top: calc(var(--s) * .1906024); left: calc(var(--s) * .0260277); width: 27.7514%; font: 400 18px/normal var(--lean); }
.h-nergp__text p { margin: 0; }
.h-nergp__text ul { margin: 1.15em 0 0; padding-left: 32px; list-style: disc; }
.h-nergp .btn { position: absolute; top: calc(var(--s) * .3559684); left: calc(var(--s) * .0962154); width: 182.413px; min-height: 42px; margin: 0; padding: 0 8px; background: transparent; font: 400 14px/1.6em madefor-text, var(--ui); }
@media (max-width: 1000px) {
  .h-nergp { height: calc(var(--s) * .5500173); }
  .h-nergp__text { top: calc(var(--s) * .1905877); left: calc(var(--s) * .025996); width: 32.1931%; font-size: 15px; }
  .h-nergp .btn { top: calc(var(--s) * .4670817); left: calc(var(--s) * .022759); width: 153.929px; min-height: 35.4418px; font-size: 12px; }
}

/* Podcast. */
.h-podcast { background: #000; }
.h-podcast__video { display: flex; align-items: center; justify-content: center; height: 66.9vw; background: #000; }
.h-podcast__video iframe, .h-podcast__video video { width: 100%; height: 100%; border: 0; }
.h-podcast__play { width: 30px; height: 30px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.h-podcast__play:disabled { cursor: default; }
.h-podcast__play svg { width: 100%; height: 100%; }
.h-podcast__cta { display: flex; justify-content: center; padding: 6.2vw 0 8.2vw; }
.h-podcast__cta .btn { min-height: 33px; padding: 8px 25px; font-size: 11px; }
@media (min-width: 751px) {
  .h-podcast { padding: 72px var(--gutter) 0; }
  .h-podcast__video { max-width: 960px; height: auto; aspect-ratio: 16 / 9; margin: 0 auto; background: #0d0d0d; }
  .h-podcast__play { width: 64px; height: 64px; }
  .h-podcast__cta { padding: 40px 0 56px; }
  .h-podcast__cta .btn { min-height: 42px; padding: 10px 24px; font-size: 12px; }
}

/* Partners. */
.h-partners { padding: 4.4vw 0 6.2vw; background: #fff; }
.h-partners__title { margin-left: 3.3vw; font: 400 15px/1.3 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.h-partners__logos { margin-top: 2.1vw; }
.h-partners__logos .slider__item { height: 48.2vw; }
.h-partners__cta { padding: 3.1vw 3.3vw 0; }
@media (min-width: 751px) {
  .h-partners { padding: 72px var(--gutter); }
  .h-partners__title, .h-partners__logos, .h-partners__cta { max-width: var(--wide); margin-left: auto; margin-right: auto; }
  .h-partners__title { font-size: clamp(18px, 1.6vw, 24px); }
  .h-partners__logos { margin-top: 32px; --ph-ratio: 1; }
  /* Bigger cards, closer together, ending just above the button (each logo
     image carries ~8% transparent margin and its shadow below the card). */
  .h-partners__logos .slider__track { gap: 0; }
  .h-partners__logos .slider__item { margin-right: -30px; }
  .h-partners__logos .slider__item { height: 280px; }
  .h-partners__cta { position: relative; z-index: 1; padding: 0; margin-top: -20px; }
}

/* ================================================================ LEARN BUSINESS */
.lb-h { font: 400 18px/1.15 var(--sans); letter-spacing: -.02em; }
.lb-hero, .lb-potential, .lb-cta { position: relative; overflow: hidden; }
.lb-hero { min-height: 95.9vw; background: #000; color: var(--cream); }
.lb-hero .bg { object-position: 0 0; }
.lb-hero__content { position: relative; padding: 13vw 4.6vw 5.6vw; }
.lb-hero__logo { width: 49.7vw; }
.lb-hero__title { margin-top: 2.3vw; font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.lb-hero__tag { margin-top: 2.3vw; font: 400 11px/1.1 var(--sans); }
.lb-hero .btn { margin-top: 2.6vw; min-width: 32.3vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .lb-hero { min-height: min(765px, 62vw); display: flex; align-items: center; }
  .lb-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0) 55%); }
  .lb-hero__content { z-index: 1; padding: 120px var(--gutter) 80px; }
  .lb-hero__logo { width: clamp(220px, 22vw, 320px); }
  .lb-hero__title { margin-top: 28px; font-size: clamp(22px, 2.1vw, 32px); }
  .lb-hero__tag { margin-top: 18px; font-size: 13px; letter-spacing: .02em; }
  .lb-hero .btn { margin-top: 32px; min-width: 182px; min-height: 42px; font-size: 12px; }
}

.lb-potential { min-height: 41.8vw; background: var(--cream); }
.lb-potential .bg { object-position: 0 0; }
.lb-potential__content { position: relative; padding: 6.4vw 4.6vw; }
.lb-potential__text { margin-top: 1.5vw; max-width: 44.9vw; font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
@media (min-width: 751px) {
  .lb-potential { min-height: 0; aspect-ratio: 1949 / 807; display: flex; align-items: center; }
  .lb-potential__content { padding: 0 var(--gutter); }
  .lb-potential .lb-h { font-size: clamp(28px, 3.4vw, 52px); }
  .lb-potential__text { margin-top: 20px; max-width: 30vw; font-size: clamp(15px, 1.4vw, 21px); line-height: 1.4; }
}
.lb-h { color: inherit; }
.band .lb-h { font-size: 18px; }
@media (min-width: 751px) { .band .lb-h { font-size: clamp(22px, 2.2vw, 32px); } }

.lb-does { padding: 0; background: #000; }
.lb-does__slider .slider__item { height: 43.1vw; }
@media (min-width: 751px) {
  .lb-does { padding: 48px var(--gutter); }
  .lb-does__slider { max-width: var(--wide); margin: 0 auto; }
  .lb-does__slider .slider__item { height: 240px; }
}

.lb-areas { padding: 3.3vw 0 3vw; background: var(--cream); }
.lb-areas .lb-h { padding: 0 4.6vw; }
.lb-areas__slider { margin-top: 3.3vw; }
.lb-areas__slider .slider__item { height: 22.6vw; }
@media (min-width: 751px) {
  .lb-areas { padding: 64px var(--gutter); }
  .lb-areas .lb-h { padding: 0; max-width: var(--wide); margin: 0 auto; font-size: clamp(26px, 2.8vw, 40px); }
  .lb-areas__slider { max-width: var(--wide); margin: 32px auto 0; }
  .lb-areas__slider .slider__item { height: 183px; }  /* 460px-wide module cards */
}
@media (min-width: 1001px) { .lb-areas__slider .slider__track { gap: 24px 32px; } }

.lb-pathway__photo img { width: 100%; height: 37.4vw; object-fit: cover; object-position: 0 36%; }
.lb-pathway .band { min-height: 40px; }
.lb-pathway__title { font: 400 22px/1.2 var(--sans); letter-spacing: -.02em; color: var(--pale); }
.lb-pathway__steps { padding: 0; background: var(--pale); }
.lb-pathway__slider .slider__item { height: 44.6vw; }
@media (min-width: 751px) {
  .lb-pathway__photo img { height: clamp(280px, 30vw, 460px); }
  .lb-pathway .band { min-height: 72px; }
  .lb-pathway__title { font-size: clamp(26px, 2.8vw, 40px); }
  .lb-pathway__steps { padding: 48px var(--gutter); }
  .lb-pathway__slider { max-width: var(--wide); margin: 0 auto; }
  .lb-pathway__slider .slider__item { height: 260px; }
}

.lb-cta { min-height: 84.6vw; background: #000; color: var(--cream); }
.lb-cta .bg { object-position: 0 23%; }
.lb-cta__content { position: relative; padding: 5.1vw 4.6vw 8vw; max-width: 55vw; }
.lb-cta__content .lb-h + .lb-h { margin-top: 1.15em; }
.lb-cta .btn { margin-top: 5vw; min-width: 32.3vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .lb-cta { min-height: min(720px, 56vw); display: flex; align-items: center; }
  .lb-cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,0) 60%); }
  .lb-cta__content { z-index: 1; max-width: min(640px, 52%); padding: 80px var(--gutter); }
  .lb-cta .lb-h { font-size: clamp(24px, 2.6vw, 40px); }
  .lb-cta .btn { margin-top: 36px; min-width: 182px; min-height: 42px; font-size: 12px; }
}

/* ================================================================ LEARN CREATIVE ECONOMY */
.lce-hero { position: relative; overflow: hidden; min-height: 103.3vw; background: #000; color: var(--cream); }
.lce-hero .bg { object-position: 70% 20%; }
.lce-hero__content { position: relative; padding: 5.1vw 4.9vw 0; }
.lce-hero__kicker { font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; color: var(--yellow); }
.lce-hero__title { margin-top: 2.3vw; max-width: 47vw; font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.lce-hero__partners { display: grid; grid-template-columns: 47vw; margin-top: 6vw; }
.lce-hero__acsa { width: 46.9vw; margin-left: -1.8vw; }
.lce-hero__acsa .ph { aspect-ratio: 484 / 152; background: rgba(255,255,255,.08); }
.lce-hero__plus { font: 400 22px/1 var(--lean); text-align: center; width: 15vw; margin-left: 12.6vw; }
.lce-hero__tn { width: 59.2vw; margin-left: -7.7vw; }
.lce-hero__strip { position: relative; margin-top: 2vw; padding: 3.6vw 18vw 3.6vw 4.1vw; background: rgba(0,0,0,.43); font: italic 400 14px/1.15 var(--lean); letter-spacing: -.02em; color: var(--yellow); }
.lce-hero__actions { position: relative; display: flex; gap: 5.6vw; padding: 1.3vw 4.1vw 4vw; }
.lce-hero__actions .btn { min-width: 26.7vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .lce-hero { min-height: min(820px, 64vw); display: flex; flex-direction: column; justify-content: flex-end; }
  .lce-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.15) 65%); }
  .lce-hero > * { z-index: 1; }
  .lce-hero__content { padding: 120px var(--gutter) 0; max-width: 760px; }
  .lce-hero__kicker { font-size: clamp(18px, 1.7vw, 24px); }
  .lce-hero__title { margin-top: 16px; max-width: 620px; font-size: clamp(30px, 3.6vw, 54px); line-height: 1.12; }
  .lce-hero__partners { grid-template-columns: auto auto auto; align-items: center; justify-content: start; gap: 24px; margin-top: 36px; }
  .lce-hero__acsa { width: 200px; margin: 0; }
  .lce-hero__plus { width: auto; margin: 0; font-size: 32px; }
  .lce-hero__tn { width: 230px; margin: 0; }
  .lce-hero__strip { margin-top: 40px; padding: 24px var(--gutter); font-size: clamp(16px, 1.5vw, 22px); }
  .lce-hero__actions { padding: 28px var(--gutter) 64px; gap: 20px; }
  .lce-hero__actions .btn { min-width: 182px; min-height: 42px; font-size: 12px; }
}

.lce-prepare { background: var(--cream); }
.lce-prepare__text { padding: 3.1vw 1.5vw 0 4.1vw; }
.lce-prepare__title { max-width: 67.7vw; font: 400 15px/1.25 var(--sans); letter-spacing: -.02em; }
.lce-prepare__text p { margin-top: 1em; font: 400 13px/1.25 var(--lean); letter-spacing: -.02em; padding-left: .8vw; }
.lce-prepare__text p:first-of-type { margin-top: 1.4vw; }
.lce-prepare__photo { margin-top: 5.6vw; }
.lce-prepare__photo img { width: 100%; height: 66.7vw; object-fit: cover; }
@media (min-width: 751px) {
  .lce-prepare { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 0 clamp(32px, 5vw, 80px); padding: 80px var(--gutter); }
  .lce-prepare__text { padding: 0; max-width: 620px; justify-self: end; }
  .lce-prepare__title { max-width: none; font-size: clamp(26px, 2.8vw, 42px); line-height: 1.15; }
  .lce-prepare__text p { padding: 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.45; }
  .lce-prepare__text p:first-of-type { margin-top: 28px; }
  .lce-prepare__photo { margin: 0; }
  .lce-prepare__photo img { height: auto; aspect-ratio: 3 / 2; }
}

.lce-pipeline, .lce-get, .lce-start { position: relative; overflow: hidden; }
.lce-pipeline { padding: 1.8vw 0 2.3vw; background: #2a1d12; }
.lce-pipeline__slider .slider__item { height: 52.6vw; }
.lce-get { padding: 5.9vw 0 5.9vw; background: #e8dccb; }
.lce-get__slider .slider__item { height: 37.2vw; }
.lce-get .ph.bg { background: #e8dccb; }
.lce-pipeline .ph.bg { background: #2a1d12; }
.lce-pipeline .slider, .lce-get .slider { position: relative; }
@media (min-width: 751px) {
  .lce-pipeline, .lce-get { padding: 56px var(--gutter); }
  .lce-pipeline__slider, .lce-get__slider { max-width: var(--wide); margin: 0 auto; }
  .lce-pipeline__slider .slider__item { height: 300px; }
  .lce-get__slider .slider__item { height: 300px; }
}

.lce-programmes { padding: 0 0 1px; background: var(--cream); }
.lce-programmes__title { padding: 1.3vw 0 6.2vw; text-align: center; font: 700 18.7px/1.3 Arial, sans-serif; letter-spacing: -.02em; color: #1c1c1b; }
.lce-programmes__slider .slider__item, .lce-learn__slider .slider__item { height: 73.6vw; }
.lce-learn { padding: 0 0 3.3vw; background: #000; }
.lce-who { padding: 0 0 2vw; background: #fff; }
.lce-who__slider .slider__item { height: 46.9vw; }
@media (min-width: 751px) {
  .lce-programmes { padding: 0 var(--gutter) 72px; }
  .lce-programmes__title { padding: 32px 0 40px; font-size: clamp(24px, 2.6vw, 38px); }
  .lce-learn { padding: 56px var(--gutter) 72px; }
  .lce-who { padding: 40px var(--gutter) 72px; }
  .lce-programmes__slider, .lce-learn__slider, .lce-who__slider { max-width: var(--wide); margin: 0 auto; }
  .lce-programmes__slider .slider__item, .lce-learn__slider .slider__item { height: 420px; }
  .lce-who__slider .slider__item { width: 420px; height: 276px; }
}

/* Desktop (Wix website-7): the card sections run as single full-bleed rows of
   cards, measured at 1440px — 243x196 "what you'll get" cards 32px apart,
   306x407 programme and learning cards 11px apart, 322px "who" tiles. */
@media (min-width: 1001px) {
  .lce-get { padding: 2.3vw 0 5.3vw; }
  .lce-get__slider, .lce-programmes__slider, .lce-learn__slider, .lce-who__slider { max-width: none; margin: 0; }
  .lce-get__slider.slider--grid .slider__track, .lce-programmes__slider.slider--grid .slider__track, .lce-learn__slider.slider--grid .slider__track { display: flex; overflow-x: auto; }
  .lce-get__slider .slider__track { gap: 2.2vw; }
  .lce-get__slider.slider--grid .slider__item { height: 13.6vw !important; }
  .lce-get__slider.slider--grid .slider__item img { width: auto; height: 100%; }
  .lce-programmes { padding: 0 0 2.5vw; }
  .lce-programmes__title { padding: 2.6vw 0 1.6vw; font-size: 2.25vw; }
  .lce-learn { padding: 2.2vw 0 1vw; }
  .lce-programmes__slider .slider__track, .lce-learn__slider .slider__track { gap: .76vw; }
  .lce-programmes__slider.slider--grid .slider__item, .lce-learn__slider.slider--grid .slider__item { height: 28.3vw !important; }
  .lce-programmes__slider.slider--grid .slider__item img, .lce-learn__slider.slider--grid .slider__item img { width: auto; height: 100%; }
  .lce-who { padding: 1vw 0 2.5vw; }
  .lce-who__slider .slider__track { gap: 0; }
  .lce-who__slider .slider__item { width: 22.4vw; height: 22.4vw; }
}

.lce-faculty { padding: 7.4vw 0 11.5vw; background: #000; color: var(--cream); }
.faculty + .faculty { margin-top: 6.2vw; }
.faculty__photo { width: 66.4vw; margin: 0 auto; }
.faculty__photo img, .faculty__photo .ph { width: 100%; height: 70vw; object-fit: cover; background: #fff; }
.faculty__photo .ph { background: #f2f2f2; }
.faculty__bio { width: 69vw; margin: 0 auto; padding: 6.9vw 0 0 0; font: 400 13px/1.15 var(--lean); letter-spacing: -.02em; }
.faculty__bio p + p { margin-top: 1.15em; }
.lce-faculty__note { width: 69vw; margin: 9.7vw auto 0; font: 400 13px/1.15 var(--lean); letter-spacing: -.02em; }
@media (min-width: 751px) {
  .lce-faculty { padding: 72px var(--gutter) 88px; }
  .faculty { display: grid; grid-template-columns: minmax(220px, 340px) minmax(0, 640px); gap: 48px; justify-content: center; align-items: start; }
  .faculty + .faculty { margin-top: 72px; }
  .faculty__photo { width: 100%; margin: 0; }
  .faculty__photo img, .faculty__photo .ph { height: auto; aspect-ratio: 259 / 273; }
  .faculty__bio { width: auto; margin: 0; padding: 0; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.45; }
  .lce-faculty__note { width: auto; max-width: 1028px; margin: 72px auto 0; font-size: clamp(16px, 1.4vw, 20px); text-align: center; }
}

.lce-start { padding: 5.6vw 0 5vw; background: #efe6d6; text-align: center; }
.lce-start .ph.bg { background: #efe6d6; }
.lce-start__content { position: relative; }
.lce-start__text { width: 76.2vw; margin: 0 auto; font: 400 12px/1.15 var(--lean); letter-spacing: -.02em; }
.lce-start__partners { display: flex; flex-direction: column; align-items: center; margin-top: 1.5vw; }
.lce-start__acsa { width: 46.9vw; }
.lce-start__acsa .ph { aspect-ratio: 483 / 151; background: rgba(0,0,0,.08); }
.lce-start__plus { font: 400 22px/1 var(--lean); }
.lce-start__tn { width: 59.2vw; }
.lce-start .btn { margin-top: 4vw; min-width: 26.7vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .lce-start { padding: 80px var(--gutter); }
  .lce-start .sh__title { font-size: clamp(26px, 3.2vw, 44px); }
  .lce-start__text { width: auto; max-width: 760px; margin-top: 16px; font-size: clamp(15px, 1.3vw, 19px); line-height: 1.4; }
  .lce-start__partners { flex-direction: row; justify-content: center; gap: 28px; margin-top: 40px; }
  .lce-start__acsa { width: 220px; }
  .lce-start__plus { font-size: 32px; }
  .lce-start__tn { width: 240px; }
  .lce-start .btn { margin-top: 40px; min-width: 182px; min-height: 42px; font-size: 12px; }
}

/* ================================================================ SHOP */
.s-label { font: 400 13px/1.2 var(--sans); letter-spacing: -.02em; }
.s-actions { display: flex; flex-wrap: wrap; gap: 3vw 5.9vw; margin-top: 3vw; }
.s-actions .btn { min-width: 26.7vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) { .s-actions { gap: 20px; margin-top: 32px; } .s-actions .btn { min-width: 182px; min-height: 42px; font-size: 12px; } }

.s-hero { position: relative; overflow: hidden; min-height: 69.5vw; background: #000; color: var(--yellow); }
.s-hero .bg { object-position: 0 0; }
.s-hero__content { position: relative; padding: 17.4vw 4.9vw 6.4vw; }
.s-hero__title { font: 400 22px/1.2 var(--sans); letter-spacing: -.02em; }
.s-hero__sub { margin-top: 2vw; max-width: 44.6vw; font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.s-hero .btn { margin-top: 2.8vw; min-width: 26.7vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .s-hero { min-height: min(821px, 57vw); display: flex; align-items: center; }
  .s-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,0) 60%); }
  .s-hero__content { z-index: 1; padding: 120px var(--gutter) 80px; }
  .s-hero__title { font-size: clamp(32px, 4vw, 60px); line-height: 1.1; }
  .s-hero__sub { margin-top: 20px; max-width: none; font-size: clamp(15px, 1.4vw, 20px); }
  .s-hero .btn { margin-top: 36px; min-width: 182px; min-height: 42px; font-size: 12px; }
}

.s-causes { position: relative; overflow: hidden; padding: 2vw 2.6vw 5vw 4.9vw; background: #000; color: var(--yellow); }
.s-causes .ph.bg { background: #0c0c0c; }
.s-causes > :not(.bg) { position: relative; }
.s-causes__label { text-align: right; }
.s-causes__logo { width: 75.1vw; margin: 5.4vw 0 0 auto; }
.s-causes__body { margin-top: 1.5vw; text-align: right; }
.s-causes__text { font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.s-causes .s-actions { justify-content: flex-end; }
@media (min-width: 751px) {
  .s-causes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "label label" "logo body"; align-items: center; gap: 24px clamp(32px, 5vw, 80px); padding: 64px var(--gutter) 80px; }
  .s-causes__label { grid-area: label; font-size: 15px; }
  .s-causes__logo { grid-area: logo; width: 100%; max-width: 560px; margin: 0; }
  .s-causes__body { grid-area: body; margin: 0; text-align: left; }
  .s-causes__text { font-size: clamp(20px, 2.2vw, 32px); line-height: 1.25; }
  .s-causes .s-actions { justify-content: flex-start; }
}

.s-collections { padding: 3.1vw 0 4vw; background: var(--stone); color: #fff; }
.s-collections > .s-label { padding: 0 4.9vw; }
.s-collections__photo { margin-top: 1.5vw; }
.s-collections__photo img { width: 100%; height: 90vw; object-fit: cover; }
.s-collections__body { padding: 1vw 4.9vw 0 5.6vw; }
.s-collections__text { font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.s-collections .s-actions { margin-left: -.7vw; }
@media (min-width: 751px) {
  .s-collections { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); grid-template-areas: "label label" "photo body"; align-items: center; gap: 24px clamp(32px, 5vw, 80px); padding: 64px var(--gutter) 80px; }
  .s-collections > .s-label { grid-area: label; padding: 0; font-size: 15px; }
  .s-collections__photo { grid-area: photo; margin: 0; }
  .s-collections__photo img { height: auto; aspect-ratio: 1316 / 1195; }
  .s-collections__body { grid-area: body; padding: 0; }
  .s-collections__text { font-size: clamp(20px, 2.2vw, 32px); line-height: 1.25; }
  .s-collections .s-actions { margin-left: 0; }
}

.s-sell { padding: 4.9vw 4.4vw 5.4vw 5.1vw; background: #000; color: #fff; }
.s-sell__title { max-width: 83vw; font: 400 22px/1.2 var(--sans); letter-spacing: -.02em; color: var(--yellow); }
.s-sell__text { margin-top: .5vw; font: 400 13px/1.25 var(--sans); letter-spacing: -.02em; }
.s-sell .btn { margin-top: 1.5vw; min-width: 31vw; min-height: 33px; font-size: 11px; }
@media (min-width: 751px) {
  .s-sell { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 24px clamp(32px, 5vw, 80px); align-items: start; padding: 88px var(--gutter); }
  .s-sell__title { max-width: none; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.1; }
  .s-sell__text { margin: 0; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.5; }
  .s-sell .btn { grid-column: 2; justify-self: start; margin-top: 8px; min-width: 182px; min-height: 42px; font-size: 12px; }
}

/* ================================================================ MAGAZINE */
/* Story cards shared with "More from Unveiled" and dashboard articles. */
.m-cards { display: grid; gap: 24px; padding: 8px var(--gutter) 0; }
.card[hidden] { display: none; }
.card__link { display: flex; flex-direction: column; height: 100%; background: #000; color: var(--yellow); text-decoration: none; transition: transform .25s; }
.card__link:hover { transform: translateY(-4px); }
.card__photo img, .card__photo .ph { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.card__photo .ph { background: #5c5c5c; }
.card__body { padding: 20px 20px 28px; }
.post-meta { display: flex; gap: 8px; font: 300 12px/1.4 HelveticaNeueW01-45Ligh, Inter, sans-serif; color: var(--yellow); }
.card__cat { display: inline-block; margin-top: 12px; padding: 3px 8px; border: 1px solid var(--cream); border-radius: 4px; font: 300 12px/1.4 HelveticaNeueW01-45Ligh, Inter, sans-serif; color: var(--yellow); }
.card__title { margin-top: 14px; font: 300 24px/1.25 var(--serif); letter-spacing: -.01em; text-transform: uppercase; }
@media (min-width: 751px) {
  .m-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; max-width: var(--wide); margin: 0 auto; }
  .card__title { font-size: clamp(22px, 2vw, 30px); }
}

/* Magazine (tablet and desktop; phones use the Wix layout, which adds the
   Editor's Note). Values from the live Wix page at 1440px: cream page, the
   category menu in Helvetica 14px pale yellow with 40px between items ("All"
   is set in the page colour, so it reads as blank), then three black cards
   on a grey band with 43px side margins and 38px gaps. Layout scales with the
   viewport; type stays at Wix's pixel sizes. */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.m-feed { --u: calc(100vw / 1440); padding: calc(var(--u) * 188) 0 96px; background: #fffefc; }
.m-tabs { display: flex; gap: 40px; margin: 0; padding: 0 calc(var(--u) * 43); list-style: none; overflow-x: auto; scrollbar-width: none; }
.m-tabs::-webkit-scrollbar { display: none; }
.m-tabs button { flex: none; margin: 0; padding: 0; border: 0; background: none; color: rgb(243,231,94); font: 400 14px/17px var(--plain); white-space: nowrap; cursor: pointer; }
.m-tabs button:hover { text-decoration: underline; }
.m-tabs button[aria-pressed="true"] { color: #fffefd; }
.m-feed .m-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 38); margin: 32px calc(var(--u) * 43) 0; padding: 0; background: rgb(98,98,96); list-style: none; }
.m-feed .card__link { height: 100%; background: #000; color: rgb(243,231,94); transition: none; }
.m-feed .card__link:hover { transform: none; }
.m-feed .card__link:hover .card__title { text-decoration: underline; }
.m-feed .card__photo img, .m-feed .card__photo .ph { aspect-ratio: 426 / 316; object-fit: cover; }
.m-feed .card__body { min-height: 202px; box-sizing: border-box; padding: 38px 21px 24px; }
.m-feed .post-meta { margin: 0; font: 400 12px/normal HelveticaNeueW01-45Ligh, Inter, sans-serif; color: rgb(243,231,94); }
.m-feed .card__cat { display: inline-block; margin-top: 12px; padding: 4px 10px; border: 1px solid rgb(235,234,230); border-radius: 4px; color: rgb(28,28,27); font: 400 12px/16px HelveticaNeueW01-45Ligh, Inter, sans-serif; }
.m-feed .card__title { margin: 11px 0 0; font: 400 24px/1.4 noto-serif, var(--serif); letter-spacing: 0; text-transform: none; }
.m-empty { padding: 32px var(--gutter); text-align: center; color: #555; }
@media (min-width: 751px) and (max-width: 1000px) { .m-feed .card__title { font-size: 20px; } .m-feed .m-tabs { gap: 28px; } }

/* Article pages. */
/* Article page (built articles on tablet/desktop; dashboard articles at every
   size), from Wix's post page at 1440px: cream page; the category row in
   Helvetica 14px, 40px apart, 63px in; a centred 740px column with the date
   (12px), the title in Aether 72px/1.2, headings in Aether 32px/1.3 and the
   text in Helvetica 18px/27px with no space between paragraphs. */
.p-article { background: #fffefc; }
.a-post { padding: 107px 0 0; color: rgb(28,28,27); }
.a-post { position: relative; }
.a-social { position: absolute; top: 49px; right: 191px; display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.a-social a, .a-social svg { display: block; width: 22px; height: 22px; fill: #000; }
@media (min-width: 751px) { .p-article .tn-menu-open { top: 41px; right: 98px; width: 38px; height: 38px; } }
@media (min-width: 751px) and (max-width: 1000px) { .a-social { right: 150px; } .p-article .tn-menu-open { right: 40px; } }
.a-cats { display: flex; flex-wrap: wrap; gap: 0 40px; padding: 0 63px; font: 400 14px/17px var(--plain); }
.a-cats a { color: inherit; text-decoration: none; }
.a-cats a:hover { text-decoration: underline; }
.a-col { max-width: 740px; box-sizing: content-box; margin: 0 auto; padding: 113px 20px 96px; }
.a-date { margin: 0; font: 400 14px/17px var(--plain); }
.a-title { margin: 15px 0 0; font: normal normal 400 72px/1.2 aether, var(--plain); letter-spacing: 0; }
.a-body { margin-top: 21px; font: 400 18px/27px var(--plain); }
.a-body p { margin: 0; }
.a-body h2, .a-body h3, .a-body h4 { margin: 23px 0 3px; font: normal normal 400 32px/1.3 aether, var(--plain); }
.a-body > :first-child { margin-top: 0; }
.a-body strong { font-weight: 700; }
.a-body a { color: inherit; text-decoration: underline; }
.a-body ul, .a-body ol { margin: 0; padding-left: 1.4em; }
.a-body ul { list-style: disc; }
.a-body blockquote { margin: 1em 0; padding-left: 18px; border-left: 3px solid rgba(28,28,27,.3); font-style: italic; }
.a-body img { margin: 1em 0; }
.a-body hr { margin: 2em 0; border: 0; border-top: 1px solid rgba(28,28,27,.2); }
.a-col::after { content: ""; display: block; margin-top: 16px; border-top: 1px solid rgba(28,28,27,.2); }
@media (max-width: 1000px) { .a-title { font-size: 56px; } }
/* Phones (dashboard articles; built ones use Wix's own layout): Wix's mobile
   post sizes. */
@media (max-width: 750px) {
  .a-post { padding-top: 103px; }
  .a-cats, .a-social { display: none; }
  .a-col { padding: 0 36px 64px; }
  .a-date { display: none; }
  .a-title { margin: 0; font-size: 26px; }
  .a-body { margin-top: 32px; font-size: 16px; line-height: 24px; }
  .a-body h2, .a-body h3, .a-body h4 { margin-top: 32px; font-size: 20px; line-height: 26px; }
}
.a-more { padding: 56px 0 72px; background: var(--paper); }
.a-more__title { max-width: var(--wide); margin: 0 auto 24px; padding: 0 var(--gutter); font: 300 22px/1.2 var(--serif); }

/* ================================================================ layout switch
 * Phones get Wix's own mobile rendering (.wixm, from tools/site/wix-mobile.js,
 * which ends with the Wix home footer); tablets and desktops get the designed
 * layout (.tnd) and the site footer. */
@media (max-width: 750px) { .tnd, .wixd, .has-wixm .site-footer { display: none !important; } }
@media (min-width: 751px) { .wixm:not(.wixm--all) { display: none !important; } .has-wixd .tnd { display: none !important; } }
/* Wix's renderings end with the Wix home footer. */
.has-wixd .site-footer, body:has(.wixm--all) .site-footer { display: none !important; }
.wixd { --scrollbar-width: 0px; }
.wixd button[data-href] { cursor: pointer; }
.wixd .ph { display: block; width: 100%; height: 100%; background: #b3b3b3; }
.wixd .wixm-social { display: block; width: 100%; height: 100%; fill: #000; }
/* Wix pro-gallery sliders at the desktop breakpoint. */
.wixd :has(> .wixm-gallery) { position: relative; }
.wixd .wixm-gallery { position: absolute; inset: 0; }
.wixd .wixm-gallery .slider__track { display: flex; gap: 32px; height: 100%; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.wixd .wixm-gallery .slider__item { flex: 0 0 auto; height: 100%; }
.wixd .wixm-gallery .slider__item img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; }
.wixd .wixm-gallery .slider__item .ph { display: block; width: 100%; height: 100%; }
.wixm { --scrollbar-width: 0px; }
.wixm button[data-href] { cursor: pointer; }
.wixm .ph { display: block; width: 100%; height: 100%; background: #b3b3b3; }
/* Wix pro-gallery sliders at the mobile breakpoint: 3:4 items the height of
 * the gallery, 32px apart, 16px corners, a 48px white arrow 25px in. */
.wixm :has(> .wixm-gallery) { position: relative; }
.wixm .wixm-gallery { position: absolute; inset: 0; }
.wixm .wixm-gallery .slider__track { display: flex; gap: 32px; height: 100%; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.wixm .wixm-gallery .slider__item { flex: 0 0 auto; height: 100%; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; }
/* Wix's mobile gallery setting is "fit": the whole picture shows. */
.wixm .wixm-gallery .slider__item img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; border-radius: 0; }
.wixm .wixm-gallery .slider__item .ph { display: block; width: 100%; height: 100%; }
.wixm .wixm-gallery .slider__item:has(img) { border-radius: 0; overflow: visible; }
/* The magazine post list is laid out by Wix's script, so its server markup is
 * desktop-sized. These rules reproduce what that script draws at the mobile
 * breakpoint: three columns 38px apart, the image scaled to the column, a
 * 200px info block, all clipped to a 242px strip. */
.wixm #pro-gallery-container-pro-blog { height: 242px !important; overflow: hidden !important; }
.wixm #pro-gallery-margin-container-pro-blog { --pl-w: calc((100 * var(--one-unit) - 76px) / 3); width: 100% !important; height: 242px !important; }
.wixm #pro-gallery-margin-container-pro-blog [data-hook="item-container"] { width: var(--pl-w) !important; height: calc(var(--pl-w) * .75 + 200px) !important; left: -2px !important; }
.wixm #pro-gallery-margin-container-pro-blog .item-link-wrapper:nth-child(2) > [data-hook="item-container"] { left: calc(var(--pl-w) + 36px) !important; }
.wixm #pro-gallery-margin-container-pro-blog .item-link-wrapper:nth-child(3) > [data-hook="item-container"] { left: calc(2 * var(--pl-w) + 74px) !important; }
.wixm #pro-gallery-margin-container-pro-blog [data-hook="item-wrapper"],
.wixm #pro-gallery-margin-container-pro-blog [data-hook="image-item"] { width: var(--pl-w) !important; height: calc(var(--pl-w) * .75) !important; }
.wixm #pro-gallery-margin-container-pro-blog .ph { width: 100%; height: 100%; }
/* The same list at the desktop breakpoint, as Wix's script draws it: three
 * columns 39px apart, 4:3 images over a 200px info block. */
.wixd #pro-gallery-container-pro-blog { height: auto !important; overflow: visible !important; }
.wixd #pro-gallery-margin-container-pro-blog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 39px; width: 100% !important; height: auto !important; }
.wixd #pro-gallery-margin-container-pro-blog .item-link-wrapper { display: block; min-width: 0; }
.wixd #pro-gallery-margin-container-pro-blog [data-hook="item-container"] { display: block !important; opacity: 1 !important; position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; }
.wixd #pro-gallery-margin-container-pro-blog [data-hook="item-wrapper"],
.wixd #pro-gallery-margin-container-pro-blog [data-hook="image-item"] { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; }
.wixd #pro-gallery-margin-container-pro-blog [data-hook="image-item"] img { width: 100% !important; height: 100% !important; object-fit: cover; }
.wixd #pro-gallery-margin-container-pro-blog .ph { width: 100%; height: 100%; }
.wixd #pro-gallery-margin-container-pro-blog [data-hook="post-title"] h2 { font-family: noto-serif, serif !important; font-weight: 400; }
/* Wix collapses the blog categories that don't fit into "More". */
.wixm [data-hook="blog-desktop-header-container"] nav > ul { display: flex; justify-content: center; align-items: center; gap: 0; width: 100%; overflow: visible; padding-left: 10px; }
.wixm [data-hook="blog-desktop-header-container"] nav > ul > li.wixm-hide { display: none !important; }
.wixm .wixm-more { position: relative; }
.wixm .wixm-more summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.wixm .wixm-more summary::-webkit-details-marker { display: none; }
.wixm .wixm-more ul { position: absolute; z-index: 5; top: 100%; right: 0; margin: 8px 0 0; padding: 8px 0; list-style: none; background: #fffefc; box-shadow: 0 4px 12px rgba(0,0,0,.15); white-space: nowrap; }
.wixm .wixm-more ul a { display: block; padding: 8px 16px; }
.wixm .wixm-more ul a { color: rgb(243, 231, 94) !important; }
.wixm #pro-gallery-margin-container-pro-blog [data-hook="post-title"] h2 { font-family: noto-serif, serif !important; font-weight: 400; }
.wixm .wixm-social { display: block; width: 100%; height: 100%; fill: #000; }
/* Blog post page at Wix's mobile settings. */
.wixm { --postPageHorizontalPadding: 18px; }
.wixm .PhCafd { padding-inline: 18px !important; }
/* Wix's script sets the phone title to 26px Aether (its markup only carries the
   72px desktop size) and hides the date / reading-time row. */
.wixm [data-hook="post-title"] h1 { font: normal normal normal 26px/1.2em aether, sans-serif !important; }
/* Desktop post title, measured off the Wix render: 51px caps on an 87px pitch. */
.wixd [data-hook="post-title"] h1 { font: normal normal normal 71px/1.22 aether, sans-serif !important; }
.wixm [data-hook="post"] header .a5JqMF { display: none !important; }
/* Article pages: Wix's pinned header holds the social bar and, below it, the
   menu button (40px, 48px down, 18px in); the "ALL POSTS" bar behind it shows
   only its top rule. */
@media (max-width: 750px) {
  /* Live, Wix drops the header 30px and the post 26px below where its markup puts them. */
  .p-article .tn-menu-open { top: 78px; right: 18px; width: 40px; height: 40px; }
  .p-article .wixm { position: relative; }
  .p-article .wixm #comp-lycrs7d3-pinned-layer { transform: translateY(30px); }
  .p-article .wixm #comp-lycrs8h9 { padding-top: 26px; }
  .p-article .wixm [data-hook="category-dropdown"] { visibility: hidden; }
  .p-article .wixm::before { content: ""; position: absolute; z-index: 1; top: 20px; left: 18px; right: 19px; border-top: 1px solid rgba(28,28,27,.3); }
}
/* Live, Wix's Editor's Note section ends 28px lower than its markup sizes it. */
.p-mag .wixm #comp-mv2j9m1x { padding-bottom: 28px; }
/* Phone story list: the titles are set in Wix's noto-serif once its script runs. */
.wixm .post-list-item__title .post-title__text, .wixm [data-hook="post-list-item"] .post-title__text { font: normal normal 400 24px/1.4 noto-serif, serif !important; }
.wixm .pCgbR [data-breakout] { --ricos-breakout-normal-padding-start: 18px !important; --ricos-breakout-normal-padding-end: 18px !important; }
/* The two photo-card sliders on Learn Creative Economy sit 17px in, with
 * 10px gaps and slightly wider cards than the 3:4 default. */
.wixm [data-gallery="comp-mui024xn1"] .slider__track,
.wixm [data-gallery="comp-muiicq2q"] .slider__track { gap: 10px; padding-left: 17px; scroll-padding-left: 17px; }
.wixm [data-gallery="comp-mui024xn1"] .slider__item,
.wixm [data-gallery="comp-muiicq2q"] .slider__item { aspect-ratio: 200 / 254; }
/* Wix's script sizes each image to fill its frame; without the script the
 * <img> keeps its attribute size. */
.wixm wow-image > img { width: 100%; height: 100%; }

/* ================================================================ dashboard pages
 * Shop (/shop/all), events and articles published from /admin; filled
 * in by assets/js/shop.js and content.js. */
.sa-head { padding: 72px var(--gutter) 32px; background: #000; color: var(--yellow); }
.sa-head .s-label { color: #fff; }
.sa-head__title { margin-top: 12px; font: 400 clamp(26px, 5vw, 56px)/1.1 var(--sans); letter-spacing: -.02em; }
.sa-head__sub { margin-top: 12px; max-width: 560px; font: 400 15px/1.4 var(--sans); color: #fff; }
.sa-shop { min-height: 50vh; padding: 32px var(--gutter) 72px; background: #000; color: #fff; }
.sa-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.sa-filter button { padding: 7px 14px; border: 1px solid #555; background: none; color: #fff; font: 400 12px/1.2 var(--ui); cursor: pointer; }
.sa-filter button[aria-pressed="true"] { border-color: var(--yellow); color: #000; background: var(--yellow); }
.sa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.sa-grid:empty { display: none; }
.sa-item[hidden] { display: none; }
.sa-item { display: flex; flex-direction: column; background: #111; }
.sa-item__photo img, .sa-item__photo .ph { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.sa-item__body { display: flex; flex: 1; flex-direction: column; padding: 16px 16px 20px; }
.sa-item__cat { font: 400 11px/1.3 var(--ui); letter-spacing: .06em; text-transform: uppercase; color: var(--grey); }
.sa-item__name { margin-top: 6px; font: 400 18px/1.25 var(--sans); color: var(--yellow); }
.sa-item__desc { margin-top: 8px; font: 400 13px/1.45 var(--ui); color: #ccc; }
.sa-item__price { margin-top: auto; padding-top: 12px; font: 500 16px/1.2 var(--sans); }
.sa-item__add { margin-top: 12px; width: 100%; min-height: 36px; font-size: 11px; }
.sa-loading { padding: 32px 0; text-align: center; font: 400 14px/1.4 var(--ui); color: var(--grey); }
.sa-empty { max-width: 520px; margin: 0 auto; padding: 48px 0; text-align: center; }
.sa-empty__title { font: 400 clamp(20px, 3vw, 28px)/1.2 var(--sans); letter-spacing: -.01em; color: var(--yellow); }
.sa-empty__text { margin: 12px 0 24px; font: 400 15px/1.5 var(--ui); color: #ddd; }
.sa-empty .btn { min-width: 160px; min-height: 36px; font-size: 11px; }
.sa-empty--light .sa-empty__title { color: #000; }
.sa-empty--light .sa-empty__text { color: #444; }
.sa-empty--light { max-width: 680px; padding: 72px var(--gutter); }

.sa-cart-btn { position: fixed; z-index: 40; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 8px; padding: 12px 16px; border: 0; border-radius: 999px; background: var(--yellow); color: #000; box-shadow: 0 4px 16px rgba(0,0,0,.3); cursor: pointer; font: 500 14px/1 var(--ui); }
.sa-cart-btn[hidden] { display: none; }
.sa-cart-btn svg { width: 20px; height: 20px; }
.sa-scrim { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.5); }
.sa-scrim[hidden] { display: none; }
.sa-cart { position: fixed; z-index: 51; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(400px, 100%); background: var(--cream); transform: translateX(100%); transition: transform .3s; visibility: hidden; }
.sa-cart[data-open="true"] { transform: none; visibility: visible; }
.sa-cart__head { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid #ddd; }
.sa-cart__head h2 { font: 400 16px/1.2 var(--sans); }
.sa-cart__head button { width: 32px; height: 32px; padding: 8px; border: 0; background: none; cursor: pointer; }
.sa-cart__head svg { width: 100%; height: 100%; }
.sa-cart__items { flex: 1; overflow-y: auto; padding: 8px 20px; }
.sa-cart__empty { padding: 24px 0; color: #666; font: 400 14px/1.4 var(--ui); }
.sa-citem { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: start; padding: 12px 0; border-bottom: 1px solid #eee; font: 400 14px/1.3 var(--ui); }
.sa-citem img, .sa-citem .ph { width: 64px; height: 64px; object-fit: cover; }
.sa-citem__price { margin-top: 2px; color: #555; }
.sa-citem__qty { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.sa-citem__qty button { width: 26px; height: 26px; border: 1px solid #bbb; background: #fff; cursor: pointer; }
.sa-citem__rm { border: 0; background: none; color: #777; font-size: 12px; text-decoration: underline; cursor: pointer; }
.sa-cart__foot { padding: 20px; border-top: 1px solid #ddd; }
.sa-cart__foot p { display: flex; justify-content: space-between; margin-bottom: 12px; font: 400 15px/1.2 var(--ui); }
.sa-cart__foot .btn { width: 100%; min-height: 42px; font-size: 12px; background: #000; }
.sa-cart__foot .btn:disabled { opacity: .4; cursor: not-allowed; }
.sa-pay { width: min(440px, calc(100% - 32px)); padding: 0; border: 0; background: #000; color: #fff; }
.sa-pay::backdrop { background: rgba(0,0,0,.6); }
.sa-pay__form { position: relative; display: grid; gap: 12px; padding: 28px 24px; }
.sa-pay__close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; padding: 8px; border: 0; background: none; color: #fff; cursor: pointer; }
.sa-pay__close svg { width: 100%; height: 100%; fill: currentColor; }
.sa-pay .s-label { color: var(--grey); }
.sa-pay__title { font: 400 24px/1.2 var(--sans); color: var(--yellow); }
.sa-pay__meta { font: 400 14px/1.4 var(--ui); color: #ccc; }
.sa-pay label { display: grid; gap: 6px; font: 400 13px/1.2 var(--ui); }
.sa-pay input { padding: 10px 12px; border: 1px solid #555; background: #111; color: #fff; font: 400 15px/1.2 var(--ui); }
.sa-pay__submit { min-height: 44px; margin-top: 8px; font-size: 12px; }
.sa-pay__err { color: #ff8a80; font: 400 13px/1.4 var(--ui); }
.sa-toast { position: fixed; z-index: 60; left: 50%; bottom: 24px; transform: translateX(-50%); padding: 12px 18px; background: var(--green); color: #fff; font: 400 14px/1.4 var(--ui); }

/* Events */
.ev-list { padding: 40px var(--gutter) 72px; }
.ev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 28px; max-width: var(--wide); margin: 0 auto; }
.ev-grid:empty { display: none; }
.ev-card__link { display: flex; flex-direction: column; height: 100%; background: #000; color: #fff; text-decoration: none; transition: transform .25s; }
.ev-card__link:hover { transform: translateY(-4px); }
.ev-card--past .ev-card__link { opacity: .7; }
.ev-card__photo img, .ev-card__photo .ph { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.ev-card__photo .ph { background: #333; }
.ev-card__body { padding: 18px 20px 24px; }
.ev-card__when { font: 400 12px/1.3 var(--ui); letter-spacing: .04em; text-transform: uppercase; color: var(--yellow); }
.ev-card__title { margin-top: 8px; font: 400 22px/1.2 var(--sans); letter-spacing: -.01em; }
.ev-card__where { margin-top: 6px; font: 400 14px/1.3 var(--ui); color: #ccc; }
.ev-card__summary { margin-top: 10px; font: 400 14px/1.45 var(--ui); color: #ddd; }
.ev-head { display: grid; background: #000; color: #fff; }
.ev-head__photo img { width: 100%; height: auto; max-height: 80vh; object-fit: contain; background: #111; }
.ev-head__photo:has(.ph) { display: none; }
.ev-head__text { padding: 32px var(--gutter) 40px; }
.ev-head__kicker { font: 400 12px/1.3 var(--ui); letter-spacing: .06em; color: var(--grey); }
.ev-head__kicker a { color: var(--yellow); text-decoration: none; }
.ev-head__title { margin-top: 12px; font: 400 clamp(28px, 4.4vw, 56px)/1.1 var(--sans); letter-spacing: -.02em; color: var(--yellow); }
.ev-head__when { margin-top: 16px; font: 500 16px/1.4 var(--ui); }
.ev-head__where { margin-top: 4px; font: 400 15px/1.4 var(--ui); color: #ccc; }
.ev-head__summary { margin-top: 16px; max-width: 560px; font: 400 16px/1.5 var(--ui); color: #ddd; }
.ev-head__cta { margin-top: 24px; min-width: 160px; min-height: 40px; font-size: 12px; }
@media (min-width: 1001px) {
  .ev-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
  .ev-head__photo:has(.ph) + .ev-head__text { grid-column: 1 / -1; max-width: 860px; margin: 0 auto; padding-top: 88px; }
  .ev-head__text { padding: 48px 56px; }
}
.p-event .sa-loading, .p-article .sa-loading { padding: 120px var(--gutter); }
/* Dashboard articles added to the phone (Wix) magazine page. */
.wixm .a-more--wixm { padding: 32px 0 40px; background: var(--paper); }
.wixm .a-more--wixm .a-more__title { padding: 0 16px; margin-bottom: 20px; font: 300 22px/1.2 var(--serif); }
.wixm .a-more--wixm .m-cards { display: grid; gap: 20px; margin: 0; padding: 0 16px; list-style: none; }
.wixm .a-more--wixm .card__link { display: flex; flex-direction: column; background: #000; color: var(--yellow); text-decoration: none; }
.wixm .a-more--wixm .card__body { padding: 18px 18px 24px; }
.wixm .a-more--wixm .post-meta { display: flex; gap: 6px; font: 400 12px/1.4 var(--plain); color: var(--yellow); }
.wixm .a-more--wixm .card__title { margin-top: 12px; font: 300 22px/1.25 var(--serif); text-transform: uppercase; }
@media (min-width: 1001px) { .p-mag .a-more .m-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: var(--wide); } }

/* Sliders glide on their own (assets/js/site.js): no snapping while they
 * loop, and they can be dragged with the mouse. */
.slider.is-looping .slider__track { scroll-snap-type: none; scroll-behavior: auto; }
.slider .slider__track { cursor: grab; }
.slider.is-dragging .slider__track { cursor: grabbing; user-select: none; }
.slider.is-dragging .slider__item a { pointer-events: none; }
.slider__item img { -webkit-user-drag: none; user-select: none; }
@media (min-width: 1001px) { .slider--grid .slider__item[data-clone] { display: none; } }

/* Home cover on phones: Wix holds the section at 101vh, leaving a band of
   empty black under the buttons; end it a little below the content instead. */
.wixm #comp-mu6pyfvl { min-height: 0 !important; padding-bottom: 36px; }

/* Home partners on phones: bigger logo cards (195px, was 131px), closer
   together, their shadows ending just above the Support TruNORTH button. */
/* Partner cards (phone): square cards that fit the strip between the title
   and the button whole (Wix's 140px strip clipped the 195px cards), 12px
   apart, the first one 16px in, about two and a half on screen. */
.wixm #comp-mv3p83va { height: calc(36 * var(--one-unit)) !important; }
.wixm [data-gallery="comp-mv3p83va"] .slider__track { gap: 12px; padding: 0 16px; scroll-padding-left: 16px; }
.wixm [data-gallery="comp-mv3p83va"] .slider__item { width: calc(36 * var(--one-unit)) !important; height: calc(36 * var(--one-unit)) !important; margin: 0; aspect-ratio: 1; }
.wixm #comp-mv3p83sz .wixui-button { z-index: 2; }

/* Learn Business "7 areas": the module cards at a readable size on phones
   (290px wide, was 66px), the section growing to fit them. */
.wixm [data-gallery="comp-mv3ozokb3"], .wixm #comp-mv3ozokb3 { height: 115px !important; }
.wixm [data-gallery="comp-mv3ozokb3"] .slider__track { gap: 12px; }
.wixm [data-gallery="comp-mv3ozokb3"] .slider__item { width: 290px !important; height: 115px !important; }
.wixm #comp-mv3ozok4, .wixm #comp-mv3ozoj5 > [class$="-container"] { height: 203px !important; min-height: 203px !important; }

/* Learn Creative Economy "Who this is for": each card's text sits in the middle
   band of a mostly empty square image; crop to that band so the text reads
   about twice as large (phone 280x183, was 137 wide; desktop 420x276). */
.lce-who__slider .slider__item img, .wixm [data-gallery="comp-muij9u61"] .slider__item img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 43%; }
.wixm [data-gallery="comp-muij9u61"] .slider__item { width: 280px !important; }
.wixm [data-gallery="comp-muij9u61"] .slider__track { gap: 8px; }

/* Shop by category (shop page, phone and desktop) and the listing's
   category note. */
.s-cats { padding: 40px 16px 44px; background: #111; color: var(--yellow); }
.s-cats__title { margin: 0; font: 400 18px/1.2 var(--sans); letter-spacing: 0; color: var(--yellow); }
.s-cats__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.s-cats__list a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 8px; border: 1px solid var(--yellow); color: var(--yellow); font: 400 13px/1.2 var(--ui); letter-spacing: .06em; text-decoration: none; transition: background-color .2s, color .2s; }
.s-cats__list a:hover { background: var(--yellow); color: #000; }
@media (min-width: 751px) {
  .s-cats { padding: 64px 3.1vw 72px; }
  .s-cats__title { font-size: clamp(22px, 2.2vw, 32px); }
  .s-cats__list { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
  .s-cats__list a { min-height: 72px; font-size: 14px; }
}
.wixm #comp-mv43kffw { min-height: 0 !important; height: auto !important; }
.wixm #comp-mv43kffw > [class$="-container"] { display: block !important; min-height: 0 !important; height: auto !important; pointer-events: auto; }
.wixm .s-cats { padding: 36px 20px 40px; background: #111; }
.wixm .s-cats .s-cats__title { color: var(--yellow); font: 400 18px/1.2 var(--sans); }
.wixm .s-cats .s-cats__list { display: grid; list-style: none; margin: 20px 0 0; padding: 0; }
.wixm .s-cats .s-cats__list a { display: flex; border: 1px solid var(--yellow); color: var(--yellow); text-decoration: none; }
.sa-catempty { margin: 8px 0 24px; color: #bbb; font: 400 14px/1.5 var(--ui); }

/* Northeast Unveiled on phones. Wix crops the hero photo around its focal
   point (45% across) before sending it; centring that point in the 360x453
   frame would be object-position 41%; 21% keeps his whole face in, as Wix shows it. The safety cards fit the 131px-tall
   carousel Wix gives them (cards are 2954x2404, so 161px wide), whole and
   uncropped. */
/* The hero as the Wix editor shows it: a frame 1.17x wider than tall, so the
   photo fits almost whole, Alibaba on the left beside the title. */
.wixm #comp-mv54wmng, .wixm #comp-mv54wmng > [class$="-container"] { min-height: 0 !important; height: calc(100 * var(--one-unit) / 1.167) !important; }
.wixm #img_comp-mv54wmng img { object-position: 28% 50% !important; }
.wixm [data-gallery="comp-mv5eab7x3"] .slider__item { width: 161px !important; height: 131px !important; }
.wixm [data-gallery="comp-mv5eab7x3"] .slider__item img { width: 100%; height: 100%; object-fit: contain; background: none; border-radius: 0; }
.wixm [data-gallery="comp-mv5eab7x3"] .slider__track { gap: 10px; padding-left: 10px; }

/* ---------------------------------------------------------------- Northeast Unveiled (tablet/desktop)
   Built from the Wix page's own parts: the jungle hero with Alibaba, the
   title artwork and calendar; yellow and black bands in Enfonix; full-width
   destination photos with black caption bands; the More than a tour strip;
   the green partners band; the safety cards on yellow; the jungle closing
   call to action. Colours are Wix's: yellow #f3e75e, green #0f761e. */
.p-tour .tnd { background: #fffefc; }
.t-hero { position: relative; overflow: hidden; min-height: min(56.3vw, 860px); display: flex; align-items: center; justify-content: flex-end; background: #0d2a10; color: #fffefc; }
.t-hero .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0 50%; }
.t-hero__content { position: relative; width: min(46%, 640px); margin-right: 5vw; padding: 64px 0; text-align: right; }
.t-hero__title img { width: 100%; height: auto; }
.t-hero__lede { margin: 18px 0 0 auto; max-width: 520px; font: italic 300 clamp(16px, 1.45vw, 21px)/1.35 brandon-grot-w01-light, "Josefin Sans", sans-serif; }
.t-hero__date { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 28px; color: var(--yellow); font: 400 clamp(20px, 1.9vw, 28px)/1.2 alliance-no-2, Inter, sans-serif; }
.t-hero__cal { width: 44px; } .t-hero__cal img { width: 100%; height: auto; }
.t-hero__strap { margin-top: 26px; color: var(--yellow); font: 400 13px/1.4 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; letter-spacing: .02em; }
.t-band { padding: 28px var(--gutter); text-align: center; }
.t-band--yellow { background: var(--yellow); color: #000; }
.t-band__title { font: 400 clamp(22px, 2.2vw, 32px)/1.2 enfonix, sans-serif; letter-spacing: .02em; }
.t-band__title--plain { font-family: alliance-no-2, Inter, sans-serif; }
.t-band__sub { margin: 8px auto 0; max-width: 820px; font: 400 15px/1.4 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.t-places { display: grid; grid-template-columns: 1fr 1fr; background: #000; }
.t-place { margin: 0; }
.t-place__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.t-place__cap { padding: 22px 16px 26px; text-align: center; color: var(--yellow); }
.t-place__name { font: 400 clamp(18px, 1.7vw, 24px)/1.2 enfonix, sans-serif; letter-spacing: .02em; }
.t-place__cap p { margin-top: 6px; font: 400 14px/1.4 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.t-more { padding: 56px var(--gutter) 48px; text-align: center; background: #fffefc; color: #000; }
.t-more__title, .t-partners__title { font: 400 clamp(22px, 2.2vw, 32px)/1.3 alliance-no-2, Inter, sans-serif; }
.t-more__sub { margin-top: 6px; font: 400 clamp(14px, 1.2vw, 18px)/1.3 alliance-no-2, Inter, sans-serif; }
.t-more__art { max-width: 1200px; margin: 32px auto 0; } .t-more__art img { width: 100%; height: auto; }
.t-partners { padding: 56px var(--gutter); text-align: center; background: var(--green); color: #fff; }
.t-partners__sub { margin: 10px auto 0; max-width: 860px; font: 400 clamp(14px, 1.2vw, 17px)/1.4 alliance-no-2, Inter, sans-serif; }
.t-partners__logos { max-width: 1000px; margin: 28px auto 0; } .t-partners__logos img { width: 100%; height: auto; }
.t-safety { background: var(--yellow); padding-bottom: 48px; border-top: 10px solid #000; }
.t-band--flush { padding-top: 40px; }
.t-safety__slider { max-width: var(--wide); margin: 16px auto 0; }
.t-safety__slider .slider__track { gap: 20px; }
.t-safety__slider .slider__item { width: 340px; height: 277px; }
.t-safety__slider .slider__item img { width: 100%; height: 100%; object-fit: contain; background: none; }
.t-cta { position: relative; overflow: hidden; padding: 96px var(--gutter); text-align: center; color: var(--yellow); }
.t-cta .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.t-cta__content { position: relative; }
.t-cta__title { font: 400 clamp(26px, 2.8vw, 40px)/1.25 alliance-no-2, Inter, sans-serif; }
.t-cta__note { margin: 18px 0 28px; font: 400 clamp(14px, 1.2vw, 17px)/1.5 alliance-no-2, Inter, sans-serif; }
.t-cta .btn { min-width: 180px; min-height: 42px; font-size: 14px; }
@media (max-width: 1000px) {
  .t-hero { min-height: 62vw; }
  .t-hero__content { width: 52%; margin-right: 4vw; }
  .t-places { grid-template-columns: 1fr; }
  .t-safety__slider .slider__item { width: 280px; height: 228px; }
}
/* Safety cards sit 14px below the top of their section (was touching it). */
.wixm [data-gallery="comp-mv5eab7x3"] .slider__track { padding-top: 14px; }
.wixm [data-gallery="comp-mv5eab7x3"], .wixm #comp-mv5eab7x3 { height: 145px !important; }
.wixm #comp-mv5eab7e, .wixm #comp-mv5eab7e > [class$="-container"] { height: 163px !important; min-height: 163px !important; }
.wixm #comp-mv55aeh5 p, .wixm #comp-mv55aeh5 span { white-space: nowrap; font-size: 7.4px !important; }

/* Learn Creative Economy "What You'll Get" on phones: cards 230x186 (were
   ~108 wide), the section growing to fit them. */
.wixm [data-gallery="comp-mv3z49q6"], .wixm #comp-mv3z49q6 { height: 186px !important; }
.wixm [data-gallery="comp-mv3z49q6"] .slider__item { width: 230px !important; height: 186px !important; }
.wixm [data-gallery="comp-mv3z49q6"] .slider__item img { width: 100%; height: 100%; object-fit: contain; }
.wixm [data-gallery="comp-mv3z49q6"] .slider__track { gap: 14px; }
.wixm #comp-mv3z49p9, .wixm #comp-mv3z49p9 > [class$="-container"] { height: 266px !important; min-height: 266px !important; }

/* Home podcast on phones: the site's player fills Wix's video frame. */
.wixm #comp-mu8amijd.h-podcast__video { display: flex; height: auto; background: #000; }
.wixm #comp-mu8amijd .h-podcast__play { width: 30px; height: 30px; }
/* Desktop: the player fills Wix's video slot, play button centred at Wix's size. */
.wixd #comp-mu8amijd.h-podcast__video { display: flex; max-width: none; background: #000; }
.wixd #comp-mu8amijd .h-podcast__play { width: 30px; height: 30px; }

/* ================================================================ forms in the Wix layouts
 * The tour enquiry form sits in Wix's "Reserve your place" text box and takes
 * that box's type; the waiting-list dialog follows the site's buttons. */
.tn-form { display: grid; gap: 14px; max-width: 640px; text-align: left; pointer-events: auto; color: #000; font: 400 15px/1.45 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.tn-form__field > span, .tn-form legend { font: inherit; }
.wixm .tn-form { font-size: 14px; }
.tn-form h2, .tn-form .tn-form__note { margin: 0; }
.tn-form__field, .tn-form__group { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.tn-form__group legend { margin-bottom: 6px; padding: 0; }
.tn-form input:not([type="radio"]), .tn-form textarea {
  width: 100%; padding: 8px 2px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0;
  background: transparent; color: inherit; font: inherit; font-size: 16px; line-height: 1.3;
}
.tn-form textarea { resize: vertical; }
.tn-form input::placeholder, .tn-form textarea::placeholder { color: inherit; opacity: .55; }
.tn-form input:focus-visible, .tn-form textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.tn-form__choice { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.tn-form__choice input { width: 16px; height: 16px; margin: 0; accent-color: #000; }
:is(.wixm, .wixd, .tn-dialog) .tn-form__submit { justify-self: start; min-height: 42px; padding: 10px 24px; border: 1px solid #000; background: transparent; color: #000; font: 400 13px/1.2 madefor-text, "Helvetica Neue", Arial, sans-serif; letter-spacing: .02em; cursor: pointer; }
:is(.wixm, .wixd) .tn-form__submit:hover { background: #000; color: #fff; }
.tn-form__submit:disabled { opacity: .6; cursor: wait; }
.tn-form__status { margin: 0; min-height: 1.2em; font-size: 15px; }
.wixm .tn-form { gap: 12px; text-align: center; margin: 0 auto; }
.wixm .tn-form__field, .wixm .tn-form__group { justify-items: center; }
.wixm .tn-form__choice { justify-content: flex-start; width: 210px; }
.wixm .tn-form .tn-form__submit { justify-self: center; }
.tn-dialog { width: min(92vw, 440px); padding: 32px 28px 28px; border: 0; background: #0f7a1e; color: #fff; }
.tn-dialog::backdrop { background: rgba(0,0,0,.6); }
.tn-dialog h2 { margin: 0; font: 400 22px/1.2 enfonix, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.tn-dialog .tn-form--dialog { color: #fff; }
.tn-form--dialog { position: relative; max-width: none; font: 400 15px/1.4 avenir-lt-w01_35-light1475496, "Nunito Sans", sans-serif; }
.tn-form__lede { margin: 0; }
.tn-dialog .tn-form__submit { border-color: #fff; color: #fff; }
.tn-dialog .tn-form__submit:hover { background: #fff; color: #0f7a1e; }
.tn-dialog__close { position: absolute; top: -26px; right: -18px; width: 36px; height: 36px; border: 0; background: none; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
/* The sign-up title: the enfonix stand-in runs wider than Wix's face. */
.wixm #comp-mve5b37d2 p { letter-spacing: -.06em; }
/* Featured event (desktop): Wix's More Info button (the only one; the poster
   image's copy of it is painted out), centred under the three sponsor logos
   (x 681 at 1440) and 15px below their lowest text. */
/* (4 Nov: the expedition poster replaced with the supplied FLYER08.) The More Info
   button is centred under its three sponsor logos, in the poster's yellow. */
/* Placed on the poster itself (its logos end at y 872 of 1019 and are
   centred at x 718 of 1440), so it holds at every screen width: 46px
   below them at 1440. */
.wixd #comp-mvcd778m { position: absolute !important; margin: 0 !important; top: calc(100 * var(--one-unit) * (918 / 1440)) !important; left: calc(100 * var(--one-unit) * (718 / 1440)) !important; transform: translateX(-50%) !important; z-index: 2; }
.wixd #comp-mvcd778m { --corvid-border-color: #f6ea1b; border-color: #f6ea1b !important; }
.wixd #comp-mvcd778m .wixui-button__label { color: #f6ea1b !important; }
.wixd #comp-mvcd778m:hover { background: #f6ea1b !important; }
.wixd #comp-mvcd778m:hover .wixui-button__label { color: #000 !important; }
/* Tablets and small laptops: website-7's desktop layout holds together from
 * about 1280px up, so between 751 and 1279px it is laid out at 1280px (Wix's
 * scaling unit pinned to match) and scaled to the screen by site.js. */
@media (min-width: 751px) and (max-width: 1279px) {
  body .wixd { width: 1280px; --one-unit: 12.8px; }
  body.has-wixd { overflow-x: hidden; }
}
.wixd .s-cats--wixd { grid-area: 6 / 1 / 7 / 2; padding: 64px 4.65vw 72px; background: #111; color: var(--yellow); pointer-events: auto; }
.wixd .s-cats--wixd .s-cats__title { margin: 0; font: 400 clamp(22px, 2.2vw, 32px)/1.2 var(--sans); color: var(--yellow); }
.wixd .s-cats--wixd .s-cats__list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.wixd .s-cats--wixd .s-cats__list a { display: flex; align-items: center; justify-content: center; min-height: 72px; padding: 8px; border: 1px solid var(--yellow); color: var(--yellow); font: 400 14px/1.2 var(--ui); letter-spacing: .06em; text-decoration: none; transition: background-color .2s, color .2s; }
.wixd .s-cats--wixd .s-cats__list a:hover { background: var(--yellow); color: #000; }
.wixd #comp-mvc682cp { grid-area: 7 / 1 / 8 / 2 !important; }
/* Home cover (desktop). Wix places each piece of text at its own height
   from the top, and the screen width (and whether the browser shows a
   scrollbar) moved them against each other and past the photo. The cover is
   composed once at 1440px, ending with the photo (1440 x 1497), every line
   on the photo, and scaled to the layout as one piece (--cz: site.js). */
.wixd #comp-mu6pyfvl { --one-unit: 14.4px; width: 1440px !important; max-width: none !important; height: 1497px !important; min-height: 0 !important; overflow: hidden; background: #000; zoom: var(--cz, 1); justify-self: start; }
.wixd #comp-mu6pyfvl > [class$="-container"] { min-height: 0 !important; height: 1497px !important; grid-template-rows: 1497px !important; max-width: none !important; margin-left: 0 !important; }
/* The text lifted onto the photo: the lowest line (the end of "The North
   You Haven't Seen") ends 56px above its bottom, as far as the TruNORTH logo
   sits below the top of the next section. The lead story's summary sits just
   under its headline; the buttons end level with the last line opposite. */
.wixd :is(#comp-mv6u7k7p, #comp-muh0rhv0, #comp-muh1k5xo, #comp-muh1i7hi, #comp-muh1ixqc, #comp-muh38v96, #comp-muh38v7g, #comp-muh38v5i) { transform: translateY(-69px); }
.wixd #comp-muh0zh8z { transform: translateY(-80px); }
.wixd #comp-mu89ionm { transform: translateY(-27px); }
/* Podcast 20px from Magazine (Wix: 75px). */
.wixd :is(#comp-mu89ionm, #comp-mu8a5q39) { width: 182px !important; min-height: 42px !important; }
.wixd #comp-mu8a5q39 { margin-left: 294px !important; transform: translateY(-27px); }
/* Creative School hero (desktop): the painter's headwrap sits at the top of
   the picture, so the frame anchors to the top instead of the middle. */
.wixd #img_comp-mui024wp img { object-position: 0% 0% !important; }
/* Our Pipeline (phone): Wix shows each circle whole and as tall as the
   strip, about two and a half on screen, starting at the left edge. */
.wixm [data-gallery="comp-mv3yuliw"] .slider__track { gap: 4px; }
.wixm [data-gallery="comp-mv3yuliw"] .slider__item { aspect-ratio: 1; border-radius: 0; overflow: visible; }
/* Business School "NERGP pathway" (desktop): the cards' artwork starts 26px
   under the band's top; the band now ends 26px under it too (the gallery is
   a fixed 263px, so the row is in px). */
.wixd #comp-mv7xwzw9 .comp-mv7xwzw9-container { grid-template-rows: minmax(273px, auto) !important; }
/* Creative School "Our Programmes" band: What You'll Get's heading and
   subtitle (build.js), with the same space under the subtitle. */
.wixd #comp-muifds7c { padding-bottom: calc((100 * var(--one-unit)) * .0076); }
.wixm #comp-muifds7c { padding-bottom: calc(3.08 * var(--one-unit)); }
/* Creative School hero: the line under the ACSA + TruNORTH logo (and the
   buttons under it) sit a little closer to the logo. */
.wixd #comp-mui0751n, .wixd #comp-mui024xc1, .wixd #comp-mui0bpjp { transform: translateY(calc((100 * var(--one-unit)) * -.0174)); }
.wixm #comp-mui0751n, .wixm #comp-mui024xc1, .wixm #comp-mui0bpjp { transform: translateY(calc(-2.6 * var(--one-unit))); }
/* Who this is for (phone): a taller strip framed a little higher, so the
   three-line "Creative Professionals & Practitioners" card has room above. */
.wixm #comp-muij9u61 { height: 206px !important; }
.wixm [data-gallery="comp-muij9u61"] .slider__item img { object-position: 50% 28%; }
/* Tour sign-up page. Title artwork 10% larger (date and calendar moved down
   to keep clear of it); the tour text runs wider, its Sign Up button is gone
   (build.js) and the yellow section closes up under the text. */
.wixd #comp-mve64q9j { transform: scale(1.1); transform-origin: 50% 0; }
.wixd #comp-mve656ed, .wixd #comp-mve6ailz { transform: translateY(calc((100 * var(--one-unit)) * .0222)); }
.wixm #comp-mve6fxqu4, .wixm #comp-mve6fxqs3 { transform: translateY(calc(2.4 * var(--one-unit))); }
.wixd #comp-mve594953, .wixd #comp-mve594982 { width: calc(100% - 2 * (100 * var(--one-unit)) * .03125) !important; }
.wixm #comp-mve5b37d2, .wixm #comp-mve5b37g { width: calc(100% - 32px) !important; margin-left: 16px !important; margin-right: 16px !important; }
.wixd #comp-mve594922 .comp-mve594922-container { grid-template-rows: auto !important; }
/* The section ends 48px (at 1440) under the last line of its text. */
.wixd #comp-mve594982 { margin-bottom: calc((100 * var(--one-unit)) * .0333) !important; }
.wixm #comp-mve5b37a .comp-mve5b37a-container { grid-template-rows: minmax(calc(135.6 * var(--one-unit)), auto) !important; }
/* Shop: every button the size of "All Collections", made larger (desktop
   200x48 with 13px text, phone 128x34 with 11px). */
.wixd :is(#comp-mv412y8u2, #comp-mv4324o4, #comp-mvc4fr0i, #comp-mvc4kdnt, #comp-mvc4kdnw, #comp-mvc682fp) { width: calc((100 * var(--one-unit)) * .1389) !important; min-height: calc((100 * var(--one-unit)) * .0333) !important; height: calc((100 * var(--one-unit)) * .0333) !important; }
.wixd :is(#comp-mv412y8u2, #comp-mv4324o4, #comp-mvc4fr0i, #comp-mvc4kdnt, #comp-mvc4kdnw, #comp-mvc682fp) .wixui-button__label { font-size: max(12px, calc((100 * var(--one-unit)) * .009)) !important; }
.wixd #comp-mvc4fr0i, .wixd #comp-mvc4kdnw { transform: translateX(calc((100 * var(--one-unit)) * .0285)); }
.wixm :is(#comp-mv412y8u2, #comp-mv43stq0, #comp-mv43k9u91, #comp-mv43k9ug, #comp-mv4324o4, #comp-mv4324oa5) { width: 128px !important; min-height: 34px !important; height: 34px !important; }
.wixm :is(#comp-mv412y8u2, #comp-mv43stq0, #comp-mv43k9u91, #comp-mv43k9ug, #comp-mv4324o4, #comp-mv4324oa5) .wixui-button__label { font-size: 11px !important; }
/* Shop (desktop): "Made in the Northeast" artwork lifted so its lettering
   starts level with "SHOP ARTS & CRAFT PRODUCTS..." (53px at 1440). */
.wixd #comp-mv4324o7 { transform: translateY(calc((100 * var(--one-unit)) * -.0368)); }
.wixm #comp-mv4324oa5 { transform: translate(29px, -2px); }
.wixm #comp-mv43k9ug { transform: translateX(20px); }
/* Tour sign-up "Reserve your place": white section, with room under the
   closing note (48px desktop at 1440, 40px phone). */
.wixd #comp-mve5viig, .wixm #comp-mve6omil { background: #fff !important; --bg-overlay-color: #fff !important; }
.wixd #comp-mve5viig [data-testid="colorUnderlay"], .wixm #comp-mve6omil [data-testid="colorUnderlay"] { background: #fff !important; }
.wixd #comp-mve5viig .tn-form__note { padding-bottom: calc((100 * var(--one-unit)) * .0333); }
.wixm #comp-mve6omil .tn-form__note { padding-bottom: 40px; }
/* Article pages: Wix pins the post header (socials) to the top of the screen,
   where it slid over the text while scrolling; it now scrolls with the page. */
.wixm #comp-lycrs7d3-pinned-layer, .wixd #comp-lycrs7d3-pinned-layer { position: absolute !important; }

/* Coming in 2027 (/podcast) has only a phone design: on wider screens it is
   shown as its 390px phone layout scaled up whole to a centred column (880px
   at most; --pzd, set in the page head and by site.js), each section's colour
   running out to the screen edges. */
@media (min-width: 751px) {
  body:has(.wixm--all) { background: #000; }
  body .wixm--all { width: 390px; --one-unit: 3.9px; zoom: var(--pzd, 2); margin: 0 auto !important; overflow: visible !important; }
  .wixm--all [class*="overflow-wrapper"] { overflow: visible !important; }
  .wixm--all section { box-shadow: 0 0 0 100vmax var(--bg-overlay-color, #000); clip-path: inset(0 -100vmax); }
}

/* Home (desktop): the event band takes the expedition poster's own shape
   (1440 x 1019). The NERGP band ends 56px under its Sign Up button and
   carries a clean cut of the photo made to its shape, from the top of the
   lady's hair to the board (build.js, DESKTOP_SOURCES). */
.wixd #comp-mv29xl03 { min-height: calc(100 * var(--one-unit) * (1019 / 1440)) !important; height: calc(100 * var(--one-unit) * (1019 / 1440)) !important; overflow: clip; }
.wixd #comp-mv29xl03 > [class$="-container"] { min-height: 0 !important; grid-template-rows: calc(100 * var(--one-unit) * (1019 / 1440)) !important; }
.wixd #img_comp-mv29xl03 img { object-fit: cover !important; object-position: 50% 0 !important; background: #020a04; }
.wixd #comp-mu73bx7r { min-height: calc(100 * var(--one-unit) * .425) !important; }
.wixd #img_comp-mu73bx7r img { object-position: 100% 50% !important; }

/* Desktops: Wix sizes boxes with the screen but text in fixed pixels, so the
   space around text changed from one screen width to the next. From 1280px
   up the layout is drawn at 1440px (the width it is designed and adjusted
   at) and scaled to the screen whole by site.js, like tablets, so every
   desktop shows the same page. */
@media (min-width: 1280px) { body .wixd { width: 1440px; --one-unit: 14.4px; } }

/* Phones: trunorthnew's layout grows with the screen but its text does not
   (13px on a 360px Android phone and on a 430px iPhone alike), so line breaks
   and the space between text and buttons changed from phone to phone. It is
   laid out at 390px (Wix's scaling unit pinned to match) and scaled to the
   screen (--pz, set in the page head and by site.js), so every phone shows the same page. */
@media (max-width: 750px) {
  body .wixm { width: 390px; --one-unit: 3.9px; zoom: var(--pz, 1); }
  body.has-wixm { overflow-x: hidden; }
}

/* Wix gives its page wrapper its own vertical scrollbar (overflow: auto
   scroll). Windows browsers draw it as an empty white strip beside the real
   one; the page scrolls in the window only. */
:is(.wixd, .wixm) { overflow-y: visible !important; }
:is(.wixd, .wixm:not(.wixm--all)) { overflow-x: hidden !important; overflow-x: clip !important; }

/* Desktop: every button's label at the shop buttons' size (13px at 1440). */
.wixd .wixui-button__label { font-size: max(12px, calc(100 * var(--one-unit) * .009)) !important; }

/* Desktop: rows of cards that fit without scrolling sit centred in their
   section (Wix starts them at the left edge of their box). Business School's
   What NERGP Does row spans the section with equal margins either side. */
.wixd .slider:not(.is-looping) .slider__track { justify-content: center; }
.wixd #comp-mv7xizjo { width: auto !important; justify-self: stretch !important; margin-right: 67.16px !important; }

/* Creative School (desktop): each band has the same space above its content
   as below it (Wix left more above the titles, and more under some rows).
   Desktop only, where the layout is drawn at 1440px: [space removed above,
   new height]. */
@media (min-width: 1280px) {
  /* Our Pipeline title */
  .wixd #comp-mui3qxr9 { min-height: 0 !important; height: 125px !important; overflow: clip; }
  .wixd #comp-mui3qxr9 > [class$="-container"] { min-height: 0 !important; grid-template-rows: 125px !important; }
  .wixd #comp-mui3qxr9 > [class$="-container"] > * { translate: 0 -35px; }
  /* What you'll get cards */
  .wixd #comp-mv3z49p9 { min-height: 0 !important; height: 262px !important; overflow: clip; }
  .wixd #comp-mv3z49p9 > [class$="-container"] { min-height: 0 !important; grid-template-rows: 262px !important; }
  /* What You'll Get title */
  .wixd #comp-mui4y2yf { min-height: 0 !important; height: 111px !important; overflow: clip; }
  .wixd #comp-mui4y2yf > [class$="-container"] { min-height: 0 !important; grid-template-rows: 111px !important; }
  .wixd #comp-mui4y2yf > [class$="-container"] > * { translate: 0 -31px; }
  /* Our Programmes title */
  .wixd #comp-muifds7c { min-height: 0 !important; height: 111px !important; overflow: clip; }
  .wixd #comp-muifds7c > [class$="-container"] { min-height: 0 !important; grid-template-rows: 111px !important; }
  .wixd #comp-muifds7c > [class$="-container"] > * { translate: 0 -31px; }
  /* How You'll Learn title */
  .wixd #comp-muih71ct { min-height: 0 !important; height: 148px !important; overflow: clip; }
  .wixd #comp-muih71ct > [class$="-container"] { min-height: 0 !important; grid-template-rows: 148px !important; }
  .wixd #comp-muih71ct > [class$="-container"] > * { translate: 0 -12px; }
  /* Who This Is For title */
  .wixd #comp-muij7qca { min-height: 0 !important; height: 147px !important; overflow: clip; }
  .wixd #comp-muij7qca > [class$="-container"] { min-height: 0 !important; grid-template-rows: 147px !important; }
  .wixd #comp-muij7qca > [class$="-container"] > * { translate: 0 -13px; }
  /* Who This Is For cards */
  .wixd #comp-muij9u5q { min-height: 0 !important; height: 236px !important; overflow: clip; }
  .wixd #comp-muij9u5q > [class$="-container"] { min-height: 0 !important; grid-template-rows: 236px !important; }
  .wixd #comp-muij9u61 { height: 297px !important; }   /* the cards keep their size; the white under their words is cut */
  /* Our Faculty title */
  .wixd #comp-muik108w { min-height: 0 !important; height: 110px !important; overflow: clip; }
  .wixd #comp-muik108w > [class$="-container"] { min-height: 0 !important; grid-template-rows: 110px !important; }
  .wixd #comp-muik108w > [class$="-container"] > * { translate: 0 -31px; }
  /* faculty profiles */
  .wixd #comp-mui024zu { min-height: 0 !important; height: 878px !important; overflow: clip; }
  .wixd #comp-mui024zu > [class$="-container"] { min-height: 0 !important; grid-template-rows: 878px !important; }
  .wixd #comp-mui024zu > [class$="-container"] > * { translate: 0 -40px; }
}

/* Creative School hero (desktop): Explore Programs and Apply Now 30px apart
   (Wix: 60px) and centred on the same line as the text and logo above
   (x 244.5 at 1440). */
.wixd #comp-mui024xc1 { translate: 33.5px 0; }
.wixd #comp-mui0bpjp { translate: 3.5px 0; }
/* Creative School, "Preparing Creatives" (desktop): the photographer runs to
   the section's right and bottom edges (Wix's box stopped just short, leaving
   a white hairline beside and under it). */
.wixd #comp-mui0u2x0 { margin-right: -1px !important; width: calc(100 * var(--one-unit) * .57646 + 1px) !important; aspect-ratio: auto !important; height: calc(100% + 1px) !important; align-self: stretch !important; }
.wixd #comp-mui0tsp4 { overflow: clip; }
/* ...and its paragraph wraps before the photo instead of running under it. */
.wixd #comp-mui0wl9z { width: calc(100 * var(--one-unit) * .36) !important; }
/* Shop hero (desktop): the TruShop lettering, the text and the Shop All
   Items button start on the same line as the text of every other section on
   the page (x 67 at 1440; Wix had the hero at 123). */
.wixd #comp-mvc3vdsf { translate: -56.6px 0; }
.wixd :is(#comp-mv412y8r, #comp-mvc05x3k, #comp-mv412y8u2) { translate: -56px 0; }
/* Northeast Unveiled, Expedition Highlights (desktop): both captions on two
   lines (Mambilla's box was too narrow and ran to three, down to the band's
   edge), each still centred under its photo, and the captions centred in
   their band. */
.wixd :is(#comp-mv70r3hv, #comp-mv70s7kc) { translate: 0 3px; }
.wixd :is(#comp-mv70sw0b, #comp-mv70uj4j) { width: 440px !important; translate: 0 3px; }

/* ---------------------------------------------------------------- magazine
   Laid out like a printed lifestyle magazine (after Flipsnack's Dynamic
   Lifestyle Magazine template): Anton capitals, black, white and a deep red,
   each section a "page" with a running folio. */
.p-mz { background: #f4f1ec; }
.mz { --mz-red: #d42a1f; --mz-ink: #111; --mz-paper: #fff; --mz-cond: Anton, "Arial Narrow", Impact, sans-serif; --mz-pad: clamp(20px, 4.2vw, 64px); color: var(--mz-ink); font-family: var(--ui); }
.mz-page { position: relative; max-width: 1360px; margin: 0 auto clamp(18px, 2.4vw, 36px); padding: calc(var(--mz-pad) + 18px) var(--mz-pad) var(--mz-pad); background: var(--mz-paper); box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 18px 40px -28px rgba(0,0,0,.35); }
.mz-folio { position: absolute; top: 18px; left: var(--mz-pad); right: var(--mz-pad); display: flex; justify-content: space-between; font: 700 11px/1 var(--ui); letter-spacing: .22em; color: #8a8580; }
.mz-folio span:last-child { color: var(--mz-red); }
.mz-h { font: 400 clamp(40px, 6.4vw, 96px)/.92 var(--mz-cond); letter-spacing: .005em; text-transform: uppercase; }
.mz-kicker, .mz-issue { font: 700 12px/1.2 var(--ui); letter-spacing: .2em; text-transform: uppercase; color: var(--mz-red); }
.mz a { color: inherit; text-decoration: none; }

/* cover */
.mz-cover { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 64px); align-items: center; padding-top: var(--mz-pad); background: var(--mz-red); color: #fff; overflow: hidden; }
.mz-cover__art { width: 100%; }
.mz-cover__frame { position: relative; transform: rotate(-2deg); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); transition: transform .4s ease; container-type: inline-size; }
.mz-cover__frame:hover { transform: rotate(0deg); }
.mz-cover__frame img { width: 100%; }
.mz-cover__overlay { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1.15fr 1fr; gap: 5cqw; align-items: end; padding: 0 5cqw 6cqw; }
.mz-cl { display: block; color: #fff; }
.mz-cl__cat { display: block; font: 700 2.1cqw/1.3 var(--ui); letter-spacing: .18em; text-transform: uppercase; color: var(--mz-red); }
.mz-cl__title { display: block; margin-top: .6cqw; font: 400 4.4cqw/1 var(--mz-cond); text-transform: uppercase; }
.mz-cl--big .mz-cl__title { font-size: 8.6cqw; line-height: .95; }
.mz-cover__right { display: grid; gap: 3.4cqw; text-align: right; justify-items: end; }
.mz-cl:hover .mz-cl__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mz-badge { display: inline-block; padding: 1.2cqw 2.6cqw; background: #fff; color: #111; font: 400 4.4cqw/1 var(--mz-cond); letter-spacing: .06em; }
.mz-cover .mz-issue { color: #fff; opacity: .9; }
.mz-mast { margin-top: 12px; font: 400 clamp(46px, 6.4vw, 100px)/.9 var(--mz-cond); letter-spacing: .005em; }
.mz-cover__lede { margin-top: 18px; max-width: 560px; font: 400 clamp(16px, 1.35vw, 19px)/1.6 var(--ui); }
.mz-btn--light { background: #fff; color: var(--mz-red) !important; }
.mz-btn--light:hover { background: #111; color: #fff !important; }
.mz-strap { margin-top: clamp(26px, 3vw, 44px); display: table; padding: 10px 14px; background: #111; font: 400 clamp(16px, 1.5vw, 22px)/1.1 var(--mz-cond); letter-spacing: .04em; }

/* contents */
.mz-toc__h { color: var(--mz-red); }
.mz-toc__lede { margin-top: 10px; max-width: 520px; font: italic 300 clamp(17px, 1.5vw, 21px)/1.45 var(--serif); }
.mz-toc__list { margin: clamp(26px, 3vw, 44px) 0 0; padding: 0; list-style: none; border-top: 2px solid var(--mz-ink); }
.mz-toc__item a { display: grid; grid-template-columns: clamp(58px, 7vw, 110px) clamp(96px, 13vw, 190px) minmax(0, 1fr); gap: clamp(14px, 2.4vw, 36px); align-items: center; padding: clamp(16px, 2vw, 26px) 0; border-bottom: 1px solid #d9d4cd; }
.mz-toc__no { font: 400 clamp(42px, 6vw, 88px)/.9 var(--mz-cond); color: var(--mz-red); }
.mz-toc__photo { display: block; }
.mz-toc__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.mz-toc__cat { display: block; font: 700 11px/1.3 var(--ui); letter-spacing: .2em; text-transform: uppercase; color: #8a8580; }
.mz-toc__title { display: block; margin-top: 6px; font: 400 clamp(22px, 2.4vw, 36px)/1 var(--mz-cond); text-transform: uppercase; }
.mz-toc__dek { display: block; margin-top: 8px; max-width: 640px; font: 400 15px/1.55 var(--ui); color: #4a4642; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mz-toc__item a:hover .mz-toc__title { color: var(--mz-red); }

/* editor's note */
.mz-note { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: clamp(24px, 4vw, 64px); }
.mz-issue--dark { color: var(--mz-red); }
.mz-note .mz-h { margin-top: 12px; font-size: clamp(38px, 4.6vw, 70px); }
.mz-note__lede { margin-top: 16px; font: italic 300 clamp(18px, 1.6vw, 23px)/1.4 var(--serif); }
.mz-note__body { grid-column: 2; grid-row: 1 / span 2; columns: 2; column-gap: clamp(22px, 3vw, 44px); font: 400 16px/1.7 var(--ui); color: #2b2825; }
.mz-note__body p { margin: 0 0 14px; break-inside: avoid-column; }
.mz-dropcap::first-letter { float: left; margin: 6px 10px 0 0; font: 400 74px/.8 var(--mz-cond); color: var(--mz-red); }
.mz-sign { font: italic 400 17px/1.4 var(--serif); color: var(--mz-ink); }
.mz-subscribe { grid-column: 1; grid-row: 2; align-self: start; padding: 24px 26px; background: var(--mz-ink); color: #fff; }
.mz-subscribe h3 { font: 400 clamp(24px, 2.4vw, 34px)/1 var(--mz-cond); text-transform: uppercase; }
.mz-subscribe p { margin-top: 8px; font: 400 15px/1.5 var(--ui); opacity: .85; }
.mz-subscribe__form { display: flex; flex-wrap: wrap; gap: 0; margin-top: 16px; }
.mz-subscribe__form input[type="email"] { flex: 1 1 220px; min-width: 0; height: 46px; padding: 0 14px; border: 0; border-radius: 0; font: 400 15px var(--ui); }
.mz-subscribe__form button { height: 46px; padding: 0 22px; border: 0; background: var(--mz-red); color: #fff; font: 400 18px/1 var(--mz-cond); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.mz-subscribe__form button:hover { background: #fff; color: var(--mz-red); }
.mz-subscribe__form .tn-news__status { flex: 1 0 100%; margin-top: 8px; font-size: 14px; }

/* feature spread */
.mz-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.mz-feature__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.mz-feature__title { margin-top: 12px; font-size: clamp(40px, 5.4vw, 84px); }
.mz-feature__title a:hover { color: var(--mz-red); }
.mz-feature__by { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font: 400 13px/1.4 var(--ui); color: #6b6661; }
.mz-feature__by .post-meta { display: contents; }
.mz-feature__lede { margin-top: 18px; font: 400 clamp(17px, 1.4vw, 20px)/1.6 var(--ui); }
.mz-quote { margin: 26px 0 0; padding: 18px 0 18px 22px; border-left: 4px solid var(--mz-red); }
.mz-quote p { font: italic 400 clamp(20px, 1.9vw, 28px)/1.35 var(--serif); }
.mz-glance { margin-top: 26px; padding: 20px 22px; background: #f4f1ec; }
.mz-glance h3 { font: 400 22px/1 var(--mz-cond); letter-spacing: .04em; color: var(--mz-red); }
.mz-glance ul { margin-top: 10px; }
.mz-glance li { position: relative; padding: 6px 0 6px 18px; font: 400 15px/1.45 var(--ui); border-top: 1px solid #e2ddd6; }
.mz-glance li::before { content: ""; position: absolute; left: 0; top: 14px; width: 8px; height: 8px; background: var(--mz-red); }
.mz-btn { display: inline-block; margin-top: 26px; padding: 14px 24px; background: var(--mz-ink); color: #fff !important; font: 400 18px/1 var(--mz-cond); letter-spacing: .06em; text-transform: uppercase; transition: background .2s; }
.mz-btn:hover { background: var(--mz-red); }

/* stories */
.mz-stories .mz-h { font-size: clamp(38px, 5vw, 76px); }
.mz-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding: 0; }
.mz-tabs button { padding: 9px 14px; border: 1px solid var(--mz-ink); background: transparent; color: var(--mz-ink); font: 700 12px/1 var(--ui); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.mz-tabs button[aria-pressed="true"], .mz-tabs button:hover { background: var(--mz-ink); color: #fff; }
.mz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(22px, 2.6vw, 40px); max-width: none; margin: clamp(22px, 2.6vw, 36px) 0 0; padding: 0; }
.mz-story a { display: flex; flex-direction: column; height: 100%; }
.mz-story__photo img, .mz-story__photo .ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
.mz-story__photo { overflow: hidden; }
.mz-story a:hover .mz-story__photo img { transform: scale(1.04); }
.mz-story__kicker { margin-top: 16px; font: 700 11px/1.3 var(--ui); letter-spacing: .2em; color: var(--mz-red); }
.mz-story__title { margin-top: 8px; font: 400 clamp(24px, 2.2vw, 34px)/1.02 var(--mz-cond); text-transform: uppercase; }
.mz-story__dek { margin-top: 10px; font: 400 15px/1.55 var(--ui); color: #4a4642; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mz-story .post-meta { margin-top: 12px; display: flex; gap: 6px; font: 400 13px/1.3 var(--ui); color: #8a8580; }
.mz-story__more { margin-top: auto; padding-top: 14px; font: 700 13px/1 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.mz-story a:hover .mz-story__title, .mz-story a:hover .mz-story__more { color: var(--mz-red); }
.mz-empty { margin-top: 20px; font: 400 15px var(--ui); }

@media (max-width: 1000px) {
  .mz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mz-note__body { columns: 1; }
}
@media (max-width: 750px) {
  .mz-page { margin-bottom: 14px; box-shadow: none; }
  .mz-cover { grid-template-columns: 1fr; padding-top: 28px; }
  .mz-cover__art { width: 100%; max-width: 420px; margin: 0 auto; }
  .mz-note, .mz-feature { grid-template-columns: 1fr; }
  .mz-subscribe, .mz-note__body { grid-column: auto; grid-row: auto; }
  .mz-grid { grid-template-columns: 1fr; }
  .mz-toc__item a { grid-template-columns: 46px 96px minmax(0, 1fr); gap: 12px; }
  .mz-toc__dek { display: none; }
}
/* Home (phone): the expedition poster's More Info button, centred under its
   sponsor logos, in the poster's yellow... */
.wixm #comp-mv2h08fq { transform: translate(135.5px, 22px); }
/* ...the poster shown whole at the top of a slightly taller band, so the
   button sits 32px under the logos (which end at 480) with room below it. */
.wixm #comp-mv29xl03 { min-height: 580px !important; }
.wixm #img_comp-mv29xl03 img { object-fit: contain !important; object-position: 50% 0 !important; background: #060e08; }
.wixm #img_comp-mv29xl03 { background: #060e08; }
.wixm #comp-mv2h08fq a, .wixm a#comp-mv2h08fq { border-color: #f6ea1b !important; }
.wixm #comp-mv2h08fq .wixui-button__label { color: #f6ea1b !important; }

/* Northeast Unveiled (the More Info page), top section: the title graphic,
   introduction, date, calendar and tagline centred on the page, the text
   larger (Wix had them pushed right, the introduction right-aligned). */
.wixd :is(#comp-mv6zkm77, #comp-mv54wmp93, #comp-mv705f8c, #comp-mv7092b9, #comp-mv701zea),
.wixm :is(#comp-mv5581e8, #comp-mv54wmp93, #comp-mv565xwz, #comp-mv565hn2, #comp-mv55aeh5) { justify-self: center !important; margin-left: 0 !important; margin-right: 0 !important; translate: none !important; }
:is(.wixd, .wixm) :is(#comp-mv54wmp93, #comp-mv705f8c, #comp-mv701zea, #comp-mv565xwz, #comp-mv55aeh5) :is(p, h1, h2, h3, h4, h5, h6) { text-align: center !important; }
.wixd #comp-mv54wmp93 { width: 820px !important; }
.wixd #comp-mv54wmp93 :is(p, h1, h2, h3, h4, h5, h6) { font-size: 30px !important; line-height: 1.5 !important; }
.wixd #comp-mv705f8c { width: 600px !important; }
.wixd #comp-mv705f8c :is(p, h1, h2, h3, h4, h5, h6) { font-size: 40px !important; }
.wixd #comp-mv701zea { width: 1200px !important; }
.wixd #comp-mv701zea :is(p, h1, h2, h3, h4, h5, h6) { font-size: 24px !important; }
.wixm #comp-mv54wmp93 { width: 340px !important; }
.wixm #comp-mv54wmp93 :is(p, h1, h2, h3, h4, h5, h6) { font-size: 17px !important; line-height: 1.45 !important; }
.wixm #comp-mv565xwz { width: 340px !important; }
.wixm #comp-mv565xwz :is(p, h1, h2, h3, h4, h5, h6) { font-size: 20px !important; }
.wixm #comp-mv55aeh5 { width: 370px !important; }
.wixm #comp-mv55aeh5 :is(p, h1, h2, h3, h4, h5, h6) { font-size: 10px !important; line-height: 1.4 !important; }
/* ...the calendar clear of the date, and the section ending as far under the
   tagline as the title sits from its top (89px at 1440). */
.wixd #comp-mv7092b9, .wixd #comp-mv701zea { translate: 0 12px !important; }
.wixd #comp-mv54wmng { min-height: 0 !important; height: 874px !important; }
.wixd #comp-mv54wmng > [class$="-container"] { min-height: 0 !important; grid-template-rows: 874px !important; }

/* Tour title on phones: the artwork only fills the top half of its image, so crop
   to the lettering and let it run nearly the full width of the screen. */
.wixm :is(#comp-mve6fxqn, #comp-mv5581e8) { width: 360px !important; height: 87px !important; min-height: 0 !important; justify-self: center !important; margin-left: 0 !important; margin-right: 0 !important; translate: none !important; transform: none !important; overflow: hidden; }
.wixm :is(#comp-mve6fxqn, #comp-mv5581e8) :is(wow-image, wow-image > div) { position: static !important; width: 100% !important; height: auto !important; overflow: visible !important; }
.wixm :is(#comp-mve6fxqn, #comp-mv5581e8) img { width: 107.5% !important; max-width: none !important; margin: -3.0% 0 0 -3.76% !important; object-fit: fill !important; }
