/* ============================================================
   CONNEXXION AGRO ALLIED — "The Lot Manifest"
   Palette built from the company logo: the wordmark green #319B47,
   a lighter tint for dark grounds and a deeper one for ivory, over
   cashew-kernel ivory, soil brown, and a near-black field green.
   ============================================================ */

:root{
  /* ground */
  --soil:      #0C1310;
  --soil-2:    #121B15;
  --soil-3:    #18231B;
  --line:      #26332A;

  /* brand — sampled from the Connexxion Agro-Allied logo (#319B47) */
  --brand:     #319B47;   /* the logo green, exact */
  --brand-lt:  #4FBE68;   /* accents and labels on dark grounds */
  --brand-dk:  #1A5C2D;   /* text and fills on ivory */
  --cocoa:     #2A2018;   /* soil brown, the neutral under the green */

  /* paper */
  --ivory:     #F2EADC;   /* cashew kernel */
  --ivory-2:   #E7DCC7;
  --ivory-3:   #D8CBB2;

  /* text */
  --husk:      #9CA697;   /* muted on dark */
  --husk-2:    #5E5748;   /* muted on light */
  --husk-w:    #948C7C;   /* warm muted on dark */

  --sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --disp: "Fraunces", "Iowan Old Style", Georgia, serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* radii — nothing on this site is a hard-cornered box */
  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-pill: 999px;

  --gut: clamp(20px, 5vw, 76px);
  --maxw: 1440px;
  --pad-y: clamp(72px, 10vw, 150px);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100% }
body{
  margin:0; background:var(--soil); color:var(--ivory);
  font-family:var(--sans); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block }
a{ color:inherit }
::selection{ background:var(--brand-dk); color:var(--ivory) }

:focus-visible{ outline:2px solid var(--brand-lt); outline-offset:3px; border-radius:2px }
.paper :focus-visible{ outline-color:var(--brand-dk) }

.skip{
  position:absolute; left:-9999px; top:0; z-index:200; background:var(--brand-lt); color:var(--soil);
  font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.95rem 1.3rem; text-decoration:none;
}
.skip:focus{ left:0; border-radius:0 0 var(--r-sm) 0 }
main:focus{ outline:none }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth } }

.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut) }
.sec{ padding-block:var(--pad-y) }
.sec--tight{ padding-block:clamp(48px,6vw,84px) }
.paper{ background:var(--ivory); color:var(--cocoa) }
.paper .eyebrow{ color:var(--brand-dk) }
.paper .lede{ color:#4A4235 }
.dark-2{ background:var(--soil-2) }

/* ---------- type ---------- */
h1,h2,h3,h4{ font-family:var(--disp); font-weight:400; margin:0; line-height:1.02; letter-spacing:-.02em }
.d1{ font-size:clamp(2.9rem, 7.4vw, 6.4rem); font-weight:300 }
.d2{ font-size:clamp(2.2rem, 4.6vw, 4rem); font-weight:300 }
.d3{ font-size:clamp(1.5rem, 2.3vw, 2.15rem); font-weight:400; line-height:1.12 }
.d4{ font-family:var(--sans); font-size:1.02rem; font-weight:600; letter-spacing:-.01em; line-height:1.35 }
em.wonk{ font-style:normal; color:var(--brand) }
.paper em.wonk{ color:var(--brand-dk) }

.eyebrow{
  font-family:var(--mono); font-size:.685rem; font-weight:500;
  letter-spacing:.19em; text-transform:uppercase; color:var(--brand-lt);
  margin:0 0 1.4rem; display:flex; align-items:center; gap:.7rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:currentColor; opacity:.7; flex:none }
.eyebrow--plain::before{ display:none }

.lede{ font-size:clamp(1.02rem,1.35vw,1.2rem); line-height:1.66; color:var(--husk); max-width:62ch; margin:0 }
p{ margin:0 0 1.1em }
p:last-child{ margin-bottom:0 }

.mono{ font-family:var(--mono); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase }
.num{ font-family:var(--mono); font-variant-numeric:tabular-nums }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.7rem; padding:.95rem 1.6rem;
  font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.16em;
  text-transform:uppercase; text-decoration:none; border:1px solid var(--line);
  background:transparent; color:var(--ivory); cursor:pointer; border-radius:var(--r-pill);
  transition:background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.btn:hover{ background:var(--ivory); color:var(--soil); border-color:var(--ivory) }
.btn .arw{ transition:transform .35s var(--ease) }
.btn:hover .arw{ transform:translateX(4px) }
.btn--fill{ background:var(--brand-dk); border-color:var(--brand-dk); color:var(--ivory) }
.btn--fill:hover{ background:var(--brand); border-color:var(--brand); color:var(--ivory) }
.paper .btn{ border-color:rgba(43,30,23,.28); color:var(--cocoa) }
.paper .btn:hover{ background:var(--cocoa); color:var(--ivory); border-color:var(--cocoa) }
.paper .btn--fill{ background:var(--brand-dk); border-color:var(--brand-dk); color:var(--ivory) }
.paper .btn--fill:hover{ background:var(--brand); border-color:var(--brand); color:var(--ivory) }

/* ============================================================
   HEADER
   ============================================================ */
.hdr{
  position:sticky; top:0; z-index:80; background:rgba(14,20,16,.86);
  backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line); transition:background .3s var(--ease);
}
.hdr__in{ max-width:var(--maxw); margin-inline:auto; padding:0 var(--gut);
  display:flex; align-items:center; justify-content:space-between; gap:2rem; height:88px }
