:root {
  color-scheme: light;
  --page: #fff;
  --header: #fed702;
  --panel: #030303;
  --layout-width: min(1560px, calc(100% - 48px));
  --header-top: 18px;
  --header-height: 88px;
  --header-padding: 0 28px;
  --header-radius: 12px;
  --radius: 15px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--page); }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: calc(var(--header-top) + var(--header-height));
  font-family: Arial, Helvetica, sans-serif;
}
.header, .content {
  width: var(--layout-width);
  margin-inline: auto;
}
.header {
  position: fixed;
  top: var(--header-top);
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  height: var(--header-height);
  padding: var(--header-padding);
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  border-radius: var(--header-radius);
  background: var(--header);
}
.brand { display: flex; align-items: center; }
.brand__logo {
  display: block;
  width: 154px;
  height: 52px;
  object-fit: contain;
}
.content { margin-top: 12px; }
.visual-block {
  position: relative;
  isolation: isolate;
  min-height: clamp(320px, 33vw, 520px);
  display: flex;
  align-items: center;
  padding: clamp(24px, 4vw, 64px);
  overflow: hidden;
  border-radius: 20px;
  background: #242a2c;
  color: #fff;
}
.hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.visual-block::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 15, 20, .9), rgba(8, 15, 20, .54) 48%, rgba(8, 15, 20, .1));
}
.hero-copy { max-width: 620px; }
.hero-brand {
  margin: 0 0 20px;
  color: #fed702;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero-copy h1 {
  margin: 0;
  font-size: clamp(40px, 4.8vw, 68px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.hero-subtitle { max-width: 480px; margin: 20px 0 0; font-size: clamp(20px, 2vw, 28px); font-weight: 500; line-height: 1.35; letter-spacing: -.015em; }
.hero-subtitle span { display: block; }
.hero-description { margin: 14px 0 0; color: #e1e4e5; font-size: 15px; line-height: 1.5; }
@media (max-width: 680px) {
  .visual-block { min-height: 330px; padding: 24px 20px; border-radius: 16px; align-items: flex-end; }
  .hero-background { object-position: 62% center; }
  .visual-block::before { background: linear-gradient(0deg, rgba(8, 15, 20, .94), rgba(8, 15, 20, .66) 65%, rgba(8, 15, 20, .18)); }
  .hero-brand { font-size: 10px; margin-bottom: 14px; }
  .hero-copy h1 { font-size: clamp(34px, 9.5vw, 44px); }
  .hero-subtitle { margin-top: 14px; font-size: 20px; max-width: none; }
  .hero-description { margin-top: 12px; font-size: 14px; }
}
@media (max-width: 1180px) {
  :root {
    --layout-width: min(920px, calc(100% - 32px));
    --header-height: 80px;
    --header-padding: 14px 18px;
  }
}
@media (max-width: 680px) {
  :root {
    --layout-width: calc(100% - 32px);
    --header-top: 12px;
    --header-height: 74px;
    --header-padding: 14px;
    --header-radius: 16px;
  }
}
@media (max-width: 420px) {
  :root {
    --layout-width: calc(100% - 20px);
    --header-top: 8px;
    --header-padding: 12px;
  }
}

/* The popover lives in the browser top layer, outside header clipping. */
.header { justify-content: space-between; }
.menu-toggle {
  width: 44px;
  height: 44px;
  padding: 12px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .08);
  color: #151922;
  display: grid;
  align-content: center;
  gap: 5px;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  height: 2px;
  width: 20px;
  background: currentColor;
  transition: transform .2s, opacity .2s;
}
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.menu-toggle:hover { background: rgba(0, 0, 0, .15); }
.menu-panel {
  position: fixed;
  inset: calc(var(--header-top) + var(--header-height) + 9px) auto auto 50%;
  width: var(--layout-width);
  max-height: calc(100dvh - var(--header-top) - var(--header-height) - 21px);
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #151922;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  transform: translate(-50%, -14px);
  transition: opacity .2s, transform .2s, display .2s allow-discrete, overlay .2s allow-discrete;
}
.menu-panel:popover-open { opacity: 1; transform: translate(-50%, 0); }
.menu-panel::backdrop { background: transparent; }
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(0, 0, 0, .6);
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s;
}
body.menu-open { overflow: hidden; }
body.menu-open::before { opacity: 1; }
.menu-nav { display: grid; gap: 6px; }
.menu-item {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 44px;
  padding: 12px 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #596575;
  font: 600 13px/1.4 Arial, sans-serif;
  text-align: left;
  cursor: pointer;
}
.menu-item svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.menu-item:hover { background: #f0f2f4; color: #151922; }
.menu-item[aria-current="page"] { background: var(--header); color: #151922; }
.menu-item:active { background: #fed702; }
button:focus-visible, .section-content:focus-visible { outline: 2px solid #151922; outline-offset: 3px; }
.section-content { margin-top: 16px; padding: 24px; color: #151922; }
.section-content h2 { margin: 0 0 12px; font-size: clamp(22px, 4vw, 32px); }
.section-content p { margin: 0; color: #707070; }
.section-content:focus-visible { outline-color: #fed702; outline-offset: -4px; }
@starting-style {
  .menu-panel:popover-open { opacity: 0; transform: translate(-50%, -14px); }
}
@media (prefers-reduced-motion: reduce) {
  .menu-panel, .menu-toggle span, body::before { transition: none; }
}

.order-button, .contact-submit {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 46px; padding: 12px 20px; border: 0; border-radius: 12px;
  background: #fed702; color: #151922; font: 700 14px/1.4 Arial, sans-serif; cursor: pointer;
}
.order-button { margin-top: 26px; }
.order-button:hover, .contact-submit:not(:disabled):hover { background: #ffe64c; }
.order-button:focus-visible { outline-color: #fff; }
.help-launcher {
  position: fixed; z-index: 35; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom));
  display: flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; cursor: pointer; color: #151922;
}
.help-launcher { pointer-events: none; }
.help-duck { pointer-events: auto; }
.help-bubble { position: relative; display: grid; align-items: center; width: max-content; max-width: calc(100vw - 130px); padding: 12px 16px; border: 1px solid #e7e7e3; border-radius: 16px; background: #fff; box-shadow: 0 4px 20px #0000000d; text-align: left; font: 13px/1.5 Arial, sans-serif; pointer-events: auto; opacity: 1; transform: translateY(0) scale(1); transform-origin: right center; transition: opacity .22s ease, transform .22s ease, visibility .22s; }
.help-bubble.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(6px) scale(.92); }
.help-message { display: grid; }
.help-message-title, .help-message-action { display: block; }
.help-message-title:empty, .help-message-action:empty { display: none; }
.help-message .is-typing::after { content: ''; display: inline-block; height: 1em; width: 0; margin-left: 2px; border-right: 1px solid currentColor; vertical-align: -.12em; animation: help-caret .8s step-end infinite; }
.help-message.is-paused .is-typing::after { animation: none; }
@keyframes help-caret { 50% { opacity: 0; } }
.help-bubble::after { content: ''; position: absolute; right: -5px; top: 50%; width: 8px; height: 8px; background: #fff; border-top: 1px solid #e7e7e3; border-right: 1px solid #e7e7e3; transform: rotate(45deg); }
.help-duck { display: grid; place-items: center; flex-shrink: 0; width: 78px; height: 78px; border-radius: 50%; background: #fed702; box-shadow: 0 5px 24px #00000020; transition: background-color .2s ease, box-shadow .2s ease; }
.help-duck img { display: block; object-fit: contain; }
.help-duck-portrait { display: block; width: 72px; height: 72px; background: url('../images/brandicon.svg') center / auto 60px no-repeat; transform-origin: 50% 85%; }
@media (max-width: 680px) { .help-duck-portrait { width: 62px; height: 62px; background-size: auto 50px; } }
@media (prefers-reduced-motion: reduce) { .help-launcher.is-speaking .help-duck-portrait { animation: none; } }
@media (hover: hover) and (pointer: fine) {
  .help-launcher:hover .help-duck { background: #ffe443; box-shadow: 0 6px 26px #0000002b; }
}
.contact-dialog {
  position: fixed; inset: auto 24px 24px auto; width: min(400px, calc(100% - 24px)); max-width: calc(100% - 20px); max-height: calc(100dvh - 48px);
  margin: 0; padding: 28px 24px 24px; border: 1px solid #e9e9e3; border-radius: 24px; color: #151922; background: #fff;
  overflow-y: auto; overscroll-behavior: contain; opacity: 0; transform: translateY(32px);
  transition: opacity .22s, transform .22s, display .22s allow-discrete, overlay .22s allow-discrete;
}
.contact-dialog[open] { opacity: 1; transform: translateY(0); }
.contact-dialog::backdrop { background: #07111c66; }
.contact-handle { position: absolute; top: 0; left: calc(50% - 44px); width: 88px; height: 28px; padding: 0; border: 0; background: transparent; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.contact-handle::before { content: ''; position: absolute; top: 10px; left: 24px; width: 40px; height: 4px; border-radius: 4px; background: #dcded7; pointer-events: none; }
.contact-dialog.is-dragging { transition: none; user-select: none; -webkit-user-select: none; }
.contact-dialog.is-dragging .contact-handle { cursor: grabbing; }
.contact-close { position: absolute; right: 12px; top: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f2f3ee; font-size: 26px; color: #151922; cursor: pointer; }
.contact-close:hover { background: #e6e8df; }
.contact-heading { display: flex; align-items: center; gap: 12px; padding-right: 24px; }
.contact-heading p { margin: 0 0 5px; font: 800 10px/1.2 Arial, sans-serif; letter-spacing: .12em; }
.contact-heading h2 { margin: 0; font-size: 19px; line-height: 1.2; }
.contact-intro { margin: 18px 0; color: #63685f; font-size: 13px; line-height: 1.5; }
#contact-form { display: grid; gap: 8px; }
#contact-form label { font-size: 12px; font-weight: 700; }
#contact-form input, #contact-form textarea { appearance: none; width: 100%; min-width: 0; min-height: 44px; margin-bottom: 8px; padding: 12px; border: 1px solid #d9dcd3; border-radius: 10px; background: #fafbf8; color: #151922; font: 14px/1.4 Arial, sans-serif; }
#contact-form textarea { resize: vertical; min-height: 90px; }
#contact-form input:focus, #contact-form textarea:focus { outline: 2px solid #bd9f00; outline-offset: 2px; }
#contact-form input::placeholder, #contact-form textarea::placeholder { color: #73786d; }
.contact-status { margin: 0 0 6px; font-size: 12px; line-height: 1.45; color: #63685f; }
.contact-submit { width: 100%; }
.contact-submit:disabled { background: #eceee7; color: #72776b; cursor: not-allowed; }
body.contact-open { overflow: hidden; }
@starting-style { .contact-dialog[open] { opacity: 0; transform: translateY(32px); } }
@media (max-width: 680px) {
  .help-launcher { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); gap: 10px; }
  .help-duck { width: 66px; height: 66px; }
  .help-duck img { height: 50px; width: 34px; }
  .help-bubble { padding: 10px 12px; font-size: 12px; }
  .contact-dialog { left: 0; right: 0; bottom: 0; width: 100%; max-width: 100%; max-height: calc(100dvh - 20px); padding: 28px 20px max(20px, env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .contact-close { display: none; }
  .hero-copy { width: 100%; max-width: none; text-align: center; }
  .hero-subtitle { margin-inline: auto; }
  .order-button { width: 100%; margin-top: 20px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .contact-dialog, .help-duck, .help-bubble { transition: none; } .help-message .is-typing::after { display: none; animation: none; } }

.contact-choices { display: grid; gap: 12px; margin-top: 24px; }
.contact-choice { display: grid; grid-template-columns: minmax(0, 1fr) 22px; align-items: center; gap: 16px; width: 100%; min-height: 90px; padding: 18px 20px; border: 0; border-radius: 12px; background: #fed702; color: #151922; font: 13px/1.45 Arial, sans-serif; text-align: left; cursor: pointer; }
.choice-copy { display: grid; gap: 6px; }
.choice-copy strong { font-size: 15px; line-height: 1.3; font-weight: 700; }
.choice-copy > span { color: #49451d; font-size: 12px; }
.action-arrow { display: block; width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-choice, .order-button, .contact-submit { transition: background-color .18s ease, box-shadow .18s ease; }
@media (hover: hover) { .contact-choice:hover { background: #ffe64c; } }
.contact-choice:active, .order-button:active, .contact-submit:not(:disabled):active { background: #edc900; }
@media (prefers-reduced-motion: reduce) { .contact-choice, .order-button, .contact-submit { transition: none; } }
.contact-back { margin-top: 18px; padding: 8px 0; min-height: 40px; border: 0; background: none; color: #51594c; font: 600 13px Arial, sans-serif; cursor: pointer; }
.contact-choices[hidden], #contact-form[hidden], .contact-back[hidden], #contact-form [hidden] { display: none; }

.exchange-strip { display: flex; align-items: center; gap: 28px; min-height: 62px; margin-bottom: 12px; padding: 10px 22px; overflow-x: auto; border: 1px solid #efefef; border-radius: 14px; background: #ffffff; color: #151922; scrollbar-width: none; -ms-overflow-style: none; }
.exchange-strip::-webkit-scrollbar { display: none; }
.exchange-strip:focus-visible { outline: 2px solid #b99900; outline-offset: 2px; }
.exchange-heading { flex-shrink: 0; display: grid; gap: 4px; padding-right: 22px; border-right: 1px solid #dedfd6; }
.exchange-heading > span { font-size: 12px; font-weight: 700; }
.exchange-heading small { color: #6c7066; font-size: 10px; }
.exchange-list { display: flex; align-items: center; justify-content: space-between; flex: 1; gap: 28px; margin: 0; }
.exchange-row { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.exchange-row + .exchange-row { padding-left: 24px; border-left: 1px solid #dedfd6; }
.exchange-row dt { display: flex; align-items: center; gap: 8px; }
.currency-symbol { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fed702; font-size: 16px; }
.exchange-row abbr { text-decoration: none; font-size: 12px; font-weight: 600; }
.exchange-row dd { margin: 0; white-space: nowrap; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.exchange-row dd span { color: #6c7066; font-size: 12px; font-weight: 400; }
.exchange-stale { flex-shrink: 0; color: #6c7066; font-size: 11px; }
@media (max-width: 680px) {
  .exchange-strip { min-height: 56px; gap: 20px; padding: 9px 14px; border-radius: 12px; }
  .exchange-list { gap: 24px; }
  .exchange-row { gap: 8px; }
  .exchange-heading { padding-right: 16px; }
  .exchange-row + .exchange-row { padding-left: 20px; }
}

.hero-media-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 16px; align-items: stretch; }
.hero-media-layout > .visual-block { min-width: 0; }
.company-video { display: flex; flex-direction: column; min-width: 0; padding: 26px; border-radius: 20px; background: #151922; color: #fff; overflow: hidden; }
.company-video-label { display: block; margin-bottom: 10px; color: #fed702; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.company-video-heading h2 { margin: 0; font-size: clamp(20px, 2vw, 26px); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.company-video-cover { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-height: 230px; padding-top: 24px; }
.company-video-play { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #42464d; border-radius: 50%; color: #adb0b7; }
.company-video-play svg { width: 22px; height: 22px; fill: currentColor; margin-left: -3px; }
.company-video-cover p { margin: 0; color: #b7bac1; font-size: 12px; }
.company-video-player { display: block; width: 100%; min-width: 0; aspect-ratio: 16 / 9; margin-block: auto; border-radius: 12px; background: #080a0e; }
@media (max-width: 980px) { .company-video { padding: 22px 18px; } }
@media (max-width: 680px) {
  .hero-media-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .company-video { padding: 24px 20px; border-radius: 16px; }
  .company-video-cover { min-height: 220px; }
  .company-video-player { margin-top: 20px; }
}

@media (min-width: 981px) {
  .header { gap: 24px; }
  .brand { flex-shrink: 0; }
  .menu-toggle { display: none; }
  .header .menu-panel {
    position: static; inset: auto; display: block; flex: 1; min-width: 0;
    width: auto; max-height: none; margin: 0; padding: 0; border: 0;
    border-radius: 0; background: transparent; color: #151922;
    overflow: visible; opacity: 1; transform: none; transition: none;
  }
  .menu-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(2px, .6vw, 10px); }
  .menu-item { width: auto; min-height: 44px; padding: 10px clamp(6px, .7vw, 12px); gap: 8px; color: #151922; white-space: nowrap; font-size: clamp(11px, 1vw, 14px); }
  .menu-item svg { display: none; }
  .menu-item:hover { background: #0000000c; }
  .menu-item[aria-current="page"] { background: #151922; color: #fed702; }
}

.company-video { position: relative; padding: 0; min-height: 280px; }
.company-video-cover { position: absolute; inset: 0; padding: 24px; z-index: 2; background: #151922; }
.company-video-cover[hidden], .video-controls[hidden], .video-status[hidden] { display: none; }
.company-video-play { background: #fed702; border: 0; color: #151922; cursor: pointer; width: 56px; height: 56px; }
.company-video-play:hover { background: #ffe751; }
.company-video-play:focus-visible, .video-toolbar button:focus-visible { outline: 2px solid #fed702; outline-offset: 4px; }
.company-video-play:focus-visible { outline-color: white; }
.video-duck-track { position: relative; width: 100%; height: 100px; }
.video-duck-track img { position: absolute; width: 61px; height: 90px; object-fit: contain; animation: duck-run 7s ease-in-out infinite; }
@keyframes duck-run { 0%,100% { left: 0; transform: scaleX(1) rotate(-3deg); } 45% { left: calc(100% - 61px); transform: scaleX(1) rotate(3deg); } 50% { left: calc(100% - 61px); transform: scaleX(-1) rotate(-3deg); } 95% { left: 0; transform: scaleX(-1) rotate(3deg); } }
.company-video-player { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; aspect-ratio: auto; border-radius: 0; object-fit: contain; background: #151922; }
.custom-video .company-video-player { padding-bottom: 0; }
.video-controls { position: absolute; bottom: 0; left: 0; right: 0; z-index: 3; padding: 20px 12px 10px; background: linear-gradient(transparent, #151922ed); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.company-video:has(:focus-visible) .video-controls, .company-video.touch-controls-visible .video-controls { opacity: 1; pointer-events: auto; }
@media (hover: hover) { .company-video:hover .video-controls { opacity: 1; pointer-events: auto; } }
@media (hover: none) { .company-video.has-started:not(.is-playing) .video-controls { opacity: 1; pointer-events: auto; } }
@media (prefers-reduced-motion: reduce) { .video-controls { transition: none; } }
.video-toolbar { display: flex; align-items: center; gap: 4px; }
.video-toolbar button { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border: 0; border-radius: 10px; background: transparent; color: white; cursor: pointer; }
.video-toolbar button:hover, .video-toolbar button[aria-pressed="true"] { background: #ffffff18; color: #fed702; }
.video-toolbar svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.video-icon-play { fill: currentColor; stroke: none; }
.video-icon-pause { display: none; stroke-width: 3; }
.is-playing .video-icon-play { display: none; }
.is-playing .video-icon-pause { display: block; }
.video-time { flex: 1; font-size: 11px; white-space: nowrap; font-variant-numeric: tabular-nums; color: #d1d4da; }
.video-seek { display: block; appearance: none; width: 100%; height: 4px; margin: 7px 0; border: 0; border-radius: 4px; background: linear-gradient(to right,#fed702 var(--progress,0%),#424650 var(--progress,0%)); cursor: pointer; }
.video-seek::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; border-radius: 50%; background: #fed702; border: 0; }
.video-seek::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: #fed702; border: 0; }
.video-seek:focus-visible { outline: 2px solid white; outline-offset: 5px; }
.video-status { position: absolute; z-index: 4; top: 12px; left: 12px; right: 12px; margin: 0; padding: 10px; border-radius: 8px; background: #151922e8; color: white; font-size: 12px; text-align: center; }
.company-video:fullscreen { width: 100%; height: 100%; border-radius: 0; }
@media (prefers-reduced-motion: reduce) { .video-duck-track img { animation: none; left: calc(50% - 30px); } }

.company-video-cover .video-auto-poster { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.company-video-cover .video-auto-poster[hidden] { display: none; }
.company-video-cover { isolation: isolate; }
.company-video-cover::after { content: ''; position: absolute; inset: 0; z-index: -1; background: #07101a33; }
.company-video-cover .company-video-play { box-shadow: 0 4px 24px #00000030; }
.has-poster .company-video-cover p { color: #fff; text-shadow: 0 1px 8px #000; }
.video-duck-track { position: absolute; left: 12px; right: 12px; bottom: 10px; width: auto; height: 60px; z-index: 4; pointer-events: none; overflow: hidden; }
.has-started .video-duck-track { bottom: 78px; }
.company-video.is-playing .video-duck-track, .company-video:fullscreen .video-duck-track { display: none; }
.video-duck-runner { position: absolute; left: 0; width: 60px; height: 60px; animation: duck-travel var(--walk-duration, 20s) linear infinite; }
.video-duck-sprite { display: block; width: 60px; height: 60px; background: url('../images/duck-walk-smooth.png') 0 0 / 400% 200% no-repeat; animation: duck-frames .8s steps(1) infinite, duck-direction var(--walk-duration, 20s) steps(1) infinite; }
@keyframes duck-frames { 0%,100% { background-position: 0 0; } 12.5% { background-position: 33.333% 0; } 25% { background-position: 66.667% 0; } 37.5% { background-position: 100% 0; } 50% { background-position: 0 100%; } 62.5% { background-position: 33.333% 100%; } 75% { background-position: 66.667% 100%; } 87.5% { background-position: 100% 100%; } }
@keyframes duck-travel { 0%,100% { left: 0; } 50% { left: calc(100% - 60px); } }
@keyframes duck-direction { 0%,100% { transform: scaleX(-1); } 50% { transform: scaleX(1); } }
.sound-off { display: none; }
.video-mute[aria-pressed="true"] .sound-on { display: none; }
.video-mute[aria-pressed="true"] .sound-off { display: block; }
@media (prefers-reduced-motion: reduce) { .video-duck-runner { animation: none; left: calc(50% - 30px); } .video-duck-sprite { animation: none; } }

.stories-section { margin-top: 28px; }
.stories-section h2 { margin: 0 0 18px; font-size: 20px; letter-spacing: -.02em; }
.stories-list { display: flex; gap: 24px; overflow-x: auto; padding: 4px 2px 12px; scrollbar-width: none; }
.story-thumb { display: grid; justify-items: center; gap: 10px; flex: 0 0 100px; padding: 0; border: 0; background: none; color: #151922; font: 600 12px/1.4 Arial, sans-serif; cursor: pointer; }
.story-ring { display: grid; place-items: center; width: 88px; height: 88px; padding: 4px; border: 2px solid #e5be00; border-radius: 50%; transition: border-color .2s; }
.story-ring img { width: 76px; height: 76px; object-fit: cover; border-radius: 50%; background: #fed702; }
.story-thumb:first-child img { object-fit: contain; padding: 8px; }
.story-thumb:last-of-type img { object-fit: contain; padding: 9px; }
.story-ring { position: relative; }
.story-thumb.is-seen .story-ring { border-color: #d8d9d2; }
.story-thumb.is-seen .story-ring::after { content: '✓'; position: absolute; right: -1px; bottom: 0; display: grid; place-items: center; width: 20px; height: 20px; border: 2px solid #fff; border-radius: 50%; background: #747870; color: #fff; font: 700 11px/1 Arial, sans-serif; }
.story-thumb:hover .story-ring { border-color: #151922; }
.story-dialog { width: min(440px, calc(100% - 24px)); max-width: none; height: min(760px, calc(100dvh - 32px)); max-height: none; margin: auto; padding: 0; border: 0; border-radius: 22px; background: #151922; color: #fff; overflow: hidden; }
.story-dialog[open] { display: flex; flex-direction: column; }
.story-dialog::backdrop { background: #060b13d9; }
.story-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; gap: 16px; }
.story-top h2 { margin: 0; font-size: 16px; }
.story-close, .story-pagination button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #ffffff12; color: white; font-size: 24px; cursor: pointer; }
.story-media { display: grid; place-items: center; flex: 1; min-height: 0; overflow: hidden; background: #0c1017; }
.story-media img, .story-media video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.story-bottom { padding: 12px 16px 16px; }
.story-pagination { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-size: 12px; }
.story-pagination button:disabled { opacity: .3; cursor: default; }
.story-engagement { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.story-views { color: #bec2ca; font-size: 11px; }
.story-reactions { display: flex; gap: 6px; }
.story-reactions button { display: inline-flex; align-items: center; gap: 5px; min-height: 40px; padding: 6px 9px; border: 1px solid #424650; border-radius: 20px; background: transparent; color: white; cursor: pointer; font-size: 16px; }
.story-reactions button span { font-size: 11px; font-variant-numeric: tabular-nums; }
.story-reactions button[aria-pressed="true"] { border-color: #fed702; background: #fed702; color: #151922; }
.story-reactions button:disabled { opacity: .55; cursor: wait; }
.story-dialog button:focus-visible { outline: 2px solid #fed702; outline-offset: 2px; }
.story-status { margin: 10px 0 0; font-size: 12px; color: #c9cdd4; }
.story-status:empty { display: none; }
.story-retry { margin-top: 8px; padding: 8px 14px; border: 0; border-radius: 8px; background: #fed702; color: #151922; cursor: pointer; }
body.story-open { overflow: hidden; }
@media (max-width: 680px) { .stories-list { gap: 12px; } .story-thumb { flex-basis: 88px; } .story-dialog { width: 100%; height: 100dvh; border-radius: 0; } .story-top { padding-top: max(12px, env(safe-area-inset-top)); } .story-bottom { padding-bottom: max(16px, env(safe-area-inset-bottom)); } }

/* Story viewer: edge navigation and controls layered over the media. */
.story-dialog { position: fixed; width: min(420px, calc(100vw - 32px)); height: min(780px, calc(100dvh - 32px)); border-radius: 18px; background: #0c1017; }
.story-progress { position: absolute; z-index: 5; top: 10px; left: 10px; right: 10px; display: flex; gap: 4px; }
.story-progress > span { flex: 1; height: 3px; border-radius: 3px; background: #ffffff55; overflow: hidden; }
.story-progress-fill { display: block; width: 100%; height: 100%; transform-origin: left; background: #fff; }
.story-top { position: absolute; top: 18px; left: 0; right: 0; z-index: 4; padding: 10px 10px 32px; gap: 8px; background: linear-gradient(#0008, transparent); }
.story-avatar { flex: 0 0 32px; padding: 4px; background: #fed702; border-radius: 50%; object-fit: contain; }
.story-identity { flex: 1; min-width: 0; }
.story-identity > strong { font-size: 12px; letter-spacing: .02em; }
.story-top .story-identity h2 { margin-top: 3px; font-size: 11px; font-weight: 400; color: #ffffffbd; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.story-top button { flex: 0 0 36px; display: grid; place-items: center; width: 36px; height: 40px; border: 0; border-radius: 6px; background: transparent; color: #fff; cursor: pointer; }
.story-top button[hidden] { display: none; }
.story-top button svg, .story-views svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.story-top .pause-play { display: none; fill: currentColor; stroke: none; }
.story-pause[aria-pressed="true"] .pause-bars { display: none; }
.story-pause[aria-pressed="true"] .pause-play { display: block; }
.story-sound .audible-mark, .story-sound[aria-pressed="false"] .muted-mark { display: none; }
.story-sound[aria-pressed="false"] .audible-mark { display: block; }
.story-media { position: absolute; inset: 0; background-size: cover; background-position: center; isolation: isolate; }
.story-media::before { content: ''; position: absolute; inset: 0; backdrop-filter: blur(24px); background: #0008; z-index: -1; }
.story-media img, .story-media video { position: relative; width: 100%; height: 100%; object-fit: contain; }
.story-prev, .story-next { position: absolute; z-index: 2; top: 100px; bottom: 110px; width: 28%; border: 0; padding: 0; background: transparent; cursor: pointer; border-radius: 0; }
.story-prev { left: 0; } .story-next { right: 0; }
.story-prev:disabled { cursor: default; }
.story-bottom { position: absolute; z-index: 4; bottom: 0; left: 0; right: 0; padding: 40px 16px 20px; background: linear-gradient(transparent,#000a); }
.story-engagement { min-height: 44px; }
.story-views { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #ffffffcf; }
.story-views svg { width: 18px; height: 18px; }
.story-reactions { gap: 8px; }
.story-reactions button { min-width: 44px; min-height: 44px; justify-content: center; padding: 8px; border-color: transparent; border-radius: 24px; background: #ffffff16; font-size: 23px; }
.story-reactions button[aria-pressed="true"] { background: #ffffff28; border-color: #fed702; color: white; }
.story-reactions button span[hidden] { display: none; }
.story-reactions button span { font-size: 11px; }
.story-reactions button { position: relative; overflow: visible; }
.story-reaction-spark { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; border-radius: 50%; pointer-events: none; }
@media (max-width: 680px) { .story-dialog { width: 100%; height: 100dvh; border-radius: 0; } .story-progress { top: max(10px, env(safe-area-inset-top)); } .story-top { top: calc(max(10px, env(safe-area-inset-top)) + 8px); padding-top: 10px; } .story-bottom { padding-bottom: max(20px, env(safe-area-inset-bottom)); } }

.story-caption { position: absolute; left: 20px; right: 20px; bottom: 120px; z-index: 1; margin: 0; padding: 18px; border-radius: 14px; background: #151922ed; color: #fff; font-size: 18px; line-height: 1.45; text-align: center; }
.news-section { margin: 48px 0 64px; }
.video-reviews { margin: 48px 0; }
.video-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.video-review-placeholder { position: relative; display: flex; min-height: 320px; flex-direction: column; justify-content: space-between; padding: 24px; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #f7f7f4; }
.video-review-placeholder:nth-child(2) { background: #fffbed; }
.video-review-placeholder:nth-child(3) { background: #f3f5f6; }
.video-review-badge { align-self: flex-start; padding: 6px 10px; border-radius: 8px; background: #fff; color: #656970; font-size: 11px; font-weight: 600; }
.video-review-art { display: grid; place-items: center; padding: 20px 0 30px; }
.video-review-art svg { width: 72px; height: 72px; fill: none; stroke: #9b8a42; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.video-review-art svg path { fill: #fed702; stroke: #b29917; }
.video-review-caption strong { display: block; font-size: 17px; line-height: 1.4; }
.video-review-caption p { max-width: 280px; margin: 8px 0 0; color: #656970; font-size: 13px; line-height: 1.6; }
@media (max-width: 980px) { .video-review-placeholder { min-height: 300px; padding: 18px; } }
@media (max-width: 680px) { .video-reviews { margin: 32px 0; } .video-reviews-grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; } .video-reviews-grid::-webkit-scrollbar { display: none; } .video-review-placeholder { flex: 0 0 85%; min-height: 300px; scroll-snap-align: start; } }
.news-heading { text-align: center; margin-bottom: 48px; }
.news-heading h2 { margin: 0; font-size: 40px; line-height: 1.12; font-weight: 500; text-transform: uppercase; letter-spacing: -.025em; }
.news-heading p { margin: 8px 0 0; font-size: 12px; line-height: 1.55; color: #72757b; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.news-card { min-width: 0; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; transition: border-color .18s, box-shadow .18s; }
.news-card:hover { border-color: #c9b740; box-shadow: 0 6px 20px #15192208; }
.news-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.news-card-link:focus-visible { outline: 3px solid #9b7900; outline-offset: -3px; border-radius: 16px; }
.news-image { height: 210px; overflow: hidden; background: #f7f7f3; }
.news-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.news-card:nth-child(2) .news-image img { object-fit: contain; background: #fff; }
.news-card:nth-child(3) .news-image img { object-position: right; }
.news-copy { display: flex; flex: 1; flex-direction: column; padding: 21px 22px 22px; }
.news-category { display: block; margin: 0 0 10px; color: #756000; font-size: 11px; line-height: 1.4; font-weight: 800; text-transform: uppercase; }
.news-copy h3 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 700; letter-spacing: -.02em; }
.news-summary { margin: 10px 0 0; color: #656970; font-size: 13px; line-height: 1.6; }
.news-read-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 22px; min-height: 44px; color: #756000; font-size: 11px; font-weight: 800; }
.news-read-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.news-all { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 26px; padding: 12px 24px; border: 1px solid #e1e2e4; border-radius: 16px; background: #f6f6f7; color: #151922; text-decoration: none; font-size: 12px; font-weight: 700; }
.news-all:hover { background: #fed702; border-color: #fed702; }
.news-all:focus-visible, .news-back:focus-visible { outline: 2px solid #756000; outline-offset: 4px; }
.news-back { display: inline-flex; align-items: center; min-height: 44px; color: #555b63; font-size: 14px; text-decoration: none; }
.news-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin: 12px 0 16px; color: #737780; font-size: 10px; line-height: 1.5; }
.news-breadcrumbs a { display: inline-flex; align-items: center; min-height: 32px; color: #555b63; text-decoration: none; }
.news-breadcrumbs a:hover { color: #151922; text-decoration: underline; }
.news-breadcrumbs a:focus-visible { outline: 2px solid #756000; outline-offset: 3px; }
.news-full { display: grid; gap: 16px; min-width: 0; margin: 0 0 60px; }
.news-article-hero { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; }
.news-article-copy { align-self: center; padding: 40px; }
.news-article-copy .news-category { text-transform: none; margin: 0; }
.news-article-copy h1 { max-width: 750px; margin: 14px 0 18px; font-size: clamp(28px, 3vw, 42px); font-weight: 700; line-height: 1.18; letter-spacing: -.025em; text-wrap: balance; }
.news-article-copy > p { max-width: 650px; margin: 0; color: #656970; font-size: 14px; line-height: 1.65; }
.news-article-cover { display: grid; align-self: center; min-width: 0; margin: 48px 28px 28px 0; padding: 16px; border: 1px solid #e2e4e7; border-radius: 16px; background: #f6f7f8; }
.news-article-cover img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.news-article-content { min-width: 0; padding: 48px 56px; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; }
.news-article-lead { margin: 24px 0 30px; padding: 22px 24px; border-left: 3px solid #fed702; background: #faf9f1; color: #555b63; font-size: 16px; line-height: 1.75; }
.news-article-content h2 { margin: 0 0 16px; font-size: 24px; line-height: 1.3; }
.news-article-content > p { margin: 0; color: #454b54; font-size: 16px; line-height: 1.75; }
.news-article-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #e8e9eb; }
.news-article-cta > div { display: grid; gap: 8px; }
.news-article-cta span { color: #737780; font-size: 12px; }
.news-article-cta strong { font-size: 18px; line-height: 1.4; }
.news-article-cta .order-button { flex-shrink: 0; margin: 0; }
@media (max-width: 980px) { .news-article-copy { padding: 28px; } .news-article-cover { margin: 28px 20px 28px 0; padding: 10px; } .news-article-content { padding: 32px; } .news-article-cta { align-items: flex-start; flex-direction: column; } }
@media (max-width: 680px) { .news-breadcrumbs { gap: 6px; } .news-breadcrumbs [aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; } .news-article-hero { grid-template-columns: minmax(0, 1fr); } .news-article-copy { padding: 24px 20px 20px; } .news-article-copy h1 { font-size: 28px; } .news-article-cover { margin: 0 20px 20px; padding: 10px; } .news-article-content { padding: 24px 20px; } .news-article-lead { margin: 0 0 24px; padding: 16px; font-size: 14px; } .news-article-content h2 { font-size: 21px; } .news-article-content > p { font-size: 15px; } .news-article-cta .order-button { width: 100%; } }
@media (max-width: 980px) { .news-copy { padding: 18px; } .news-image { height: 180px; } }
@media (max-width: 680px) { .news-section { margin-top: 32px; } .news-heading { margin-bottom: 28px; } .news-heading h2 { font-size: 30px; } .news-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; } .news-image { height: auto; aspect-ratio: 16 / 9; } .news-all { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .news-card { transition: none; } }

/* Article text and standalone cover. */
.account-toggle { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; color: #151922; cursor: pointer; }
.header-user-actions { display: flex; align-items: center; gap: 8px; }
.menu-nav a.menu-item { text-decoration: none; }
.account-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-toggle:hover, .account-toggle[aria-expanded="true"] { background: #15192214; }
.account-toggle:focus-visible { outline: 2px solid #151922; outline-offset: 3px; }
.account-panel { position: fixed; inset: calc(var(--header-top) + var(--header-height) + 10px) max(24px, calc((100vw - 1560px) / 2)) auto auto; width: min(320px, calc(100vw - 32px)); margin: 0; padding: 24px; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; color: #151922; box-shadow: 0 12px 32px #15192212; }
.account-panel h2 { margin: 0 0 10px; font-size: 20px; }
.account-panel p { margin: 0; color: #656970; font-size: 14px; line-height: 1.6; }
@media (max-width: 680px) { .account-panel { right: 16px; } }
.news-full { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: start; }
.news-full .news-article-content { padding: 40px; }
.news-full .news-article-copy { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid #e8e9eb; }
.news-full .news-article-cover { display: block; margin: 0; padding: 0; align-self: start; overflow: hidden; border: 0; border-radius: 16px; background: #fff; }
.news-full .news-article-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.news-full .news-article-cta { align-items: flex-start; flex-direction: column; }
@media (max-width: 980px) { .news-full .news-article-content { padding: 28px; } }
@media (max-width: 680px) { .news-full { grid-template-columns: minmax(0, 1fr); } .news-full .news-article-content { padding: 24px 20px; } .news-full .news-article-copy { padding-bottom: 24px; margin-bottom: 24px; } .news-full .news-article-cta { align-items: stretch; } }

.review-card { display: block; min-width: 0; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; color: #151922; text-decoration: none; }
.review-card:hover { border-color: #bda329; }
.review-card:focus-visible { outline: 3px solid #756000; outline-offset: 3px; }
.review-thumbnail { position: relative; aspect-ratio: 16 / 9; background: #151922; overflow: hidden; }
.review-thumbnail video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.review-play { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fed702; color: #151922; }
.review-play svg { width: 23px; height: 23px; fill: currentColor; }
.review-card-copy { display: grid; gap: 7px; padding: 20px; }
.review-card-copy strong { font-size: 17px; line-height: 1.4; }
.review-card-copy > span { color: #656970; font-size: 12px; line-height: 1.5; }
.review-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(260px, 3fr); gap: 24px; align-items: start; margin-bottom: 64px; }
.review-main { min-width: 0; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; }
.review-main .company-video { aspect-ratio: 16 / 9; min-height: 0; border-radius: 0; }
.review-main .company-video-cover { min-height: 0; }
.review-description { padding: 28px; }
.review-description h1 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 32px); }
.review-description p { margin: 0; color: #656970; font-size: 14px; line-height: 1.65; }
.review-related { display: grid; gap: 16px; min-width: 0; }
.review-related h2 { margin: 0; font-size: 21px; }
.review-related .review-card-copy { padding: 16px; }
@media (max-width: 980px) { .review-layout { gap: 16px; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); } }
@media (max-width: 680px) { .video-reviews-grid > .review-card { flex: 0 0 85%; scroll-snap-align: start; } .review-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; } .review-description { padding: 20px; } .review-main .company-video { aspect-ratio: auto; height: calc((100vw - 32px) * .5625 + 74px); } }

/* Shared breadcrumb navigation. */
.news-breadcrumbs { gap: 8px; margin: 16px 0 20px; min-height: 40px; font-size: 12px; line-height: 1.5; }
.news-breadcrumbs a { min-height: 36px; padding: 6px 10px; border-radius: 8px; color: #656970; transition: background .15s, color .15s; }
.news-breadcrumbs a:hover { background: #fff6c4; color: #151922; text-decoration: none; }
.news-breadcrumbs a:first-child { display: inline-flex; gap: 7px; }
.news-breadcrumbs a:first-child::before { content: ''; width: 15px; height: 15px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 10 9-7 9 7v10H15v-7H9v7H3Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.news-breadcrumbs > [aria-hidden] { width: 12px; height: 12px; flex-shrink: 0; font-size: 0; background: #a5a8ad; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.news-breadcrumbs > [aria-current] { min-width: 0; padding: 6px 4px; color: #151922; font-weight: 600; }
.delivered-cars { margin: 48px 0; }
.delivered-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.delivered-card { min-width: 0; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; }
.delivered-image { position: relative; aspect-ratio: 16 / 10; background: #f6f7f8; }
.delivered-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.delivered-card:first-child .delivered-image img { object-fit: contain; background: white; }
.delivered-card:last-child .delivered-image img { object-position: right; }
.delivered-image > span { position: absolute; top: 14px; left: 14px; padding: 6px 10px; border-radius: 8px; background: #fff; font-size: 11px; color: #656970; }
.delivered-copy { padding: 22px; }
.delivered-copy h3 { margin: 0; font-size: 20px; line-height: 1.35; }
.delivered-copy p { margin: 10px 0 24px; color: #656970; font-size: 13px; line-height: 1.6; }
.delivered-order { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 46px; padding: 12px 14px; border: 0; border-radius: 10px; background: #fed702; color: #151922; font: 600 12px/1.4 Arial, sans-serif; text-align: left; cursor: pointer; }
.delivered-order:hover { background: #ffe751; }
.delivered-order svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 980px) { .delivered-copy { padding: 18px; } .delivered-copy h3 { font-size: 18px; } }
@media (max-width: 680px) { .news-breadcrumbs { gap: 4px; font-size: 11px; margin: 10px 0 16px; } .news-breadcrumbs a { padding: 6px; } .delivered-cars { margin: 32px 0; } .delivered-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
@media (prefers-reduced-motion: reduce) { .news-breadcrumbs a { transition: none; } }
.delivered-image { display: block; }
.delivered-copy h3 a { color: inherit; text-decoration: none; }
.delivered-copy h3 a:hover { color: #756000; }
a.delivered-order { text-decoration: none; }
.vehicle-specs { margin: 0 0 28px; }
.vehicle-specs > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid #eff0f1; font-size: 14px; line-height: 1.5; }
.vehicle-specs dt { color: #656970; }
.vehicle-specs dd { margin: 0; text-align: right; color: #151922; font-weight: 600; overflow-wrap: anywhere; }
.vehicle-specs-compact { margin: 0 0 22px; }
.vehicle-specs-compact > div { font-size: 12px; padding: 8px 0; }
.vehicle-detail { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; align-items: start; margin-bottom: 64px; }
.vehicle-photo { position: relative; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; }
.vehicle-photo img { display: block; width: 100%; height: auto; }
.vehicle-photo > span { position: absolute; left: 16px; top: 16px; padding: 7px 10px; border-radius: 8px; background: #fff; color: #656970; font-size: 11px; }
.vehicle-info { min-width: 0; padding: 32px; border: 1px solid #e8e9eb; border-radius: 16px; background: #fff; }
.vehicle-info h1 { margin: 0; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; }
.vehicle-description { margin: 14px 0 28px; font-size: 14px; line-height: 1.65; color: #656970; }
.vehicle-info h2 { margin: 0 0 12px; font-size: 20px; }
@media (max-width: 980px) { .vehicle-detail { gap: 16px; } .vehicle-info { padding: 24px; } }
@media (max-width: 680px) { .vehicle-detail { grid-template-columns: minmax(0, 1fr); } .vehicle-info { padding: 24px 20px; } .vehicle-specs > div { gap: 12px; font-size: 13px; } }
/* Vehicle cards: image, concise specifications and price. */
.delivered-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.delivered-card { display: flex; flex-direction: column; border-color: #e7e8ea; border-radius: 14px; transition: border-color .18s, box-shadow .18s; }
.delivered-card:hover { border-color: #d4c46c; box-shadow: 0 8px 24px #15192209; }
.delivered-image { height: 170px; aspect-ratio: auto; margin: 6px 6px 0; border-radius: 9px; overflow: hidden; background: #f5f6f7; }
.delivered-image > span { top: 12px; left: 12px; padding: 6px 9px; background: #ffffffed; font-size: 10px; }
.delivered-copy { display: flex; flex: 1; flex-direction: column; padding: 14px 16px 16px; }
.delivered-type { margin-bottom: 5px; color: #737780; font-size: 10px; }
.delivered-copy h3 { font-size: 17px; line-height: 1.3; letter-spacing: -.02em; min-height: 0; }
.delivered-card .vehicle-specs-compact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 14px 0 16px; }
.delivered-card .vehicle-specs-compact > div { display: flex; flex-direction: column; gap: 2px; padding: 0; border: 0; }
.delivered-card .vehicle-specs-compact dt { font-size: 11px; color: #737780; }
.delivered-card .vehicle-specs-compact dd { text-align: left; font-size: 12px; font-weight: 500; }
.delivered-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid #eff0f1; }
.delivered-price { display: grid; gap: 6px; }
.delivered-price > span { color: #737780; font-size: 11px; }
.delivered-price strong { font-size: clamp(20px, 2vw, 26px); line-height: 1.3; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.delivered-card .delivered-price strong { font-size: 17px; }
.delivered-card .delivered-order { flex-shrink: 0; width: auto; gap: 8px; margin-top: 0; min-height: 42px; padding: 10px 12px; border-radius: 9px; font-size: 11px; }
.delivered-card .delivered-order svg { width: 16px; height: 16px; }
.vehicle-price { margin-bottom: 28px; padding: 20px; background: #faf9f2; border-radius: 12px; }
.vehicle-price strong { font-size: 30px; }
@media (min-width: 681px) and (max-width: 980px) { .delivered-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .delivered-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; } .delivered-image { height: 160px; } .delivered-copy { padding: 12px 14px 14px; } }
@media (prefers-reduced-motion: reduce) { .delivered-card { transition: none; } }

.vehicle-gallery { min-width: 0; }
.vehicle-gallery .vehicle-photo { aspect-ratio: 4 / 3; }
.vehicle-gallery .vehicle-photo > img { width: 100%; height: 100%; object-fit: contain; }
.vehicle-thumbnails { display: flex; gap: 10px; overflow-x: auto; padding: 4px; margin: 12px -4px 0; }
.vehicle-thumbnails button { flex: 0 0 88px; width: 88px; height: 66px; padding: 3px; border: 2px solid #e8e9eb; border-radius: 10px; background: #fff; cursor: pointer; }
.vehicle-thumbnails button[aria-pressed="true"] { border-color: #c1a000; background: #fff9d9; }
.vehicle-thumbnails button img { display: block; width: 100%; height: 100%; border-radius: 5px; object-fit: cover; }
.gallery-status { margin: 10px 0 0; color: #656970; font-size: 12px; }
.review-clips { display: flex; gap: 8px; padding: 16px 20px 0; overflow-x: auto; }
.review-clips a { display: inline-flex; flex-shrink: 0; align-items: center; gap: 8px; min-height: 44px; padding: 10px 14px; border: 1px solid #e8e9eb; border-radius: 10px; color: #151922; text-decoration: none; font-size: 13px; }
.review-clips a[aria-current] { background: #fed702; border-color: #fed702; }
.review-clips a:hover { border-color: #b89d19; }
.review-clips a:focus-visible { outline: 2px solid #756000; outline-offset: 2px; }
.review-clips svg { width: 16px; height: 16px; fill: currentColor; }
.review-thumbnail > .media-count, .delivered-image > .media-count { position: absolute; top: auto; left: auto; bottom: 10px; right: 10px; padding: 5px 8px; border-radius: 7px; background: #151922d9; color: white; font-size: 11px; line-height: 1.4; }
.review-clips { gap: 12px; padding: 16px 20px 4px; }
.review-clips a { display: flex; flex-direction: column; align-items: stretch; gap: 0; flex: 0 0 160px; width: 160px; padding: 4px; border: 2px solid #e8e9eb; border-radius: 12px; background: #fff; overflow: hidden; }
.review-clips a[aria-current] { border-color: #c1a000; background: #fff9d9; }
.review-clip-preview { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 7px; background: #151922; }
.review-clip-preview video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.review-clip-play { position: absolute; inset: 0; margin: auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fed702; color: #151922; }
.review-clip-title { padding: 9px 6px 6px; font-size: 12px; line-height: 1.4; font-weight: 600; }
@media (max-width: 680px) { .review-clips { padding-inline: 12px; } .review-clips a { flex-basis: 140px; width: 140px; } }
body.auth-open { overflow: hidden; }
.auth-dialog { position: fixed; inset: 0; width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 28px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #e8e9eb; border-radius: 20px; background: #fff; color: #151922; box-shadow: 0 24px 80px #0003; }
.auth-dialog::backdrop { background: #15192280; backdrop-filter: blur(4px); }
.auth-dialog [hidden] { display: none !important; }
.auth-close { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f4f5f6; color: #656970; cursor: pointer; }
.auth-close svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }
.auth-heading { display: flex; align-items: center; gap: 14px; padding-right: 25px; margin-bottom: 24px; }
.auth-heading img { object-fit: contain; }
.auth-heading span { display: block; margin-bottom: 4px; color: #737780; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.auth-heading h2 { margin: 0; font-size: 24px; line-height: 1.2; letter-spacing: -.025em; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 24px; border-radius: 12px; background: #f3f4f5; }
.auth-tabs button { min-height: 42px; border: 0; border-radius: 9px; background: transparent; color: #656970; font-size: 13px; font-weight: 600; cursor: pointer; }
.auth-tabs button[aria-selected=true] { background: #fed702; color: #151922; }
.auth-form { display: flex; flex-direction: column; }
.auth-form > label { margin: 0 0 7px; font-size: 12px; font-weight: 600; }
.auth-form > input:not([type=hidden]) { appearance: none; width: 100%; min-height: 46px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid #dedfe3; border-radius: 10px; background: #fff; color: #151922; font: inherit; font-size: 14px; }
.auth-form > input::placeholder { color: #858a92; }
.auth-form > input:focus { border-color: #ad9000; outline: 2px solid #fed70240; outline-offset: 1px; }
.auth-submit { min-height: 48px; margin-top: 6px; border: 0; border-radius: 10px; background: #fed702; color: #151922; font-size: 14px; font-weight: 700; cursor: pointer; }
.auth-submit:hover { background: #ffe551; }
.auth-submit:disabled, .auth-logout:disabled { opacity: .6; cursor: wait; }
.auth-status { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: #656970; }
.auth-status:empty { display: none; }
.auth-avatar-upload { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; }
.auth-avatar-upload > img { flex-shrink: 0; width: 64px; height: 64px; padding: 9px; border-radius: 50%; background: #fff0aa; object-fit: contain; }
.auth-avatar-upload > div { min-width: 0; }
.auth-upload-button { position: relative; display: inline-flex; align-items: center; min-height: 40px; padding: 8px 12px; border: 1px solid #dedfe3; border-radius: 9px; color: #151922; font-size: 12px; font-weight: 600; cursor: pointer; overflow: hidden; }
.auth-upload-button input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.auth-upload-button:focus-within { outline: 2px solid #756000; outline-offset: 2px; }
.auth-avatar-upload p { margin: 6px 0 0; font-size: 10px; line-height: 1.5; color: #737780; overflow-wrap: anywhere; }
.auth-avatar-remove { min-height: 32px; padding: 4px 0; border: 0; background: none; color: #756000; font-size: 12px; cursor: pointer; }
.auth-profile { text-align: center; padding-top: 8px; }
.auth-profile-avatar { display: block; margin: 0 auto 18px; border-radius: 50%; object-fit: cover; }
.auth-profile h3 { margin: 0 0 10px; font-size: 22px; overflow-wrap: anywhere; }
.auth-profile p { margin: 6px 0; color: #656970; font-size: 14px; }
.auth-logout { min-height: 44px; margin-top: 24px; padding: 10px 18px; border: 1px solid #dedfe3; border-radius: 10px; background: #f6f7f8; font-weight: 600; cursor: pointer; }
.account-toggle:has(.account-avatar) { padding: 0; }
.account-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
@media (max-width: 480px) { .auth-dialog { padding: 24px 20px; border-radius: 16px; } .auth-heading h2 { font-size: 21px; } .auth-form > input:not([type=hidden]) { font-size: 16px; } }
.hero-copy h1.hero-subtitle { margin: 0; font-size: clamp(20px, 2vw, 28px); font-weight: 500; line-height: 1.35; letter-spacing: -.015em; }
.news-heading h1 { margin: 0; font-size: 40px; line-height: 1.12; font-weight: 500; text-transform: uppercase; letter-spacing: -.025em; }
@media (max-width: 680px) { .hero-copy h1.hero-subtitle { font-size: 20px; } .news-heading h1 { font-size: 30px; } .reviews-archive .video-reviews-grid { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; } }
.news-article-sidebar { display: grid; gap: 24px; min-width: 0; }
.news-related > h2 { margin: 0 0 14px; font-size: 20px; line-height: 1.3; }
.news-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.news-related-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e8e9eb; border-radius: 12px; background: #fff; color: #151922; text-decoration: none; }
.news-related-card:hover { border-color: #bda329; }
.news-related-card:focus-visible { outline: 2px solid #756000; outline-offset: 3px; }
.news-related-card > img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.news-related-card > div { display: flex; flex: 1; flex-direction: column; padding: 12px; }
.news-related-card > div > span:first-child { color: #737780; font-size: 10px; line-height: 1.4; }
.news-related-card h3 { margin: 8px 0 14px; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.news-related-read { display: flex; align-items: center; justify-content: space-between; min-height: 28px; margin-top: auto; color: #756000; font-size: 11px; font-weight: 600; }
.news-related-read svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.auth-avatar-upload > img { padding: 0; object-fit: cover; }

.preview-rail { --preview-width: clamp(220px, 22vw, 280px); display: flex; align-items: stretch; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 3px 3px 6px; margin-inline: -3px; }
.preview-rail::-webkit-scrollbar { display: none; }
.preview-rail > .news-card, .preview-rail > .review-card, .preview-rail > .delivered-card { flex: 0 0 var(--card-width, var(--preview-width)); width: var(--card-width, var(--preview-width)); scroll-snap-align: start; }
.preview-rail .news-image { height: 150px; }
.preview-rail .news-copy { padding: 16px; }
.preview-rail .news-copy h3 { font-size: 16px; }
.preview-rail .news-summary { font-size: 12px; }
.preview-rail .review-card-copy { padding: 16px; }
.preview-rail .review-card-copy strong { font-size: 16px; }
.preview-rail > .preview-all { display: flex; flex: 0 0 calc(var(--card-width, var(--preview-width)) * .2); width: calc(var(--card-width, var(--preview-width)) * .2); min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--header); border-radius: 14px; background: var(--header); color: #151922; text-decoration: none; scroll-snap-align: end; transition: border-color .18s, background .18s; }
.preview-rail > .preview-all[hidden] { display: none; }
.preview-rail > [hidden] { display: none; }
@media (min-width: 981px) { .preview-rail { overflow-x: hidden; scroll-snap-type: none; } }
@media (max-width: 680px) {
  .news-full .news-article-sidebar { display: contents; }
  .news-full .news-article-cover { order: 0; }
  .news-full .news-article-content { order: 1; }
  .news-full .news-related { order: 2; margin-top: 8px; }
}
.preview-all svg { width: 32px; height: 32px; padding: 7px; border-radius: 10px; background: transparent; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s; }
.preview-all span { font-size: 11px; font-weight: 700; }
.preview-rail > .preview-all:hover { background: #ffe551; border-color: #ffe551; }
.preview-all:hover svg { transform: translateX(2px); }
@media (prefers-reduced-motion: reduce) { .preview-rail > .preview-all, .preview-all svg { transition: none; } }
.preview-all:focus-visible { outline: 2px solid #756000; outline-offset: -4px; }
@media (max-width: 680px) { .preview-rail { --preview-width: 240px; } }

.auth-dialog.is-unavailable .auth-guest, .auth-dialog.is-unavailable .auth-profile, .auth-dialog.is-unavailable .auth-status,
.contact-dialog.is-unavailable .contact-choices, .contact-dialog.is-unavailable .contact-back, .contact-dialog.is-unavailable .contact-intro, .contact-dialog.is-unavailable #contact-form { display: none !important; }
.unavailable-message { margin: 18px 0 4px; padding: 20px; border-radius: 12px; background: #fff9db; color: #151922; font-size: 16px; line-height: 1.7; }
.unavailable-message span { color: #656970; font-size: 14px; }
body.dev-open { overflow: hidden; }
.dev-launcher { position: fixed; left: 20px; bottom: 20px; z-index: 35; display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 10px 14px; border: 1px solid #e3e4e6; border-radius: 12px; background: #fff; color: #151922; box-shadow: 0 4px 16px #1519220d; font: 600 12px/1.4 Arial, sans-serif; cursor: pointer; }
.dev-launcher > span { width: 7px; height: 7px; border-radius: 50%; background: #d6ae00; }
.dev-dialog { position: fixed; inset: 0; width: min(460px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 32px; overflow-y: auto; border: 1px solid #e7e8eb; border-radius: 20px; background: #fff; color: #151922; box-shadow: 0 24px 80px #0003; }
.dev-dialog::backdrop { background: #15192288; backdrop-filter: blur(4px); }
.dev-close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 40px; height: 40px; padding: 10px; border: 0; border-radius: 50%; background: #f3f4f5; cursor: pointer; }
.dev-close svg { width: 20px; height: 20px; fill: none; stroke: #656970; stroke-width: 1.8; stroke-linecap: round; }
.dev-label { display: block; padding-right: 30px; color: #756000; font-size: 11px; font-weight: 600; }
.dev-dialog h2 { margin: 12px 0; font-size: 30px; line-height: 1.2; letter-spacing: -.03em; }
.dev-intro { margin: 0 0 24px; color: #656970; font-size: 14px; line-height: 1.6; }
.dev-tasks { list-style: none; padding: 0; margin: 0; }
.dev-tasks li { display: flex; align-items: center; gap: 12px; padding: 17px 0; border-top: 1px solid #eff0f1; }
.dev-task-dot { flex: 0 0 8px; height: 8px; border-radius: 50%; background: #fed702; }
.dev-tasks strong { flex: 1; font-size: 14px; line-height: 1.5; }
.dev-task-copy { display: grid; flex: 1; min-width: 0; gap: 5px; }
.dev-task-owners { color: #656970; font-size: 11px; line-height: 1.5; }
.dev-intro strong { color: #151922; }
.dev-date { flex-shrink: 0; padding: 6px 9px; border-radius: 7px; background: #f5f6f7; color: #656970; font-size: 12px; }
.dev-production-note { display: block; margin: 16px 0 24px; padding: 16px; border: 1px solid #eee1a5; border-radius: 12px; background: #fff9db; color: #655720; font: 12px/1.6 Arial, sans-serif; }
.dev-production-note > strong { display: block; margin-bottom: 8px; color: #151922; font-size: 13px; }
.dev-production-note ul { margin: 0; padding-left: 17px; }
.dev-production-note li + li { margin-top: 8px; }
.dev-dismiss { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 46px; padding: 12px 16px; border: 0; border-radius: 10px; background: #fed702; color: #151922; font-size: 13px; font-weight: 600; cursor: pointer; }
.dev-dismiss:hover { background: #ffe551; }
@media (max-width: 480px) { .dev-dialog { padding: 28px 20px 20px; border-radius: 16px; } .dev-dialog h2 { font-size: 27px; } .dev-launcher { left: 12px; bottom: 12px; } }
.desktop-navigation { display: none; }
@media (min-width: 981px) {
  .desktop-navigation { display: flex; justify-content: center; align-items: center; gap: 6px; min-width: 0; }
  .desktop-navigation .menu-item { display: flex; gap: 8px; text-decoration: none; }
  .desktop-navigation .menu-item svg { display: block; width: 20px; height: 20px; }
  .header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; }
  .header .brand { justify-self: start; }
  .header-user-actions { justify-self: end; padding-left: 16px; border-left: 1px solid #15192226; }
}
.auth-registration-notice { margin: 0 0 12px; padding: 12px 14px; border-radius: 10px; background: #fff9db; color: #756000; font-size: 12px; line-height: 1.5; }
#auth-register .auth-submit:disabled { cursor: not-allowed; }

.empty-state {padding:32px 20px;border:1px solid #e8e9eb;border-radius:14px;text-align:center;color:#737780;font-size:14px;}

.content-source { font-size: 13px; line-height: 1.6; color: #72767e; }
.content-source a { color: inherit; text-underline-offset: 3px; }

/* Suppress browser tap flash, retain keyboard focus in brand colors. */
* { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, textarea, select, summary, [tabindex], [role="button"]):focus:not(:focus-visible) { outline: none; }
:where(a, button, input, textarea, select, summary, [tabindex], [role="button"]):focus-visible {
  outline: 2px solid #b59400;
  outline-offset: 3px;
}
