/* ==========================================================================
   Avis Galaxy Trading: site layer on top of scrollcraft.css
   Red and white, taken from the logo. Two grounds: paper white and crimson,
   with a warm red-black for film and footer.
   ========================================================================== */

:root {
  --red:        #C70A1C;   /* logo crimson, 5.9:1 on white */
  --red-deep:   #8E0716;   /* crimson ground */
  --red-dark:   #5A0410;
  --paper:      #FFFFFF;
  --paper-2:    #F6F2F1;   /* tinted, never flat grey */
  --night:      #150709;   /* warm red-black, never #000 */
  --night-2:    #22100F;

  --sc-canvas:     var(--paper);
  --sc-surface:    var(--paper-2);
  --sc-ink:        #1C0C0F;
  --sc-ink-soft:   #5F4B4F;
  --sc-accent:     var(--red);
  --sc-accent-ink: #FFFFFF;
  --sc-font-display: "Montserrat", system-ui, sans-serif;
  --sc-font-text:    "Geist", system-ui, sans-serif;
  --sc-font-mono:    "Geist", system-ui, sans-serif;
  --sc-shadow-color: 350 60% 8%;
  --sc-r-sm: 2px; --sc-r-md: 4px; --sc-r-lg: 6px;

  --bar-h: 76px;
}

