/* MAJESTIC RIDE · V4 · continuous yellow neon and booking-first editorial design.
   The line stays present throughout the journey, while the bright segment tracks scroll.
   Keep light deliberate: accents, edges and important interaction only. */
:root {
  --champagne: #e7bc39;
  --champagne-2: #f4d45c;
  --majestic-yellow: #f5cf48;
  --majestic-glow: rgba(245, 207, 72, .38);
  --line: rgba(238, 224, 194, .12);
  --line-2: rgba(238, 224, 194, .22);
  --section: clamp(85px, 10vw, 145px);
}
::selection { background: rgba(245,207,72,.28); color: white; }
html { scroll-behavior: smooth; }
body { background: #08090b; }
/* A continuous warm, slender luminous route, from the first scene to the footer. */
body::before, body::after {
  content: ""; position: fixed; z-index: 49; pointer-events: none;
  left: max(13px, calc((100vw - 1510px) / 2)); top: 0; width: 2px;
}
body::before { height: 100vh; background: linear-gradient(180deg, transparent, rgba(245,207,72,.38) 10%, rgba(245,207,72,.38) 90%, transparent); box-shadow: 0 0 8px rgba(245,207,72,.18); }
body::after { height: calc(var(--scroll-progress, 0) * 100vh); background: linear-gradient(180deg, rgba(245,207,72,.28), #ffe36d 80%, #fff3b4); box-shadow: 0 0 11px rgba(250,206,59,.7),0 0 27px rgba(250,206,59,.26); transition: height .12s linear; }
@media (prefers-reduced-motion: reduce) { body::after { transition: none; } }
/* Yellow throughout, never stray blue chrome. */
.eyebrow { color: var(--champagne-2); }
.eyebrow::before { background: var(--majestic-yellow); }
.hdr { border-bottom-color: rgba(245,207,72,.12); }
.hdr.is-scrolled { background: rgba(7,8,10,.87); border-bottom-color: rgba(245,207,72,.2); }
.brand__mark { color: var(--majestic-yellow); }
.btn--solid { background: var(--majestic-yellow); color: #13120b; border-color: var(--majestic-yellow); box-shadow: 0 0 0 1px rgba(245,207,72,.07), 0 10px 35px rgba(245,207,72,.1); }
.btn--solid:hover { background: #ffde64; border-color: #ffde64; box-shadow: 0 0 24px rgba(245,207,72,.22); }
.btn--champagne { border-color: rgba(245,207,72,.57); color: #f7e7ad; }
.btn--champagne:hover { background: rgba(245,207,72,.1); border-color: var(--majestic-yellow); }
.btn--ghost:hover { border-color: var(--majestic-yellow); color: var(--majestic-yellow); }
.link-line::after { background: var(--majestic-yellow); }
.jform__step.is-current, .jform__step.is-done { color: var(--ivory); }
.jform__step.is-current::after, .jform__step.is-done::after { background: var(--majestic-yellow); }
.menu__item > a:hover, .nav a:hover { color: var(--majestic-yellow); }
.menu__item > a { letter-spacing: -.025em; }
/* A little more space to breathe, less brochure. */
.page-home .hero__vignette { background: linear-gradient(90deg,rgba(3,4,5,.8) 0%,rgba(3,4,5,.22) 52%,transparent 79%), linear-gradient(0deg,#08090b 0%,rgba(8,9,11,.3) 24%,transparent 47%),radial-gradient(100% 80% at 75% 50%,transparent 45%,rgba(0,0,0,.36)); }
.page-home .hero__headline em { color: #f6e4b5; }
.page-home .hero__lede { color: #f0ebe3; text-shadow: 0 2px 12px rgba(0,0,0,.65); }
.page-home .hero__brand { color: var(--majestic-yellow); text-shadow: 0 0 20px rgba(245,207,72,.24); }
.page-home .hero__headline { font-size: clamp(4rem,9.5vw,11.3rem); }
.page-home .hero__content { bottom: clamp(99px, 14vh, 160px); }
.page-home .hero__foot { bottom: 24px; }
.page-home .hero__values { color: rgba(255,255,255,.73); }
.page-home .hero__foot .scroll-cue { color: var(--majestic-yellow); }
/* Common sectional logic */
.mr-services, .mr-experience, .mr-vehicle, .mr-book-invite { isolation: isolate; position: relative; }
.mr-services { background: radial-gradient(ellipse 65% 30% at 74% 0%,rgba(245,207,72,.075),transparent 78%),#08090b; padding-bottom: clamp(86px,9vw,130px); }
.mr-intro { max-width: 900px; margin-bottom: clamp(40px,5vw,75px); display: grid; gap: 22px; }
.mr-intro .h2 { max-width: 12ch; }
.mr-intro .lede { max-width: 44ch; }
.mr-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px,1.5vw,24px); }
.mr-service-card { position: relative; display: flex; flex-direction: column; background: #111214; border: 1px solid rgba(245,207,72,.12); min-width: 0; overflow: hidden; transition: border-color .35s var(--ease), transform .55s var(--ease), box-shadow .5s var(--ease); }
.mr-service-card:hover, .mr-service-card:focus-visible { border-color: rgba(245,207,72,.6); box-shadow: 0 12px 65px rgba(0,0,0,.3), 0 0 28px rgba(245,207,72,.06); transform: translateY(-4px); }
.mr-service-card__photo { aspect-ratio: 4 / 3.45; overflow: hidden; background:#1a1b20; position:relative; }
.mr-service-card__photo::after { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35)); }
.mr-service-card__photo picture, .mr-service-card__photo img { width:100%;height:100%;display:block; }
.mr-service-card__photo img { object-fit: cover; transition: transform 1s var(--ease); }
.mr-service-card:hover img { transform: scale(1.055); }
.mr-service-card__body { padding: clamp(21px,2.6vw,38px); display:flex; flex-direction:column; gap:13px; flex:1; }
.mr-service-card__body h3 { font-family: var(--serif); font-size: clamp(1.9rem,2.5vw,3.3rem); line-height:1; letter-spacing:-.018em; color:var(--ivory); font-weight:400; }
.mr-service-card__body > p:not(.eyebrow) { color:var(--mute); font-size:14px; line-height:1.6; max-width:30ch; }
.mr-service-card__body .eyebrow { font-size:10px; }
.mr-service-card__action { margin-top:auto; padding-top:16px; color:var(--majestic-yellow); font-size:10px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.mr-service-more { display:flex; align-items:center; flex-wrap:wrap; column-gap:clamp(22px,3vw,52px); row-gap:14px; margin-top:32px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.mr-service-more .label { color:var(--champagne-2); }
.mr-service-more a { font-size:13px; font-weight:550; transition: color .3s; }
.mr-service-more a:hover { color:var(--majestic-yellow); }
.mr-service-more__all { margin-left:auto; color:var(--majestic-yellow); text-decoration:underline; text-underline-offset:6px; }
/* One beautiful cabin photograph instead of six consecutive photo essays. */
.mr-experience { padding: clamp(75px,9vw,140px) 0; background:#111214; border-block:1px solid rgba(245,207,72,.08); }
.mr-experience__layout { display:grid; grid-template-columns: 1.07fr .93fr; column-gap:clamp(45px,7vw,140px); align-items:center; }
.mr-experience__photo { position:relative; aspect-ratio: 4 / 5; overflow:hidden; }
.mr-experience__photo picture, .mr-experience__photo img { height:100%;width:100%;display:block;object-fit:cover; }
.mr-experience__photo img { object-fit:cover; }
.mr-experience__photo::after { content:""; pointer-events:none; position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(3,4,5,.6),transparent); }
.mr-photo-caption { position:absolute; z-index:1; bottom:26px;left:30px;color:#fff0c8;letter-spacing:.18em;font-size:10px;font-weight:650; }
.mr-experience__copy { display:grid;gap:24px;justify-items:start; }
.mr-experience__copy .h2 { max-width: 9ch; }
.mr-experience__copy .copy { font-size:clamp(15px,1.4vw,18px);line-height:1.7; }
.mr-promise { border-top:1px solid rgba(245,207,72,.2);width:100%;margin-block:6px 2px; }
.mr-promise > div { display:grid;grid-template-columns: minmax(130px,.72fr) 1fr;gap:18px;align-items:baseline;padding:19px 0;border-bottom:1px solid var(--line); }
.mr-promise h3 { color:var(--ivory);font-weight:600;font-size:13px; }
.mr-promise p { color:var(--mute);font-size:13px;line-height:1.6; }
/* A single purposeful studio frame. No long pinned slideshow, dots, or numbers. */
.mr-vehicle { padding: clamp(90px,11vw,166px) 0; background:radial-gradient(ellipse 60% 70% at 78% 55%,rgba(245,207,72,.05),transparent 75%),#08090b; }
.mr-vehicle__layout { display:grid;grid-template-columns: .8fr 1.2fr;gap:clamp(26px,4vw,65px);align-items:center; }
.mr-vehicle__copy { display:grid;justify-items:start;gap:24px;position:relative;z-index:2; }
.mr-vehicle__copy .h2 { max-width: 9ch; }
.mr-vehicle__copy .copy { font-size:clamp(15px,1.5vw,18px);line-height:1.8; }
.mr-vehicle__features { display:flex;flex-wrap:wrap;gap:8px;margin:7px 0; }
.mr-vehicle__features span { border:1px solid rgba(245,207,72,.25);padding:9px 13px;color:var(--ivory-2);font-size:11px; }
.mr-vehicle__photo { position:relative; min-height:0; overflow:hidden; aspect-ratio: 1.4 / 1; display:flex;align-items:center;justify-content:center; }
.mr-vehicle__photo picture, .mr-vehicle__photo img { width:100%;height:100%;display:block; }
.mr-vehicle__photo img { object-fit:contain; }
.mr-vehicle__photo::after {content:"";position:absolute;inset:0;pointer-events:none;border-bottom:1px solid rgba(245,207,72,.2);}
.mr-vehicle__photo::before {content:"";position:absolute;z-index:2;bottom:0;left:30%;right:30%;height:1px;background:var(--majestic-yellow);box-shadow:0 0 18px 2px rgba(245,207,72,.25);}
/* A decisive enquiry invitation, not another brochure chapter. */
.mr-book-invite { text-align:center; padding:clamp(76px,10vw,150px) 0; background:radial-gradient(ellipse 70% 65% at 50% 100%,rgba(245,207,72,.105),transparent),#121312;border-block:1px solid rgba(245,207,72,.13); }
.mr-book-invite__inner { display:flex;flex-direction:column;align-items:center;gap:20px; }
.mr-book-invite .h2 { max-width:16ch; }
.mr-book-invite .h2 em { color:var(--champagne-2); }
.mr-book-invite p:not(.eyebrow) { font-size:clamp(14px,1.3vw,17px);max-width:47ch; }
.mr-book-invite .btn { margin-top:14px; }
.page-home .book { padding:clamp(82px,10vw,145px) 0; }
.page-home .book__intro { align-content:start; }
.page-home .book__intro .h2 em { color:var(--champagne-2); }
.book__panel { border:1px solid rgba(245,207,72,.24); box-shadow:0 20px 80px rgba(0,0,0,.22); }
/* Make secondary pages read as part of the same brand. */
.phero__inner .display em, .feature__copy .h2 em, .quote-band em { color:var(--champagne-2); }
.svc-index a:hover { border-color:var(--majestic-yellow);color:var(--majestic-yellow); }
.feature__media { border-bottom:1px solid rgba(245,207,72,.22); }
.feature__num { display:none!important; }
/* Footer: remove duplicate service catalogue and sprawling brand billboard. */
.ftr { padding-top:clamp(38px,6vw,88px);background:#08090b; }
.ftr__grid { grid-template-columns: repeat(12,minmax(0,1fr));padding-block:clamp(32px,4vw,65px);border-top:none; }
.ftr__brand { grid-column: span 6; }
.ftr__col { grid-column: span 2; }
.ftr__col--wide { grid-column: span 4; }
.ftr__brand p { max-width:30em; }
.ftr__col h3 { color:var(--champagne-2); }
.ftr__bottom { border-top:1px solid rgba(245,207,72,.15); }
/* Keyboard states remain visible in the new color. */
:focus-visible { outline:2px solid var(--majestic-yellow);outline-offset:3px; }
@media(max-width:1100px) {
  .mr-service-grid { gap:13px; }
  .mr-service-card__body { padding:23px; }
  .mr-experience__layout { grid-template-columns:1fr 1fr;gap:35px; }
  .mr-promise > div { grid-template-columns:1fr;gap:5px; }
}
@media(max-width:760px) {
  body::before, body::after { left:10px; width:1.5px; }
  :root { --section: 78px; }
  .page-home .hero { min-height:580px; }
  .page-home .hero__headline { font-size:clamp(3.15rem,13.8vw,4.8rem); }
  .page-home .hero__content { top:calc(70px + 24px);bottom:max(21px,env(safe-area-inset-bottom)); }
  .page-home .hero__vignette { background:linear-gradient(180deg,rgba(4,5,7,.8),rgba(4,5,7,.26) 32%,transparent 50%),linear-gradient(0deg,#08090b 0%,rgba(8,9,11,.83) 13%,transparent 36%); }
  .page-home .hero__content .wrap { gap:12px; }
  .page-home .hero__headline em { color:var(--ivory); }
  .page-home .hero__cta { margin-top:auto; }
  .page-home .hero__foot { display:none; }
  .mr-services { padding-block:79px 86px; }
  .mr-intro { gap:15px;margin-bottom:33px; }
  .mr-intro .h2 { font-size:clamp(2.65rem,11vw,4.3rem); }
  .mr-intro .lede { font-size:14.5px; }
  .mr-service-grid { display:grid;grid-template-columns:1fr;gap:16px; }
  .mr-service-card { display:grid;grid-template-columns:40% 60%; min-height:180px; }
  .mr-service-card__photo { aspect-ratio:auto;height:100%;min-height:180px; }
  .mr-service-card__body { padding:clamp(14px,4vw,23px);gap:8px; }
  .mr-service-card__body .eyebrow { font-size:8px;letter-spacing:.11em; }
  .mr-service-card__body h3 { font-size:clamp(1.45rem,6vw,2.15rem);line-height:1; }
  .mr-service-card__body > p:not(.eyebrow) { font-size:12px;line-height:1.45; }
  .mr-service-card__action { padding-top:3px;font-size:9px;letter-spacing:.06em; }
  .mr-service-more { margin-top:25px;padding:20px 0;display:grid;gap:12px; }
  .mr-service-more .label { margin-bottom:2px; }
  .mr-service-more a { font-size:14px; }
  .mr-service-more__all { margin-left:0;margin-top:7px; }
  .mr-experience { padding:76px 0 86px; }
  .mr-experience__layout { display:flex;flex-direction:column;gap:34px; }
  .mr-experience__photo { width:100%;aspect-ratio: 5 / 4.25;order:2; }
  .mr-experience__copy { order:1;gap:17px;width:100%; }
  .mr-experience__copy .h2 { max-width:14ch;font-size:clamp(2.7rem,11.5vw,4.2rem); }
  .mr-experience__copy .copy { font-size:14.5px; }
  .mr-promise { margin-top:7px; }
  .mr-promise > div { display:grid;grid-template-columns:1fr;gap:3px;padding:12px 0; }
  .mr-promise h3 { font-size:13px; }
  .mr-promise p { font-size:12.5px; }
  .mr-photo-caption { left:18px;bottom:18px;font-size:9px; }
  .mr-vehicle { padding:79px 0 80px; }
  .mr-vehicle__layout { display:flex;flex-direction:column;gap:20px; }
  .mr-vehicle__copy { order:1;gap:17px;width:100%; }
  .mr-vehicle__copy .h2 { font-size:clamp(2.8rem,11vw,4.4rem);max-width:12ch; }
  .mr-vehicle__copy .copy { font-size:14.5px; }
  .mr-vehicle__features { margin:0;gap:6px; }
  .mr-vehicle__features span { font-size:10px;padding:7px 9px; }
  .mr-vehicle__copy .btn { margin-top:5px; }
  .mr-vehicle__photo { order:2;width:100%;aspect-ratio:1.35/1; }
  .mr-book-invite { padding:76px 0; }
  .mr-book-invite__inner { gap:16px; }
  .mr-book-invite .h2 { font-size:clamp(2.7rem,11.2vw,4.5rem); }
  .mr-book-invite p:not(.eyebrow) { font-size:14px;line-height:1.7; }
  .page-home .book { padding:75px 0; }
  .ftr { padding-top:25px; }
  .ftr__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;padding:33px 0; }
  .ftr__brand { grid-column:1/-1; }
  .ftr__col { grid-column:span 1; }
  .ftr__col--wide { grid-column:span 1; }
  .menu__item a .label { display:none; }
}
@media(max-width:380px) {
  .mr-service-card { grid-template-columns:38% 62%; }
  .mr-service-card__body { padding:13px;gap:5px; }
  .mr-service-card__body h3 { font-size:1.45rem; }
  .mr-service-card__action { line-height:1.25; }
  .ftr__col--wide { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce){ .mr-service-card,.mr-service-card img { transition:none; } }

/* A purposeful service selector: no repetitive car-photo gallery on the homepage. */
.mr-service-card { min-height: 308px; background: linear-gradient(150deg,#191919 0%,#101112 48%,#0b0c0d 100%); }
.mr-service-card::before {content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,var(--majestic-yellow),rgba(245,207,72,.12) 42%,transparent);opacity:.55;transition:opacity .4s;}
.mr-service-card:hover::before, .mr-service-card:focus-visible::before { opacity:1;box-shadow:0 0 19px rgba(245,207,72,.45); }
.mr-service-card__body { min-height:100%;padding:clamp(25px,3vw,44px); }
.mr-service-card__body h3 { font-size:clamp(2rem,3vw,3.9rem);max-width:12ch; }
.mr-service-card__body > p:not(.eyebrow) {font-size:15px;max-width:27ch;}
.mr-service-card__action { margin-top:auto; border-top:1px solid rgba(245,207,72,.16); padding-top:20px; }
@media(max-width:760px) {
  .mr-service-card { min-height:0;display:block; }
  .mr-service-card__body {padding:24px;min-height:178px;gap:10px;}
  .mr-service-card__body h3 {font-size:clamp(1.9rem,8vw,2.5rem);}
  .mr-service-card__body > p:not(.eyebrow) {font-size:13.5px;}
  .mr-service-card__action {padding-top:12px;font-size:10px;letter-spacing:.1em;}
}
@media(max-width:380px){.mr-service-card__body {padding:23px;}}
