/* ============================================================
   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;}
}

/* ---------------- fleet ---------------- */
.fleet{background:var(--c-black-2);border-block:1px solid var(--c-line-soft);}
.fleet__head{display:grid;gap:var(--sp-5);}
.fleet__head h2{margin-top:var(--sp-5);}
.fleet__grid{
  list-style:none;padding:0;margin:clamp(2.5rem,5vw,4.5rem) 0 0;
  display:grid;gap:clamp(1.25rem,2.4vw,2rem);
  grid-template-columns:minmax(0,1fr);
}
.card__link{
  display:block;height:100%;
  border:1px solid var(--c-line);
  background:linear-gradient(180deg,#0C0C0A,#0A0A0A);
  transition:border-color 320ms linear,transform 420ms var(--ease),box-shadow 420ms var(--ease);
}
.card__link:hover,.card__link:focus-visible{
  border-color:var(--c-gold);transform:translateY(-4px);
  box-shadow:0 22px 60px -30px rgba(201,162,39,0.55);
}
.card__frame{position:relative;display:block;overflow:hidden;background:#080808;}
.card__frame img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;
  object-fit:cover;object-position:50% 72%;
  transition:transform 900ms var(--ease);
}
.card__link:hover .card__frame img{transform:scale(1.05);}

/* the vehicle name sits in the dark top half of the plate, like the contact sheet */
.card__head{
  position:absolute;left:0;right:0;top:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:0.7rem;
  padding:clamp(1.1rem,2.4vw,1.6rem) 1rem 2rem;
  text-align:center;pointer-events:none;
  background:linear-gradient(to bottom,rgba(8,8,8,0.72),rgba(8,8,8,0));
}
.card__tag{
  font-size:0.5rem;font-weight:500;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--c-gold);
}
.card__name{
  position:relative;padding-top:0.85rem;
  font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.15rem,1rem + 0.75vw,1.5rem);line-height:1.15;
  color:#F8F5EE;max-width:15ch;
}
.card__name::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:34px;height:1px;background:var(--c-gold);opacity:0.85;
}
.card__price{
  position:absolute;right:0;bottom:0;z-index:2;
  padding:0.45rem 0.85rem;background:rgba(10,10,10,0.74);
  font-family:var(--f-display);font-size:1.3rem;color:var(--c-champagne);
  border-left:1px solid var(--c-line);border-top:1px solid var(--c-line);
  line-height:1.25;
}
.card__price i{font-family:var(--f-ui);font-style:normal;font-size:0.5625rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-muted);}
.card__price--quote{font-size:0.6875rem;letter-spacing:0.2em;text-transform:uppercase;font-family:var(--f-ui);color:var(--c-gold-hi);}
.card__body{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding:var(--sp-4) clamp(0.9rem,2vw,1.25rem);
}
.card__class{
  font-size:0.5625rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--c-gold);
}
.card__cta{
  display:inline-flex;align-items:center;gap:0.5em;
  font-size:0.625rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--c-muted);
  transition:color 260ms linear;white-space:nowrap;
}
.card__link:hover .card__cta{color:var(--c-gold-hi);}
.card__cta .arw{font-style:normal;transition:transform 260ms var(--ease);}
.card__link:hover .card__cta .arw{transform:translate(3px,-3px);}
.card--service .card__link{background:linear-gradient(180deg,#131009,#0A0A0A);}
.fleet__note{
  margin-top:var(--sp-6);color:var(--c-muted);font-size:var(--fs-small);
  max-width:52ch;
}
@media (min-width:640px){ .fleet__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (min-width:1000px){
  .fleet__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .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;}