/* ---- grounds. Restate `color` wherever the ink token changes. ---------- */
.g-paper  { --sc-canvas: var(--paper);   background: var(--paper); }
.g-tint   { --sc-canvas: var(--paper-2); background: var(--paper-2); }
.g-red, .g-night, .g-film {
  --sc-ink: #FFFFFF; --sc-ink-soft: #F0D9DB; --sc-accent: #FFFFFF; --sc-accent-ink: var(--red-deep);
  --sc-hairline: rgba(255,255,255,.18); --sc-hairline-strong: rgba(255,255,255,.34);
  color: var(--sc-ink);
}
.g-red   { --sc-canvas: var(--red-deep); background: var(--red-deep); }
.g-night { --sc-canvas: var(--night); background: var(--night); --sc-ink-soft: #CDB9BB; --sc-accent: #FF4D5E; --sc-accent-ink:#fff; }
.g-film  { --sc-canvas: var(--night); --sc-ink-soft: #E4D6D7; }

body { background: var(--paper); }
html { scroll-padding-top: calc(var(--bar-h) + 16px); }

/* ---- type -------------------------------------------------------------- */
.sc-display { font-weight: 300; letter-spacing: -0.03em; line-height: 1.02; }
.sc-display b, .sc-display strong { font-weight: 600; }
.g-red .sc-display, .g-night .sc-display, .g-film .sc-display { font-weight: 300; letter-spacing: -0.022em; }
.sc-body { font-size: var(--sc-t-base); }
.g-red .sc-body, .g-night .sc-body, .g-film .sc-body { line-height: 1.68; letter-spacing: 0.002em; }
.label {
  font-family: var(--sc-font-display); font-weight: 600;
  font-size: var(--sc-t-xs); letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--sc-accent); margin: 0;
}
.h3 { font-family: var(--sc-font-display); font-weight: 500; font-size: var(--sc-t-xl); letter-spacing: -0.015em; line-height: 1.12; margin: 0; text-wrap: balance; }
.h4 { font-family: var(--sc-font-display); font-weight: 600; font-size: var(--sc-t-lg); letter-spacing: -0.01em; line-height: 1.2; margin: 0; }
.lead { font-size: var(--sc-t-lg); line-height: 1.5; max-width: 52ch; margin: 0; text-wrap: pretty; color: var(--sc-ink); }
.small { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.nums { font-variant-numeric: tabular-nums; }

/* ---- buttons: one radius, one height ----------------------------------- */
.btn {
  --b-bg: var(--red); --b-ink: #fff; --b-line: var(--red);
  display: inline-flex; align-items: center; gap: .6em;
  min-height: 48px; padding: 0 1.35rem;
  font-family: var(--sc-font-display); font-weight: 600; font-size: .8rem;
  letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  color: var(--b-ink); background: var(--b-bg); border: 1px solid var(--b-line);
  border-radius: var(--sc-r-sm); text-decoration: none; cursor: pointer;
  transition: background-color 160ms var(--sc-ease-out), color 160ms var(--sc-ease-out),
              border-color 160ms var(--sc-ease-out), transform 120ms var(--sc-ease-out);
}
.btn svg { width: 1.05em; height: 1.05em; flex: none; }
.btn:active { transform: translateY(1px) scale(.98); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { --b-bg: #A50816; --b-line: #A50816; }
  .btn--ghost:hover { --b-bg: var(--sc-ink); --b-ink: var(--sc-canvas); --b-line: var(--sc-ink); }
  .btn--light:hover { --b-bg: #F3E1E3; --b-line: #F3E1E3; }
}
.btn--ghost { --b-bg: transparent; --b-ink: var(--sc-ink); --b-line: var(--sc-hairline-strong); }
.btn--light { --b-bg: #fff; --b-ink: var(--red-deep); --b-line: #fff; }
.g-red .btn--ghost:hover, .g-night .btn--ghost:hover, .g-film .btn--ghost:hover { --b-bg:#fff; --b-ink: var(--red-deep); --b-line:#fff; }
.g-red .btn:not(.btn--ghost):not(.btn--light), .g-night .btn:not(.btn--ghost):not(.btn--light) { --b-bg:#fff; --b-ink: var(--red-deep); --b-line:#fff; }
.btn-row { display: flex; flex-wrap: wrap; gap: var(--sc-3); }

.link {
  display: inline-flex; align-items: center; gap: .55em;
  font-family: var(--sc-font-display); font-weight: 600; font-size: .78rem;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--sc-accent);
}
.link svg { width: 1.1em; height: 1.1em; transition: transform 180ms var(--sc-ease-out); }
@media (hover: hover) and (pointer: fine) { .link:hover svg { transform: translateX(4px); } }

/* ---- skip link --------------------------------------------------------- */
.skip { position: fixed; left: 12px; top: -60px; z-index: 100; background: var(--red); color: #fff; padding: 10px 14px; border-radius: var(--sc-r-sm); }
.skip:focus { top: 12px; }

/* ==========================================================================
   Header
   ========================================================================== */
.bar {
  position: fixed; inset: 0 0 auto 0; z-index: 70; height: var(--bar-h);
  color: #fff;
  transition: background-color 240ms var(--sc-ease-out), color 240ms var(--sc-ease-out), box-shadow 240ms var(--sc-ease-out), transform 320ms var(--sc-ease-out);
}
.bar::before { /* a soft top shade so white nav reads over any photograph */
  content: ""; position: absolute; inset: 0 0 -40px 0; pointer-events: none;
  background: linear-gradient(rgba(21,7,9,.55), rgba(21,7,9,0));
  transition: opacity 240ms var(--sc-ease-out);
}
.bar.is-solid { background: rgba(255,255,255,.97); color: var(--sc-ink); box-shadow: 0 1px 0 rgba(28,12,15,.08), 0 8px 24px -12px rgba(60,10,16,.18); }
.bar.is-solid::before { opacity: 0; }
.bar.is-hidden { transform: translateY(-100%); }
.bar__in { position: relative; height: 100%; display: flex; align-items: center; gap: var(--sc-5); max-width: 96rem; margin: 0 auto; padding-inline: clamp(1rem, 3vw, 2.5rem); }

.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; color: inherit; flex: none; }
.brand__marks { position: relative; width: 50px; height: 37px; flex: none; }
.brand__marks img { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity 240ms var(--sc-ease-out); }
.brand__mark--red { opacity: 0; }
.bar.is-solid .brand__mark--red, .bar.is-open .brand__mark--red { opacity: 1; }
.bar.is-solid .brand__mark--white, .bar.is-open .brand__mark--white { opacity: 0; }
.brand__word { display: grid; line-height: 1; font-family: var(--sc-font-display); text-transform: uppercase; }
.brand__word b { font-weight: 700; font-size: 1.02rem; letter-spacing: .12em; }
.brand__word span { font-weight: 500; font-size: .6rem; letter-spacing: .44em; margin-top: .38rem; opacity: .85; }
.bar.is-solid .brand__word b { color: var(--red); }

.nav { margin-left: auto; }
.nav > ul { display: flex; align-items: center; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.nav > ul > li { position: relative; }
.nav a, .nav__top {
  display: inline-flex; align-items: center; gap: .3rem; height: 44px; padding: 0 .7rem;
  font-family: var(--sc-font-display); font-weight: 500; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;
  color: inherit; text-decoration: none; border-radius: var(--sc-r-sm); background: none; border: 0; cursor: pointer;
}
.nav > ul > li > a::after, .nav__top::after {
  content: ""; position: absolute; left: .7rem; right: .7rem; bottom: 6px; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: left; transition: transform 200ms var(--sc-ease-out);
}
.nav > ul > li > a, .nav__top { position: relative; }
.nav a[aria-current="page"]::after, .nav__top.is-current::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) { .nav > ul > li > a:hover::after, .nav__top:hover::after { transform: scaleX(1); } }
.nav__top svg { width: 10px; height: 10px; transition: transform 200ms var(--sc-ease-out); }

.sub {
  position: absolute; top: calc(100% + 10px); left: -.4rem; min-width: 19rem;
  list-style: none; margin: 0; padding: .5rem;
  background: #fff; color: var(--sc-ink); border-radius: var(--sc-r-md);
  box-shadow: var(--sc-e3); border-top: 2px solid var(--red);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity 180ms var(--sc-ease-out), transform 180ms var(--sc-ease-out), visibility 0s linear 180ms;
}
.sub::before { content: ""; position: absolute; inset: -12px 0 auto 0; height: 12px; }
.has-sub:hover .sub, .has-sub:focus-within .sub, .has-sub.is-open .sub {
  opacity: 1; visibility: visible; transform: none; transition-delay: 0s;
}
.has-sub:hover .nav__top svg, .has-sub.is-open .nav__top svg { transform: rotate(180deg); }
.sub a { display: grid; gap: .15rem; height: auto; padding: .7rem .85rem; letter-spacing: .1em; }
.sub a small { font-family: var(--sc-font-text); text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .82rem; color: var(--sc-ink-soft); }
@media (hover: hover) and (pointer: fine) { .sub a:hover { background: var(--paper-2); color: var(--red); } }
.sub a[aria-current="page"] { color: var(--red); }

.bar__cta { margin-left: var(--sc-3); min-height: 42px; }
.bar:not(.is-solid) .bar__cta { --b-bg: #fff; --b-ink: var(--red-deep); --b-line: #fff; }

.burger { display: none; margin-left: auto; width: 46px; height: 46px; border: 0; background: none; color: inherit; cursor: pointer; border-radius: var(--sc-r-sm); }
.burger span { display: block; width: 24px; height: 1.5px; margin: 5px auto; background: currentColor; transition: transform 220ms var(--sc-ease-out), opacity 160ms; }
.bar.is-open .burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.bar.is-open .burger span:nth-child(2) { opacity: 0; }
.bar.is-open .burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 1180px) {
  .nav a, .nav__top { padding: 0 .5rem; font-size: .7rem; letter-spacing: .1em; }
}
@media (max-width: 1060px) {
  :root { --bar-h: 68px; }
  .burger { display: block; }
  .bar__cta { display: none; }
  .nav {
    position: fixed; inset: var(--bar-h) 0 0 0; margin: 0; background: #fff; color: var(--sc-ink);
    overflow-y: auto; padding: var(--sc-5) clamp(1rem, 5vw, 2rem) var(--sc-8);
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity 220ms var(--sc-ease-out), transform 220ms var(--sc-ease-out), visibility 0s linear 220ms;
  }
  .bar.is-open { background: #fff; color: var(--sc-ink); }
  .bar.is-open::before { opacity: 0; }
  .bar.is-open .nav { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
  .bar.is-open .brand__word b { color: var(--red); }
  .nav > ul { display: block; }
  .nav > ul > li { border-bottom: 1px solid rgba(28,12,15,.08); }
  .nav a, .nav__top { height: 56px; font-size: .9rem; width: 100%; padding: 0; }
  .nav > ul > li > a::after, .nav__top::after { display: none; }
  .nav__top svg { margin-left: auto; width: 12px; height: 12px; }
  .sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 .6rem; min-width: 0; display: none; }
  .has-sub.is-open .sub { display: block; }
  .has-sub:hover .sub { display: none; }
  .has-sub.is-open:hover .sub { display: block; }
  .sub a { padding: .6rem 0 .6rem 1rem; height: auto; }
  .nav__cta { display: flex !important; margin-top: var(--sc-6); }
  .nav__cta .btn { flex: 1; justify-content: center; }
}
.nav__cta { display: none !important; gap: var(--sc-3); flex-wrap: wrap; }
body.nav-locked { overflow: hidden; }

/* ==========================================================================
   Home: act 1, the film
   ========================================================================== */
.hero-copy { max-width: min(50rem, 80vw); }
.hero-copy .sc-display { font-size: clamp(3rem, 1.4rem + 6.4vw, 7.4rem); letter-spacing: -0.035em; line-height: .98; }
.hero-copy .sub-line { margin: var(--sc-4) 0 0; font-family: var(--sc-font-display); font-weight: 400; font-size: var(--sc-t-lg); letter-spacing: .01em; color: var(--sc-ink); }
.hero-copy .btn-row { margin-top: var(--sc-6); }
.hero-reg { position: absolute; z-index: 20; right: var(--sc-gutter); bottom: clamp(3rem, 12vh, 9rem); font-family: var(--sc-font-display); font-weight: 500; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.82); text-align: right; }

.hero-intro { left: var(--sc-gutter); right: auto; bottom: auto; top: 50%; translate: 0 -46%; max-width: 32rem; }
.hero-intro p { margin: 0; }
.hero-intro .spec { margin-top: var(--sc-5); display: grid; gap: var(--sc-4); border-top: 1px solid var(--sc-hairline-strong); padding-top: var(--sc-5); }
.hero-intro .spec dt { font-family: var(--sc-font-display); font-weight: 600; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.hero-intro .spec dd { margin: .3rem 0 0; font-family: var(--sc-font-display); font-weight: 300; font-size: var(--sc-t-lg); letter-spacing: -.01em; }
.hero-intro .spec dd i { font-style: normal; color: #FF8A95; padding: 0 .35em; }
.scrim-right {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(21,7,9,.88) 0%, rgba(21,7,9,.66) 32%, rgba(21,7,9,0) 60%);
  opacity: var(--scrim-o, 0);
}

/* ==========================================================================
   Home: act 2, the assembly
   ========================================================================== */
.assemble { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--sc-8); height: 100%; padding: calc(var(--bar-h) + 1rem) var(--sc-gutter) 2rem; max-width: 96rem; margin: 0 auto; }
.assemble__text { display: grid; gap: var(--sc-5); max-width: 36rem; }
.assemble__text .sc-display { font-size: var(--sc-t-3xl); }
.parts-wrap { position: relative; }
.parts { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: part; }
.parts li {
  --k: clamp(0, calc((var(--sc-p, 0) - 0.04 - var(--i) * 0.035) / 0.42), 1);
  position: relative; display: flex; align-items: baseline; gap: 1.2rem;
  padding: .95rem 0; border-bottom: 1px solid rgba(28,12,15, calc(var(--k) * .14));
  font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(1.4rem, .9rem + 1.6vw, 2.5rem); letter-spacing: -.02em; line-height: 1.1;
  transform: translate3d(calc(var(--dx) * (1 - var(--k))), calc(var(--dy) * (1 - var(--k))), 0) rotate(calc(var(--r) * (1 - var(--k))));
  color: color-mix(in oklab, var(--sc-ink) calc(45% + var(--k) * 55%), transparent);
  will-change: transform;
}
.parts li::before {
  counter-increment: part; content: counter(part, decimal-leading-zero);
  font-family: var(--sc-font-text); font-weight: 500; font-size: .75rem; letter-spacing: .1em; color: var(--red);
  opacity: var(--k); min-width: 1.6rem;
}
.parts__join {
  position: absolute; left: -1.4rem; top: .9rem; bottom: .9rem; width: 2px; background: var(--red);
  transform-origin: top; transform: scaleY(clamp(0, calc((var(--sc-p, 0) - .52) / .2), 1));
}
.assemble__close { display: grid; gap: var(--sc-4); margin-top: var(--sc-3); }

/* ==========================================================================
   Home: act 3, the rail
   ========================================================================== */
.rail-stage { display: flex; flex-direction: column; justify-content: center; padding-top: var(--bar-h); }
.rail { gap: clamp(1rem, 2.4vw, 2.25rem); padding: 0 var(--sc-gutter); align-items: stretch; }
.rail > * { flex: none; }
.rail__lead { width: clamp(18rem, 30vw, 30rem); display: flex; flex-direction: column; justify-content: center; gap: var(--sc-5); padding-right: var(--sc-5); }
.rail__lead .sc-display { font-size: var(--sc-t-3xl); }
.line-card {
  --k: 1;
  width: clamp(17rem, 24vw, 22rem); display: flex; flex-direction: column; gap: var(--sc-3);
  opacity: calc(.55 + .45 * var(--k)); transform: translate3d(0, calc((1 - var(--k)) * 26px), 0);
}
.line-card__img { position: relative; aspect-ratio: 4 / 3.4; overflow: hidden; border-radius: var(--sc-r-md); background: var(--night); box-shadow: var(--sc-e2); }
.line-card__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 600ms var(--sc-ease-out); }
@media (hover: hover) and (pointer: fine) { .line-card:hover .line-card__img img { transform: scale(1.09); } }
.line-card__tag { position: absolute; left: 1rem; top: 1rem; font-family: var(--sc-font-display); font-weight: 600; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: #fff; }
.line-card__fig { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; color: #fff; font-family: var(--sc-font-display); }
.line-card__fig small { display: block; font-size: .66rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .9; }
.line-card__fig strong { display: block; font-weight: 300; font-size: 2rem; letter-spacing: -.02em; line-height: 1.1; }
.line-card__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,7,9,.45) 0%, rgba(21,7,9,0) 26%, rgba(21,7,9,0) 58%, rgba(21,7,9,.78) 100%); }
.line-card__img > :not(img) { z-index: 1; }
.line-card h3 { margin: 0; }
.line-card p { margin: 0; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.rail__divide { width: clamp(16rem, 22vw, 20rem); display: flex; flex-direction: column; justify-content: center; gap: var(--sc-4); padding: 0 var(--sc-4); border-left: 2px solid var(--red); }
.rail__divide .h3 { font-weight: 300; }
.rail__end { width: clamp(18rem, 26vw, 24rem); display: flex; flex-direction: column; justify-content: center; gap: var(--sc-5); padding-left: var(--sc-5); }
@media (prefers-reduced-motion: reduce) { .line-card { --k: 1 !important; } }

/* ==========================================================================
   Home: act 4, quiet
   ========================================================================== */
.why { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sc-8); align-items: start; }
.why__head { position: sticky; top: calc(var(--bar-h) + 2rem); display: grid; gap: var(--sc-5); }
.why__head .sc-display { font-size: var(--sc-t-3xl); }
.why__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--sc-7); }
.why__list li { padding: var(--sc-6) 0; border-top: 1px solid var(--sc-hairline-strong); display: grid; gap: var(--sc-3); align-content: start; }
.why__list .h4 { font-weight: 500; }
.why__list p { margin: 0; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.why__steps { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin: .4rem 0 0; padding: 0; list-style: none; font-size: var(--sc-t-sm); }
.why__steps li { padding: 0; border: 0; display: inline; color: var(--sc-ink); }
.why__steps li + li::before { content: "\2192"; color: var(--red); margin-right: .5rem; }

/* ==========================================================================
   Home: act 5, the globe (peak)
   ========================================================================== */
.globe-stage { background:
  radial-gradient(70% 90% at 72% 50%, #B00B1E 0%, var(--red-deep) 48%, #6E0512 100%); }
.globe-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.globe-copy { position: absolute; z-index: 20; left: var(--sc-gutter); top: 50%; translate: 0 -50%; width: min(34rem, 42vw); }
.globe-copy > div { position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 100%; display: grid; gap: var(--sc-5); }
.globe-copy .sc-display { font-size: var(--sc-t-3xl); }
.awsp { font-family: var(--sc-font-display); font-weight: 700; font-size: clamp(5rem, 2rem + 11vw, 13rem); letter-spacing: -.05em; line-height: .86; margin: 0; }
.awsp-sub { font-family: var(--sc-font-display); font-weight: 300; font-size: var(--sc-t-2xl); letter-spacing: -.02em; line-height: 1.05; margin: 0; }
.globe-read {
  position: absolute; z-index: 20; right: var(--sc-gutter); bottom: clamp(1.5rem, 6vh, 3.5rem);
  display: grid; gap: .35rem; text-align: right; font-family: var(--sc-font-display); color: #fff;
}
.globe-read small { font-size: .66rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.globe-read strong { font-weight: 300; font-size: var(--sc-t-xl); letter-spacing: -.01em; min-height: 1.2em; }
.globe-read em { font-style: normal; font-size: .72rem; opacity: .75; font-family: var(--sc-font-text); }

/* ==========================================================================
   Process line (home act 6, gold / DLC / SBLC pages)
   ========================================================================== */
.process { position: relative; padding: 0 0 0 clamp(3.5rem, 7vw, 6rem); }
.process__list { list-style: none; margin: 0; padding: 0; display: grid; }
.process__rail { position: absolute; left: clamp(1.1rem, 2.3vw, 2rem); top: .6rem; bottom: .6rem; width: 1px; background: var(--sc-hairline-strong); }
.process__rail::after {
  content: ""; position: absolute; inset: 0; background: var(--red); width: 2px; left: -.5px;
  transform-origin: top; transform: scaleY(var(--draw, 0));
}
.process__list > li { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sc-4) var(--sc-7); padding: var(--sc-6) 0; border-top: 1px solid var(--sc-hairline); }
.process__list > li:first-of-type { border-top: 0; }
.process__list > li::before {
  content: attr(data-n); position: absolute; left: calc(-1 * clamp(3.5rem, 7vw, 6rem) + clamp(1.1rem, 2.3vw, 2rem)); top: calc(var(--sc-6) + .15rem);
  translate: -50% 0; width: 2.3rem; height: 2.3rem; display: grid; place-items: center;
  font-family: var(--sc-font-display); font-weight: 600; font-size: .72rem; letter-spacing: .04em;
  color: var(--red); background: var(--sc-canvas); border: 1px solid var(--red); border-radius: 50%;
  transition: background-color 260ms var(--sc-ease-out), color 260ms var(--sc-ease-out);
}
.process__list > li.is-lit::before { background: var(--red); color: #fff; }
.process .h3 { font-size: var(--sc-t-lg); font-weight: 500; }
.process p { margin: 0; color: var(--sc-ink-soft); }
.process .tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: var(--sc-3) 0 0; padding: 0; list-style: none; }
.process .tags li { font-size: .8rem; padding: .3rem .6rem; border: 1px solid var(--sc-hairline-strong); border-radius: var(--sc-r-sm); color: var(--sc-ink); }
.process .tags + p { margin-top: var(--sc-3); }

/* ==========================================================================
   Home: act 7, the close
   ========================================================================== */
.close { height: 100%; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--bar-h) + 1rem) var(--sc-gutter) 2rem; max-width: 96rem; margin: 0 auto; gap: var(--sc-7); }
.close__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--sc-7); align-items: end; }
.close__head .sc-display { font-size: clamp(2.4rem, 1.2rem + 3.8vw, 5rem); }
.close__head p { margin: 0; color: var(--sc-ink-soft); }
.doors { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--sc-hairline); border: 1px solid var(--sc-hairline); border-radius: var(--sc-r-md); overflow: hidden; }
.door { position: relative; background: var(--night); padding: clamp(1.4rem, 3vw, 2.6rem); display: grid; gap: var(--sc-4); align-content: start; overflow: hidden; }
.door .h3 { font-weight: 400; }
.door__fields { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .9rem; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.door__fields li::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: .5rem; background: #FF4D5E; border-radius: 1px; vertical-align: middle; }
.door__min { font-family: var(--sc-font-display); font-weight: 300; font-size: var(--sc-t-lg); margin: 0; }
.door__min b { font-weight: 600; }
.door .btn { justify-self: start; margin-top: var(--sc-2); }
.close__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sc-4); }
.close__foot p { margin: 0; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); max-width: 60ch; }

