/* ============================================================
   Rich And Famous Auto — home
   Motion: sticky + @keyframes + IntersectionObserver only.
   No scroll hijacking. Nothing is hidden in the HTML itself.
   ============================================================ */

/* ---------------- header ---------------- */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:60;
  background:linear-gradient(to bottom,rgba(10,10,10,0.92) 0%,rgba(10,10,10,0.62) 58%,rgba(10,10,10,0) 100%);
  transition:background 300ms linear,border-color 300ms linear;
  border-bottom:1px solid transparent;
}
.hdr.is-stuck{background:rgba(10,10,10,0.94);border-bottom-color:var(--c-line);backdrop-filter:blur(10px);}
.hdr__bar{display:flex;align-items:center;gap:var(--sp-5);height:var(--header-h);}
.ident{display:flex;align-items:center;gap:0.7rem;margin-right:auto;}
.ident__mark{width:36px;height:36px;flex:none;}
.ident__type{display:flex;flex-direction:column;line-height:1;}
.ident__name{
  font-family:var(--f-display);font-size:1.0625rem;letter-spacing:0.02em;
  color:var(--c-champagne);white-space:nowrap;
}
.ident__name i{font-style:italic;color:var(--c-gold);}
.ident__sub{
  font-family:var(--f-ui);font-size:0.5625rem;font-weight:400;
  letter-spacing:0.42em;text-transform:uppercase;color:var(--c-muted);margin-top:5px;
}
.nav{display:none;}
.hdr__cta{display:none;}

.burger{
  width:44px;height:44px;flex:none;display:grid;place-content:center;gap:6px;
  border:1px solid var(--c-line);
}
.burger span{display:block;width:20px;height:1px;background:var(--c-champagne);transition:transform 260ms var(--ease),opacity 200ms linear;}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg);}

.drawer{
  position:fixed;inset:var(--header-h) 0 auto 0;z-index:55;
  background:rgba(10,10,10,0.98);border-bottom:1px solid var(--c-line);
}
.drawer[hidden]{display:none;}
.drawer__inner{
  max-width:var(--maxw);margin-inline:auto;
  padding:var(--sp-4) var(--gutter) var(--sp-6);
  display:flex;flex-direction:column;
}
.drawer__inner a{
  display:flex;align-items:baseline;gap:1rem;min-height:56px;
  font-family:var(--f-display);font-size:1.5rem;
  border-bottom:1px solid var(--c-line-soft);
}
.drawer__inner a b{
  font-family:var(--f-ui);font-size:var(--fs-micro);font-weight:500;
  letter-spacing:0.24em;color:var(--c-gold);
}
.drawer__meta{
  margin-top:var(--sp-5);font-size:var(--fs-micro);letter-spacing:0.24em;
  text-transform:uppercase;color:var(--c-muted);
}
@media (min-width:1000px){
  .burger,.drawer{display:none;}
  .nav{display:block;}
  .nav ul{display:flex;gap:clamp(1.25rem,2.2vw,2.5rem);list-style:none;padding:0;}
  .nav a{
    display:inline-flex;align-items:center;min-height:44px;padding-block:0.4rem;
    font-size:var(--fs-micro);font-weight:400;letter-spacing:0.22em;
    text-transform:uppercase;color:#CFC9BF;
    border-bottom:1px solid transparent;
    transition:color var(--dur-fast) linear,border-color var(--dur-fast) linear;
  }
  .nav a:hover,.nav a:focus-visible{color:var(--c-gold-hi);border-bottom-color:var(--c-gold);}
  .hdr__cta{display:inline-flex;min-height:44px;}
  .ident__mark{width:44px;height:44px;}
  .ident__name{font-size:1.25rem;}
}

/* ---------------- hero ---------------- */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:100svh;display:flex;align-items:flex-end;
  padding-top:calc(var(--header-h) + var(--sp-6));
  padding-bottom:clamp(4.5rem,10vh,7rem);
  background:var(--c-black);
}
.hero__img{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;object-position:48% 38%;
  animation:heroDrift 34s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  from{transform:scale(1.06) translate3d(0,0,0);}
  to{transform:scale(1.13) translate3d(-1.4%,-1%,0);}
}
.hero__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to top,rgba(10,10,10,0.97) 4%,rgba(10,10,10,0.86) 30%,rgba(10,10,10,0.30) 62%,rgba(10,10,10,0.55) 100%),
    radial-gradient(120% 80% at 18% 88%,rgba(10,10,10,0.85),transparent 62%);
}
.hero__inner{position:relative;z-index:2;width:100%;}
.hero__markets{margin-bottom:var(--sp-5);}
.hero__markets .dot{width:4px;height:4px;background:var(--c-gold);border-radius:50%;display:inline-block;}
.hero h1{
  color:#FFFDF8;
  text-shadow:0 2px 40px rgba(0,0,0,0.55);
}
/* On a real handset the display clamp ran a few pixels wide and "Some
   arrivals" broke onto its own line, pushing the headline to four lines and
   burying the face behind it. Cap it by viewport width so the break is always
   the one the markup asks for. */
