
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

:root {
    --red: #e82127;
    --red-dark: #b91c1c;
    --red-pale: #fff0f0;
    --ink: #171717;
    --muted: #666;
    --line: #e7e7e7;
    --wash: #f7f7f7;
    --white: #fff;
    --radius: 12px;
    --max: 1160px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font: 13px/1.65 Manrope, system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body:before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    z-index: 10;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    width: min(var(--max), calc(100% - 40px));
    margin: auto;
}


/* =========================================================
   TICKER
   ========================================================= */

.ticker {
    height: 27px;
    background: #242424;
    color: #ddd;
    display: flex;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    font: 10px "Space Grotesk", sans-serif;
}

.ticker-track {
    display: flex;
    gap: 31px;
    animation: slide 32s linear infinite;
    padding-left: 20px;
}

.ticker b {
    font-weight: 500;
    color: #f5f5f5;
}

.up {
    color: #6cce9a;
}

.down {
    color: #f17d81;
}

@keyframes slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-30%);
    }
}


/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

.site-header {
    height: 66px;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid #eee;
    position: relative;
    z-index: 20;
}

.nav-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.brand {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 126px;
    font: 700 14px "Space Grotesk", sans-serif;
    letter-spacing: -.04em;
}

.brand img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

.brand small {
    font: 500 9px Manrope, sans-serif;
    letter-spacing: .04em;
    color: #999;
    margin-left: -4px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-left: 32px;
}

.nav-links a,
.nav-actions a {
    font-size: 12px;
    color: #383838;
    position: relative;
    transition: color .2s;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--red);
}

.nav-links a.active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -24px;
    height: 2px;
    background: var(--red);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 17px;
}

.nav-actions .signup {
    background: var(--red);
    color: white;
    padding: 8px 15px;
    border-radius: 6px;
    font-size: 11px;
}

.nav-actions .signup:hover {
    background: var(--red-dark);
}

.menu-toggle {
    display: none;
    background: none;
    border: 0;
    color: var(--ink);
    font-size: 18px;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {
    background: var(--red);
    color: white;
    position: relative;
    overflow: hidden;
    padding: 58px 0 70px;
}

.hero:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: -5%;
    width: 110%;
    height: 32px;
    background: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.eyebrow {
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--red);
    font-weight: 800;
    margin: 0 0 14px;
}

.hero .eyebrow {
    color: #ffd7d7;
}

h1,
h2,
h3,
h4 {
    font-family: "Space Grotesk", sans-serif;
    line-height: 1.06;
    letter-spacing: -.055em;
    margin: 0;
}

h1 {
    font-size: clamp(35px, 4.6vw, 58px);
}

h2 {
    font-size: clamp(29px, 3.5vw, 43px);
}

h3 {
    font-size: 20px;
    letter-spacing: -.04em;
}

.hero h1 {
    max-width: 520px;
}

.hero-copy {
    font-size: 13px;
    line-height: 1.65;
    color: #ffe9e9;
    max-width: 505px;
    margin: 17px 0 24px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 39px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    transition: .2s;
}

.btn-primary {
    background: #fff;
    color: var(--red);
}

.btn-primary:hover {
    background: #fff0f0;
}

.btn-outline {
    border-color: rgba(255, 255, 255, .42);
    color: #fff;
    background: transparent;
}

.btn-outline:hover {
    background: rgba(255, 255, 255, .12);
}

.hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.status-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 19px;
}

.pill {
    padding: 4px 9px;
    border-radius: 99px;
    background: rgba(255, 255, 255, .12);
    color: #ffe8e8;
    font-size: 9px;
}

.pill i {
    font-size: 7px;
    color: #9ff0c3;
    margin-right: 4px;
}

.hero-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.hero-card {
    min-height: 105px;
    padding: 17px 16px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    border-radius: 10px;
}

.hero-card i {
    font-size: 14px;
    margin-bottom: 11px;
}

.hero-card h4 {
    font: 700 11px Manrope;
    margin: 0 0 4px;
}

.hero-card p {
    font-size: 9px;
    line-height: 1.5;
    color: #ffd8d8;
    margin: 0;
}

.tag {
    font-size: 7px;
    padding: 2px 5px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .17);
    margin-left: 4px;
    letter-spacing: .04em;
}


/* =========================================================
   SECTIONS
   ========================================================= */

.section {
    padding: 76px 0;
}

.section-tight {
    padding: 42px 0;
}

.section-muted {
    background: var(--wash);
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
}

.section-head p {
    max-width: 470px;
    color: var(--muted);
    font-size: 12px;
    margin: 0;
}

.section-head h2 {
    max-width: 480px;
}


/* =========================================================
   FEATURE CARDS
   ========================================================= */

.feature-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
    margin-top: 0;
}

.feature-card {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 18px 16px;
    background: #fff;
    min-height: 119px;
    transition: transform .25s, border-color .25s;
}

.feature-card:hover {
    transform: translateY(-4px);
    border-color: #f2a8aa;
}

.icon-box {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    background: var(--red-pale);
    color: var(--red);
    border-radius: 6px;
    margin-bottom: 13px;
    font-size: 12px;
}

.feature-card h4 {
    font-size: 11px;
    margin: 0 0 5px;
}

.feature-card p {
    font-size: 9px;
    color: var(--muted);
    line-height: 1.45;
    margin: 0;
}


/* =========================================================
   STATISTICS
   ========================================================= */

.stat-band {
    background: #202020;
    color: #fff;
    padding: 38px 0;
}

.stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.stat {
    border-left: 1px solid #464646;
    padding-left: 18px;
}

.stat strong {
    font: 700 30px "Space Grotesk";
    letter-spacing: -.08em;
}

.stat span {
    display: block;
    color: #b7b7b7;
    font-size: 10px;
    margin-top: 3px;
}


/* =========================================================
   SPLIT SECTION
   ========================================================= */

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.split-art {
    background: linear-gradient(140deg, #f9d9da, #fff 65%);
    min-height: 320px;
    border-radius: 14px;
    position: relative;
    overflow: hidden;
    border: 1px solid #f3dddd;
}

.split-art:before {
    content: "";
    position: absolute;
    width: 75%;
    height: 170px;
    border: 1px solid #e82127;
    border-radius: 55% 45% 48% 52%;
    right: -12%;
    top: 67px;
    transform: rotate(-8deg);
}

.split-art:after {
    content: "TESLA / DEMO";
    position: absolute;
    bottom: 21px;
    left: 24px;
    color: #c98b8e;
    font: 700 10px "Space Grotesk";
    letter-spacing: .14em;
}

.split-copy p {
    color: var(--muted);
    max-width: 470px;
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 21px 0;
}

.check-list li {
    margin: 10px 0;
    color: #444;
    font-size: 12px;
}

.check-list i {
    color: var(--red);
    margin-right: 9px;
}


/* =========================================================
   METRICS / CHART
   ========================================================= */

.metric-panel {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    padding: 21px;
}

.metric-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.metric-top b {
    font: 700 13px "Space Grotesk";
}

.live {
    font-size: 9px;
    color: #398e5d;
}

.live i {
    font-size: 7px;
    margin-right: 4px;
}

.chart {
    height: 110px;
    position: relative;
    background: repeating-linear-gradient(
        to bottom,
        #fff 0,
        #fff 35px,
        #f1f1f1 36px
    );
    overflow: hidden;
}

.chart svg {
    width: 100%;
    height: 100%;
}

.market-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 16px;
}

.market-item {
    background: var(--wash);
    border-radius: 7px;
    padding: 10px;
    font-size: 9px;
}

.market-item b {
    display: block;
    font-size: 10px;
}

.market-item span {
    color: #298e5b;
}


/* =========================================================
   VEHICLES
   ========================================================= */

.vehicle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.vehicle-card {
    border: 1px solid var(--line);
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
}

.vehicle-image {
    height: 160px;
    background: linear-gradient(130deg, #f4f4f4, #e6e6e6);
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
}

.vehicle-image {
    height: 160px;
    background: linear-gradient(130deg, #f4f4f4, #e6e6e6);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.vehicle-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.vehicle-image span {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #fff;
    color: var(--red);
    font-size: 8px;
    padding: 4px 6px;
    border-radius: 4px;
}

.vehicle-info {
    padding: 15px;
}

.vehicle-info h3 {
    font-size: 16px;
}

.vehicle-info p {
    font-size: 10px;
    color: var(--muted);
    margin: 3px 0 13px;
}

.vehicle-meta {
    display: flex;
    gap: 13px;
    color: #555;
    font-size: 9px;
    border-top: 1px solid var(--line);
    padding-top: 11px;
}

.vehicle-meta i {
    color: var(--red);
    margin-right: 3px;
}

.price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
}

.price {
    font: 700 16px "Space Grotesk";
}

.price-row .btn {
    min-height: 30px;
    padding: 7px 10px;
    font-size: 9px;
    background: var(--red);
    color: #fff;
}


/* =========================================================
   PAGE HERO
   ========================================================= */

.page-hero {
    background: var(--red-pale);
    padding: 54px 0 51px;
    border-bottom: 1px solid #f6d7d7;
}

.breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #858585;
    font-size: 10px;
    margin-bottom: 19px;
}

.breadcrumb a:hover {
    color: var(--red);
}

.breadcrumb i {
    font-size: 8px;
}

.page-hero h1 {
    font-size: clamp(34px, 5vw, 54px);
    max-width: 730px;
}

.page-hero p {
    color: var(--muted);
    max-width: 570px;
    margin: 15px 0 0;
    font-size: 13px;
}


/* =========================================================
   FILTER BAR / FORM FIELDS
   ========================================================= */

.filter-bar {
    border: 1px solid var(--line);
    padding: 14px;
    border-radius: 10px;
    background: #fff;
    display: grid;
    grid-template-columns: 1.5fr 1fr .8fr .8fr 1fr auto;
    gap: 8px;
    margin-bottom: 24px;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.field label {
    font-size: 10px;
    font-weight: 800;
    color: #454545;
}

.field input,
.field select,
.field textarea {
    height: 38px;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 8px 10px;
    color: #444;
    background: #fff;
    outline: none;
}

.field textarea {
    height: 145px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--red);
    box-shadow: 0 0 0 3px rgba(232, 33, 39, .1);
}

.filter-bar .btn {
    align-self: end;
    background: var(--red);
    color: #fff;
    height: 38px;
}

.empty-state {
    display: none;
    text-align: center;
    border: 1px dashed #ddd;
    padding: 40px;
    color: #777;
}

.empty-state.show {
    display: block;
}


/* =========================================================
   CONTENT / LEGAL
   ========================================================= */

.content-grid {
    display: grid;
    grid-template-columns: 1.28fr .72fr;
    gap: 50px;
}

.prose {
    max-width: 750px;
}

.prose h2 {
    font-size: 24px;
    margin: 38px 0 13px;
}

.prose h2:first-child {
    margin-top: 0;
}

.prose h3 {
    margin: 25px 0 7px;
}

.prose p,
.prose li {
    color: #5f5f5f;
    font-size: 13px;
    line-height: 1.85;
}

.prose ul,
.prose ol {
    padding-left: 20px;
}

.accent-rule {
    width: 39px;
    height: 3px;
    background: var(--red);
    margin: 16px 0 23px;
}

.side-note {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 20px;
    background: var(--wash);
    height: max-content;
    position: sticky;
    top: 20px;
}

.side-note h3 {
    font-size: 15px;
}

.side-note p {
    font-size: 11px;
    color: var(--muted);
}

.side-note a {
    display: block;
    color: var(--red);
    font-size: 11px;
    padding: 8px 0;
    border-bottom: 1px solid #e8e8e8;
}


/* =========================================================
   THREE-CARD SECTION
   ========================================================= */

.cards-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.outlined-card {
    border: 1px solid var(--line);
    padding: 22px;
    border-radius: 10px;
    min-height: 165px;
}

.outlined-card .number {
    font: 700 25px "Space Grotesk";
    color: #e4a1a3;
}

.outlined-card h3 {
    font-size: 15px;
    margin: 12px 0 8px;
}

.outlined-card p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.65;
}


/* =========================================================
   CONTACT
   ========================================================= */

.contact-layout {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 55px;
}

.contact-items {
    display: grid;
    gap: 10px;
}

.contact-item {
    display: flex;
    gap: 13px;
    border-bottom: 1px solid var(--line);
    padding: 13px 0;
}

.contact-item .icon-box {
    flex: none;
    margin: 0;
}

.contact-item h4 {
    font-size: 12px;
    margin: 0;
}

.contact-item p {
    font-size: 11px;
    color: var(--muted);
    margin: 2px 0;
}

.form-card {
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 25px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.form-grid .full {
    grid-column: 1 / -1;
}

.char-count {
    font-size: 9px;
    color: #888;
    text-align: right;
    margin-top: 3px;
}

.form-actions {
    margin-top: 17px;
    display: flex;
    justify-content: flex-end;
}

.form-actions .btn {
    background: var(--red);
    color: #fff;
}


/* =========================================================
   FAQ
   ========================================================= */

.faq-list {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    border-top: 1px solid var(--line);
}

.faq-item:last-child {
    border-bottom: 1px solid var(--line);
}

.faq-question {
    width: 100%;
    background: none;
    border: 0;
    text-align: left;
    padding: 19px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font: 700 14px Manrope;
    color: var(--ink);
}

.faq-question i {
    font-size: 11px;
    color: var(--red);
    transition: transform .25s;
}

.faq-question[aria-expanded=true] i {
    transform: rotate(180deg);
}

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .25s;
}

.faq-answer > div {
    overflow: hidden;
}

.faq-answer p {
    color: var(--muted);
    font-size: 12px;
    max-width: 680px;
    margin: 0 0 18px;
}

.faq-item.open .faq-answer {
    grid-template-rows: 1fr;
}


/* =========================================================
   AUTHENTICATION
   ========================================================= */

.auth-shell {
    min-height: calc(100dvh - 93px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--wash);
}

.auth-visual {
    background: var(--red);
    color: #fff;
    display: flex;
    align-items: center;
    padding: 60px max(40px, calc((100vw - var(--max)) / 2));
    padding-right: 70px;
    position: relative;
    overflow: hidden;
}

.auth-visual:after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: 12%;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
}

.auth-visual h1 {
    font-size: clamp(34px, 4vw, 52px);
    max-width: 450px;
}

.auth-visual p {
    max-width: 410px;
    color: #ffe5e5;
}

.auth-points {
    display: flex;
    gap: 19px;
    margin-top: 34px;
}

.auth-point {
    font-size: 10px;
    color: #ffd3d3;
}

.auth-point i {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 16px;
}

.auth-form-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 45px 40px;
}

.auth-card {
    width: min(390px, 100%);
}

.auth-brand {
    margin-bottom: 31px;
}

.auth-card h1 {
    font-size: 31px;
}

.auth-card > p {
    color: var(--muted);
    font-size: 12px;
    margin: 10px 0 25px;
}

.auth-form {
    display: grid;
    gap: 14px;
}

.input-icon {
    position: relative;
}

.input-icon > i {
    position: absolute;
    left: 12px;
    top: 12px;
    color: #aaa;
    font-size: 12px;
}

.input-icon input {
    padding-left: 34px;
    width: 100%;
}

.password-toggle {
    position: absolute;
    right: 5px;
    top: 4px;
    border: 0;
    background: none;
    color: #888;
    width: 31px;
    height: 30px;
}

.auth-form .btn {
    width: 100%;
    background: var(--red);
    color: #fff;
    margin-top: 4px;
}

.auth-links {
    display: flex;
    justify-content: space-between;
    margin-top: 17px;
    font-size: 11px;
    color: var(--muted);
}

.auth-links a {
    color: var(--red);
    font-weight: 700;
}

.security-note {
    border-top: 1px solid var(--line);
    margin-top: 28px;
    padding-top: 15px;
    font-size: 10px;
    color: #888;
}

.security-note i {
    color: #4a9a6b;
    margin-right: 6px;
}


/* =========================================================
   STEPPER / MULTI-STEP FORMS
   ========================================================= */

.stepper {
    display: flex;
    justify-content: space-between;
    margin: 0 0 25px;
    position: relative;
}

.stepper:before {
    content: "";
    height: 1px;
    background: #ddd;
    position: absolute;
    left: 10px;
    right: 10px;
    top: 14px;
}

.step {
    position: relative;
    background: var(--wash);
    z-index: 1;
    text-align: center;
    color: #aaa;
    font-size: 9px;
}

.step span {
    display: grid;
    place-items: center;
    margin: auto auto 5px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: var(--wash);
    font-weight: 800;
}

.step.active {
    color: var(--red);
}

.step.active span {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}

.step.done span {
    background: var(--red-pale);
    border-color: #f3b0b2;
    color: var(--red);
}

.form-step {
    display: none;
}

.form-step.active {
    display: grid;
    gap: 14px;
}

.step-actions {
    display: flex;
    gap: 9px;
    justify-content: space-between;
    margin-top: 4px;
}

.step-actions .btn {
    background: var(--red);
    color: #fff;
}

.step-actions .btn.secondary {
    background: #eee;
    color: #444;
}


/* =========================================================
   CTA
   ========================================================= */

.cta {
    background: var(--red);
    color: #fff;
    padding: 57px 0;
}

.cta-inner {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}

.cta h2 {
    font-size: 35px;
    max-width: 600px;
}

.cta p {
    color: #ffdada;
    max-width: 530px;
    margin: 9px 0 0;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    background: #202020;
    color: #fff;
    padding: 53px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 36px;
    padding-bottom: 40px;
    border-bottom: 1px solid #414141;
}

.footer-brand .brand {
    color: white;
    margin-bottom: 17px;
}

.footer-brand p {
    color: #aaa;
    max-width: 280px;
    font-size: 11px;
}

.site-footer h4 {
    font: 700 11px Manrope;
    color: #fff;
    margin: 2px 0 15px;
}

.footer-links {
    display: grid;
    gap: 8px;
}

.footer-links a {
    font-size: 10px;
    color: #aaa;
}

.footer-links a:hover {
    color: #fff;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    color: #888;
    font-size: 9px;
}

.socials {
    display: flex;
    gap: 12px;
}

.socials a {
    color: #aaa;
}


/* =========================================================
   TOAST
   ========================================================= */

.toast {
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: #202020;
    color: #fff;
    padding: 13px 17px;
    border-left: 3px solid var(--red);
    border-radius: 5px;
    box-shadow: 0 5px 25px #0002;
    transform: translateY(20px);
    opacity: 0;
    pointer-events: none;
    transition: .25s;
    z-index: 100;
    font-size: 11px;
}

.toast.show {
    transform: none;
    opacity: 1;
}


