/* CarShield - Fully Nested Native CSS
   Related child selectors, states, and responsive overrides are nested
   while keeping standalone classes top-level to preserve behavior. */

:root {
  --black: #0b0b0d;
  --ink: #131316;
  --panel: #1b1b1f;
  --red: #d51e28;
  --white: #f7f7f5;
  --muted: #aaa9ad;
  font-family: Montserrat, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--black);
  color: var(--white);
  overflow-x: hidden;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-weight: 800;
  letter-spacing: -.055em;
}

h2 {
  font-size: clamp(2.4rem, 4vw, 4.3rem);
  line-height: .98;
}

a {
  text-decoration: none;
}

/* =========================
   Navbar
========================= */
.navbar {
  padding: 1.2rem 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .72), transparent);

  @media (max-width: 991px) {
    background: #0b0b0de8;
  }
}

.navbar-brand,
.footer-logo {
  img {
    width: 142px;
    height: auto;
  }
}

.nav-link {
  color: #ddd !important;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 700;
  padding: .65rem .85rem !important;

  &:hover,
  &.active {
    color: var(--red) !important;
  }
}

/* =========================
   Premium Compact Navbar
========================= */

.site-header {
  background: #0b0b0d;
  z-index: 1030;
  transition: background 0.35s ease,
              box-shadow 0.35s ease;
}

.site-header .navbar {
  padding: 0.55rem 0;
  background: transparent;
  transition: padding 0.35s ease;
}

/* Navbar Logo Only */
.site-header .navbar-brand img {
  width: 100px;
  height: auto;
  display: block;
  transition: width 0.35s ease;
}

/* Footer Logo */
.footer-logo img {
  width: 142px;
  height: auto;
}

/* Navigation */
.site-header .nav-link {
  color: #ddd !important;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 0.55rem 0.75rem !important;
  transition: color 0.25s ease;
}

.site-header .nav-link:hover,
.site-header .nav-link.active {
  color: var(--red) !important;
}

/* Navbar Button */
.site-header .btn-brand {
  padding: 0.75rem 1.1rem;
  font-size: 0.65rem;
  transition: background 0.3s ease,
              transform 0.3s ease;
}

.site-header .btn-brand:hover {
  transform: translateY(-2px);
}