.brand{ display:flex; align-items:center; text-decoration:none; flex:none }
.brand__logo{ height:46px; width:auto; display:block }
.ftr .brand__logo{ height:58px }

.nav{ display:flex; align-items:center; gap:1.6rem }
.nav a{
  font-family:var(--mono); font-size:.715rem; letter-spacing:.14em; text-transform:uppercase;
  text-decoration:none; color:var(--husk); position:relative; padding-block:.35rem;
  white-space:nowrap; transition:color .3s var(--ease);
}
.nav a:hover{ color:var(--ivory) }
.nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--brand-lt); transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{ transform:scaleX(1); transform-origin:left }
.nav a[aria-current="page"]{ color:var(--ivory) }
.hdr .btn{ padding:.72rem 1.15rem; font-size:.665rem; white-space:nowrap }
.nav__cta{ display:none }

.burger{ display:none; background:none; border:1px solid var(--line); width:46px; height:46px;
  border-radius:var(--r-sm); cursor:pointer; padding:0; align-items:center; justify-content:center;
  flex-direction:column; gap:5px }
.burger i{ display:block; width:17px; height:1.5px; background:var(--ivory); transition:transform .3s var(--ease), opacity .2s }
.burger[aria-expanded="true"] i:nth-child(1){ transform:translateY(6.5px) rotate(45deg) }
.burger[aria-expanded="true"] i:nth-child(2){ opacity:0 }
.burger[aria-expanded="true"] i:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg) }

/* ============================================================
   HERO
   ============================================================ */
.hero{ position:relative; min-height:min(92vh,900px); display:flex; flex-direction:column;
  justify-content:flex-end; overflow:hidden; background:var(--cocoa) }
.hero__bg{ position:absolute; inset:0 }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:56% 40%;
  transform:scale(1.06); animation:drift 22s ease-out forwards }
@keyframes drift{ to{ transform:scale(1) } }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to right, rgba(14,20,16,.94) 0%, rgba(14,20,16,.80) 34%, rgba(14,20,16,.28) 66%, rgba(14,20,16,.55) 100%),
    linear-gradient(to top, rgba(14,20,16,.95) 0%, rgba(14,20,16,.10) 46%);
}
.hero__in{ position:relative; z-index:2; width:100%; max-width:var(--maxw); flex:1;
  display:flex; align-items:flex-end;
  margin-inline:auto; padding:clamp(110px,15vh,180px) var(--gut) 0 }