/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media(max-width:850px) {

    .nav-links {
        gap: 15px;
        margin-left: 10px;
    }

    .filter-bar {
        grid-template-columns: repeat(3, 1fr);
    }

    .filter-bar .field:first-child {
        grid-column: span 3;
    }

    .filter-bar .btn {
        grid-column: span 3;
    }

    .auth-visual {
        padding-left: 35px;
    }

    .auth-form-wrap {
        padding: 35px 25px;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media(max-width:680px) {

    .container {
        width: min(var(--max), calc(100% - 30px));
    }

    .site-header {
        height: 61px;
    }

    .menu-toggle {
        display: block;
    }

    .nav-links,
    .nav-actions {
        display: none;
    }

    .nav-links.mobile-open {
        display: flex;
        position: absolute;
        top: 61px;
        left: 0;
        right: 0;
        margin: 0;
        padding: 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: #fff;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 8px 15px #00000012;
    }

    .nav-links.mobile-open a {
        padding: 11px 5px;
        border-bottom: 1px solid #f2f2f2;
    }

    .nav-links a.active:after {
        display: none;
    }

    .nav-actions.mobile-open {
        display: flex;
        position: absolute;
        top: 271px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 5px 21px 16px;
        justify-content: flex-start;
        box-shadow: 0 8px 15px #00000012;
    }

    .hero {
        padding: 45px 0 61px;
    }

    .hero-grid,
    .split,
    .content-grid,
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .hero-cards {
        order: 2;
    }

    .feature-row,
    .stats,
    .vehicle-grid,
    .cards-3 {
        grid-template-columns: 1fr 1fr;
    }

    .section {
        padding: 57px 0;
    }

    .section-head {
        display: block;
    }

    .section-head p {
        margin-top: 12px;
    }

    .split-art {
        min-height: 240px;
        order: 2;
    }

    .market-list {
        grid-template-columns: 1fr 1fr;
    }

    .page-hero {
        padding: 39px 0;
    }

    .filter-bar {
        grid-template-columns: 1fr 1fr;
    }

    .filter-bar .field:first-child,
    .filter-bar .btn {
        grid-column: span 2;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-grid .full {
        grid-column: auto;
    }

    .cta-inner {
        display: block;
    }

    .cta .btn {
        margin-top: 23px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        display: block;
    }

    .footer-bottom .socials {
        margin-top: 10px;
    }

    .auth-shell {
        grid-template-columns: 1fr;
    }

    .auth-visual {
        display: none;
    }

    .auth-form-wrap {
        padding: 48px 20px;
        align-items: flex-start;
    }

    .auth-card {
        max-width: 420px;
    }

    .ticker {
        height: 25px;
    }

    .ticker-track {
        gap: 20px;
    }

    .prose h2 {
        font-size: 22px;
    }

    .side-note {
        position: static;
    }

    .contact-layout {
        gap: 38px;
    }

}


/* =========================================================
   RESPONSIVE — SMALL MOBILE
   ========================================================= */

@media(max-width:400px) {

    .feature-row,
    .stats,
    .vehicle-grid,
    .cards-3 {
        grid-template-columns: 1fr;
    }

    .hero-cards {
        grid-template-columns: 1fr;
    }

    .form-card {
        padding: 18px 14px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }

    .auth-links {
        display: grid;
        gap: 8px;
    }

}


/* =========================================
           VEHICLE CONFIGURATOR
        ========================================= */

        :root {
            --config-text: #171a20;
            --config-muted: #5c5e62;
            --config-line: #d5d5d5;
            --config-blue: #3e6ae1;
            --config-background: #f5f5f5;
        }

        body {
            color: var(--config-text);
        }

        .vehicle-configurator {
            width: 100%;
            min-height: 700px;
            background: #fff;
            padding: 35px 20px 115px;
        }

        .config-container {
            width: 100%;
            max-width: 1450px;
            margin: 0 auto;
        }

        .config-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 408px;
            gap: 45px;
            align-items: start;
        }

        /* LEFT IMAGE AREA */

        .config-gallery {
            min-width: 0;
            position: relative;
        }

        .main-car-stage {
            position: relative;
            min-height: 510px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            overflow: hidden;
        }

        .main-car-image {
            display: block;
            width: 100%;
            height: 490px;
            object-fit: contain;
            cursor: zoom-in;
            transition: transform .3s ease;
        }

        .main-car-image:hover {
            transform: scale(1.015);
        }

        .image-feature {
            position: absolute;
            z-index: 2;
            display: flex;
            align-items: center;
            gap: 9px;
            color: #64676b;
            font-size: 13px;
            font-weight: 600;
            white-space: nowrap;
            pointer-events: none;
        }

        .image-feature::before {
            content: "";
            width: 1px;
            height: 85px;
            background: #d1d1d1;
            position: absolute;
            left: 0;
            top: 24px;
        }

        .image-feature span {
            background: #fff;
            padding: 5px 8px;
        }

        .image-feature i {
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f2f2f2;
            border-radius: 4px;
            color: #171a20;
            font-size: 11px;
        }

        .feature-one {
            top: 8px;
            left: 36%;
        }

        .feature-two {
            top: 8px;
            left: 61%;
        }

        .feature-three {
            bottom: 72px;
            right: 8%;
        }

        .feature-three::before {
            top: auto;
            bottom: 23px;
            height: 65px;
        }

        .feature-four {
            bottom: 22px;
            left: 25%;
        }

        .feature-four::before {
            top: auto;
            bottom: 23px;
            height: 65px;
        }

        .car-gallery-controls {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            margin-top: -5px;
            position: relative;
            z-index: 3;
        }

        .gallery-arrow {
            width: 40px;
            height: 40px;
            border: 0;
            border-radius: 5px;
            background: #f5f5f5;
            color: #171a20;
            font-size: 19px;
            cursor: pointer;
            transition: background .2s;
        }

        .gallery-arrow:hover {
            background: #e7e7e7;
        }

        .gallery-dots {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 11px 13px;
            background: #f8f8f8;
            border-radius: 5px;
        }

        .gallery-dot {
            width: 12px;
            height: 12px;
            padding: 0;
            border: 0;
            border-radius: 50%;
            background: #c5c5c5;
            cursor: pointer;
        }

        .gallery-dot.active {
            background: #171a20;
        }

        .image-hint {
            text-align: center;
            color: #8a8a8a;
            font-size: 11px;
            margin-top: 10px;
        }

        /* RIGHT CONFIGURATION AREA */

        .config-panel {
            width: 100%;
            padding: 0 0 30px;
        }

        .config-title {
            font-size: 38px;
            line-height: 1.2;
            font-weight: 600;
            letter-spacing: -1.5px;
            color: #171a20;
            margin: 0 0 20px;
        }

        .zip-input {
            width: 100%;
            max-width: 196px;
            height: 42px;
            padding: 0 13px;
            border: 0;
            outline: none;
            border-radius: 4px;
            background: #f3f3f3;
            color: #171a20;
            font-size: 13px;
        }

        .zip-input:focus {
            outline: 1px solid #999;
        }

        .config-tabs {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-bottom: 1px solid #d4d4d4;
            margin-top: 30px;
            margin-bottom: 16px;
        }

        .config-tab {
            background: transparent;
            border: 0;
            border-bottom: 2px solid transparent;
            padding: 12px 5px 10px;
            color: #62656a;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
        }

        .config-tab.active {
            color: #171a20;
            border-bottom-color: #171a20;
        }

        .specification-card {
            background: #f6f6f6;
            border-radius: 9px;
            padding: 20px 18px;
            margin-bottom: 12px;
        }

        .specification-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
        }

        .specification-value {
            font-size: 19px;
            font-weight: 600;
            color: #393d42;
            white-space: nowrap;
        }

        .specification-value small {
            font-size: 11px;
            font-weight: 600;
        }

        .specification-label {
            color: #45484c;
            font-size: 13px;
            margin-top: 5px;
        }

        .configuration-option {
            display: block;
            width: 100%;
            text-align: left;
            border: 1px solid #a9aaad;
            border-radius: 5px;
            padding: 17px 15px;
            background: #f8f8f8;
            margin-bottom: 11px;
            color: #171a20;
            cursor: pointer;
            transition: border .2s, background .2s;
        }

        .configuration-option.active {
            border: 2px solid #171a20;
            background: #fff;
            padding: 16px 14px;
        }

        .option-heading {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            font-size: 14px;
            font-weight: 600;
        }

        .option-price {
            color: #64676b;
            font-size: 13px;
            white-space: nowrap;
        }

        .option-description {
            color: #66696d;
            font-size: 12px;
            margin-top: 5px;
        }

        .option-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 16px;
            font-size: 13px;
            font-weight: 600;
        }

        .option-drive {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .option-drive input {
            accent-color: #171a20;
            width: 16px;
            height: 16px;
        }

        .option-price strong {
            color: #171a20;
        }

        .pricing-note {
            color: #777;
            font-size: 11px;
            line-height: 1.5;
            margin-top: 15px;
        }

        .stock-indicator {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 12px;
            color: <?= $available ? "'#27833c'" : "'#c62828'" ?>;
            margin-top: 12px;
        }

        .stock-indicator i {
            font-size: 8px;
        }

        /* BOTTOM ORDER BAR */

        .vehicle-order-bar {
            position: fixed;
            z-index: 100;
            left: 0;
            right: 0;
            bottom: 0;
            min-height: 76px;
            padding: 12px 3%;
            background: rgba(255,255,255,.97);
            border-top: 1px solid #e2e2e2;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
            backdrop-filter: blur(12px);
        }

        .order-vehicle-info {
            min-width: 0;
        }

        .order-vehicle-name {
            font-size: 19px;
            font-weight: 600;
            color: #171a20;
        }

        .order-vehicle-trim {
            font-style: italic;
            font-weight: 400;
            color: #666;
            margin-left: 5px;
        }

        .order-vehicle-details {
            color: #65686d;
            font-size: 11px;
            margin-top: 4px;
        }

        .order-price-area {
            display: flex;
            align-items: center;
            gap: 30px;
        }

        .order-price {
            font-size: 23px;
            font-weight: 600;
            white-space: nowrap;
            color: #171a20;
        }

        .order-price-label {
            font-size: 11px;
            color: #777;
            margin-top: 2px;
        }

        .order-now-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 126px;
            padding: 12px 20px;
            background: #3e6ae1;
            color: #fff !important;
            text-decoration: none !important;
            border-radius: 5px;
            font-size: 13px;
            font-weight: 600;
            transition: background .2s;
        }

        .order-now-button:hover {
            background: #3458bd;
        }

        .order-now-button.disabled {
            background: #999;
            pointer-events: none;
        }

        /* VEHICLE OVERVIEW */

        .vehicle-overview {
            max-width: 1450px;
            margin: 30px auto 100px;
            padding: 0 20px;
        }

        .overview-card {
            border: 1px solid #e5e5e5;
            border-radius: 8px;
            padding: 28px;
            background: #fff;
        }

        .overview-card h2 {
            font-size: 20px;
            margin: 0 0 12px;
            color: #171a20;
        }

        .overview-card p {
            color: #62656a;
            font-size: 14px;
            line-height: 1.8;
        }

        .overview-details {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 18px;
            margin-top: 22px;
        }

        .overview-detail {
            font-size: 13px;
            color: #5c5e62;
        }

        .overview-detail strong {
            display: block;
            color: #171a20;
            margin-bottom: 5px;
        }

        /* =========================================
           FULLSCREEN IMAGE POPUP
        ========================================= */

        .gallery-modal {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: none;
            align-items: center;
            justify-content: center;
            background: rgba(0,0,0,.94);
            padding: 25px;
        }

        .gallery-modal.open {
            display: flex;
        }

        .modal-image-wrap {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .modal-main-image {
            max-width: 90%;
            max-height: 78vh;
            object-fit: contain;
            user-select: none;
        }

        .modal-close {
            position: absolute;
            top: 22px;
            right: 30px;
            border: 0;
            background: transparent;
            color: #fff;
            font-size: 34px;
            cursor: pointer;
            z-index: 2;
        }

        .modal-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 48px;
            height: 48px;
            border: 1px solid rgba(255,255,255,.4);
            border-radius: 50%;
            background: rgba(255,255,255,.1);
            color: #fff;
            font-size: 19px;
            cursor: pointer;
            transition: background .2s;
        }

        .modal-arrow:hover {
            background: rgba(255,255,255,.25);
        }

        .modal-prev {
            left: 25px;
        }

        .modal-next {
            right: 25px;
        }

        .modal-counter {
            color: #fff;
            font-size: 12px;
            margin-top: 18px;
        }

        .modal-thumbnails {
            display: flex;
            justify-content: center;
            gap: 9px;
            margin-top: 18px;
            max-width: 90%;
            overflow-x: auto;
        }

        .modal-thumb {
            width: 75px;
            height: 48px;
            flex: 0 0 auto;
            border: 2px solid transparent;
            border-radius: 4px;
            padding: 0;
            overflow: hidden;
            background: #222;
            cursor: pointer;
        }

        .modal-thumb.active {
            border-color: #fff;
        }

        .modal-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        body.gallery-open {
            overflow: hidden;
        }

        /* =========================================
           RESPONSIVE DESIGN
        ========================================= */

        @media (max-width: 1000px) {
            .config-layout {
                grid-template-columns: minmax(0, 1fr) 350px;
                gap: 25px;
            }

            .main-car-stage {
                min-height: 420px;
            }

            .main-car-image {
                height: 420px;
            }

            .feature-one,
            .feature-two {
                display: none;
            }
        }

        @media (max-width: 760px) {
            .vehicle-configurator {
                padding: 20px 15px 105px;
            }

            .config-layout {
                grid-template-columns: 1fr;
                gap: 25px;
            }

            .main-car-stage {
                min-height: 300px;
            }

            .main-car-image {
                height: 310px;
            }

            .feature-three,
            .feature-four {
                display: none;
            }

            .car-gallery-controls {
                margin-top: 10px;
            }

            .config-panel {
                padding-bottom: 0;
            }

            .config-title {
                font-size: 31px;
                margin-bottom: 15px;
            }

            .config-tabs {
                margin-top: 22px;
            }

            .specification-card {
                padding: 18px 14px;
            }

            .specification-value {
                font-size: 17px;
            }

            .specification-label {
                font-size: 11px;
            }

            .vehicle-order-bar {
                padding: 10px 15px;
                min-height: 70px;
            }

            .order-vehicle-name {
                font-size: 15px;
            }

            .order-vehicle-details {
                max-width: 180px;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }

            .order-price-area {
                gap: 12px;
            }

            .order-price {
                font-size: 17px;
            }

            .order-now-button {
                min-width: auto;
                padding: 12px 15px;
                font-size: 12px;
            }

            .vehicle-overview {
                margin-top: 20px;
                padding: 0 15px;
            }

            .overview-card {
                padding: 20px;
            }

            .modal-main-image {
                max-width: 100%;
                max-height: 65vh;
            }

            .modal-prev {
                left: 8px;
            }

            .modal-next {
                right: 8px;
            }

            .modal-arrow {
                width: 38px;
                height: 38px;
            }
        }

        @media (max-width: 420px) {
            .vehicle-order-bar {
                gap: 8px;
            }

            .order-vehicle-details {
                max-width: 130px;
            }

            .order-price-area {
                gap: 8px;
            }

            .order-price {
                font-size: 15px;
            }

            .order-now-button {
                padding: 11px 12px;
            }

            .specification-grid {
                gap: 5px;
            }
        }

        .home-energy-card-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-energy-card-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #343b48, #111820);
}

.home-product-section:not(.home-product-fallback) {
    background: #252a32;
}

.home-product-section.home-product-fallback {
    background: linear-gradient(135deg, #555e6b, #171a20);
}

.home-location:not(:has(.home-location-media)) {
    background: linear-gradient(135deg, #444d5b, #171a20);
}


/* =========================================
   TESLA HOMEPAGE — RED EDITION
========================================= */

.tesla-home {
    --th-red: #e82127;
    --th-black: #171717;
    --th-white: #ffffff;
    --th-grey: #f5f5f5;
    --th-muted: #686868;
    color: var(--th-black);
    background: var(--th-white);
    overflow: hidden;
}

.tesla-home * {
    box-sizing: border-box;
}

.tesla-home a {
    text-decoration: none;
}

.th-eyebrow {
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--th-red);
    margin-bottom: 15px;
}

.th-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.th-button {
    min-height: 46px;
    padding: 13px 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .3px;
    transition: .25s ease;
    cursor: pointer;
    border: 1px solid transparent;
}

.th-button:hover {
    transform: translateY(-2px);
}

.th-button-red {
    background: var(--th-red);
    color: white !important;
}

.th-button-red:hover {
    background: #bd171d;
}

.th-button-light {
    background: white;
    color: #171717 !important;
}

.th-button-outline {
    border-color: #222;
    color: #222 !important;
    background: transparent;
}

.th-button-dark {
    background: #171717;
    color: white !important;
}

/* HERO */

.th-hero {
    min-height: 760px;
    height: min(92vh, 900px);
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #171717;
    color: white;
}

.th-hero-media,
.th-hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.th-hero-slide[hidden] {
    display: none;
}

.th-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.15) 85%),
        linear-gradient(0deg, rgba(0,0,0,.35), transparent 50%);
}

.th-hero-content {
    position: relative;
    z-index: 2;
    width: min(1200px, 90%);
    margin: auto;
    padding: 100px 0;
}

.th-hero-content .th-eyebrow {
    color: white;
}

.th-hero h1 {
    max-width: 850px;
    color: white;
    font-size: clamp(44px, 7.5vw, 92px);
    font-weight: 850;
    line-height: .99;
    letter-spacing: -4px;
    margin: 0 0 25px;
    text-transform: uppercase;
}

.th-hero-content > p {
    max-width: 560px;
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255,255,255,.9);
    margin-bottom: 30px;
}

.th-slider-dots {
    display: flex;
    gap: 9px;
    margin-top: 35px;
}

.th-slider-dot {
    width: 32px;
    height: 4px;
    border: 0;
    padding: 0;
    background: rgba(255,255,255,.4);
    cursor: pointer;
}

.th-slider-dot.active {
    background: var(--th-red);
}

.th-hero-bottom {
    position: absolute;
    z-index: 2;
    left: 5%;
    right: 5%;
    bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.th-hero-bottom a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 50%;
    color: white;
}

/* SECTION INTRO */

.th-section-heading,
.th-energy-intro {
    padding: 95px 20px 65px;
    text-align: center;
    max-width: 900px;
    margin: auto;
}

.th-section-heading h2,
.th-energy-intro h2 {
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 850;
    letter-spacing: -2px;
    line-height: 1.05;
    margin: 0 0 18px;
}

.th-section-heading p,
.th-energy-intro p {
    max-width: 600px;
    margin: auto;
    color: var(--th-muted);
    font-size: 15px;
    line-height: 1.8;
}

.th-heading-line {
    display: block;
    width: 45px;
    height: 4px;
    background: var(--th-red);
    margin: 28px auto 0;
}

/* LARGE VEHICLE SECTIONS */

.th-vehicle-section {
    min-height: 570px;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    background: white;
    border-top: 1px solid #ededed;
}

.th-vehicle-reverse {
    grid-template-columns: .8fr 1.2fr;
}

.th-vehicle-reverse .th-vehicle-image-wrap {
    order: 2;
}

.th-vehicle-reverse .th-vehicle-copy {
    order: 1;
}

.th-vehicle-image-wrap {
    min-height: 570px;
    position: relative;
    overflow: hidden;
    background: #f4f4f4;
}

.th-vehicle-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 25px;
    transition: transform .6s ease;
}

.th-vehicle-section:hover .th-vehicle-image {
    transform: scale(1.035);
}

.th-vehicle-number {
    position: absolute;
    left: 25px;
    top: 25px;
    color: #999;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.th-vehicle-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(30px, 6vw, 85px);
}

.th-vehicle-copy h2 {
    font-size: clamp(35px, 4.5vw, 60px);
    line-height: 1;
    letter-spacing: -2px;
    font-weight: 850;
    margin: 12px 0 20px;
    color: #171717;
}

.th-vehicle-description {
    font-size: 14px;
    line-height: 1.9;
    color: #666;
    max-width: 450px;
}

.th-vehicle-badge {
    padding: 7px 12px;
    background: #fff0f0;
    color: var(--th-red);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
    border-radius: 2px;
    margin-top: 10px;
}

.th-vehicle-details {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    margin: 25px 0;
}

.th-vehicle-details div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.th-vehicle-details strong {
    font-size: 14px;
    font-weight: 800;
}

.th-vehicle-details span {
    font-size: 10px;
    color: #888;
}

.th-vehicle-price {
    font-size: 27px;
    font-weight: 850;
    margin: 0 0 25px;
}

.th-empty-state {
    margin: 20px auto 60px;
    padding: 70px 20px;
    text-align: center;
    background: #f7f7f7;
    max-width: 900px;
}

.th-empty-state i {
    color: var(--th-red);
    font-size: 35px;
    margin-bottom: 15px;
}

.th-empty-state h3 {
    font-size: 23px;
    font-weight: 800;
}

.th-empty-state p {
    color: #777;
    font-size: 13px;
}

.th-view-all {
    text-align: center;
    padding: 55px 20px 85px;
}

/* FULL WIDTH FEATURE SECTIONS */

.th-feature-section {
    min-height: 650px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, #454545, #111);
    overflow: hidden;
}

.th-feature-compact {
    min-height: 550px;
}

.th-feature-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.th-feature-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.68), rgba(0,0,0,.12));
}

.th-feature-content {
    position: relative;
    z-index: 2;
    width: min(760px, 90%);
    padding: 100px 20px;
    color: white;
}

.th-feature-content .th-eyebrow {
    color: #fff;
}

.th-feature-content h2 {
    font-size: clamp(42px, 7vw, 78px);
    line-height: 1;
    letter-spacing: -3px;
    font-weight: 900;
    color: white;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.th-feature-content p {
    max-width: 580px;
    margin: 0 auto 28px;
    color: rgba(255,255,255,.9);
    font-size: 15px;
    line-height: 1.8;
}

.th-feature-content .th-actions {
    justify-content: center;
}

/* ENERGY */

.th-energy-intro {
    padding-bottom: 45px;
}

.th-energy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.th-energy-card {
    min-height: 490px;
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: linear-gradient(135deg, #515151, #171717);
}

.th-energy-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.th-energy-card:hover .th-energy-media {
    transform: scale(1.05);
}

.th-energy-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent 20%, rgba(0,0,0,.8));
}

.th-energy-content {
    position: relative;
    z-index: 2;
    color: white;
    padding: 35px;
}

.th-energy-content .th-eyebrow {
    color: white;
}

.th-energy-content h3 {
    font-size: 35px;
    font-weight: 850;
    color: white;
    margin: 0 0 8px;
}