/* 556px is where 10.2vw meets the base clamp (1.6rem + 5.6vw), so the two
   rules hand off at the same pixel size instead of popping at the boundary. */
@media (max-width:556px){
  .hero h1{font-size:clamp(1.9rem,10.2vw,3.55rem);}
}
.hero__lede{margin-top:var(--sp-5);max-width:34ch;}
.hero__lede + .hero__lede{margin-top:var(--sp-2);color:var(--c-champagne);}
.hero__cta{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-4);margin-top:var(--sp-6);}
.hero__cta .btn{width:100%;}
.hero__cta .link-u{align-self:flex-start;}
.hero__scroll{
  position:absolute;left:50%;bottom:1.4rem;z-index:2;transform:translateX(-50%);
  display:none;align-items:center;gap:0.75rem;
  font-size:var(--fs-micro);letter-spacing:0.28em;text-transform:uppercase;color:var(--c-muted);
}
.hero__scroll span{width:1px;height:34px;background:linear-gradient(to bottom,var(--c-gold),transparent);animation:scrollPulse 2.6s ease-in-out infinite;transform-origin:top;}
@keyframes scrollPulse{0%,100%{transform:scaleY(0.4);opacity:0.4;}50%{transform:scaleY(1);opacity:1;}}

@media (min-width:768px){
  .hero__img{object-position:56% 40%;}
  .hero__veil{
    background:
      linear-gradient(to top,rgba(10,10,10,0.95) 2%,rgba(10,10,10,0.70) 26%,rgba(10,10,10,0.12) 60%,rgba(10,10,10,0.45) 100%),
      linear-gradient(to right,rgba(10,10,10,0.88) 0%,rgba(10,10,10,0.40) 42%,transparent 70%);
  }
  .hero__cta{flex-direction:row;align-items:center;gap:var(--sp-6);}
  .hero__cta .btn{width:auto;}
  .hero__lede{margin-top:var(--sp-6);max-width:42ch;}
  .hero__lede + .hero__lede{margin-top:var(--sp-3);}
  .hero__scroll{display:flex;}
}
@media (min-width:1000px){
  .hero{padding-bottom:clamp(5rem,12vh,8rem);}
  .hero__inner{max-width:var(--maxw);}
  .hero h1{max-width:14ch;}
}
@media (prefers-reduced-motion:reduce){
  .hero__img{animation:none;transform:scale(1.04);}
  .hero__scroll span{animation:none;}
}