/* ==========================================================================
   Inner pages
   ========================================================================== */
.phero { position: relative; min-height: min(92svh, 60rem); display: flex; align-items: flex-end; overflow: clip; color: #fff; background: var(--night); }
.phero--short { min-height: min(70svh, 44rem); }
.phero__img { position: absolute; inset: -60px 0; }
.phero__img img { width: 100%; height: 100%; object-fit: cover; animation: phero-in 1600ms var(--sc-ease-out) both; }
@keyframes phero-in { from { transform: scale(1.08); opacity: .4; } to { transform: scale(1); opacity: 1; } }
.phero__shade { position: absolute; inset: 0; background:
  linear-gradient(to top right, rgba(21,7,9,.92) 0%, rgba(21,7,9,.66) 34%, rgba(21,7,9,.18) 62%, rgba(21,7,9,0) 80%),
  linear-gradient(rgba(21,7,9,.45), rgba(21,7,9,0) 22%); }
.phero--red { background: radial-gradient(80% 120% at 85% 0%, #B00B1E 0%, var(--red-deep) 50%, #6E0512 100%); }
.phero--red .phero__shade { display: none; }
.phero__body { position: relative; z-index: 2; width: 100%; max-width: var(--sc-maxw); margin: 0 auto; padding: calc(var(--bar-h) + 3rem) var(--sc-gutter) clamp(3rem, 9vh, 6.5rem); display: grid; gap: var(--sc-5); }
.crumb { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; font-family: var(--sc-font-display); font-weight: 600; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; }
.crumb a { color: rgba(255,255,255,.85); text-decoration: none; }
.crumb a:hover { color: #fff; text-decoration: underline; }
.crumb li + li::before { content: "/"; margin-right: .5rem; opacity: .6; }
.phero h1 { font-size: clamp(2.8rem, 1.2rem + 5.4vw, 6.6rem); max-width: 16ch; letter-spacing: -.035em; line-height: .98; }
.phero .lead { color: rgba(255,255,255,.92); max-width: 46ch; }
.ln { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.ln > span { display: block; animation: ln-up 1100ms var(--sc-ease-out) both; animation-delay: calc(180ms + var(--d, 0) * 110ms); }
@keyframes ln-up { from { transform: translate3d(0, 105%, 0); } to { transform: none; } }
.phero .lead, .phero .btn-row, .phero .crumb { animation: fade-up 900ms var(--sc-ease-out) both; animation-delay: 520ms; }
.phero .crumb { animation-delay: 80ms; }
@keyframes fade-up { from { opacity: 0; transform: translate3d(0, 14px, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .ln > span, .phero__img img, .phero .lead, .phero .btn-row, .phero .crumb { animation: none; }
}

.sect { padding-block: var(--sc-section); }
.sect--tight { padding-block: clamp(3rem, 6vw, 6rem); }
.wrap { width: 100%; max-width: var(--sc-maxw); margin-inline: auto; padding-inline: var(--sc-gutter); }
.split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--sc-5) var(--sc-9); align-items: start; }
.split--even { grid-template-columns: 1fr 1fr; }
.split__head { display: grid; gap: var(--sc-4); align-content: start; }
.split__head .sc-display { font-size: var(--sc-t-2xl); }
.stack > * + * { margin-top: var(--sc-4); }
.stack > p { margin-bottom: 0; }
.sticky { position: sticky; top: calc(var(--bar-h) + 2rem); }

/* hairline lists: facts, not cards */
.facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--sc-7); }
.facts--one { grid-template-columns: 1fr; }
.facts--three { grid-template-columns: repeat(3, 1fr); }
.facts li { display: flex; gap: .9rem; align-items: baseline; padding: .95rem 0; border-top: 1px solid var(--sc-hairline); }
.facts li::before { content: ""; flex: none; width: 6px; height: 6px; background: var(--red); border-radius: 1px; translate: 0 -.1em; }
.g-red .facts li::before, .g-night .facts li::before { background: #fff; }
.facts--num { counter-reset: f; }
.facts--num li::before { counter-increment: f; content: counter(f, decimal-leading-zero); width: auto; height: auto; background: none; color: var(--red); font-family: var(--sc-font-display); font-weight: 600; font-size: .72rem; letter-spacing: .06em; min-width: 1.6rem; translate: 0; }

/* big figure */
.figure { display: grid; gap: var(--sc-3); }
.figure__n { font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(3.6rem, 1.6rem + 7vw, 9rem); letter-spacing: -.045em; line-height: 1; margin: 0; padding: .06em 0; }
.figure__n b { font-weight: 600; }
.figure__n small { font-size: .32em; font-weight: 500; letter-spacing: 0; margin-left: .2em; }

/* spec trio (diesel) */
.specs { display: grid; grid-template-columns: 1.4fr 1fr 1fr; border-top: 2px solid var(--red); }
.specs > div { padding: var(--sc-6) var(--sc-6) var(--sc-6) 0; display: grid; gap: var(--sc-3); align-content: start; }
.specs > div + div { padding-left: var(--sc-6); border-left: 1px solid var(--sc-hairline); }
.specs .figure__n { font-size: clamp(3rem, 1.5rem + 4.6vw, 6.4rem); }

/* word cloud of alignment factors */
.factors { display: flex; flex-wrap: wrap; gap: .1rem 0; margin: 0; padding: 0; list-style: none; font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(1.5rem, 1rem + 1.8vw, 2.8rem); letter-spacing: -.02em; line-height: 1.25; }
.factors li { color: var(--sc-ink); }
.factors li:not(:last-child)::after { content: "/"; color: var(--red); margin: 0 .45em; font-weight: 400; }
.factors li.is-and::before { content: "and "; color: var(--sc-ink-soft); }

/* big stacked link list (commodities, trade finance) */
.biglist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sc-hairline-strong); }
.biglist li { border-bottom: 1px solid var(--sc-hairline-strong); }
.biglist a { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 26rem) auto; align-items: center; gap: var(--sc-6); padding: clamp(1.4rem, 3vw, 2.6rem) 0; text-decoration: none; color: inherit; }
.biglist .name { font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(2.2rem, 1rem + 4.4vw, 5.6rem); letter-spacing: -.04em; line-height: 1; text-transform: uppercase; transition: color 200ms var(--sc-ease-out), transform 300ms var(--sc-ease-out); }
.biglist p { margin: 0; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.biglist .go { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--sc-hairline-strong); display: grid; place-items: center; transition: background-color 200ms var(--sc-ease-out), border-color 200ms, color 200ms; }
.biglist .go svg { width: 20px; height: 20px; }
.biglist .peek { position: absolute; right: 7rem; top: 50%; width: 15rem; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--sc-r-md); pointer-events: none; opacity: 0; transform: translate3d(0, -50%, 0) scale(.94) rotate(-2deg); transition: opacity 240ms var(--sc-ease-out), transform 320ms var(--sc-ease-out); box-shadow: var(--sc-e3); z-index: 2; }
@media (hover: hover) and (pointer: fine) {
  .biglist a:hover .name { color: var(--red); transform: translateX(10px); }
  .biglist a:hover .go { background: var(--red); border-color: var(--red); color: #fff; }
  .biglist a:hover .peek { opacity: 1; transform: translate3d(0, -50%, 0) scale(1) rotate(-2deg); }
}

/* banks */
.banks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--sc-hairline-strong); }
.banks li { padding: var(--sc-6) var(--sc-4) var(--sc-6) 0; font-family: var(--sc-font-display); font-weight: 400; font-size: var(--sc-t-lg); letter-spacing: -.01em; line-height: 1.2; border-bottom: 1px solid var(--sc-hairline-strong); }
.banks li + li { padding-left: var(--sc-4); border-left: 1px solid var(--sc-hairline); }
.banks small { display: block; font-family: var(--sc-font-text); font-size: .8rem; color: var(--sc-ink-soft); margin-top: .35rem; letter-spacing: 0; }
.notice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sc-4); padding: var(--sc-5) var(--sc-6); background: var(--paper-2); border-radius: var(--sc-r-md); border-left: 1px solid var(--red); }
.g-tint .notice { background: #fff; }
.notice svg { width: 22px; height: 22px; color: var(--red); margin-top: .15rem; }
.notice p { margin: 0; }
.notice p + p { margin-top: var(--sc-2); }
.notice strong { font-family: var(--sc-font-display); font-weight: 600; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--red); display: block; margin-bottom: .3rem; }