.th-energy-content p {
    color: rgba(255,255,255,.85);
    font-size: 13px;
    margin-bottom: 20px;
}

.th-energy-content a {
    color: white;
    font-size: 12px;
    font-weight: 800;
}

.th-energy-content a:hover {
    color: #ff777b;
}

/* LOCATIONS */

.th-location {
    min-height: 470px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #333;
    overflow: hidden;
}

.th-location-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.th-location-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
}

.th-location-content {
    position: relative;
    z-index: 2;
    width: min(700px, 90%);
    padding: 80px 20px;
    color: white;
}

.th-location-content .th-eyebrow {
    color: white;
}

.th-location-content h2 {
    font-size: clamp(38px, 6vw, 65px);
    font-weight: 900;
    letter-spacing: -2px;
    color: white;
    margin: 0 0 15px;
}

.th-location-content p {
    color: white;
    line-height: 1.8;
    margin-bottom: 28px;
}

/* MARKET */

.th-market {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
    padding: 100px max(6%, calc((100% - 1200px) / 2));
    background: #f6f6f6;
}

.th-market-copy h2 {
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 900;
    letter-spacing: -2px;
    margin: 0 0 18px;
}

.th-market-copy p {
    color: #666;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 25px;
    max-width: 470px;
}

.th-market-panel {
    background: white;
    padding: 35px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 15px 45px rgba(0,0,0,.05);
}

.th-market-top {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

.th-live-indicator {
    color: #159447;
}

.th-live-indicator i {
    font-size: 7px;
}

.th-market-price {
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 900;
    margin: 35px 0 5px;
}

.th-market-change {
    font-size: 17px;
    font-weight: 800;
    color: #159447;
}

.th-market-change span {
    display: block;
    color: #888;
    font-size: 11px;
    font-weight: 400;
    margin-top: 8px;
}

.th-market-disclaimer {
    border-top: 1px solid #eee;
    margin-top: 30px;
    padding-top: 15px;
    color: #888;
    font-size: 10px;
}

/* FINAL CTA */

.th-final-cta {
    padding: 105px 20px;
    text-align: center;
    background: white;
}

.th-final-cta h2 {
    font-size: clamp(40px, 6vw, 68px);
    font-weight: 900;
    letter-spacing: -3px;
    margin: 0 0 18px;
}

.th-final-cta p {
    max-width: 570px;
    margin: 0 auto 28px;
    color: #777;
    font-size: 14px;
    line-height: 1.8;
}

.th-final-cta .th-actions {
    justify-content: center;
}

/* LOCATION MAP MODAL */

.th-map-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0,0,0,.78);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.th-map-modal.active {
    display: flex;
}

.th-map-dialog {
    width: min(1100px, 100%);
    max-height: 94vh;
    overflow-y: auto;
    background: white;
    border-radius: 5px;
    box-shadow: 0 25px 90px rgba(0,0,0,.3);
}

.th-map-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 25px 30px;
}

.th-map-header .th-eyebrow {
    margin-bottom: 7px;
}

.th-map-header h2 {
    font-size: 27px;
    font-weight: 900;
    margin: 0 0 5px;
}

.th-map-header p {
    font-size: 12px;
    color: #777;
}

.th-map-close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #f2f2f2;
    cursor: pointer;
    font-size: 18px;
}

.th-map-toolbar {
    padding: 0 30px 20px;
}

.th-map-search {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #ddd;
    padding: 5px 7px 5px 15px;
}

.th-map-search > i {
    color: #888;
}

.th-map-search input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: none;
    padding: 10px 0;
    font-size: 13px;
}

.th-map-search button {
    border: 0;
    background: var(--th-red);
    color: white;
    padding: 12px 20px;
    font-weight: 800;
    cursor: pointer;
}

.th-map-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.th-map-filter {
    padding: 9px 13px;
    border: 1px solid #ddd;
    background: white;
    color: #444;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.th-map-filter.active {
    border-color: var(--th-red);
    color: var(--th-red);
    background: #fff5f5;
}

.th-map-frame {
    height: 470px;
    background: #eee;
}

.th-map-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.th-map-footer {
    padding: 18px 30px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    font-size: 10px;
    color: #777;
}

.th-map-footer a {
    color: var(--th-red);
    font-weight: 800;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .th-vehicle-section,
    .th-vehicle-reverse {
        grid-template-columns: 1fr;
    }

    .th-vehicle-reverse .th-vehicle-image-wrap,
    .th-vehicle-reverse .th-vehicle-copy {
        order: initial;
    }

    .th-vehicle-image-wrap {
        min-height: 400px;
    }

    .th-vehicle-copy {
        padding: 45px 7%;
    }

    .th-energy-grid {
        grid-template-columns: 1fr 1fr;
    }

    .th-market {
        gap: 35px;
        padding: 75px 6%;
    }
}

@media (max-width: 600px) {
    .th-hero {
        min-height: 650px;
        height: 88vh;
    }

    .th-hero-content {
        width: 88%;
        padding: 75px 0;
    }

    .th-hero h1 {
        font-size: clamp(40px, 12vw, 60px);
        letter-spacing: -2px;
    }

    .th-hero-content > p {
        font-size: 14px;
    }

    .th-actions {
        align-items: stretch;
    }

    .th-actions .th-button {
        flex: 1 1 100%;
    }

    .th-section-heading,
    .th-energy-intro {
        padding: 70px 22px 45px;
    }

    .th-section-heading h2,
    .th-energy-intro h2 {
        letter-spacing: -1px;
    }

    .th-vehicle-image-wrap {
        min-height: 300px;
    }

    .th-vehicle-image {
        padding: 15px;
    }

    .th-vehicle-copy {
        padding: 38px 23px;
    }

    .th-vehicle-copy h2 {
        font-size: 40px;
    }

    .th-vehicle-details {
        gap: 18px;
    }

    .th-feature-section {
        min-height: 550px;
    }

    .th-feature-compact {
        min-height: 480px;
    }

    .th-feature-content h2 {
        font-size: 45px;
        letter-spacing: -1px;
    }

    .th-energy-grid {
        grid-template-columns: 1fr;
    }

    .th-energy-card {
        min-height: 400px;
    }

    .th-market {
        grid-template-columns: 1fr;
        padding: 70px 22px;
        gap: 30px;
    }

    .th-market-panel {
        padding: 25px 20px;
    }

    .th-final-cta {
        padding: 75px 22px;
    }

    .th-final-cta h2 {
        letter-spacing: -1px;
    }

    .th-map-modal {
        padding: 8px;
    }

    .th-map-dialog {
        max-height: 96vh;
    }

    .th-map-header {
        padding: 20px 17px;
    }

    .th-map-toolbar {
        padding: 0 17px 15px;
    }

    .th-map-search {
        flex-wrap: wrap;
    }

    .th-map-search input {
        width: calc(100% - 45px);
        flex: none;
    }

    .th-map-search button {
        width: 100%;
    }

    .th-map-frame {
        height: 390px;
    }

    .th-map-footer {
        padding: 16px 17px;
    }
}


/* =========================================================
   TESLA — VEHICLE INVENTORY PAGE
   Red / White / Black visual system
   ========================================================= */

.cars-page {
    --cars-red: #e82127;
    --cars-red-dark: #c81018;
    --cars-black: #111111;
    --cars-muted: #777777;
    --cars-line: #e8e8e8;
    --cars-light: #f5f5f5;

    background: #ffffff;
    color: var(--cars-black);
    font-family: inherit;
}

.cars-page * {
    box-sizing: border-box;
}

.cars-page a {
    text-decoration: none;
}

.cars-container {
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
}


/* =========================================================
   SHARED EYEBROW
   ========================================================= */

.cars-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.eyebrow-line {
    width: 30px;
    height: 2px;
    background: var(--cars-red);
}

.dark-eyebrow {
    color: var(--cars-red);
}


/* =========================================================
   HERO
   ========================================================= */

.cars-hero {
    min-height: 570px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background: #101010;
    color: #ffffff;
}

.cars-hero-background {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.91) 0%,
            rgba(0, 0, 0, 0.72) 43%,
            rgba(0, 0, 0, 0.22) 100%
        ),
        url("../assets/cars/model-y.webp") center 55% / cover no-repeat;

    transform: scale(1.02);
}

.cars-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
}

.cars-hero-content {
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
    padding: 100px 0 115px;
    position: relative;
    z-index: 1;
    max-width: 1280px;
}

.cars-hero-content h1 {
    max-width: 780px;
    margin: 25px 0 20px;
    color: #ffffff;
    font-size: clamp(48px, 7vw, 88px);
    line-height: 0.99;
    letter-spacing: -5px;
    font-weight: 800;
}

.cars-hero-content h1 span {
    display: block;
    color: var(--cars-red);
}

.cars-hero-content p {
    max-width: 490px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 15px;
    line-height: 1.9;
}

.cars-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-top: 35px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--cars-red);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: gap 0.25s ease;
}

.cars-hero-link:hover {
    gap: 23px;
}

.cars-hero-link i {
    color: var(--cars-red);
}

.cars-hero-bottom {
    position: absolute;
    bottom: 25px;
    left: 50%;
    width: min(1280px, calc(100% - 64px));
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, 0.55);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.8px;
}


/* =========================================================
   INVENTORY SECTION
   ========================================================= */

.cars-inventory-section {
    padding: 105px 0 115px;
    background: #ffffff;
}

.inventory-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 45px;
}

.inventory-heading h2 {
    margin: 16px 0 10px;
    color: var(--cars-black);
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 800;
    letter-spacing: -2.8px;
    line-height: 1.08;
}

.inventory-heading h2 span {
    color: var(--cars-red);
}

.inventory-heading p {
    margin: 0;
    color: var(--cars-muted);
    font-size: 14px;
    line-height: 1.7;
}

.inventory-total {
    min-width: 125px;
    padding-left: 25px;
    border-left: 1px solid var(--cars-line);
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.inventory-total strong {
    font-size: 38px;
    line-height: 1;
    font-weight: 800;
}

.inventory-total span {
    color: var(--cars-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}


/* =========================================================
   FILTER PANEL
   ========================================================= */

.cars-filter-panel {
    margin-bottom: 30px;
    padding: 25px;
    background: #f7f7f7;
    border: 1px solid #eeeeee;
}

.filter-panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.filter-panel-heading > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.filter-panel-heading i {
    color: var(--cars-red);
}

.filter-panel-heading strong {
    font-size: 12px;
    font-weight: 800;
}

.clear-filters {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--cars-red);
    font-size: 11px;
    font-weight: 700;
}

.clear-filters:hover {
    color: var(--cars-red-dark);
}

.cars-filter-form {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1fr 1fr auto;
    gap: 13px;
    align-items: end;
}

.cars-filter-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cars-filter-field label {
    color: #555555;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.4px;
}

.cars-filter-field input,
.cars-filter-field select {
    width: 100%;
    height: 45px;
    min-width: 0;
    padding: 0 12px;
    outline: none;
    border: 1px solid #dedede;
    border-radius: 0;
    background: #ffffff;
    color: #222222;
    font-family: inherit;
    font-size: 11px;
    transition: border-color 0.2s ease;
}

.cars-filter-field input:focus,
.cars-filter-field select:focus {
    border-color: var(--cars-red);
}

.filter-input-wrap {
    position: relative;
}

.filter-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 13px;
    transform: translateY(-50%);
    color: #999999;
    font-size: 12px;
    pointer-events: none;
}

.filter-input-wrap input {
    padding-left: 36px;
}

.cars-filter-button {
    height: 45px;
    padding: 0 19px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--cars-red);
    background: var(--cars-red);
    color: #ffffff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}

.cars-filter-button:hover {
    background: var(--cars-red-dark);
    border-color: var(--cars-red-dark);
}

.active-filter-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin: 0 0 25px;
    color: #666666;
    font-size: 11px;
}

.active-filter-summary span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.active-filter-summary i {
    color: #259c63;
}

.active-filter-summary a {
    color: var(--cars-red);
    font-weight: 800;
}


/* =========================================================
   VEHICLE SHOWCASE
   ========================================================= */

.vehicle-showcase-list {
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.vehicle-showcase {
    min-height: 440px;
    display: grid;
    grid-template-columns: 1.25fr 0.85fr;
    background: #f5f5f5;
    overflow: hidden;
}

.vehicle-showcase.showcase-reverse {
    grid-template-columns: 0.85fr 1.25fr;
}

.showcase-reverse .showcase-image-area {
    order: 2;
}

.showcase-reverse .showcase-information {
    order: 1;
}


/* Image area */

.showcase-image-area {
    min-height: 440px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: #ededed;
}

.showcase-image-background {
    position: absolute;
    width: 75%;
    height: 60%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.68);
    filter: blur(45px);
}

.showcase-vehicle-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: 760px;
    height: 100%;
    max-height: 390px;
    object-fit: contain;
    padding: 35px;
    transition: transform 0.6s ease;
}

.vehicle-showcase:hover .showcase-vehicle-image {
    transform: scale(1.045);
}

.showcase-image-caption {
    position: absolute;
    bottom: 22px;
    left: 25px;
    right: 25px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #777777;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.6px;
}

.showcase-image-caption span:first-child {
    color: var(--cars-red);
    font-size: 12px;
}

.vehicle-featured-badge,
.vehicle-status-badge {
    position: absolute;
    top: 22px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.7px;
}

.vehicle-featured-badge {
    left: 22px;
    background: var(--cars-red);
    color: #ffffff;
}

.vehicle-featured-badge i {
    font-size: 9px;
}

.vehicle-status-badge {
    right: 22px;
    background: #ffffff;
    color: #333333;
}


/* Information area */

.showcase-information {
    min-width: 0;
    padding: 45px clamp(25px, 4vw, 65px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #f7f7f7;
}

.showcase-information-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
}

.showcase-category {
    color: var(--cars-red);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.showcase-category span {
    color: #aaaaaa;
    padding: 0 4px;
}

.showcase-number {
    color: #c6c6c6;
    font-size: 12px;
    font-weight: 800;
}

.showcase-information h3 {
    margin: 0;
    color: #111111;
    font-size: clamp(30px, 3.5vw, 47px);
    font-weight: 800;
    letter-spacing: -2px;
    line-height: 1.05;
}

.showcase-description {
    max-width: 390px;
    margin: 17px 0 27px;
    color: #777777;
    font-size: 12px;
    line-height: 1.9;
}


/* Specifications */

.showcase-specifications {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 0;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
}

.specification-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 75px;
}

.specification-item > i {
    color: var(--cars-red);
    font-size: 16px;
}

.specification-item div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.specification-item strong {
    color: #222222;
    font-size: 12px;
    font-weight: 800;
}

.specification-item span {
    color: #888888;
    font-size: 9px;
}


/* Year and condition */

.showcase-vehicle-details {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 17px;
}

.showcase-vehicle-details span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #777777;
    font-size: 10px;
}

.showcase-vehicle-details i {
    color: var(--cars-red);
}


/* Price */

.showcase-price-area {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 25px;
}

.price-label {
    color: #888888;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.showcase-price {
    color: #111111;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -1px;
}


/* Actions */

.showcase-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.showcase-learn-button,
.showcase-order-button {
    min-height: 45px;
    padding: 0 18px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-size: 10px;
    font-weight: 800;
    transition: all 0.2s ease;
}

.showcase-learn-button {
    border: 1px solid #cccccc;
    background: transparent;
    color: #333333;
}

.showcase-learn-button:hover {
    border-color: #111111;
    background: #111111;
    color: #ffffff;
}

.showcase-order-button {
    border: 1px solid var(--cars-red);
    background: var(--cars-red);
    color: #ffffff;
}

.showcase-order-button:hover {
    border-color: var(--cars-red-dark);
    background: var(--cars-red-dark);
}

.showcase-order-button i,
.showcase-learn-button i {
    font-size: 10px;
}


/* =========================================================
   MESSAGES AND EMPTY STATE
   ========================================================= */

.cars-message {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 25px 0;
    padding: 22px;
    border: 1px solid #f1d0d0;
    background: #fff7f7;
    color: #333333;
}

.cars-message > i {
    margin-top: 2px;
    color: var(--cars-red);
    font-size: 20px;
}

.cars-message strong {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
}

.cars-message p {
    margin: 0;
    color: #777777;
    font-size: 11px;
    line-height: 1.7;
}

.cars-empty-state {
    padding: 90px 25px;
    text-align: center;
    background: #f7f7f7;
}

.empty-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #ffffff;
    color: var(--cars-red);
    font-size: 26px;
}

.cars-empty-state h3 {
    margin: 16px 0 10px;
    color: #111111;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -1px;
}

.cars-empty-state p {
    max-width: 440px;
    margin: 0 auto;
    color: #777777;
    font-size: 12px;
    line-height: 1.9;
}

.cars-empty-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
    padding: 14px 22px;
    background: var(--cars-red);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    transition: background 0.2s ease;
}

.cars-empty-button:hover {
    background: var(--cars-red-dark);
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.cars-final-cta {
    position: relative;
    overflow: hidden;
    padding: 105px 25px;
    background: #111111;
    color: #ffffff;
    text-align: center;
}

.cars-final-cta::before,
.cars-final-cta::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(232, 33, 39, 0.13);
    filter: blur(90px);
    pointer-events: none;
}

.cars-final-cta::before {
    top: -160px;
    left: -100px;
}

.cars-final-cta::after {
    right: -100px;
    bottom: -180px;
}

.cars-final-cta-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.cars-final-cta h2 {
    margin: 20px 0 15px;
    color: #ffffff;
    font-size: clamp(35px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -2.5px;
}

.cars-final-cta h2 span {
    display: block;
    color: var(--cars-red);
}

.cars-final-cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.8;
}

.cars-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 30px;
    padding: 15px 23px;
    background: var(--cars-red);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    transition: background 0.2s ease, gap 0.2s ease;
}

.cars-cta-button:hover {
    gap: 20px;
    background: var(--cars-red-dark);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .cars-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .search-field {
        grid-column: span 2;
    }

    .cars-filter-button {
        width: 100%;
    }

    .vehicle-showcase,
    .vehicle-showcase.showcase-reverse {
        grid-template-columns: 1fr 0.9fr;
    }

    .showcase-information {
        padding: 35px 28px;
    }

    .showcase-image-area {
        min-height: 390px;
    }

    .showcase-vehicle-image {
        max-height: 340px;
    }

}


/* =========================================================
   MOBILE / SMALL TABLET
   ========================================================= */

@media (max-width: 760px) {

    .cars-container {
        width: min(100% - 36px, 600px);
    }

    .cars-hero {
        min-height: 520px;
    }

    .cars-hero-background {
        background-position: 60% center;
    }

    .cars-hero-content {
        width: calc(100% - 40px);
        padding: 85px 0 100px;
    }

    .cars-hero-content h1 {
        font-size: clamp(45px, 12vw, 68px);
        letter-spacing: -3px;
    }

    .cars-hero-content p {
        max-width: 390px;
        font-size: 13px;
    }

    .cars-hero-bottom {
        width: calc(100% - 40px);
        bottom: 20px;
        font-size: 8px;
        letter-spacing: 1px;
    }

    .cars-inventory-section {
        padding: 70px 0 75px;
    }

    .inventory-heading {
        align-items: flex-start;
        margin-bottom: 30px;
    }

    .inventory-heading h2 {
        font-size: 38px;
        letter-spacing: -2px;
    }

    .inventory-heading p {
        font-size: 12px;
    }

    .inventory-total {
        min-width: auto;
        padding-left: 15px;
    }

    .inventory-total strong {
        font-size: 29px;
    }

    .inventory-total span {
        font-size: 8px;
    }

    .cars-filter-panel {
        padding: 18px;
    }

    .cars-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    .search-field {
        grid-column: 1 / -1;
    }

    .cars-filter-button {
        grid-column: 1 / -1;
    }

    .vehicle-showcase,
    .vehicle-showcase.showcase-reverse {
        grid-template-columns: 1fr;
    }

    .showcase-reverse .showcase-image-area,
    .showcase-reverse .showcase-information {
        order: initial;
    }

    .showcase-image-area {
        min-height: 300px;
    }

    .showcase-vehicle-image {
        max-height: 280px;
        padding: 25px;
    }

    .showcase-information {
        padding: 30px 25px 35px;
    }

    .showcase-information h3 {
        font-size: 36px;
    }

    .showcase-description {
        margin: 13px 0 20px;
    }

    .showcase-specifications {
        gap: 18px;
    }

    .showcase-price {
        font-size: 26px;
    }

    .showcase-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .showcase-learn-button,
    .showcase-order-button {
        padding: 0 10px;
        font-size: 9px;
    }

    .cars-final-cta {
        padding: 80px 22px;
    }

    .cars-final-cta h2 {
        font-size: 40px;
        letter-spacing: -1.8px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .cars-container {
        width: calc(100% - 28px);
    }

    .inventory-heading {
        gap: 12px;
    }

    .inventory-heading h2 {
        font-size: 31px;
    }

    .inventory-total strong {
        font-size: 25px;
    }

    .inventory-total span {
        font-size: 7px;
        letter-spacing: 0.8px;
    }

    .cars-filter-panel {
        padding: 14px;
    }

    .filter-panel-heading strong {
        font-size: 11px;
    }

    .cars-filter-field input,
    .cars-filter-field select {
        font-size: 10px;
        padding-left: 9px;
        padding-right: 8px;
    }

    .filter-input-wrap input {
        padding-left: 33px;
    }

    .showcase-image-area {
        min-height: 250px;
    }

    .showcase-vehicle-image {
        max-height: 235px;
        padding: 18px;
    }

    .showcase-information {
        padding: 27px 19px 30px;
    }

    .showcase-information h3 {
        font-size: 31px;
    }

    .showcase-specifications {
        gap: 13px;
    }

    .specification-item {
        gap: 7px;
    }

    .specification-item > i {
        font-size: 14px;
    }

    .showcase-actions {
        grid-template-columns: 1fr;
    }

    .showcase-learn-button,
    .showcase-order-button {
        width: 100%;
    }

    .cars-final-cta h2 {
        font-size: 34px;
    }

}

/* =========================================================
   ABOUT PAGE — TESLA-INSPIRED RED & WHITE DESIGN
========================================================= */

.about-page {
    --about-red: #e82127;
    --about-red-dark: #c9141b;
    --about-black: #111111;
    --about-gray: #666666;
    --about-muted: #f5f5f5;
    --about-line: #e9e9e9;
    --about-white: #ffffff;

    font-family: 'Inter', sans-serif;
    color: var(--about-black);
    overflow: hidden;
}

.about-page * {
    box-sizing: border-box;
}

.about-container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.section-padding {
    padding: 110px 0;
}

.about-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--about-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.red-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--about-red);
}