/* Scrolled Header */
.site-header.scrolled {
  background: rgba(11, 11, 13, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
}

.site-header.scrolled .navbar {
  padding: 0.3rem 0;
}

.site-header.scrolled .navbar-brand img {
  width: 80px;
}

/* Mobile */
@media (max-width: 991px) {
  .site-header .navbar {
    padding: 0.5rem 0;
  }

  .site-header .navbar-brand img {
    width: 85px;
  }

  .site-header .navbar-collapse {
    padding: 1rem 0;
  }

  .site-header.scrolled .navbar-brand img {
    width: 75px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header .navbar,
  .site-header .navbar-brand img,
  .site-header .nav-link,
  .site-header .btn-brand {
    transition: none;
  }
}


/* =========================
   Buttons
========================= */
.btn {
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .7rem;
  font-weight: 800;
  padding: .95rem 1.3rem;
}

.btn-brand {
  background: var(--red);
  color: #fff;
  border: 1px solid var(--red);

  &:hover {
    background: #ef2b35;
    border-color: #ef2b35;
    color: #fff;
  }
}

.btn-outline-light {
  border-color: #666;
}

/* =========================
   Shared section styles
========================= */
.section-pad {
  padding: 8rem 0;

  @media (max-width: 991px) {
    padding: 5rem 0;
  }
}

.eyebrow {
  font-size: .67rem;
  letter-spacing: .18em;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--red);
  display: flex;
  align-items: center;
  gap: .65rem;

  span {
    display: inline-block;
    width: 27px;
    height: 1px;
    background: var(--red);
  }
}

.body-copy,
.section-heading>p {
  color: var(--muted);
  line-height: 1.8;
  font-size: .94rem;
}

.section-dark {
  background: #131316;
}

.section-heading {
  max-width: 620px;
}

.text-link {
  color: var(--red);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-weight: 800;
}

/* =========================
   Hero
========================= */
.hero {
  height: min(850px, 100vh);
  min-height: 650px;
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 74% 48%, #341216 0, #131315 37%, #09090a 72%);
  overflow: hidden;

  &::after {
    content: "";
    position: absolute;
    right: -7%;
    bottom: 10%;
    width: 70%;
    height: 36%;
    border-radius: 48% 52% 12% 14%;
    background: linear-gradient(165deg, transparent 10%, #202025 11% 14%, #080809 15% 40%, #3d1115 41% 44%, #0b0b0c 45%);
    transform: skewX(-8deg);
    z-index: -1;
    box-shadow: 0 30px 75px #000;
  }

  h1 {
    font-size: clamp(3.6rem, 7vw, 7.5rem);
    line-height: .9;
    max-width: 820px;

    em {
      font-family: 'Playfair Display', serif;
      font-weight: 600;
      color: var(--red);
    }

    @media (max-width: 575px) {
      font-size: 3.4rem;
    }
  }

  @media (max-width: 991px) {
    min-height: 690px;
  }
}

.hero-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .22;
  background-image:
    linear-gradient(#333 1px, transparent 1px),
    linear-gradient(90deg, #333 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(90deg, #000, transparent 75%);
}

.hero-glow {
  position: absolute;
  width: 600px;
  height: 600px;
  border: 1px solid #612328;
  border-radius: 50%;
  right: 9%;
  top: 14%;
  z-index: -1;
  box-shadow: 0 0 150px #4a131950;
}

.hero-copy {
  max-width: 540px;
  color: #bbb;
  line-height: 1.75;
  font-size: 1rem;
  margin: 1.8rem 0;
}

.hero-proof {
  margin-top: 4.5rem;
  color: #aaa;
  font-size: .65rem;
  letter-spacing: .05em;
  text-transform: uppercase;

  b {
    color: #fff;
    font-size: 1rem;
    margin-right: .25rem;
  }

  @media (max-width: 575px) {
    margin-top: 3rem;
    gap: 1rem !important;

    span {
      width: 100%;
    }
  }
}

.scroll-note {
  position: absolute;
  bottom: 2.5rem;
  left: 5%;
  font-size: .56rem;
  letter-spacing: .18em;
  color: #aaa;
  display: flex;
  align-items: center;
  gap: .8rem;

  span {
    height: 1px;
    width: 40px;
    background: var(--red);
  }

  @media (max-width: 575px) {
    display: none;
  }
}

/* =========================
   About
========================= */
.about {
  background: #f3f1ed;
  color: #141416;

  .body-copy {
    color: #5e5d61;
  }
}

.about-visual {
  height: 450px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #2d2d32, #0e0e10 60%);
  box-shadow: 25px 25px 0 var(--red);

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 65%;
  }

  &::before,
  &::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  @media (max-width: 991px) {
    height: 370px;
  }

  @media (max-width: 575px) {
    height: 290px;
    box-shadow: 12px 12px 0 var(--red);
  }
}

.visual-car {
  position: absolute;
  width: 90%;
  height: 31%;
  bottom: 19%;
  left: 4%;
  border-radius: 55% 50% 20% 24%;
  box-shadow: inset 0 15px 10px #fff2;
}

.quality-card {
  position: absolute;
  right: 1.8rem;
  top: 1.8rem;
  color: white;
  display: flex;
  gap: .75rem;
  align-items: center;
  text-transform: uppercase;
  font-size: .64rem;
  letter-spacing: .1em;

  i {
    font-size: 2rem;
    color: var(--red);
  }

  b {
    font-size: .95rem;
  }
}

.check {
  font-weight: 700;
  font-size: .78rem;

  i {
    color: var(--red);
    margin-right: .45rem;
  }
}

/* =========================
   Services
========================= */
.service-card {
  height: 100%;
  background: #1b1b1f;
  padding: 2rem 1.7rem;
  position: relative;
  border-bottom: 2px solid transparent;
  transition: .3s;

  &:hover {
    transform: translateY(-7px);
    border-color: var(--red);
    background: #202025;
  }

  >i {
    color: var(--red);
    font-size: 1.7rem;
    margin-bottom: 2.7rem;
  }

  h3 {
    font-size: 1.1rem;
    font-weight: 800;
  }

  p {
    color: #aaa;
    font-size: .8rem;
    line-height: 1.75;
  }

  a {
    font-size: .64rem;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;

    i {
      color: var(--red);
      margin-left: .35rem;
    }
  }
}

.service-number {
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  color: #5c5b60;
  font-size: .65rem;
  letter-spacing: .1em;
}

/* =========================
   Gallery
========================= */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 150px;
  gap: 1rem;

  @media (max-width: 991px) {
    grid-auto-rows: 110px;
  }

  @media (max-width: 575px) {
    gap: .6rem;
    grid-auto-rows: 85px;
  }
}

.gallery-item {
  position: relative;
  overflow: hidden;
  background-color: #25252a;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: .3s;

  &::before {
    content: "";
    position: absolute;
    inset: -15%;
    background:
      linear-gradient(140deg, transparent 35%, #fff2 36% 39%, transparent 40%),
      radial-gradient(ellipse at 70% 70%, #d41f2845, transparent 42%);
    transform: rotate(-8deg);
    transition: .5s;
  }

  &:hover::before {
    transform: scale(1.15) rotate(-8deg);
  }

  >.gallery-content {
    position: absolute;
    inset: auto 1.2rem 1rem;
    z-index: 10;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  span {
    font-size: .55rem;
    letter-spacing: .13em;
    color: #ccc;
  }

  h3 {
    font-size: 1rem;
    margin: 0;
    font-weight: 700;
  }
}

.gallery-a {
  grid-column: span 7;
  grid-row: span 4;
  position: relative;
  overflow: hidden;

  .carousel-inner {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    height: 100%;
  }

  .carousel-item {
    width: 100%;
    height: 100%;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
  }

  .carousel-control-prev,
  .carousel-control-next {
    z-index: 5;
  }

  @media (max-width: 575px) {
    grid-column: span 12;
  }
}

.gallery-b {
  grid-column: span 5;
  grid-row: span 2;
  background-image: linear-gradient(135deg, #0a1119, #31373b 55%, #ad1d26);

  @media (max-width: 575px) {
    grid-column: span 6;
    grid-row: span 2;
  }
}

.gallery-c {
  grid-column: span 5;
  grid-row: span 2;
  background-image: linear-gradient(135deg, #372825, #151518 50%, #030303);

  @media (max-width: 575px) {
    grid-column: span 6;
    grid-row: span 2;
  }
}

.gallery-d {
  grid-column: span 7;
  grid-row: span 1;
  background-image: linear-gradient(135deg, #101820, #111113 57%, #562126);

  @media (max-width: 575px) {
    grid-column: span 12;
  }
}

.gallery-note {
  font-size: .7rem;
  color: #777;
}

.carousel-indicators {
  button {
    width: 22px !important;
    height: 2px !important;
    background: var(--red) !important;
  }
}

/* =========================
   Process
========================= */
.process {
  background: var(--red);

  .eyebrow {
    color: #fff;

    span {
      background: #fff;
    }
  }

  .body-copy {
    color: #ffe8e8;
  }
}

.process-list {
  >div {
    border-bottom: 1px solid #ffffff75;
    padding: 1.05rem 0;
    display: flex;
    align-items: center;
    gap: 1.1rem;
  }

  b {
    font-size: .7rem;
  }

  span {
    font-size: 1rem;
    font-weight: 700;
  }

  i {
    margin-left: auto;
  }
}

/* =========================
   Testimonials
========================= */
.testimonials {
  background: #eeeae3;
  color: #151518;
}

.review {
  max-width: 850px;

  blockquote {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: clamp(1.6rem, 3vw, 2.8rem);
    line-height: 1.25;
  }

  p {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 1.7rem;
  }

  span {
    color: var(--red);
    margin: 0 .5rem;
  }
}

.stars {
  color: var(--red);
  letter-spacing: .25em;
  font-size: .85rem;
  margin-bottom: 1.4rem;
}

/* =========================
   Contact
========================= */
.contact {
  background: linear-gradient(130deg, #151518, #0b0b0d);

  h2 {
    max-width: 500px;
  }
}

.contact-detail {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.6rem;
  color: #999;
  font-size: .75rem;

  i {
    color: var(--red);
    font-size: 1.5rem;
    width: 25px;
  }

  b {
    color: white;
    font-size: .88rem;
  }
}

.contact-form {
  background: #1b1b1f;
  padding: 2rem;

  label {
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .62rem;
    font-weight: 700;
    margin-bottom: .4rem;
  }

  @media (max-width: 575px) {
    padding: 1.3rem;
  }
}

.form-control,
.form-select {
  background: #111114;
  border: 1px solid #3a393e;
  border-radius: 0;
  color: white;
  padding: .8rem;
  font-size: .8rem;

  &:focus {
    background: #111114;
    color: white;
    border-color: var(--red);
    box-shadow: none;
  }
}

.form-select {
  color: #aaa;
}

/* =========================
   Footer
========================= */
footer {
  background: #070708;
  padding: 3rem 0 1.4rem;
}

.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 2.5rem;

  @media (max-width: 575px) {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.2rem;
  }
}

.footer-links {
  display: flex;
  gap: 1.5rem;

  a {
    color: #999;
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .08em;

    &:hover {
      color: var(--red);
    }
  }

  @media (max-width: 575px) {
    flex-wrap: wrap;
    gap: .8rem 1rem;
  }
}

.social {
  display: flex;
  gap: .6rem;

  a {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border: 1px solid #444;
    color: #fff;
    font-size: .75rem;

    &:hover {
      background: var(--red);
      border-color: var(--red);
    }
  }
}

.footer-bottom {
  color: #999;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-top: 1px solid #29292c;
  padding-top: 1.4rem;
  display: flex;
  justify-content: space-between;

  @media (max-width: 575px) {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.2rem;
  }
}

/* :root {

  --black: #0b0b0d;

  --ink: #131316;

  --panel: #1b1b1f;

  --red: #d51e28;

  --white: #f7f7f5;

  --muted: #aaa9ad;

  font-family: Montserrat, sans-serif
}

* {

  box-sizing: border-box
}

html {

  scroll-behavior: smooth
}

body {

  background: var(--black);

  color: var(--white);

  overflow-x: hidden
}

h1,

h2,

h3,

p {

  margin-top: 0
}

h1,

h2 {

  font-weight: 800;

  letter-spacing: -.055em
}

h2 {

  font-size: clamp(2.4rem, 4vw, 4.3rem);

  line-height: .98
}

a {

  text-decoration: none
}

.navbar {

  padding: 1.2rem 0;

  background: linear-gradient(180deg, rgba(0, 0, 0, .72), transparent)
}

.navbar-brand img,

.footer-logo img {

  width: 142px;

  height: auto
}

.nav-link {

  color: #ddd !important;

  font-size: .74rem;

  text-transform: uppercase;

  letter-spacing: .1em;

  font-weight: 700;

  padding: .65rem .85rem !important
}

.nav-link:hover,

.nav-link.active {

  color: var(--red) !important
}

.btn {

  border-radius: 0;

  text-transform: uppercase;

  letter-spacing: .09em;

  font-size: .7rem;

  font-weight: 800;

  padding: .95rem 1.3rem
}

.btn-brand {

  background: var(--red);

  color: #fff;

  border: 1px solid var(--red)
}

.btn-brand:hover {

  background: #ef2b35;

  border-color: #ef2b35;

  color: #fff
}

.btn-outline-light {

  border-color: #666
}

.section-pad {

  padding: 8rem 0
}

.eyebrow {

  font-size: .67rem;

  letter-spacing: .18em;

  font-weight: 800;

  text-transform: uppercase;

  color: var(--red);

  display: flex;

  align-items: center;

  gap: .65rem
}

.eyebrow span {

  display: inline-block;

  width: 27px;

  height: 1px;

  background: var(--red)
}

.body-copy,

.section-heading>p {

  color: var(--muted);

  line-height: 1.8;

  font-size: .94rem
}

.hero {

  height: min(850px, 100vh);

  min-height: 650px;

  position: relative;

  isolation: isolate;

  background: radial-gradient(ellipse at 74% 48%, #341216 0, #131315 37%, #09090a 72%);

  overflow: hidden
}

.hero:after {

  content: "";

  position: absolute;

  right: -7%;

  bottom: 10%;

  width: 70%;

  height: 36%;

  border-radius: 48% 52% 12% 14%;

  background: linear-gradient(165deg, transparent 10%, #202025 11% 14%, #080809 15% 40%, #3d1115 41% 44%, #0b0b0c 45%);

  transform: skewX(-8deg);

  z-index: -1;

  box-shadow: 0 30px 75px #000
}

.hero-grid {

  position: absolute;

  inset: 0;

  z-index: -2;

  opacity: .22;

  background-image: linear-gradient(#333 1px, transparent 1px), linear-gradient(90deg, #333 1px, transparent 1px);

  background-size: 70px 70px;

  mask-image: linear-gradient(90deg, #000, transparent 75%)
}

.hero-glow {

  position: absolute;

  width: 600px;

  height: 600px;

  border: 1px solid #612328;

  border-radius: 50%;

  right: 9%;

  top: 14%;

  z-index: -1;

  box-shadow: 0 0 150px #4a131950
}

.hero h1 {

  font-size: clamp(3.6rem, 7vw, 7.5rem);

  line-height: .9;

  max-width: 820px
}

.hero h1 em {

  font-family: 'Playfair Display', serif;

  font-weight: 600;

  color: var(--red)
}

.hero-copy {

  max-width: 540px;

  color: #bbb;

  line-height: 1.75;

  font-size: 1rem;

  margin: 1.8rem 0
}

.hero-proof {

  margin-top: 4.5rem;

  color: #aaa;

  font-size: .65rem;

  letter-spacing: .05em;

  text-transform: uppercase
}

.hero-proof b {

  color: #fff;

  font-size: 1rem;

  margin-right: .25rem
}

.scroll-note {

  position: absolute;

  bottom: 2.5rem;

  left: 5%;

  font-size: .56rem;

  letter-spacing: .18em;

  color: #aaa;

  display: flex;

  align-items: center;

  gap: .8rem
}

.scroll-note span {

  height: 1px;

  width: 40px;

  background: var(--red)
}

.about {

  background: #f3f1ed;

  color: #141416
}

.about .body-copy {

  color: #5e5d61
}

.about-visual {

  height: 450px;

  position: relative;

  overflow: hidden;

  background: linear-gradient(135deg, #2d2d32, #0e0e10 60%);

  box-shadow: 25px 25px 0 var(--red);

}

.about-visual img {

  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center 65%;

}

.about-visual::before,

.about-visual::after {

  content: none !important;

  display: none !important;

  background: none !important;

}

.visual-car {

  position: absolute;

  width: 90%;

  height: 31%;

  bottom: 19%;

  left: 4%;

  border-radius: 55% 50% 20% 24%;

  box-shadow: inset 0 15px 10px #fff2
}

.quality-card {

  position: absolute;

  right: 1.8rem;

  top: 1.8rem;

  color: white;

  display: flex;

  gap: .75rem;

  align-items: center;

  text-transform: uppercase;

  font-size: .64rem;

  letter-spacing: .1em
}

.quality-card i {

  font-size: 2rem;

  color: var(--red)
}

.quality-card b {

  font-size: .95rem
}

.check {

  font-weight: 700;

  font-size: .78rem
}

.check i {

  color: var(--red);

  margin-right: .45rem
}

.text-link {

  color: var(--red);

  font-size: .7rem;

  text-transform: uppercase;

  letter-spacing: .1em;

  font-weight: 800
}

.section-dark {

  background: #131316
}

.section-heading {

  max-width: 620px
}

.service-card {

  height: 100%;

  background: #1b1b1f;

  padding: 2rem 1.7rem;

  position: relative;

  border-bottom: 2px solid transparent;

  transition: .3s
}

.service-card:hover {

  transform: translateY(-7px);

  border-color: var(--red);

  background: #202025
}

.service-number {

  position: absolute;

  right: 1.4rem;

  top: 1.4rem;

  color: #5c5b60;

  font-size: .65rem;

  letter-spacing: .1em
}

.service-card>i {

  color: var(--red);

  font-size: 1.7rem;

  margin-bottom: 2.7rem
}

.service-card h3 {

  font-size: 1.1rem;

  font-weight: 800
}

.service-card p {

  color: #aaa;

  font-size: .8rem;

  line-height: 1.75
}

.service-card a {

  font-size: .64rem;

  color: #fff;

  text-transform: uppercase;

  letter-spacing: .08em;

  font-weight: 700
}

.service-card a i {

  color: var(--red);

  margin-left: .35rem
}

.gallery-grid {

  display: grid;

  grid-template-columns: repeat(12, 1fr);

  grid-auto-rows: 150px;

  gap: 1rem
}

.gallery-item {
  position: relative;
  overflow: hidden;
  background-color: #25252a;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  transition: .3s;

  a {
    grid-column: span 7;
    grid-row: span 3;

    background-size: cover;
    background-position: 42% center;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
}

.gallery-item:before {

  content: "";

  position: absolute;

  inset: -15%;

  background: linear-gradient(140deg, transparent 35%, #fff2 36% 39%, transparent 40%), radial-gradient(ellipse at 70% 70%, #d41f2845, transparent 42%);

  transform: rotate(-8deg);

  transition: .5s
}

.gallery-item:hover:before {

  transform: scale(1.15) rotate(-8deg)
}

.gallery-item>div {

  position: absolute;

  inset: auto 1.2rem 1rem;

  z-index: 1
}

.gallery-item span {

  font-size: .55rem;

  letter-spacing: .13em;

  color: #ccc
}

.gallery-item h3 {

  font-size: 1rem;

  margin: 0;

  font-weight: 700
}

.gallery-a {
  grid-column: span 7;
  grid-row: span 3;
  position: relative;
  overflow: hidden;
}

.gallery-a .carousel,
.gallery-a .carousel-inner,
.gallery-a .carousel-item {
  width: 100%;
  height: 100%;
}

.gallery-a .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gallery-content {
  position: absolute !important;
  left: 1.2rem !important;
  bottom: 1rem !important;
  z-index: 10;
}

.gallery-a {
  grid-column: span 7;
  grid-row: span 4;
  position: relative;
  overflow: hidden;

  .carousel-inner {
    position: relative !important;
    inset: auto !important;

    width: 100%;
    height: 100%;

  }

  .carousel-item {
    width: 100%;
    height: 100%;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

  }

}


.gallery-b {

  grid-column: span 5;

  grid-row: span 2;

  background-image: linear-gradient(135deg, #0a1119, #31373b 55%, #ad1d26)
}

.gallery-c {

  grid-column: span 5;

  grid-row: span 2;

  background-image: linear-gradient(135deg, #372825, #151518 50%, #030303)
}

.gallery-d {

  grid-column: span 7;

  grid-row: span 1;

  background-image: linear-gradient(135deg, #101820, #111113 57%, #562126)
}

.gallery-note {

  font-size: .7rem;

  color: #777
}

.process {

  background: var(--red)
}

.process .eyebrow {

  color: #fff
}

.process .eyebrow span {

  background: #fff
}

.process .body-copy {

  color: #ffe8e8
}

.process-list>div {

  border-bottom: 1px solid #ffffff75;

  padding: 1.05rem 0;

  display: flex;

  align-items: center;

  gap: 1.1rem
}

.process-list b {

  font-size: .7rem
}

.process-list span {

  font-size: 1rem;

  font-weight: 700
}

.process-list i {

  margin-left: auto
}

.testimonials {

  background: #eeeae3;

  color: #151518
}

.review {

  max-width: 850px
}

.stars {

  color: var(--red);

  letter-spacing: .25em;

  font-size: .85rem;

  margin-bottom: 1.4rem
}

.review blockquote {

  font-family: 'Playfair Display', serif;

  font-style: italic;

  font-size: clamp(1.6rem, 3vw, 2.8rem);

  line-height: 1.25
}

.review p {

  font-size: .75rem;

  text-transform: uppercase;

  letter-spacing: .1em;

  margin-top: 1.7rem
}

.review span {

  color: var(--red);

  margin: 0 .5rem
}

.carousel-indicators button {

  width: 22px !important;

  height: 2px !important;

  background: var(--red) !important
}

.contact {

  background: linear-gradient(130deg, #151518, #0b0b0d)
}

.contact h2 {

  max-width: 500px
}

.contact-detail {

  display: flex;

  align-items: center;

  gap: 1rem;

  margin-top: 1.6rem;

  color: #999;

  font-size: .75rem
}

.contact-detail i {

  color: var(--red);

  font-size: 1.5rem;

  width: 25px
}

.contact-detail b {

  color: white;

  font-size: .88rem
}

.contact-form {

  background: #1b1b1f;

  padding: 2rem
}

.contact-form label {

  color: #aaa;

  text-transform: uppercase;

  letter-spacing: .1em;

  font-size: .62rem;

  font-weight: 700;

  margin-bottom: .4rem
}

.form-control,

.form-select {

  background: #111114;

  border: 1px solid #3a393e;

  border-radius: 0;

  color: white;

  padding: .8rem;

  font-size: .8rem
}

.form-control:focus,

.form-select:focus {

  background: #111114;

  color: white;

  border-color: var(--red);

  box-shadow: none
}

.form-select {

  color: #aaa
}

footer {

  background: #070708;

  padding: 3rem 0 1.4rem
}

.footer-top {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 2rem;

  padding-bottom: 2.5rem
}

.footer-links {

  display: flex;

  gap: 1.5rem
}

.footer-links a,

.footer-bottom {

  color: #999;

  font-size: .65rem;

  text-transform: uppercase;

  letter-spacing: .08em
}

.footer-links a:hover {

  color: var(--red)
}

.social {

  display: flex;

  gap: .6rem
}

.social a {

  display: grid;

  place-items: center;

  width: 29px;

  height: 29px;

  border: 1px solid #444;

  color: #fff;

  font-size: .75rem
}

.social a:hover {

  background: var(--red);

  border-color: var(--red)
}

.footer-bottom {

  border-top: 1px solid #29292c;

  padding-top: 1.4rem;

  display: flex;

  justify-content: space-between
}

@media(max-width:991px) {

  .section-pad {

    padding: 5rem 0
  }

  .navbar {

    background: #0b0b0de8
  }

  .hero {

    min-height: 690px
  }

  .about-visual {

    height: 370px
  }

  .gallery-grid {

    grid-auto-rows: 110px
  }

}

@media(max-width:575px) {

  .hero h1 {

    font-size: 3.4rem
  }

  .hero-proof {

    margin-top: 3rem;

    gap: 1rem !important
  }

  .hero-proof span {

    width: 100%
  }

  .about-visual {

    height: 290px;

    box-shadow: 12px 12px 0 var(--red)
  }

  .gallery-grid {

    gap: .6rem;

    grid-auto-rows: 85px
  }

  .gallery-b,

  .gallery-c {

    grid-column: span 6;

    grid-row: span 2
  }

  .gallery-d {

    grid-column: span 12
  }

  .footer-top,

  .footer-bottom {

    align-items: flex-start;

    flex-direction: column;

    gap: 1.2rem
  }

  .footer-links {

    flex-wrap: wrap;

    gap: .8rem 1rem
  }

  .contact-form {

    padding: 1.3rem
  }

  .scroll-note {

    display: none
  }
} */


/* ===== ABOUT SECTION ANIMATION ===== */

#about.about-motion .about-visual,
#about.about-motion .col-lg-6:nth-child(2) > .eyebrow,
#about.about-motion .col-lg-6:nth-child(2) > h2,
#about.about-motion .col-lg-6:nth-child(2) > .body-copy,
#about.about-motion .row.g-3 > .col-sm-6,
#about.about-motion .text-link {
  opacity: 0;
  transform: translateY(25px);
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Car image enters from left */
#about.about-motion .about-visual {
  transform: translateX(-40px);
  transition-delay: 0.1s;
}

/* Stagger text */
#about.about-motion .eyebrow {
  transition-delay: 0.2s;
}

#about.about-motion h2 {
  transition-delay: 0.3s;
}

#about.about-motion .body-copy {
  transition-delay: 0.4s;
}

/* Stagger features */
#about.about-motion .row.g-3 > .col-sm-6:nth-child(1) {
  transition-delay: 0.45s;
}

#about.about-motion .row.g-3 > .col-sm-6:nth-child(2) {
  transition-delay: 0.55s;
}

#about.about-motion .row.g-3 > .col-sm-6:nth-child(3) {
  transition-delay: 0.65s;
}