/* ---------------- ticker ---------------- */
.ticker{
  overflow:hidden;border-block:1px solid var(--c-line);
  background:linear-gradient(to right,#0E0D0A,#151309,#0E0D0A);
  padding-block:0.95rem;
}
.ticker__row{
  display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem);width:max-content;
  animation:tickerRun 42s linear infinite;
}
.ticker__row span{
  font-family:var(--f-ui);font-size:var(--fs-micro);font-weight:400;
  letter-spacing:0.34em;text-transform:uppercase;color:var(--c-champagne);white-space:nowrap;
}
.ticker__row i{color:var(--c-gold);font-size:0.5rem;font-style:normal;}
@keyframes tickerRun{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
@media (prefers-reduced-motion:reduce){.ticker__row{animation:none;}}

/* ---------------- three ways ---------------- */
.ways{background:var(--c-black);}
.ways__head{max-width:var(--maxw-text);}
.ways__head h2{margin:var(--sp-5) 0 var(--sp-5);}
.ways__grid{margin-top:clamp(3rem,6vw,5.5rem);}
.ways__index{display:none;}

.lane{display:grid;gap:var(--sp-6);}
.lane + .lane{margin-top:clamp(4rem,9vw,8rem);}
.lane__media{position:relative;overflow:hidden;background:#0E0E0E;border:1px solid var(--c-line-soft);}
.lane__media img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.lane__badge{
  position:absolute;left:0;top:0;
  padding:0.55rem 0.9rem;background:var(--c-black);color:var(--c-gold);
  font-size:var(--fs-micro);letter-spacing:0.24em;font-weight:500;
  border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);
}
.lane__copy .kicker{margin-bottom:var(--sp-4);}
.lane__copy h3{margin-bottom:var(--sp-4);}
.lane__copy p + p{margin-top:var(--sp-4);}
.lane__copy .muted,.lane__copy p{color:#CDC7BD;}

@media (min-width:860px){
  .ways__grid{display:grid;grid-template-columns:minmax(160px,0.9fr) minmax(0,3.2fr);gap:clamp(2rem,5vw,5rem);}
  .ways__index{
    display:block;list-style:none;padding:0;margin:0;
    position:sticky;top:calc(var(--header-h) + 3rem);align-self:start;
  }
  .ways__index li{
    display:flex;align-items:baseline;gap:0.85rem;padding-block:0.7rem;
    font-size:var(--fs-micro);letter-spacing:0.24em;text-transform:uppercase;
    color:#5E594F;border-top:1px solid var(--c-line-soft);
    transition:color 400ms linear,border-color 400ms linear;
  }
  .ways__index li b{font-weight:500;color:inherit;font-variant-numeric:tabular-nums;}
  .ways__index li.is-active{color:var(--c-gold-hi);border-top-color:var(--c-gold);}
  .lane{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);}
  .lane--flip .lane__media{order:2;}
  .lane__media img{aspect-ratio:4/5;}
  .lane--flip .lane__copy{order:1;}
}

/* ---------------- the fleet, as a menu board ----------------
   Full-bleed plates edge to edge, copy over the dark top half where the
   supplied images have nothing but night, price sitting on the floor of the
   frame. No gutters: the grid reads as one board, not six cards. */
.fleet{background:var(--c-black-2);border-block:1px solid var(--c-line-soft);padding-bottom:0;}
.fleet__head{display:grid;gap:var(--sp-5);}
.fleet__head h2{margin-top:var(--sp-5);}

.plate{
  list-style:none;padding:0;
  margin:clamp(2.5rem,5vw,4.5rem) calc(var(--gutter) * -1) 0;
  display:grid;grid-template-columns:minmax(0,1fr);
  border-top:1px solid var(--c-line);
}
.plate__tile{position:relative;border-bottom:1px solid var(--c-line);}
.plate__link{
  position:relative;display:block;overflow:hidden;isolation:isolate;
  min-height:clamp(380px,58vw,520px);
  background:#070707;
}
.plate__link img{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 74%;
  transition:transform 1100ms var(--ease);
}
.plate__link:hover img,.plate__link:focus-visible img{transform:scale(1.05);}
.plate__wash{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(6,6,6,0.80) 0%,rgba(6,6,6,0.34) 34%,rgba(6,6,6,0) 56%),
    linear-gradient(to top,rgba(6,6,6,0.72) 0%,rgba(6,6,6,0) 30%);
}
/* a quiet checkerboard so six night plates do not read as one long smear */
.plate__tile--warm .plate__wash{
  background:
    linear-gradient(to bottom,rgba(14,11,4,0.82) 0%,rgba(14,11,4,0.36) 34%,rgba(14,11,4,0) 56%),
    linear-gradient(to top,rgba(14,11,4,0.74) 0%,rgba(14,11,4,0) 30%),
    linear-gradient(to right,rgba(201,162,39,0.07),transparent 60%);
}
.plate__copy{
  position:absolute;z-index:2;left:0;right:0;top:0;
  display:flex;flex-direction:column;gap:0.6rem;
  padding:clamp(1.35rem,3.4vw,2rem) clamp(1.35rem,3.4vw,2rem) 0;
}
.plate__kicker{
  font-family:var(--f-ui);font-size:0.5625rem;font-weight:500;
  letter-spacing:0.3em;text-transform:uppercase;color:var(--c-gold);
}
.plate__name{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.6rem,1.25rem + 1.5vw,2.15rem);line-height:1.08;
  color:#FBF8F1;max-width:16ch;
}
.plate__line{
  font-size:var(--fs-small);line-height:1.5;color:#CFC8BC;max-width:30ch;
  font-weight:300;
}
.plate__foot{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);
  padding:0 clamp(1.35rem,3.4vw,2rem) clamp(1.2rem,3vw,1.75rem);
}
.plate__price{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(2.1rem,1.5rem + 2.4vw,3rem);line-height:1;
  color:var(--c-champagne);letter-spacing:-0.01em;
}
.plate__price i{
  font-family:var(--f-ui);font-style:normal;font-size:0.625rem;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--c-muted);
  margin-left:0.35rem;vertical-align:0.55em;
}
.plate__price--quote{
  font-family:var(--f-ui);font-size:0.8125rem;font-weight:500;
  letter-spacing:0.24em;text-transform:uppercase;color:var(--c-gold-hi);
  padding-bottom:0.5rem;
}
.plate__cta{
  display:inline-flex;align-items:center;gap:0.5em;padding-bottom:0.55rem;
  font-family:var(--f-ui);font-size:0.625rem;font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--c-muted);
  white-space:nowrap;transition:color 260ms linear;
}
.plate__link:hover .plate__cta,.plate__link:focus-visible .plate__cta{color:var(--c-gold-hi);}
.plate__cta .arw{font-style:normal;transition:transform 260ms var(--ease);}
.plate__link:hover .plate__cta .arw{transform:translate(3px,-3px);}