.hero__grid{ display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(28px,4vw,64px); align-items:end; padding-bottom:clamp(30px,4vw,54px) }
.hero h1{ max-width:16ch; margin-bottom:1.6rem }
.hero .lede{ max-width:48ch; color:#C6CCC0 }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2.2rem }

/* ---------- the manifest rail: the site's structural device ---------- */
.rail{
  position:relative; z-index:3; border-top:1px solid rgba(242,234,220,.16);
  background:rgba(14,20,16,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.rail__in{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut);
  display:grid; grid-template-columns:repeat(5,1fr) }
.rail__cell{ padding:1.15rem 1.35rem 1.25rem; border-left:1px solid rgba(242,234,220,.13) }
.rail__cell:first-child{ border-left:0; padding-left:0 }
.rail__k{ font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--husk); display:block; margin-bottom:.42rem }
.rail__v{ font-family:var(--mono); font-size:.86rem; color:var(--ivory); letter-spacing:.01em;
  font-variant-numeric:tabular-nums }
.rail--paper{ background:var(--ivory-2); border-top:1px solid rgba(43,30,23,.16); backdrop-filter:none }
.rail--paper .rail__cell{ border-left-color:rgba(43,30,23,.16) }
.rail--paper .rail__k{ color:var(--husk-2) }
.rail--paper .rail__v{ color:var(--cocoa) }

/* ============================================================
   SIGNATURE: THE LOT CARD
   ============================================================ */
.lot{
  position:relative; background:var(--ivory); color:var(--cocoa);
  display:flex; flex-direction:column; text-decoration:none; overflow:hidden;
  border-radius:var(--r-md); box-shadow:0 1px 0 rgba(43,30,23,.10);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
a.lot:hover{ transform:translateY(-6px); box-shadow:0 26px 54px -22px rgba(0,0,0,.68) }
/* perforated top edge — the card is torn from a book of lot records */
.lot::before{
  content:""; position:absolute; top:-1px; left:0; right:0; height:7px; z-index:2;
  background:radial-gradient(circle at 5px 0, transparent 0 4.2px, var(--ivory) 4.6px) repeat-x;
  background-size:10px 7px;
}
.lot__img{ position:relative; aspect-ratio:4/3.2; overflow:hidden; background:var(--cocoa) }
.lot__img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease) }
a.lot:hover .lot__img img{ transform:scale(1.06) }
.lot__no{
  position:absolute; top:15px; left:14px; z-index:2; background:var(--soil); color:var(--brand-lt);
  font-family:var(--mono); font-size:.62rem; letter-spacing:.16em; padding:.42rem .78rem;
  border-radius:var(--r-pill);
}
.lot__seal{
  position:absolute; right:12px; bottom:12px; z-index:2; width:66px; height:66px; border-radius:50%;
  border:1.5px solid rgba(242,234,220,.62); color:var(--ivory);
  display:grid; place-items:center; text-align:center; transform:rotate(-11deg);
  background:rgba(26,92,45,.84); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.lot__seal span{ font-family:var(--mono); font-size:.52rem; letter-spacing:.09em; line-height:1.28 }
.lot__seal b{ display:block; font-size:.78rem; font-weight:600; letter-spacing:.04em }
.lot__body{ padding:1.5rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1 }
.lot__name{ font-family:var(--disp); font-size:1.5rem; font-weight:400; line-height:1.06; letter-spacing:-.02em }
.lot__bot{ font-family:var(--mono); font-size:.66rem; font-style:italic; color:var(--husk-2);
  letter-spacing:.02em; margin-top:.4rem }
.lot__spec{ margin:1.25rem 0 0; border-top:1px solid rgba(43,30,23,.16); padding-top:.15rem }
.lot__spec div{ display:flex; justify-content:space-between; gap:1rem; padding:.44rem 0;
  border-bottom:1px dotted rgba(43,30,23,.22); font-family:var(--mono); font-size:.695rem }
.lot__spec div:last-child{ border-bottom:0 }
.lot__spec dt{ color:var(--husk-2); letter-spacing:.11em; text-transform:uppercase; font-size:.6rem;
  margin:0; align-self:center }
.lot__spec dd{ margin:0; color:var(--cocoa); font-variant-numeric:tabular-nums; text-align:right }
.lot__more{ margin-top:1.3rem; padding-top:1rem; border-top:1px solid rgba(43,30,23,.16);
  font-family:var(--mono); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--brand-dk); display:flex; justify-content:space-between; align-items:center }
.lot__more .arw{ transition:transform .35s var(--ease) }
a.lot:hover .lot__more .arw{ transform:translateX(5px) }

.lot-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,1.9vw,26px) }