/* media figure with wipe */
.media { position: relative; overflow: hidden; border-radius: var(--sc-r-md); background: var(--night); }
.media img { width: 100%; height: 100%; object-fit: cover; }
.media--wide { aspect-ratio: 21 / 9; }
.media--tall { aspect-ratio: 4 / 5; }
.media figcaption { position: absolute; left: 1rem; bottom: .9rem; color: #fff; font-size: .78rem; opacity: .9; }

/* AWSP band */
.awsp-band { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sc-5) var(--sc-9); align-items: end; }
.awsp-band .awsp { font-size: clamp(4.6rem, 2rem + 9vw, 11rem); }
.awsp-band p { margin: 0; }

/* directors */
.people { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--sc-hairline-strong); border-top: 1px solid var(--sc-hairline-strong); border-bottom: 1px solid var(--sc-hairline-strong); }
.person { background: var(--sc-canvas); padding: var(--sc-7) var(--sc-6) var(--sc-7) 0; display: grid; gap: var(--sc-2); }
.person + .person { padding-left: var(--sc-6); }
.person .name { font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(3rem, 1.6rem + 4vw, 6rem); letter-spacing: -.04em; line-height: 1; margin: 0; }
.person .role { font-family: var(--sc-font-display); font-weight: 600; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin: 0; }