/* =========================================================
   HERO
========================================================= */

.about-hero {
    position: relative;
    min-height: 680px;
    height: min(780px, calc(100svh - 70px));
    display: flex;
    align-items: center;
    color: #fff;
    background: #111;
    isolation: isolate;
}

.about-hero-background {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .82) 0%,
            rgba(0, 0, 0, .55) 42%,
            rgba(0, 0, 0, .05) 100%
        ),
        linear-gradient(
            0deg,
            rgba(0, 0, 0, .35),
            transparent 45%
        ),
        url('../assets/cars/model-y.webp') center 55% / cover no-repeat;
    transform: scale(1.02);
}

.about-hero-content {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding-bottom: 30px;
}

.about-hero .about-eyebrow {
    color: #fff;
}

.about-hero h1 {
    font-size: clamp(54px, 8vw, 108px);
    line-height: .98;
    letter-spacing: -6px;
    font-weight: 900;
    margin: 30px 0 24px;
}

.about-hero h1 span {
    color: var(--about-red);
}

.about-hero-content > p {
    max-width: 470px;
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    line-height: 1.9;
}

.about-hero-actions {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 36px;
}

.about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 48px;
    padding: 0 25px;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: .4px;
    transition: .25s ease;
}

.about-btn-red {
    background: var(--about-red);
    color: #fff;
}

.about-btn-red:hover {
    background: var(--about-red-dark);
    transform: translateY(-3px);
}

.about-text-link {
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.about-text-link i {
    color: var(--about-red);
}

.about-hero-bottom {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1240px, calc(100% - 48px));
    display: flex;
    align-items: center;
    gap: 17px;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.hero-line {
    height: 1px;
    width: 40px;
    background: rgba(255,255,255,.35);
}


/* =========================================================
   INTRODUCTION
========================================================= */

.about-intro {
    background: #fff;
}

.about-intro-content {
    max-width: 970px;
    margin-left: auto;
}

.about-intro-content h2 {
    max-width: 850px;
    font-size: clamp(36px, 5vw, 66px);
    line-height: 1.1;
    letter-spacing: -3px;
    font-weight: 850;
    margin: 25px 0 45px;
}

.about-intro-content h2 span {
    color: var(--about-red);
}

.about-intro-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    border-top: 1px solid var(--about-line);
    padding-top: 30px;
}

.about-intro-bottom p {
    color: var(--about-gray);
    font-size: 13px;
    line-height: 2;
    margin: 0;
}


/* =========================================================
   FEATURE
========================================================= */

.about-feature {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    background: #111;
    color: #fff;
    overflow: hidden;
}

.about-feature-image,
.about-feature-overlay {
    position: absolute;
    inset: 0;
}

.about-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .75;
}

.about-feature-overlay {
    background: linear-gradient(
        90deg,
        rgba(0,0,0,.88),
        rgba(0,0,0,.42) 60%,
        rgba(0,0,0,.1)
    );
}

.about-feature-content {
    position: relative;
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding: 100px 0;
}

.about-feature-content .about-eyebrow {
    color: #fff;
}

.about-feature-content h2 {
    font-size: clamp(45px, 6vw, 78px);
    line-height: 1.02;
    letter-spacing: -4px;
    font-weight: 900;
    margin: 25px 0;
}

.about-feature-content p {
    max-width: 440px;
    color: rgba(255,255,255,.75);
    font-size: 13px;
    line-height: 1.9;
}

.about-outline-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 16px 0;
    margin-top: 25px;
    border-bottom: 1px solid rgba(255,255,255,.6);
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    transition: .25s ease;
}

.about-outline-btn:hover {
    color: var(--about-red);
    border-color: var(--about-red);
}


/* =========================================================
   PURPOSE
========================================================= */

.about-purpose {
    background: #f7f7f7;
}

.about-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 65px;
}

.about-section-heading h2,
.about-principles-heading h2,
.about-highlights-heading h2 {
    font-size: clamp(40px, 5vw, 65px);
    line-height: 1.05;
    letter-spacing: -3px;
    font-weight: 900;
    margin: 22px 0 0;
}

.about-section-heading h2 span,
.about-principles-heading h2 span,
.about-highlights-heading h2 span {
    color: var(--about-red);
}

.about-section-heading > p {
    max-width: 360px;
    color: var(--about-gray);
    font-size: 13px;
    line-height: 1.9;
    margin: 0 0 5px;
}

.purpose-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #e5e5e5;
    background: #fff;
}

.purpose-card {
    min-height: 330px;
    padding: 35px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-right: 1px solid #e5e5e5;
    transition: .3s ease;
}

.purpose-card:last-child {
    border-right: 0;
}

.purpose-card:hover {
    background: #fffafa;
}

.purpose-card-top {
    display: flex;
    justify-content: space-between;
    color: var(--about-red);
    font-size: 12px;
    font-weight: 800;
}

.purpose-card-top i {
    font-size: 21px;
}

.purpose-card h3 {
    font-size: 21px;
    font-weight: 850;
    margin: 0 0 15px;
}

.purpose-card p {
    font-size: 12px;
    line-height: 1.9;
    color: var(--about-gray);
    margin: 0;
}

.purpose-card-line {
    height: 3px;
    width: 35px;
    background: var(--about-red);
    transition: width .3s ease;
}

.purpose-card:hover .purpose-card-line {
    width: 80px;
}


/* =========================================================
   PRINCIPLES
========================================================= */

.about-principles {
    background: #fff;
}

.about-principles-heading {
    margin-bottom: 55px;
}

.principles-list {
    border-top: 1px solid var(--about-line);
}

.principle-item {
    display: grid;
    grid-template-columns: 55px 65px 1fr 30px;
    align-items: center;
    gap: 25px;
    padding: 30px 10px;
    border-bottom: 1px solid var(--about-line);
    transition: .3s ease;
}

.principle-item:hover {
    padding-left: 22px;
    background: #fafafa;
}

.principle-number {
    font-size: 11px;
    font-weight: 800;
    color: var(--about-red);
}

.principle-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    background: #fff1f1;
    color: var(--about-red);
    font-size: 17px;
}

.principle-content h3 {
    font-size: 17px;
    font-weight: 850;
    margin: 0 0 8px;
}

.principle-content p {
    max-width: 580px;
    color: var(--about-gray);
    font-size: 12px;
    line-height: 1.8;
    margin: 0;
}

.principle-arrow {
    color: #aaa;
    font-size: 12px;
    transition: .3s ease;
}

.principle-item:hover .principle-arrow {
    color: var(--about-red);
    transform: translate(3px, -3px);
}


/* =========================================================
   EXPERIENCE HIGHLIGHTS
========================================================= */

.about-highlights {
    background: #f7f7f7;
}

.about-highlights-heading {
    margin-bottom: 55px;
}

.highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.highlight-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 330px;
    padding: 30px;
    background: #fff;
    border: 1px solid #ededed;
    text-decoration: none;
    color: var(--about-black);
    transition: .3s ease;
}

.highlight-card:hover {
    border-color: var(--about-red);
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
}

.highlight-card-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: var(--about-red);
    background: #fff0f0;
    font-size: 18px;
}

.highlight-card-number {
    position: absolute;
    top: 35px;
    right: 30px;
    color: #ccc;
    font-size: 11px;
    font-weight: 800;
}

.highlight-card h3 {
    font-size: 19px;
    font-weight: 850;
    margin: 35px 0 12px;
}

.highlight-card p {
    color: var(--about-gray);
    font-size: 12px;
    line-height: 1.9;
    margin: 0 0 30px;
}

.highlight-link {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--about-red);
    font-size: 10px;
    font-weight: 800;
}


/* =========================================================
   FINAL CTA
========================================================= */

.about-final-cta {
    position: relative;
    overflow: hidden;
    background: var(--about-red);
    color: #fff;
    padding: 110px 24px;
}

.about-final-cta-inner {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.about-final-cta .about-eyebrow {
    color: rgba(255,255,255,.8);
}

.about-final-cta h2 {
    font-size: clamp(45px, 7vw, 78px);
    font-weight: 900;
    letter-spacing: -4px;
    line-height: 1.03;
    margin: 25px 0;
}

.about-final-cta p {
    max-width: 490px;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.9;
    color: rgba(255,255,255,.85);
}

.about-cta-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 35px;
}

.about-btn-white {
    background: #fff;
    color: var(--about-black);
}

.about-btn-white:hover {
    background: #f1f1f1;
    transform: translateY(-3px);
}

.about-cta-contact {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.about-cta-decoration {
    position: absolute;
    right: -20px;
    bottom: -170px;
    font-size: 500px;
    line-height: 1;
    font-weight: 900;
    color: rgba(255,255,255,.07);
    pointer-events: none;
}


/* =========================================================
   REVEAL ANIMATIONS
========================================================= */

.about-reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity .7s ease, transform .7s ease;
}

.about-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .section-padding {
        padding: 80px 0;
    }

    .about-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .purpose-grid {
        grid-template-columns: 1fr;
    }

    .purpose-card {
        min-height: 260px;
        border-right: 0;
        border-bottom: 1px solid #e5e5e5;
    }

    .purpose-card:last-child {
        border-bottom: 0;
    }

    .highlight-grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-hero {
        min-height: 650px;
    }
}


@media (max-width: 600px) {

    .about-container {
        width: calc(100% - 36px);
    }

    .section-padding {
        padding: 65px 0;
    }

    .about-hero {
        min-height: 620px;
        height: calc(90svh - 60px);
    }

    .about-hero-background {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.78),
                rgba(0,0,0,.35)
            ),
            url('../assets/cars/model-y.webp') center / cover no-repeat;
    }

    .about-hero-content {
        width: calc(100% - 36px);
    }

    .about-hero h1 {
        font-size: clamp(50px, 14vw, 75px);
        letter-spacing: -3px;
    }

    .about-hero-content > p {
        font-size: 13px;
    }

    .about-hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .about-hero-bottom {
        width: calc(100% - 36px);
        gap: 9px;
        font-size: 7px;
        letter-spacing: .8px;
    }

    .hero-line {
        width: 15px;
    }

    .about-intro-content {
        margin-top: 25px;
    }

    .about-intro-content h2,
    .about-section-heading h2,
    .about-principles-heading h2,
    .about-highlights-heading h2 {
        font-size: 40px;
        letter-spacing: -2px;
    }

    .about-intro-bottom {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .about-feature {
        min-height: 550px;
    }

    .about-feature-content {
        width: calc(100% - 36px);
    }

    .about-feature-content h2 {
        font-size: 46px;
        letter-spacing: -2px;
    }

    .highlight-grid {
        grid-template-columns: 1fr;
    }

    .highlight-card {
        min-height: 280px;
    }

    .principle-item {
        grid-template-columns: 30px 45px 1fr;
        gap: 12px;
        padding: 23px 0;
    }

    .principle-icon {
        width: 40px;
        height: 40px;
    }

    .principle-content h3 {
        font-size: 15px;
    }

    .principle-content p {
        font-size: 11px;
    }

    .principle-arrow {
        display: none;
    }

    .about-final-cta {
        padding: 80px 18px;
    }

    .about-final-cta h2 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .about-cta-actions {
        flex-direction: column;
        gap: 22px;
    }

    .about-cta-decoration {
        font-size: 300px;
        bottom: -90px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .about-page *,
    .about-page *::before,
    .about-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

    .about-reveal {
        opacity: 1;
        transform: none;
    }
}

/* =========================================================
   CONTACT PAGE — RED & WHITE DESIGN
========================================================= */

.contact-page {
    --contact-red: #e82127;
    --contact-red-dark: #c9141b;
    --contact-black: #111;
    --contact-gray: #666;
    --contact-line: #e9e9e9;
    --contact-light: #f6f6f6;

    color: var(--contact-black);
    font-family: 'Inter', sans-serif;
    overflow: hidden;
}

.contact-page *,
.contact-toast * {
    box-sizing: border-box;
}

.contact-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

.contact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--contact-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.contact-red-dot {
    width: 7px;
    height: 7px;
    background: var(--contact-red);
    border-radius: 50%;
}


/* =========================================================
   HERO
========================================================= */

.contact-hero {
    min-height: 620px;
    height: min(740px, calc(100svh - 70px));
    position: relative;
    display: flex;
    align-items: center;
    isolation: isolate;
    color: #fff;
    background: #111;
}

.contact-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .84),
            rgba(0, 0, 0, .52) 50%,
            rgba(0, 0, 0, .12)
        ),
        linear-gradient(
            0deg,
            rgba(0, 0, 0, .35),
            transparent 50%
        ),
        url('../assets/cars/model-y.webp') center 55% / cover no-repeat;
}

.contact-hero-content {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
    padding-bottom: 35px;
}

.contact-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 65px;
    color: rgba(255,255,255,.7);
    font-size: 10px;
    font-weight: 600;
}

.contact-breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.contact-breadcrumb i {
    color: var(--contact-red);
    font-size: 9px;
}

.contact-hero .contact-eyebrow {
    color: #fff;
}

.contact-hero h1 {
    font-size: clamp(54px, 8vw, 100px);
    line-height: .98;
    letter-spacing: -5px;
    font-weight: 900;
    margin: 25px 0;
}

.contact-hero h1 span {
    color: var(--contact-red);
}

.contact-hero-content > p {
    max-width: 470px;
    color: rgba(255,255,255,.8);
    font-size: 14px;
    line-height: 1.9;
}

.contact-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.55);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: .25s ease;
}

.contact-hero-link i {
    color: var(--contact-red);
}

.contact-hero-link:hover {
    border-color: var(--contact-red);
    gap: 21px;
}

.contact-hero-bottom {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1240px, calc(100% - 48px));
    display: flex;
    align-items: center;
    gap: 17px;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.contact-hero-line {
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,.35);
}


/* =========================================================
   MAIN CONTACT SECTION
========================================================= */

.contact-main-section {
    padding: 110px 0;
    background: #fff;
}

.contact-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    margin-bottom: 65px;
}

.contact-section-heading h2 {
    font-size: clamp(40px, 5vw, 66px);
    line-height: 1.05;
    letter-spacing: -3px;
    font-weight: 900;
    margin: 22px 0 0;
}

.contact-section-heading h2 span {
    color: var(--contact-red);
}

.contact-section-heading > p {
    max-width: 390px;
    color: var(--contact-gray);
    font-size: 13px;
    line-height: 1.9;
    margin: 0 0 5px;
}

.contact-layout {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 65px;
    align-items: start;
}


/* =========================================================
   CONTACT INFORMATION
========================================================= */

.contact-information {
    padding: 38px;
    background: #f6f6f6;
}

.contact-information-heading h3 {
    font-size: clamp(30px, 3.5vw, 43px);
    line-height: 1.08;
    letter-spacing: -2px;
    font-weight: 900;
    margin: 23px 0 15px;
}

.contact-information-heading > p {
    max-width: 350px;
    color: var(--contact-gray);
    font-size: 12px;
    line-height: 1.9;
}

.contact-information-list {
    margin-top: 40px;
    border-top: 1px solid #e2e2e2;
}

.contact-information-item {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 24px 0;
    border-bottom: 1px solid #e2e2e2;
    min-width: 0;
}

.contact-icon {
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    color: var(--contact-red);
    background: #fff;
    font-size: 16px;
}

.contact-information-item > div:nth-child(2) {
    min-width: 0;
}

.contact-info-label {
    display: block;
    color: #999;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.3px;
    margin-bottom: 8px;
}

.contact-information-item a,
.contact-information-item strong {
    color: var(--contact-black);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.contact-information-item a:hover {
    color: var(--contact-red);
}

.contact-information-item p {
    color: var(--contact-gray);
    font-size: 11px;
    line-height: 1.7;
    margin: 5px 0 0;
}

.contact-info-arrow {
    margin-left: auto;
    color: #aaa;
    font-size: 11px;
}

.contact-information-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 25px;
    color: var(--contact-red);
}

.contact-information-note i {
    margin-top: 3px;
    font-size: 13px;
}

.contact-information-note p {
    color: var(--contact-gray);
    font-size: 10px;
    line-height: 1.8;
    margin: 0;
}


/* =========================================================
   CONTACT FORM
========================================================= */

.contact-form-wrapper {
    padding: 42px;
    border: 1px solid var(--contact-line);
    background: #fff;
    scroll-margin-top: 100px;
}

.contact-form-heading {
    margin-bottom: 35px;
}

.contact-form-heading h3 {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -1px;
    margin: 15px 0 9px;
}

.contact-form-heading p {
    color: var(--contact-gray);
    font-size: 12px;
    line-height: 1.8;
    margin: 0;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px 18px;
}

.contact-field {
    min-width: 0;
}

.contact-field-full {
    grid-column: 1 / -1;
}

.contact-field label {
    display: block;
    color: #222;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 10px;
}

.contact-field label span {
    color: var(--contact-red);
}

.contact-input-wrap {
    position: relative;
}

.contact-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 13px;
    pointer-events: none;
}

.contact-input-wrap input,
.contact-field textarea {
    display: block;
    width: 100%;
    min-width: 0;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    outline: none;
    background: #fafafa;
    color: #111;
    font-family: inherit;
    font-size: 12px;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.contact-input-wrap input {
    height: 49px;
    padding: 0 14px 0 42px;
}

.contact-field textarea {
    min-height: 150px;
    resize: vertical;
    padding: 16px;
    line-height: 1.7;
}

.contact-input-wrap input::placeholder,
.contact-field textarea::placeholder {
    color: #aaa;
}

.contact-input-wrap input:focus,
.contact-field textarea:focus {
    border-color: var(--contact-red);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(232,33,39,.07);
}

.contact-message-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.contact-message-label > span {
    color: #999;
    font-size: 10px;
    font-weight: 700;
}

.contact-field-hint {
    display: block;
    color: #999;
    font-size: 10px;
    margin-top: 8px;
}

.contact-form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--contact-line);
}

.contact-form-footer > p {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #888;
    font-size: 10px;
    line-height: 1.6;
    margin: 0;
}

.contact-form-footer > p i {
    color: var(--contact-red);
}

.contact-submit-btn {
    min-height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 0 23px;
    border: 0;
    background: var(--contact-red);
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: .25s ease;
}

.contact-submit-btn:hover {
    background: var(--contact-red-dark);
    transform: translateY(-2px);
}

.contact-submit-btn:disabled {
    opacity: .7;
    cursor: wait;
    transform: none;
}


/* =========================================================
   FAQ CTA
========================================================= */

.contact-faq-section {
    padding: 75px 0;
    background: #f6f6f6;
}

.contact-faq-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.contact-faq-inner h2 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -2px;
    font-weight: 900;
    margin: 20px 0 12px;
}

.contact-faq-inner p {
    max-width: 480px;
    color: var(--contact-gray);
    font-size: 12px;
    line-height: 1.9;
    margin: 0;
}