/* hero lot card — oversized, the thesis of the page */
.lot--hero{ width:min(340px,34vw); flex:none }
.lot--hero .lot__img{ aspect-ratio:4/2.5 }
.lot--hero .lot__body{ padding:1.35rem 1.4rem 1.45rem }

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
.head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(24px,4vw,72px);
  align-items:end; margin-bottom:clamp(34px,4.5vw,64px) }
.head--solo{ grid-template-columns:1fr; max-width:66ch; gap:0 }
.head h2{ max-width:18ch }

.stats{ display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line) }
.paper .stats{ border-top-color:rgba(43,30,23,.2) }
.stat{ padding:2rem 1.6rem 0; border-left:1px solid var(--line) }
.paper .stat{ border-left-color:rgba(43,30,23,.2) }
.stat:first-child{ border-left:0; padding-left:0 }
.stat__n{ font-family:var(--disp); font-size:clamp(2.4rem,4.2vw,3.7rem); font-weight:300;
  line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums }
.stat__l{ font-family:var(--mono); font-size:.645rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--husk); margin-top:.85rem; line-height:1.55 }
.paper .stat__l{ color:var(--husk-2) }

/* numbered process — used ONLY where order genuinely matters */
.flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line) }
.step{ padding:2.1rem 1.7rem 2.2rem; border-left:1px solid var(--line); position:relative }
.step:first-child{ border-left:0; padding-left:0 }
.step__n{ font-family:var(--mono); font-size:.65rem; letter-spacing:.18em; color:var(--brand-lt);
  display:block; margin-bottom:1.5rem }
.step h3{ font-family:var(--disp); font-size:1.42rem; font-weight:400; margin-bottom:.75rem }
.step p{ font-size:.925rem; color:var(--husk); line-height:1.6 }
.paper .step{ border-left-color:rgba(43,30,23,.2) }
.paper .step__n{ color:var(--brand-dk) }
.paper .step p{ color:#554C3E }

/* split media/text */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,86px); align-items:center }
.split--wide{ grid-template-columns:1.15fr .85fr }
.split--flip .split__media{ order:2 }
.split__media{ position:relative }
.split__media img{ width:100%; aspect-ratio:4/4.4; object-fit:cover; border-radius:var(--r-lg) }
.split__media--land img{ aspect-ratio:4/3; border-radius:var(--r-lg) }
.figtag{
  position:absolute; left:14px; bottom:14px; background:rgba(14,20,16,.90); color:var(--husk);
  font-family:var(--mono); font-size:.615rem; letter-spacing:.13em; text-transform:uppercase;
  padding:.6rem 1rem; border:1px solid rgba(242,234,220,.14); border-radius:var(--r-pill);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.figtag b{ color:var(--brand-lt); font-weight:500 }

.rules{ border-top:1px solid var(--line); margin-top:2.4rem }
.paper .rules{ border-top-color:rgba(43,30,23,.2) }
.rule{ display:grid; grid-template-columns:auto 1fr; gap:1.4rem; padding:1.35rem 0;
  border-bottom:1px solid var(--line); align-items:baseline }
.paper .rule{ border-bottom-color:rgba(43,30,23,.2) }
.rule__k{ font-family:var(--mono); font-size:.63rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--brand-lt); width:104px }
.paper .rule__k{ color:var(--brand-dk) }
.rule p{ font-size:.95rem; color:var(--husk); margin:0 }
.paper .rule p{ color:#554C3E }

/* certification chips */
.certs{ display:flex; flex-wrap:wrap; gap:.6rem }
.cert{ font-family:var(--mono); font-size:.665rem; letter-spacing:.13em; text-transform:uppercase;
  border:1px solid var(--line); padding:.62rem 1.05rem; color:var(--husk); border-radius:var(--r-pill) }
.paper .cert{ border-color:rgba(43,30,23,.24); color:#554C3E }

/* feature cards */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.4vw,18px) }
.card{ background:var(--soil-2); padding:2.2rem 1.9rem 2.4rem; border-radius:var(--r-md);
  border:1px solid var(--line) }