.fleet__note{
  margin:0;padding-block:var(--sp-6) var(--section-y);
  color:var(--c-muted);font-size:var(--fs-small);max-width:52ch;
}
@media (min-width:640px){
  .plate{grid-template-columns:repeat(2,minmax(0,1fr));}
  .plate__tile{border-right:1px solid var(--c-line);}
  .plate__tile:nth-child(2n){border-right:0;}
}
@media (min-width:1000px){
  .plate{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-inline:calc(var(--gutter) * -1);
  }
  .plate__tile{border-right:1px solid var(--c-line);}
  .plate__tile:nth-child(2n){border-right:1px solid var(--c-line);}
  .plate__tile:nth-child(3n){border-right:0;}
  .plate__link{min-height:clamp(440px,34vw,540px);}
  .fleet__head{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,5vw,4rem);}
  .fleet__head .lede{padding-bottom:0.6rem;}
}

/* ---------------- on camera ---------------- */
.camera{
  position:relative;isolation:isolate;overflow:hidden;
  padding-block:clamp(5rem,11vw,9.5rem);background:var(--c-black);
}
.camera__img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.camera__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(to right,rgba(10,10,10,0.96) 0%,rgba(10,10,10,0.82) 46%,rgba(10,10,10,0.42) 100%),
    linear-gradient(to bottom,rgba(10,10,10,0.9),transparent 30%,rgba(10,10,10,0.9));
}
.camera__inner{position:relative;z-index:2;}
.camera__inner h2{margin:var(--sp-5) 0 var(--sp-5);}
.camera__list{list-style:none;padding:0;margin:var(--sp-7) 0 var(--sp-7);max-width:46ch;}
.camera__list li{
  padding:var(--sp-4) 0;border-top:1px solid var(--c-line-soft);
  font-size:var(--fs-small);color:#CDC7BD;line-height:1.6;
}
.camera__list li:last-child{border-bottom:1px solid var(--c-line-soft);}
.camera__list b{
  display:block;font-family:var(--f-ui);font-weight:500;font-size:var(--fs-micro);
  letter-spacing:0.22em;text-transform:uppercase;color:var(--c-gold);margin-bottom:0.35rem;
}
@media (min-width:900px){
  .camera__img{object-position:70% 50%;}
  .camera__list{columns:2;column-gap:var(--sp-7);max-width:none;}
  .camera__list li{break-inside:avoid;}
}