/* mission / vision */
.mv { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sc-9); }
.mv > div { display: grid; gap: var(--sc-4); align-content: start; }
.mv .sc-display { font-size: var(--sc-t-2xl); }

/* CTA band */
.cta-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sc-6); align-items: end; }
.cta-band .sc-display { font-size: clamp(2.2rem, 1.2rem + 3.2vw, 4.4rem); max-width: 18ch; }
.cta-band p { margin: var(--sc-4) 0 0; max-width: 52ch; color: var(--sc-ink-soft); }
.formula { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .7rem; margin: var(--sc-5) 0 0; padding: 0; list-style: none; font-family: var(--sc-font-display); font-weight: 400; font-size: var(--sc-t-lg); }
.formula li:not(:last-child)::after { content: "+"; margin-left: .7rem; opacity: .7; }

/* quote-ish statement */
.statement { font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(1.7rem, 1.1rem + 2vw, 3.1rem); letter-spacing: -.025em; line-height: 1.16; margin: 0; max-width: 30ch; text-wrap: balance; }
.statement b { font-weight: 600; color: var(--red); }
.g-red .statement b, .g-night .statement b { color: #fff; }
.strike { display: inline-block; position: relative; color: var(--sc-ink-soft); }
.strike::after { content: ""; position: absolute; left: -2%; right: -2%; top: 55%; height: 2px; background: var(--red); transform: rotate(-4deg); }

/* FAQ */
.faq { border-top: 1px solid var(--sc-hairline-strong); }
.faq details { border-bottom: 1px solid var(--sc-hairline-strong); }
.faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sc-5); align-items: center; padding: var(--sc-5) 0; font-family: var(--sc-font-display); font-weight: 400; font-size: var(--sc-t-lg); letter-spacing: -.01em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .pm { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--sc-hairline-strong); position: relative; transition: background-color 200ms, border-color 200ms, transform 260ms var(--sc-ease-out); }
.faq summary .pm::before, .faq summary .pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: currentColor; translate: -50% -50%; }
.faq summary .pm::after { rotate: 90deg; transition: rotate 260ms var(--sc-ease-out); }
.faq details[open] summary .pm { background: var(--red); border-color: var(--red); color: #fff; }
.faq details[open] summary .pm::after { rotate: 0deg; }
@media (hover: hover) and (pointer: fine) { .faq summary:hover { color: var(--red); } }
.faq__a { padding: 0 0 var(--sc-6); max-width: 64ch; color: var(--sc-ink-soft); display: grid; gap: var(--sc-3); }
.faq__a p, .faq__a ul { margin: 0; }
.faq__a strong { color: var(--sc-ink); font-weight: 600; }
.faq__a ul { padding-left: 1.1rem; }
.faq__big { font-family: var(--sc-font-display); font-weight: 300; font-size: var(--sc-t-2xl); color: var(--red); letter-spacing: -.02em; }

/* ==========================================================================
   Contact
   ========================================================================== */
.choose { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; border: 0; }
.choose legend { width: 100%; margin-bottom: var(--sc-4); }
.choose label { position: relative; }
.choose input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.choose span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.05rem; border: 1px solid var(--sc-hairline-strong); border-radius: var(--sc-r-sm); font-family: var(--sc-font-display); font-weight: 500; font-size: .82rem; letter-spacing: .04em; cursor: pointer; transition: background-color 160ms var(--sc-ease-out), color 160ms, border-color 160ms; }
.choose input:checked + span { background: var(--red); color: #fff; border-color: var(--red); }
.choose input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .choose span:hover { border-color: var(--red); } }