.paper .card{ background:var(--ivory-2); border-color:rgba(43,30,23,.12) }
.card__i{ color:var(--brand-lt); margin-bottom:1.5rem; display:block }
.paper .card__i{ color:var(--brand-dk) }
.card h3{ font-family:var(--disp); font-size:1.35rem; font-weight:400; margin-bottom:.7rem }
.card p{ font-size:.93rem; color:var(--husk); line-height:1.62 }
.paper .card p{ color:#554C3E }

/* the seven-core agenda: a numbered framework, so the numerals are content */
.pillars{ display:flex; flex-direction:column; gap:clamp(12px,1.5vw,18px) }
.pillar{
  background:var(--ivory-2); border:1px solid rgba(43,30,23,.11); border-radius:var(--r-lg);
  padding:clamp(24px,3vw,42px); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);
  gap:clamp(18px,3.4vw,54px);
}
.pillar__n{ font-family:var(--mono); font-size:.66rem; letter-spacing:.2em; color:var(--brand-dk);
  display:block; margin-bottom:.95rem }
.pillar h3{ font-family:var(--disp); font-size:clamp(1.4rem,2vw,1.92rem); font-weight:400;
  line-height:1.08; letter-spacing:-.02em; text-wrap:balance }
.pillar__lede{ font-size:.9rem; color:var(--husk-2); line-height:1.6; margin:.9rem 0 0 }
.pillar__pts{ display:flex; flex-direction:column }
.pillar__pt{ display:grid; grid-template-columns:132px 1fr; gap:1.3rem; align-items:baseline;
  padding:.85rem 0; border-bottom:1px dotted rgba(43,30,23,.26) }
.pillar__pt:first-child{ padding-top:0 }
.pillar__pt:last-child{ border-bottom:0; padding-bottom:0 }
.pillar__k{ font-family:var(--mono); font-size:.615rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--brand-dk) }
.pillar__pt p{ margin:0; font-size:.935rem; color:#554C3E; line-height:1.62 }

/* pull quote */
.quote{ max-width:24ch; font-family:var(--disp); font-weight:300; letter-spacing:-.025em;
  font-size:clamp(1.7rem,3.3vw,2.9rem); line-height:1.14 }
.quote__by{ font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--husk); margin-top:1.8rem; line-height:1.7 }
.paper .quote__by{ color:var(--husk-2) }

/* CTA band */
.band{ position:relative; overflow:hidden; background:var(--cocoa) }
.band__bg{ position:absolute; inset:0 }
.band__bg img{ width:100%; height:100%; object-fit:cover; opacity:.62; filter:grayscale(.35) contrast(1.05) }
.band__bg::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(26,92,45,.84) 0%, rgba(43,30,23,.86) 52%, rgba(14,20,16,.94) 100%) }
.band__in{ position:relative; z-index:2 }

/* ---------- forms ---------- */
.form{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem }
.field{ display:flex; flex-direction:column; gap:.55rem }
.field--full{ grid-column:1/-1 }
.field label{ font-family:var(--mono); font-size:.635rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--husk) }
.paper .field label{ color:var(--husk-2) }
.field input,.field select,.field textarea{
  font-family:var(--sans); font-size:.98rem; color:var(--ivory); background:transparent;
  border:0; border-bottom:1px solid var(--line); padding:.8rem 0; border-radius:0;
  transition:border-color .3s var(--ease); width:100%;
}
.paper .field input,.paper .field select,.paper .field textarea{
  color:var(--cocoa); border-bottom-color:rgba(43,30,23,.28) }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-bottom-color:var(--brand-lt) }
.paper .field input:focus,.paper .field select:focus,.paper .field textarea:focus{
  border-bottom-color:var(--brand-dk) }
.field textarea{ resize:vertical; min-height:112px; border-radius:var(--r-xs) }
.field select{ appearance:none; cursor:pointer }
.paper .field select option{ background:var(--ivory); color:var(--cocoa) }
.field select option{ background:var(--soil-2); color:var(--ivory) }
.form button[type="submit"]{ align-self:flex-start }
.formnote{ font-family:var(--mono); font-size:.645rem; letter-spacing:.06em; color:var(--husk-w);
  line-height:1.7; margin:0 }
.paper .formnote{ color:var(--husk-2) }
.formstatus{ font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--brand-lt);
  margin:0; min-height:1.2em }
.paper .formstatus{ color:var(--brand-dk) }


/* ============================================================
   MARKET PRICE BAR — pinned to the bottom, never covers content
   ============================================================ */