.contact-faq-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    min-height: 49px;
    padding: 0 24px;
    background: var(--contact-black);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: .25s ease;
}

.contact-faq-btn:hover {
    background: var(--contact-red);
    transform: translateY(-3px);
}


/* =========================================================
   FINAL CTA
========================================================= */

.contact-final-cta {
    position: relative;
    overflow: hidden;
    padding: 100px 24px;
    background: var(--contact-red);
    color: #fff;
}

.contact-final-inner {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.contact-final-cta .contact-eyebrow {
    color: rgba(255,255,255,.8);
}

.contact-final-inner h2 {
    font-size: clamp(45px, 7vw, 76px);
    line-height: 1.03;
    letter-spacing: -4px;
    font-weight: 900;
    margin: 25px 0;
}

.contact-final-inner p {
    max-width: 470px;
    margin: 0 auto;
    color: rgba(255,255,255,.85);
    font-size: 13px;
    line-height: 1.9;
}

.contact-final-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 49px;
    margin-top: 32px;
    padding: 0 25px;
    background: #fff;
    color: #111;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: .25s ease;
}

.contact-final-btn:hover {
    background: #f1f1f1;
    transform: translateY(-3px);
}

.contact-cta-decoration {
    position: absolute;
    right: -20px;
    bottom: -170px;
    color: rgba(255,255,255,.07);
    font-size: 500px;
    line-height: 1;
    font-weight: 900;
    pointer-events: none;
}


/* =========================================================
   POPUP NOTIFICATION
========================================================= */

.contact-toast {
    position: fixed;
    z-index: 99999;
    top: 25px;
    right: 25px;
    width: min(410px, calc(100% - 30px));
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 19px 42px 20px 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e9e9e9;
    box-shadow: 0 15px 45px rgba(0,0,0,.14);
    animation: contactToastIn .35s ease both;
}

.contact-toast-success {
    border-left: 4px solid #16a36a;
}

.contact-toast-error {
    border-left: 4px solid var(--contact-red);
}

.contact-toast-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e9f8f0;
    color: #16a36a;
    font-size: 13px;
}

.contact-toast-error .contact-toast-icon {
    background: #fff0f0;
    color: var(--contact-red);
}

.contact-toast-content {
    min-width: 0;
}

.contact-toast-content strong {
    display: block;
    color: #171717;
    font-size: 13px;
    font-weight: 800;
    margin: 1px 0 5px;
}

.contact-toast-content p {
    color: #666;
    font-size: 11px;
    line-height: 1.7;
    margin: 0;
    overflow-wrap: anywhere;
}

.contact-toast-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 0;
    background: transparent;
    color: #999;
    cursor: pointer;
}

.contact-toast-close:hover {
    color: var(--contact-red);
}

.contact-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: #16a36a;
    transform-origin: left;
    animation: contactToastProgress 6s linear forwards;
}

.contact-toast-error .contact-toast-progress {
    background: var(--contact-red);
}

.contact-toast.is-hiding {
    animation: contactToastOut .25s ease forwards;
}

@keyframes contactToastIn {
    from {
        opacity: 0;
        transform: translateX(25px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes contactToastOut {
    to {
        opacity: 0;
        transform: translateX(25px);
    }
}

@keyframes contactToastProgress {
    from {
        transform: scaleX(1);
    }
    to {
        transform: scaleX(0);
    }
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .contact-information {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }

    .contact-information-heading {
        align-self: center;
    }

    .contact-information-list {
        margin-top: 0;
    }

    .contact-information-note {
        grid-column: 1 / -1;
        margin-top: 0;
    }
}

@media (max-width: 700px) {

    .contact-container {
        width: calc(100% - 36px);
    }

    .contact-main-section {
        padding: 75px 0;
    }

    .contact-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 40px;
    }

    .contact-information {
        display: block;
        padding: 28px 22px;
    }

    .contact-information-list {
        margin-top: 25px;
    }

    .contact-information-note {
        margin-top: 20px;
    }

    .contact-form-wrapper {
        padding: 28px 20px;
    }

    .contact-faq-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {

    .contact-hero {
        min-height: 590px;
        height: 88svh;
    }

    .contact-hero-bg {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.82),
                rgba(0,0,0,.38)
            ),
            url('../assets/cars/model-y.webp') center / cover no-repeat;
    }

    .contact-hero-content {
        width: calc(100% - 36px);
    }

    .contact-breadcrumb {
        margin-bottom: 55px;
    }

    .contact-hero h1 {
        font-size: clamp(49px, 13vw, 68px);
        letter-spacing: -3px;
    }

    .contact-hero-content > p {
        font-size: 12px;
    }

    .contact-hero-bottom {
        width: calc(100% - 36px);
        gap: 9px;
        font-size: 7px;
        letter-spacing: .8px;
    }

    .contact-hero-line {
        width: 15px;
    }

    .contact-section-heading h2 {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .contact-field-full {
        grid-column: auto;
    }

    .contact-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-submit-btn {
        width: 100%;
    }

    .contact-faq-inner h2 {
        font-size: 36px;
    }

    .contact-final-cta {
        padding: 80px 18px;
    }

    .contact-final-inner h2 {
        font-size: 46px;
        letter-spacing: -2px;
    }

    .contact-cta-decoration {
        font-size: 300px;
        bottom: -90px;
    }

    .contact-toast {
        top: 12px;
        right: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-page *,
    .contact-toast,
    .contact-toast * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   FAQ PAGE — TESLA-INSPIRED RED & WHITE DESIGN
========================================================= */

.faq-page {
    --faq-red: #e82127;
    --faq-red-dark: #c8171d;
    --faq-black: #171717;
    --faq-gray: #666;
    --faq-muted: #929292;
    --faq-line: #e8e8e8;
    --faq-light: #f5f5f5;
    --faq-white: #fff;
    font-family: "Inter", sans-serif;
    color: var(--faq-black);
}

.faq-page *,
.faq-page *::before,
.faq-page *::after {
    box-sizing: border-box;
}

.faq-container {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto;
}

/* HERO */

.faq-hero {
    min-height: 610px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .43) 55%, rgba(0, 0, 0, .16)),
        linear-gradient(0deg, rgba(0, 0, 0, .45), transparent 55%),
        url("../assets/cars/model-y.webp") center 55% / cover no-repeat;
}

.faq-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, rgba(0, 0, 0, .25), transparent 75%);
    pointer-events: none;
}

.faq-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 85px;
    padding-bottom: 72px;
}

.faq-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 76px;
    color: rgba(255, 255, 255, .7);
    font-size: 12px;
    font-weight: 500;
}

.faq-breadcrumb a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.faq-breadcrumb a:hover {
    color: var(--faq-red);
}

.faq-breadcrumb i {
    font-size: 9px;
    opacity: .7;
}

.faq-eyebrow,
.faq-section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.faq-eyebrow {
    color: rgba(255, 255, 255, .8);
    margin-bottom: 20px;
}

.faq-eyebrow-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--faq-red);
    box-shadow: 0 0 12px rgba(232, 33, 39, .8);
}

.faq-hero h1 {
    max-width: 850px;
    margin: 0;
    font-size: clamp(48px, 7.5vw, 92px);
    line-height: .98;
    letter-spacing: -5px;
    font-weight: 700;
}

.faq-hero h1 span {
    color: rgba(255, 255, 255, .62);
}

.faq-hero-content > p {
    max-width: 510px;
    margin: 25px 0 30px;
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
    line-height: 1.9;
}

.faq-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, .6);
    transition: gap .25s ease, border-color .25s ease;
}

.faq-hero-link:hover {
    gap: 21px;
    border-color: var(--faq-red);
}

.faq-hero-link i {
    color: var(--faq-red);
}

.faq-hero-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 26px;
    left: 0;
    right: 0;
    color: rgba(255, 255, 255, .55);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.7px;
}

/* MAIN FAQ SECTION */

.faq-main-section {
    padding: 105px 0 115px;
    background: #fff;
}

.faq-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 42px;
}

.faq-section-label {
    color: var(--faq-red);
    margin-bottom: 15px;
}

.faq-heading h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;
    letter-spacing: -2.5px;
    line-height: 1.1;
}

.faq-heading p {
    margin: 13px 0 0;
    color: var(--faq-gray);
    font-size: 14px;
    line-height: 1.8;
}

.faq-count {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 17px;
    background: var(--faq-light);
    border-radius: 5px;
    white-space: nowrap;
}

.faq-count strong {
    color: var(--faq-red);
    font-size: 25px;
    font-weight: 700;
}

.faq-count span {
    color: var(--faq-gray);
    font-size: 11px;
    font-weight: 600;
}

/* SEARCH */

.faq-search-wrap {
    height: 60px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 20px;
    margin-bottom: 22px;
    background: #f7f7f7;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: border-color .2s ease, background .2s ease;
}

.faq-search-wrap:focus-within {
    background: #fff;
    border-color: var(--faq-red);
}

.faq-search-wrap > i {
    color: #777;
    font-size: 15px;
}

.faq-search-wrap input {
    width: 100%;
    height: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--faq-black);
    font: inherit;
    font-size: 13px;
}

.faq-search-wrap input::placeholder {
    color: #999;
}

.faq-search-wrap kbd {
    color: #999;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* CATEGORY FILTERS */

.faq-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 35px;
}

.faq-category {
    min-height: 37px;
    padding: 0 16px;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    background: #fff;
    color: #666;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.faq-category:hover,
.faq-category.active {
    color: #fff;
    background: var(--faq-red);
    border-color: var(--faq-red);
}

/* CONTENT GRID */

.faq-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 48px;
}

.faq-list {
    min-width: 0;
    border-top: 1px solid var(--faq-line);
}

.faq-item {
    border-bottom: 1px solid var(--faq-line);
    transition: background .2s ease;
}

.faq-item:hover {
    background: #fcfcfc;
}

.faq-item[hidden] {
    display: none !important;
}

.faq-question {
    width: 100%;
    min-height: 91px;
    display: flex;
    align-items: center;
    gap: 23px;
    padding: 19px 7px;
    border: 0;
    background: transparent;
    color: var(--faq-black);
    text-align: left;
    font-family: inherit;
    cursor: pointer;
}

.faq-question-number {
    flex: 0 0 30px;
    color: #aaa;
    font-size: 11px;
    font-weight: 600;
}

.faq-question-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 650;
}

.faq-question-text small {
    color: #999;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.faq-toggle {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid #e7e7e7;
    border-radius: 50%;
    color: #777;
    font-size: 11px;
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}

.faq-item.open .faq-toggle {
    color: #fff;
    background: var(--faq-red);
    border-color: var(--faq-red);
    transform: rotate(45deg);
}

.faq-answer {
    display: grid;
    grid-template-rows: 1fr;
}

.faq-answer[hidden] {
    display: none;
}

.faq-answer-inner {
    max-width: 760px;
    padding: 0 65px 27px 60px;
    color: #696969;
    font-size: 13px;
    line-height: 1.95;
}

.faq-answer-inner p {
    margin: 0 0 12px;
}

.faq-answer-inner p:last-child {
    margin-bottom: 0;
}

/* NO RESULTS */

.faq-no-results {
    padding: 60px 20px;
    text-align: center;
}

.faq-no-results[hidden] {
    display: none;
}

.faq-no-results > i {
    color: var(--faq-red);
    font-size: 25px;
}

.faq-no-results h3 {
    margin: 17px 0 8px;
    font-size: 19px;
}

.faq-no-results p {
    color: var(--faq-gray);
    font-size: 12px;
    line-height: 1.7;
}

.faq-no-results button {
    margin-top: 12px;
    padding: 11px 18px;
    border: 0;
    border-radius: 3px;
    background: var(--faq-red);
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

/* SIDE PANEL */

.faq-side-panel {
    padding: 30px 27px;
    background: #f6f6f6;
    border-radius: 4px;
}

.faq-side-icon {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    margin-bottom: 26px;
    background: #fff;
    color: var(--faq-red);
    border-radius: 50%;
    font-size: 17px;
}

.faq-side-panel .faq-section-label {
    font-size: 9px;
    margin-bottom: 13px;
}

.faq-side-panel h3 {
    margin: 0;
    font-size: 23px;
    line-height: 1.3;
    letter-spacing: -.8px;
}

.faq-side-panel > p {
    margin: 15px 0 23px;
    color: var(--faq-gray);
    font-size: 12px;
    line-height: 1.9;
}

.faq-side-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px;
    background: var(--faq-red);
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    transition: background .2s ease;
}

.faq-side-link:hover {
    background: var(--faq-red-dark);
}

.faq-side-link i {
    font-size: 10px;
}

.faq-side-divider {
    height: 1px;
    margin: 25px 0 20px;
    background: #e3e3e3;
}

.faq-side-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #777;
    font-size: 10px;
    line-height: 1.8;
}

.faq-side-note i {
    margin-top: 3px;
    color: var(--faq-red);
}

/* BOTTOM CTA */

.faq-cta {
    position: relative;
    overflow: hidden;
    padding: 75px 0;
    background: #171717;
    color: #fff;
}

.faq-cta::after {
    content: "?";
    position: absolute;
    right: 8%;
    top: -105px;
    color: rgba(255, 255, 255, .035);
    font-size: 390px;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.faq-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
}

.faq-cta .faq-section-label {
    color: #ff6569;
}

.faq-cta h2 {
    margin: 0;
    font-size: clamp(32px, 4vw, 48px);
    letter-spacing: -2px;
    line-height: 1.15;
}

.faq-cta p {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .65);
    font-size: 13px;
    line-height: 1.8;
}

.faq-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    min-height: 52px;
    padding: 0 23px;
    background: var(--faq-red);
    color: #fff;
    border-radius: 3px;
    text-decoration: none;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
    transition: background .2s ease, gap .2s ease;
}

.faq-cta-button:hover {
    background: var(--faq-red-dark);
    gap: 32px;
}

/* ACCESSIBILITY */

.faq-question:focus-visible,
.faq-category:focus-visible,
.faq-side-link:focus-visible,
.faq-cta-button:focus-visible {
    outline: 3px solid rgba(232, 33, 39, .35);
    outline-offset: 3px;
}

/* RESPONSIVE */

@media (max-width: 1000px) {
    .faq-content-grid {
        grid-template-columns: minmax(0, 1fr) 270px;
        gap: 28px;
    }

    .faq-hero {
        min-height: 560px;
    }
}

@media (max-width: 760px) {
    .faq-container {
        width: min(100% - 40px, 620px);
    }

    .faq-hero {
        min-height: 530px;
        background-position: 60% center;
    }

    .faq-hero-content {
        padding-top: 65px;
        padding-bottom: 80px;
    }

    .faq-breadcrumb {
        margin-bottom: 65px;
    }

    .faq-hero h1 {
        letter-spacing: -3px;
    }

    .faq-main-section {
        padding: 75px 0;
    }

    .faq-content-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .faq-side-panel {
        max-width: none;
    }

    .faq-heading {
        align-items: flex-start;
    }

    .faq-count {
        padding: 10px 12px;
    }

    .faq-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .faq-container {
        width: calc(100% - 34px);
    }

    .faq-hero {
        min-height: 500px;
    }

    .faq-hero-content {
        padding-top: 45px;
    }

    .faq-breadcrumb {
        margin-bottom: 55px;
        font-size: 10px;
    }

    .faq-hero h1 {
        font-size: clamp(43px, 12vw, 61px);
        letter-spacing: -2.5px;
    }

    .faq-hero-content > p {
        font-size: 13px;
    }

    .faq-hero-bottom {
        font-size: 8px;
    }

    .faq-heading {
        flex-direction: column;
        gap: 20px;
    }

    .faq-heading h2 {
        font-size: 36px;
    }

    .faq-search-wrap {
        height: 54px;
        padding: 0 13px;
    }

    .faq-search-wrap kbd {
        display: none;
    }

    .faq-categories {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 8px;
        scrollbar-width: thin;
    }

    .faq-category {
        flex: 0 0 auto;
    }

    .faq-question {
        min-height: 82px;
        gap: 12px;
        padding: 15px 3px;
    }

    .faq-question-number {
        flex-basis: 23px;
        font-size: 10px;
    }

    .faq-question-text {
        font-size: 12px;
    }

    .faq-toggle {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .faq-answer-inner {
        padding: 0 10px 23px 38px;
        font-size: 12px;
    }

    .faq-side-panel {
        padding: 25px 21px;
    }

    .faq-cta {
        padding: 60px 0;
    }

    .faq-cta h2 {
        font-size: 35px;
    }

    .faq-cta-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .faq-page *,
    .faq-page *::before,
    .faq-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* =========================================================
   LOGIN PAGE — TESLA-INSPIRED DESIGN
========================================================= */

.login-page {
    --login-red: #e82127;
    --login-red-dark: #c8171d;
    --login-black: #171717;
    --login-gray: #777;
    --login-line: #e7e7e7;
    --login-light: #f6f6f6;

    font-family: "Inter", sans-serif;
    color: var(--login-black);
}

.login-page *,
.login-page *::before,
.login-page *::after {
    box-sizing: border-box;
}

.login-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 750px;
    background: #fff;
}

/* =========================================================
   LEFT VISUAL
========================================================= */

.login-visual {
    min-height: 750px;
    position: relative;
    display: flex;
    overflow: hidden;
    color: #fff;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .78),
            rgba(0, 0, 0, .35)
        ),
        linear-gradient(
            0deg,
            rgba(0, 0, 0, .45),
            transparent 60%
        ),
        url("../assets/cars/model-y.webp") center / cover no-repeat;
}

.login-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, .25),
        transparent 70%
    );
}

.login-visual-content {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 55px clamp(30px, 5vw, 85px) 35px;
}

.login-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, .65);
    font-size: 11px;
    font-weight: 500;
}

.login-breadcrumb a {
    color: #fff;
    text-decoration: none;
}

.login-breadcrumb a:hover {
    color: var(--login-red);
}

.login-breadcrumb i {
    font-size: 8px;
}

.login-visual-message {
    max-width: 530px;
    margin: 60px 0;
}

.login-eyebrow,
.login-section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.login-eyebrow {
    margin-bottom: 23px;
    color: rgba(255, 255, 255, .8);
}

.login-red-dot {
    width: 7px;
    height: 7px;
    background: var(--login-red);
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(232, 33, 39, .8);
}

.login-visual-message h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(55px, 6vw, 85px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -5px;
}

.login-visual-message h1 span {
    color: rgba(255, 255, 255, .55);
}

.login-visual-message > p {
    max-width: 420px;
    margin: 25px 0 35px;
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    line-height: 1.9;
}

.login-benefits {
    display: grid;
    gap: 20px;
}

.login-benefit {
    display: flex;
    align-items: center;
    gap: 14px;
}

.login-benefit-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: #fff;
    font-size: 13px;
}

.login-benefit strong,
.login-benefit small {
    display: block;
}

.login-benefit strong {
    font-size: 11px;
    font-weight: 700;
}

.login-benefit small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
}

.login-visual-bottom {
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, .5);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

/* =========================================================
   LOGIN FORM AREA
========================================================= */

.login-form-section {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 70px clamp(25px, 6vw, 90px) 30px;
    background: #fff;
}

.login-card {
    width: 100%;
    max-width: 430px;
}

.login-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 75px;
}

.login-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #171717;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 2px;
}

.login-brand img {
    width: 29px;
    height: 29px;
    object-fit: contain;
}

.login-account-label {
    color: #999;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.login-heading {
    margin-bottom: 33px;
}

.login-section-label {
    margin-bottom: 14px;
    color: var(--login-red);
}

.login-heading h2 {
    margin: 0;
    font-size: clamp(29px, 3vw, 38px);
    line-height: 1.2;
    letter-spacing: -1.8px;
    font-weight: 700;
}

.login-heading p {
    margin: 12px 0 0;
    color: var(--login-gray);
    font-size: 12px;
    line-height: 1.8;
}

/* =========================================================
   ERROR MESSAGE
========================================================= */

.login-error {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px 14px;
    margin-bottom: 23px;
    border: 1px solid #ffd3d4;
    border-radius: 4px;
    background: #fff5f5;
    color: #c8171d;
    font-size: 11px;
    line-height: 1.7;
}

.login-error-icon {
    margin-top: 1px;
}

.login-error > span:nth-child(2) {
    flex: 1;
}

.login-error-close {
    border: 0;
    padding: 0;
    background: transparent;
    color: #c8171d;
    cursor: pointer;
}

/* =========================================================
   FORM FIELDS
========================================================= */

.login-form {
    display: grid;
    gap: 23px;
}

.login-field {
    min-width: 0;
}

.login-field label {
    display: block;
    margin-bottom: 10px;
    color: #333;
    font-size: 11px;
    font-weight: 700;
}