/* ---------------- markets ---------------- */
.markets{background:var(--c-black);}
.markets__head h2{margin-top:var(--sp-5);}
.markets__pair{
  margin-top:clamp(2.5rem,5vw,4.5rem);
  display:grid;gap:clamp(2.5rem,5vw,3.5rem);grid-template-columns:minmax(0,1fr);
}
.mkt__media{overflow:hidden;border:1px solid var(--c-line-soft);background:#0C0C0C;}
.mkt__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform 1200ms var(--ease);}
.mkt:hover .mkt__media img{transform:scale(1.04);}
.mkt__coord{
  margin-top:var(--sp-5);font-size:var(--fs-micro);letter-spacing:0.3em;
  text-transform:uppercase;color:var(--c-gold);font-variant-numeric:tabular-nums;
}
.mkt h3{margin:var(--sp-2) 0 var(--sp-3);}
.mkt p.muted{font-size:var(--fs-small);max-width:38ch;}
@media (min-width:800px){ .markets__pair{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* ---------------- standard strip ---------------- */
.standard{background:var(--c-black-2);border-block:1px solid var(--c-line-soft);}
.standard h2{margin-top:var(--sp-5);}
.standard__strip{
  list-style:none;padding:0;margin:clamp(2.5rem,5vw,4rem) 0 0;
  display:grid;gap:var(--sp-6);grid-template-columns:minmax(0,1fr);
}
.standard__strip li{display:flex;flex-direction:column;gap:0.35rem;}
.standard__strip b{
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.6rem,1.3rem + 1.1vw,2.1rem);color:var(--c-gold-hi);line-height:1;
}
.standard__strip span{font-size:var(--fs-small);color:var(--c-muted);max-width:26ch;}
@media (min-width:640px){ .standard__strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7) var(--sp-6);} }
@media (min-width:1000px){ .standard__strip{grid-template-columns:repeat(4,minmax(0,1fr));} }

/* ---------------- request ---------------- */
.request{
  position:relative;isolation:isolate;overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%,#17140C 0%,var(--c-black) 62%);
  padding-block:clamp(5rem,11vw,9rem);text-align:center;
}
.request__ornament{
  position:absolute;left:50%;top:clamp(3rem,12vw,7rem);z-index:0;
  width:min(760px,118%);transform:translateX(-50%);
  opacity:0.032;pointer-events:none;filter:grayscale(0.2);
}
.request__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;}
.request h2{margin:var(--sp-5) 0 var(--sp-5);}
.request .lede{max-width:44ch;}
.request__pending{
  margin-top:var(--sp-8);padding:var(--sp-4) var(--sp-5);
  border:1px dashed var(--c-line);background:rgba(201,162,39,0.05);
  font-size:var(--fs-small);color:var(--c-muted);max-width:56ch;text-align:left;
}
.request__pending b{color:var(--c-gold);font-weight:500;letter-spacing:0.04em;}
@media (min-width:768px){
}

/* ---------------- footer ---------------- */
.ftr{background:#070707;border-top:1px solid var(--c-line);padding-top:clamp(3rem,6vw,5rem);}
.ftr__inner{display:grid;gap:var(--sp-8);}
.ftr__brand img{width:min(300px,72vw);height:auto;}
.ftr__tag{
  margin-top:var(--sp-4);font-size:var(--fs-micro);letter-spacing:0.3em;
  text-transform:uppercase;color:var(--c-muted);
}
.ftr__cols{display:grid;gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));}
.ftr__cols h3{
  font-family:var(--f-ui);font-weight:500;font-size:var(--fs-micro);
  letter-spacing:0.26em;text-transform:uppercase;color:var(--c-gold);margin-bottom:var(--sp-3);
}
.ftr__cols p{font-size:var(--fs-small);color:#B7B1A7;}
.ftr__cols a{transition:color var(--dur-fast) linear;}
.ftr__cols a:hover,.ftr__cols a:focus-visible{color:var(--c-gold-hi);}
.ftr__base{
  margin-top:clamp(2.5rem,5vw,4rem);padding-block:var(--sp-5);
  border-top:1px solid var(--c-line-soft);
  display:flex;flex-direction:column;gap:var(--sp-2);
  font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:#8C857A;
}
@media (min-width:800px){
  .ftr__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:var(--sp-9);}
  .ftr__cols{grid-template-columns:repeat(3,minmax(0,1fr));}
  .ftr__base{flex-direction:row;justify-content:space-between;}
}

/* ---------------- the team ---------------- */
.team{
  background:var(--c-black);
  padding-block:clamp(4rem,9vw,7.5rem);
  border-top:1px solid var(--c-line-soft);
}
.team__inner{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:center;}
.team__copy h2{margin:var(--sp-5) 0 var(--sp-5);}
.team__media{margin:0;overflow:hidden;border:1px solid var(--c-line);background:#0B0B0B;}
.team__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 45%;}
@media (min-width:900px){
  .team__inner{grid-template-columns:minmax(0,0.85fr) minmax(0,1.35fr);gap:clamp(2.5rem,5vw,4.5rem);}
}

/* ---------------- no-JS / failed-script fallback ----------------
   The head arms `js` synchronously and a 4s failsafe strips it again if
   assets/js/site.js never runs. Without `js` the drawer is unreachable, so
   the real nav has to come back on every width. */