.form { display: grid; gap: var(--sc-6); }
.form[hidden] { display: none; }
.form fieldset { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--sc-5) var(--sc-5); }
.form legend { grid-column: 1 / -1; padding: 0; margin-bottom: var(--sc-4); font-family: var(--sc-font-display); font-weight: 600; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--red); }
.field { display: grid; gap: .45rem; align-content: start; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: .86rem; font-weight: 500; color: var(--sc-ink); }
.field label .opt { color: var(--sc-ink-soft); font-weight: 400; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 50px; padding: .8rem .95rem; background: #fff;
  border: 1px solid rgba(28,12,15,.22); border-radius: var(--sc-r-sm);
  transition: border-color 160ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out);
}
.field textarea { min-height: 8.5rem; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: rgba(28,12,15,.4); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(199,10,28,.16); }
.field input[type="file"] { padding: .6rem; min-height: 0; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"], .field select[aria-invalid="true"] { border-color: var(--red); }
.field .err { color: var(--red); font-size: .8rem; min-height: 0; }
.form__foot { display: flex; flex-wrap: wrap; gap: var(--sc-4); align-items: center; justify-content: space-between; border-top: 1px solid var(--sc-hairline); padding-top: var(--sc-5); }
.form__foot p { margin: 0; font-size: .82rem; color: var(--sc-ink-soft); max-width: 46ch; }
.form__status { grid-column: 1 / -1; padding: var(--sc-4) var(--sc-5); border-radius: var(--sc-r-md); font-size: .95rem; }
.form__status[data-kind="ok"] { background: #EEF6EF; color: #1E4D27; border: 1px solid #BFD9C3; }
.form__status[data-kind="err"] { background: #FBECEE; color: #7A0412; border: 1px solid #F0C3C8; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.contact-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--sc-9); align-items: start; }
.gform { display: block; width: 100%; max-width: 100%; border: 0; }
.direct { display: grid; gap: var(--sc-6); position: sticky; top: calc(var(--bar-h) + 2rem); }
.direct__item { display: grid; gap: var(--sc-3); padding-top: var(--sc-5); border-top: 2px solid var(--red); }
.direct__item a:not(.btn) { font-family: var(--sc-font-display); font-weight: 400; font-size: var(--sc-t-lg); color: var(--sc-ink); text-decoration-color: var(--red); }

/* ==========================================================================
   Footer
   ========================================================================== */
.foot { background: var(--night); color: #fff; --sc-ink: #fff; --sc-ink-soft: #CDB9BB; --sc-hairline: rgba(255,255,255,.14); --sc-hairline-strong: rgba(255,255,255,.26); padding: clamp(4rem, 8vw, 7rem) 0 2rem; position: relative; overflow: hidden; }
.foot__top { display: grid; grid-template-columns: minmax(0, 4fr) repeat(4, minmax(0, 2fr)); gap: var(--sc-7) var(--sc-6); }
.foot__brand { display: grid; gap: var(--sc-4); align-content: start; }
.foot__brand img { width: 150px; height: auto; }
.foot__brand p { margin: 0; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.foot__brand .reg { font-family: var(--sc-font-display); font-weight: 500; font-size: .74rem; letter-spacing: .14em; color: #fff; }
.foot h2 { font-family: var(--sc-font-display); font-weight: 600; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 var(--sc-4); color: #FF7A86; }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.foot a { color: #fff; text-decoration: none; font-size: var(--sc-t-sm); }
.foot a:hover { text-decoration: underline; text-decoration-color: #FF4D5E; }
.foot address { font-style: normal; display: grid; gap: .55rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.foot__sign { margin-top: clamp(4rem, 9vw, 8rem); font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(2.4rem, 7.2vw, 9.5rem); letter-spacing: -.05em; line-height: .95; white-space: nowrap; }
.foot__sign b { font-weight: 600; color: #FF4D5E; }
.foot__base { margin-top: var(--sc-7); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sc-4); font-size: .8rem; color: var(--sc-ink-soft); }
.foot__orbit { position: absolute; right: -8rem; top: -6rem; width: 34rem; opacity: .07; pointer-events: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1060px) {
  .foot__top { grid-template-columns: 1fr 1fr 1fr; }
  .foot__brand { grid-column: 1 / -1; }
  .banks { grid-template-columns: repeat(3, 1fr); }
  .banks li:nth-child(4) { border-left: 0; padding-left: 0; }
}
@media (max-width: 860px) {
  .hero-copy .sc-display { font-size: clamp(2.6rem, 11vw, 3.6rem); }
  .hero-copy .sub-line { font-size: var(--sc-t-base); }
  .hero-reg { display: none; }
  .hero-intro { top: auto; bottom: clamp(2rem, 8vh, 4rem); translate: none; left: var(--sc-gutter); right: var(--sc-gutter); max-width: none; }
  .scrim-right { background: linear-gradient(0deg, rgba(21,7,9,.94) 0%, rgba(21,7,9,.74) 40%, rgba(21,7,9,0) 75%); }

  .assemble { grid-template-columns: 1fr; gap: var(--sc-5); align-content: center; padding-top: calc(var(--bar-h) + .5rem); }
  .assemble__text .sc-display { font-size: var(--sc-t-2xl); }
  .assemble__text > .sc-body { display: none; }
  .parts-wrap { padding-left: 1.2rem; }
  .parts li { padding: .5rem 0; font-size: 1.35rem; }
  .parts__join { left: 0; }
  .assemble__close .sc-body { font-size: var(--sc-t-sm); }

  .line-card { width: 76vw; }
  .rail__lead, .rail__end { width: 80vw; }
  .rail__lead .sc-display { font-size: var(--sc-t-2xl); }
  .rail__divide { width: 70vw; }
  .line-card__img { aspect-ratio: 5 / 4; }

  .why { grid-template-columns: 1fr; gap: var(--sc-6); }
  .why__head { position: static; }
  .why__list { grid-template-columns: 1fr; }

  .globe-copy { left: var(--sc-gutter); right: var(--sc-gutter); width: auto; top: auto; bottom: clamp(1.5rem, 6vh, 3rem); translate: none; height: 17rem; }
  .globe-copy > div { top: auto; bottom: 0; translate: none; gap: var(--sc-3); }
  .globe-copy .sc-display { font-size: var(--sc-t-xl); }
  .globe-copy .sc-body { font-size: var(--sc-t-sm); }
  .awsp { font-size: 5.4rem; }
  .awsp-sub { font-size: var(--sc-t-xl); }
  .globe-read { top: calc(var(--bar-h) + .75rem); bottom: auto; right: var(--sc-gutter); }
  .globe-read strong { font-size: var(--sc-t-lg); }

  .process__list > li { grid-template-columns: 1fr; }

  .close { justify-content: flex-start; gap: var(--sc-6); padding-top: calc(var(--bar-h) + 3rem); padding-bottom: 4rem; }
  .close__head { grid-template-columns: 1fr; gap: var(--sc-4); }
  .doors { grid-template-columns: 1fr; }

  .split, .split--even, .mv, .contact-grid, .awsp-band, .cta-band { grid-template-columns: 1fr; gap: var(--sc-6); }
  .sticky, .direct { position: static; }
  .facts, .facts--three { grid-template-columns: 1fr; }
  .specs { grid-template-columns: 1fr; }
  .specs > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--sc-hairline); }
  .banks { grid-template-columns: 1fr 1fr; }
  .banks li:nth-child(n) { border-left: 0; padding-left: 0; }
  .banks li:nth-child(2n) { padding-left: var(--sc-4); border-left: 1px solid var(--sc-hairline); }
  .people { grid-template-columns: 1fr; }
  .person, .person + .person { padding: var(--sc-6) 0; }
  .biglist a { grid-template-columns: minmax(0, 1fr) auto; }
  .biglist a p { grid-column: 1 / -1; grid-row: 2; }
  .biglist .peek { display: none; }
  .form fieldset { grid-template-columns: 1fr; }
  .foot__top { grid-template-columns: 1fr 1fr; }
  .phero h1 { font-size: clamp(2.5rem, 10vw, 3.4rem); }
}
@media (max-width: 520px) {
  .foot__top { grid-template-columns: 1fr; }
  .banks { grid-template-columns: 1fr; }
  .banks li:nth-child(2n) { padding-left: 0; border-left: 0; }
  .btn-row .btn { flex: 1 1 auto; justify-content: center; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* plain (non-link) rows in a big list: palm oil products */
.biglist .name-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: .2em .5em; padding: clamp(1rem, 2vw, 1.5rem) 0; font-family: var(--sc-font-display); font-weight: 300; font-size: clamp(1.5rem, 1rem + 1.8vw, 2.6rem); letter-spacing: -.02em; line-height: 1.1; }
.biglist .name-row small { font-size: .42em; font-weight: 600; letter-spacing: .14em; color: var(--red); }
/* process rows that carry only a title */
.process__list > li:not(:has(p)) { grid-template-columns: 1fr; padding: var(--sc-4) 0; }
.process__list > li:not(:has(p))::before { top: calc(var(--sc-4) - .2rem); }
.figure__n--long { font-size: clamp(2.6rem, 1rem + 4.4vw, 6rem); white-space: nowrap; }
/* a staggered group reveals through its children; the group itself stays put */
[data-sc-in][data-sc-stagger] { opacity: 1; transform: none; }
@media (max-width: 860px) {
  .assemble { align-content: start; gap: var(--sc-4); padding-top: calc(var(--bar-h) + 1.25rem); }
  .assemble__text { gap: var(--sc-3); }
  .assemble__text .sc-display { font-size: clamp(1.7rem, 7.4vw, 2.2rem); }
  .assemble__text .sc-lede { font-size: var(--sc-t-base); }
  .parts li { padding: .38rem 0; font-size: clamp(1.05rem, 4.6vw, 1.3rem); }
  .assemble__close { margin-top: 0; gap: var(--sc-3); }
  .assemble__close .btn { min-height: 44px; }
  .foot__sign { white-space: normal; font-size: clamp(2.6rem, 12vw, 4rem); }
}
@media (max-width: 860px) and (max-height: 700px) {
  .assemble__text .sc-lede { display: none; }
}

@media (max-width: 860px) { .assemble { display: flex; flex-direction: column; align-items: stretch; } .assemble__text { display: contents; } .assemble__text > h2 { order: 1 } .assemble__text > .sc-lede { order: 2 } .parts-wrap { order: 3 } .assemble__close { order: 4 } }
@media (max-width: 860px) {
  .scrim-right { background: linear-gradient(0deg, rgba(21,7,9,.96) 0%, rgba(21,7,9,.9) 52%, rgba(21,7,9,.6) 74%, rgba(21,7,9,0) 96%); }
  .hero-intro .sc-body { display: none; }
  .hero-intro .spec { margin-top: var(--sc-4); padding-top: var(--sc-4); gap: var(--sc-3); }
  .hero-intro .spec dd { font-size: var(--sc-t-base); }
}