.login-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.login-input-wrap {
    position: relative;
    height: 55px;
    display: flex;
    align-items: center;
    border: 1px solid #e4e4e4;
    border-radius: 3px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.login-input-wrap:focus-within {
    border-color: var(--login-red);
    box-shadow: 0 0 0 3px rgba(232, 33, 39, .07);
}

.login-input-icon {
    position: absolute;
    left: 17px;
    color: #999;
    font-size: 13px;
    pointer-events: none;
}

.login-input-wrap input {
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0 48px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #171717;
    font-family: inherit;
    font-size: 12px;
}

.login-input-wrap input::placeholder {
    color: #aaa;
}

.login-password-toggle {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #999;
    cursor: pointer;
    font-size: 13px;
}

.login-password-toggle:hover {
    color: var(--login-red);
}

/* =========================================================
   SUBMIT BUTTON
========================================================= */

.login-submit {
    min-height: 55px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 8px;
    padding: 0 21px;
    border: 0;
    border-radius: 3px;
    background: var(--login-red);
    color: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.login-submit:hover {
    background: var(--login-red-dark);
}

.login-submit:active {
    transform: scale(.99);
}

.login-submit i {
    font-size: 12px;
    transition: transform .2s ease;
}

.login-submit:hover i {
    transform: translateX(5px);
}

/* =========================================================
   REGISTER & SECURITY
========================================================= */

.login-register {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 29px;
    color: #777;
    font-size: 11px;
}

.login-register a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--login-red);
    font-weight: 700;
    text-decoration: none;
}

.login-register a:hover {
    color: var(--login-red-dark);
}

.login-register a i {
    font-size: 9px;
}

.login-security {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 42px;
    padding-top: 22px;
    border-top: 1px solid #eee;
}

.login-security > i {
    margin-top: 2px;
    color: var(--login-red);
    font-size: 13px;
}

.login-security p {
    margin: 0;
    color: #999;
    font-size: 10px;
    line-height: 1.8;
}

/* =========================================================
   FORM FOOTER
========================================================= */

.login-form-footer {
    width: 100%;
    max-width: 430px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 60px;
    color: #999;
    font-size: 10px;
}

.login-form-footer a {
    color: #666;
    text-decoration: none;
}

.login-form-footer a:hover {
    color: var(--login-red);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {
    .login-main {
        grid-template-columns: .9fr 1.1fr;
    }

    .login-visual-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .login-form-section {
        padding-left: 35px;
        padding-right: 35px;
    }

    .login-card-top {
        margin-bottom: 55px;
    }
}

@media (max-width: 760px) {
    .login-main {
        grid-template-columns: 1fr;
    }

    .login-visual {
        min-height: 390px;
    }

    .login-visual-content {
        padding: 35px 30px 25px;
    }

    .login-visual-message {
        margin: 50px 0;
    }

    .login-visual-message h1 {
        font-size: 58px;
        letter-spacing: -3px;
    }

    .login-visual-message > p {
        max-width: 450px;
        margin: 16px 0 20px;
    }

    .login-benefits {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .login-benefit {
        align-items: flex-start;
        gap: 9px;
    }

    .login-benefit-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 11px;
    }

    .login-benefit strong {
        font-size: 9px;
    }

    .login-benefit small {
        font-size: 8px;
    }

    .login-form-section {
        padding: 60px 25px 30px;
    }

    .login-card-top {
        margin-bottom: 45px;
    }

    .login-form-footer {
        margin-top: 40px;
    }
}

@media (max-width: 480px) {
    .login-visual {
        min-height: 360px;
    }

    .login-visual-content {
        padding: 27px 20px 20px;
    }

    .login-visual-message h1 {
        font-size: 50px;
    }

    .login-eyebrow {
        font-size: 8px;
    }

    .login-visual-message > p {
        font-size: 11px;
    }

    .login-benefits {
        gap: 8px;
    }

    .login-benefit {
        flex-direction: column;
        gap: 7px;
    }

    .login-benefit strong {
        font-size: 8px;
    }

    .login-benefit small {
        font-size: 7px;
    }

    .login-visual-bottom {
        font-size: 7px;
    }

    .login-form-section {
        padding: 45px 20px 25px;
    }

    .login-card-top {
        margin-bottom: 40px;
    }

    .login-heading h2 {
        font-size: 31px;
    }

    .login-form-footer {
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-page *,
    .login-page *::before,
    .login-page *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}



/* =========================================================
   REGISTER PAGE — TESLA-INSPIRED DESIGN
========================================================= */

.register-page {
    --register-red: #e82127;
    --register-red-dark: #c8171d;
    --register-black: #171717;
    --register-gray: #777;
    --register-line: #e7e7e7;
    --register-light: #f6f6f6;

    font-family: "Inter", sans-serif;
    color: var(--register-black);
}

.register-page *,
.register-page *::before,
.register-page *::after {
    box-sizing: border-box;
}

.register-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 820px;
    background: #fff;
}

/* =========================================================
   LEFT VISUAL PANEL
========================================================= */

.register-visual {
    min-height: 820px;
    position: relative;
    display: flex;
    overflow: hidden;
    color: #fff;

    background:
        linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .35)),
        linear-gradient(0deg, rgba(0, 0, 0, .45), transparent 60%),
        url("../assets/cars/model-y.webp") center / cover no-repeat;
}

.register-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, .25), transparent 70%);
}

.register-visual-content {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 55px clamp(30px, 5vw, 85px) 35px;
}

.register-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, .65);
    font-size: 11px;
    font-weight: 500;
}

.register-breadcrumb a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.register-breadcrumb a:hover {
    color: var(--register-red);
}

.register-breadcrumb i {
    font-size: 8px;
}

.register-visual-message {
    max-width: 530px;
    margin: 60px 0;
}

.register-eyebrow,
.register-section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.register-eyebrow {
    margin-bottom: 23px;
    color: rgba(255, 255, 255, .8);
}

.register-red-dot {
    width: 7px;
    height: 7px;
    background: var(--register-red);
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(232, 33, 39, .8);
}

.register-visual-message h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(49px, 5.5vw, 78px);
    line-height: .99;
    font-weight: 700;
    letter-spacing: -4px;
}

.register-visual-message h1 span {
    color: rgba(255, 255, 255, .55);
}

.register-visual-message > p {
    max-width: 420px;
    margin: 25px 0 35px;
    color: rgba(255, 255, 255, .75);
    font-size: 13px;
    line-height: 1.9;
}

.register-benefits {
    display: grid;
    gap: 19px;
}

.register-benefit {
    display: flex;
    align-items: center;
    gap: 14px;
}

.register-benefit-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: #fff;
    font-size: 13px;
}

.register-benefit strong,
.register-benefit small {
    display: block;
}

.register-benefit strong {
    font-size: 11px;
    font-weight: 700;
}

.register-benefit small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
}

.register-visual-bottom {
    display: flex;
    justify-content: space-between;
    color: rgba(255, 255, 255, .5);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

/* =========================================================
   FORM SECTION
========================================================= */

.register-form-section {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 55px clamp(25px, 5vw, 75px) 30px;
    background: #fff;
}

.register-card {
    width: 100%;
    max-width: 480px;
}

.register-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 45px;
}

.register-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #171717;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 2px;
}

.register-brand img {
    width: 29px;
    height: 29px;
    object-fit: contain;
}

.register-account-label {
    color: #999;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

/* =========================================================
   ERROR MESSAGE
========================================================= */

.register-error {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    margin-bottom: 25px;
    border: 1px solid #ffd3d4;
    border-radius: 4px;
    background: #fff5f5;
    color: #c8171d;
    font-size: 11px;
    line-height: 1.7;
    animation: registerErrorIn .3s ease both;
}

.register-error-icon {
    margin-top: 1px;
    font-size: 14px;
}

.register-error-content {
    flex: 1;
}

.register-error-content strong {
    display: block;
    margin-bottom: 5px;
}

.register-error-content ul {
    margin: 0;
    padding-left: 17px;
}

.register-error-content li + li {
    margin-top: 3px;
}

/* =========================================================
   PROGRESS STEPPER
========================================================= */

.register-progress {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 36px;
}

.register-progress-step {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    color: #aaa;
    transition: color .2s ease;
}

.register-progress-number {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: grid;
    place-items: center;
    border: 1px solid #e4e4e4;
    border-radius: 50%;
    background: #fff;
    color: #999;
    font-size: 9px;
    font-weight: 700;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.register-progress-label {
    font-size: 10px;
    font-weight: 650;
}

.register-progress-step.active {
    color: var(--register-black);
}

.register-progress-step.active .register-progress-number,
.register-progress-step.completed .register-progress-number {
    border-color: var(--register-red);
    background: var(--register-red);
    color: #fff;
}

.register-progress-step.completed {
    color: var(--register-red);
}

.register-progress-line {
    height: 1px;
    flex: 1;
    min-width: 10px;
    background: #e5e5e5;
}

/* =========================================================
   FORM STEPS
========================================================= */

.register-form-step {
    display: none;
}

.register-form-step.active {
    display: block;
    animation: registerStepIn .3s ease both;
}

.register-step-heading {
    margin-bottom: 26px;
}

.register-section-label {
    margin-bottom: 12px;
    color: var(--register-red);
}

.register-step-heading h2,
.register-success h2 {
    margin: 0;
    font-size: clamp(27px, 3vw, 35px);
    line-height: 1.2;
    letter-spacing: -1.6px;
    font-weight: 700;
}

.register-step-heading p {
    margin: 10px 0 0;
    color: var(--register-gray);
    font-size: 12px;
    line-height: 1.8;
}

/* =========================================================
   FORM FIELDS
========================================================= */

.register-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px 14px;
}

.register-field {
    min-width: 0;
}

.register-field-full {
    grid-column: 1 / -1;
}

.register-field label {
    display: block;
    margin-bottom: 9px;
    color: #333;
    font-size: 10px;
    font-weight: 700;
}

.register-input-wrap {
    position: relative;
    height: 51px;
    display: flex;
    align-items: center;
    border: 1px solid #e4e4e4;
    border-radius: 3px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.register-input-wrap:focus-within {
    border-color: var(--register-red);
    box-shadow: 0 0 0 3px rgba(232, 33, 39, .07);
}

.register-input-wrap > i {
    position: absolute;
    left: 15px;
    color: #999;
    font-size: 12px;
    pointer-events: none;
}

.register-input-wrap input,
.register-input-wrap select {
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0 43px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #171717;
    font-family: inherit;
    font-size: 11px;
}

.register-input-wrap input::placeholder {
    color: #aaa;
}

.register-input-wrap select {
    appearance: none;
    cursor: pointer;
}

.register-select-wrap::after {
    content: "\f078";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-family: "Font Awesome 6 Free";
    font-size: 9px;
    font-weight: 900;
    pointer-events: none;
}

.register-password-toggle {
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #999;
    cursor: pointer;
    font-size: 12px;
}

.register-password-toggle:hover {
    color: var(--register-red);
}

.register-password-hint {
    margin-top: 8px;
    color: #999;
    font-size: 9px;
    line-height: 1.6;
}

/* =========================================================
   LOCATION INFORMATION
========================================================= */

.register-info-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 24px;
    padding: 14px;
    background: #f7f7f7;
    border-radius: 3px;
    color: #777;
}

.register-info-note i {
    margin-top: 2px;
    color: var(--register-red);
    font-size: 12px;
}

.register-info-note p {
    margin: 0;
    font-size: 10px;
    line-height: 1.8;
}

/* =========================================================
   TERMS
========================================================= */

.register-terms {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 25px;
    color: #777;
    font-size: 10px;
    line-height: 1.8;
    cursor: pointer;
}

.register-terms input {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    margin: 1px 0 0;
    accent-color: var(--register-red);
    cursor: pointer;
}

.register-terms a {
    color: var(--register-red);
    font-weight: 650;
    text-decoration: none;
}

.register-terms a:hover {
    text-decoration: underline;
}

.register-password-error {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    color: #c8171d;
    font-size: 10px;
}

.register-password-error[hidden] {
    display: none;
}

/* =========================================================
   FORM ACTIONS
========================================================= */

.register-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}

.register-back,
.register-next,
.register-submit {
    min-height: 51px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 0 20px;
    border: 0;
    border-radius: 3px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.register-back {
    background: #f3f3f3;
    color: #555;
}

.register-back:hover:not(:disabled) {
    background: #e8e8e8;
}

.register-back:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.register-next,
.register-submit {
    background: var(--register-red);
    color: #fff;
}

.register-next {
    min-width: 150px;
    margin-left: auto;
}

.register-next:hover,
.register-submit:hover {
    background: var(--register-red-dark);
}

.register-next:hover i,
.register-submit:hover i {
    transform: translateX(4px);
}

.register-next i,
.register-submit i {
    transition: transform .2s ease;
}

.register-submit-final {
    min-width: 180px;
    margin-left: auto;
}

.register-submit[hidden],
.register-next[hidden] {
    display: none !important;
}

/* =========================================================
   SUCCESS STATE
========================================================= */

.register-success {
    padding: 35px 0 15px;
    text-align: center;
    animation: registerStepIn .35s ease both;
}

.register-success[hidden] {
    display: none;
}

.register-success-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    margin: 0 auto 25px;
    border-radius: 50%;
    background: #eaf8ee;
    color: #269b50;
    font-size: 25px;
}

.register-success .register-section-label {
    margin-bottom: 13px;
}

.register-success h2 {
    font-size: 35px;
}

.register-success p {
    max-width: 340px;
    margin: 13px auto 25px;
    color: #777;
    font-size: 12px;
    line-height: 1.9;
}

.register-success .register-submit {
    width: 100%;
}

/* =========================================================
   LOGIN LINK & SECURITY NOTE
========================================================= */

.register-login-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 26px;
    color: #777;
    font-size: 10px;
}

.register-login-link a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--register-red);
    font-weight: 700;
    text-decoration: none;
}

.register-login-link a:hover {
    color: var(--register-red-dark);
}

.register-login-link a i {
    font-size: 9px;
}

.register-security {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 28px;
    padding-top: 19px;
    border-top: 1px solid #eee;
}

.register-security > i {
    margin-top: 2px;
    color: var(--register-red);
    font-size: 12px;
}

.register-security p {
    margin: 0;
    color: #999;
    font-size: 9px;
    line-height: 1.8;
}

/* =========================================================
   FORM FOOTER
========================================================= */

.register-form-footer {
    width: 100%;
    max-width: 480px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 35px;
    color: #999;
    font-size: 10px;
}

.register-form-footer a {
    color: #666;
    text-decoration: none;
}

.register-form-footer a:hover {
    color: var(--register-red);
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes registerStepIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes registerErrorIn {
    from {
        opacity: 0;
        transform: translateY(-7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
    .register-main {
        grid-template-columns: .9fr 1.1fr;
    }

    .register-visual-content {
        padding-left: 35px;
        padding-right: 35px;
    }

    .register-form-section {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 800px) {
    .register-main {
        grid-template-columns: 1fr;
    }

    .register-visual {
        min-height: 410px;
    }

    .register-visual-content {
        padding: 35px 30px 25px;
    }

    .register-visual-message {
        margin: 45px 0;
    }

    .register-visual-message h1 {
        font-size: 58px;
        letter-spacing: -3px;
    }

    .register-visual-message > p {
        max-width: 470px;
        margin: 16px 0 23px;
    }

    .register-benefits {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .register-benefit {
        align-items: flex-start;
        gap: 9px;
    }

    .register-benefit-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 11px;
    }

    .register-benefit strong {
        font-size: 9px;
    }

    .register-benefit small {
        font-size: 8px;
    }

    .register-form-section {
        padding: 55px 25px 30px;
    }

    .register-card {
        max-width: 520px;
    }

    .register-form-footer {
        margin-top: 35px;
    }
}

@media (max-width: 520px) {
    .register-visual {
        min-height: 375px;
    }

    .register-visual-content {
        padding: 27px 20px 20px;
    }

    .register-visual-message h1 {
        font-size: 48px;
        letter-spacing: -2.5px;
    }

    .register-eyebrow {
        font-size: 8px;
    }

    .register-visual-message > p {
        font-size: 11px;
    }

    .register-benefits {
        gap: 8px;
    }

    .register-benefit {
        flex-direction: column;
        gap: 7px;
    }

    .register-benefit strong {
        font-size: 8px;
    }

    .register-benefit small {
        font-size: 7px;
    }

    .register-visual-bottom {
        font-size: 7px;
    }

    .register-form-section {
        padding: 42px 18px 25px;
    }

    .register-card-top {
        margin-bottom: 35px;
    }

    .register-progress {
        gap: 6px;
        margin-bottom: 29px;
    }

    .register-progress-step {
        gap: 6px;
    }

    .register-progress-number {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
        font-size: 8px;
    }

    .register-progress-label {
        font-size: 8px;
    }

    .register-progress-line {
        min-width: 5px;
    }

    .register-step-heading h2 {
        font-size: 28px;
    }

    .register-fields-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .register-field-full {
        grid-column: auto;
    }

    .register-actions {
        gap: 9px;
    }

    .register-back,
    .register-next,
    .register-submit {
        min-height: 48px;
        padding: 0 14px;
        font-size: 10px;
    }

    .register-next {
        min-width: 125px;
    }

    .register-submit-final {
        min-width: 150px;
    }

    .register-form-footer {
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .register-page *,
    .register-page *::before,
    .register-page *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}


/* =========================================================
   WHY US PAGE — TESLA-INSPIRED RED & WHITE DESIGN
   ========================================================= */

.why-us-page {
    --why-red: #e82127;
    --why-red-dark: #c9141b;
    --why-black: #171717;
    --why-text: #333;
    --why-muted: #737373;
    --why-line: #e8e8e8;
    --why-light: #f6f6f6;
    color: var(--why-black);
    overflow: hidden;
}

.why-us-page * {
    box-sizing: border-box;
}

.why-us-page .container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

.why-us-page a {
    text-decoration: none;
}

/* Shared typography */

.why-eyebrow,
.why-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.why-eyebrow {
    color: var(--why-red);
}

.red-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: var(--why-red);
}

/* Hero */

.why-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #101010;
    color: #fff;
}

.why-hero-image,
.why-hero-overlay {
    position: absolute;
    inset: 0;
}

.why-hero-image {
    background:
        url("../assets/cars/model-y.webp")
        center 54% / cover no-repeat;
    transform: scale(1.025);
    animation: whyHeroZoom 14s ease-in-out infinite alternate;
}

.why-hero-overlay {
    background:
        linear-gradient(90deg,
            rgba(0, 0, 0, .82) 0%,
            rgba(0, 0, 0, .57) 43%,
            rgba(0, 0, 0, .13) 100%),
        linear-gradient(0deg,
            rgba(0, 0, 0, .45),
            transparent 35%);
}

.why-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 75px;
    padding-bottom: 110px;
}

.why-hero .breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 55px;
    font-size: 12px;
    color: rgba(255, 255, 255, .68);
}

.why-hero .breadcrumb a {
    color: #fff;
    transition: color .2s ease;
}

.why-hero .breadcrumb a:hover {
    color: var(--why-red);
}

.why-hero .breadcrumb i {
    font-size: 9px;
    color: var(--why-red);
}

.why-kicker {
    color: #fff;
    margin-bottom: 20px;
}

.why-hero h1 {
    max-width: 850px;
    margin: 0;
    font-size: clamp(48px, 7vw, 88px);
    line-height: .99;
    letter-spacing: -4px;
    font-weight: 800;
}

.why-hero-content > p {
    max-width: 510px;
    margin: 26px 0 32px;
    color: rgba(255, 255, 255, .79);
    font-size: 16px;
    line-height: 1.85;
}

.why-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 15px 23px;
    border-radius: 3px;
    background: var(--why-red);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
    transition: background .25s ease, transform .25s ease;
}

.why-hero-link:hover {
    background: var(--why-red-dark);
    transform: translateY(-3px);
}

.why-hero-link i {
    transition: transform .25s ease;
}

.why-hero-link:hover i {
    transform: translateX(5px);
}

.why-hero-bottom {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 21px;
    padding-bottom: 21px;
    border-top: 1px solid rgba(255, 255, 255, .24);
    color: rgba(255, 255, 255, .75);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

/* Section base */

.why-us-page .section {
    padding: 110px 0;
}

/* Introduction */

.why-intro {
    background: #fff;
}

.why-intro-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: end;
    gap: 70px;
    margin-bottom: 65px;
}

.why-intro-grid h2,
.why-section-heading h2 {
    margin: 17px 0 0;
    font-size: clamp(38px, 5vw, 61px);
    line-height: 1.08;
    letter-spacing: -2.7px;
    font-weight: 800;
}

.why-intro-grid h2 span {
    color: var(--why-red);
}