html:not(.js) .hdr{position:static;background:var(--c-black);border-bottom-color:var(--c-line);}
html:not(.js) .hdr__bar{height:auto;flex-wrap:wrap;gap:var(--sp-4);padding-block:var(--sp-3);}
html:not(.js) .burger{display:none;}
html:not(.js) .drawer{display:none;}
html:not(.js) .nav{display:block;order:3;width:100%;}
html:not(.js) .nav ul{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-5);list-style:none;padding:0;}
html:not(.js) .nav a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:var(--fs-micro);letter-spacing:0.22em;text-transform:uppercase;color:#CFC9BF;
}
html:not(.js) .hdr__cta{display:inline-flex;min-height:44px;}
html:not(.js) .hero{padding-top:var(--sp-7);}

/* ---------------- request form ----------------
   Routes through the platform lead endpoint. No mailto anywhere: a lead that
   lands in a mailbox never reaches the platform. */
.request__inner{text-align:left;align-items:stretch;}
.request .kicker--plain,.request h2,.request .lede{text-align:left;}
.request__grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem);margin-top:var(--sp-7);width:100%;}
.rq{display:flex;flex-direction:column;gap:var(--sp-4);text-align:left;}
.rq__row{display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr);}
.rq__field{display:flex;flex-direction:column;gap:0.45rem;min-width:0;}
.rq__field label{
  font-family:var(--f-ui);font-size:var(--fs-micro);font-weight:500;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--c-gold);
}
.rq input,.rq select,.rq textarea{
  font-family:var(--f-ui);font-size:1rem;font-weight:300;color:var(--c-ink,#EDE9E1);
  background:rgba(255,255,255,0.03);
  border:1px solid var(--c-line-soft);border-radius:0;
  padding:0.85rem 0.95rem;width:100%;min-height:52px;
  transition:border-color var(--dur-fast) linear,background var(--dur-fast) linear;
}
.rq textarea{min-height:120px;resize:vertical;line-height:1.6;}
.rq input::placeholder,.rq textarea::placeholder{color:#6E685E;}
.rq input:hover,.rq select:hover,.rq textarea:hover{border-color:rgba(201,162,39,0.4);}
.rq input:focus,.rq select:focus,.rq textarea:focus{
  outline:none;border-color:var(--c-gold);background:rgba(201,162,39,0.06);
}
.rq select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--c-gold) 50%),linear-gradient(135deg,var(--c-gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
  padding-right:2.6rem;
}
.rq select option{background:#111111;color:#EDE9E1;}
.rq__submit{margin-top:var(--sp-2);width:100%;}
.rq__note{font-size:var(--fs-small);color:var(--c-muted);margin:0;}

.rq__aside{
  display:flex;flex-direction:column;gap:var(--sp-4);text-align:left;
  border:1px solid var(--c-line);padding:clamp(1.25rem,3vw,1.75rem);
  background:linear-gradient(180deg,rgba(201,162,39,0.05),rgba(10,10,10,0));
  align-self:start;
}
.rq__tel{
  font-family:var(--f-display);font-size:clamp(1.6rem,1.3rem + 1.4vw,2.2rem);
  line-height:1.05;color:var(--c-champagne);
  border-bottom:1px solid var(--c-line);padding-bottom:0.5rem;
  transition:color var(--dur-fast) linear,border-color var(--dur-fast) linear;
  display:inline-block;
}
.rq__tel:hover,.rq__tel:focus-visible{color:var(--c-gold-hi);border-color:var(--c-gold);}
.rq__meta{margin:0;display:flex;flex-direction:column;gap:var(--sp-4);}
.rq__meta div{display:flex;flex-direction:column;gap:0.2rem;}
.rq__meta dt{
  font-size:var(--fs-micro);letter-spacing:0.2em;text-transform:uppercase;color:var(--c-muted);
}
.rq__meta dd{margin:0;font-size:var(--fs-small);color:#D2CCC2;line-height:1.5;}
.rq__aside-note{font-size:var(--fs-small);color:var(--c-muted);margin:0;}
.request__pending{margin-top:var(--sp-7);}

@media (min-width:640px){
  .rq__row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rq__submit{width:auto;align-self:flex-start;min-width:260px;}
}
@media (min-width:900px){
  .request__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;}
}
.rq select:has(option[value=""]:checked){color:#6E685E;}
