/* Rally plate and partner directory. Loaded only by the six affected pages. */
.allies-hero {
  position: relative;
  padding: 166px 0 88px;
  background: #f5f0e6;
  color: #193c32;
  overflow: hidden;
}
.allies-hero::before {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  right: -220px;
  top: -220px;
  border: 1px solid #c7975330;
  border-radius: 50%;
  box-shadow: 0 0 0 65px #c7975308, 0 0 0 130px #c7975306;
  pointer-events: none;
}
.allies-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 64px;
}
.allies-hero .kicker { color: #865d2d; font-size: 11px; letter-spacing: .2em; }
.allies-hero h1 {
  font: 500 clamp(52px, 5.1vw, 78px)/.99 var(--font-serif);
  letter-spacing: -.035em;
  margin: 25px 0;
}
.allies-hero h1 em { font-weight: 400; color: #98713e; }
.allies-hero__copy p { max-width: 440px; color: #625e54; font-size: 15px; line-height: 1.85; }
.allies-hero__link {
  display: inline-flex;
  align-items: center;
  gap: 38px;
  margin-top: 22px;
  padding: 10px 0;
  border-bottom: 1px solid #193c3260;
  text-decoration: none;
  color: #193c32;
  font-size: 12px;
  font-weight: 600;
}
.allies-hero__link span { font-size: 22px; }
.allies-hero__art { margin: 0; padding: 27px 25px 23px; border: 1px solid #b18c5655; background: #fbf8f080; }
.allies-hero__edition { display: flex; justify-content: space-between; gap: 16px; font-size: 9px; text-transform: uppercase; letter-spacing: .2em; color: #77694f; }
.allies-hero__art > img { display: block; width: 100%; height: auto; margin: 46px 0 34px; filter: drop-shadow(0 18px 15px #4a352526); }
.allies-hero__art figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; padding-top: 18px; border-top: 1px solid #b18c5633; }
.allies-hero__art figcaption > span { font: italic 20px var(--font-serif); }
.allies-hero__art figcaption a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 10px; color: #5f5645; text-underline-offset: 4px; }
.allies-index { position: relative; background: #193c32; color: #f8f2e6; }
.allies-index__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.allies-index a { display: flex; align-items: center; gap: 18px; padding: 26px 25px; color: inherit; text-decoration: none; font-size: 12px; border-right: 1px solid #f8f2e624; }
.allies-index a:first-child { border-left: 1px solid #f8f2e624; }
.allies-index a > span:first-child { color: #d7ba86; font: 20px var(--font-serif); }
.allies-index a > span:last-child { margin-left: auto; color: #d7ba86; font-size: 20px; }
.allies-index a:hover { background: #f8f2e60c; }
body[data-page="partners"] #supporting-partners { padding: 88px 0 96px; background: #f7f3ea; }
body[data-page="partners"] .section__head { max-width: 780px; margin: 0 auto 40px; text-align: center; }
body[data-page="partners"] .section__head .kicker { font-size: 10px; color: #865d2d; letter-spacing: .24em; }
body[data-page="partners"] .section__head .h2 { font: 500 clamp(38px, 4vw, 56px)/1.07 var(--font-serif); letter-spacing: -.025em; margin: 20px 0; }
body[data-page="partners"] .section__head .h2 em { color: #193c32; }
body[data-page="partners"] .section__lede { max-width: 610px; margin: 0 auto; font: 400 15px/1.85 var(--font-body); color: #6b6256; }
body[data-page="sponsors"] .sponsor-stories__head {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}
body[data-page="sponsors"] .sponsor-stories__head .kicker {
  color: #865d2d;
  font-size: 10px;
  letter-spacing: .24em;
}
body[data-page="sponsors"] .sponsor-stories__head .h2 {
  margin: 20px 0;
  color: #193c32;
  font: 500 clamp(38px, 4vw, 56px)/1.07 var(--font-serif);
  letter-spacing: -.025em;
}
body[data-page="sponsors"] .sponsor-stories__head .h2 em { color: #98713e; }
body[data-page="sponsors"] .sponsor-stories__head .section__lede {
  max-width: 610px;
  margin: 0 auto;
  color: #6b6256;
  font: 400 15px/1.85 var(--font-body);
}
/* Partner story cards: warm paper cards for the partners, a Sahara showcase for the title partner. */
.sponsor-stories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.sponsor-story {
  --accent: #98713e;
  --accent-ink: #7d5a2b;
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 390px;
  flex-direction: column;
  gap: 24px;
  padding: 30px 30px 32px;
  overflow: hidden;
  border: 1px solid rgba(187, 168, 137, .42);
  border-radius: 14px;
  background: linear-gradient(180deg, #fffdf9, #f9f4ea);
  color: #193c32;
  box-shadow: 0 24px 50px -36px rgba(74, 53, 37, .45);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s ease;
}
.sponsor-story:hover {
  transform: translateY(-4px);
  border-color: rgba(187, 168, 137, .7);
  box-shadow: 0 34px 64px -38px rgba(74, 53, 37, .5);
}
.sponsor-story--medousa { --accent: #b3862f; --accent-ink: #8a6420; }
.sponsor-story--teltonika { --accent: #1c3a9e; --accent-ink: #001a77; }
.sponsor-story--kkuny { --accent: #8a1732; --accent-ink: #6e1027; }
.sponsor-story__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}
.sponsor-story__index { color: var(--accent); font: 400 30px/1 var(--font-serif); opacity: .85; }
.sponsor-story__tag,
.sponsor-story__role {
  color: var(--accent-ink);
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.4;
  text-transform: uppercase;
}
.sponsor-story__tag { text-align: right; }
.sponsor-story__logo {
  position: relative;
  display: grid;
  min-height: 190px;
  place-items: center;
  padding: 20px;
  overflow: hidden;
  border-radius: 10px;
  background:
    radial-gradient(ellipse 70% 70% at 50% 45%, #fff 0%, rgba(255, 255, 255, 0) 72%),
    linear-gradient(180deg, #f6efe2, #efe6d5);
}
.sponsor-story__logo::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%237a5a2e' stroke-width='1'><path d='M40 4 L52 16 L52 32 L64 44 L52 56 L52 72 L40 84 L28 72 L28 56 L16 44 L28 32 L28 16 Z'/><path d='M40 16 L48 24 L48 36 L40 44 L32 36 L32 24 Z'/><circle cx='40' cy='40' r='6'/><path d='M0 40 L8 32 M72 40 L80 32 M0 40 L8 48 M72 40 L80 48'/></g></svg>");
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 28%, #000 82%);
  mask-image: radial-gradient(ellipse at center, transparent 28%, #000 82%);
}
.sponsor-story__logo img {
  position: relative;
  display: block;
  width: min(220px, 100%);
  max-height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(74, 53, 37, .14));
  transition: transform .7s var(--ease);
}
.sponsor-story:hover .sponsor-story__logo img { transform: translateY(-3px) scale(1.02); }
.sponsor-story--medousa .sponsor-story__logo img { mix-blend-mode: multiply; filter: none; }
.sponsor-story__logo--teltonika img {
  width: min(320px, 100%);
  max-height: 64px;
}
/* KKuny's wordmark sits on its own burgundy ground: keep the proportions, soften the corners. */
.sponsor-story__logo--kkuny img {
  width: min(250px, 100%);
  border-radius: 12px;
}
.sponsor-story__body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.sponsor-story__body h3 {
  margin: 10px 0 12px;
  color: #193c32;
  font: 500 clamp(31px, 3vw, 44px)/1.05 var(--font-serif);
  letter-spacing: -.02em;
}
.sponsor-story__body p {
  max-width: 690px;
  margin: 0;
  color: #6b6256;
  font-size: 14.5px;
  line-height: 1.8;
}
/* Roadbook notes: italic serif, gold dots, a short gold rule above. */
.sponsor-story__facts {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  margin: auto 0 0;
  padding: 18px 0 0;
  list-style: none;
}
.sponsor-story__facts::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 1px;
  background: var(--accent);
}
.sponsor-story__facts li { color: var(--accent-ink); font: italic 500 18px/1.3 var(--font-serif); }
.sponsor-story__facts li:not(:last-child)::after { content: "\00B7"; margin: 0 12px; color: var(--accent); font-style: normal; }
.sponsor-story__link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  margin-top: 14px;
  color: #f7f3ea;
  font-size: 12px;
}
.sponsor-story__link:hover { color: #dfc399; }
.sponsor-story--light .sponsor-story__link { color: #193c32; text-decoration-color: rgba(25, 60, 50, .3); }
.sponsor-story--light .sponsor-story__link span { color: var(--accent); }
.sponsor-story--light .sponsor-story__link:hover { color: var(--accent-ink); text-decoration-color: var(--accent); }

/* Title partner showcase: the MG ZS on the M’hamid dunes. */
.sponsor-story--featured {
  --accent: #dfc399;
  --accent-ink: #dfc399;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 26px 40px;
  min-height: 470px;
  padding: 36px 42px 40px;
  border-color: rgba(199, 151, 83, .4);
  color: #f7f3ea;
  background:
    linear-gradient(100deg, rgba(26, 17, 11, .97) 0%, rgba(26, 17, 11, .9) 36%, rgba(26, 17, 11, .5) 60%, rgba(26, 17, 11, .3) 100%),
    linear-gradient(180deg, rgba(38, 22, 10, .45), rgba(26, 17, 11, .2) 45%, rgba(26, 17, 11, .6)),
    url('assets/mhamid-el-ghizlane-sahara-rally.jpg') 72% 68% / cover no-repeat,
    #1b130d;
  box-shadow: 0 40px 90px -50px rgba(26, 17, 11, .9);
}
.sponsor-story--featured:hover {
  border-color: rgba(223, 195, 153, .6);
  box-shadow: 0 48px 100px -52px rgba(26, 17, 11, .95);
}
.sponsor-story--featured .sponsor-story__top { grid-column: 1 / -1; }
.sponsor-story--featured .sponsor-story__index { opacity: 1; }
.sponsor-story--featured .sponsor-story__body {
  grid-column: 1;
  grid-row: 2;
  flex: initial;
  justify-content: center;
}
.sponsor-story__brand {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}
.sponsor-story__mark {
  display: grid;
  flex: none;
  width: 74px;
  height: 74px;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 70%);
}
.sponsor-story__mark img {
  display: block;
  width: 62px;
  height: 62px;
  object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .5));
}
.sponsor-story--featured .sponsor-story__body h3 {
  margin: 6px 0 0;
  color: #fff;
  font-size: clamp(38px, 3.6vw, 54px);
}
.sponsor-story--featured .sponsor-story__body p { max-width: 520px; color: rgba(247, 243, 234, .84); }
.sponsor-story__stage {
  position: relative;
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  margin: 0 -64px -12px 0;
  padding: 0;
}
.sponsor-story__stage::before {
  content: "";
  position: absolute;
  right: 6%;
  bottom: 5%;
  left: 8%;
  height: 12%;
  background: radial-gradient(ellipse at center, rgba(26, 17, 11, .6), transparent 70%);
  filter: blur(12px);
}
.sponsor-story__stage::after {
  content: "";
  position: absolute;
  right: -6%;
  bottom: -4%;
  left: -6%;
  height: 34%;
  background: radial-gradient(ellipse 55% 60% at 50% 70%, rgba(214, 170, 120, .3), rgba(214, 170, 120, 0) 70%);
  pointer-events: none;
}
.sponsor-story__stage img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  filter: saturate(.94) drop-shadow(0 24px 22px rgba(26, 17, 11, .55));
  transition: transform .9s var(--ease);
}
.sponsor-story--featured:hover .sponsor-story__stage img { transform: translateX(10px); }
.sponsor-story__fleet {
  grid-column: 1;
  grid-row: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 28px;
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid rgba(223, 195, 153, .35);
}
.sponsor-story__fleet > div { display: grid; gap: 6px; }
.sponsor-story__fleet dt {
  color: #dfc399;
  font: 700 10px/1.4 var(--font-body);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sponsor-story__fleet dd {
  margin: 0;
  color: #fff;
  font: 500 24px/1.05 var(--font-serif);
}
/* KKuny × Sirocco: an editorial, sensory panel for the fragrance collaboration.
   Amber light on a dark ground, a touch of KKuny burgundy, well below the title partner. */
.scent-story {
  --scent-gold: #dfc399;
  --scent-ink: #f4ebdc;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: center;
  gap: 36px 64px;
  margin-top: 40px;
  padding: 54px 58px;
  overflow: hidden;
  border: 1px solid rgba(223, 195, 153, .24);
  border-radius: 14px;
  color: var(--scent-ink);
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(122, 15, 43, .3), rgba(122, 15, 43, 0) 65%),
    radial-gradient(60% 70% at 0% 100%, rgba(199, 151, 83, .18), rgba(199, 151, 83, 0) 65%),
    linear-gradient(180deg, #1e1512, #170f0d);
  box-shadow: 0 40px 90px -50px rgba(26, 17, 11, .9);
}
.scent-story::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 620px;
  height: 620px;
  left: -260px;
  bottom: -300px;
  border: 1px solid rgba(223, 195, 153, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(223, 195, 153, .035), 0 0 0 140px rgba(223, 195, 153, .02);
  pointer-events: none;
}
.scent-story__copy { position: relative; max-width: 560px; }
.scent-story__eyebrow {
  display: inline-block;
  color: var(--scent-gold);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.scent-story__title {
  margin: 20px 0 10px;
  color: #fff;
  font: 500 clamp(34px, 3.6vw, 52px)/1.04 var(--font-serif);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.scent-story__title em { color: var(--scent-gold); font-weight: 400; }
.scent-story__accent {
  margin: 0 0 24px;
  color: #e9d9b8;
  font: italic 500 21px/1.35 var(--font-serif);
}
.scent-story__text p {
  max-width: 520px;
  margin: 0 0 14px;
  color: rgba(244, 235, 220, .8);
  font-size: 14.5px;
  line-height: 1.8;
}
.scent-story__pull {
  position: relative;
  margin: 26px 0 0;
  padding-top: 20px;
  color: #fff;
  font: italic 500 clamp(22px, 2.1vw, 27px)/1.3 var(--font-serif);
}
.scent-story__pull::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 1px;
  background: var(--scent-gold);
}
.scent-story__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 30px;
  margin-top: 28px;
}
.scent-story__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: var(--scent-ink);
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(244, 235, 220, .35);
  text-underline-offset: 5px;
  transition: color .3s ease;
}
.scent-story__link span { color: var(--scent-gold); font-size: 18px; transition: transform .3s var(--ease); }
.scent-story__link:hover { color: var(--scent-gold); }
.scent-story__link:hover span { transform: translateX(4px); }
/* The visual: a warm winter-light composition carries the "to be announced" note until the KKuny artwork lands on top of it. */
.scent-story__visual {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid rgba(223, 195, 153, .28);
  border-radius: 10px;
  background:
    radial-gradient(110% 60% at 50% 104%, rgba(214, 160, 90, .62), rgba(214, 160, 90, 0) 62%),
    linear-gradient(180deg, #2b1a15 0%, #3c231a 42%, #6a3d22 68%, #1c120e 100%);
  box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .8);
}
.scent-story__visual::before {
  content: "";
  position: absolute;
  top: 68%;
  right: 10%;
  left: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(223, 195, 153, .5), transparent);
}
.scent-story__visual::after {
  content: "";
  position: absolute;
  inset: -20%;
  background: radial-gradient(45% 35% at 60% 60%, rgba(199, 151, 83, .22), transparent 70%);
  animation: scent-drift 18s ease-in-out infinite alternate;
  pointer-events: none;
}
.scent-story__visual img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s var(--ease);
}
.scent-story:hover .scent-story__visual img { transform: scale(1.025); }
.scent-story__soon {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
  margin: 0;
  padding: 24px 28px 70px;
  text-align: center;
}
.scent-story__soon span {
  color: var(--scent-gold);
  font: 700 10px/1.4 var(--font-body);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.scent-story__soon strong {
  color: #fff;
  font: italic 500 clamp(26px, 2.4vw, 32px)/1.2 var(--font-serif);
  text-wrap: balance;
}
.scent-story__caption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  margin: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 60px 22px 20px;
  background: linear-gradient(180deg, rgba(20, 12, 9, 0), rgba(20, 12, 9, .55));
  color: rgba(244, 235, 220, .85);
  font: 700 10px/1.4 var(--font-body);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.scent-story__caption em {
  color: #e9d9b8;
  font: italic 500 17px/1.2 var(--font-serif);
  letter-spacing: 0;
  text-transform: none;
}
@keyframes scent-drift {
  from { transform: translate3d(-4%, 2%, 0); }
  to { transform: translate3d(4%, -3%, 0); }
}
/* Sponsors page: hero link, facts strip, story chips and closing panel. */
.sponsor-hero__actions { align-items: center; gap: 12px 30px; }
.sponsor-hero__link {
  display: inline-block;
  padding: 15px 0;
  color: #f7f3ea;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  text-decoration: underline;
  text-decoration-color: rgba(247, 243, 234, .4);
  text-underline-offset: 7px;
  transition: color .3s ease, text-decoration-color .3s ease;
}
.sponsor-hero__link span {
  display: inline-block;
  margin-left: 12px;
  color: #dfc399;
  font-size: 20px;
  line-height: 0;
  vertical-align: -2px;
  transition: transform .3s var(--ease);
}
.sponsor-hero__link:hover { color: #dfc399; text-decoration-color: #dfc399; }
.sponsor-hero__link:hover span { transform: translateY(3px); }
.sponsor-facts { background: #f0e8d9; border-bottom: 1px solid #c7975333; padding: 26px 0; }
.sponsor-facts__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border: 1px solid #c7975340;
  border-radius: 12px;
  background: #c7975340;
}
.sponsor-facts__list li {
  display: grid;
  gap: 8px;
  padding: 22px 16px 20px;
  background: #f0e8d9;
  text-align: center;
}
.sponsor-facts__list strong {
  color: #193c32;
  font: 400 30px/1 var(--font-display);
  letter-spacing: .04em;
  white-space: nowrap;
}
.sponsor-facts__list span {
  color: #865d2d;
  font-size: 10px;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
body[data-page="sponsors"] .sponsor-why .section__head .kicker { color: #865d2d; font-size: 11px; letter-spacing: .2em; }
body[data-page="sponsors"] .sponsor-why .h2 { color: #193c32; font: 500 clamp(38px, 4vw, 56px)/1.07 var(--font-serif); letter-spacing: -.025em; margin: 20px 0; }
body[data-page="sponsors"] .sponsor-why .h2 em { color: #98713e; font-weight: 400; }
body[data-page="sponsors"] .sponsor-why .section__lede { max-width: 610px; margin: 0; color: #6b6256; font: 400 15px/1.85 var(--font-body); }
body[data-page="sponsors"] .sponsor-why .seo-note { margin-top: 14px; font-size: 15px; line-height: 1.8; }
body[data-page="sponsors"] .sponsor-tiers .premium-card { background: linear-gradient(180deg, #fffdf9, #f9f4ea); border-color: #bba88955; border-radius: 14px; }
.sponsor-close {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .8fr);
  align-items: start;
  gap: 18px 56px;
  margin-top: 56px;
  padding: 50px 54px;
  overflow: hidden;
  border: 1px solid #d7ba8633;
  border-radius: 14px;
  background: #193c32;
  color: #f8f2e6;
}
.sponsor-close::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 520px;
  height: 520px;
  right: -180px;
  top: -260px;
  border: 1px solid #d7ba8630;
  border-radius: 50%;
  box-shadow: 0 0 0 60px #d7ba860a, 0 0 0 120px #d7ba8606;
  pointer-events: none;
}
.sponsor-close .kicker { grid-column: 1 / -1; margin: 0; color: #d7ba86; font-size: 11px; letter-spacing: .24em; }
.sponsor-close h3 {
  margin: 0 0 14px;
  color: #f8f2e6;
  font: 500 clamp(32px, 3.4vw, 46px)/1.08 var(--font-serif);
  letter-spacing: -.02em;
  text-wrap: balance;
}
.sponsor-close h3 em { color: #d7ba86; font-weight: 400; }
.sponsor-close p { max-width: 560px; margin: 0; color: #f8f2e6b8; font-size: 14.5px; line-height: 1.8; }
.sponsor-close__areas {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  margin: 26px 0 0;
  padding: 18px 0 0;
  list-style: none;
}
.sponsor-close__areas::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 1px;
  background: #d7ba86;
}
.sponsor-close__areas li { color: #e9d9b8; font: italic 500 18px/1.3 var(--font-serif); }
.sponsor-close__areas li:not(:last-child)::after { content: "\00B7"; margin: 0 12px; color: #d7ba86; font-style: normal; }
.sponsor-close__actions { display: grid; gap: 12px; justify-items: start; padding-top: 4px; }
.sponsor-close__actions .btn { width: 100%; max-width: 330px; }
.sponsor-close__link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: #f8f2e6;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #f8f2e650;
  text-underline-offset: 5px;
  transition: color .3s ease;
}
.sponsor-close__link span { color: #d7ba86; font-size: 18px; }
.sponsor-close__link:hover { color: #d7ba86; }
.sponsor-close__note { max-width: 330px; color: #f8f2e680; font-size: 12px; line-height: 1.7; }
.sponsor-close__note a { color: #f8f2e6c0; text-decoration: underline; text-underline-offset: 3px; }
.sponsor-close__note a:hover { color: #d7ba86; }
body[data-page="partners"] .sponsors__grid { gap: 22px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
body[data-page="partners"] .sponsor--logo {
  padding: 28px 22px 24px;
  border: 1px solid #bba88944;
  background: #fff;
  gap: 18px;
  box-shadow: 0 10px 25px -23px #382b1d70;
  transition: border-color .25s ease, box-shadow .25s ease;
}
body[data-page="partners"] .sponsor--logo:hover { background: #fff; border-color: #b18c5688; box-shadow: 0 12px 35px -25px #382b1d80; }
body[data-page="partners"] .sponsor--logo img { height: 132px; width: min(250px, 95%); object-fit: contain; filter: none; }
body[data-page="partners"] .sponsor--logo > span { font: 500 12px/1.5 var(--font-body); text-transform: none; letter-spacing: .015em; color: #31483e; }
body[data-page="partners"] .partner-socials { width: 100%; border-top: 1px solid #eee8dd; padding-top: 6px; gap: 2px 18px; }
body[data-page="partners"] .partner-socials a { color: #796345; font-size: 10px; font-weight: 400; text-decoration: none; }
body[data-page="partners"] .partner-socials a:hover { text-decoration: underline; }
body[data-page="partners"] .partner-socials svg { width: 14px; height: 14px; }
body[data-page="partners"] #media-partners { background: #ebe3d5; padding: 88px 0 96px; border-top: 1px solid #bba88930; }
body[data-page="partners"] .partners-page__media .sponsor { min-height: 224px; }
body[data-page="partners"] .content-creators { background: #193c32; border: 0; color: #f7f3ea; padding: 88px 0 90px; }
body[data-page="partners"] .content-creators .kicker { color: #dfc399; font-size: 10px; }
body[data-page="partners"] .content-creators .h2 { color: #f7f3ea; font: 500 clamp(40px, 4vw, 56px)/1.05 var(--font-serif); }
body[data-page="partners"] .content-creators .h2 em { color: #dfc399; }
body[data-page="partners"] .content-creators__lede { color: #d3dacf; }
body[data-page="partners"] .creator__link { color: #f7f3ea; }
body[data-page="partners"] .creator__platform { color: #dfc399; }
body[data-page="partners"] .creator__link:hover .creator__handle { color: #dfc399; }
body[data-page="partners"] .creator__link:focus-visible { outline-color: #dfc399; }
body[data-page="partners"] .creator__portrait { background: #193c32; box-shadow: none; }
body[data-page="partners"] .creator__instagram { background: #c4a16b; color: #193c32; border-color: #193c32; }
.allies-closing { background: #f5f0e6; padding: 70px 0 80px; }
body[data-page="partners"] .allies-closing .press-block { border: 0; background: transparent; padding: 0; margin: 0 auto; max-width: 780px; text-align: center; }
.allies-closing .press-block h3 { font: 500 clamp(32px, 3.5vw, 48px)/1.15 var(--font-serif); color: #193c32; }
.allies-closing .press-block .kicker { font-size: 10px; color: #865d2d; }
.allies-closing .press-block p { font-size: 14px; color: #6b6256; }
.allies-closing .press-block .text-link { display: inline-flex; align-items: center; min-height: 44px; margin: 10px 12px 0; font-size: 12px; color: #193c32; }
.rally-plate { background: #f0e8d9; border-bottom: 1px solid #c7975333; padding: 62px 0; }
.rally-plate__inner { display: grid; grid-template-columns: 1fr 1.25fr; gap: 70px; align-items: center; }
.rally-plate__copy .kicker { color: #865d2d; font-size: 10px; }
.rally-plate h2 { color: #193c32; font: 500 clamp(36px, 3.8vw, 56px)/1.07 var(--font-serif); margin: 18px 0; }
.rally-plate h2 em { color: #98713e; }
.rally-plate p { font-size: 14px; color: #655e52; margin: 0 0 16px; }
.rally-plate .text-link { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; color: #193c32; font-size: 12px; }
.rally-plate__image { display: block; }
.rally-plate__image img { display: block; width: 100%; height: auto; filter: drop-shadow(0 14px 12px #4a352526); }
.partner-logo--teltonika { width: 168px; }
.partner-logo--teltonika img { max-width: 148px; max-height: 34px; }
/* Home partner strip: room for a third logo, and KKuny's burgundy tile kept at Medousa's visual weight. */
.rally-partners .partner-row { max-width: 1000px; }
.rally-partners .partner-logo--kkuny img { max-height: 66px; border-radius: 8px; }
@media (max-width: 1000px) {
  .allies-hero { padding: 145px 0 64px; }
  .allies-hero__inner { gap: 34px; }
  .allies-hero__art { padding: 20px; }
  .allies-hero__art > img { margin: 38px 0 28px; }
  .sponsor-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sponsor-story--featured { grid-template-columns: minmax(0, 1fr) minmax(280px, .95fr); gap: 22px 26px; padding: 30px 30px 32px; }
  .sponsor-story__stage { margin-right: -44px; }
  .sponsor-story__fleet dd { font-size: 21px; }
  .sponsor-story--kkuny {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 20px 30px;
  }
  .sponsor-story--kkuny .sponsor-story__top { grid-column: 1 / -1; }
  .sponsor-story--kkuny .sponsor-story__logo { min-height: 0; }
  .scent-story { grid-template-columns: minmax(0, 1.1fr) minmax(240px, .9fr); gap: 30px 34px; padding: 40px 36px; }
  .sponsor-facts__list strong { font-size: 26px; }
  .sponsor-close { grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); gap: 18px 36px; padding: 40px 36px; }
  .rally-plate__inner { gap: 35px; }
}
@media (max-width: 760px) {
  .allies-hero { padding: 124px 0 44px; }
  .allies-hero__inner { grid-template-columns: 1fr; gap: 38px; }
  .allies-hero h1 { font-size: clamp(48px, 10vw, 68px); }
  .allies-hero__copy p { max-width: 540px; font-size: 14px; }
  .allies-hero__art { max-width: 580px; width: 100%; }
  .allies-hero__art > img { margin: 28px 0; }
  .allies-index a { padding: 19px 12px; gap: 8px; font-size: 10px; line-height: 1.5; }
  .allies-index a > span:first-child { font-size: 16px; }
  .allies-index a > span:last-child { display: none; }
  body[data-page="partners"] #supporting-partners,
  body[data-page="partners"] #media-partners,
  body[data-page="partners"] .content-creators { padding: 60px 0; }
  body[data-page="partners"] .section__head { margin-bottom: 30px; }
  body[data-page="partners"] .section__lede { font-size: 14px; }
  body[data-page="sponsors"] .sponsor-stories__head { margin: 0 auto 30px; }
  .sponsor-stories { grid-template-columns: 1fr; gap: 16px; }
  .sponsor-story { padding: 24px 22px 26px; border-radius: 12px; }
  .sponsor-story--featured {
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0;
    padding: 24px 22px 0;
    background:
      linear-gradient(180deg, rgba(26, 17, 11, .42), rgba(26, 17, 11, .5) 40%, rgba(26, 17, 11, .9) 100%),
      url('assets/mhamid-el-ghizlane-sahara-rally.jpg') 55% 100% / auto 150% no-repeat,
      #1b130d;
  }
  .sponsor-story--featured .sponsor-story__top { margin-bottom: 14px; }
  .sponsor-story--featured .sponsor-story__body {
    margin: 0 -22px;
    padding: 26px 22px 0;
    background: linear-gradient(180deg, rgba(26, 17, 11, 0), rgba(26, 17, 11, .88) 72px, rgba(26, 17, 11, .92));
  }
  .sponsor-story__fleet {
    margin: 0 -22px;
    padding: 20px 22px 26px;
    background: rgba(26, 17, 11, .92);
    border-top-color: rgba(223, 195, 153, .28);
  }
  .sponsor-story--featured .sponsor-story__top,
  .sponsor-story--featured .sponsor-story__body,
  .sponsor-story__stage,
  .sponsor-story__fleet { grid-column: auto; grid-row: auto; }
  .sponsor-story--featured .sponsor-story__top { order: 0; }
  .sponsor-story__stage { order: 1; width: min(100%, 520px); margin: 0 auto -10px; }
  .sponsor-story--featured .sponsor-story__body { order: 2; }
  .sponsor-story__fleet { order: 3; }
  .sponsor-story__mark { width: 60px; height: 60px; }
  .sponsor-story__mark img { width: 50px; height: 50px; }
  .sponsor-story__brand { gap: 14px; }
  .sponsor-story__body h3 { font-size: 38px; }
  .sponsor-story--featured .sponsor-story__body h3 { font-size: 40px; }
  .sponsor-story__fleet { grid-template-columns: 1fr; gap: 12px; }
  .sponsor-story__fleet > div { grid-template-columns: 1fr auto; align-items: baseline; gap: 4px 14px; }
  .sponsor-story__fleet dd { font-size: 21px; text-align: right; }
  .sponsor-story--kkuny { grid-column: auto; display: flex; }
  .sponsor-story--kkuny .sponsor-story__logo { min-height: 190px; }
  .scent-story { grid-template-columns: 1fr; gap: 26px; margin-top: 16px; padding: 24px 22px 28px; }
  .scent-story::before { width: 380px; height: 380px; left: -190px; bottom: -220px; }
  .scent-story__visual { order: -1; aspect-ratio: 4 / 3; }
  .scent-story__copy { max-width: none; }
  .scent-story__title { font-size: clamp(32px, 8vw, 40px); }
  .scent-story__actions { gap: 8px 24px; }
  .scent-story__actions .btn { width: 100%; }
  .sponsor-facts { padding: 18px 0; }
  .sponsor-facts__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sponsor-facts__list li { padding: 16px 8px 14px; gap: 6px; }
  .sponsor-facts__list strong { font-size: 22px; }
  .sponsor-facts__list span { font-size: 9px; letter-spacing: .14em; }
  .sponsor-close { grid-template-columns: 1fr; gap: 18px; margin-top: 36px; padding: 32px 22px; }
  .sponsor-close__actions { padding-top: 8px; }
  .sponsor-close::after { width: 360px; height: 360px; right: -160px; top: -220px; }
  .sponsor-close__actions .btn { max-width: none; }
  .sponsor-close__note { max-width: none; }
  body[data-page="partners"] .sponsors__grid { gap: 16px; }
  .allies-closing { padding: 55px 0; }
  .rally-plate { padding: 44px 0; }
  .rally-plate__inner { grid-template-columns: 1fr; gap: 28px; }
  .rally-plate__image { max-width: 580px; }
}
@media (prefers-reduced-motion: reduce) {
  .allies-hero *, .allies-index *, .sponsor-story, .sponsor-story *, .sponsor-hero__link *, .rally-plate *, .scent-story * { transition: none; }
  .sponsor-story:hover, .sponsor-story:hover .sponsor-story__logo img, .sponsor-story--featured:hover .sponsor-story__stage img, .sponsor-hero__link:hover span, .scent-story:hover .scent-story__visual img, .scent-story__link:hover span { transform: none; }
  .scent-story__visual::after { animation: none; }
}