.why-intro-copy {
    max-width: 480px;
    margin: 0 0 7px;
    color: var(--why-muted);
    font-size: 15px;
    line-height: 1.9;
}

.why-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--why-line);
}

.why-benefit-card {
    position: relative;
    min-height: 275px;
    padding: 34px 32px;
    border-right: 1px solid var(--why-line);
    overflow: hidden;
    transition: background .3s ease;
}

.why-benefit-card:last-child {
    border-right: 0;
}

.why-benefit-card:hover {
    background: #fafafa;
}

.why-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 38px;
}

.why-icon,
.why-explore-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    background: rgba(232, 33, 39, .08);
    color: var(--why-red);
    font-size: 18px;
}

.why-card-number {
    color: #c9c9c9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.why-benefit-card h3,
.why-explore-card h3 {
    margin: 0 0 13px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.5px;
}

.why-benefit-card p,
.why-explore-card p {
    max-width: 330px;
    margin: 0;
    color: var(--why-muted);
    font-size: 13px;
    line-height: 1.9;
}

.why-card-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--why-red);
    transition: width .35s ease;
}

.why-benefit-card:hover .why-card-line {
    width: 100%;
}

/* Experience section */

.why-experience {
    background: var(--why-light);
}

.why-experience-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 90px;
}

.why-experience-visual {
    position: relative;
    min-height: 420px;
    padding: 35px;
    background: #fff;
    border: 1px solid #ededed;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .055);
    overflow: hidden;
}

.why-visual-heading {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
}

.why-visual-label,
.why-chart-labels {
    color: var(--why-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.why-visual-heading h3 {
    margin: 12px 0 0;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.7px;
}

.why-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    background: #f4f4f4;
    color: #555;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

.why-status span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #30a46c;
}

.why-visual-chart {
    position: relative;
    z-index: 1;
    margin-top: 55px;
}

.why-chart-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 13px;
    letter-spacing: .6px;
    font-size: 9px;
}

.why-visual-chart svg {
    display: block;
    width: 100%;
    height: 145px;
    overflow: visible;
}

.why-visual-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding-top: 25px;
    border-top: 1px solid var(--why-line);
}

.why-visual-stats > div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.why-stat-dot {
    width: 7px;
    height: 7px;
    margin-bottom: 3px;
    border-radius: 50%;
    background: var(--why-red);
}

.why-visual-stats b {
    font-size: 12px;
}

.why-visual-stats small {
    color: var(--why-muted);
    font-size: 10px;
}

.why-visual-watermark {
    position: absolute;
    right: 12px;
    bottom: -95px;
    color: rgba(232, 33, 39, .035);
    font-size: 300px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.why-experience-copy h2 {
    margin: 18px 0 22px;
    max-width: 500px;
    font-size: clamp(36px, 4.5vw, 55px);
    line-height: 1.1;
    letter-spacing: -2.5px;
    font-weight: 800;
}

.why-experience-copy > p {
    margin: 0;
    color: var(--why-muted);
    font-size: 14px;
    line-height: 1.95;
}

.why-check-list {
    display: flex;
    flex-direction: column;
    gap: 19px;
    margin: 32px 0;
    padding: 0;
    list-style: none;
}

.why-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    color: #444;
    font-size: 13px;
    line-height: 1.7;
}

.why-check-list i {
    display: grid;
    place-items: center;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--why-red);
    color: #fff;
    font-size: 10px;
}

.why-text-link {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: var(--why-black);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.why-text-link i {
    color: var(--why-red);
    transition: transform .2s ease;
}

.why-text-link:hover i {
    transform: translateX(5px);
}

/* Explore cards */

.why-explore {
    background: #fff;
}

.why-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 60px;
    margin-bottom: 60px;
}

.why-section-heading > p {
    max-width: 430px;
    margin: 0 0 5px;
    color: var(--why-muted);
    font-size: 14px;
    line-height: 1.9;
}

.why-explore-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.why-explore-card {
    position: relative;
    min-height: 335px;
    padding: 32px;
    border: 1px solid var(--why-line);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.why-explore-card:hover {
    transform: translateY(-7px);
    border-color: rgba(232, 33, 39, .35);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .06);
}

.why-explore-number {
    position: absolute;
    top: 32px;
    right: 32px;
    color: #c8c8c8;
    font-size: 12px;
    font-weight: 800;
}

.why-explore-icon {
    margin-bottom: 35px;
    width: 53px;
    height: 53px;
}

.why-explore-card h3 {
    font-size: 19px;
}

.why-explore-card p {
    min-height: 75px;
}

.why-explore-card > a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
    color: var(--why-black);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.why-explore-card > a i {
    color: var(--why-red);
    transition: transform .2s ease;
}

.why-explore-card > a:hover i {
    transform: translateX(5px);
}

/* Final CTA */

.why-final-cta {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: var(--why-red);
    color: #fff;
}

.why-final-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.why-cta-eyebrow {
    display: block;
    margin-bottom: 17px;
    color: rgba(255, 255, 255, .75);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.why-final-cta h2 {
    margin: 0;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1;
    letter-spacing: -2.5px;
    font-weight: 800;
}

.why-final-cta p {
    margin: 17px 0 0;
    color: rgba(255, 255, 255, .83);
    font-size: 14px;
    line-height: 1.7;
}

.why-cta-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.why-cta-primary,
.why-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 50px;
    padding: 0 22px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    transition: all .25s ease;
}

.why-cta-primary {
    background: #fff;
    color: var(--why-black);
}

.why-cta-primary:hover {
    background: #f2f2f2;
    transform: translateY(-3px);
}

.why-cta-secondary {
    border: 1px solid rgba(255, 255, 255, .55);
    color: #fff;
}

.why-cta-secondary:hover {
    background: rgba(255, 255, 255, .12);
}

.why-cta-watermark {
    position: absolute;
    top: -150px;
    right: 5%;
    color: rgba(255, 255, 255, .07);
    font-size: 480px;
    line-height: 1;
    font-weight: 900;
    pointer-events: none;
}

/* Reveal animation */

.why-reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity .7s ease, transform .7s ease;
}

.why-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Hero image animation */

@keyframes whyHeroZoom {
    from { transform: scale(1.025); }
    to { transform: scale(1.09); }
}

/* Responsive */

@media (max-width: 1000px) {
    .why-experience-grid {
        gap: 45px;
    }

    .why-benefit-card {
        padding: 28px 23px;
    }

    .why-explore-card {
        padding: 27px;
    }
}

@media (max-width: 800px) {
    .why-us-page .section {
        padding: 80px 0;
    }

    .why-hero {
        min-height: 650px;
    }

    .why-hero-overlay {
        background:
            linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.35)),
            linear-gradient(0deg, rgba(0,0,0,.5), transparent 60%);
    }

    .why-intro-grid,
    .why-experience-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .why-intro-grid {
        margin-bottom: 40px;
    }

    .why-intro-copy {
        max-width: 600px;
    }

    .why-benefit-grid {
        grid-template-columns: 1fr;
    }

    .why-benefit-card {
        min-height: auto;
        padding: 27px;
        border-right: 0;
        border-bottom: 1px solid var(--why-line);
    }

    .why-benefit-card:last-child {
        border-bottom: 0;
    }

    .why-card-top {
        margin-bottom: 24px;
    }

    .why-experience-visual {
        min-height: 390px;
    }

    .why-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .why-explore-grid {
        grid-template-columns: 1fr 1fr;
    }

    .why-final-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .why-us-page .container {
        width: min(100% - 32px, 1240px);
    }

    .why-us-page .section {
        padding: 65px 0;
    }

    .why-hero {
        min-height: 610px;
    }

    .why-hero-content {
        padding-top: 65px;
        padding-bottom: 125px;
    }

    .why-hero .breadcrumb {
        margin-bottom: 45px;
    }

    .why-hero h1 {
        font-size: clamp(43px, 12vw, 62px);
        letter-spacing: -2.5px;
    }

    .why-hero-content > p {
        font-size: 14px;
    }

    .why-hero-bottom {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px 22px;
        font-size: 8px;
    }

    .why-intro-grid h2,
    .why-section-heading h2 {
        font-size: 41px;
        letter-spacing: -2px;
    }

    .why-benefit-card {
        padding: 24px 20px;
    }

    .why-experience-visual {
        min-height: 350px;
        padding: 23px 18px;
    }

    .why-visual-heading {
        flex-direction: column;
    }

    .why-visual-heading h3 {
        font-size: 19px;
    }

    .why-visual-chart {
        margin-top: 38px;
    }

    .why-visual-chart svg {
        height: 110px;
    }

    .why-visual-stats {
        gap: 8px;
    }

    .why-visual-stats b {
        font-size: 11px;
    }

    .why-visual-stats small {
        font-size: 9px;
    }

    .why-explore-grid {
        grid-template-columns: 1fr;
    }

    .why-explore-card {
        min-height: 290px;
    }

    .why-explore-card p {
        min-height: auto;
    }

    .why-final-cta {
        padding: 70px 0;
    }

    .why-final-cta h2 {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .why-cta-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .why-cta-primary,
    .why-cta-secondary {
        width: 100%;
    }

    .why-cta-watermark {
        right: -100px;
        font-size: 350px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .why-hero-image {
        animation: none;
    }

    .why-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .why-us-page *,
    .why-us-page *::before,
    .why-us-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}



/* =========================================================
   FOR TRADERS — TESLA-INSPIRED PAGE
   ========================================================= */

.traders-page {
    --tr-red: #e82127;
    --tr-red-dark: #c9141b;
    --tr-black: #171717;
    --tr-muted: #747474;
    --tr-line: #e9e9e9;
    --tr-light: #f6f6f6;
    color: var(--tr-black);
    overflow: hidden;
}

.traders-page *,
.traders-cta * {
    box-sizing: border-box;
}

.traders-page a,
.traders-cta a {
    text-decoration: none;
}

.traders-page .container,
.traders-cta .container {
    width: min(1240px, calc(100% - 48px));
    margin-inline: auto;
}

/* HERO */

.traders-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 690px;
    overflow: hidden;
    background: #101010;
    color: #fff;
}

.traders-hero-image,
.traders-hero-overlay {
    position: absolute;
    inset: 0;
}

.traders-hero-image {
    background: url("../assets/cars/model-y.webp") center 54% / cover no-repeat;
    animation: tradersHeroZoom 14s ease-in-out infinite alternate;
}

.traders-hero-overlay {
    background:
        linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.52) 48%, rgba(0,0,0,.12)),
        linear-gradient(0deg, rgba(0,0,0,.45), transparent 40%);
}

.traders-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 70px;
    padding-bottom: 115px;
}

.traders-breadcrumb {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 55px;
    color: rgba(255,255,255,.68);
    font-size: 12px;
}

.traders-breadcrumb a {
    color: #fff;
}

.traders-breadcrumb a:hover {
    color: var(--tr-red);
}

.traders-breadcrumb i {
    color: var(--tr-red);
    font-size: 9px;
}

.traders-eyebrow,
.traders-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.traders-eyebrow {
    color: #fff;
    margin-bottom: 20px;
}

.traders-eyebrow > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tr-red);
}

.traders-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(45px, 7vw, 86px);
    line-height: .99;
    font-weight: 800;
    letter-spacing: -4px;
}

.traders-hero-content > p {
    max-width: 520px;
    margin: 25px 0 30px;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    line-height: 1.9;
}

.traders-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
}

.traders-button {
    display: inline-flex;
    min-height: 49px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 0 22px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    transition: .25s ease;
}

.traders-button-red {
    background: var(--tr-red);
    color: #fff;
}

.traders-button-red:hover {
    background: var(--tr-red-dark);
    transform: translateY(-3px);
}

.traders-button-outline {
    border: 1px solid rgba(255,255,255,.55);
    color: #fff;
}

.traders-button-outline:hover {
    background: rgba(255,255,255,.12);
}

.traders-hero-bottom {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px solid rgba(255,255,255,.25);
    color: rgba(255,255,255,.75);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.4px;
    transform: translateX(-50%);
}

/* SHARED SECTIONS */

.traders-section {
    padding: 105px 0;
}

.traders-label {
    color: var(--tr-red);
    text-transform: uppercase;
}

.traders-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 55px;
    margin-bottom: 55px;
}

.traders-section-heading h2,
.traders-snapshot-copy h2 {
    margin: 17px 0 0;
    font-size: clamp(38px, 5vw, 61px);
    line-height: 1.07;
    font-weight: 800;
    letter-spacing: -2.7px;
}

.traders-section-heading > p {
    max-width: 440px;
    margin: 0 0 5px;
    color: var(--tr-muted);
    font-size: 14px;
    line-height: 1.9;
}

/* MARKET CATEGORIES */

.traders-categories {
    background: #fff;
}

.traders-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--tr-line);
}

.traders-category-card {
    position: relative;
    min-height: 270px;
    padding: 29px 25px;
    border-right: 1px solid var(--tr-line);
    border-bottom: 1px solid var(--tr-line);
    overflow: hidden;
    transition: background .25s ease;
}

.traders-category-card:nth-child(4n) {
    border-right: 0;
}

.traders-category-card:nth-child(n+5) {
    border-bottom: 0;
}

.traders-category-card:hover {
    background: #fafafa;
}

.traders-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 38px;
}

.traders-category-icon,
.traders-method-icon {
    display: grid;
    place-items: center;
    width: 49px;
    height: 49px;
    background: rgba(232,33,39,.08);
    color: var(--tr-red);
    font-size: 19px;
}

.traders-card-number,
.traders-method-number {
    color: #c7c7c7;
    font-size: 11px;
    font-weight: 800;
}

.traders-category-card h3 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.4px;
}

.traders-category-card p {
    margin: 0;
    color: var(--tr-muted);
    font-size: 12px;
    line-height: 1.85;
}

.traders-card-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--tr-red);
    transition: width .35s ease;
}

.traders-category-card:hover .traders-card-line {
    width: 100%;
}

/* WAYS TO WORK */

.traders-methods {
    background: var(--tr-light);
}

.traders-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.traders-method-card {
    position: relative;
    min-height: 265px;
    padding: 29px;
    background: #fff;
    border: 1px solid #ededed;
    transition: transform .3s ease, box-shadow .3s ease;
}

.traders-method-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0,0,0,.06);
}

.traders-method-icon {
    margin-bottom: 35px;
    width: 51px;
    height: 51px;
}

.traders-method-number {
    position: absolute;
    top: 34px;
    right: 29px;
}

.traders-method-card h3 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 800;
}

.traders-method-card p {
    margin: 0;
    color: var(--tr-muted);
    font-size: 12px;
    line-height: 1.9;
}

/* MARKET SNAPSHOT */

.traders-snapshot {
    background: #fff;
}

.traders-snapshot-grid {
    display: grid;
    grid-template-columns: 1fr .9fr;
    align-items: center;
    gap: 85px;
}

.traders-snapshot-copy h2 {
    max-width: 560px;
}

.traders-snapshot-copy > p:not(.traders-disclaimer) {
    max-width: 490px;
    margin: 23px 0 27px;
    color: var(--tr-muted);
    font-size: 14px;
    line-height: 1.95;
}

.traders-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--tr-black);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.traders-text-link i {
    color: var(--tr-red);
    transition: transform .2s ease;
}

.traders-text-link:hover i {
    transform: translateX(5px);
}

.traders-disclaimer {
    max-width: 430px;
    margin: 30px 0 0;
    padding-left: 13px;
    border-left: 2px solid var(--tr-red);
    color: #858585;
    font-size: 11px;
    line-height: 1.8;
}

.traders-market-panel {
    padding: 30px;
    background: #fff;
    border: 1px solid var(--tr-line);
    box-shadow: 0 20px 65px rgba(0,0,0,.055);
}

.traders-market-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding-bottom: 23px;
    border-bottom: 1px solid var(--tr-line);
}

.traders-market-overline {
    color: var(--tr-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.traders-market-header h3 {
    margin: 7px 0 0;
    font-size: 22px;
    font-weight: 800;
}

.traders-static-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    background: #f4f4f4;
    color: #626262;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

.traders-static-badge span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #999;
}

.traders-market-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 19px 0;
    border-bottom: 1px solid #eee;
}

.traders-market-symbol {
    display: flex;
    align-items: center;
    gap: 12px;
}

.traders-symbol-icon {
    display: grid;
    place-items: center;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #f4f4f4;
    color: var(--tr-black);
    font-size: 15px;
}

.traders-symbol-icon.crypto {
    background: #fff4e6;
    color: #d88a19;
}

.traders-symbol-icon.shares {
    background: #f0f0f0;
    color: #333;
}

.traders-symbol-icon.metals {
    background: #fff8df;
    color: #b48a25;
}

.traders-symbol-icon.energy {
    background: #f2f2f2;
    color: #555;
}

.traders-market-symbol > div,
.traders-market-value {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.traders-market-symbol b,
.traders-market-value b {
    font-size: 12px;
    font-weight: 800;
}

.traders-market-symbol small {
    color: var(--tr-muted);
    font-size: 10px;
}

.traders-market-value {
    align-items: flex-end;
}

.traders-market-value > span {
    font-size: 10px;
    font-weight: 700;
}

.traders-market-value .positive {
    color: #21945e;
}

.traders-market-value .negative {
    color: var(--tr-red);
}

.traders-market-footer {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding-top: 20px;
    color: #858585;
    font-size: 10px;
    line-height: 1.6;
}

.traders-market-footer i {
    margin-top: 2px;
    color: var(--tr-red);
}

/* CTA */

.traders-cta {
    position: relative;
    padding: 85px 0;
    overflow: hidden;
    background: var(--tr-red);
    color: #fff;
}

.traders-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 35px;
}

.traders-cta-label {
    display: block;
    margin-bottom: 17px;
    color: rgba(255,255,255,.75);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
}

.traders-cta h2 {
    margin: 0;
    font-size: clamp(40px, 5vw, 62px);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -2.5px;
}

.traders-cta p {
    margin: 16px 0 0;
    color: rgba(255,255,255,.83);
    font-size: 14px;
}

.traders-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 51px;
    padding: 0 24px;
    background: #fff;
    color: var(--tr-black);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    transition: .25s ease;
}

.traders-cta-button:hover {
    background: #f2f2f2;
    transform: translateY(-3px);
}

.traders-cta-watermark {
    position: absolute;
    top: -145px;
    right: 5%;
    color: rgba(255,255,255,.07);
    font-size: 450px;
    line-height: 1;
    font-weight: 900;
    pointer-events: none;
}

/* REVEAL ANIMATIONS */

.traders-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .65s ease, transform .65s ease;
}

.traders-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes tradersHeroZoom {
    from { transform: scale(1.02); }
    to { transform: scale(1.09); }
}

/* TABLET */

@media (max-width: 1000px) {
    .traders-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .traders-category-card:nth-child(2n) {
        border-right: 0;
    }

    .traders-category-card:nth-child(4n) {
        border-right: 0;
    }

    .traders-category-card:nth-child(n+3) {
        border-bottom: 0;
    }

    .traders-category-card:nth-child(n+5) {
        border-bottom: 0;
    }

    .traders-snapshot-grid {
        gap: 45px;
    }
}

/* MOBILE */

@media (max-width: 760px) {
    .traders-section {
        padding: 75px 0;
    }

    .traders-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 38px;
    }

    .traders-method-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .traders-snapshot-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .traders-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 540px) {
    .traders-page .container,
    .traders-cta .container {
        width: calc(100% - 32px);
    }

    .traders-hero {
        min-height: 620px;
    }

    .traders-hero-content {
        padding-top: 60px;
        padding-bottom: 130px;
    }

    .traders-breadcrumb {
        margin-bottom: 43px;
    }

    .traders-hero h1 {
        font-size: clamp(40px, 11vw, 58px);
        letter-spacing: -2.5px;
    }

    .traders-hero-content > p {
        font-size: 13px;
    }

    .traders-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .traders-button {
        width: 100%;
    }

    .traders-hero-bottom {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px 20px;
        font-size: 8px;
    }

    .traders-section-heading h2,
    .traders-snapshot-copy h2 {
        font-size: 40px;
        letter-spacing: -2px;
    }

    .traders-category-grid {
        grid-template-columns: 1fr;
    }

    .traders-category-card,
    .traders-category-card:nth-child(2n),
    .traders-category-card:nth-child(4n) {
        min-height: 225px;
        border-right: 0;
        border-bottom: 1px solid var(--tr-line);
    }

    .traders-category-card:last-child {
        border-bottom: 0;
    }

    .traders-card-top {
        margin-bottom: 27px;
    }

    .traders-method-grid {
        grid-template-columns: 1fr;
    }

    .traders-method-card {
        min-height: 235px;
    }

    .traders-market-panel {
        padding: 22px 17px;
    }

    .traders-market-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .traders-cta {
        padding: 70px 0;
    }

    .traders-cta h2 {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .traders-cta-button {
        width: 100%;
    }

    .traders-cta-watermark {
        right: -100px;
        font-size: 340px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .traders-hero-image {
        animation: none;
    }

    .traders-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .traders-page *,
    .traders-cta *,
    .traders-page *::before,
    .traders-page *::after {
        transition-duration: .01ms !important;
    }
}



/* =========================================================
   TESLA-INSPIRED CHECKOUT PAGE
   File: css/checkout.css
========================================================= */

.checkout-page {
    --checkout-red: #e82127;
    --checkout-red-dark: #c9141b;
    --checkout-black: #171717;
    --checkout-muted: #777;
    --checkout-border: #e9e9e9;
    --checkout-soft: #f7f7f7;
    --checkout-white: #fff;

    background: #f5f5f5;
    color: var(--checkout-black);
    font-family: 'Inter', sans-serif;
}

.checkout-page *,
.checkout-page *::before,
.checkout-page *::after {
    box-sizing: border-box;
}

.checkout-page a {
    text-decoration: none;
}

.checkout-main {
    min-height: 80vh;
    padding-bottom: 75px;
}

/* HERO */

.checkout-hero {
    position: relative;
    overflow: hidden;
    background: #171717;
    color: #fff;
    padding: 55px 24px 48px;
}

.checkout-hero::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    top: -300px;
    right: -100px;
    border-radius: 50%;
    background: rgba(232, 33, 39, .18);
    filter: blur(5px);
    pointer-events: none;
}

.checkout-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
}