#about.about-motion .row.g-3 > .col-sm-6:nth-child(4) {
  transition-delay: 0.75s;
}

#about.about-motion .text-link {
  transition-delay: 0.85s;
}

/* Reveal elements */
#about.about-motion.is-visible .about-visual,
#about.about-motion.is-visible .col-lg-6:nth-child(2) > .eyebrow,
#about.about-motion.is-visible .col-lg-6:nth-child(2) > h2,
#about.about-motion.is-visible .col-lg-6:nth-child(2) > .body-copy,
#about.about-motion.is-visible .row.g-3 > .col-sm-6,
#about.about-motion.is-visible .text-link {
  opacity: 1;
  transform: translate(0);
}

/* Subtle car zoom */
#about .about-visual img {
  transition: transform 0.6s ease;
}

#about .about-visual:hover img {
  transform: scale(1.035);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  #about.about-motion .about-visual,
  #about.about-motion .col-lg-6:nth-child(2) > .eyebrow,
  #about.about-motion .col-lg-6:nth-child(2) > h2,
  #about.about-motion .col-lg-6:nth-child(2) > .body-copy,
  #about.about-motion .row.g-3 > .col-sm-6,
  #about.about-motion .text-link {
    opacity: 1;
    transform: none;
    transition: none;
  }

  #about .about-visual:hover img {
    transform: none;
  }
}