body{ padding-bottom:46px }
.mkt{
  position:fixed; left:0; right:0; bottom:0; z-index:90; height:46px;
  display:flex; align-items:stretch; background:rgba(12,19,16,.94);
  backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-top:1px solid var(--line);
}
.mkt__label{
  display:flex; align-items:center; gap:.55rem; padding:0 1.15rem; flex:none; white-space:nowrap;
  background:var(--soil-2); border-right:1px solid var(--line);
  font-family:var(--mono); font-size:.655rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--ivory);
}
.mkt__i{
  width:16px; height:16px; border-radius:var(--r-pill); border:1px solid var(--husk);
  color:var(--husk); display:grid; place-items:center; font-size:.58rem; line-height:1;
  font-style:italic; cursor:help;
}
.mkt__track{ flex:1; overflow:hidden; display:flex; align-items:center; min-width:0 }
.mkt__row{ display:flex; white-space:nowrap; animation:mkt 72s linear infinite; will-change:transform }
.mkt:hover .mkt__row,.mkt:focus-within .mkt__row{ animation-play-state:paused }
.mkt__item{
  display:inline-flex; align-items:baseline; gap:.5rem; padding-inline:1.45rem;
  font-family:var(--mono); font-size:.68rem; letter-spacing:.02em;
}
.mkt__n{ color:var(--ivory) }
.mkt__code{ color:var(--husk) }
.mkt__p{ color:var(--ivory); font-variant-numeric:tabular-nums }
.mkt__c{ font-variant-numeric:tabular-nums }
.mkt__c--up{ color:var(--brand-lt) }
.mkt__c--dn{ color:#F07A6E }
.mkt__c--flat{ color:var(--husk) }
.mkt__ind{ color:var(--husk); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; cursor:help }
@keyframes mkt{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

@media (max-width:640px){
  body{ padding-bottom:42px }
  .mkt{ height:42px }
  .mkt__label{ padding:0 .8rem; font-size:.6rem; letter-spacing:.1em }
  .mkt__item{ padding-inline:1.05rem; font-size:.64rem }
}
@media (prefers-reduced-motion:reduce){
  .mkt__row{ animation:none }
  .mkt__track{ overflow-x:auto; scrollbar-width:none }
  .mkt__track::-webkit-scrollbar{ display:none }
}

/* ---------- footer ---------- */
.ftr{ background:var(--cocoa); border-top:1px solid rgba(242,234,220,.11) }
.ftr__top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(28px,4vw,60px);
  padding-block:clamp(54px,7vw,90px) }
.ftr h4{ font-family:var(--mono); font-size:.635rem; font-weight:500; letter-spacing:.19em;
  text-transform:uppercase; color:var(--brand-lt); margin-bottom:1.5rem }
.ftr ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75rem }
.ftr a{ text-decoration:none; color:var(--husk); font-size:.925rem; transition:color .3s var(--ease) }
.ftr a:hover{ color:var(--ivory) }
.ftr address{ font-style:normal; color:var(--husk); font-size:.925rem; line-height:1.75 }
.ftr__brand p{ color:var(--husk); font-size:.925rem; max-width:34ch; margin-top:1.4rem }
.ftr__bot{ border-top:1px solid rgba(242,234,220,.11); padding-block:1.5rem;
  display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between;
  font-family:var(--mono); font-size:.635rem; letter-spacing:.11em; text-transform:uppercase; color:var(--husk-w) }

/* ---------- page banner (inner pages) ---------- */
.pbanner{ position:relative; overflow:hidden; background:var(--cocoa);
  padding-block:clamp(84px,11vw,150px) clamp(48px,6vw,80px) }
.pbanner__bg{ position:absolute; inset:0 }
.pbanner__bg img{ width:100%; height:100%; object-fit:cover; opacity:.55 }
.pbanner__bg::after{ content:""; position:absolute; inset:0;
  background:
    linear-gradient(to right, rgba(14,20,16,.92) 0%, rgba(14,20,16,.66) 46%, rgba(14,20,16,.24) 100%),
    linear-gradient(to top, var(--soil) 1%, rgba(14,20,16,.22) 52%, rgba(14,20,16,.58) 100%) }