.checkout-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-bottom: 38px;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}

.checkout-breadcrumb a {
    color: rgba(255, 255, 255, .7);
    transition: color .2s ease;
}

.checkout-breadcrumb a:hover {
    color: #fff;
}

.checkout-breadcrumb i {
    font-size: 9px;
    opacity: .55;
}

.checkout-breadcrumb span {
    color: #fff;
}

.checkout-eyebrow,
.section-kicker {
    display: inline-block;
    color: var(--checkout-red);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.checkout-hero h1 {
    margin: 12px 0 12px;
    color: #fff;
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 800;
    letter-spacing: -2.8px;
    line-height: 1.08;
}

.checkout-hero > .checkout-hero-inner > p {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, .67);
    font-size: 14px;
    line-height: 1.8;
}

/* PROGRESS */

.checkout-progress {
    display: flex;
    align-items: center;
    max-width: 450px;
    margin-top: 38px;
}

.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 65px;
}

.progress-step > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    font-weight: 700;
}

.progress-step small {
    color: rgba(255, 255, 255, .5);
    font-size: 10px;
}

.progress-step.completed > span {
    border-color: var(--checkout-red);
    background: var(--checkout-red);
    color: #fff;
}

.progress-step.active > span {
    border-color: #fff;
    background: #fff;
    color: var(--checkout-black);
}

.progress-step.active small,
.progress-step.completed small {
    color: #fff;
}

.progress-line {
    flex: 1;
    height: 1px;
    margin: 0 8px 18px;
    background: rgba(255, 255, 255, .2);
}

/* MAIN LAYOUT */

.checkout-container {
    width: min(1280px, calc(100% - 48px));
    margin: 42px auto 0;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 365px;
    align-items: start;
    gap: 25px;
}

.checkout-left {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}

.checkout-right {
    position: sticky;
    top: 25px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.checkout-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid #eaeaea;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .025);
}

/* SECTION HEADINGS */

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 26px;
}

.section-heading h2,
.payment-heading h2 {
    margin: 9px 0 7px;
    color: var(--checkout-black);
    font-size: 23px;
    font-weight: 800;
    letter-spacing: -.8px;
}

.section-heading p,
.payment-heading p {
    margin: 0;
    color: var(--checkout-muted);
    font-size: 12px;
    line-height: 1.7;
}

.order-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid #e9e9e9;
    color: #555;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.order-status i {
    color: #27965d;
}

.heading-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    background: #fff2f2;
    color: var(--checkout-red);
    font-size: 16px;
}

/* VEHICLE SUMMARY */

.vehicle-summary {
    display: grid;
    grid-template-columns: minmax(180px, 42%) 1fr;
    gap: 25px;
    align-items: center;
}

.vehicle-image {
    overflow: hidden;
    min-height: 175px;
    background: #f4f4f4;
}

.vehicle-image img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
    transition: transform .5s ease;
}

.vehicle-summary:hover .vehicle-image img {
    transform: scale(1.035);
}

.vehicle-label {
    color: #999;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.vehicle-info h3 {
    margin: 9px 0 5px;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.8px;
}

.vehicle-info > p {
    margin: 0;
    color: var(--checkout-muted);
    font-size: 12px;
}

.vehicle-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 15px;
}

.vehicle-tags span {
    padding: 7px 10px;
    background: #f4f4f4;
    color: #555;
    font-size: 10px;
    font-weight: 600;
}

.vehicle-price {
    margin-top: 17px;
    color: var(--checkout-red);
    font-size: 22px;
    font-weight: 800;
}

.vehicle-stock {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 23px;
    padding-top: 17px;
    border-top: 1px solid var(--checkout-border);
    color: #777;
    font-size: 11px;
}

.vehicle-stock i {
    color: var(--checkout-red);
}

/* BILLING FORM */

.checkout-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 15px;
}

.checkout-field {
    min-width: 0;
}

.checkout-field.full-width {
    grid-column: 1 / -1;
}

.checkout-field label {
    display: block;
    margin-bottom: 8px;
    color: #444;
    font-size: 11px;
    font-weight: 700;
}

.checkout-field label span {
    color: var(--checkout-red);
}

.checkout-field input,
.checkout-field select {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid #e4e4e4;
    border-radius: 2px;
    outline: none;
    background: #fff;
    color: #222;
    font-family: inherit;
    font-size: 12px;
    transition: border-color .2s, box-shadow .2s;
}

.checkout-field input::placeholder {
    color: #aaa;
}

.checkout-field input:focus,
.checkout-field select:focus {
    border-color: var(--checkout-red);
    box-shadow: 0 0 0 3px rgba(232, 33, 39, .08);
}

.identification-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin: 30px 0 18px;
    padding-top: 24px;
    border-top: 1px solid var(--checkout-border);
}

.identification-heading h3 {
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 800;
}

.identification-heading p {
    margin: 0;
    color: var(--checkout-muted);
    font-size: 11px;
}

.identification-heading > span {
    padding: 6px 9px;
    background: #f5f5f5;
    color: #777;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* INVOICE TABLE */

.invoice-table-wrap {
    overflow-x: auto;
}

.checkout-invoice-table {
    width: 100%;
    border-collapse: collapse;
}

.checkout-invoice-table th {
    padding: 12px 10px;
    border-bottom: 1px solid var(--checkout-border);
    color: #999;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    text-align: left;
    text-transform: uppercase;
}

.checkout-invoice-table th:nth-child(2),
.checkout-invoice-table td:nth-child(2) {
    text-align: center;
}

.checkout-invoice-table th:last-child,
.checkout-invoice-table td:last-child {
    text-align: right;
}

.checkout-invoice-table td {
    padding: 17px 10px;
    border-bottom: 1px solid var(--checkout-border);
    color: #333;
    font-size: 12px;
    vertical-align: middle;
}

.checkout-invoice-table td strong {
    display: block;
    font-size: 12px;
}

.checkout-invoice-table td small {
    display: block;
    margin-top: 5px;
    color: #999;
    font-size: 10px;
}

.invoice-totals {
    width: min(100%, 330px);
    margin: 20px 0 0 auto;
}

.invoice-total-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 9px 0;
    color: #777;
    font-size: 12px;
}

.invoice-total-row strong {
    color: #333;
    font-weight: 700;
}

.invoice-total-row.final-total {
    margin-top: 8px;
    padding: 15px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    color: #222;
    font-size: 14px;
    font-weight: 800;
}

.invoice-total-row.final-total strong {
    color: var(--checkout-red);
    font-size: 20px;
    font-weight: 800;
}

.invoice-disclaimer {
    display: flex;
    gap: 12px;
    margin-top: 23px;
    padding: 15px;
    background: #f8f8f8;
    color: #777;
}

.invoice-disclaimer i {
    margin-top: 2px;
    color: var(--checkout-red);
}

.invoice-disclaimer p {
    margin: 0;
    font-size: 10px;
    line-height: 1.7;
}

/* PAYMENT CARD */

.payment-card {
    padding: 27px 24px;
}

.payment-heading {
    margin-bottom: 23px;
}

.payment-heading h2 {
    font-size: 21px;
}

.payment-options {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.payment-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 76px;
    padding: 13px;
    border: 1px solid #e8e8e8;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}

.payment-option:hover {
    border-color: #bbb;
}

.payment-option:has(input:checked) {
    border-color: var(--checkout-red);
    background: #fffafa;
}

.payment-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.payment-option-icon {
    display: grid;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    place-items: center;
    background: #f2f2f2;
    color: #222;
    font-size: 15px;
}

.payment-option-icon.crypto-icon {
    background: #fff5e7;
    color: #bd781b;
}

.payment-option-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.payment-option-info strong {
    color: #222;
    font-size: 11px;
}

.payment-option-info small {
    color: #999;
    font-size: 9px;
}

.payment-option-balance {
    color: #333;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.payment-radio {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    border: 1px solid #ccc;
    border-radius: 50%;
}

.payment-option:has(input:checked) .payment-radio {
    border: 4px solid var(--checkout-red);
}

.payment-option:focus-within {
    outline: 2px solid rgba(232, 33, 39, .3);
    outline-offset: 3px;
}

.wallet-shortcuts {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.wallet-shortcuts a {
    color: var(--checkout-red);
    font-size: 10px;
    font-weight: 700;
}

.wallet-shortcuts a:hover {
    text-decoration: underline;
}

.wallet-shortcuts i {
    margin-right: 4px;
}

.payment-divider {
    height: 1px;
    margin: 24px 0;
    background: var(--checkout-border);
}

.payment-summary h3 {
    margin: 0 0 15px;
    font-size: 13px;
    font-weight: 800;
}

.payment-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
    color: #777;
    font-size: 11px;
}

.payment-summary-row span:last-child {
    color: #333;
    font-weight: 600;
}

.payment-grand-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px dashed #ddd;
    color: #222;
    font-size: 12px;
    font-weight: 800;
}

.payment-grand-total strong {
    color: var(--checkout-red);
    font-size: 21px;
    letter-spacing: -.5px;
}

.checkout-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    margin-top: 25px;
    padding: 14px 18px;
    border: 0;
    background: var(--checkout-red);
    color: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.checkout-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    background: var(--checkout-red-dark);
}

.checkout-submit:disabled {
    background: #aaa;
    cursor: not-allowed;
}

.checkout-submit i {
    transition: transform .2s;
}

.checkout-submit:hover:not(:disabled) i {
    transform: translateX(4px);
}

.secure-note {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    margin-top: 15px;
    color: #888;
    font-size: 9px;
    line-height: 1.6;
    text-align: center;
}

.secure-note i {
    margin-top: 1px;
    color: #27965d;
}

.payment-help {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--checkout-border);
    color: #888;
    font-size: 10px;
}

.payment-help a {
    color: var(--checkout-red);
    font-weight: 700;
}

.checkout-back-link {
    padding: 5px 0;
}

.checkout-back-link a {
    color: #666;
    font-size: 11px;
    font-weight: 600;
}

.checkout-back-link a:hover {
    color: var(--checkout-red);
}

.checkout-back-link i {
    margin-right: 7px;
}

/* ALERT */

.checkout-alert {
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    padding: 17px 20px;
    border: 1px solid;
    background: #fff;
}

.checkout-alert-error {
    border-color: #f1caca;
    background: #fff8f8;
    color: #a91e25;
}

.alert-icon {
    font-size: 19px;
}

.alert-content {
    min-width: 0;
}

.alert-content > strong {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
}

.alert-content p {
    margin: 4px 0;
    font-size: 11px;
    line-height: 1.6;
}

.alert-action {
    display: inline-block;
    margin-top: 8px;
    color: var(--checkout-red);
    font-size: 11px;
    font-weight: 800;
}

/* BOTTOM NOTE */

.checkout-bottom-note {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 28px;
    color: #888;
    font-size: 10px;
    text-align: center;
}

.checkout-bottom-note i {
    color: var(--checkout-red);
}

/* PURCHASE SUCCESS MODAL */

.purchase-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
}

.purchase-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .76);
    backdrop-filter: blur(7px);
}

.purchase-modal-content {
    position: relative;
    z-index: 1;
    width: min(100%, 450px);
    padding: 42px 35px;
    background: #fff;
    text-align: center;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .2);
    animation: checkoutModalIn .3s ease both;
}

.purchase-success-icon {
    display: grid;
    width: 65px;
    height: 65px;
    margin: 0 auto 23px;
    place-items: center;
    border-radius: 50%;
    background: #e8f7ed;
    color: #209653;
    font-size: 25px;
}

.purchase-modal-content h2 {
    margin: 10px 0;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -1px;
}

.purchase-modal-content > p {
    margin: 0;
    color: #777;
    font-size: 12px;
    line-height: 1.8;
}

.success-invoice-number {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin: 24px 0;
    padding: 14px;
    background: #f6f6f6;
    text-align: left;
}

.success-invoice-number span {
    color: #888;
    font-size: 10px;
}

.success-invoice-number strong {
    color: #222;
    font-size: 10px;
}

.modal-download-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    min-height: 49px;
    background: var(--checkout-red);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    transition: background .2s;
}

.modal-download-btn:hover {
    background: var(--checkout-red-dark);
}

.modal-back-link {
    display: inline-block;
    margin-top: 18px;
    color: #777;
    font-size: 10px;
    font-weight: 600;
}

@keyframes checkoutModalIn {
    from {
        opacity: 0;
        transform: translateY(15px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* RESPONSIVE */

@media (max-width: 1050px) {
    .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 330px;
        gap: 18px;
    }

    .checkout-card {
        padding: 24px;
    }

    .payment-card {
        padding: 23px 19px;
    }
}

@media (max-width: 850px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-right {
        position: static;
        order: -1;
    }

    .payment-card {
        padding: 25px;
    }

    .payment-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-option {
        flex-wrap: wrap;
    }

    .payment-option-balance {
        margin-left: 48px;
    }

    .payment-radio {
        position: absolute;
        top: 15px;
        right: 14px;
    }
}

@media (max-width: 600px) {
    .checkout-hero {
        padding: 38px 20px 35px;
    }

    .checkout-breadcrumb {
        margin-bottom: 29px;
        font-size: 10px;
    }

    .checkout-hero h1 {
        font-size: 39px;
        letter-spacing: -1.8px;
    }

    .checkout-hero > .checkout-hero-inner > p {
        font-size: 12px;
    }

    .checkout-progress {
        margin-top: 29px;
    }

    .checkout-container {
        width: calc(100% - 28px);
        margin-top: 22px;
    }

    .checkout-layout {
        gap: 15px;
    }

    .checkout-left {
        gap: 15px;
    }

    .checkout-card,
    .payment-card {
        padding: 20px 16px;
    }

    .section-heading {
        margin-bottom: 21px;
    }

    .section-heading h2,
    .payment-heading h2 {
        font-size: 20px;
    }

    .section-heading p,
    .payment-heading p {
        font-size: 11px;
    }

    .order-status {
        padding: 7px;
        font-size: 9px;
    }

    .vehicle-summary {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .vehicle-image {
        min-height: 0;
    }

    .vehicle-image img {
        height: 190px;
    }

    .vehicle-info h3 {
        font-size: 23px;
    }

    .checkout-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .checkout-field.full-width {
        grid-column: auto;
    }

    .checkout-field input {
        min-height: 45px;
    }

    .payment-options {
        grid-template-columns: 1fr;
    }

    .payment-option {
        flex-wrap: nowrap;
    }

    .payment-option-balance {
        margin-left: 0;
    }

    .payment-radio {
        position: static;
    }

    .invoice-totals {
        width: 100%;
    }

    .checkout-invoice-table th,
    .checkout-invoice-table td {
        padding-right: 6px;
        padding-left: 6px;
    }

    .checkout-invoice-table td {
        font-size: 10px;
    }

    .invoice-total-row.final-total strong {
        font-size: 18px;
    }

    .purchase-modal-content {
        padding: 34px 22px;
    }

    .purchase-modal-content h2 {
        font-size: 24px;
    }
}

@media (max-width: 360px) {
    .checkout-container {
        width: calc(100% - 20px);
    }

    .checkout-card,
    .payment-card {
        padding: 17px 13px;
    }

    .vehicle-price {
        font-size: 20px;
    }

    .payment-option {
        gap: 8px;
        padding: 10px;
    }

    .payment-option-balance {
        font-size: 9px;
    }

    .checkout-hero h1 {
        font-size: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .checkout-page *,
    .checkout-page *::before,
    .checkout-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* =========================================
   TESLA CONCEPT — HEADER LOGO & SPACING
========================================= */

.site-header {
    width: 100%;
    min-height: 76px;
    background: #fff;
    border-bottom: 1px solid #ededed;
    position: relative;
    z-index: 1000;
}

.site-header .container.nav-wrap {
    width: 100%;
    max-width: 1440px;
    min-height: 76px;
    margin: 0 auto;
    padding: 0 5%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

/* BRAND LOGO */
.site-header .brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    gap: 0;
    text-decoration: none;
}

.site-header .brand img {
    display: block;
    width: 125px;
    height: auto;
    max-height: 40px;
    object-fit: contain;
}

/* Hide duplicate text beside the logo */
.site-header .brand span {
    display: none;
}

/* DESKTOP NAVIGATION */
.site-header .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 27px;
    flex: 1;
}

.site-header .nav-links a {
    color: #171717;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .35px;
    white-space: nowrap;
    transition: color .2s ease;
}

.site-header .nav-links a:hover,
.site-header .nav-links a.active {
    color: #e82127;
}

/* ACCOUNT ACTIONS */
.site-header .nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    flex-shrink: 0;
}

.site-header .nav-actions a {
    color: #171717;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    transition: .2s ease;
}

.site-header .nav-actions a:hover,
.site-header .nav-actions a.active {
    color: #e82127;
}

.site-header .nav-actions .signup {
    background: #171717;
    color: #fff;
    padding: 12px 19px;
    border-radius: 3px;
}

.site-header .nav-actions .signup:hover,
.site-header .nav-actions .signup.active {
    background: #e82127;
    color: #fff;
}

/* MOBILE MENU BUTTON */
.site-header .menu-toggle {
    display: none;
    border: none;
    background: transparent;
    color: #171717;
    font-size: 21px;
    cursor: pointer;
    padding: 8px;
}

/* =========================================
   MARKET TICKER
========================================= */

.ticker {
    width: 100%;
    height: 32px;
    overflow: hidden;
    background: #171717;
    color: #fff;
}

.ticker-track {
    display: flex;
    align-items: center;
    gap: 48px;
    width: max-content;
    min-height: 32px;
}

.ticker-track span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .6px;
    white-space: nowrap;
}

.ticker-track b {
    color: #fff;
}

.ticker-track i {
    font-style: normal;
    font-size: 9px;
}

.ticker-track .up {
    color: #38c879;
}

.ticker-track .down {
    color: #f15b61;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {
    .site-header .container.nav-wrap {
        padding: 0 3%;
        gap: 20px;
    }

    .site-header .brand img {
        width: 110px;
    }

    .site-header .nav-links {
        gap: 17px;
    }

    .site-header .nav-links a {
        font-size: 10px;
    }

    .site-header .nav-actions {
        gap: 12px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 850px) {
    .site-header {
        min-height: 68px;
    }

    .site-header .container.nav-wrap {
        min-height: 68px;
        padding: 0 22px;
        gap: 15px;
    }

    .site-header .brand img {
        width: 115px;
        max-height: 36px;
    }

    .site-header .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    .site-header .nav-links,
    .site-header .nav-actions {
        display: none;
    }

    /* Active mobile menu */
    .site-header .nav-links.active {
        display: flex;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 20px 24px;
        background: #fff;
        border-top: 1px solid #eee;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        box-shadow: 0 12px 25px rgba(0,0,0,.08);
    }

    .site-header .nav-links.active a {
        font-size: 13px;
        width: 100%;
    }

    .site-header .nav-actions.active {
        display: flex;
        position: absolute;
        top: calc(100% + 260px);
        left: 0;
        right: 0;
        padding: 0 24px 22px;
        background: #fff;
        justify-content: flex-start;
        border-bottom: 1px solid #eee;
    }
}

@media (max-width: 480px) {
    .site-header .container.nav-wrap {
        padding: 0 18px;
    }

    .site-header .brand img {
        width: 105px;
    }

    .ticker-track {
        gap: 30px;
    }
}
