@layer sections {

  /* ── Hero ─────────────────────────────────────────────────── */
  .hero {
    position: relative;
    min-block-size: clamp(560px, 85vh, 860px);
    display: grid;
    align-items: center;
    overflow: hidden;
    background-color: var(--color-dark);
  }

  .hero__bg {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center 60%;
    z-index: 0;
  }

  .hero__overlay {
    position: absolute;
    inset: 0;
    background: var(--grad-hero);
    z-index: 1;
  }

  .hero__inner {
    position: relative;
    z-index: 2;
    padding-block: var(--space-2xl) var(--space-xl);
  }

  .hero__content {
    max-inline-size: 680px;
  }

  .hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-block-end: var(--space-sm);
  }

  .hero__eyebrow::before {
    content: '';
    display: inline-block;
    inline-size: 28px;
    block-size: 2px;
    background: var(--color-accent);
    border-radius: 2px;
  }

  .hero__title {
    font-size: var(--text-4xl);
    color: var(--color-white);
    line-height: 1.1;
    margin-block-end: var(--space-md);
  }

  .hero__title span { color: var(--color-accent); }

  .hero__subtitle {
    font-size: var(--text-lg);
    color: rgba(255,255,255,0.85);
    max-inline-size: 56ch;
    margin-block-end: var(--space-lg);
  }

  .hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    align-items: center;
  }

  /* Hero booking form panel */
  .hero__form-wrap {
    background: rgba(255,255,255,0.97);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .hero__form-title {
    font-size: var(--text-xl);
    color: var(--color-dark);
    margin-block-end: var(--space-md);
  }

  .hero-split {
    display: grid;
    gap: var(--space-xl);
    align-items: center;
  }

  @media (width >= 960px) {
    .hero-split {
      grid-template-columns: 1fr 420px;
    }
  }

  /* ── Trust bar ────────────────────────────────────────────── */
  .trust-bar {
    background: var(--grad-dark);
    padding-block: var(--space-md);
  }

  .trust-bar__inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md) var(--space-xl);
    align-items: center;
    justify-content: center;
  }

  .trust-bar__item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-white);
  }

  .trust-bar__item .icon {
    color: var(--color-accent);
    font-size: var(--text-lg);
  }

  /* ── Services section ─────────────────────────────────────── */
  .services-intro {
    max-inline-size: 60ch;
  }

  /* ── Fleet section ────────────────────────────────────────── */
  .fleet-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--normal) var(--ease),
                transform var(--normal) var(--ease);
  }

  .fleet-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
  }

  .fleet-card__img-wrap {
    aspect-ratio: 16 / 10;
    overflow: hidden;
  }

  .fleet-card__img-wrap img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform var(--normal) var(--ease);
  }

  .fleet-card:hover .fleet-card__img-wrap img {
    transform: scale(1.04);
  }

  .fleet-card__body {
    padding: var(--space-md);
  }

  .fleet-card__name {
    font-size: var(--text-lg);
    margin-block-end: var(--space-xs);
  }

  .fleet-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs) var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-muted);
    margin-block-end: var(--space-sm);
  }

  .fleet-card__meta span {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .fleet-card__price {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--color-primary);
    margin-block-end: var(--space-sm);
  }

  .fleet-card__price small {
    font-size: var(--text-sm);
    font-weight: 400;
    color: var(--color-muted);
  }

  /* ── Stats section ────────────────────────────────────────── */
  .stats-section {
    background: var(--grad-brand);
  }

  .stats-section .stat-grid { justify-content: center; }

  .stats-section .stat-number { color: var(--color-accent); }
  .stats-section .stat-label  { color: rgba(255,255,255,0.85); }

  /* ── Why choose us ────────────────────────────────────────── */
  .why-grid {
    display: grid;
    gap: var(--space-lg);
  }

  @media (width >= 640px) {
    .why-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (width >= 960px) {
    .why-grid { grid-template-columns: repeat(4, 1fr); }
  }

  .why-item {
    text-align: center;
    padding: var(--space-lg);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    border-block-start: 3px solid var(--color-accent);
  }

  .why-item__icon {
    font-size: 2.5rem;
    margin-block-end: var(--space-sm);
  }

  .why-item h3 {
    font-size: var(--text-lg);
    margin-block-end: var(--space-xs);
  }

  .why-item p {
    font-size: var(--text-sm);
    color: var(--color-muted);
    max-inline-size: 100%;
  }

  /* ── Testimonials section ──────────────────────────────────── */
  .testimonials-grid {
    display: grid;
    gap: var(--space-lg);
  }

  @media (width >= 640px) {
    .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (width >= 960px) {
    .testimonials-grid { grid-template-columns: repeat(3, 1fr); }
  }

  .testimonial-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
  }

  .testimonial-card blockquote {
    border: none;
    padding: 0;
    margin: 0;
    font-style: normal;
    color: var(--color-text);
    font-size: var(--text-base);
    flex: 1;
  }

  .testimonial-card blockquote::before {
    content: '\201C';
    font-size: var(--text-3xl);
    color: var(--color-accent);
    line-height: 0.8;
    display: block;
    margin-block-end: var(--space-xs);
    font-family: Georgia, serif;
  }

  .testimonial-card__footer {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    border-block-start: 1px solid var(--color-border);
    padding-block-start: var(--space-sm);
    margin-block-start: var(--space-xs);
  }

  .testimonial-card__avatar {
    inline-size: 44px;
    block-size: 44px;
    border-radius: var(--radius-full);
    object-fit: cover;
    flex-shrink: 0;
    background: var(--color-surface-2);
  }

  .testimonial-card__author {
    font-weight: 700;
    font-size: var(--text-sm);
    color: var(--color-dark);
  }

  .testimonial-card__location {
    font-size: var(--text-xs);
    color: var(--color-muted);
  }

  .star-row {
    display: flex;
    gap: 2px;
    color: var(--color-accent);
    font-size: var(--text-base);
  }

  /* ── CTA banner ───────────────────────────────────────────── */
  .cta-banner {
    background: var(--grad-gold);
    border-radius: var(--radius-lg);
    padding: var(--space-xl) var(--space-lg);
    text-align: center;
  }

  .cta-banner h2 { color: var(--color-dark); }
  .cta-banner p  { color: var(--color-dark); opacity: 0.85; margin-inline: auto; }

  .cta-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
    margin-block-start: var(--space-lg);
  }

  /* ── How it works / Process ───────────────────────────────── */
  .process-grid {
    display: grid;
    gap: var(--space-xl);
    counter-reset: step;
  }

  @media (width >= 640px) {
    .process-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (width >= 960px) {
    .process-grid { grid-template-columns: repeat(4, 1fr); }
  }

  .process-step {
    position: relative;
    padding-block-start: var(--space-xl);
    counter-increment: step;
  }

  .process-step::before {
    content: counter(step, decimal-leading-zero);
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    font-family: var(--font-heading);
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--color-accent);
    line-height: 1;
    opacity: 0.25;
  }

  .process-step h3 {
    font-size: var(--text-lg);
    margin-block-end: var(--space-xs);
  }

  .process-step p {
    font-size: var(--text-sm);
    color: var(--color-muted);
    max-inline-size: 100%;
  }

  /* ── Coverage / Destinations map strip ────────────────────── */
  .destinations-strip {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
  }

  .destination-tag {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text);
    transition: background var(--fast) var(--ease),
                border-color var(--fast) var(--ease);
  }

  .destination-tag:hover {
    background: var(--color-surface-2);
    border-color: var(--color-primary-lt);
  }

  .destination-tag::before {
    content: '📍';
    font-size: 0.9em;
  }

  /* ── Page hero (inner pages) ──────────────────────────────── */
  .page-hero {
    position: relative;
    background: var(--grad-dark);
    padding-block: clamp(80px, 12vw, 140px);
    overflow: hidden;
  }

  .page-hero__bg {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    opacity: 0.25;
    z-index: 0;
  }

  .page-hero__inner {
    position: relative;
    z-index: 1;
  }

  .page-hero__eyebrow {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-block-end: var(--space-sm);
  }

  .page-hero h1 {
    font-size: var(--text-3xl);
    color: var(--color-white);
    max-inline-size: 18ch;
  }

  .page-hero__sub {
    font-size: var(--text-lg);
    color: rgba(255,255,255,0.8);
    max-inline-size: 56ch;
    margin-block-start: var(--space-sm);
  }

  .page-hero a:not(.btn) { color: var(--color-accent); }
  .page-hero a:not(.btn):hover { color: var(--color-accent-lt); }

  /* ── Service detail page sections ─────────────────────────── */
  .service-detail-grid {
    display: grid;
    gap: var(--space-xl);
    align-items: start;
  }

  @media (width >= 960px) {
    .service-detail-grid { grid-template-columns: 1fr 360px; }
  }

  .service-sidebar {
    position: sticky;
    inset-block-start: calc(var(--header-h) + var(--space-lg));
  }

  .service-sidebar__card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
  }

  .service-sidebar__card h3 {
    font-size: var(--text-lg);
    margin-block-end: var(--space-md);
  }

  .sidebar-checklist {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
  }

  .sidebar-checklist li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    font-size: var(--text-sm);
  }

  .sidebar-checklist li::before {
    content: '✓';
    color: var(--color-primary);
    font-weight: 700;
    flex-shrink: 0;
    margin-block-start: 2px;
  }

  /* ── Fleet detail / vehicle page ──────────────────────────── */
  .vehicle-gallery {
    display: grid;
    gap: var(--space-sm);
    grid-template-columns: 1fr;
  }

  @media (width >= 640px) {
    .vehicle-gallery {
      grid-template-columns: 2fr 1fr;
      grid-template-rows: auto auto;
    }
    .vehicle-gallery__main {
      grid-row: span 2;
    }
  }

  .vehicle-gallery img {
    border-radius: var(--radius-md);
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }

  .vehicle-gallery__main {
    aspect-ratio: 4 / 3;
  }

  .vehicle-gallery__thumb {
    aspect-ratio: 4 / 3;
  }

  /* ── Pricing table section ─────────────────────────────────── */
  .pricing-card {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    box-shadow: var(--shadow-sm);
    border: 2px solid var(--color-border);
    transition: border-color var(--normal) var(--ease),
                box-shadow var(--normal) var(--ease);
  }

  .pricing-card.is-featured {
    border-color: var(--color-accent);
    box-shadow: var(--shadow-md);
  }

  .pricing-card__badge {
    display: inline-block;
    padding: var(--space-xs) var(--space-sm);
    background: var(--grad-gold);
    color: var(--color-dark);
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: var(--radius-full);
    margin-block-end: var(--space-sm);
  }

  .pricing-card__name {
    font-size: var(--text-xl);
    margin-block-end: var(--space-xs);
  }

  .pricing-card__price {
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--color-primary);
    margin-block-end: var(--space-md);
  }

  .pricing-card__price small {
    font-size: var(--text-sm);
    font-weight: 400;
    color: var(--color-muted);
  }

  .pricing-feature-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-block-end: var(--space-xl);
  }

  .pricing-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    font-size: var(--text-sm);
  }

  .pricing-feature-list li::before {
    content: '✓';
    color: var(--color-primary);
    font-weight: 700;
    flex-shrink: 0;
  }

  /* ── FAQ section ──────────────────────────────────────────── */
  .faq-section details {
    border-radius: var(--radius-md);
  }

  /* ── Contact page ─────────────────────────────────────────── */
  .contact-split {
    display: grid;
    gap: var(--space-xl);
    align-items: start;
  }

  @media (width >= 960px) {
    .contact-split { grid-template-columns: 1fr 420px; }
  }

  .contact-info-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
  }

  .contact-info-card h3 {
    font-size: var(--text-xl);
    margin-block-end: var(--space-md);
  }

  .contact-detail {
    display: flex;
    gap: var(--space-sm);
    align-items: flex-start;
    padding-block: var(--space-sm);
    border-block-end: 1px solid var(--color-border);
  }

  .contact-detail:last-of-type { border-block-end: none; }

  .contact-detail__icon {
    font-size: var(--text-xl);
    flex-shrink: 0;
    color: var(--color-accent);
    margin-block-start: 2px;
  }

  .contact-detail__label {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--color-muted);
    margin-block-end: 2px;
  }

  .contact-detail__value {
    font-size: var(--text-base);
    font-weight: 600;
  }

  /* ── Map embed ────────────────────────────────────────────── */
  .map-wrap {
    border-radius: var(--radius-md);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--color-border);
  }

  .map-wrap iframe {
    inline-size: 100%;
    block-size: 100%;
    border: none;
  }

  /* ── About page ───────────────────────────────────────────── */
  .about-split {
    display: grid;
    gap: var(--space-xl);
    align-items: center;
  }

  @media (width >= 960px) {
    .about-split { grid-template-columns: 1fr 1fr; }
    .about-split--reverse { direction: rtl; }
    .about-split--reverse > * { direction: ltr; }
  }

  .about-img-wrap {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4 / 3;
  }

  .about-img-wrap img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }

  .about-img-badge {
    position: absolute;
    inset-block-end: var(--space-md);
    inset-inline-start: var(--space-md);
    background: var(--grad-gold);
    color: var(--color-dark);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: var(--text-lg);
    box-shadow: var(--shadow-md);
  }

  .about-img-badge small {
    display: block;
    font-size: var(--text-xs);
    font-weight: 400;
    opacity: 0.8;
  }

  /* ── Mission / Values ─────────────────────────────────────── */
  .values-grid {
    display: grid;
    gap: var(--space-md);
  }

  @media (width >= 640px) {
    .values-grid { grid-template-columns: repeat(2, 1fr); }
  }

  .value-item {
    padding: var(--space-lg);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    border-inline-start: 4px solid var(--color-accent);
  }

  .value-item h3 {
    font-size: var(--text-lg);
    margin-block-end: var(--space-xs);
  }

  .value-item p {
    font-size: var(--text-sm);
    color: var(--color-muted);
    max-inline-size: 100%;
  }

  /* ── Blog / Post cards ─────────────────────────────────────── */
  .post-card {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--normal) var(--ease),
                transform var(--normal) var(--ease);
  }

  .post-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
  }

  .post-card__img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }

  .post-card__img img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform var(--normal) var(--ease);
  }

  .post-card:hover .post-card__img img { transform: scale(1.04); }

  .post-card__body {
    padding: var(--space-md);
  }

  .post-card__cat {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--color-accent);
    margin-block-end: var(--space-xs);
  }

  .post-card__title {
    font-size: var(--text-lg);
    margin-block-end: var(--space-xs);
  }

  .post-card__title a {
    color: inherit;
    text-decoration: none;
  }
  .post-card__title a:hover { color: var(--color-primary); }

  .post-card__meta {
    font-size: var(--text-xs);
    color: var(--color-muted);
    display: flex;
    gap: var(--space-md);
    margin-block-start: var(--space-sm);
  }

  /* ── 404 page ─────────────────────────────────────────────── */
  .error-404-wrap {
    text-align: center;
    padding-block: var(--space-2xl);
  }

  .error-404-wrap .error-code {
    font-size: clamp(6rem, 20vw, 14rem);
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--color-surface-2);
    line-height: 1;
    margin-block-end: var(--space-md);
  }

  .error-404-wrap h1 {
    font-size: var(--text-3xl);
    margin-block-end: var(--space-sm);
  }

  .error-404-wrap p {
    font-size: var(--text-lg);
    color: var(--color-muted);
    margin-inline: auto;
    margin-block-end: var(--space-lg);
  }

  /* ── Advantages accordion ────────────────────────────────── */
  .adv-accordion {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
  }

  .adv-accordion details {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    transition: border-color var(--fast) var(--ease),
                box-shadow var(--fast) var(--ease);
  }

  .adv-accordion details[open] {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
  }

  .adv-accordion summary {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-dark);
    cursor: pointer;
    list-style: none;
    user-select: none;
  }

  .adv-accordion summary::-webkit-details-marker { display: none; }
  .adv-accordion summary::after { display: none; }

  .adv-accordion .adv-icon {
    flex-shrink: 0;
    font-size: var(--text-lg);
    color: var(--color-accent);
  }

  .adv-accordion .adv-toggle {
    margin-inline-start: auto;
    font-size: var(--text-xl);
    font-weight: 300;
    color: var(--color-muted);
    line-height: 1;
    flex-shrink: 0;
    transition: transform var(--fast) var(--ease);
  }

  .adv-accordion details[open] .adv-toggle {
    transform: rotate(45deg);
  }

  .adv-accordion .details-body {
    padding: 0 var(--space-lg) var(--space-md) calc(var(--space-lg) + var(--text-lg) + var(--space-sm));
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: 1.75;
    border-block-start: 1px solid var(--color-border);
    padding-block-start: var(--space-sm);
  }

  /* ── Included checklist 2-col ─────────────────────────────── */
  .included-grid {
    display: grid;
    gap: var(--space-sm);
  }

  @media (width >= 560px) {
    .included-grid { grid-template-columns: repeat(2, 1fr); }
  }

  .included-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-surface);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    border-inline-start: 3px solid var(--color-primary);
  }

  .included-item::before {
    content: '✓';
    color: var(--color-primary);
    font-weight: 700;
    flex-shrink: 0;
    margin-block-start: 1px;
  }

  /* ── Minimal CTA block ────────────────────────────────────── */
  .cta-block {
    background: var(--color-dark);
    border-radius: var(--radius-lg);
    padding: var(--space-xl) var(--space-lg);
    text-align: center;
  }

  .cta-block h2 {
    color: var(--color-white);
    font-size: var(--text-2xl);
    margin-block-end: var(--space-sm);
  }

  .cta-block p {
    color: rgba(255,255,255,0.72);
    font-size: var(--text-base);
    max-inline-size: 50ch;
    margin-inline: auto;
    margin-block-end: var(--space-lg);
  }

  .cta-block a:not(.btn) { color: var(--color-accent); }
  .cta-block a:not(.btn):hover { color: var(--color-accent-lt); }

  .cta-block__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
  }

  /* ── Closing pre-CTA paragraph ────────────────────────────── */
  .closing-section {
    max-inline-size: 68ch;
    margin-inline: auto;
    text-align: center;
    padding-block: var(--space-xl);
  }

  .closing-section p {
    font-size: var(--text-lg);
    color: var(--color-muted);
    max-inline-size: 100%;
    line-height: 1.75;
  }

  /* ── Area map grid ────────────────────────────────────────── */
  .area-map-grid {
    display: grid;
    gap: var(--space-xl);
    align-items: start;
  }

  @media (width >= 900px) {
    .area-map-grid { grid-template-columns: 1fr 1fr; }
  }

  /* ── Pricing strip ────────────────────────────────────────── */
  .price-strip {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    align-items: center;
    background: var(--color-surface);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
  }

  .price-strip__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
  }

  .price-strip__label {
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--color-muted);
  }

  .price-strip__value {
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--color-primary);
    font-family: var(--font-heading);
  }

  .price-strip__value small {
    font-size: var(--text-sm);
    font-weight: 400;
    color: var(--color-muted);
  }

  .price-strip__divider {
    inline-size: 1px;
    block-size: 40px;
    background: var(--color-border);
    flex-shrink: 0;
  }

  /* ── Credentials bar (inner pages) ───────────────────────── */
  .creds-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-lg);
    padding: var(--space-md) 0;
    align-items: center;
  }

  .cred-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-dark);
  }

  .cred-pill::before {
    content: '✓';
    color: var(--color-primary);
    font-weight: 700;
  }

  /* ── Hero details ───────────────────────────────────────────── */
  .hero-details { margin-block-start: var(--space-md); max-inline-size: 56ch; }

  .hero-details summary {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    cursor: pointer;
    list-style: none;
    user-select: none;
  }

  .hero-details summary::-webkit-details-marker { display: none; }

  .hero-details summary::after {
    content: '+';
    display: inline-block;
    margin-inline-start: var(--space-xs);
    transition: transform var(--fast) var(--ease);
  }

  .hero-details[open] summary::after { transform: rotate(45deg); }

  .hero-details__body {
    margin-block-start: var(--space-md);
    color: rgba(255,255,255,0.8);
    font-size: var(--text-sm);
    line-height: 1.75;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-block-size: 260px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.2) transparent;
  }

  .hero-details__body p { max-inline-size: 56ch; }

  .hero-creds { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block-start: var(--space-xs); }

  .hcred {
    padding: 3px var(--space-sm);
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-white);
  }

  /* ── Homepage hero split ─────────────────────────────────────── */
  .page-hero--split .page-hero__inner {
    display: grid;
    gap: var(--space-xl);
    align-items: center;
  }

  @media (width >= 960px) {
    .page-hero--split .page-hero__inner { grid-template-columns: 1fr 420px; }
  }

  .page-hero__form-card {
    background: rgba(255,255,255,0.97);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-lg);
  }

  .page-hero__form-card h2 { font-size: var(--text-xl); color: var(--color-dark); margin-block-end: var(--space-xs); }

  .page-hero__form-card p { font-size: var(--text-sm); color: var(--color-muted); margin-block-end: var(--space-md); max-inline-size: 100%; }

  /* ── Service cards ───────────────────────────────────────────── */
  .services-grid {
    display: grid;
    gap: 1px;
    background-color: var(--color-border);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  @media (width >= 560px) { .services-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (width >= 900px)  { .services-grid { grid-template-columns: repeat(3, 1fr); } }

  .service-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-lg);
    background: var(--color-surface);
    border-radius: 0;
    border: none;
    text-decoration: none;
    transition: background-color var(--fast) var(--ease);
    overflow: hidden;
  }

  .service-card:hover { background-color: var(--color-surface-2); }

  /* Image slot — bleed to card edges */
  .service-card__img-wrap {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-surface-2);
    margin-block-start: calc(-1 * var(--space-lg));
    margin-inline: calc(-1 * var(--space-lg));
    margin-block-end: var(--space-sm);
  }
  .service-card__img-wrap img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--normal) var(--ease);
  }
  .service-card:hover .service-card__img-wrap img { transform: scale(1.04); }

  .service-card__icon { font-size: 2rem; line-height: 1; }
  .service-card h3 { font-size: var(--text-base); color: var(--color-dark); margin: 0; }
  .service-card p  { font-size: var(--text-sm); color: var(--color-muted); margin: 0; flex: 1; max-inline-size: 100%; }
  .service-card__cta { font-size: var(--text-sm); font-weight: 600; color: var(--color-primary); }

  /* ── Fleet link cards ────────────────────────────────────────── */
  .fleet-links-grid {
    display: grid;
    gap: 1px;
    background-color: var(--color-border);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  @media (width >= 560px) { .fleet-links-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (width >= 900px)  { .fleet-links-grid { grid-template-columns: repeat(4, 1fr); } }

  .fleet-link-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md);
    background: var(--color-surface);
    border-radius: 0;
    border: none;
    text-decoration: none;
    overflow: hidden;
    transition: background-color var(--fast) var(--ease);
  }

  .fleet-link-card:hover { background-color: var(--color-surface-2); }

  /* Image slot — bleed to card edges */
  .fleet-link-card__img-wrap {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--color-surface-2);
    margin-block-start: calc(-1 * var(--space-md));
    margin-inline: calc(-1 * var(--space-md));
    margin-block-end: var(--space-xs);
  }
  .fleet-link-card__img-wrap img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--normal) var(--ease);
  }
  .fleet-link-card:hover .fleet-link-card__img-wrap img { transform: scale(1.04); }

  .fleet-link-card h3 { font-size: var(--text-base); color: var(--color-dark); margin: 0; }
  .fleet-link-card p  { font-size: var(--text-sm); color: var(--color-muted); margin: 0; max-inline-size: 100%; }
  .fleet-link-card__price { font-size: var(--text-sm); font-weight: 700; color: var(--color-primary); }

  /* ── Editorial block ─────────────────────────────────────────── */
  .editorial-block {
    background: var(--color-dark);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    border-inline-start: 4px solid var(--color-accent);
  }

  .editorial-block h3 { font-size: var(--text-xs); color: var(--color-accent); text-transform: uppercase; letter-spacing: 0.07em; margin-block-end: var(--space-sm); }
  .editorial-block p  { font-size: var(--text-sm); color: rgba(255,255,255,0.8); line-height: 1.75; max-inline-size: 100%; }
  .editorial-block a:not(.btn) { color: var(--color-accent); }
  .editorial-block a:not(.btn):hover { color: var(--color-accent-lt); }

  /* ── Models grid ─────────────────────────────────────────────── */
  .models-grid { display: grid; gap: var(--space-md); }

  @media (width >= 560px) { .models-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (width >= 900px)  { .models-grid { grid-template-columns: repeat(3, 1fr); } }

  .model-card { padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-md); border-block-start: 3px solid var(--color-accent); box-shadow: var(--shadow-sm); }
  .model-card h3 { font-size: var(--text-base); margin-block-end: var(--space-xs); }
  .model-card p  { font-size: var(--text-sm); color: var(--color-muted); max-inline-size: 100%; }

  /* ── Timeline ────────────────────────────────────────────────── */
  .timeline-steps { display: flex; flex-direction: column; position: relative; }

  .timeline-steps::before {
    content: '';
    position: absolute;
    inset-inline-start: 19px;
    inset-block: 0;
    inline-size: 2px;
    background: var(--color-border);
  }

  .timeline-step { display: flex; gap: var(--space-md); padding-block-end: var(--space-lg); position: relative; }

  .timeline-step__num {
    flex-shrink: 0;
    inline-size: 40px;
    block-size: 40px;
    border-radius: var(--radius-full);
    background: var(--color-primary);
    color: var(--color-white);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: var(--text-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }

  .timeline-step__phase { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--color-accent); margin-block-end: 2px; }
  .timeline-step__title { font-family: var(--font-heading); font-size: var(--text-base); font-weight: 700; color: var(--color-dark); margin-block-end: var(--space-xs); }
  .timeline-step__body { padding-block-start: 8px; }
  .timeline-step__body p { font-size: var(--text-sm); color: var(--color-muted); max-inline-size: 100%; }

  /* ── Expect list ─────────────────────────────────────────────── */
  .expect-list { display: flex; flex-direction: column; gap: var(--space-sm); }

  .expect-item { padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-md); border-inline-start: 3px solid var(--color-primary); }
  .expect-item strong { display: block; font-size: var(--text-sm); margin-block-end: 4px; color: var(--color-dark); }
  .expect-item span   { font-size: var(--text-sm); color: var(--color-muted); }

  /* ── What to Expect grid ────────────────────────────────────────── */
  .expect-grid {
    display: grid;
    gap: var(--space-md);
  }
  @media (width >= 560px) { .expect-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (width >= 900px)  { .expect-grid { grid-template-columns: repeat(3, 1fr); } }

  .expect-item {
    padding: var(--space-md) var(--space-lg);
    background: var(--color-surface);
    border-radius: var(--radius-md);
    border-inline-start: 3px solid var(--color-primary);
    box-shadow: var(--shadow-sm);
  }
  .expect-item strong { display: block; font-size: var(--text-sm); font-weight: 700; margin-block-end: 4px; color: var(--color-dark); }
  .expect-item span   { font-size: var(--text-sm); color: var(--color-muted); line-height: 1.6; }

  /* ── Scroll reveal ────────────────────────────────────────────── */
  .reveal {
    opacity: 1;
    transform: translateY(0);
  }

  .js .reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
  }

  .js .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .js .reveal-delay-1 { transition-delay: 0.1s; }
  .js .reveal-delay-2 { transition-delay: 0.2s; }
  .js .reveal-delay-3 { transition-delay: 0.3s; }
}