.pbanner__in{ position:relative; z-index:2 }
.pbanner h1{ max-width:15ch }
.pbanner .lede{ margin-top:1.5rem; color:#C6CCC0 }
.crumb{ font-family:var(--mono); font-size:.635rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--husk); margin-bottom:1.5rem }
.crumb a{ text-decoration:none; color:var(--husk) }
.crumb a:hover{ color:var(--brand-lt) }
.crumb span{ color:var(--brand); margin-inline:.5rem }

/* ---------- motion ---------- */
[data-rise]{ opacity:0; transform:translateY(26px); transition:opacity .85s var(--ease), transform .85s var(--ease) }
[data-rise].in{ opacity:1; transform:none }
.hero [data-rise]{ transition-duration:1s }

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* six nav items crowd well before the body layout does, so the header collapses first */
@media (max-width:1200px){
  .nav,.hdr .btn{ display:none }
  .burger{ display:flex }
  .hdr__in{ height:74px }
  .brand__logo{ height:38px }
  .hdr--open .nav{
    display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    align-items:flex-start; gap:0; background:var(--soil); border-bottom:1px solid var(--line);
    padding:.5rem var(--gut) 1.6rem;
  }
  .hdr--open .nav a{ width:100%; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.8rem;
    white-space:normal }
  .hdr--open .nav a::after{ display:none }
  .hdr--open .nav .nav__cta{
    display:inline-flex; width:100%; justify-content:center; margin-top:1.35rem;
    padding:1.05rem 1.2rem; font-size:.7rem; border:1px solid var(--brand-dk);
  }
}
@media (max-width:1080px){
  .lot-grid{ grid-template-columns:repeat(2,1fr) }
  .ftr__top{ grid-template-columns:1fr 1fr }
  .cards{ grid-template-columns:1fr 1fr }
}
@media (max-width:960px){
  .hero__grid{ grid-template-columns:1fr }
  .lot--hero{ width:min(330px,100%) }
  .rail__in{ grid-template-columns:repeat(2,1fr) }
  .rail__cell{ border-left:0; border-top:1px solid rgba(242,234,220,.13); padding-left:0 }
  .rail__cell:nth-child(-n+2){ border-top:0 }
  .rail__cell:nth-child(even){ padding-left:1.35rem; border-left:1px solid rgba(242,234,220,.13) }
  .rail--paper .rail__cell{ border-top-color:rgba(43,30,23,.16) }
  .head{ grid-template-columns:1fr }
  .pillar{ grid-template-columns:1fr; gap:1.6rem }
  .split,.split--wide{ grid-template-columns:1fr }
  .split--flip .split__media{ order:0 }
  .split__media img{ aspect-ratio:4/3 }
  .stats,.flow{ grid-template-columns:1fr 1fr }
  .stat,.step{ border-left:0; padding-left:0; padding-right:1.4rem }
  .stat:nth-child(even),.step:nth-child(even){ padding-left:1.4rem; border-left:1px solid var(--line) }
  .paper .stat:nth-child(even),.paper .step:nth-child(even){ border-left-color:rgba(43,30,23,.2) }
  .step:nth-child(n+3){ border-top:1px solid var(--line) }
  .paper .step:nth-child(n+3){ border-top-color:rgba(43,30,23,.2) }
}
@media (max-width:640px){
  body{ font-size:16px }
  .lot-grid,.cards,.form{ grid-template-columns:1fr }
  .pillar__pt{ grid-template-columns:1fr; gap:.4rem }
  .ftr__top{ grid-template-columns:1fr }
  .stats,.flow{ grid-template-columns:1fr }
  .stat,.step{ padding-inline:0; border-left:0; border-top:1px solid var(--line) }
  .stat:nth-child(even),.step:nth-child(even){ padding-left:0; border-left:0 }
  .stat:first-child,.step:first-child{ border-top:0 }
  .paper .stat,.paper .step{ border-top-color:rgba(43,30,23,.2) }
  .hero__in{ padding-top:clamp(84px,12vh,130px) }
  .rail__in{ grid-template-columns:1fr }
  .rail__cell:nth-child(even){ padding-left:0; border-left:0 }
  .rail__cell:nth-child(2){ border-top:1px solid rgba(242,234,220,.13) }
  .lot--hero{ width:100% }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important }
  [data-rise]{ opacity:1 !important; transform:none !important }
  .hero__bg img{ transform:scale(1) }
}
