/* ==========================================================================
   STAY IN YOUR LANE™
   Premium Parking Lot Striping Website Template
   Visual System:
   PARKING GRID × SAFETY STENCIL × FRESH PAINT × INDUSTRIAL EDITORIAL
   ========================================================================== */


/* ==========================================================================
   01. ROOT
   ========================================================================== */

:root {
    --asphalt: #171816;
    --asphalt-soft: #232522;
    --asphalt-light: #323430;

    --paper: #f3f0e6;
    --paper-light: #fbf9f3;
    --paper-deep: #d9d4c7;

    --white: #fffef9;
    --traffic-white: #f7f5ec;

    --yellow: #f2c318;
    --yellow-dark: #c89b00;

    --blue: #2469c8;
    --blue-dark: #16478d;

    --red: #d3462f;
    --red-dark: #9c2e20;

    --ink: #151614;
    --ink-soft: #353631;
    --muted: #77786f;

    --line: rgba(21, 22, 20, 0.16);
    --line-light: rgba(255, 255, 255, 0.18);

    --font-display:
        "Arial Narrow",
        "Roboto Condensed",
        "Helvetica Neue Condensed",
        Impact,
        sans-serif;

    --font-body:
        "Helvetica Neue",
        Helvetica,
        Arial,
        sans-serif;

    --font-mono:
        "Courier New",
        Courier,
        monospace;

    --shell:
        min(1480px, calc(100vw - 5rem));

    --section-space:
        clamp(5.5rem, 8vw, 9rem);

    --radius-small:
        0.35rem;

    --shadow:
        0 1.8rem 5rem rgba(0, 0, 0, 0.18);
}


/* ==========================================================================
   02. RESET
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 6rem;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    border-radius: 0;
}

button,
a,
summary,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

button {
    cursor: pointer;
}

h1,
h2,
h3,
p,
figure,
blockquote {
    margin-top: 0;
}

h1,
h2,
h3 {
    text-wrap: balance;
}

p {
    text-wrap: pretty;
}

::selection {
    background: var(--yellow);
    color: var(--ink);
}


/* ==========================================================================
   03. ACCESSIBILITY
   ========================================================================== */

.skip-link {
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 9999;
    transform: translateY(-200%);
    padding: 0.85rem 1.1rem;
    background: var(--yellow);
    color: var(--ink);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.skip-link:focus {
    transform: translateY(0);
}

:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 4px;
}


/* ==========================================================================
   04. GLOBAL LAYOUT
   ========================================================================== */

.site-shell {
    width: var(--shell);
    margin-inline: auto;
}

.section {
    position: relative;
    padding-block: var(--section-space);
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-bottom: 1.15rem;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.13em;
}

.eyebrow::before {
    content: "";
    width: 2.5rem;
    height: 0.2rem;
    background: currentColor;
}

.section-heading {
    max-width: 68rem;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.section-heading--split {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(16rem, 0.55fr);
    gap: clamp(3rem, 6vw, 7rem);
    max-width: none;
    align-items: end;
}

.section-heading h2,
.closing-cta h2,
.quote__intro h2 {
    margin-bottom: 0;
    font-family: var(--font-display);
    font-size: clamp(3.3rem, 7vw, 7rem);
    font-weight: 900;
    line-height: 0.86;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.section-heading h2 em,
.closing-cta h2 em,
.quote__intro h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.section-heading__intro {
    max-width: 34rem;
    margin-bottom: 0.2rem;
    color: var(--muted);
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    line-height: 1.6;
}

.fine-print {
    max-width: 46rem;
    margin: 2rem 0 0;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.55;
}


/* ==========================================================================
   05. BUTTONS
   ========================================================================== */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    min-height: 3.4rem;
    padding: 0.95rem 1.35rem;
    border: 2px solid transparent;
    background: transparent;
    font-family: var(--font-mono);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.button span {
    font-size: 1.1rem;
    line-height: 0;
}

.button:hover {
    transform: translateY(-2px);
}

.button--primary {
    background: var(--yellow);
    color: var(--ink);
    border-color: var(--yellow);
}

.button--primary:hover {
    background: var(--white);
    border-color: var(--white);
}

.button--ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.5);
}

.button--ghost:hover {
    background: var(--white);
    color: var(--ink);
    border-color: var(--white);
}

.button--header {
    min-height: 2.85rem;
    padding: 0.75rem 1rem;
    background: var(--yellow);
    color: var(--ink);
    border-color: var(--yellow);
}

.button--header:hover {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
}

.button--light {
    background: var(--paper-light);
    color: var(--ink);
    border-color: var(--paper-light);
}

.button--light:hover {
    background: var(--yellow);
    border-color: var(--yellow);
}

.button--full {
    width: 100%;
}


/* ==========================================================================
   06. HEADER
   ========================================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(21, 22, 20, 0.15);
    background:
        linear-gradient(
            90deg,
            var(--paper-light) 0%,
            var(--paper-light) 66%,
            var(--yellow) 66%,
            var(--yellow) 100%
        );
}

.site-header__inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    min-height: 5rem;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    flex-shrink: 0;
}

.brand__mark {
    display: grid;
    place-items: center;
    width: 3.2rem;
    aspect-ratio: 1;
    background: var(--ink);
    color: var(--white);
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
}

.brand__copy {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.brand__name {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.brand__tagline {
    margin-top: 0.22rem;
    color: var(--muted);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1.8vw, 2rem);
}

.site-nav > a:not(.button) {
    position: relative;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.site-nav > a:not(.button)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.35rem;
    width: 100%;
    height: 0.18rem;
    background: var(--ink);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.site-nav > a:not(.button):hover::after {
    transform: scaleX(1);
}

.nav-toggle {
    display: none;
    align-items: center;
    gap: 0.8rem;
    border: 0;
    background: none;
    color: var(--ink);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.nav-toggle__icon {
    display: grid;
    gap: 0.25rem;
    width: 1.5rem;
}

.nav-toggle__icon span {
    display: block;
    height: 2px;
    background: currentColor;
}


/* ==========================================================================
   07. HERO
   ========================================================================== */

.hero {
    position: relative;
    min-height: min(880px, calc(100vh - 5rem));
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.hero::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 6%;
    width: 0.55rem;
    height: 100%;
    background: var(--traffic-white);
    opacity: 0.86;
}

.hero::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: calc(6% + 2rem);
    width: 0.3rem;
    height: 100%;
    background: var(--yellow);
    opacity: 0.92;
}

.hero__media {
    position: absolute;
    inset: 0;
}

.hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter:
        saturate(0.82)
        contrast(1.04)
        brightness(0.78);
}

.hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(13, 14, 13, 0.95) 0%,
            rgba(13, 14, 13, 0.88) 30%,
            rgba(13, 14, 13, 0.44) 62%,
            rgba(13, 14, 13, 0.18) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.06) 0%,
            rgba(0, 0, 0, 0.42) 100%
        );
}

.hero__content {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(15rem, 0.6fr);
    align-items: end;
    gap: 4rem;
    min-height: min(800px, calc(100vh - 9rem));
    padding-top: clamp(5rem, 10vh, 9rem);
    padding-bottom: 7rem;
}

.hero__copy {
    max-width: 64rem;
    padding-left: clamp(1rem, 5vw, 6rem);
}

.hero .eyebrow {
    color: var(--yellow);
}

.hero__title {
    margin-bottom: 2rem;
    font-family: var(--font-display);
    font-size: clamp(4.8rem, 10vw, 10.5rem);
    font-weight: 900;
    line-height: 0.78;
    letter-spacing: -0.07em;
    text-transform: uppercase;
}

.hero__title span,
.hero__title em {
    display: block;
}

.hero__title em {
    color: var(--yellow);
    font-style: normal;
}

.hero__intro {
    max-width: 47rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: clamp(1rem, 1.35vw, 1.25rem);
    line-height: 1.6;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.hero__stamp {
    justify-self: end;
    align-self: center;
    width: min(100%, 18rem);
    padding: 1.4rem;
    border: 0.32rem solid var(--yellow);
    background: rgba(15, 16, 15, 0.68);
    transform: rotate(3deg);
    text-align: center;
    text-transform: uppercase;
    backdrop-filter: blur(4px);
}

.hero__stamp span,
.hero__stamp strong {
    display: block;
}

.hero__stamp span {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.hero__stamp strong {
    margin-block: 0.25rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -0.04em;
}

.hero__service-strip {
    position: absolute;
    z-index: 6;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 4.2rem;
    background: var(--yellow);
    color: var(--ink);
}

.hero__service-strip span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border-right: 1px solid rgba(21, 22, 20, 0.25);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}


/* ==========================================================================
   08. SERVICES / PARKING GRID
   ========================================================================== */

.services {
    overflow: hidden;
    background: var(--paper-light);
}

.services::before {
    content: "";
    position: absolute;
    top: 0;
    right: -8vw;
    width: 26vw;
    height: 100%;
    border-left: 1.4rem solid rgba(21, 22, 20, 0.05);
    border-right: 0.4rem solid rgba(21, 22, 20, 0.05);
    transform: skewX(-12deg);
}

.parking-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 0.65rem solid var(--ink);
    border-bottom: 0.65rem solid var(--ink);
    background: var(--asphalt);
}

.parking-grid::before {
    content: "PARK";
    position: absolute;
    z-index: 1;
    right: 1.5rem;
    bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.04);
    font-family: var(--font-display);
    font-size: clamp(8rem, 19vw, 20rem);
    font-weight: 900;
    line-height: 0.8;
    letter-spacing: -0.05em;
}

.parking-space {
    position: relative;
    z-index: 2;
    min-height: 24rem;
    padding: 2rem 2rem 2.4rem;
    border-right: 0.32rem solid var(--traffic-white);
    border-bottom: 0.32rem solid var(--traffic-white);
    background: var(--paper);
    color: var(--ink);
}

.parking-space:nth-child(3n) {
    border-right: 0;
}

.parking-space:nth-last-child(-n + 3) {
    border-bottom: 0;
}

.parking-space::before {
    content: "";
    position: absolute;
    left: 1.4rem;
    top: 1.4rem;
    width: 4.5rem;
    height: 0.3rem;
    background: var(--yellow);
}

.parking-space__number {
    display: block;
    margin-bottom: 5rem;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.parking-space__label {
    margin-bottom: 0.45rem;
    color: var(--muted);
    font-family: var(--font-mono);
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.parking-space h3 {
    margin-bottom: 1.3rem;
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 4.2vw, 4.7rem);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.parking-space p:last-child {
    max-width: 27rem;
    margin-bottom: 0;
    font-size: 0.94rem;
    line-height: 1.6;
}

.parking-space--dark {
    background:
        linear-gradient(
            rgba(255, 255, 255, 0.015),
            rgba(255, 255, 255, 0.015)
        ),
        var(--asphalt-soft);
    color: var(--white);
}

.parking-space--dark .parking-space__label {
    color: rgba(255, 255, 255, 0.52);
}

.parking-space--blue {
    background: var(--blue);
    color: var(--white);
}

.parking-space--blue::before {
    background: var(--white);
}

.parking-space--blue .parking-space__label {
    color: rgba(255, 255, 255, 0.68);
}

.parking-space--red {
    background: var(--red);
    color: var(--white);
}

.parking-space--red::before {
    background: var(--white);
}

.parking-space--red .parking-space__label {
    color: rgba(255, 255, 255, 0.68);
}


/* ==========================================================================
   09. BEFORE + AFTER
   ========================================================================== */

.results {
    overflow: hidden;
    background: var(--yellow);
}

.results::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        repeating-linear-gradient(
            135deg,
            transparent 0,
            transparent 4rem,
            rgba(21, 22, 20, 0.05) 4rem,
            rgba(21, 22, 20, 0.05) 4.25rem
        );
}

.results .section-heading {
    position: relative;
    z-index: 2;
}

.results .section-heading h2 em {
    color: var(--ink);
}

.comparison {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);
    align-items: center;
    gap: clamp(1rem, 2vw, 2rem);
}

.comparison__panel {
    margin: 0;
}

.comparison__image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 11;
    background: var(--asphalt);
    box-shadow: var(--shadow);
}

.comparison__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.comparison__panel--before .comparison__image {
    filter:
        grayscale(0.65)
        contrast(0.92)
        brightness(0.86);
}

.comparison__badge {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    padding: 0.7rem 0.85rem;
    background: var(--ink);
    color: var(--white);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.11em;
}

.comparison__panel--after .comparison__badge {
    background: var(--yellow);
    color: var(--ink);
}

.comparison figcaption {
    max-width: 39rem;
    margin-top: 1.2rem;
    font-size: 0.92rem;
    line-height: 1.6;
}

.comparison__arrow {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    background: var(--ink);
    color: var(--yellow);
    font-size: 2.2rem;
    font-weight: 700;
}


/* ==========================================================================
   10. PROCESS
   ========================================================================== */

.process {
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.process::before {
    content: "";
    position: absolute;
    top: 0;
    left: 11%;
    width: 0.42rem;
    height: 100%;
    background: rgba(255, 255, 255, 0.12);
}

.process .section-heading__intro {
    color: rgba(255, 255, 255, 0.56);
}

.process-route {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.process-route::before {
    content: "";
    position: absolute;
    left: 5.2rem;
    top: 0;
    bottom: 0;
    width: 0.3rem;
    background: var(--traffic-white);
}

.process-step {
    position: relative;
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr);
    min-height: 14rem;
    border-top: 1px solid var(--line-light);
}

.process-step:last-child {
    border-bottom: 1px solid var(--line-light);
}

.process-step__number {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 6.4rem;
    height: 6.4rem;
    align-self: center;
    background: var(--yellow);
    color: var(--ink);
    border: 0.35rem solid var(--asphalt);
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1;
}

.process-step__content {
    align-self: center;
    padding: 2.7rem 0;
}

.process-step__label {
    margin-bottom: 0.5rem;
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.process-step h3 {
    max-width: 54rem;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 4vw, 4.4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.process-step__content > p:last-child {
    max-width: 46rem;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.65);
}


/* ==========================================================================
   11. INDUSTRIES
   ========================================================================== */

.industries {
    background: var(--paper-light);
}

.industry-list {
    border-top: 0.4rem solid var(--ink);
}

.industry-list__item {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    align-items: center;
    min-height: 6.8rem;
    border-bottom: 1px solid var(--line);
    transition:
        background-color 180ms ease,
        padding-left 180ms ease;
}

.industry-list__item:hover {
    padding-left: 1rem;
    background: var(--yellow);
}

.industry-list__item span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
}

.industry-list__item strong {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 4.1rem);
    font-weight: 900;
    line-height: 0.9;
    text-transform: uppercase;
    letter-spacing: -0.04em;
}


/* ==========================================================================
   12. QUOTE
   ========================================================================== */

.quote {
    overflow: hidden;
    background: var(--yellow);
}

.quote::before {
    content: "QUOTE";
    position: absolute;
    left: -2rem;
    bottom: -3rem;
    color: rgba(21, 22, 20, 0.055);
    font-family: var(--font-display);
    font-size: clamp(12rem, 27vw, 31rem);
    font-weight: 900;
    line-height: 0.7;
    letter-spacing: -0.08em;
    text-transform: uppercase;
    pointer-events: none;
}

.quote__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(30rem, 1.2fr);
    gap: clamp(4rem, 8vw, 9rem);
    align-items: start;
}

.quote__intro {
    position: sticky;
    top: 8rem;
}

.quote__intro h2 em {
    color: var(--ink);
}

.quote__intro > p:not(.eyebrow) {
    max-width: 35rem;
    margin-top: 2rem;
    font-size: 1.05rem;
}

.quote__notes {
    margin-top: 3rem;
    border-top: 2px solid var(--ink);
}

.quote-note {
    display: grid;
    grid-template-columns: 8rem 1fr;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(21, 22, 20, 0.35);
}

.quote-note span {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.quote-note strong {
    font-size: 0.92rem;
}

.quote__form-wrap {
    background: var(--paper-light);
    box-shadow: var(--shadow);
}

.quote-form {
    padding: clamp(1.5rem, 4vw, 3.5rem);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.form-field {
    display: grid;
    gap: 0.45rem;
}

.form-field--wide {
    grid-column: 1 / -1;
}

.form-field label {
    font-family: var(--font-mono);
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.form-field input,
.form-field select,
.form-field textarea {
    width: 100%;
    border: 1px solid rgba(21, 22, 20, 0.25);
    background: var(--white);
    color: var(--ink);
    padding: 0.9rem 1rem;
    outline: none;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

.form-field input,
.form-field select {
    min-height: 3.4rem;
}

.form-field textarea {
    min-height: 10rem;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--ink);
    box-shadow: 0 0 0 2px var(--ink);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
    color: #9b9b93;
}

.form-disclaimer {
    margin: 1.5rem 0;
    color: var(--muted);
    font-size: 0.72rem;
    line-height: 1.5;
}

.honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    white-space: nowrap !important;
}


/* ==========================================================================
   13. FAQ
   ========================================================================== */

.faq {
    background: var(--paper);
}

.faq-list {
    border-top: 0.45rem solid var(--ink);
}

.faq-item {
    border-bottom: 1px solid var(--line);
}

.faq-item summary {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    min-height: 6rem;
    padding: 1.6rem 4rem 1.6rem 0;
    list-style: none;
    cursor: pointer;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 3.1rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.035em;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 0;
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    background: var(--yellow);
    color: var(--ink);
    font-family: var(--font-mono);
    font-size: 1.5rem;
    transition: transform 180ms ease;
}

.faq-item[open] summary::after {
    transform: rotate(45deg);
}

.faq-item__answer {
    padding: 0 4rem 2rem 0;
}

.faq-item__answer p {
    max-width: 56rem;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.65;
}


/* ==========================================================================
   14. CLOSING CTA
   ========================================================================== */

.closing-cta {
    position: relative;
    overflow: hidden;
    padding-block: clamp(4rem, 7vw, 7rem);
    background: var(--red);
    color: var(--white);
}

.closing-cta::before,
.closing-cta::after {
    content: "";
    position: absolute;
    top: -20%;
    width: 0.55rem;
    height: 140%;
    background: var(--traffic-white);
    transform: rotate(24deg);
    opacity: 0.5;
}

.closing-cta::before {
    right: 12%;
}

.closing-cta::after {
    right: 16%;
}

.closing-cta__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 3rem;
}

.closing-cta .eyebrow {
    color: var(--white);
}

.closing-cta h2 {
    max-width: 60rem;
}

.closing-cta h2 em {
    color: var(--white);
}


/* ==========================================================================
   15. FOOTER
   ========================================================================== */

.site-footer {
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.site-footer__main {
    display: grid;
    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(10rem, 0.45fr)
        minmax(12rem, 0.55fr);
    gap: clamp(3rem, 7vw, 8rem);
    padding-block: 5rem;
}

.brand--footer .brand__mark {
    background: var(--yellow);
    color: var(--ink);
}

.brand--footer .brand__tagline {
    color: rgba(255, 255, 255, 0.5);
}

.site-footer__brand > p {
    max-width: 34rem;
    margin: 1.5rem 0 0;
    color: rgba(255, 255, 255, 0.58);
    line-height: 1.65;
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7rem;
}

.site-footer__column a,
.site-footer__column span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.88rem;
}

.site-footer__column a:hover {
    color: var(--yellow);
}

.site-footer__label {
    margin-bottom: 0.5rem;
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.site-footer__legal {
    display: grid;
    grid-template-columns: 0.45fr 1.55fr;
    gap: 4rem;
    padding-block: 1.5rem;
    border-top: 1px solid var(--line-light);
    color: rgba(255, 255, 255, 0.44);
    font-size: 0.7rem;
    line-height: 1.55;
}

.site-footer__legal p {
    margin-bottom: 0;
}

.site-footer__punchline {
    margin: 0;
    padding: 2.6rem 0 2rem;
    border-top: 1px solid var(--line-light);
    color: rgba(255, 255, 255, 0.08);
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 9vw, 9rem);
    font-weight: 900;
    line-height: 0.8;
    letter-spacing: -0.06em;
    text-transform: uppercase;
}


/* ==========================================================================
   16. LARGE DESKTOP
   ========================================================================== */

@media (min-width: 1700px) {

    :root {
        --shell:
            min(1580px, calc(100vw - 8rem));
    }

    .hero__copy {
        padding-left: 7rem;
    }

    .hero__content {
        min-height: 820px;
    }

}


/* ==========================================================================
   17. DESKTOP / SMALL LAPTOP
   ========================================================================== */

@media (max-width: 1180px) {

    :root {
        --shell:
            min(100% - 3rem, 1180px);
    }

    .site-header {
        background: var(--paper-light);
    }

    .site-nav {
        gap: 1rem;
    }

    .site-nav > a:not(.button) {
        font-size: 0.64rem;
    }

    .hero__content {
        grid-template-columns:
            minmax(0, 1.4fr)
            minmax(12rem, 0.6fr);
    }

    .hero__copy {
        padding-left: 2rem;
    }

    .parking-space {
        min-height: 22rem;
        padding-inline: 1.5rem;
    }

    .quote__layout {
        grid-template-columns:
            minmax(0, 0.8fr)
            minmax(27rem, 1.2fr);
        gap: 4rem;
    }

}


/* ==========================================================================
   18. TABLET / MOBILE NAV
   ========================================================================== */

@media (max-width: 900px) {

    :root {
        --shell:
            min(100% - 2rem, 860px);

        --section-space:
            5.5rem;
    }

    html {
        scroll-padding-top: 4.6rem;
    }

    .site-header__inner {
        position: relative;
        min-height: 4.6rem;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .site-nav {
        position: absolute;
        top: 100%;
        left: -1rem;
        right: -1rem;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0.7rem 1rem 1rem;
        border-top: 1px solid var(--line);
        background: var(--paper-light);
        box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.16);
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav > a:not(.button) {
        padding: 1rem 0;
        border-bottom: 1px solid var(--line);
        font-size: 0.72rem;
    }

    .site-nav > a:not(.button)::after {
        display: none;
    }

    .button--header {
        margin-top: 0.9rem;
    }

    .hero {
        min-height: auto;
    }

    .hero::before,
    .hero::after {
        display: none;
    }

    .hero__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(13, 14, 13, 0.72) 0%,
                rgba(13, 14, 13, 0.92) 75%,
                rgba(13, 14, 13, 0.98) 100%
            );
    }

    .hero__content {
        grid-template-columns: 1fr;
        gap: 2rem;
        min-height: 46rem;
        padding-top: 7rem;
        padding-bottom: 8rem;
    }

    .hero__copy {
        padding-left: 0;
    }

    .hero__stamp {
        justify-self: start;
        width: 15rem;
        transform: rotate(-2deg);
    }

    .hero__service-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero__service-strip span {
        border-bottom: 1px solid rgba(21, 22, 20, 0.25);
    }

    .section-heading--split {
        grid-template-columns: 1fr;
        gap: 1.8rem;
    }

    .parking-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .parking-space:nth-child(3n) {
        border-right: 0.32rem solid var(--traffic-white);
    }

    .parking-space:nth-child(2n) {
        border-right: 0;
    }

    .parking-space:nth-last-child(-n + 3) {
        border-bottom: 0.32rem solid var(--traffic-white);
    }

    .parking-space:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .comparison {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .comparison__arrow {
        transform: rotate(90deg);
        justify-self: center;
    }

    .process::before {
        display: none;
    }

    .process-route::before {
        left: 2.8rem;
    }

    .process-step {
        grid-template-columns: 6.5rem 1fr;
    }

    .process-step__number {
        width: 5.3rem;
        height: 5.3rem;
        font-size: 2rem;
    }

    .quote__layout {
        grid-template-columns: 1fr;
    }

    .quote__intro {
        position: relative;
        top: auto;
    }

    .closing-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-footer__main {
        grid-template-columns: 1fr 1fr;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__legal {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

}


/* ==========================================================================
   19. PHONE
   ========================================================================== */

@media (max-width: 640px) {

    :root {
        --shell:
            calc(100% - 1.4rem);

        --section-space:
            4.5rem;
    }

    .brand__mark {
        width: 2.8rem;
    }

    .brand__name {
        font-size: 0.92rem;
    }

    .brand__tagline {
        font-size: 0.56rem;
    }

    .hero__content {
        min-height: 42rem;
        padding-top: 5rem;
        padding-bottom: 9rem;
    }

    .hero__title {
        font-size: clamp(3.9rem, 18vw, 6.4rem);
    }

    .hero__intro {
        font-size: 0.98rem;
    }

    .hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hero__actions .button {
        width: 100%;
    }

    .hero__stamp {
        width: 13rem;
    }

    .section-heading h2,
    .closing-cta h2,
    .quote__intro h2 {
        font-size: clamp(3rem, 14vw, 4.8rem);
    }

    .parking-grid {
        grid-template-columns: 1fr;
    }

    .parking-space,
    .parking-space:nth-child(2n),
    .parking-space:nth-child(3n),
    .parking-space:nth-last-child(-n + 2),
    .parking-space:nth-last-child(-n + 3) {
        min-height: 20rem;
        border-right: 0;
        border-bottom: 0.3rem solid var(--traffic-white);
    }

    .parking-space:last-child {
        border-bottom: 0;
    }

    .parking-space__number {
        margin-bottom: 4rem;
    }

    .comparison__image-wrap {
        aspect-ratio: 4 / 3;
    }

    .process-route::before {
        left: 2.1rem;
    }

    .process-step {
        grid-template-columns: 4.7rem 1fr;
        min-height: 13rem;
    }

    .process-step__number {
        width: 4.1rem;
        height: 4.1rem;
        font-size: 1.55rem;
        border-width: 0.25rem;
    }

    .process-step__content {
        padding: 2rem 0 2rem 1rem;
    }

    .process-step h3 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .industry-list__item {
        grid-template-columns: 3rem 1fr;
        min-height: 5.6rem;
    }

    .industry-list__item strong {
        font-size: clamp(1.8rem, 9vw, 3rem);
    }

    .quote__layout {
        gap: 3rem;
    }

    .quote__notes {
        margin-top: 2rem;
    }

    .quote-note {
        grid-template-columns: 6.5rem 1fr;
    }

    .quote-form {
        padding: 1.2rem;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-field--wide {
        grid-column: auto;
    }

    .faq-item summary {
        min-height: 5.2rem;
        padding-right: 3.4rem;
        font-size: clamp(1.6rem, 8vw, 2.5rem);
    }

    .faq-item__answer {
        padding-right: 0;
    }

    .site-footer__main {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding-block: 4rem;
    }

    .site-footer__brand {
        grid-column: auto;
    }

    .site-footer__punchline {
        font-size: clamp(3rem, 18vw, 5rem);
    }

}


/* ==========================================================================
   20. VERY SMALL PHONE
   ========================================================================== */

@media (max-width: 420px) {

    .site-shell {
        width: calc(100% - 1rem);
    }

    .brand__copy {
        max-width: 10rem;
    }

    .hero__service-strip span {
        padding-inline: 0.5rem;
        font-size: 0.58rem;
    }

    .hero__stamp {
        width: 11.5rem;
    }

    .comparison__arrow {
        width: 3.4rem;
        height: 3.4rem;
    }

    .quote-note {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

}


/* ==========================================================================
   21. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

}

/* STAY IN YOUR LANE TYPE SCALE TUNE V1 */

/* Bring the display scale back under control on desktop + ultrawide. */

.hero__title {
    font-size: clamp(4.2rem, 6vw, 6.6rem);
    line-height: 0.82;
}

.section-heading h2 {
    font-size: clamp(3rem, 5vw, 5.4rem);
    line-height: 0.9;
}

.quote__intro h2 {
    font-size: clamp(3.2rem, 4.4vw, 4.7rem);
    line-height: 0.88;
}

.closing-cta h2 {
    font-size: clamp(3rem, 5vw, 5.2rem);
    line-height: 0.9;
}

.parking-space h3 {
    font-size: clamp(2.3rem, 3.2vw, 3.8rem);
}

.industry-list__item strong {
    font-size: clamp(1.9rem, 3vw, 3.4rem);
}

.site-footer__punchline {
    font-size: clamp(3.2rem, 6vw, 6.5rem);
    line-height: 0.82;
}

@media (min-width: 1700px) {

    .hero__title {
        font-size: 6.6rem;
    }

    .section-heading h2 {
        font-size: 5.4rem;
    }

    .quote__intro h2 {
        font-size: 4.7rem;
    }

}

/* /STAY IN YOUR LANE TYPE SCALE TUNE V1 */

/* STAY IN YOUR LANE ULTRAWIDE CONSTRAINED LAYOUT V2 */

/* Full-width backgrounds. Constrained readable content. */

.hero__content > *,
.section-heading--split > *,
.quote__layout > *,
.closing-cta__inner > *,
.site-footer__main > *,
.form-grid > * {
    min-width: 0;
}

.hero__copy {
    padding-left: 0;
}

.section-heading__intro {
    width: min(100%, 34rem);
}

.section-heading--split .section-heading__intro {
    justify-self: end;
}

.quote__intro,
.quote__form-wrap {
    min-width: 0;
}

.quote__intro h2 {
    max-width: 100%;
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    line-height: 0.9;
}

.quote-form {
    width: 100%;
}

@media (min-width: 1700px) {

    :root {
        --shell: min(1680px, calc(100vw - 8rem));
    }

    .hero__content {
        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(18rem, 0.5fr);
        gap: clamp(4rem, 6vw, 7rem);
    }

    .hero__copy {
        max-width: 66rem;
        padding-left: 0;
    }

    .section-heading--split {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(20rem, 0.55fr);
        gap: clamp(4rem, 6vw, 7rem);
    }

    .section-heading--split > div:first-child {
        max-width: 68rem;
    }

    .quote__layout {
        grid-template-columns:
            minmax(0, 0.8fr)
            minmax(30rem, 1.2fr);
        gap: clamp(4rem, 6vw, 7rem);
    }

    .quote__intro {
        max-width: 36rem;
    }

}

@media (min-width: 2600px) {

    :root {
        --shell: 1680px;
    }

}

/* /STAY IN YOUR LANE ULTRAWIDE CONSTRAINED LAYOUT V2 */

/* STAY IN YOUR LANE BOUNDARY-AWARE LINE CLEARANCE V3 */

/*
   Do not guess desktop vs widescreen vs ultrawide.

   Calculate where the decorative line sits relative to the
   centered content shell and add clearance only when needed.

   On ultrawide screens the shell naturally sits well inside
   the line, so max() resolves to zero additional padding.
*/

@media (min-width: 901px) {

    .hero__copy {
        padding-left: max(
            0px,
            calc(
                6vw + 4rem -
                ((100vw - var(--shell)) / 2)
            )
        );
    }

    .process .section-heading {
        padding-left: max(
            0px,
            calc(
                11vw + 3rem -
                ((100vw - var(--shell)) / 2)
            )
        );
    }

}

/* /STAY IN YOUR LANE BOUNDARY-AWARE LINE CLEARANCE V3 */

/* STAY IN YOUR LANE HERO BOUNDARY FIX V4 */

/*
   Keep the hero copy to the right of the viewport-based
   white/yellow parking lines without widening the site shell.

   These ranges mirror the actual shell breakpoints.
*/

@media (min-width: 901px) and (max-width: 1180px) {

    .hero__copy {
        padding-left: calc(6vw + 2.5rem);
    }

}

@media (min-width: 1181px) and (max-width: 1559px) {

    .hero__copy {
        padding-left: calc(6vw + 1.5rem);
    }

}

@media (min-width: 1560px) and (max-width: 1699px) {

    .hero__copy {
        padding-left: max(0px, calc(50.25rem - 44vw));
    }

}

@media (min-width: 1700px) and (max-width: 1807px) {

    .hero__copy {
        padding-left: 6vw;
    }

}

@media (min-width: 1808px) and (max-width: 2054px) {

    .hero__copy {
        padding-left: max(0px, calc(56.5rem - 44vw));
    }

}

@media (min-width: 2055px) {

    .hero__copy {
        padding-left: 0;
    }

}

/* /STAY IN YOUR LANE HERO BOUNDARY FIX V4 */


/* STAY IN YOUR LANE PREMIUM HOME V1 */

/* Premium-only additions. Existing free-version layout stays untouched. */

.premium-home .section-actions {
    margin-top: clamp(2.2rem, 4vw, 3.8rem);
}

.premium-home .results .section-actions {
    position: relative;
    z-index: 2;
}

.premium-home .process .section-actions {
    margin-top: clamp(2.8rem, 5vw, 4.5rem);
}

.premium-home .quote__form-wrap {
    align-self: stretch;
}

.premium-home .premium-quote-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.premium-home .premium-quote-card .parking-space__label {
    margin-bottom: 0.8rem;
    color: var(--muted);
}

.premium-home .premium-quote-card h3 {
    max-width: 34rem;
    margin: 0 0 1.25rem;
    font-family: var(--font-display);
    font-size: clamp(2.8rem, 4vw, 4.7rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-home .premium-quote-card > p:not(.parking-space__label) {
    max-width: 34rem;
    margin-bottom: 2rem;
    color: var(--muted);
    line-height: 1.65;
}

.premium-home .premium-quote-card .quote__notes {
    margin-top: 0;
    margin-bottom: 2rem;
}

.premium-home .premium-quote-card .button {
    margin-top: auto;
}


@media (min-width: 901px) and (max-width: 1320px) {

    .premium-home .site-nav {
        gap: clamp(0.7rem, 1vw, 1rem);
    }

    .premium-home .site-nav > a:not(.button) {
        font-size: 0.63rem;
    }

    .premium-home .button--header {
        padding-inline: 0.85rem;
    }

}


@media (max-width: 640px) {

    .premium-home .section-actions .button {
        width: 100%;
    }

    .premium-home .premium-quote-card h3 {
        font-size: clamp(2.4rem, 11vw, 3.5rem);
    }

}

/* /STAY IN YOUR LANE PREMIUM HOME V1 */

/* STAY IN YOUR LANE PREMIUM SERVICES V1 */


/* ================================================================
   SERVICES PAGE HERO
   ================================================================ */

.premium-services .services-page-hero {
    position: relative;
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.premium-services .services-page-hero::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8%;
    width: 0.45rem;
    background: var(--yellow);
    opacity: 0.9;
}

.premium-services .services-page-hero::after {
    content: "SERVICES";
    position: absolute;
    right: -1rem;
    bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.035);
    font-family: var(--font-display);
    font-size: clamp(9rem, 22vw, 24rem);
    font-weight: 900;
    line-height: 0.7;
    letter-spacing: -0.07em;
    pointer-events: none;
}

.premium-services .services-page-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(26rem, 0.92fr);
    gap: clamp(4rem, 8vw, 9rem);
    align-items: center;
    min-height: 46rem;
    padding-block: clamp(6rem, 10vw, 10rem);
}

.premium-services .services-page-hero__copy {
    max-width: 62rem;
}

.premium-services .services-page-hero .eyebrow {
    color: var(--yellow);
}

.premium-services .services-page-hero h1 {
    margin-bottom: 2rem;
    font-family: var(--font-display);
    font-size: clamp(4.3rem, 7vw, 7.3rem);
    font-weight: 900;
    line-height: 0.82;
    letter-spacing: -0.06em;
    text-transform: uppercase;
}

.premium-services .services-page-hero h1 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-services .services-page-hero__intro {
    max-width: 46rem;
    margin-bottom: 2.2rem;
    color: rgba(255, 255, 255, 0.67);
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    line-height: 1.7;
}

.premium-services .button--services-ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.38);
}

.premium-services .button--services-ghost:hover {
    background: var(--white);
    color: var(--ink);
    border-color: var(--white);
}


/* Diagram */

.premium-services .services-page-hero__diagram {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: minmax(19rem, 1fr) 7rem;
    min-height: 32rem;
    border-top: 0.45rem solid var(--traffic-white);
    border-bottom: 0.45rem solid var(--traffic-white);
    transform: perspective(900px) rotateY(-5deg);
}

.premium-services .services-diagram__stall {
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 1.2rem;
    border-right: 0.28rem solid var(--traffic-white);
    color: rgba(255, 255, 255, 0.35);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-services .services-diagram__stall--03 {
    border-right: 0;
}

.premium-services .services-diagram__stall--02::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: 50%;
    width: 4.6rem;
    height: 4.6rem;
    border: 0.32rem solid var(--blue);
    transform: translateX(-50%) rotate(45deg);
    opacity: 0.9;
}

.premium-services .services-diagram__aisle {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    border-top: 0.28rem dashed rgba(255, 255, 255, 0.6);
    color: rgba(255, 255, 255, 0.45);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.premium-services .services-diagram__aisle strong {
    color: var(--yellow);
}

.premium-services .services-page-hero__ticker {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: var(--yellow);
    color: var(--ink);
}

.premium-services .services-page-hero__ticker span {
    display: grid;
    place-items: center;
    min-height: 4.5rem;
    padding: 1rem;
    border-right: 1px solid rgba(21, 22, 20, 0.25);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.premium-services .services-page-hero__ticker span:last-child {
    border-right: 0;
}


/* ================================================================
   SERVICE RUNWAY
   ================================================================ */

.premium-services .service-runway {
    background: var(--paper-light);
}

.premium-services .service-runway__list {
    border-top: 0.55rem solid var(--ink);
    border-bottom: 0.55rem solid var(--ink);
}

.premium-services .service-runway__item {
    display: grid;
    grid-template-columns: 7rem minmax(15rem, 0.55fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 5rem);
    align-items: stretch;
    min-height: 27rem;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}

.premium-services .service-runway__item:last-child {
    border-bottom: 0;
}

.premium-services .service-runway__number {
    display: grid;
    place-items: center;
    background: var(--ink);
    color: var(--yellow);
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 900;
}

.premium-services .service-runway__heading {
    align-self: center;
    padding-block: 3rem;
}

.premium-services .service-runway__heading > p {
    margin-bottom: 0.65rem;
    color: var(--muted);
    font-family: var(--font-mono);
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.premium-services .service-runway__heading h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 0.83;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-services .service-runway__content {
    align-self: center;
    padding: 3rem 3rem 3rem 0;
}

.premium-services .service-runway__content > p {
    max-width: 44rem;
    margin-bottom: 1.8rem;
    color: var(--muted);
    line-height: 1.7;
}

.premium-services .service-runway__content ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem 2rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.premium-services .service-runway__content li {
    position: relative;
    padding-left: 1.3rem;
    font-size: 0.88rem;
}

.premium-services .service-runway__content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.68em;
    width: 0.5rem;
    height: 0.18rem;
    background: var(--yellow);
}

.premium-services .service-runway__link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.premium-services .service-runway__link:hover {
    color: var(--yellow-dark);
}

.premium-services .service-runway__item--yellow {
    background: var(--yellow);
}

.premium-services .service-runway__item--yellow .service-runway__number {
    background: var(--paper-light);
    color: var(--ink);
}

.premium-services .service-runway__item--yellow .service-runway__heading > p,
.premium-services .service-runway__item--yellow .service-runway__content > p {
    color: rgba(21, 22, 20, 0.68);
}

.premium-services .service-runway__item--yellow .service-runway__content li::before {
    background: var(--ink);
}

.premium-services .service-runway__item--yellow .service-runway__link:hover {
    color: var(--ink-soft);
}

.premium-services .service-runway__item--dark {
    background: var(--asphalt-soft);
    color: var(--white);
}

.premium-services .service-runway__item--dark .service-runway__number {
    background: var(--red);
    color: var(--white);
}

.premium-services .service-runway__item--dark .service-runway__heading > p,
.premium-services .service-runway__item--dark .service-runway__content > p {
    color: rgba(255, 255, 255, 0.58);
}

.premium-services .service-runway__item--dark .service-runway__link:hover {
    color: var(--yellow);
}


/* ================================================================
   MARKING MATRIX
   ================================================================ */

.premium-services .marking-matrix {
    overflow: hidden;
    background: var(--blue);
    color: var(--white);
}

.premium-services .marking-matrix::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 4rem 4rem;
}

.premium-services .marking-matrix .site-shell {
    position: relative;
    z-index: 2;
}

.premium-services .marking-matrix .eyebrow {
    color: var(--white);
}

.premium-services .marking-matrix .section-heading h2 em {
    color: var(--white);
}

.premium-services .marking-matrix__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    border-left: 1px solid rgba(255, 255, 255, 0.35);
}

.premium-services .marking-matrix__grid article {
    min-height: 18rem;
    padding: 1.7rem;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.06);
    transition:
        background-color 180ms ease,
        transform 180ms ease;
}

.premium-services .marking-matrix__grid article:hover {
    position: relative;
    z-index: 2;
    background: var(--paper-light);
    color: var(--ink);
    transform: translateY(-0.45rem);
}

.premium-services .marking-matrix__grid article > span {
    display: block;
    margin-bottom: 4.5rem;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.premium-services .marking-matrix__grid strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.7vw, 3.1rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

.premium-services .marking-matrix__grid p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.86rem;
    line-height: 1.6;
}

.premium-services .marking-matrix__grid article:hover p {
    color: var(--muted);
}

.premium-services .marking-matrix .fine-print {
    color: rgba(255, 255, 255, 0.58);
}


/* ================================================================
   PROJECT FIT
   ================================================================ */

.premium-services .service-fit {
    background:
        linear-gradient(
            90deg,
            var(--paper-light) 0%,
            var(--paper-light) 50%,
            var(--yellow) 50%,
            var(--yellow) 100%
        );
}

.premium-services .service-fit__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.premium-services .service-fit__statement {
    padding-right: clamp(3rem, 7vw, 8rem);
}

.premium-services .service-fit__statement h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.4rem, 6vw, 6rem);
    font-weight: 900;
    line-height: 0.86;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-services .service-fit__statement h2 em {
    display: block;
    color: var(--yellow-dark);
    font-style: normal;
}

.premium-services .service-fit__checklist {
    padding-left: clamp(3rem, 7vw, 8rem);
}

.premium-services .service-fit__checklist > div {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0 1rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid rgba(21, 22, 20, 0.3);
}

.premium-services .service-fit__checklist > div:first-child {
    border-top: 0.3rem solid var(--ink);
}

.premium-services .service-fit__checklist span {
    grid-row: 1 / 3;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
}

.premium-services .service-fit__checklist strong {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}

.premium-services .service-fit__checklist p {
    margin: 0.5rem 0 0;
    font-size: 0.84rem;
    line-height: 1.55;
}


/* ================================================================
   SERVICES CLOSE
   ================================================================ */

.premium-services .services-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--red);
    color: var(--white);
}

.premium-services .services-close::after {
    content: "";
    position: absolute;
    top: -50%;
    right: 11%;
    width: 1rem;
    height: 200%;
    border-left: 0.4rem solid rgba(255, 255, 255, 0.45);
    border-right: 0.4rem solid rgba(255, 255, 255, 0.45);
    transform: rotate(28deg);
}

.premium-services .services-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.premium-services .services-close .eyebrow {
    color: var(--white);
}

.premium-services .services-close h2 {
    max-width: 65rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 6vw, 6rem);
    font-weight: 900;
    line-height: 0.86;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-services .services-close h2 em {
    display: block;
    font-style: normal;
}


/* ================================================================
   SERVICES RESPONSIVE
   ================================================================ */

@media (min-width: 901px) and (max-width: 1320px) {

    .premium-services .site-nav {
        gap: 0.8rem;
    }

    .premium-services .site-nav > a:not(.button) {
        font-size: 0.62rem;
    }

    .premium-services .button--header {
        padding-inline: 0.8rem;
    }

    .premium-services .services-page-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.75fr);
        gap: 3rem;
    }

    .premium-services .service-runway__item {
        grid-template-columns: 6rem minmax(14rem, 0.55fr) minmax(0, 1fr);
        gap: 2.5rem;
    }

    .premium-services .marking-matrix__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .premium-services .services-page-hero::before {
        display: none;
    }

    .premium-services .services-page-hero__grid {
        grid-template-columns: 1fr;
        min-height: auto;
        padding-block: 6rem;
    }

    .premium-services .services-page-hero__diagram {
        width: min(100%, 38rem);
        min-height: 25rem;
        transform: none;
    }

    .premium-services .services-page-hero__ticker {
        grid-template-columns: repeat(3, 1fr);
    }

    .premium-services .services-page-hero__ticker span {
        border-bottom: 1px solid rgba(21, 22, 20, 0.25);
    }

    .premium-services .service-runway__item {
        grid-template-columns: 5rem 1fr;
        gap: 0;
    }

    .premium-services .service-runway__number {
        grid-row: 1 / 3;
    }

    .premium-services .service-runway__heading {
        padding: 2.5rem 2rem 1rem;
    }

    .premium-services .service-runway__content {
        grid-column: 2;
        padding: 0 2rem 2.8rem;
    }

    .premium-services .marking-matrix__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-services .service-fit {
        background: var(--paper-light);
    }

    .premium-services .service-fit__grid {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .premium-services .service-fit__statement {
        padding-right: 0;
    }

    .premium-services .service-fit__checklist {
        margin-inline: -1rem;
        padding: 2rem 1rem;
        background: var(--yellow);
    }

    .premium-services .services-close__inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 640px) {

    .premium-services .services-page-hero h1 {
        font-size: clamp(3.7rem, 17vw, 5.4rem);
    }

    .premium-services .services-page-hero .hero__actions {
        flex-direction: column;
    }

    .premium-services .services-page-hero .hero__actions .button {
        width: 100%;
    }

    .premium-services .services-page-hero__diagram {
        grid-template-rows: minmax(15rem, 1fr) 5rem;
        min-height: 20rem;
    }

    .premium-services .services-page-hero__ticker {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-services .service-runway__item {
        grid-template-columns: 3.8rem 1fr;
    }

    .premium-services .service-runway__number {
        font-size: 1.5rem;
    }

    .premium-services .service-runway__heading {
        padding: 2rem 1.3rem 0.8rem;
    }

    .premium-services .service-runway__heading h3 {
        font-size: clamp(2.7rem, 13vw, 4rem);
    }

    .premium-services .service-runway__content {
        padding: 0 1.3rem 2.3rem;
    }

    .premium-services .service-runway__content ul {
        grid-template-columns: 1fr;
    }

    .premium-services .marking-matrix__grid {
        grid-template-columns: 1fr;
    }

    .premium-services .marking-matrix__grid article {
        min-height: 15rem;
    }

    .premium-services .marking-matrix__grid article > span {
        margin-bottom: 3rem;
    }

    .premium-services .service-fit__statement h2,
    .premium-services .services-close h2 {
        font-size: clamp(3rem, 14vw, 4.7rem);
    }

    .premium-services .services-close .button {
        width: 100%;
    }

}


@media (min-width: 1700px) {

    .premium-services .services-page-hero__copy {
        max-width: 66rem;
    }

    .premium-services .services-page-hero h1 {
        font-size: 7.3rem;
    }

    .premium-services .services-page-hero__diagram {
        max-width: 43rem;
        justify-self: end;
        width: 100%;
    }

}

/* /STAY IN YOUR LANE PREMIUM SERVICES V1 */

/* STAY IN YOUR LANE SERVICES HERO FIX V2 */

/* Keep decorative lane stripe out of the actual headline. */

.premium-services .services-page-hero::before {
    left: 0.85rem;
}


/* Make the center stall read as an accessible-space marking. */

.premium-services .services-diagram__stall--02::before {
    top: 2rem;
    left: 50%;
    width: 5.4rem;
    height: 5.4rem;
    border: 0;
    background: var(--blue);
    transform: translateX(-50%);
    opacity: 0.95;
}

.premium-services .services-diagram__stall--02::after {
    content: "\267F";
    position: absolute;
    top: 2.3rem;
    left: 50%;
    transform: translateX(-50%);
    color: var(--white);
    font-family: Arial, sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}


@media (max-width: 900px) {

    .premium-services .services-page-hero::before {
        display: none;
    }

}

/* /STAY IN YOUR LANE SERVICES HERO FIX V2 */

/* STAY IN YOUR LANE SERVICES HERO LINE REMOVAL V1 */

/* Remove the tall decorative line from the Services hero only. */
.premium-services .services-page-hero::before {
    content: none !important;
    display: none !important;
}

/* /STAY IN YOUR LANE SERVICES HERO LINE REMOVAL V1 */

/* STAY IN YOUR LANE SERVICES SECTION 03 TYPE FIX V1 */

/* Keep the long Section 03 heading inside its assigned column. */

.premium-services .service-runway__item--dark .service-runway__heading {
    min-width: 0;
}

.premium-services .service-runway__item--dark .service-runway__heading h3 {
    max-width: 100%;
    font-size: clamp(2.45rem, 3.7vw, 4rem);
    line-height: 0.88;
    letter-spacing: -0.055em;
}

@media (min-width: 901px) and (max-width: 1320px) {

    .premium-services .service-runway__item--dark .service-runway__heading h3 {
        font-size: clamp(2.35rem, 4vw, 3.25rem);
        line-height: 0.9;
    }

}

@media (max-width: 640px) {

    .premium-services .service-runway__item--dark .service-runway__heading h3 {
        font-size: clamp(2.5rem, 12vw, 3.7rem);
    }

}

/* /STAY IN YOUR LANE SERVICES SECTION 03 TYPE FIX V1 */

/* STAY IN YOUR LANE SERVICES RUNWAY UNIFIED TYPE V1 */

/* Keep all three major service headings on the same visual scale. */

.premium-services .service-runway__heading {
    min-width: 0;
}

.premium-services .service-runway__heading h3 {
    max-width: 100%;
    font-size: clamp(2.45rem, 3.7vw, 4rem);
    line-height: 0.88;
    letter-spacing: -0.055em;
}

@media (min-width: 901px) and (max-width: 1320px) {

    .premium-services .service-runway__heading h3 {
        font-size: clamp(2.35rem, 4vw, 3.25rem);
        line-height: 0.9;
    }

}

@media (max-width: 640px) {

    .premium-services .service-runway__heading h3 {
        font-size: clamp(2.5rem, 12vw, 3.7rem);
    }

}

/* /STAY IN YOUR LANE SERVICES RUNWAY UNIFIED TYPE V1 */

/* STAY IN YOUR LANE SERVICES RUNWAY HEIGHT TUNE V1 */

/* Tighten all three service runway rows equally. */

@media (min-width: 901px) {

    .premium-services .service-runway__item {
        min-height: 20rem;
    }

    .premium-services .service-runway__heading {
        padding-block: 2rem;
    }

    .premium-services .service-runway__content {
        padding: 2rem 2.5rem 2rem 0;
    }

}

/* /STAY IN YOUR LANE SERVICES RUNWAY HEIGHT TUNE V1 */

/* STAY IN YOUR LANE SERVICES WIDE HERO TUNE V1 */

/*
   Wide desktop only.
   Desktop <= 1320px and ultrawide >= 1700px remain untouched.
*/

@media (min-width: 1321px) and (max-width: 1699px) {

    .premium-services .services-page-hero__grid {
        width: min(1320px, calc(100vw - 5rem));
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(24rem, 0.8fr);
        gap: 4rem;
    }

    .premium-services .services-page-hero__diagram {
        width: 100%;
        max-width: 40rem;
        justify-self: end;
    }

}

/* /STAY IN YOUR LANE SERVICES WIDE HERO TUNE V1 */

/* STAY IN YOUR LANE SERVICES WIDE HERO TUNE V2 */

/* Tighten only the awkward wide-desktop range. */

@media (min-width: 1321px) and (max-width: 1699px) {

    .premium-services .services-page-hero__grid {
        width: min(1160px, calc(100vw - 6rem));
        grid-template-columns:
            minmax(0, 1fr)
            minmax(22rem, 0.72fr);
        gap: 3rem;
    }

    .premium-services .services-page-hero__diagram {
        width: 100%;
        max-width: 34rem;
        justify-self: end;
    }

}

/* /STAY IN YOUR LANE SERVICES WIDE HERO TUNE V2 */

/* STAY IN YOUR LANE SERVICES TRUE WIDE HERO TUNE V1 */

/*
   Actual wide-desktop range used by the 1920px viewport.
   True ultrawide 2055px+ remains untouched.
*/

@media (min-width: 1700px) and (max-width: 2054px) {

    .premium-services .services-page-hero__grid {
        width: min(1320px, calc(100vw - 6rem));
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(22rem, 0.72fr);
        gap: 3.5rem;
    }

    .premium-services .services-page-hero__copy {
        max-width: 42rem;
    }

    .premium-services .services-page-hero__diagram {
        width: 100%;
        max-width: 35rem;
        justify-self: end;
    }

}

/* /STAY IN YOUR LANE SERVICES TRUE WIDE HERO TUNE V1 */

/* STAY IN YOUR LANE PREMIUM TRUE WIDE GLOBAL TUNE V1 */

/*
   Shared premium wide-screen correction.

   1700px - 2054px:
   - constrain the entire site, not just individual heroes
   - reduce oversized primary display typography

   <= 1699px remains untouched
   >= 2055px remains untouched
*/

@media (min-width: 1700px) and (max-width: 2054px) {

    body[class*="premium-"] {
        --shell: min(1320px, calc(100vw - 6rem));
    }


    /* ------------------------------------------------------------
       Primary page titles
       ------------------------------------------------------------ */

    body[class*="premium-"] .hero__title,
    body[class*="premium-"] .services-page-hero h1 {
        font-size: 5.5rem;
        line-height: 0.84;
    }


    /* ------------------------------------------------------------
       Major section headings
       ------------------------------------------------------------ */

    body[class*="premium-"] .section-heading h2 {
        font-size: 4.35rem;
        line-height: 0.9;
    }

    body[class*="premium-"] .quote__intro h2 {
        font-size: 3.75rem;
        line-height: 0.91;
    }

    body[class*="premium-"] .closing-cta h2,
    body[class*="premium-"] .services-close h2,
    body[class*="premium-"] .service-fit__statement h2 {
        font-size: 4.4rem;
        line-height: 0.9;
    }


    /* ------------------------------------------------------------
       Footer display copy
       ------------------------------------------------------------ */

    body[class*="premium-"] .site-footer__punchline {
        font-size: 5rem;
        line-height: 0.84;
    }

}

/* /STAY IN YOUR LANE PREMIUM TRUE WIDE GLOBAL TUNE V1 */

/* STAY IN YOUR LANE RESTRIPING PHOTO GRID FIX V3 */

.premium-services .service-runway__item--restriping {
    grid-template-rows: auto auto;
}

.premium-services .service-runway__item--restriping .service-runway__number {
    grid-column: 1;
    grid-row: 1 / 3;
}

.premium-services .service-runway__item--restriping .service-runway__heading {
    grid-column: 2;
    grid-row: 1;
}

.premium-services .service-runway__item--restriping .service-runway__content {
    grid-column: 3;
    grid-row: 1;
}

.premium-services .service-runway__item--restriping .service-runway__photo {
    grid-column: 2 / 4 !important;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    height: clamp(14rem, 18vw, 20rem);
    margin: 0 !important;
    overflow: hidden;
    aspect-ratio: auto !important;
    border-top: 1px solid var(--line);
}

.premium-services .service-runway__item--restriping .service-runway__photo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center 55%;
}

@media (max-width: 900px) {

    .premium-services .service-runway__item--restriping .service-runway__number {
        grid-row: 1 / 3;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading {
        grid-column: 2;
    }

    .premium-services .service-runway__item--restriping .service-runway__content {
        grid-column: 2;
        grid-row: 2;
    }

    .premium-services .service-runway__item--restriping .service-runway__photo {
        grid-column: 1 / -1 !important;
        grid-row: 3;
        height: 14rem;
    }

}

/* /STAY IN YOUR LANE RESTRIPING PHOTO GRID FIX V3 */

/* STAY IN YOUR LANE RESTRIPING PHOTO LAYOUT V4 */

/*
   Section 01:
   rail | heading + photo | service details
   Preserve the original 16:10 photograph instead of cropping Waldo in half.
*/

@media (min-width: 901px) {

    .premium-services .service-runway__item--restriping {
        grid-template-columns:
            6rem
            minmax(16rem, 0.58fr)
            minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: clamp(2rem, 4vw, 4rem);
        row-gap: 1.25rem;
        align-items: center;
    }

    .premium-services .service-runway__item--restriping .service-runway__number {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: stretch;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        padding: 2rem 0 0;
    }

    .premium-services .service-runway__item--restriping .service-runway__content {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        padding: 2rem 2.5rem 2rem 0;
    }

    .premium-services .service-runway__item--restriping .service-runway__photo {
        grid-column: 2 !important;
        grid-row: 2;
        align-self: start;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 0 2rem !important;
        overflow: hidden;
        aspect-ratio: 16 / 10 !important;
        border: 0;
    }

    .premium-services .service-runway__item--restriping .service-runway__photo img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
    }

}


@media (max-width: 900px) {

    .premium-services .service-runway__item--restriping .service-runway__photo {
        grid-column: 1 / -1 !important;
        grid-row: 3;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    .premium-services .service-runway__item--restriping .service-runway__photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

}

/* /STAY IN YOUR LANE RESTRIPING PHOTO LAYOUT V4 */

/* STAY IN YOUR LANE RESTRIPING EDITORIAL LAYOUT V5 */

/*
   Section 01 editorial composition:
   number rail | full-height photography | service details
*/

@media (min-width: 901px) {

    .premium-services .service-runway__item--restriping {
        grid-template-columns:
            6rem
            minmax(22rem, 0.9fr)
            minmax(0, 1.1fr);
        grid-template-rows: minmax(21rem, auto);
        gap: 0;
        align-items: stretch;
    }


    .premium-services .service-runway__item--restriping .service-runway__number {
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
    }


    .premium-services .service-runway__item--restriping .service-runway__photo {
        position: relative;
        z-index: 1;
        grid-column: 2;
        grid-row: 1;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 21rem;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
        border: 0;
        background: var(--asphalt);
    }


    .premium-services .service-runway__item--restriping .service-runway__photo img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center center;
        filter:
            saturate(0.88)
            contrast(1.05)
            brightness(0.84);
    }


    .premium-services .service-runway__item--restriping .service-runway__heading {
        position: relative;
        z-index: 2;
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        padding: 7rem 2rem 2rem;
        color: var(--white);
        background:
            linear-gradient(
                180deg,
                transparent 0%,
                rgba(12, 13, 12, 0.22) 30%,
                rgba(12, 13, 12, 0.9) 100%
            );
        pointer-events: none;
    }


    .premium-services .service-runway__item--restriping .service-runway__heading > p {
        color: var(--yellow);
    }


    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        color: var(--white);
    }


    .premium-services .service-runway__item--restriping .service-runway__content {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        padding:
            clamp(2.5rem, 4vw, 4rem)
            clamp(2.5rem, 4vw, 4rem);
    }

}


@media (min-width: 901px) and (max-width: 1180px) {

    .premium-services .service-runway__item--restriping {
        grid-template-columns:
            5rem
            minmax(18rem, 0.85fr)
            minmax(0, 1.15fr);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading {
        padding:
            6rem
            1.5rem
            1.5rem;
    }

    .premium-services .service-runway__item--restriping .service-runway__content {
        padding: 2.25rem;
    }

}

/* /STAY IN YOUR LANE RESTRIPING EDITORIAL LAYOUT V5 */

/* STAY IN YOUR LANE SERVICES IMAGE SYSTEM V1 */

/*
   Complete Services photography system.

   01 = photographic title panel
   02 = editorial lower image
   03 = safety image with content overlay
   Matrix = large detail feature tile
   Close = completed-lot photographic background
*/


/* ============================================================
   01. RE-STRIPING
   ============================================================ */

@media (min-width: 901px) {

    .premium-services .service-runway__item--restriping {
        grid-template-columns:
            6rem
            minmax(22rem, 0.9fr)
            minmax(0, 1.1fr);
        grid-template-rows: minmax(21rem, auto);
        gap: 0;
        align-items: stretch;
    }

    .premium-services .service-runway__item--restriping .service-runway__number {
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
    }

    .premium-services .service-runway__item--restriping .service-runway__photo--restriping {
        position: relative;
        z-index: 1;
        grid-column: 2;
        grid-row: 1;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 21rem;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
        border: 0;
        background: var(--asphalt);
    }

    .premium-services .service-runway__item--restriping .service-runway__photo--restriping img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
        filter:
            saturate(0.88)
            contrast(1.05)
            brightness(0.84);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading {
        position: relative;
        z-index: 2;
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        padding: 7rem 2rem 2rem;
        color: var(--white);
        background:
            linear-gradient(
                180deg,
                transparent 0%,
                rgba(12, 13, 12, 0.18) 32%,
                rgba(12, 13, 12, 0.92) 100%
            );
        pointer-events: none;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading > p {
        color: var(--yellow);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        color: var(--white);
    }

    .premium-services .service-runway__item--restriping .service-runway__content {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        padding:
            clamp(2.5rem, 4vw, 4rem)
            clamp(2.5rem, 4vw, 4rem);
    }


    /* ========================================================
       02. NEW LAYOUT
       ======================================================== */

    .premium-services .service-runway__item--new-layout {
        grid-template-columns:
            6rem
            minmax(15rem, 0.55fr)
            minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 0;
        align-items: stretch;
    }

    .premium-services .service-runway__item--new-layout .service-runway__number {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: stretch;
    }

    .premium-services .service-runway__item--new-layout .service-runway__heading {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
        padding: clamp(2rem, 4vw, 3.5rem);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        padding:
            clamp(2rem, 4vw, 3.5rem)
            clamp(2rem, 4vw, 3.5rem)
            2rem;
    }

    .premium-services .service-runway__photo--new-layout {
        grid-column: 3;
        grid-row: 2;
        width: 100% !important;
        max-width: none !important;
        height: clamp(12rem, 15vw, 16rem) !important;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
        border-top: 1px solid rgba(21, 22, 20, 0.28);
    }

    .premium-services .service-runway__photo--new-layout img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
    }


    /* ========================================================
       03. SAFETY + TRAFFIC
       ======================================================== */

    .premium-services .service-runway__item--safety {
        grid-template-columns:
            6rem
            minmax(16rem, 0.62fr)
            minmax(0, 1.38fr);
        grid-template-rows: minmax(22rem, auto);
        gap: 0;
        align-items: stretch;
    }

    .premium-services .service-runway__item--safety .service-runway__number {
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
    }

    .premium-services .service-runway__item--safety .service-runway__heading {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        padding: clamp(2rem, 4vw, 3.5rem);
    }

    .premium-services .service-runway__photo--safety {
        position: relative;
        z-index: 1;
        grid-column: 3;
        grid-row: 1;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 22rem;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
    }

    .premium-services .service-runway__photo--safety img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
        filter:
            saturate(0.88)
            contrast(1.05)
            brightness(0.72);
    }

    .premium-services .service-runway__item--safety .service-runway__content {
        position: relative;
        z-index: 2;
        grid-column: 3;
        grid-row: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: clamp(2.5rem, 4vw, 4rem);
        background:
            linear-gradient(
                90deg,
                rgba(22, 23, 21, 0.94) 0%,
                rgba(22, 23, 21, 0.82) 48%,
                rgba(22, 23, 21, 0.48) 100%
            );
    }

    .premium-services .service-runway__item--safety .service-runway__content > p {
        color: rgba(255, 255, 255, 0.88);
    }

    .premium-services .service-runway__item--safety .service-runway__content li {
        color: var(--white);
    }

    .premium-services .service-runway__item--safety .service-runway__link {
        color: var(--white);
    }

}


/* ============================================================
   04. MARKING MATRIX FEATURE IMAGE
   ============================================================ */

.premium-services .marking-matrix__visual {
    position: relative;
    grid-column: span 2;
    grid-row: span 2;
    min-height: 36rem;
    margin: 0;
    overflow: hidden;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    background: var(--asphalt);
}

.premium-services .marking-matrix__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0, 0, 0, 0.28) 100%
        );
    pointer-events: none;
}

.premium-services .marking-matrix__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* ============================================================
   05. FINISHED LOT CLOSE
   ============================================================ */

.premium-services .services-close {
    background:
        linear-gradient(
            90deg,
            rgba(16, 17, 16, 0.92) 0%,
            rgba(16, 17, 16, 0.78) 48%,
            rgba(16, 17, 16, 0.42) 100%
        ),
        url("../images/service-finished-lot.webp")
        center / cover no-repeat;
}

.premium-services .services-close::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.05),
            rgba(0, 0, 0, 0.32)
        );
    pointer-events: none;
}

.premium-services .services-close::after {
    z-index: 1;
}

.premium-services .services-close__inner {
    z-index: 2;
}


/* ============================================================
   RESPONSIVE IMAGE SYSTEM
   ============================================================ */

@media (max-width: 900px) {

    .premium-services .service-runway__item--restriping,
    .premium-services .service-runway__item--new-layout,
    .premium-services .service-runway__item--safety {
        grid-template-columns: 5rem minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }

    .premium-services .service-runway__item--restriping .service-runway__number,
    .premium-services .service-runway__item--new-layout .service-runway__number,
    .premium-services .service-runway__item--safety .service-runway__number {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading,
    .premium-services .service-runway__item--new-layout .service-runway__heading,
    .premium-services .service-runway__item--safety .service-runway__heading {
        position: relative;
        grid-column: 2;
        grid-row: 1;
        align-self: auto;
        padding: 2rem;
        background: none;
        color: inherit;
        pointer-events: auto;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        color: var(--ink);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading > p {
        color: var(--muted);
    }

    .premium-services .service-runway__item--restriping .service-runway__content,
    .premium-services .service-runway__item--new-layout .service-runway__content,
    .premium-services .service-runway__item--safety .service-runway__content {
        grid-column: 2;
        grid-row: 2;
        padding: 0 2rem 2rem;
        background: none;
    }

    .premium-services .service-runway__item--safety .service-runway__content > p {
        color: rgba(255, 255, 255, 0.65);
    }

    .premium-services .service-runway__photo--restriping,
    .premium-services .service-runway__photo--new-layout,
    .premium-services .service-runway__photo--safety {
        grid-column: 1 / -1 !important;
        grid-row: 3;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0;
        margin: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    .premium-services .service-runway__photo--restriping img,
    .premium-services .service-runway__photo--new-layout img,
    .premium-services .service-runway__photo--safety img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

    .premium-services .marking-matrix__visual {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 24rem;
    }

}


@media (max-width: 640px) {

    .premium-services .service-runway__item--restriping,
    .premium-services .service-runway__item--new-layout,
    .premium-services .service-runway__item--safety {
        grid-template-columns: 3.8rem minmax(0, 1fr);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading,
    .premium-services .service-runway__item--new-layout .service-runway__heading,
    .premium-services .service-runway__item--safety .service-runway__heading {
        padding: 1.5rem 1.3rem 0.8rem;
    }

    .premium-services .service-runway__item--restriping .service-runway__content,
    .premium-services .service-runway__item--new-layout .service-runway__content,
    .premium-services .service-runway__item--safety .service-runway__content {
        padding: 0 1.3rem 2rem;
    }

    .premium-services .marking-matrix__visual {
        grid-column: 1;
        min-height: 18rem;
    }

}

/* /STAY IN YOUR LANE SERVICES IMAGE SYSTEM V1 */

/* STAY IN YOUR LANE SAFETY CTA WIDTH FIX V1 */

.premium-services .service-runway__item--safety .service-runway__link {
    align-self: flex-start;
    width: max-content;
    max-width: 100%;
}

/* /STAY IN YOUR LANE SAFETY CTA WIDTH FIX V1 */

/* STAY IN YOUR LANE NEW LAYOUT COMPOSITION FIX V2 */

/*
   Section 02 only:
   02 rail | title | full-height image with content overlay
*/

@media (min-width: 901px) {

    .premium-services .service-runway__item--new-layout {
        grid-template-columns:
            6rem
            minmax(16rem, 0.58fr)
            minmax(0, 1.42fr);
        grid-template-rows: minmax(22rem, auto);
        gap: 0;
        align-items: stretch;
        min-height: 22rem;
    }

    .premium-services .service-runway__item--new-layout .service-runway__number {
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
    }

    .premium-services .service-runway__item--new-layout .service-runway__heading {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        padding:
            clamp(2.5rem, 4vw, 4rem)
            clamp(2rem, 3vw, 3rem);
    }

    .premium-services .service-runway__photo--new-layout {
        position: relative;
        z-index: 1;
        grid-column: 3;
        grid-row: 1;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 22rem;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
        border: 0;
        background: var(--asphalt);
    }

    .premium-services .service-runway__photo--new-layout img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
        filter:
            saturate(0.9)
            contrast(1.05)
            brightness(0.72);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content {
        position: relative;
        z-index: 2;
        grid-column: 3;
        grid-row: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding:
            clamp(2.75rem, 4vw, 4.5rem)
            clamp(2.75rem, 4vw, 4.5rem);
        background:
            linear-gradient(
                90deg,
                rgba(12, 13, 12, 0.91) 0%,
                rgba(12, 13, 12, 0.78) 52%,
                rgba(12, 13, 12, 0.38) 100%
            );
        color: var(--white);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content > p {
        color: rgba(255, 255, 255, 0.88);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content li {
        color: var(--white);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content li::before {
        background: var(--yellow);
    }

    .premium-services .service-runway__item--new-layout .service-runway__link {
        align-self: flex-start;
        width: max-content;
        max-width: 100%;
        color: var(--white);
    }

    .premium-services .service-runway__item--new-layout .service-runway__link:hover {
        color: var(--yellow);
    }

}


@media (max-width: 900px) {

    .premium-services .service-runway__item--new-layout .service-runway__content {
        background: none;
        color: var(--ink);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content > p {
        color: rgba(21, 22, 20, 0.68);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content li {
        color: var(--ink);
    }

    .premium-services .service-runway__item--new-layout .service-runway__link {
        color: var(--ink);
    }

}

/* /STAY IN YOUR LANE NEW LAYOUT COMPOSITION FIX V2 */

/* STAY IN YOUR LANE SECTION 02 NUMBER RAIL COLOR FIX V1 */

/*
   Put Section 02 back to the previous layout,
   but change only the left number rail color so
   the yellow block does not feel visually shoved right.
*/

.premium-services .service-runway__item--new-layout .service-runway__number {
    background: var(--yellow);
    color: var(--ink);
    border-right: 1px solid rgba(21, 22, 20, 0.14);
}

.premium-services .service-runway__item--new-layout .service-runway__number span,
.premium-services .service-runway__item--new-layout .service-runway__number strong {
    color: var(--ink);
}

/* /STAY IN YOUR LANE SECTION 02 NUMBER RAIL COLOR FIX V1 */

/* STAY IN YOUR LANE SERVICES SECTION 02 + 03 FIX V1 */

/*
   Section 02: give the number rail an accessible blue similar
   to the handicap pavement marking so the yellow block feels
   less visually shoved to the right.

   Section 03: reduce and constrain the title so it stops
   overlapping/clipping.
*/

.premium-services .service-runway__item:nth-of-type(2) .service-runway__number {
    background: #2f6fd6;
    color: #ffffff;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.premium-services .service-runway__item:nth-of-type(2) .service-runway__number span,
.premium-services .service-runway__item:nth-of-type(2) .service-runway__number strong {
    color: #ffffff;
}

.premium-services .service-runway__item:nth-of-type(3) .service-runway__title {
    font-size: clamp(2.9rem, 4.2vw, 4.9rem);
    line-height: 0.92;
    letter-spacing: -0.035em;
    max-width: 7.2ch;
    text-wrap: balance;
}

@media (max-width: 1400px) {
    .premium-services .service-runway__item:nth-of-type(3) .service-runway__title {
        font-size: clamp(2.6rem, 4vw, 4.3rem);
        max-width: 7.5ch;
    }
}

/* /STAY IN YOUR LANE SERVICES SECTION 02 + 03 FIX V1 */

/* STAY IN YOUR LANE SERVICES 02 03 ALIGNMENT FIX V2 */

/* ------------------------------------------------------------
   SECTION 02
   Accessible-blue number rail
   ------------------------------------------------------------ */

.premium-services .service-runway__item--new-layout .service-runway__number {
    background: #2f6fd6 !important;
    color: #ffffff !important;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}


/* ------------------------------------------------------------
   SECTION 03
   Match Section 02 column proportions exactly
   ------------------------------------------------------------ */

@media (min-width: 901px) {

    .premium-services .service-runway__item--safety {
        grid-template-columns:
            6rem
            minmax(16rem, 0.58fr)
            minmax(0, 1.42fr);
    }

}


/* ------------------------------------------------------------
   ALL THREE SERVICE TITLES
   Same type scale, including the long Section 03 heading
   ------------------------------------------------------------ */

@media (min-width: 901px) {

    .premium-services .service-runway__heading h3 {
        max-width: 100%;
        font-size: clamp(2.35rem, 3vw, 3rem);
        line-height: 0.91;
        letter-spacing: -0.045em;
        overflow-wrap: normal;
        word-break: normal;
    }

}


@media (min-width: 901px) and (max-width: 1180px) {

    .premium-services .service-runway__heading h3 {
        font-size: 2.35rem;
    }

}

/* /STAY IN YOUR LANE SERVICES 02 03 ALIGNMENT FIX V2 */

/* STAY IN YOUR LANE SECTION 03 HEADING CONTAINMENT V1 */

/* Keep the long Safety + Traffic heading inside column 2. */

@media (min-width: 901px) {

    .premium-services .service-runway__item--safety .service-runway__heading {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        padding-right: 1.5rem;
    }

    .premium-services .service-runway__item--safety .service-runway__heading h3 {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        font-size: clamp(2.15rem, 2.55vw, 2.7rem);
        line-height: 0.92;
        letter-spacing: -0.045em;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
    }

}

/* /STAY IN YOUR LANE SECTION 03 HEADING CONTAINMENT V1 */

/* STAY IN YOUR LANE SECTION 03 FINAL TYPE TUNE V1 */

@media (min-width: 901px) {

    .premium-services .service-runway__item--safety .service-runway__heading {
        padding-right: 2rem;
    }

    .premium-services .service-runway__item--safety .service-runway__heading h3 {
        font-size: clamp(2rem, 2.35vw, 2.5rem);
        line-height: 0.93;
        letter-spacing: -0.04em;
    }

}

/* /STAY IN YOUR LANE SECTION 03 FINAL TYPE TUNE V1 */

/* STAY IN YOUR LANE SECTION 01 MATCH SECTIONS 02 03 V1 */

@media (min-width: 901px) {

    /*
       Make section 01 use the same visual structure as 02 and 03:
       number rail | heading panel | image/content panel
    */

    .premium-services .service-runway__item--restriping {
        grid-template-columns: 5.875rem minmax(16rem, 22rem) minmax(0, 1fr);
    }

    .premium-services .service-runway__item--restriping .service-runway__number {
        background: var(--black);
        color: var(--yellow);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading {
        background: var(--paper);
        color: var(--ink);
        padding: clamp(2.25rem, 3vw, 3.25rem);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        min-width: 0;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        font-size: clamp(2.6rem, 3.4vw, 4rem);
        line-height: 0.9;
        letter-spacing: -0.045em;
        max-width: 100%;
    }

    .premium-services .service-runway__item--restriping .service-runway__media,
    .premium-services .service-runway__item--restriping .service-runway__visual,
    .premium-services .service-runway__item--restriping .service-runway__image {
        min-width: 0;
        min-height: 100%;
    }

    .premium-services .service-runway__item--restriping .service-runway__media img,
    .premium-services .service-runway__item--restriping .service-runway__visual img,
    .premium-services .service-runway__item--restriping .service-runway__image img,
    .premium-services .service-runway__item--restriping img.service-runway__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* remove the “title living inside the image” feel */
    .premium-services .service-runway__item--restriping .service-runway__media .service-runway__eyebrow,
    .premium-services .service-runway__item--restriping .service-runway__visual .service-runway__eyebrow {
        display: none;
    }

    .premium-services .service-runway__item--restriping .service-runway__media h3,
    .premium-services .service-runway__item--restriping .service-runway__visual h3 {
        display: none;
    }

}

/* /STAY IN YOUR LANE SECTION 01 MATCH SECTIONS 02 03 V1 */

/* STAY IN YOUR LANE SECTION 01 HARD RESET V1 */

@media (min-width: 901px) {

    /*
       Section 01:
       number rail | title panel | photo/content panel
    */

    .premium-services .service-runway__item--restriping {
        display: grid;
        grid-template-columns:
            6rem
            minmax(16rem, 0.58fr)
            minmax(0, 1.42fr);
        grid-template-rows: minmax(22rem, auto);
        gap: 0;
        min-height: 22rem;
        align-items: stretch;
        background: var(--paper);
    }


    /* NUMBER RAIL */

    .premium-services .service-runway__item--restriping .service-runway__number {
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
        display: grid;
        place-items: center;
        padding: 0;
        background: var(--ink) !important;
        color: var(--yellow) !important;
        border-right: 0;
    }


    /* TITLE PANEL */

    .premium-services .service-runway__item--restriping .service-runway__heading {
        position: relative;
        z-index: 3;
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        max-width: none;
        padding:
            clamp(2.5rem, 4vw, 4rem)
            clamp(2rem, 3vw, 3rem);
        overflow: hidden;
        background: var(--paper);
        color: var(--ink);
        pointer-events: auto;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading > p {
        margin-bottom: 0.65rem;
        color: var(--muted) !important;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        width: 100%;
        max-width: 100%;
        margin: 0;
        color: var(--ink) !important;
        font-size: clamp(2.35rem, 3vw, 3rem);
        line-height: 0.91;
        letter-spacing: -0.045em;
        white-space: normal;
    }


    /* PHOTO */

    .premium-services .service-runway__item--restriping .service-runway__photo--restriping,
    .premium-services .service-runway__item--restriping .service-runway__photo {
        position: relative;
        z-index: 1;
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: stretch;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 22rem;
        margin: 0 !important;
        padding: 0;
        overflow: hidden;
        aspect-ratio: auto !important;
        border: 0;
        background: var(--asphalt);
    }

    .premium-services .service-runway__item--restriping .service-runway__photo--restriping img,
    .premium-services .service-runway__item--restriping .service-runway__photo img {
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
        filter:
            saturate(0.88)
            contrast(1.05)
            brightness(0.72);
    }


    /* COPY OVER PHOTO */

    .premium-services .service-runway__item--restriping .service-runway__content {
        position: relative;
        z-index: 2;
        grid-column: 3;
        grid-row: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
        padding:
            clamp(2.5rem, 4vw, 4rem);
        color: var(--white);
        background:
            linear-gradient(
                90deg,
                rgba(12, 13, 12, 0.92) 0%,
                rgba(12, 13, 12, 0.78) 52%,
                rgba(12, 13, 12, 0.42) 100%
            );
    }

    .premium-services .service-runway__item--restriping .service-runway__content > p {
        color: rgba(255, 255, 255, 0.88);
    }

    .premium-services .service-runway__item--restriping .service-runway__content li {
        color: var(--white);
    }

    .premium-services .service-runway__item--restriping .service-runway__content li::before {
        background: var(--yellow);
    }

    .premium-services .service-runway__item--restriping .service-runway__link {
        align-self: flex-start;
        width: max-content;
        max-width: 100%;
        color: var(--white);
    }

    .premium-services .service-runway__item--restriping .service-runway__link:hover {
        color: var(--yellow);
    }

}


@media (max-width: 900px) {

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        color: var(--ink) !important;
    }

}

/* /STAY IN YOUR LANE SECTION 01 HARD RESET V1 */

/* STAY IN YOUR LANE MARKING MATRIX IMAGE TUNE V2 */

/*
   Stop the detail photograph from behaving like
   an oversized grid card.

   Make it a full-width editorial divider instead.
*/

.premium-services .marking-matrix__visual {
    position: relative;
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 0;
    height: clamp(12rem, 18vw, 18rem);
    margin: 0;
    overflow: hidden;
    border-right: 1px solid rgba(255, 255, 255, 0.35);
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.premium-services .marking-matrix__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
    filter:
        saturate(0.72)
        contrast(1.08)
        brightness(0.86);
}

.premium-services .marking-matrix__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(47, 111, 214, 0.30),
            rgba(47, 111, 214, 0.08)
        );
    pointer-events: none;
}

@media (max-width: 900px) {

    .premium-services .marking-matrix__visual {
        grid-column: 1 / -1;
        height: clamp(11rem, 34vw, 16rem);
    }

}

@media (max-width: 640px) {

    .premium-services .marking-matrix__visual {
        grid-column: 1;
        height: 12rem;
    }

}

/* /STAY IN YOUR LANE MARKING MATRIX IMAGE TUNE V2 */

/* STAY IN YOUR LANE SERVICES MOBILE RESCUE V1 */

/*
   MOBILE ONLY.
   Desktop, wide, and ultrawide remain untouched.
*/

@media (max-width: 640px) {


    /* ========================================================
       GLOBAL SHRINK SAFEGUARDS
       ======================================================== */

    .premium-services main,
    .premium-services section,
    .premium-services .site-shell,
    .premium-services .services-page-hero__grid,
    .premium-services .services-page-hero__copy,
    .premium-services .section-heading,
    .premium-services .service-runway__item,
    .premium-services .service-runway__heading,
    .premium-services .service-runway__content {
        min-width: 0;
        max-width: 100%;
    }


    /* ========================================================
       HERO
       ======================================================== */

    .premium-services .services-page-hero__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2.5rem;
        min-height: auto;
        padding-block: 4.5rem;
    }

    .premium-services .services-page-hero__copy {
        width: 100%;
        max-width: 100%;
    }

    .premium-services .services-page-hero h1 {
        width: 100%;
        max-width: 100%;
        margin-bottom: 1.5rem;
        font-size: clamp(3.45rem, 12.5vw, 4rem);
        line-height: 0.84;
        letter-spacing: -0.055em;
        overflow-wrap: normal;
        word-break: normal;
    }

    .premium-services .services-page-hero h1 em {
        max-width: 100%;
    }

    .premium-services .services-page-hero__intro {
        width: 100%;
        max-width: 32rem;
        margin-bottom: 1.75rem;
        font-size: 1rem;
        line-height: 1.65;
        overflow-wrap: break-word;
    }

    .premium-services .services-page-hero .hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.8rem;
        width: 100%;
    }

    .premium-services .services-page-hero .hero__actions .button {
        width: 100%;
        justify-content: center;
    }

    .premium-services .services-page-hero__diagram {
        width: 100%;
        min-height: 19rem;
        margin-top: 1rem;
        transform: none;
    }


    /* ========================================================
       SERVICES INTRO
       ======================================================== */

    .premium-services .service-runway .section-heading {
        margin-bottom: 3rem;
    }

    .premium-services .service-runway .section-heading h2 {
        max-width: 100%;
        font-size: clamp(2.75rem, 11vw, 3.6rem);
        line-height: 0.91;
        letter-spacing: -0.045em;
    }

    .premium-services .service-runway .section-heading__intro {
        width: 100%;
        max-width: 100%;
        margin-top: 1.4rem;
        font-size: 0.98rem;
        line-height: 1.7;
    }


    /* ========================================================
       ALL THREE SERVICE ROWS
       ======================================================== */

    .premium-services .service-runway__item--restriping,
    .premium-services .service-runway__item--new-layout,
    .premium-services .service-runway__item--safety {
        display: grid;
        grid-template-columns: 3.8rem minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        gap: 0;
        min-height: 0;
        align-items: stretch;
    }


    /* Number rails */

    .premium-services .service-runway__item--restriping .service-runway__number,
    .premium-services .service-runway__item--new-layout .service-runway__number,
    .premium-services .service-runway__item--safety .service-runway__number {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: stretch;
        min-width: 0;
        padding: 0;
        font-size: 1.55rem;
    }


    /* Headings */

    .premium-services .service-runway__item--restriping .service-runway__heading,
    .premium-services .service-runway__item--new-layout .service-runway__heading,
    .premium-services .service-runway__item--safety .service-runway__heading {
        position: relative;
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 1.8rem 1.3rem 0.9rem;
        overflow: hidden;
        pointer-events: auto;
    }

    .premium-services .service-runway__heading > p {
        margin-bottom: 0.65rem;
    }

    .premium-services .service-runway__heading h3 {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0;
        font-size: clamp(2.55rem, 10vw, 3.3rem);
        line-height: 0.9;
        letter-spacing: -0.045em;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }


    /* Section 03 has the long title. Discipline it separately. */

    .premium-services .service-runway__item--safety .service-runway__heading h3 {
        font-size: clamp(2.15rem, 8.6vw, 2.8rem);
        line-height: 0.92;
        letter-spacing: -0.035em;
    }


    /* Body copy */

    .premium-services .service-runway__item--restriping .service-runway__content,
    .premium-services .service-runway__item--new-layout .service-runway__content,
    .premium-services .service-runway__item--safety .service-runway__content {
        position: relative;
        grid-column: 2;
        grid-row: 2;
        align-self: auto;
        display: block;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 0 1.3rem 2rem;
    }

    .premium-services .service-runway__content > p {
        max-width: 100%;
        margin-bottom: 1.4rem;
        font-size: 0.93rem;
        line-height: 1.65;
    }

    .premium-services .service-runway__content ul {
        grid-template-columns: 1fr;
        gap: 0.55rem;
        margin-bottom: 1.7rem;
    }

    .premium-services .service-runway__link {
        width: max-content;
        max-width: 100%;
        align-self: flex-start;
    }


    /* ========================================================
       MOBILE PHOTOS
       ======================================================== */

    .premium-services .service-runway__photo--restriping,
    .premium-services .service-runway__photo--new-layout,
    .premium-services .service-runway__photo--safety {
        position: relative;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: 16 / 10 !important;
    }

    .premium-services .service-runway__photo--restriping img,
    .premium-services .service-runway__photo--new-layout img,
    .premium-services .service-runway__photo--safety img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover;
        object-position: center;
    }


    /* Restore readable mobile colors after desktop overlays. */

    .premium-services .service-runway__item--restriping .service-runway__heading {
        background: var(--paper);
        color: var(--ink);
    }

    .premium-services .service-runway__item--restriping .service-runway__heading h3 {
        color: var(--ink) !important;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading > p {
        color: var(--muted) !important;
    }

    .premium-services .service-runway__item--restriping .service-runway__content {
        background: var(--paper);
        color: var(--ink);
    }

    .premium-services .service-runway__item--restriping .service-runway__content > p {
        color: var(--muted);
    }

    .premium-services .service-runway__item--restriping .service-runway__content li {
        color: var(--ink);
    }


    .premium-services .service-runway__item--new-layout .service-runway__heading,
    .premium-services .service-runway__item--new-layout .service-runway__content {
        background: var(--yellow);
        color: var(--ink);
    }

    .premium-services .service-runway__item--new-layout .service-runway__content > p {
        color: rgba(21, 22, 20, 0.72);
    }


    .premium-services .service-runway__item--safety .service-runway__heading,
    .premium-services .service-runway__item--safety .service-runway__content {
        background: var(--asphalt-soft);
        color: var(--white);
    }

    .premium-services .service-runway__item--safety .service-runway__content > p {
        color: rgba(255, 255, 255, 0.72);
    }


    /* ========================================================
       MARKING MATRIX
       ======================================================== */

    .premium-services .marking-matrix .section-heading h2 {
        font-size: clamp(2.7rem, 11vw, 3.5rem);
        line-height: 0.92;
    }

    .premium-services .marking-matrix__grid {
        grid-template-columns: 1fr;
    }

    .premium-services .marking-matrix__visual {
        grid-column: 1;
        height: 12rem;
        min-height: 0;
    }

    .premium-services .marking-matrix__grid article {
        min-height: 13rem;
    }

    .premium-services .marking-matrix__grid article > span {
        margin-bottom: 2.5rem;
    }

    .premium-services .marking-matrix__grid strong {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

}

/* /STAY IN YOUR LANE SERVICES MOBILE RESCUE V1 */

/* STAY IN YOUR LANE SERVICES MOBILE RESCUE V2 */

@media (max-width: 640px) {

    /* ------------------------------------------------------------
       HERO
       ------------------------------------------------------------ */

    .premium-services .services-page-hero {
        overflow: hidden;
    }

    .premium-services .services-page-hero__grid {
        width: 100%;
        max-width: 100%;
        padding-block: 4rem;
    }

    .premium-services .services-page-hero__copy {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .premium-services .services-page-hero h1 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(3rem, 12vw, 3.65rem) !important;
        line-height: 0.86 !important;
        letter-spacing: -0.05em;
        overflow: hidden;
    }

    .premium-services .services-page-hero__intro {
        width: 100%;
        max-width: 100%;
        font-size: 0.96rem;
        line-height: 1.65;
        overflow-wrap: anywhere;
    }


    /* ------------------------------------------------------------
       SERVICE INTRO
       ------------------------------------------------------------ */

    .premium-services .service-runway .section-heading h2 {
        font-size: clamp(2.55rem, 10vw, 3.2rem) !important;
        line-height: 0.92 !important;
        letter-spacing: -0.045em;
    }


    /* ------------------------------------------------------------
       SERVICE ROW STRUCTURE
       ------------------------------------------------------------ */

    .premium-services .service-runway__item--restriping,
    .premium-services .service-runway__item--new-layout,
    .premium-services .service-runway__item--safety {
        grid-template-columns: 3.8rem minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        min-height: 0 !important;
        overflow: hidden;
    }

    .premium-services .service-runway__item--restriping .service-runway__number,
    .premium-services .service-runway__item--new-layout .service-runway__number,
    .premium-services .service-runway__item--safety .service-runway__number {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
        width: 3.8rem;
        min-width: 3.8rem;
        font-size: 1.55rem;
    }

    .premium-services .service-runway__item--restriping .service-runway__heading,
    .premium-services .service-runway__item--new-layout .service-runway__heading,
    .premium-services .service-runway__item--safety .service-runway__heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 1.75rem 1.25rem 0.8rem !important;
        overflow: hidden !important;
    }

    .premium-services .service-runway__heading h3 {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(2.25rem, 9vw, 2.85rem) !important;
        line-height: 0.91 !important;
        letter-spacing: -0.04em !important;
        white-space: normal !important;
    }


    /* Long Section 03 title needs its own smaller ceiling. */

    .premium-services .service-runway__item--safety .service-runway__heading h3 {
        font-size: clamp(1.95rem, 7.8vw, 2.45rem) !important;
        line-height: 0.94 !important;
        letter-spacing: -0.025em !important;
    }


    .premium-services .service-runway__item--restriping .service-runway__content,
    .premium-services .service-runway__item--new-layout .service-runway__content,
    .premium-services .service-runway__item--safety .service-runway__content {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 0 1.25rem 2rem !important;
        overflow: hidden;
    }

    .premium-services .service-runway__content > p {
        width: 100%;
        max-width: 100%;
        font-size: 0.92rem;
        line-height: 1.65;
    }

    .premium-services .service-runway__content ul {
        grid-template-columns: 1fr !important;
        gap: 0.55rem;
    }


    /* ------------------------------------------------------------
       PHOTOS
       ------------------------------------------------------------ */

    .premium-services .service-runway__photo--restriping,
    .premium-services .service-runway__photo--new-layout,
    .premium-services .service-runway__photo--safety {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    .premium-services .service-runway__photo--restriping img,
    .premium-services .service-runway__photo--new-layout img,
    .premium-services .service-runway__photo--safety img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }


    /* ------------------------------------------------------------
       MATRIX
       ------------------------------------------------------------ */

    .premium-services .marking-matrix__grid {
        grid-template-columns: 1fr !important;
    }

    .premium-services .marking-matrix__visual {
        grid-column: 1 !important;
        width: 100%;
        height: 12rem;
        min-height: 0;
    }

    .premium-services .marking-matrix .section-heading h2 {
        font-size: clamp(2.45rem, 10vw, 3.15rem) !important;
        line-height: 0.92 !important;
    }

}

/* /STAY IN YOUR LANE SERVICES MOBILE RESCUE V2 */

/* STAY IN YOUR LANE SERVICES MOBILE IMAGE TUNE V3 */

@media (max-width: 640px) {

    /*
       Mobile photography becomes a short editorial strip.
       Desktop, wide and ultrawide remain untouched.
    */

    .premium-services .service-runway__photo--restriping,
    .premium-services .service-runway__photo--new-layout,
    .premium-services .service-runway__photo--safety {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        width: 100% !important;
        max-width: none !important;
        height: clamp(10rem, 40vw, 12rem) !important;
        min-height: 0 !important;
        margin: 0 !important;
        overflow: hidden;
        aspect-ratio: auto !important;
    }

    .premium-services .service-runway__photo--restriping img,
    .premium-services .service-runway__photo--new-layout img,
    .premium-services .service-runway__photo--safety img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }


    /* Waldo: keep worker + striping machine visible. */

    .premium-services .service-runway__photo--restriping img {
        object-position: center 52%;
    }


    /* New Layouts: preserve the measuring worker on the right. */

    .premium-services .service-runway__photo--new-layout img {
        object-position: 61% 52%;
    }


    /* Safety: favor the markings rather than the distant building. */

    .premium-services .service-runway__photo--safety img {
        object-position: center 67%;
    }


    /* Marking Matrix detail image gets the same compact rhythm. */

    .premium-services .marking-matrix__visual {
        width: 100%;
        height: 10rem !important;
        min-height: 0 !important;
        aspect-ratio: auto;
    }

    .premium-services .marking-matrix__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 55%;
    }

}

/* /STAY IN YOUR LANE SERVICES MOBILE IMAGE TUNE V3 */

/* STAY IN YOUR LANE PREMIUM RESTRIPING V1 */


/* ============================================================
   HERO
   ============================================================ */

.premium-restriping .restriping-hero {
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.premium-restriping .restriping-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(28rem, 1.12fr);
    gap: 0;
    align-items: stretch;
    min-height: 42rem;
}

.premium-restriping .restriping-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(4rem, 7vw, 7rem)
        clamp(3rem, 5vw, 5rem)
        clamp(4rem, 7vw, 7rem)
        0;
}

.premium-restriping .restriping-hero .eyebrow {
    color: var(--yellow);
}

.premium-restriping .restriping-hero h1 {
    max-width: 48rem;
    margin: 0 0 1.8rem;
    font-family: var(--font-display);
    font-size: clamp(4rem, 6.4vw, 6.7rem);
    font-weight: 900;
    line-height: 0.84;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-restriping .restriping-hero h1 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-restriping .restriping-hero__intro {
    max-width: 42rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.02rem;
    line-height: 1.7;
}

.premium-restriping .restriping-button--ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.4);
}

.premium-restriping .restriping-button--ghost:hover {
    background: var(--white);
    color: var(--ink);
    border-color: var(--white);
}

.premium-restriping .restriping-hero__photo {
    position: relative;
    min-width: 0;
    min-height: 42rem;
    margin: 0;
    overflow: hidden;
    background: var(--ink);
}

.premium-restriping .restriping-hero__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(17, 18, 17, 0.35) 0%,
            transparent 35%
        );
    pointer-events: none;
}

.premium-restriping .restriping-hero__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.9) contrast(1.05);
}

.premium-restriping .restriping-hero__photo figcaption {
    position: absolute;
    z-index: 2;
    right: 1.5rem;
    bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 1rem 1.2rem;
    background: var(--yellow);
    color: var(--ink);
}

.premium-restriping .restriping-hero__photo figcaption span {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.premium-restriping .restriping-hero__photo figcaption strong {
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-restriping .restriping-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--yellow);
    color: var(--ink);
}

.premium-restriping .restriping-hero__strip span {
    display: grid;
    place-items: center;
    min-height: 4.25rem;
    padding: 1rem;
    border-right: 1px solid rgba(21, 22, 20, 0.24);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.premium-restriping .restriping-hero__strip span:last-child {
    border-right: 0;
}


/* ============================================================
   SCOPE
   ============================================================ */

.premium-restriping .restriping-scope {
    background: var(--paper-light);
}

.premium-restriping .restriping-scope__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 0.45rem solid var(--ink);
    border-left: 1px solid var(--line);
}

.premium-restriping .restriping-scope__grid article {
    min-height: 18rem;
    padding: clamp(1.8rem, 3vw, 2.8rem);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}

.premium-restriping .restriping-scope__grid article:nth-child(2),
.premium-restriping .restriping-scope__grid article:nth-child(5) {
    background: var(--yellow);
}

.premium-restriping .restriping-scope__grid article:nth-child(3) {
    background: var(--asphalt-soft);
    color: var(--white);
}

.premium-restriping .restriping-scope__grid article > span {
    display: block;
    margin-bottom: 4rem;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.premium-restriping .restriping-scope__grid strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.8vw, 3rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

.premium-restriping .restriping-scope__grid p {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.65;
}

.premium-restriping .restriping-scope__grid article:nth-child(3) p {
    color: rgba(255, 255, 255, 0.66);
}


/* ============================================================
   DIAGNOSIS
   ============================================================ */

.premium-restriping .restriping-diagnosis {
    background: var(--asphalt);
    color: var(--white);
}

.premium-restriping .restriping-diagnosis__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-restriping .restriping-diagnosis__statement .eyebrow {
    color: var(--yellow);
}

.premium-restriping .restriping-diagnosis__statement h2 {
    max-width: 42rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.4rem, 5.5vw, 5.5rem);
    font-weight: 900;
    line-height: 0.87;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-restriping .restriping-diagnosis__statement h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-restriping .restriping-diagnosis__choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.premium-restriping .restriping-choice {
    min-width: 0;
    padding: clamp(2rem, 3.5vw, 3.5rem);
}

.premium-restriping .restriping-choice--yes {
    background: var(--paper-light);
    color: var(--ink);
}

.premium-restriping .restriping-choice--no {
    background: var(--red);
    color: var(--white);
}

.premium-restriping .restriping-choice > p {
    margin-bottom: 0.7rem;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.premium-restriping .restriping-choice h3 {
    margin: 0 0 1.7rem;
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 3.5vw, 3.6rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-restriping .restriping-choice ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.premium-restriping .restriping-choice li {
    padding: 0.8rem 0;
    border-bottom: 1px solid currentColor;
    font-size: 0.88rem;
    opacity: 0.88;
}

.premium-restriping .restriping-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    width: max-content;
    max-width: 100%;
    margin-top: 2rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-restriping .restriping-process {
    background: var(--yellow);
}

.premium-restriping .restriping-process__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0.45rem solid var(--ink);
    border-left: 1px solid rgba(21, 22, 20, 0.28);
}

.premium-restriping .restriping-process__track li {
    min-height: 20rem;
    padding: 2rem;
    border-right: 1px solid rgba(21, 22, 20, 0.28);
    border-bottom: 1px solid rgba(21, 22, 20, 0.28);
}

.premium-restriping .restriping-process__track li > span {
    display: block;
    margin-bottom: 5rem;
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 900;
}

.premium-restriping .restriping-process__track strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 900;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-restriping .restriping-process__track p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.6;
}


/* ============================================================
   QUOTE INFO
   ============================================================ */

.premium-restriping .restriping-quote-info {
    background: var(--blue);
    color: var(--white);
}

.premium-restriping .restriping-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: end;
}

.premium-restriping .restriping-quote-info .eyebrow {
    color: var(--white);
}

.premium-restriping .restriping-quote-info h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.2rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-restriping .restriping-quote-info h2 em {
    display: block;
    font-style: normal;
}

.premium-restriping .restriping-quote-info__items {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}

.premium-restriping .restriping-quote-info__items > div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.premium-restriping .restriping-quote-info__items span {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.11em;
}

.premium-restriping .restriping-quote-info__items strong {
    font-family: var(--font-display);
    font-size: 1.55rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}


/* ============================================================
   FAQ
   ============================================================ */

.premium-restriping .restriping-faq {
    background: var(--paper-light);
}

.premium-restriping .restriping-faq__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 7vw, 8rem);
}

.premium-restriping .restriping-faq h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.2rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-restriping .restriping-faq h2 em {
    display: block;
    color: var(--yellow-dark);
    font-style: normal;
}

.premium-restriping .restriping-faq__list {
    border-top: 0.4rem solid var(--ink);
}

.premium-restriping .restriping-faq__list details {
    border-bottom: 1px solid var(--line);
}

.premium-restriping .restriping-faq__list summary {
    cursor: pointer;
    padding: 1.5rem 0;
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 900;
    text-transform: uppercase;
}

.premium-restriping .restriping-faq__list details p {
    max-width: 44rem;
    padding-bottom: 1.5rem;
    color: var(--muted);
    line-height: 1.7;
}


/* ============================================================
   CLOSE
   ============================================================ */

.premium-restriping .restriping-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--red);
    color: var(--white);
}

.premium-restriping .restriping-close::after {
    content: "";
    position: absolute;
    right: 8%;
    top: -50%;
    width: 0.7rem;
    height: 200%;
    background: var(--yellow);
    transform: rotate(22deg);
    opacity: 0.8;
}

.premium-restriping .restriping-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.premium-restriping .restriping-close .eyebrow {
    color: var(--white);
}

.premium-restriping .restriping-close h2 {
    max-width: 60rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 6vw, 6rem);
    font-weight: 900;
    line-height: 0.86;
    letter-spacing: -0.055em;
    text-transform: uppercase;
}

.premium-restriping .restriping-close h2 em {
    display: block;
    font-style: normal;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1100px) {

    .premium-restriping .restriping-hero__grid {
        grid-template-columns: 1fr 1fr;
    }

    .premium-restriping .restriping-scope__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-restriping .restriping-process__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .premium-restriping .restriping-hero__grid,
    .premium-restriping .restriping-diagnosis__grid,
    .premium-restriping .restriping-quote-info__grid,
    .premium-restriping .restriping-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-restriping .restriping-hero__copy {
        padding-block: 5rem;
        padding-right: 0;
    }

    .premium-restriping .restriping-hero__photo {
        min-height: 28rem;
    }

    .premium-restriping .restriping-hero__strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .premium-restriping .restriping-diagnosis__choices {
        grid-template-columns: 1fr 1fr;
    }

    .premium-restriping .restriping-close__inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 640px) {

    .premium-restriping .restriping-hero__copy {
        padding-block: 4rem;
    }

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.1rem, 12vw, 3.8rem);
    }

    .premium-restriping .restriping-hero .hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .premium-restriping .restriping-hero .hero__actions .button {
        width: 100%;
        justify-content: center;
    }

    .premium-restriping .restriping-hero__photo {
        min-height: 20rem;
    }

    .premium-restriping .restriping-hero__strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-restriping .restriping-scope__grid {
        grid-template-columns: 1fr;
    }

    .premium-restriping .restriping-scope__grid article {
        min-height: 14rem;
    }

    .premium-restriping .restriping-scope__grid article > span {
        margin-bottom: 2.5rem;
    }

    .premium-restriping .restriping-diagnosis__choices {
        grid-template-columns: 1fr;
    }

    .premium-restriping .restriping-diagnosis__statement h2,
    .premium-restriping .restriping-quote-info h2,
    .premium-restriping .restriping-faq h2,
    .premium-restriping .restriping-close h2 {
        font-size: clamp(2.8rem, 11vw, 3.7rem);
    }

    .premium-restriping .restriping-process__track {
        grid-template-columns: 1fr;
    }

    .premium-restriping .restriping-process__track li {
        min-height: auto;
    }

    .premium-restriping .restriping-process__track li > span {
        margin-bottom: 3rem;
    }

    .premium-restriping .restriping-quote-info__items > div {
        grid-template-columns: 5.5rem minmax(0, 1fr);
    }

    .premium-restriping .restriping-close .button {
        width: 100%;
    }

}

/* /STAY IN YOUR LANE PREMIUM RESTRIPING V1 */

/* STAY IN YOUR LANE RESTRIPING HERO TYPE FIX V3 */

.premium-restriping .restriping-hero__copy {
    min-width: 0;
}

.premium-restriping .restriping-hero h1 {
    width: 100%;
    max-width: 100%;
}


/* ============================================================
   DESKTOP
   Keep the entire headline inside the narrower left column.
   ============================================================ */

@media (min-width: 901px) and (max-width: 1100px) {

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.35rem, 5.4vw, 3.65rem);
        line-height: 0.88;
    }

    .premium-restriping .restriping-hero h1 em {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 0.16em;
        font-size: 0.86em;
        line-height: 0.92;
        letter-spacing: -0.04em;
        white-space: normal;
    }

}


/* ============================================================
   LARGE DESKTOP
   Slightly more room, but still contain FREELANCING.
   ============================================================ */

@media (min-width: 1101px) and (max-width: 1320px) {

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.7rem, 5vw, 4.35rem);
        line-height: 0.87;
    }

    .premium-restriping .restriping-hero h1 em {
        display: block;
        margin-top: 0.15em;
        font-size: 0.88em;
        line-height: 0.91;
    }

}


/* ============================================================
   WIDE + ULTRAWIDE
   The white headline does not need billboard dimensions.
   ============================================================ */

@media (min-width: 1321px) {

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.7rem, 4vw, 4.65rem);
        line-height: 0.88;
    }

    .premium-restriping .restriping-hero h1 em {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 0.14em;
        font-size: clamp(3.25rem, 3.5vw, 4.15rem);
        line-height: 0.9;
        letter-spacing: -0.04em;
        white-space: normal;
    }

}

/* /STAY IN YOUR LANE RESTRIPING HERO TYPE FIX V3 */

/* STAY IN YOUR LANE RESTRIPING PAGEWIDE TYPE AUDIT V1 */

/*
   SYSTEMIC FIX:
   Display typography must respond to the width of its
   content column, not behave like it owns the viewport.

   Mobile <= 900px remains under existing responsive rules.
*/


/* ============================================================
   GLOBAL COLUMN CONTAINMENT
   ============================================================ */

@media (min-width: 901px) {

    .premium-restriping .restriping-hero__copy,
    .premium-restriping .section-heading,
    .premium-restriping .section-heading > div,
    .premium-restriping .restriping-diagnosis__statement,
    .premium-restriping .restriping-diagnosis__choices,
    .premium-restriping .restriping-choice,
    .premium-restriping .restriping-process,
    .premium-restriping .restriping-quote-info__grid > div,
    .premium-restriping .restriping-faq__grid > div,
    .premium-restriping .restriping-close__inner > div {
        min-width: 0;
        max-width: 100%;
    }

    .premium-restriping h1,
    .premium-restriping h2,
    .premium-restriping h3 {
        max-width: 100%;
        overflow-wrap: normal;
        word-break: normal;
    }

}


/* ============================================================
   DESKTOP
   901 - 1320
   ============================================================ */

@media (min-width: 901px) and (max-width: 1320px) {

    /* Hero */

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.35rem, 5vw, 4.1rem);
        line-height: 0.89;
    }

    .premium-restriping .restriping-hero h1 em {
        margin-top: 0.16em;
        font-size: 0.84em;
        line-height: 0.93;
    }


    /* Shared section headings */

    .premium-restriping .section-heading h2 {
        font-size: clamp(3rem, 4.5vw, 3.8rem);
        line-height: 0.92;
        letter-spacing: -0.045em;
    }


    /* Diagnosis */

    .premium-restriping .restriping-diagnosis__statement h2 {
        font-size: clamp(3rem, 4.3vw, 3.65rem);
        line-height: 0.91;
        letter-spacing: -0.045em;
    }

    .premium-restriping .restriping-choice h3 {
        font-size: clamp(2rem, 3vw, 2.6rem);
        line-height: 0.94;
        letter-spacing: -0.035em;
    }


    /* Quote + FAQ */

    .premium-restriping .restriping-quote-info h2,
    .premium-restriping .restriping-faq h2 {
        font-size: clamp(3rem, 4.2vw, 3.7rem);
        line-height: 0.92;
        letter-spacing: -0.045em;
    }


    /* Close */

    .premium-restriping .restriping-close h2 {
        font-size: clamp(3.4rem, 4.8vw, 4.25rem);
        line-height: 0.9;
    }

}


/* ============================================================
   WIDE
   1321 - 2054
   ============================================================ */

@media (min-width: 1321px) and (max-width: 2054px) {

    /* Hero stays strong without billboard sizing. */

    .premium-restriping .restriping-hero h1 {
        font-size: clamp(3.65rem, 3.7vw, 4.45rem);
        line-height: 0.89;
    }

    .premium-restriping .restriping-hero h1 em {
        margin-top: 0.15em;
        font-size: clamp(3.15rem, 3.25vw, 3.85rem);
        line-height: 0.92;
    }


    /* General section headings */

    .premium-restriping .section-heading h2 {
        font-size: clamp(3.3rem, 3.4vw, 4rem);
        line-height: 0.92;
        letter-spacing: -0.045em;
    }


    /* The screenshot offender. */

    .premium-restriping .restriping-diagnosis__statement h2 {
        font-size: clamp(3.3rem, 3.35vw, 3.95rem);
        line-height: 0.91;
        letter-spacing: -0.045em;
    }

    .premium-restriping .restriping-choice h3 {
        font-size: clamp(2.15rem, 2.15vw, 2.75rem);
        line-height: 0.94;
        letter-spacing: -0.035em;
    }


    .premium-restriping .restriping-quote-info h2,
    .premium-restriping .restriping-faq h2 {
        font-size: clamp(3.3rem, 3.4vw, 4rem);
        line-height: 0.92;
        letter-spacing: -0.045em;
    }

    .premium-restriping .restriping-close h2 {
        font-size: clamp(3.8rem, 3.8vw, 4.6rem);
        line-height: 0.9;
    }

}


/* ============================================================
   TRUE ULTRAWIDE
   2055+

   More pixels do not mean typography should continue growing.
   ============================================================ */

@media (min-width: 2055px) {

    .premium-restriping .restriping-hero h1 {
        font-size: 4.45rem;
        line-height: 0.89;
    }

    .premium-restriping .restriping-hero h1 em {
        margin-top: 0.15em;
        font-size: 3.85rem;
        line-height: 0.92;
    }

    .premium-restriping .section-heading h2 {
        font-size: 4rem;
        line-height: 0.92;
    }

    .premium-restriping .restriping-diagnosis__statement h2 {
        font-size: 3.95rem;
        line-height: 0.91;
    }

    .premium-restriping .restriping-choice h3 {
        font-size: 2.75rem;
        line-height: 0.94;
    }

    .premium-restriping .restriping-quote-info h2,
    .premium-restriping .restriping-faq h2 {
        font-size: 4rem;
        line-height: 0.92;
    }

    .premium-restriping .restriping-close h2 {
        font-size: 4.6rem;
        line-height: 0.9;
    }

}


/* ============================================================
   CARD + PROCESS SAFETY
   ============================================================ */

@media (min-width: 901px) {

    .premium-restriping .restriping-scope__grid strong {
        max-width: 100%;
        font-size: clamp(1.8rem, 2vw, 2.5rem);
        line-height: 0.94;
    }

    .premium-restriping .restriping-process__track strong {
        max-width: 100%;
        font-size: clamp(1.6rem, 1.7vw, 2rem);
        line-height: 0.96;
    }

    .premium-restriping .restriping-quote-info__items strong {
        max-width: 100%;
        font-size: clamp(1.25rem, 1.4vw, 1.55rem);
    }

    .premium-restriping .restriping-faq__list summary {
        max-width: 100%;
        font-size: clamp(1.15rem, 1.35vw, 1.45rem);
        line-height: 1.1;
    }

}

/* /STAY IN YOUR LANE RESTRIPING PAGEWIDE TYPE AUDIT V1 */

/* STAY IN YOUR LANE PREMIUM NEW LAYOUTS V1 */


/* ============================================================
   GLOBAL PAGE SAFETY
   ============================================================ */

.premium-new-layouts main,
.premium-new-layouts section,
.premium-new-layouts .site-shell,
.premium-new-layouts .section-heading,
.premium-new-layouts .section-heading > div {
    min-width: 0;
}

.premium-new-layouts h1,
.premium-new-layouts h2,
.premium-new-layouts h3 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
}


/* ============================================================
   01. HERO
   ============================================================ */

.premium-new-layouts .new-layouts-hero {
    overflow: hidden;
    background: var(--yellow);
    color: var(--ink);
}

.premium-new-layouts .new-layouts-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(30rem, 1.18fr);
    min-height: 42rem;
}

.premium-new-layouts .new-layouts-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding:
        clamp(4rem, 6vw, 6.5rem)
        clamp(3rem, 4vw, 4.5rem)
        clamp(4rem, 6vw, 6.5rem)
        0;
}

.premium-new-layouts .new-layouts-hero .eyebrow {
    color: var(--ink);
}

.premium-new-layouts .new-layouts-hero h1 {
    width: 100%;
    max-width: 46rem;
    margin: 0 0 1.8rem;
    font-family: var(--font-display);
    font-size: clamp(3.7rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.052em;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-hero h1 em {
    display: block;
    margin-top: 0.1em;
    color: var(--blue);
    font-style: normal;
}

.premium-new-layouts .new-layouts-hero__intro {
    max-width: 40rem;
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 1.7;
}

.premium-new-layouts .new-layouts-button--ghost {
    border-color: rgba(21, 22, 20, 0.55);
    color: var(--ink);
}

.premium-new-layouts .new-layouts-button--ghost:hover {
    background: var(--ink);
    color: var(--white);
}

.premium-new-layouts .new-layouts-hero__photo {
    position: relative;
    min-width: 0;
    min-height: 42rem;
    margin: 0;
    overflow: hidden;
    background: var(--asphalt);
}

.premium-new-layouts .new-layouts-hero__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.9) contrast(1.04);
}

.premium-new-layouts .new-layouts-hero__photo figcaption {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 18rem;
    padding: 1rem 1.2rem;
    background: var(--blue);
    color: var(--white);
}

.premium-new-layouts .new-layouts-hero__photo figcaption span {
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-hero__photo figcaption strong {
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--asphalt);
    color: var(--white);
}

.premium-new-layouts .new-layouts-hero__strip span {
    display: grid;
    place-items: center;
    min-height: 4.2rem;
    padding: 1rem;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}


/* ============================================================
   02. SCOPE
   ============================================================ */

.premium-new-layouts .layout-scope {
    background: var(--paper-light);
}

.premium-new-layouts .layout-scope .section-heading h2 {
    font-size: clamp(3rem, 4vw, 4.2rem);
    line-height: 0.92;
    letter-spacing: -0.045em;
}

.premium-new-layouts .layout-scope .section-heading h2 em {
    color: var(--blue);
}

.premium-new-layouts .layout-scope__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 0.45rem solid var(--ink);
    border-left: 1px solid var(--line);
}

.premium-new-layouts .layout-scope__grid article {
    min-width: 0;
    min-height: 18rem;
    padding: clamp(1.8rem, 2.8vw, 2.8rem);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}

.premium-new-layouts .layout-scope__grid article:nth-child(2),
.premium-new-layouts .layout-scope__grid article:nth-child(6) {
    background: var(--blue);
    color: var(--white);
}

.premium-new-layouts .layout-scope__grid article:nth-child(4) {
    background: var(--yellow);
}

.premium-new-layouts .layout-scope__grid article > span {
    display: block;
    margin-bottom: 3.7rem;
    font-family: var(--font-mono);
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.premium-new-layouts .layout-scope__grid strong {
    display: block;
    max-width: 100%;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 2.3vw, 2.6rem);
    font-weight: 900;
    line-height: 0.93;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

.premium-new-layouts .layout-scope__grid p {
    margin: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.65;
}

.premium-new-layouts .layout-scope__grid article:nth-child(2) p,
.premium-new-layouts .layout-scope__grid article:nth-child(6) p {
    color: rgba(255, 255, 255, 0.72);
}


/* ============================================================
   03. PLANNING BOARD
   ============================================================ */

.premium-new-layouts .layout-planning {
    position: relative;
    overflow: hidden;
    background: var(--asphalt);
    color: var(--white);
}

.premium-new-layouts .layout-planning::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 4rem 4rem;
    pointer-events: none;
}

.premium-new-layouts .layout-planning__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-new-layouts .layout-planning__statement .eyebrow {
    color: var(--yellow);
}

.premium-new-layouts .layout-planning__statement h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.2rem, 4vw, 4.2rem);
    font-weight: 900;
    line-height: 0.91;
    letter-spacing: -0.047em;
    text-transform: uppercase;
}

.premium-new-layouts .layout-planning__statement h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-new-layouts .layout-planning__board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(255, 255, 255, 0.32);
    border-left: 1px solid rgba(255, 255, 255, 0.32);
}

.premium-new-layouts .layout-planning__board article {
    min-width: 0;
    min-height: 17rem;
    padding: clamp(1.8rem, 3vw, 2.7rem);
    border-right: 1px solid rgba(255, 255, 255, 0.32);
    border-bottom: 1px solid rgba(255, 255, 255, 0.32);
}

.premium-new-layouts .layout-planning__board article:nth-child(2) {
    background: var(--blue);
}

.premium-new-layouts .layout-planning__board article:nth-child(3) {
    background: var(--yellow);
    color: var(--ink);
}

.premium-new-layouts .layout-planning__board span {
    display: block;
    margin-bottom: 3rem;
    font-family: var(--font-mono);
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.11em;
}

.premium-new-layouts .layout-planning__board strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2vw, 2.3rem);
    font-weight: 900;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-new-layouts .layout-planning__board p {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.88rem;
    line-height: 1.65;
}

.premium-new-layouts .layout-planning__board article:nth-child(3) p {
    color: rgba(21, 22, 20, 0.72);
}


/* ============================================================
   04. PROCESS
   ============================================================ */

.premium-new-layouts .layout-process {
    background: var(--yellow);
}

.premium-new-layouts .layout-process .section-heading h2 {
    font-size: clamp(3.1rem, 4vw, 4.1rem);
    line-height: 0.92;
}

.premium-new-layouts .layout-process .section-heading h2 em {
    color: var(--blue);
}

.premium-new-layouts .layout-process__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0.45rem solid var(--ink);
    border-left: 1px solid rgba(21, 22, 20, 0.28);
}

.premium-new-layouts .layout-process__track li {
    min-width: 0;
    min-height: 19rem;
    padding: 2rem;
    border-right: 1px solid rgba(21, 22, 20, 0.28);
    border-bottom: 1px solid rgba(21, 22, 20, 0.28);
}

.premium-new-layouts .layout-process__track li > span {
    display: block;
    margin-bottom: 4.5rem;
    color: var(--blue);
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 900;
}

.premium-new-layouts .layout-process__track strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 1.7vw, 2rem);
    font-weight: 900;
    line-height: 0.96;
    text-transform: uppercase;
}

.premium-new-layouts .layout-process__track p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.62;
}


/* ============================================================
   05. NEW LAYOUT VS RE-STRIPING
   ============================================================ */

.premium-new-layouts .layout-choice {
    background: var(--paper-light);
}

.premium-new-layouts .layout-choice__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-new-layouts .layout-choice h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.1rem, 4vw, 4.1rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-new-layouts .layout-choice h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-new-layouts .layout-choice__compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--line);
}

.premium-new-layouts .layout-choice__compare article {
    min-width: 0;
    padding: clamp(2rem, 3vw, 3rem);
}

.premium-new-layouts .layout-choice__compare article:first-child {
    background: var(--blue);
    color: var(--white);
}

.premium-new-layouts .layout-choice__compare article:last-child {
    background: var(--paper);
    color: var(--ink);
}

.premium-new-layouts .layout-choice__compare span {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-new-layouts .layout-choice__compare strong {
    display: block;
    margin: 2.5rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    font-weight: 900;
    line-height: 0.94;
    text-transform: uppercase;
}

.premium-new-layouts .layout-choice__compare p {
    font-size: 0.9rem;
    line-height: 1.65;
}

.premium-new-layouts .layout-choice__compare article:first-child p {
    color: rgba(255, 255, 255, 0.72);
}

.premium-new-layouts .new-layouts-text-link {
    display: inline-flex;
    gap: 0.75rem;
    width: max-content;
    max-width: 100%;
    margin-top: 1.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ============================================================
   06. QUOTE INFO
   ============================================================ */

.premium-new-layouts .layout-quote-info {
    background: var(--asphalt);
    color: var(--white);
}

.premium-new-layouts .layout-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: end;
}

.premium-new-layouts .layout-quote-info .eyebrow {
    color: var(--yellow);
}

.premium-new-layouts .layout-quote-info h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 4vw, 4.1rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-new-layouts .layout-quote-info h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-new-layouts .layout-quote-info__items {
    border-top: 1px solid rgba(255, 255, 255, 0.4);
}

.premium-new-layouts .layout-quote-info__items > div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.premium-new-layouts .layout-quote-info__items span {
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-new-layouts .layout-quote-info__items strong {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 1.35vw, 1.5rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}


/* ============================================================
   07. FAQ
   ============================================================ */

.premium-new-layouts .new-layouts-faq {
    background: var(--paper-light);
}

.premium-new-layouts .new-layouts-faq__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 7vw, 8rem);
}

.premium-new-layouts .new-layouts-faq h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 4vw, 4.1rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-faq h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-new-layouts .new-layouts-faq__list {
    border-top: 0.4rem solid var(--ink);
}

.premium-new-layouts .new-layouts-faq__list details {
    border-bottom: 1px solid var(--line);
}

.premium-new-layouts .new-layouts-faq__list summary {
    cursor: pointer;
    padding: 1.45rem 0;
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 1.3vw, 1.4rem);
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-faq__list details p {
    max-width: 44rem;
    padding-bottom: 1.5rem;
    color: var(--muted);
    line-height: 1.7;
}


/* ============================================================
   08. CLOSE
   ============================================================ */

.premium-new-layouts .new-layouts-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--blue);
    color: var(--white);
}

.premium-new-layouts .new-layouts-close::before {
    content: "";
    position: absolute;
    right: 10%;
    top: -50%;
    width: 0.7rem;
    height: 200%;
    background: var(--yellow);
    transform: rotate(28deg);
    opacity: 0.9;
}

.premium-new-layouts .new-layouts-close__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.premium-new-layouts .new-layouts-close .eyebrow {
    color: var(--white);
}

.premium-new-layouts .new-layouts-close h2 {
    max-width: 54rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.4rem, 4.5vw, 4.8rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-new-layouts .new-layouts-close h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}


/* ============================================================
   WIDE + ULTRAWIDE
   Stop type from growing forever.
   ============================================================ */

@media (min-width: 1600px) {

    .premium-new-layouts .new-layouts-hero h1 {
        font-size: 4.75rem;
    }

    .premium-new-layouts .layout-scope .section-heading h2,
    .premium-new-layouts .layout-planning__statement h2,
    .premium-new-layouts .layout-process .section-heading h2,
    .premium-new-layouts .layout-choice h2,
    .premium-new-layouts .layout-quote-info h2,
    .premium-new-layouts .new-layouts-faq h2 {
        font-size: 4rem;
    }

    .premium-new-layouts .new-layouts-close h2 {
        font-size: 4.6rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1100px) {

    .premium-new-layouts .new-layouts-hero__grid {
        grid-template-columns: 1fr 1fr;
    }

    .premium-new-layouts .layout-scope__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-new-layouts .layout-process__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .premium-new-layouts .new-layouts-hero__grid,
    .premium-new-layouts .layout-planning__grid,
    .premium-new-layouts .layout-choice__grid,
    .premium-new-layouts .layout-quote-info__grid,
    .premium-new-layouts .new-layouts-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-new-layouts .new-layouts-hero__copy {
        padding-block: 5rem;
        padding-right: 0;
    }

    .premium-new-layouts .new-layouts-hero__photo {
        min-height: 28rem;
    }

    .premium-new-layouts .new-layouts-hero__strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .premium-new-layouts .new-layouts-close__inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-new-layouts .new-layouts-hero__copy {
        padding-block: 4rem;
    }

    .premium-new-layouts .new-layouts-hero h1 {
        font-size: clamp(2.9rem, 11.5vw, 3.55rem);
        line-height: 0.91;
    }

    .premium-new-layouts .new-layouts-hero .hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .premium-new-layouts .new-layouts-hero .hero__actions .button {
        width: 100%;
        justify-content: center;
    }

    .premium-new-layouts .new-layouts-hero__photo {
        min-height: 18rem;
        max-height: 20rem;
    }

    .premium-new-layouts .new-layouts-hero__photo figcaption {
        right: 1rem;
        bottom: 1rem;
        max-width: 15rem;
    }

    .premium-new-layouts .new-layouts-hero__strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-new-layouts .layout-scope .section-heading h2,
    .premium-new-layouts .layout-planning__statement h2,
    .premium-new-layouts .layout-process .section-heading h2,
    .premium-new-layouts .layout-choice h2,
    .premium-new-layouts .layout-quote-info h2,
    .premium-new-layouts .new-layouts-faq h2,
    .premium-new-layouts .new-layouts-close h2 {
        font-size: clamp(2.6rem, 10.5vw, 3.4rem);
        line-height: 0.93;
    }

    .premium-new-layouts .layout-scope__grid {
        grid-template-columns: 1fr;
    }

    .premium-new-layouts .layout-scope__grid article {
        min-height: 14rem;
    }

    .premium-new-layouts .layout-scope__grid article > span {
        margin-bottom: 2.4rem;
    }

    .premium-new-layouts .layout-planning__board {
        grid-template-columns: 1fr;
    }

    .premium-new-layouts .layout-planning__board article {
        min-height: 14rem;
    }

    .premium-new-layouts .layout-process__track {
        grid-template-columns: 1fr;
    }

    .premium-new-layouts .layout-process__track li {
        min-height: auto;
    }

    .premium-new-layouts .layout-process__track li > span {
        margin-bottom: 2.8rem;
    }

    .premium-new-layouts .layout-choice__compare {
        grid-template-columns: 1fr;
    }

    .premium-new-layouts .layout-quote-info__items > div {
        grid-template-columns: 5.5rem minmax(0, 1fr);
    }

    .premium-new-layouts .new-layouts-close .button {
        width: 100%;
    }

}

/* /STAY IN YOUR LANE PREMIUM NEW LAYOUTS V1 */

/* STAY IN YOUR LANE NEW LAYOUTS WIDE HERO FIX V1 */

/*
   Wide screens only.
   Keep the approved grid and image exactly where they are.
   Reduce the headline enough to respect the copy column.
*/

@media (min-width: 1200px) and (max-width: 1599px) {

    .premium-new-layouts .new-layouts-hero__copy {
        min-width: 0;
        overflow: hidden;
    }

    .premium-new-layouts .new-layouts-hero h1 {
        width: 100%;
        max-width: 100%;
        font-size: clamp(3.4rem, 4.25vw, 4.15rem);
        line-height: 0.9;
        letter-spacing: -0.045em;
    }

    .premium-new-layouts .new-layouts-hero h1 em {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 0.12em;
        font-size: 0.84em;
        line-height: 0.92;
        letter-spacing: -0.04em;
        white-space: normal;
    }

    .premium-new-layouts .new-layouts-hero__intro {
        max-width: 36rem;
    }

}

/* /STAY IN YOUR LANE NEW LAYOUTS WIDE HERO FIX V1 */

/* STAY IN YOUR LANE NEW LAYOUTS WIDE HERO FIX V2 */

/*
   Actual project wide-screen range.
   Previous V1 stopped at 1599px and never fired during
   the current wide test.
*/

@media (min-width: 1181px) and (max-width: 2054px) {

    .premium-new-layouts .new-layouts-hero__copy {
        min-width: 0;
        overflow: hidden;
    }

    .premium-new-layouts .new-layouts-hero h1 {
        width: 100%;
        max-width: 100%;
        font-size: 3.65rem !important;
        line-height: 0.91 !important;
        letter-spacing: -0.04em;
    }

    .premium-new-layouts .new-layouts-hero h1 em {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 0.12em;
        font-size: 0.84em !important;
        line-height: 0.94 !important;
        letter-spacing: -0.035em;
        white-space: normal;
    }

}

/* /STAY IN YOUR LANE NEW LAYOUTS WIDE HERO FIX V2 */

/* STAY IN YOUR LANE NEW LAYOUTS DESKTOP HERO TUNE V1 */

@media (min-width: 901px) and (max-width: 1180px) {

    .premium-new-layouts .new-layouts-hero h1 {
        font-size: 3.35rem !important;
        line-height: 0.92 !important;
        letter-spacing: -0.04em;
    }

    .premium-new-layouts .new-layouts-hero h1 em {
        margin-top: 0.12em;
        font-size: 0.86em !important;
        line-height: 0.94 !important;
    }

}

/* /STAY IN YOUR LANE NEW LAYOUTS DESKTOP HERO TUNE V1 */

/* STAY IN YOUR LANE PREMIUM ACCESSIBLE MARKINGS V1 */


/* ============================================================
   PAGE SAFETY
   ============================================================ */

.premium-accessible main,
.premium-accessible section,
.premium-accessible .site-shell,
.premium-accessible .section-heading,
.premium-accessible .section-heading > div,
.premium-accessible .accessible-hero__copy,
.premium-accessible .accessible-anatomy__title,
.premium-accessible .accessible-requirements__grid > div,
.premium-accessible .accessible-choice__grid > div,
.premium-accessible .accessible-quote-info__grid > div,
.premium-accessible .accessible-faq__grid > div,
.premium-accessible .accessible-close__inner > div {
    min-width: 0;
    max-width: 100%;
}

.premium-accessible h1,
.premium-accessible h2,
.premium-accessible h3,
.premium-accessible strong {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
}


/* ============================================================
   01. HERO
   ============================================================ */

.premium-accessible .accessible-hero {
    overflow: hidden;
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.82fr)
        minmax(28rem, 1.18fr);
    gap: clamp(3rem, 5vw, 6rem);
    align-items: center;
    min-height: 43rem;
}

.premium-accessible .accessible-hero__copy {
    padding-block: clamp(5rem, 7vw, 7rem);
}

.premium-accessible .accessible-hero .eyebrow {
    color: var(--white);
}

.premium-accessible .accessible-hero h1 {
    width: 100%;
    margin: 0 0 1.8rem;
    font-family: var(--font-display);
    font-size: clamp(3.55rem, 4.5vw, 4.85rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-accessible .accessible-hero h1 em {
    display: block;
    margin-top: 0.13em;
    color: var(--yellow);
    font-style: normal;
    font-size: 0.86em;
    line-height: 0.93;
}

.premium-accessible .accessible-hero__intro {
    max-width: 40rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-accessible .accessible-button--ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.55);
}

.premium-accessible .accessible-button--ghost:hover {
    background: var(--white);
    color: var(--blue);
    border-color: var(--white);
}


/* ============================================================
   HERO TECHNICAL DIAGRAM
   ============================================================ */

.premium-accessible .accessible-hero__diagram {
    position: relative;
    min-width: 0;
    min-height: 34rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.46);
    background: var(--asphalt);
}

.premium-accessible .accessible-hero__diagram::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        );
    background-size: 3rem 3rem;
    pointer-events: none;
}

.premium-accessible .accessible-space {
    position: absolute;
    left: 8%;
    top: 10%;
    bottom: 10%;
    width: 48%;
    border-top: 0.42rem solid var(--white);
    border-bottom: 0.42rem solid var(--white);
}

.premium-accessible .accessible-space__stall-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0.42rem;
    background: var(--white);
}

.premium-accessible .accessible-space__stall-line--left {
    left: 0;
}

.premium-accessible .accessible-space__stall-line--right {
    right: 0;
}

.premium-accessible .accessible-space__label {
    position: absolute;
    left: 1.2rem;
    top: 1.1rem;
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.72);
}

.premium-accessible .accessible-space__symbol {
    position: absolute;
    left: 50%;
    top: 50%;
    display: grid;
    place-items: center;
    width: clamp(8rem, 13vw, 12rem);
    aspect-ratio: 1;
    border: 0.38rem solid var(--white);
    transform: translate(-50%, -50%);
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-space__symbol span {
    font-size: clamp(4.5rem, 7vw, 7rem);
    line-height: 1;
}

.premium-accessible .accessible-aisle {
    position: absolute;
    top: 10%;
    right: 8%;
    bottom: 10%;
    width: 32%;
    overflow: hidden;
    border-top: 0.42rem solid var(--white);
    border-right: 0.42rem solid var(--white);
    border-bottom: 0.42rem solid var(--white);
}

.premium-accessible .accessible-aisle > span {
    position: absolute;
    z-index: 2;
    right: 0.8rem;
    bottom: 0.8rem;
    padding: 0.35rem 0.45rem;
    background: var(--asphalt);
    font-family: var(--font-mono);
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: var(--white);
}

.premium-accessible .accessible-aisle i {
    position: absolute;
    left: -35%;
    width: 170%;
    height: 0.32rem;
    background: var(--blue);
    transform: rotate(-35deg);
    transform-origin: center;
}

.premium-accessible .accessible-aisle i:nth-of-type(1) {
    top: 12%;
}

.premium-accessible .accessible-aisle i:nth-of-type(2) {
    top: 31%;
}

.premium-accessible .accessible-aisle i:nth-of-type(3) {
    top: 50%;
}

.premium-accessible .accessible-aisle i:nth-of-type(4) {
    top: 69%;
}

.premium-accessible .accessible-aisle i:nth-of-type(5) {
    top: 88%;
}

.premium-accessible .accessible-diagram__note {
    position: absolute;
    z-index: 4;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    max-width: 15rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(255,255,255,0.35);
    background: rgba(21,22,20,0.86);
    color: var(--white);
}

.premium-accessible .accessible-diagram__note span {
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
}

.premium-accessible .accessible-diagram__note strong {
    font-family: var(--font-mono);
    font-size: 0.57rem;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.premium-accessible .accessible-diagram__note--one {
    left: 3%;
    bottom: 3%;
}

.premium-accessible .accessible-diagram__note--two {
    right: 3%;
    top: 3%;
}

.premium-accessible .accessible-diagram__note--three {
    right: 3%;
    bottom: 3%;
}


.premium-accessible .accessible-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--white);
    color: var(--ink);
}

.premium-accessible .accessible-hero__strip span {
    display: grid;
    place-items: center;
    min-height: 4.2rem;
    padding: 1rem;
    border-right: 1px solid var(--line);
    font-family: var(--font-mono);
    font-size: 0.61rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.premium-accessible .accessible-hero__strip span:last-child {
    border-right: 0;
}


/* ============================================================
   02. SCOPE
   ============================================================ */

.premium-accessible .accessible-scope {
    background: var(--paper-light);
}

.premium-accessible .accessible-scope .section-heading h2 {
    font-size: clamp(3rem, 3.8vw, 4rem);
    line-height: 0.92;
    letter-spacing: -0.045em;
}

.premium-accessible .accessible-scope .section-heading h2 em {
    color: var(--blue);
}

.premium-accessible .accessible-scope__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 0.45rem solid var(--blue);
    border-left: 1px solid var(--line);
}

.premium-accessible .accessible-scope__grid article {
    min-width: 0;
    min-height: 17rem;
    padding: clamp(1.8rem, 2.6vw, 2.6rem);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}

.premium-accessible .accessible-scope__grid article:nth-child(2),
.premium-accessible .accessible-scope__grid article:nth-child(5) {
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-scope__grid article:nth-child(4) {
    background: var(--yellow);
    color: var(--ink);
}

.premium-accessible .accessible-scope__grid article > span {
    display: block;
    margin-bottom: 3.7rem;
    font-family: var(--font-mono);
    font-size: 0.61rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-accessible .accessible-scope__grid strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2.2vw, 2.45rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

.premium-accessible .accessible-scope__grid p {
    margin: 0;
    color: var(--muted);
    font-size: 0.89rem;
    line-height: 1.65;
}

.premium-accessible .accessible-scope__grid article:nth-child(2) p,
.premium-accessible .accessible-scope__grid article:nth-child(5) p {
    color: rgba(255,255,255,0.74);
}


/* ============================================================
   03. ANATOMY
   ============================================================ */

.premium-accessible .accessible-anatomy {
    background: var(--asphalt);
    color: var(--white);
}

.premium-accessible .accessible-anatomy__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.68fr)
        minmax(0, 1.32fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-accessible .accessible-anatomy__title .eyebrow {
    color: var(--yellow);
}

.premium-accessible .accessible-anatomy__title h2 {
    margin: 0 0 1.5rem;
    font-family: var(--font-display);
    font-size: clamp(3rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-accessible .accessible-anatomy__title h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-accessible .accessible-anatomy__title > p:last-child {
    max-width: 34rem;
    color: rgba(255,255,255,0.68);
    line-height: 1.7;
}

.premium-accessible .accessible-anatomy__board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid rgba(255,255,255,0.32);
    border-left: 1px solid rgba(255,255,255,0.32);
}

.premium-accessible .accessible-anatomy__board > div {
    min-width: 0;
    min-height: 17rem;
    padding: clamp(1.8rem, 2.8vw, 2.7rem);
    border-right: 1px solid rgba(255,255,255,0.32);
    border-bottom: 1px solid rgba(255,255,255,0.32);
}

.premium-accessible .accessible-anatomy__space {
    background: var(--blue);
}

.premium-accessible .accessible-anatomy__aisle {
    background:
        repeating-linear-gradient(
            -35deg,
            var(--blue) 0,
            var(--blue) 0.35rem,
            var(--asphalt) 0.35rem,
            var(--asphalt) 2.4rem
        );
}

.premium-accessible .accessible-anatomy__symbol {
    background: var(--paper-light);
    color: var(--ink);
}

.premium-accessible .accessible-anatomy__context {
    background: var(--yellow);
    color: var(--ink);
}

.premium-accessible .accessible-anatomy__number {
    display: block;
    margin-bottom: 3rem;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-accessible .accessible-anatomy__board strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 2.2vw, 2.45rem);
    font-weight: 900;
    line-height: 0.94;
    text-transform: uppercase;
}

.premium-accessible .accessible-anatomy__board p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.72);
}

.premium-accessible .accessible-anatomy__symbol p,
.premium-accessible .accessible-anatomy__context p {
    color: rgba(21,22,20,0.72);
}


/* ============================================================
   04. REQUIREMENTS
   ============================================================ */

.premium-accessible .accessible-requirements {
    background: var(--yellow);
    color: var(--ink);
}

.premium-accessible .accessible-requirements__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.78fr)
        minmax(0, 1.22fr);
    gap: clamp(3rem, 7vw, 8rem);
    align-items: start;
}

.premium-accessible .accessible-requirements h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-accessible .accessible-requirements h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-accessible .accessible-requirements__copy {
    padding-top: 0.3rem;
    border-top: 0.45rem solid var(--ink);
}

.premium-accessible .accessible-requirements__copy p {
    margin: 0;
    padding: 1.2rem 0;
    border-bottom: 1px solid rgba(21,22,20,0.28);
    line-height: 1.7;
}

.premium-accessible .accessible-requirements__copy strong {
    display: block;
    margin-top: 2rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2vw, 2.3rem);
    font-weight: 900;
    line-height: 0.98;
    text-transform: uppercase;
}


/* ============================================================
   05. PROCESS
   ============================================================ */

.premium-accessible .accessible-process {
    background: var(--paper-light);
}

.premium-accessible .accessible-process .section-heading h2 {
    font-size: clamp(3rem, 3.8vw, 4rem);
    line-height: 0.92;
}

.premium-accessible .accessible-process .section-heading h2 em {
    color: var(--blue);
}

.premium-accessible .accessible-process__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0.45rem solid var(--blue);
    border-left: 1px solid var(--line);
}

.premium-accessible .accessible-process__track li {
    min-width: 0;
    min-height: 19rem;
    padding: 2rem;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.premium-accessible .accessible-process__track li:nth-child(even) {
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-process__track li > span {
    display: block;
    margin-bottom: 4.6rem;
    color: var(--blue);
    font-family: var(--font-display);
    font-size: 2.45rem;
    font-weight: 900;
}

.premium-accessible .accessible-process__track li:nth-child(even) > span {
    color: var(--yellow);
}

.premium-accessible .accessible-process__track strong {
    display: block;
    margin-bottom: 1rem;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 1.65vw, 1.95rem);
    font-weight: 900;
    line-height: 0.96;
    text-transform: uppercase;
}

.premium-accessible .accessible-process__track p {
    margin: 0;
    color: var(--muted);
    font-size: 0.87rem;
    line-height: 1.62;
}

.premium-accessible .accessible-process__track li:nth-child(even) p {
    color: rgba(255,255,255,0.72);
}


/* ============================================================
   06. CHOICE
   ============================================================ */

.premium-accessible .accessible-choice {
    background: var(--asphalt);
    color: var(--white);
}

.premium-accessible .accessible-choice__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.7fr)
        minmax(0, 1.3fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-accessible .accessible-choice .eyebrow {
    color: var(--yellow);
}

.premium-accessible .accessible-choice h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-accessible .accessible-choice h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-accessible .accessible-choice__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid rgba(255,255,255,0.28);
}

.premium-accessible .accessible-choice__cards article {
    min-width: 0;
    padding: clamp(2rem, 3vw, 3rem);
}

.premium-accessible .accessible-choice__cards article:first-child {
    background: var(--blue);
}

.premium-accessible .accessible-choice__cards article:last-child {
    background: var(--paper-light);
    color: var(--ink);
}

.premium-accessible .accessible-choice__cards article > span {
    font-family: var(--font-mono);
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-accessible .accessible-choice__cards strong {
    display: block;
    margin: 2.7rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.35vw, 2.6rem);
    font-weight: 900;
    line-height: 0.94;
    text-transform: uppercase;
}

.premium-accessible .accessible-choice__cards p {
    font-size: 0.89rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.72);
}

.premium-accessible .accessible-choice__cards article:last-child p {
    color: var(--muted);
}

.premium-accessible .accessible-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    width: max-content;
    max-width: 100%;
    margin-top: 1.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.63rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ============================================================
   07. QUOTE INFO
   ============================================================ */

.premium-accessible .accessible-quote-info {
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-quote-info__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: end;
}

.premium-accessible .accessible-quote-info .eyebrow {
    color: var(--white);
}

.premium-accessible .accessible-quote-info h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-accessible .accessible-quote-info h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}

.premium-accessible .accessible-quote-info__items {
    border-top: 1px solid rgba(255,255,255,0.48);
}

.premium-accessible .accessible-quote-info__items > div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.32);
}

.premium-accessible .accessible-quote-info__items span {
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-accessible .accessible-quote-info__items strong {
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 1.35vw, 1.5rem);
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
}


/* ============================================================
   08. FAQ
   ============================================================ */

.premium-accessible .accessible-faq {
    background: var(--paper-light);
}

.premium-accessible .accessible-faq__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.7fr)
        minmax(0, 1.3fr);
    gap: clamp(3rem, 7vw, 8rem);
}

.premium-accessible .accessible-faq h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3rem, 3.8vw, 4rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-accessible .accessible-faq h2 em {
    display: block;
    color: var(--blue);
    font-style: normal;
}

.premium-accessible .accessible-faq__list {
    border-top: 0.42rem solid var(--blue);
}

.premium-accessible .accessible-faq__list details {
    border-bottom: 1px solid var(--line);
}

.premium-accessible .accessible-faq__list summary {
    cursor: pointer;
    padding: 1.45rem 0;
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 1.3vw, 1.4rem);
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.premium-accessible .accessible-faq__list details p {
    max-width: 44rem;
    padding-bottom: 1.5rem;
    color: var(--muted);
    line-height: 1.7;
}


/* ============================================================
   09. CLOSE
   ============================================================ */

.premium-accessible .accessible-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-close::before,
.premium-accessible .accessible-close::after {
    content: "";
    position: absolute;
    top: -30%;
    width: 0.55rem;
    height: 170%;
    background: var(--yellow);
    transform: rotate(28deg);
    opacity: 0.9;
}

.premium-accessible .accessible-close::before {
    right: 9%;
}

.premium-accessible .accessible-close::after {
    right: 13%;
}

.premium-accessible .accessible-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.premium-accessible .accessible-close .eyebrow {
    color: var(--white);
}

.premium-accessible .accessible-close h2 {
    max-width: 54rem;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.4rem, 4.4vw, 4.65rem);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.premium-accessible .accessible-close h2 em {
    display: block;
    color: var(--yellow);
    font-style: normal;
}


/* ============================================================
   WIDE + ULTRAWIDE TYPE CEILINGS

   More monitor does not equal more font.
   ============================================================ */

@media (min-width: 1600px) {

    .premium-accessible .accessible-hero h1 {
        font-size: 4.5rem;
    }

    .premium-accessible .accessible-scope .section-heading h2,
    .premium-accessible .accessible-anatomy__title h2,
    .premium-accessible .accessible-requirements h2,
    .premium-accessible .accessible-process .section-heading h2,
    .premium-accessible .accessible-choice h2,
    .premium-accessible .accessible-quote-info h2,
    .premium-accessible .accessible-faq h2 {
        font-size: 3.85rem;
    }

    .premium-accessible .accessible-close h2 {
        font-size: 4.5rem;
    }

}

@media (min-width: 2055px) {

    .premium-accessible .accessible-hero h1 {
        font-size: 4.35rem;
    }

    .premium-accessible .accessible-scope .section-heading h2,
    .premium-accessible .accessible-anatomy__title h2,
    .premium-accessible .accessible-requirements h2,
    .premium-accessible .accessible-process .section-heading h2,
    .premium-accessible .accessible-choice h2,
    .premium-accessible .accessible-quote-info h2,
    .premium-accessible .accessible-faq h2 {
        font-size: 3.7rem;
    }

    .premium-accessible .accessible-close h2 {
        font-size: 4.35rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1100px) {

    .premium-accessible .accessible-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }

    .premium-accessible .accessible-scope__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-accessible .accessible-process__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    .premium-accessible .accessible-hero__grid,
    .premium-accessible .accessible-anatomy__grid,
    .premium-accessible .accessible-requirements__grid,
    .premium-accessible .accessible-choice__grid,
    .premium-accessible .accessible-quote-info__grid,
    .premium-accessible .accessible-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-hero__copy {
        padding-top: 5rem;
        padding-bottom: 1rem;
    }

    .premium-accessible .accessible-hero__diagram {
        min-height: 30rem;
        margin-bottom: 4rem;
    }

    .premium-accessible .accessible-hero__strip {
        grid-template-columns: repeat(3, 1fr);
    }

    .premium-accessible .accessible-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-accessible .accessible-hero__copy {
        padding-top: 4rem;
    }

    .premium-accessible .accessible-hero h1 {
        font-size: clamp(2.8rem, 10.8vw, 3.4rem);
        line-height: 0.93;
        letter-spacing: -0.04em;
    }

    .premium-accessible .accessible-hero h1 em {
        font-size: 0.9em;
        line-height: 0.95;
    }

    .premium-accessible .accessible-hero .hero__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .premium-accessible .accessible-hero .hero__actions .button {
        width: 100%;
        justify-content: center;
    }

    .premium-accessible .accessible-hero__diagram {
        min-height: 24rem;
        margin-bottom: 3rem;
    }

    .premium-accessible .accessible-space {
        left: 5%;
        top: 8%;
        bottom: 8%;
        width: 52%;
    }

    .premium-accessible .accessible-aisle {
        top: 8%;
        right: 5%;
        bottom: 8%;
        width: 34%;
    }

    .premium-accessible .accessible-space__symbol {
        width: 7rem;
    }

    .premium-accessible .accessible-space__symbol span {
        font-size: 4rem;
    }

    .premium-accessible .accessible-diagram__note {
        display: none;
    }

    .premium-accessible .accessible-hero__strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-accessible .accessible-scope .section-heading h2,
    .premium-accessible .accessible-anatomy__title h2,
    .premium-accessible .accessible-requirements h2,
    .premium-accessible .accessible-process .section-heading h2,
    .premium-accessible .accessible-choice h2,
    .premium-accessible .accessible-quote-info h2,
    .premium-accessible .accessible-faq h2,
    .premium-accessible .accessible-close h2 {
        font-size: clamp(2.55rem, 9.8vw, 3.2rem);
        line-height: 0.94;
    }

    .premium-accessible .accessible-scope__grid {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-scope__grid article {
        min-height: 13.5rem;
    }

    .premium-accessible .accessible-scope__grid article > span {
        margin-bottom: 2.4rem;
    }

    .premium-accessible .accessible-anatomy__board {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-anatomy__board > div {
        min-height: 13.5rem;
    }

    .premium-accessible .accessible-process__track {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-process__track li {
        min-height: auto;
    }

    .premium-accessible .accessible-process__track li > span {
        margin-bottom: 2.7rem;
    }

    .premium-accessible .accessible-choice__cards {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-quote-info__items > div {
        grid-template-columns: 5.6rem minmax(0, 1fr);
    }

    .premium-accessible .accessible-close .button {
        width: 100%;
    }

    .premium-accessible .accessible-close::before,
    .premium-accessible .accessible-close::after {
        opacity: 0.45;
    }

}

/* /STAY IN YOUR LANE PREMIUM ACCESSIBLE MARKINGS V1 */

/* STAY IN YOUR LANE ACCESSIBLE HERO ANATOMY IMAGE V2 */


/* ============================================================
   HERO - OVERVIEW PHOTO BECOMES THE ENVIRONMENT
   ============================================================ */

.premium-accessible .accessible-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(21, 22, 20, 0.98) 0%,
            rgba(21, 22, 20, 0.93) 28%,
            rgba(21, 22, 20, 0.72) 48%,
            rgba(21, 22, 20, 0.24) 72%,
            rgba(21, 22, 20, 0.08) 100%
        ),
        url("../images/accessible-markings-overview.webp")
        center 58% / cover no-repeat;
    color: var(--white);
}

.premium-accessible .accessible-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 42rem)
        minmax(0, 1fr);
    gap: 0;
    align-items: center;
    min-height: 46rem;
}

.premium-accessible .accessible-hero__copy {
    position: relative;
    z-index: 3;
    max-width: 40rem;
    padding-block: clamp(5.5rem, 8vw, 8rem);
}

.premium-accessible .accessible-hero h1 {
    max-width: 39rem;
    font-size: clamp(3.4rem, 4vw, 4.25rem);
    line-height: 0.91;
}

.premium-accessible .accessible-hero h1 em {
    color: var(--yellow);
}

.premium-accessible .accessible-hero__intro {
    max-width: 35rem;
    color: rgba(255,255,255,0.82);
}

/*
   Image remains in the HTML for semantic project structure,
   but the actual visible hero image is the section background.
*/

.premium-accessible .accessible-hero__media {
    display: none;
}

.premium-accessible .accessible-hero__strip {
    position: relative;
    z-index: 3;
}


/* ============================================================
   ANATOMY - PHOTO + TECHNICAL CALLOUTS
   ============================================================ */

.premium-accessible .accessible-anatomy__grid {
    grid-template-columns:
        minmax(18rem, 0.62fr)
        minmax(0, 1.38fr);
    gap: clamp(3rem, 5vw, 6rem);
    align-items: center;
}

.premium-accessible .accessible-anatomy__visual {
    display: grid;
    min-width: 0;
}

.premium-accessible .accessible-anatomy__photo {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.28);
    background: var(--asphalt);
}

.premium-accessible .accessible-anatomy__photo img {
    display: block;
    width: 100%;
    height: clamp(27rem, 34vw, 33rem);
    object-fit: cover;
    object-position: center;
}


/* Small technical labels, not giant caption boxes. */

.premium-accessible .accessible-anatomy__callout {
    position: absolute;
    z-index: 4;
    display: grid;
    gap: 0.3rem;
    width: min(13.5rem, 42%);
    padding: 0.75rem 0.9rem;
    box-shadow: 0 0 0 1px rgba(21,22,20,0.18);
}

.premium-accessible .accessible-anatomy__callout span {
    font-family: var(--font-mono);
    font-size: 0.54rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.09em;
}

.premium-accessible .accessible-anatomy__callout strong {
    font-family: var(--font-display);
    font-size: 0.88rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.premium-accessible .accessible-anatomy__callout--parking {
    left: 1rem;
    bottom: 1rem;
    background: var(--blue);
    color: var(--white);
}

.premium-accessible .accessible-anatomy__callout--parking span {
    color: var(--yellow);
}

.premium-accessible .accessible-anatomy__callout--access {
    top: 1rem;
    right: 1rem;
    background: var(--yellow);
    color: var(--ink);
}


/* ============================================================
   ANATOMY SUPPORT CARDS
   ============================================================ */

.premium-accessible .accessible-anatomy__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-left: 1px solid rgba(255,255,255,0.28);
}

.premium-accessible .accessible-anatomy__card {
    min-width: 0;
    padding: clamp(1.4rem, 2vw, 2rem);
    border-right: 1px solid rgba(255,255,255,0.28);
    border-bottom: 1px solid rgba(255,255,255,0.28);
}

.premium-accessible .accessible-anatomy__card > span {
    display: block;
    margin-bottom: 1.75rem;
    font-family: var(--font-mono);
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.premium-accessible .accessible-anatomy__card > strong {
    display: block;
    margin-bottom: 0.65rem;
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 1.7vw, 1.9rem);
    font-weight: 900;
    line-height: 0.96;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}

.premium-accessible .accessible-anatomy__card p {
    max-width: 31rem;
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.6;
}

.premium-accessible .accessible-anatomy__card--symbol {
    background: var(--paper-light);
    color: var(--ink);
}

.premium-accessible .accessible-anatomy__card--symbol > span {
    color: var(--blue);
}

.premium-accessible .accessible-anatomy__card--symbol p {
    color: var(--muted);
}

.premium-accessible .accessible-anatomy__card--context {
    background: var(--yellow);
    color: var(--ink);
}

.premium-accessible .accessible-anatomy__card--context > span {
    color: var(--ink);
}

.premium-accessible .accessible-anatomy__card--context p {
    color: rgba(21,22,20,0.72);
}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-accessible .accessible-hero__grid {
        grid-template-columns:
            minmax(0, 41rem)
            minmax(0, 1fr);
    }

    .premium-accessible .accessible-hero h1 {
        font-size: 4rem;
    }

    .premium-accessible .accessible-anatomy__photo img {
        height: 32rem;
    }

}


/* ============================================================
   TRUE ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-accessible .accessible-hero__grid {
        min-height: 47rem;
        grid-template-columns:
            minmax(0, 40rem)
            minmax(0, 1fr);
    }

    .premium-accessible .accessible-hero h1 {
        font-size: 3.9rem;
    }

    .premium-accessible .accessible-anatomy__photo img {
        height: 32rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-accessible .accessible-hero {
        background:
            linear-gradient(
                90deg,
                rgba(21,22,20,0.95) 0%,
                rgba(21,22,20,0.86) 55%,
                rgba(21,22,20,0.4) 100%
            ),
            url("../images/accessible-markings-overview.webp")
            62% center / cover no-repeat;
    }

    .premium-accessible .accessible-hero__grid {
        grid-template-columns: 1fr;
        min-height: 40rem;
    }

    .premium-accessible .accessible-hero__copy {
        max-width: 36rem;
        padding-block: 5rem;
    }

    .premium-accessible .accessible-anatomy__grid {
        grid-template-columns: 1fr;
    }

    .premium-accessible .accessible-anatomy__title {
        max-width: 36rem;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-accessible .accessible-hero {
        background:
            linear-gradient(
                rgba(21,22,20,0.91),
                rgba(21,22,20,0.82)
            ),
            url("../images/accessible-markings-overview.webp")
            64% center / cover no-repeat;
    }

    .premium-accessible .accessible-hero__grid {
        min-height: auto;
    }

    .premium-accessible .accessible-hero__copy {
        padding-block: 4.5rem;
    }

    .premium-accessible .accessible-anatomy__photo img {
        height: 18rem;
    }

    .premium-accessible .accessible-anatomy__photo {
        display: grid;
    }

    .premium-accessible .accessible-anatomy__callout {
        position: static;
        width: 100%;
        box-shadow: none;
    }

    .premium-accessible .accessible-anatomy__callout--parking {
        order: 2;
    }

    .premium-accessible .accessible-anatomy__callout--access {
        order: 3;
    }

    .premium-accessible .accessible-anatomy__cards {
        grid-template-columns: 1fr;
    }

}

/* /STAY IN YOUR LANE ACCESSIBLE HERO ANATOMY IMAGE V2 */

/* STAY IN YOUR LANE PREMIUM FIRE LANES V1 */

.premium-fire-lanes {
    --fire-red: #d92d20;
    --fire-red-dark: #991b1b;
    --fire-red-deep: #641515;
    --fire-cream: #f1ede3;
    --fire-asphalt: #191a18;
    --fire-ink: #111210;
    --fire-line: rgba(17,18,16,0.18);
}

.premium-fire-lanes main,
.premium-fire-lanes section,
.premium-fire-lanes article,
.premium-fire-lanes div {
    min-width: 0;
}


/* ============================================================
   HERO
   ============================================================ */

.premium-fire-lanes .fire-lanes-hero {
    overflow: hidden;
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(21rem, 0.92fr);
    min-height: 42rem;
    align-items: stretch;
}

.premium-fire-lanes .fire-lanes-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5rem) clamp(5rem, 8vw, 8rem) 0;
}

.premium-fire-lanes .fire-lanes-hero .eyebrow {
    color: var(--fire-cream);
}

.premium-fire-lanes .fire-lanes-hero h1 {
    max-width: 43rem;
    margin: 0;
    color: var(--white);
    font-size: clamp(3.7rem, 5vw, 5.65rem);
    line-height: 0.88;
}

.premium-fire-lanes .fire-lanes-hero h1 em {
    display: block;
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lanes-hero__intro {
    max-width: 39rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.84);
    font-size: 1rem;
    line-height: 1.7;
}

.premium-fire-lanes .fire-lanes-hero .button--primary {
    background: var(--fire-ink);
    border-color: var(--fire-ink);
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-hero .button--ghost {
    border-color: rgba(255,255,255,0.6);
    color: var(--white);
}


/* Hero stencil board */

.premium-fire-lanes .fire-lanes-hero__stencil {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--fire-asphalt);
    background-size: 32px 32px;
    border-left: 1px solid rgba(255,255,255,0.24);
}

.premium-fire-lanes .fire-lanes-hero__stencil::before {
    content: "";
    position: absolute;
    inset: 8% -18% auto 8%;
    height: 1.15rem;
    transform: rotate(-8deg);
    background: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-hero__stencil-top,
.premium-fire-lanes .fire-lanes-hero__stencil-bottom {
    position: relative;
    z-index: 2;
    padding: 1.4rem 1.6rem;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lanes-hero__stencil-top {
    border-bottom: 1px solid rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.58);
}

.premium-fire-lanes .fire-lanes-hero__stencil-bottom {
    border-top: 1px solid rgba(255,255,255,0.18);
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-hero__stencil-main {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lanes-hero__stencil-main span {
    font-family: var(--font-mono);
    font-size: clamp(1.2rem, 2vw, 2rem);
    letter-spacing: 0.12em;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-hero__stencil-main strong {
    max-width: 8ch;
    font-family: var(--font-display);
    font-size: clamp(4.5rem, 7vw, 7.5rem);
    font-weight: 900;
    line-height: 0.78;
    letter-spacing: -0.06em;
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-hero__route {
    position: absolute;
    right: 2rem;
    bottom: 5.5rem;
    display: grid;
    gap: 0.55rem;
}

.premium-fire-lanes .fire-lanes-hero__route span {
    display: block;
    width: 4rem;
    height: 0.5rem;
    transform: skewX(-35deg);
    background: var(--fire-cream);
}

.premium-fire-lanes .fire-lanes-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: var(--fire-ink);
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-hero__strip span {
    padding: 1.1rem;
    border-right: 1px solid rgba(255,255,255,0.15);
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


/* ============================================================
   SCOPE
   ============================================================ */

.premium-fire-lanes .fire-lane-scope {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-cream);
}

.premium-fire-lanes .fire-lane-scope .section-heading {
    max-width: 54rem;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-fire-lanes .fire-lane-scope h2 em {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-scope__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--fire-line);
    border-left: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-scope__grid article {
    min-height: 17rem;
    padding: clamp(1.6rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--fire-line);
    border-bottom: 1px solid var(--fire-line);
    background: transparent;
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(2),
.premium-fire-lanes .fire-lane-scope__grid article:nth-child(6) {
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) {
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-scope__grid article > span {
    display: block;
    margin-bottom: 3rem;
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.premium-fire-lanes .fire-lane-scope__grid h3 {
    font-size: clamp(1.65rem, 2vw, 2.2rem);
    line-height: 0.95;
}

.premium-fire-lanes .fire-lane-scope__grid p {
    margin-top: 0.9rem;
    font-size: 0.84rem;
    line-height: 1.6;
    opacity: 0.78;
}


/* ============================================================
   EMERGENCY ROUTE
   ============================================================ */

.premium-fire-lanes .fire-lane-route {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-route__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-fire-lanes .fire-lane-route h2 {
    color: var(--white);
}

.premium-fire-lanes .fire-lane-route h2 em {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-route__copy p {
    max-width: 36rem;
    color: rgba(255,255,255,0.68);
}

.premium-fire-lanes .fire-lane-route__diagram {
    position: relative;
    min-height: 28rem;
    padding: 2rem;
    overflow: hidden;
    background: #292b28;
    border: 1px solid rgba(255,255,255,0.15);
}

.premium-fire-lanes .fire-lane-route__building {
    width: 46%;
    height: 7rem;
    padding: 1rem;
    background: var(--fire-cream);
    color: var(--fire-ink);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-route__lane {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 8rem;
    padding-inline: 2rem;
    border-top: 1px dashed rgba(255,255,255,0.35);
    border-bottom: 1px dashed rgba(255,255,255,0.35);
}

.premium-fire-lanes .fire-lane-route__lane strong {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3.5rem);
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-route__arrow {
    color: var(--fire-red);
    font-size: 4rem;
    line-height: 1;
}

.premium-fire-lanes .fire-lane-route__curb {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1rem 2rem;
    background: var(--fire-red);
    color: var(--white);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}


/* ============================================================
   SURFACE ANATOMY
   ============================================================ */

.premium-fire-lanes .fire-lane-anatomy {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--white);
}

.premium-fire-lanes .fire-lane-anatomy__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 0.8fr 1.2fr;
    margin-top: 3.5rem;
}

.premium-fire-lanes .fire-lane-anatomy__item {
    min-height: 22rem;
    padding: clamp(1.6rem, 2.5vw, 2.5rem);
    border: 1px solid var(--fire-line);
    border-right: 0;
}

.premium-fire-lanes .fire-lane-anatomy__item:last-child {
    border-right: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-anatomy__item--curb {
    border-top: 0.85rem solid var(--fire-red);
}

.premium-fire-lanes .fire-lane-anatomy__item--pavement {
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-anatomy__item--boundary {
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-anatomy__item span {
    display: block;
    margin-bottom: 5rem;
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-anatomy__item strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 2vw, 2.25rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-anatomy__item p {
    margin-top: 1rem;
    font-size: 0.82rem;
    line-height: 1.6;
    opacity: 0.74;
}


/* ============================================================
   REQUIREMENTS
   ============================================================ */

.premium-fire-lanes .fire-lane-requirements {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-requirements__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(3rem, 7vw, 8rem);
    align-items: start;
}

.premium-fire-lanes .fire-lane-requirements h2 {
    color: var(--white);
}

.premium-fire-lanes .fire-lane-requirements h2 em {
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-requirements__copy {
    padding-left: 2rem;
    border-left: 1px solid rgba(255,255,255,0.42);
}

.premium-fire-lanes .fire-lane-requirements__copy p {
    color: rgba(255,255,255,0.82);
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-fire-lanes .fire-lane-process {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-cream);
}

.premium-fire-lanes .fire-lane-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--fire-line);
    border-left: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-process__steps article {
    padding: 2rem;
    border-right: 1px solid var(--fire-line);
    border-bottom: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-process__steps span {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-bottom: 3rem;
    background: var(--fire-red);
    color: var(--white);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 700;
}


/* ============================================================
   NEW VS REFRESH
   ============================================================ */

.premium-fire-lanes .fire-lane-choice {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-choice h2 {
    color: var(--white);
}

.premium-fire-lanes .fire-lane-choice h2 em {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-choice__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 3.5rem;
}

.premium-fire-lanes .fire-lane-choice__card {
    display: block;
    min-height: 22rem;
    padding: clamp(2rem, 4vw, 4rem);
    background: var(--fire-cream);
    color: var(--fire-ink);
    text-decoration: none;
}

.premium-fire-lanes .fire-lane-choice__card--refresh {
    background: var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-choice__card span {
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-choice__card strong {
    display: block;
    max-width: 12ch;
    margin-top: 4rem;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 3.5vw, 4rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-choice__card p {
    max-width: 33rem;
    margin-top: 1.2rem;
    opacity: 0.75;
}

.premium-fire-lanes .fire-lane-choice__card b {
    display: block;
    margin-top: 2rem;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ============================================================
   QUOTE INFO
   ============================================================ */

.premium-fire-lanes .fire-lane-quote-info {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-red-dark);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-fire-lanes .fire-lane-quote-info h2 {
    color: var(--white);
}

.premium-fire-lanes .fire-lane-quote-info h2 em {
    color: var(--fire-cream);
}

.premium-fire-lanes .fire-lane-quote-info__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,0.25);
    border-left: 1px solid rgba(255,255,255,0.25);
}

.premium-fire-lanes .fire-lane-quote-info__items span {
    padding: 1.3rem;
    border-right: 1px solid rgba(255,255,255,0.25);
    border-bottom: 1px solid rgba(255,255,255,0.25);
    font-family: var(--font-mono);
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ============================================================
   FAQ + CLOSE
   ============================================================ */

.premium-fire-lanes .fire-lane-faq {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-cream);
}

.premium-fire-lanes .fire-lane-faq__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--fire-line);
    border-left: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-faq__grid article {
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--fire-line);
    border-bottom: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lanes-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-close::after {
    content: "";
    position: absolute;
    right: -5%;
    top: 45%;
    width: 42%;
    height: 1.1rem;
    transform: rotate(-8deg);
    background: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    align-items: end;
}

.premium-fire-lanes .fire-lanes-close h2 {
    max-width: 48rem;
    color: var(--white);
}

.premium-fire-lanes .fire-lanes-close h2 em {
    color: var(--fire-red);
}


/* ============================================================
   WIDE / ULTRAWIDE TYPE CONTROL
   ============================================================ */

@media (min-width: 1600px) {

    .premium-fire-lanes .fire-lanes-hero h1 {
        font-size: 5rem;
    }

    .premium-fire-lanes .fire-lanes-hero__stencil-main strong {
        font-size: 6.6rem;
    }

}

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lanes-hero__grid {
        min-height: 44rem;
    }

    .premium-fire-lanes .fire-lanes-hero h1 {
        font-size: 4.8rem;
    }

    .premium-fire-lanes .fire-lanes-hero__stencil-main strong {
        font-size: 6.2rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lanes-hero__grid,
    .premium-fire-lanes .fire-lane-route__grid,
    .premium-fire-lanes .fire-lane-requirements__grid,
    .premium-fire-lanes .fire-lane-quote-info__grid {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        padding-right: 0;
    }

    .premium-fire-lanes .fire-lanes-hero__stencil {
        min-height: 28rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.24);
    }

    .premium-fire-lanes .fire-lane-scope__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-fire-lanes .fire-lane-anatomy__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-fire-lanes .fire-lane-anatomy__item {
        border-right: 1px solid var(--fire-line);
    }

    .premium-fire-lanes .fire-lane-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero h1 {
        font-size: clamp(3rem, 15vw, 4rem);
    }

    .premium-fire-lanes .fire-lanes-hero__stencil-main {
        padding: 2rem 1.25rem;
    }

    .premium-fire-lanes .fire-lanes-hero__stencil-main strong {
        font-size: clamp(4rem, 21vw, 5.7rem);
    }

    .premium-fire-lanes .fire-lanes-hero__strip {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lanes-hero__strip span {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    .premium-fire-lanes .fire-lane-scope__grid,
    .premium-fire-lanes .fire-lane-anatomy__grid,
    .premium-fire-lanes .fire-lane-process__steps,
    .premium-fire-lanes .fire-lane-choice__grid,
    .premium-fire-lanes .fire-lane-quote-info__items,
    .premium-fire-lanes .fire-lane-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lane-route__diagram {
        min-height: 23rem;
    }

    .premium-fire-lanes .fire-lane-route__building {
        width: 65%;
    }

    .premium-fire-lanes .fire-lane-route__lane {
        padding-inline: 1rem;
    }

    .premium-fire-lanes .fire-lane-route__lane strong {
        font-size: 1.7rem;
    }

    .premium-fire-lanes .fire-lane-choice__card {
        min-height: auto;
    }

    .premium-fire-lanes .fire-lanes-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM FIRE LANES V1 */

/* STAY IN YOUR LANE FIRE LANES RED BALANCE V2 */


/* Red is now a signal color, not the wallpaper. */


/* ============================================================
   HERO
   ============================================================ */

.premium-fire-lanes .fire-lanes-hero {
    background: var(--fire-asphalt);
}

.premium-fire-lanes .fire-lanes-hero .eyebrow {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-hero h1 em {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-hero .button--primary {
    background: var(--fire-red);
    border-color: var(--fire-red);
}


/* ============================================================
   SCOPE
   ============================================================ */

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(2),
.premium-fire-lanes .fire-lane-scope__grid article:nth-child(6) {
    background: transparent;
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(2) {
    border-top: 0.45rem solid var(--fire-red);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(6) {
    border-bottom: 0.45rem solid var(--fire-red);
}


/* ============================================================
   SURFACE ANATOMY
   ============================================================ */

.premium-fire-lanes .fire-lane-anatomy__item--boundary {
    background: var(--fire-cream);
    color: var(--fire-ink);
    border-top: 0.85rem solid var(--fire-red);
}


/* ============================================================
   REQUIREMENTS
   ============================================================ */

.premium-fire-lanes .fire-lane-requirements {
    background: var(--white);
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-requirements .eyebrow {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-requirements h2 {
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-requirements h2 em {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-requirements__copy {
    border-left-color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-requirements__copy p {
    color: rgba(17,18,16,0.72);
}


/* ============================================================
   SERVICE CHOICE
   Keep ONE deliberate red block here.
   ============================================================ */

.premium-fire-lanes .fire-lane-choice__card--refresh {
    background: var(--fire-red);
    color: var(--white);
}


/* ============================================================
   QUOTE INFO
   ============================================================ */

.premium-fire-lanes .fire-lane-quote-info {
    background: #242522;
    color: var(--white);
}

.premium-fire-lanes .fire-lane-quote-info h2 em {
    color: var(--fire-red);
}


/* ============================================================
   SMALL RED DETAILS
   ============================================================ */

.premium-fire-lanes .fire-lane-process__steps span {
    background: var(--fire-red);
}

.premium-fire-lanes .fire-lane-route__curb,
.premium-fire-lanes .fire-lanes-hero__stencil-bottom {
    background: var(--fire-red);
}

/* /STAY IN YOUR LANE FIRE LANES RED BALANCE V2 */

/* STAY IN YOUR LANE DESKTOP NAV TYPE TUNE V1 */

@media (min-width: 901px) {

    .site-nav a,
    .site-header nav a {
        font-size: 0.72rem;
        line-height: 1.15;
        letter-spacing: 0.08em;
    }

}

/* /STAY IN YOUR LANE DESKTOP NAV TYPE TUNE V1 */

/* STAY IN YOUR LANE DESKTOP NAV TYPE FIX V2 */

@media (min-width: 901px) {

    .site-header .site-nav a,
    .site-header nav a {
        font-size: 0.95rem !important;
        font-weight: 700;
        letter-spacing: 0.065em;
    }

}

/* /STAY IN YOUR LANE DESKTOP NAV TYPE FIX V2 */

/* STAY IN YOUR LANE FIRE LANES HERO TYPE SPACING V3 */

.premium-fire-lanes .fire-lanes-hero h1 {
    line-height: 0.98 !important;
}

.premium-fire-lanes .fire-lanes-hero h1 em {
    display: block;
    margin-top: 0.08em;
    line-height: 0.96 !important;
}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero h1 {
        line-height: 1 !important;
    }

    .premium-fire-lanes .fire-lanes-hero h1 em {
        margin-top: 0.12em;
        line-height: 0.98 !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANES HERO TYPE SPACING V3 */

/* STAY IN YOUR LANE FIRE LANES HERO READABILITY V4 */

.premium-fire-lanes .fire-lanes-hero__intro {
    max-width: 42rem;
    font-size: 1.12rem !important;
    line-height: 1.78 !important;
    color: rgba(255,255,255,0.92) !important;
}

.premium-fire-lanes .fire-lanes-hero .button-row {
    margin-top: 1.65rem;
    gap: 0.75rem;
}

.premium-fire-lanes .fire-lanes-hero .button {
    font-size: 0.78rem !important;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.055em;
    padding: 1rem 1.35rem;
}

@media (max-width: 900px) {

    .premium-fire-lanes .fire-lanes-hero__intro {
        font-size: 1.08rem !important;
        line-height: 1.75 !important;
    }

    .premium-fire-lanes .fire-lanes-hero .button {
        font-size: 0.76rem !important;
    }

}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero__intro {
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }

    .premium-fire-lanes .fire-lanes-hero .button-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lanes-hero .button {
        width: 100%;
        font-size: 0.76rem !important;
        text-align: center;
    }

}

/* /STAY IN YOUR LANE FIRE LANES HERO READABILITY V4 */

/* STAY IN YOUR LANE FIRE LANE SCOPE REBUILD V3 */


/* ============================================================
   SECTION HEADING
   ============================================================ */

.premium-fire-lanes .fire-lane-scope .section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.7fr);
    column-gap: clamp(3rem, 7vw, 7rem);
    align-items: end;
    max-width: none;
    margin-bottom: clamp(3rem, 5vw, 4.75rem);
}

.premium-fire-lanes .fire-lane-scope .section-heading .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: 1.15rem;
}

.premium-fire-lanes .fire-lane-scope .section-heading h2 {
    max-width: 12ch;
    margin: 0;
    font-size: clamp(3rem, 4.4vw, 4.6rem);
    line-height: 0.88;
    letter-spacing: -0.045em;
}

.premium-fire-lanes .fire-lane-scope .section-heading h2 em {
    display: block;
    color: var(--fire-red);
    line-height: 0.9;
}

.premium-fire-lanes .fire-lane-scope .section-heading > p:last-child {
    max-width: 34rem;
    margin: 0 0 0.25rem;
    padding-left: 1.4rem;
    border-left: 0.3rem solid var(--fire-red);
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(17,18,16,0.72);
}


/* ============================================================
   MARKING GRID
   ============================================================ */

.premium-fire-lanes .fire-lane-scope__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--fire-line);
    background: var(--fire-line);
    gap: 1px;
}

.premium-fire-lanes .fire-lane-scope__grid::before {
    content: "RESTRICTED ACCESS / MARKING COMPONENTS";
    position: absolute;
    right: 0;
    top: -1.65rem;
    font-family: var(--font-mono);
    font-size: 0.54rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: rgba(17,18,16,0.48);
}

.premium-fire-lanes .fire-lane-scope__grid article {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 14.25rem;
    padding: 1.8rem 1.9rem 2rem;
    border: 0;
    background: var(--fire-cream);
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-scope__grid article::after {
    content: "";
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    width: 0;
    height: 0.32rem;
    background: var(--fire-red);
    transition: width 180ms ease;
}

.premium-fire-lanes .fire-lane-scope__grid article:hover::after {
    width: 100%;
}


/* Number / inspection marker */

.premium-fire-lanes .fire-lane-scope__grid article > span {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    width: max-content;
    margin: 0 0 2.6rem;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.1em;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-scope__grid article > span::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 1px;
    background: currentColor;
}


/* Titles */

.premium-fire-lanes .fire-lane-scope__grid h3 {
    max-width: 12ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2.1vw, 2.35rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-scope__grid p {
    max-width: 30rem;
    margin: 1rem 0 0;
    font-size: 0.92rem;
    line-height: 1.62;
    color: rgba(17,18,16,0.7);
    opacity: 1;
}


/* ============================================================
   PURPOSEFUL VARIATION
   ============================================================ */

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(2) {
    background: var(--white);
    border-top: 0.4rem solid var(--fire-red);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) {
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) > span {
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) p {
    color: rgba(255,255,255,0.7);
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(6) {
    background:
        linear-gradient(
            135deg,
            rgba(217,45,32,0.06) 0%,
            rgba(217,45,32,0.06) 20%,
            transparent 20%,
            transparent 50%,
            rgba(217,45,32,0.06) 50%,
            rgba(217,45,32,0.06) 70%,
            transparent 70%
        ),
        var(--fire-cream);
    background-size: 34px 34px;
    border-bottom: 0;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lane-scope .section-heading {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child {
        max-width: 42rem;
    }

    .premium-fire-lanes .fire-lane-scope__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lane-scope .section-heading h2 {
        max-width: 10ch;
        font-size: clamp(2.6rem, 13vw, 3.5rem);
    }

    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child {
        padding-left: 1rem;
        font-size: 1rem;
    }

    .premium-fire-lanes .fire-lane-scope__grid {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lane-scope__grid::before {
        display: none;
    }

    .premium-fire-lanes .fire-lane-scope__grid article {
        min-height: 12.5rem;
        padding: 1.6rem;
    }

    .premium-fire-lanes .fire-lane-scope__grid article > span {
        margin-bottom: 2rem;
    }

    .premium-fire-lanes .fire-lane-scope__grid h3 {
        font-size: 1.8rem;
    }

}

/* /STAY IN YOUR LANE FIRE LANE SCOPE REBUILD V3 */

/* STAY IN YOUR LANE FIRE LANE SCOPE READABILITY V4 */

.premium-fire-lanes .fire-lane-scope__grid p {
    font-size: 1.05rem !important;
    line-height: 1.72 !important;
    color: rgba(17,18,16,0.82) !important;
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) p {
    color: rgba(255,255,255,0.86) !important;
}

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lane-scope__grid p {
        font-size: 1.02rem !important;
        line-height: 1.7 !important;
    }

}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lane-scope__grid p {
        font-size: 1rem !important;
        line-height: 1.68 !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANE SCOPE READABILITY V4 */

/* STAY IN YOUR LANE FIRE LANES PAGEWIDE READABILITY V5 */


/* ============================================================
   HERO
   ============================================================ */

.premium-fire-lanes .fire-lanes-hero__intro {
    font-size: 1.12rem !important;
    line-height: 1.78 !important;
    color: rgba(255,255,255,0.92) !important;
}


/* ============================================================
   MARKING SYSTEM
   ============================================================ */

.premium-fire-lanes .fire-lane-scope .section-heading > p:last-child {
    font-size: 1.08rem !important;
    line-height: 1.75 !important;
    color: rgba(17,18,16,0.82) !important;
}

.premium-fire-lanes .fire-lane-scope__grid p {
    font-size: 1.05rem !important;
    line-height: 1.72 !important;
    color: rgba(17,18,16,0.82) !important;
}

.premium-fire-lanes .fire-lane-scope__grid article:nth-child(4) p {
    color: rgba(255,255,255,0.88) !important;
}


/* ============================================================
   EMERGENCY ACCESS
   ============================================================ */

.premium-fire-lanes .fire-lane-route__copy p {
    max-width: 39rem;
    font-size: 1.08rem !important;
    line-height: 1.78 !important;
    color: rgba(255,255,255,0.84) !important;
}

.premium-fire-lanes .fire-lane-route__copy p + p {
    margin-top: 1.3rem;
}


/* ============================================================
   SURFACE ANATOMY
   ============================================================ */

.premium-fire-lanes .fire-lane-anatomy__item p {
    margin-top: 1.1rem;
    font-size: 1rem !important;
    line-height: 1.72 !important;
    opacity: 1 !important;
    color: rgba(17,18,16,0.8) !important;
}

.premium-fire-lanes .fire-lane-anatomy__item--pavement p {
    color: rgba(255,255,255,0.86) !important;
}


/* ============================================================
   LOCAL REQUIREMENTS
   ============================================================ */

.premium-fire-lanes .fire-lane-requirements__copy p {
    font-size: 1.08rem !important;
    line-height: 1.8 !important;
    color: rgba(17,18,16,0.82) !important;
}

.premium-fire-lanes .fire-lane-requirements__copy p + p {
    margin-top: 1.35rem;
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-fire-lanes .fire-lane-process__steps p {
    margin-top: 0.9rem;
    font-size: 1.02rem !important;
    line-height: 1.72 !important;
    color: rgba(17,18,16,0.8) !important;
}


/* ============================================================
   NEW VS REFRESH
   ============================================================ */

.premium-fire-lanes .fire-lane-choice__card p {
    max-width: 36rem;
    font-size: 1.04rem !important;
    line-height: 1.74 !important;
    opacity: 1 !important;
    color: rgba(17,18,16,0.78) !important;
}

.premium-fire-lanes .fire-lane-choice__card--refresh p {
    color: rgba(255,255,255,0.88) !important;
}


/* ============================================================
   FAQ
   ============================================================ */

.premium-fire-lanes .fire-lane-faq__grid p {
    margin-top: 1rem;
    font-size: 1.03rem !important;
    line-height: 1.74 !important;
    color: rgba(17,18,16,0.8) !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-requirements__copy p {
        font-size: 1.06rem !important;
    }

    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1.02rem !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero__intro,
    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
    .premium-fire-lanes .fire-lane-scope__grid p,
    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-requirements__copy p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANES PAGEWIDE READABILITY V5 */

/* STAY IN YOUR LANE FIRE LANES PAGEWIDE READABILITY V6 */

.premium-fire-lanes .fire-lanes-hero__intro {
    font-size: 1.16rem !important;
}

.premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
.premium-fire-lanes .fire-lane-route__copy p,
.premium-fire-lanes .fire-lane-requirements__copy p {
    font-size: 1.14rem !important;
}

.premium-fire-lanes .fire-lane-scope__grid p,
.premium-fire-lanes .fire-lane-anatomy__item p,
.premium-fire-lanes .fire-lane-process__steps p,
.premium-fire-lanes .fire-lane-choice__card p,
.premium-fire-lanes .fire-lane-faq__grid p {
    font-size: 1.1rem !important;
}

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lanes-hero__intro,
    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-requirements__copy p {
        font-size: 1.1rem !important;
    }

    .premium-fire-lanes .fire-lane-scope__grid p,
    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1.08rem !important;
    }

}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero__intro,
    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
    .premium-fire-lanes .fire-lane-scope__grid p,
    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-requirements__copy p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1.04rem !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANES PAGEWIDE READABILITY V6 */

/* STAY IN YOUR LANE FIRE LANES ULTRAWIDE READABILITY V7 */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lanes-hero__intro {
        max-width: 46rem;
        font-size: 1.28rem !important;
        line-height: 1.78 !important;
    }

    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-requirements__copy p {
        font-size: 1.26rem !important;
        line-height: 1.78 !important;
    }

    .premium-fire-lanes .fire-lane-scope__grid p,
    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1.2rem !important;
        line-height: 1.72 !important;
    }

    .premium-fire-lanes .fire-lane-scope__grid h3 {
        font-size: 2.45rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__item strong {
        font-size: 2.3rem;
    }

    .premium-fire-lanes .fire-lane-process__steps h3,
    .premium-fire-lanes .fire-lane-faq__grid h3 {
        font-size: 1.55rem;
        line-height: 1.08;
    }

}

/* /STAY IN YOUR LANE FIRE LANES ULTRAWIDE READABILITY V7 */

/* STAY IN YOUR LANE FIRE LANES ULTRAWIDE READABILITY V8 */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lanes-hero__intro {
        font-size: 1.36rem !important;
    }

    .premium-fire-lanes .fire-lane-scope .section-heading > p:last-child,
    .premium-fire-lanes .fire-lane-route__copy p,
    .premium-fire-lanes .fire-lane-requirements__copy p {
        font-size: 1.34rem !important;
    }

    .premium-fire-lanes .fire-lane-scope__grid p,
    .premium-fire-lanes .fire-lane-anatomy__item p,
    .premium-fire-lanes .fire-lane-process__steps p,
    .premium-fire-lanes .fire-lane-choice__card p,
    .premium-fire-lanes .fire-lane-faq__grid p {
        font-size: 1.28rem !important;
    }

    .premium-fire-lanes .fire-lane-scope__grid h3 {
        font-size: 2.6rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__item strong {
        font-size: 2.45rem;
    }

    .premium-fire-lanes .fire-lane-process__steps h3,
    .premium-fire-lanes .fire-lane-faq__grid h3 {
        font-size: 1.7rem;
    }

}

/* /STAY IN YOUR LANE FIRE LANES ULTRAWIDE READABILITY V8 */

/* STAY IN YOUR LANE FIRE LANES IMAGE INTEGRATION V2 */


/* ============================================================
   EMERGENCY ACCESS PHOTO
   ============================================================ */

.premium-fire-lanes .fire-lane-route__photo {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    background: #242522;
}

.premium-fire-lanes .fire-lane-route__photo img {
    display: block;
    width: 100%;
    height: clamp(28rem, 36vw, 35rem);
    object-fit: cover;
    object-position: center;
}

.premium-fire-lanes .fire-lane-route__photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 42%;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(17,18,16,0.72),
        transparent
    );
}

.premium-fire-lanes .fire-lane-route__photo figcaption {
    position: absolute;
    z-index: 2;
    left: 1.4rem;
    bottom: 1.4rem;
    display: grid;
    gap: 0.35rem;
    max-width: 25rem;
    padding-left: 1rem;
    border-left: 0.3rem solid var(--fire-red);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-route__photo figcaption span {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-route__photo figcaption strong {
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 1.9vw, 2rem);
    font-weight: 900;
    line-height: 0.98;
    letter-spacing: -0.03em;
    text-transform: uppercase;
}


/* ============================================================
   SURFACE BY SURFACE - EDITORIAL PHOTO + CARDS
   ============================================================ */

.premium-fire-lanes .fire-lane-anatomy__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(20rem, 0.78fr);
    margin-top: clamp(3rem, 5vw, 4.5rem);
    border: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-anatomy__photo {
    position: relative;
    min-width: 0;
    min-height: 38rem;
    margin: 0;
    overflow: hidden;
    background: var(--fire-asphalt);
}

.premium-fire-lanes .fire-lane-anatomy__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 38rem;
    object-fit: cover;
    object-position: center;
}

.premium-fire-lanes .fire-lane-anatomy__photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 46%;
    pointer-events: none;
    background: linear-gradient(
        to top,
        rgba(17,18,16,0.82),
        transparent
    );
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    width: min(31rem, 82%);
    padding: 1.5rem 1.7rem;
    color: var(--white);
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption span {
    display: block;
    margin-bottom: 0.55rem;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption strong {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2.5vw, 2.75rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.035em;
    text-transform: uppercase;
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
    max-width: 29rem;
    margin: 0.9rem 0 0;
    font-size: 1.08rem;
    line-height: 1.68;
    color: rgba(255,255,255,0.86);
}


/* Supporting cards belong to the image, not a separate universe. */

.premium-fire-lanes .fire-lane-anatomy__cards {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    border: 0;
    border-left: 1px solid var(--fire-line);
    border-bottom: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item:last-child {
    border-bottom: 0;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item span {
    margin: 0 0 1.6rem;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item strong {
    max-width: 14ch;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item p {
    max-width: 31rem;
}


/* Pavement gets the asphalt treatment. */

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--pavement {
    background: var(--fire-asphalt);
    color: var(--white);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--pavement p {
    color: rgba(255,255,255,0.86) !important;
}


/* Boundary gets a restrained red signal, not a red wall. */

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--boundary {
    position: relative;
    background: var(--fire-cream);
    color: var(--fire-ink);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--boundary::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.4rem;
    background: var(--fire-red);
}


/* Context returns to white for visual relief. */

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--context {
    background: var(--white);
    color: var(--fire-ink);
}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-fire-lanes .fire-lane-route__photo img {
        height: 34rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__layout {
        grid-template-columns: minmax(0, 1.28fr) minmax(23rem, 0.72fr);
    }

    .premium-fire-lanes .fire-lane-anatomy__photo,
    .premium-fire-lanes .fire-lane-anatomy__photo img {
        min-height: 41rem;
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lane-route__photo img {
        height: 36rem;
    }

    .premium-fire-lanes .fire-lane-route__photo figcaption span {
        font-size: 0.7rem;
    }

    .premium-fire-lanes .fire-lane-route__photo figcaption strong {
        font-size: 2.25rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__layout {
        grid-template-columns: minmax(0, 1.3fr) minmax(25rem, 0.7fr);
    }

    .premium-fire-lanes .fire-lane-anatomy__photo,
    .premium-fire-lanes .fire-lane-anatomy__photo img {
        min-height: 44rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
        font-size: 1.28rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lane-route__photo img {
        height: 28rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__layout {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo,
    .premium-fire-lanes .fire-lane-anatomy__photo img {
        min-height: 31rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
        border-top: 1px solid var(--fire-line);
        border-left: 0;
        border-right: 1px solid var(--fire-line);
        border-bottom: 0;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item:last-child {
        border-right: 0;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lane-route__photo img {
        height: 20rem;
    }

    .premium-fire-lanes .fire-lane-route__photo figcaption {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        max-width: none;
    }

    .premium-fire-lanes .fire-lane-route__photo figcaption strong {
        font-size: 1.35rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo,
    .premium-fire-lanes .fire-lane-anatomy__photo img {
        min-height: 24rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption {
        width: 100%;
        padding: 1.25rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption strong {
        font-size: 1.65rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
        font-size: 1.04rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
        border-right: 0;
        border-bottom: 1px solid var(--fire-line);
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item:last-child {
        border-bottom: 0;
    }

}

/* /STAY IN YOUR LANE FIRE LANES IMAGE INTEGRATION V2 */

/* STAY IN YOUR LANE FIRE LANES HERO PHOTO V2 */


/* ============================================================
   HERO PHOTO ENVIRONMENT
   ============================================================ */

.premium-fire-lanes .fire-lanes-hero {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            rgba(17,18,16,0.98) 0%,
            rgba(17,18,16,0.95) 27%,
            rgba(17,18,16,0.78) 45%,
            rgba(17,18,16,0.34) 67%,
            rgba(17,18,16,0.12) 100%
        ),
        url("../images/fire-lane-emergency-access.webp")
        center 54% / cover no-repeat;
}

.premium-fire-lanes .fire-lanes-hero__grid {
    display: block;
    min-height: clamp(42rem, 55vw, 50rem);
}

.premium-fire-lanes .fire-lanes-hero__copy {
    position: relative;
    z-index: 2;
    width: min(44rem, 58%);
    min-height: inherit;
    padding:
        clamp(6rem, 9vw, 9rem)
        0
        clamp(6rem, 9vw, 9rem);
}

.premium-fire-lanes .fire-lanes-hero h1 {
    max-width: 9.5ch;
}

.premium-fire-lanes .fire-lanes-hero__intro {
    max-width: 39rem;
    text-shadow: 0 1px 2px rgba(0,0,0,0.28);
}


/* The photograph now does the visual work. */

.premium-fire-lanes .fire-lanes-hero__stencil {
    display: none !important;
}


/* Keep the service strip readable against the hero. */

.premium-fire-lanes .fire-lanes-hero__strip {
    position: relative;
    z-index: 3;
    border-top: 1px solid rgba(255,255,255,0.16);
    background: rgba(17,18,16,0.96);
}


/* ============================================================
   DESKTOP
   ============================================================ */

@media (min-width: 1001px) and (max-width: 1599px) {

    .premium-fire-lanes .fire-lanes-hero {
        background-position: 58% center;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(42rem, 52%);
    }

}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-fire-lanes .fire-lanes-hero {
        background-position: 60% center;
    }

    .premium-fire-lanes .fire-lanes-hero__grid {
        min-height: 48rem;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(45rem, 48%);
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lanes-hero {
        background:
            linear-gradient(
                90deg,
                rgba(17,18,16,0.98) 0%,
                rgba(17,18,16,0.94) 25%,
                rgba(17,18,16,0.7) 43%,
                rgba(17,18,16,0.22) 66%,
                rgba(17,18,16,0.08) 100%
            ),
            url("../images/fire-lane-emergency-access.webp")
            62% center / cover no-repeat;
    }

    .premium-fire-lanes .fire-lanes-hero__grid {
        min-height: 50rem;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(47rem, 46%);
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-fire-lanes .fire-lanes-hero {
        background:
            linear-gradient(
                90deg,
                rgba(17,18,16,0.96) 0%,
                rgba(17,18,16,0.88) 54%,
                rgba(17,18,16,0.42) 100%
            ),
            url("../images/fire-lane-emergency-access.webp")
            62% center / cover no-repeat;
    }

    .premium-fire-lanes .fire-lanes-hero__grid {
        min-height: 43rem;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(38rem, 72%);
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero {
        background:
            linear-gradient(
                rgba(17,18,16,0.9),
                rgba(17,18,16,0.82)
            ),
            url("../images/fire-lane-emergency-access.webp")
            67% center / cover no-repeat;
    }

    .premium-fire-lanes .fire-lanes-hero__grid {
        min-height: auto;
    }

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: 100%;
        padding-block: 4.75rem;
    }

    .premium-fire-lanes .fire-lanes-hero h1 {
        max-width: 9ch;
    }

}

/* /STAY IN YOUR LANE FIRE LANES HERO PHOTO V2 */

/* STAY IN YOUR LANE FIRE LANES HERO HEADLINE FLOW V3 */

.premium-fire-lanes .fire-lanes-hero__copy {
    width: min(50rem, 62%) !important;
}

.premium-fire-lanes .fire-lanes-hero h1 {
    max-width: none !important;
    width: 100%;
}

.premium-fire-lanes .fire-lanes-hero h1 em {
    display: block;
    width: max-content;
    max-width: 100%;
    font-size: 0.82em;
    white-space: nowrap;
}

@media (min-width: 1600px) {

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(52rem, 56%) !important;
    }

}

@media (max-width: 900px) {

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: min(42rem, 82%) !important;
    }

    .premium-fire-lanes .fire-lanes-hero h1 em {
        white-space: normal;
        width: auto;
    }

}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-hero__copy {
        width: 100% !important;
    }

    .premium-fire-lanes .fire-lanes-hero h1 em {
        font-size: 0.9em;
    }

}

/* /STAY IN YOUR LANE FIRE LANES HERO HEADLINE FLOW V3 */

/* STAY IN YOUR LANE FIRE LANE ANATOMY EDITORIAL V3 */


/* ============================================================
   SURFACE BY SURFACE - WIDE EDITORIAL COMPOSITION
   ============================================================ */

.premium-fire-lanes .fire-lane-anatomy__layout {
    display: grid;
    grid-template-columns: 1fr !important;
    margin-top: clamp(3rem, 5vw, 4.5rem);
    border: 1px solid var(--fire-line);
}


/* Wide photographic anchor */

.premium-fire-lanes .fire-lane-anatomy__photo {
    position: relative;
    min-height: 0 !important;
    height: clamp(27rem, 36vw, 34rem);
    margin: 0;
    overflow: hidden;
    background: var(--fire-asphalt);
}

.premium-fire-lanes .fire-lane-anatomy__photo img {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover;
    object-position: center 58%;
}

.premium-fire-lanes .fire-lane-anatomy__photo::after {
    height: 36%;
    background:
        linear-gradient(
            to top,
            rgba(17,18,16,0.78),
            transparent
        );
}


/* Compact curb caption */

.premium-fire-lanes .fire-lane-anatomy__photo figcaption {
    left: 1.5rem;
    bottom: 1.35rem;
    width: min(30rem, 72%);
    padding: 0 0 0 1rem;
    border-left: 0.35rem solid var(--fire-red);
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption span {
    margin-bottom: 0.4rem;
    font-size: 0.58rem;
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption strong {
    font-size: clamp(1.65rem, 2.2vw, 2.35rem);
}

.premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
    max-width: 28rem;
    margin-top: 0.55rem;
    font-size: 1.05rem;
    line-height: 1.6;
}


/* Three-part technical breakdown below the photo */

.premium-fire-lanes .fire-lane-anatomy__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none !important;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
    display: block;
    min-height: 17rem;
    padding: clamp(1.8rem, 2.6vw, 2.6rem);
    border: 0;
    border-top: 1px solid var(--fire-line);
    border-right: 1px solid var(--fire-line);
    border-bottom: 0;
    border-left: 0;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item:last-child {
    border-right: 0;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item span {
    margin-bottom: 2.4rem;
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item strong {
    max-width: 12ch;
    font-size: clamp(1.7rem, 2vw, 2.25rem);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item p {
    max-width: 29rem;
    margin-top: 1rem;
}


/* Keep the red as a signal, not a whole card. */

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--boundary {
    border-top: 0.4rem solid var(--fire-red);
}

.premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item--boundary::before {
    display: none;
}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-fire-lanes .fire-lane-anatomy__photo {
        height: 35rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
        min-height: 18rem;
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lane-anatomy__photo {
        height: 38rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
        font-size: 1.28rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
        min-height: 19rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-fire-lanes .fire-lane-anatomy__photo {
        height: 28rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards {
        grid-template-columns: 1fr;
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--fire-line);
    }

    .premium-fire-lanes .fire-lane-anatomy__cards .fire-lane-anatomy__item:last-child {
        border-bottom: 0;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lane-anatomy__photo {
        height: 24rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        width: auto;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption strong {
        font-size: 1.6rem;
    }

    .premium-fire-lanes .fire-lane-anatomy__photo figcaption p {
        font-size: 1.04rem;
    }

}

/* /STAY IN YOUR LANE FIRE LANE ANATOMY EDITORIAL V3 */

/* STAY IN YOUR LANE FIRE LANES FOOTER REBUILD V1 */


/* ============================================================
   CLOSING CTA
   Give the page a real ending before the footer begins.
   ============================================================ */

.premium-fire-lanes .fire-lanes-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(4.5rem, 7vw, 7rem);
    background: var(--fire-cream) !important;
    color: var(--fire-ink) !important;
    border-top: 1px solid var(--fire-line);
}

.premium-fire-lanes .fire-lanes-close::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -4%;
    width: 38%;
    height: 0.7rem;
    transform: rotate(-7deg);
    background: var(--fire-red);
    opacity: 0.95;
}

.premium-fire-lanes .fire-lanes-close__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(2rem, 6vw, 7rem);
    align-items: end;
}

.premium-fire-lanes .fire-lanes-close .eyebrow {
    margin-bottom: 1rem;
    color: var(--fire-red);
}

.premium-fire-lanes .fire-lanes-close h2 {
    max-width: 52rem;
    margin: 0;
    color: var(--fire-ink) !important;
    font-size: clamp(2.8rem, 4.4vw, 4.6rem);
    line-height: 0.92;
    letter-spacing: -0.045em;
}

.premium-fire-lanes .fire-lanes-close h2 em {
    display: block;
    color: var(--fire-red) !important;
    line-height: 0.94;
}

.premium-fire-lanes .fire-lanes-close .button--primary {
    position: relative;
    z-index: 3;
    min-width: 11rem;
    padding: 1.15rem 1.55rem;
    background: var(--fire-red);
    border-color: var(--fire-red);
    color: var(--white);
    font-size: 0.82rem;
    font-weight: 800;
}


/* ============================================================
   FOOTER FOUNDATION
   ============================================================ */

.premium-fire-lanes .site-footer {
    padding: clamp(4rem, 6vw, 6rem) 0 1.8rem;
    background: #171816;
    color: var(--white);
    border-top: 0;
}

.premium-fire-lanes .site-footer__main {
    display: grid;
    grid-template-columns:
        minmax(22rem, 1.6fr)
        minmax(10rem, 0.6fr)
        minmax(14rem, 0.8fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: start;
    padding-bottom: clamp(3rem, 5vw, 4.5rem);
}


/* ============================================================
   BRAND COLUMN
   ============================================================ */

.premium-fire-lanes .site-footer .brand--footer {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.65rem;
}

.premium-fire-lanes .site-footer .brand--footer .brand__mark {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1rem;
}

.premium-fire-lanes .site-footer .brand__name {
    font-size: 1.08rem;
    line-height: 1;
}

.premium-fire-lanes .site-footer .brand__tagline {
    margin-top: 0.25rem;
    font-size: 0.58rem;
    letter-spacing: 0.12em;
}

.premium-fire-lanes .site-footer__brand > p {
    max-width: 35rem;
    margin: 0;
    color: rgba(255,255,255,0.76);
    font-size: 1.08rem;
    line-height: 1.72;
}


/* ============================================================
   NAVIGATION + CONTACT
   ============================================================ */

.premium-fire-lanes .site-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7rem;
}

.premium-fire-lanes .site-footer__label {
    margin: 0 0 0.7rem;
    color: var(--yellow);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-fire-lanes .site-footer__column a,
.premium-fire-lanes .site-footer__column span {
    color: rgba(255,255,255,0.84);
    font-size: 1rem;
    line-height: 1.45;
}

.premium-fire-lanes .site-footer__column a:hover {
    color: var(--fire-red);
}


/* ============================================================
   LEGAL ROW
   ============================================================ */

.premium-fire-lanes .site-footer__legal {
    display: grid;
    grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 1.3fr);
    gap: clamp(2rem, 5vw, 6rem);
    align-items: start;
    padding: 1.6rem 0;
    border-top: 1px solid rgba(255,255,255,0.18);
    border-bottom: 1px solid rgba(255,255,255,0.18);
}

.premium-fire-lanes .site-footer__legal p {
    margin: 0;
    color: rgba(255,255,255,0.58);
    font-size: 0.88rem;
    line-height: 1.65;
}


/* ============================================================
   PUNCHLINE
   Still oversized, but now controlled instead of eating footer.
   ============================================================ */

.premium-fire-lanes .site-footer__punchline {
    max-width: 18ch;
    margin: clamp(2.5rem, 4vw, 4rem) 0 0;
    color: rgba(255,255,255,0.09);
    font-family: var(--font-display);
    font-size: clamp(3rem, 5vw, 5.1rem);
    font-weight: 900;
    line-height: 0.84;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lanes-close h2 {
        font-size: 4.9rem;
    }

    .premium-fire-lanes .site-footer__brand > p {
        font-size: 1.24rem;
    }

    .premium-fire-lanes .site-footer__column a,
    .premium-fire-lanes .site-footer__column span {
        font-size: 1.14rem;
    }

    .premium-fire-lanes .site-footer__legal p {
        font-size: 1rem;
    }

    .premium-fire-lanes .site-footer__punchline {
        font-size: 5.6rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-fire-lanes .fire-lanes-close__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .premium-fire-lanes .fire-lanes-close::after {
        right: -10%;
        width: 48%;
    }

    .premium-fire-lanes .site-footer__main {
        grid-template-columns: 1.4fr 0.7fr 0.9fr;
        gap: 2.5rem;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lanes-close {
        padding-block: 4rem;
    }

    .premium-fire-lanes .fire-lanes-close h2 {
        font-size: clamp(2.5rem, 12vw, 3.4rem);
    }

    .premium-fire-lanes .fire-lanes-close::after {
        top: auto;
        right: -15%;
        bottom: 2rem;
        width: 55%;
        opacity: 0.35;
    }

    .premium-fire-lanes .site-footer__main {
        grid-template-columns: 1fr;
        gap: 2.75rem;
    }

    .premium-fire-lanes .site-footer__brand > p {
        font-size: 1rem;
    }

    .premium-fire-lanes .site-footer__column a,
    .premium-fire-lanes .site-footer__column span {
        font-size: 1rem;
    }

    .premium-fire-lanes .site-footer__legal {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .premium-fire-lanes .site-footer__legal p {
        font-size: 0.84rem;
    }

    .premium-fire-lanes .site-footer__punchline {
        max-width: 11ch;
        font-size: clamp(2.5rem, 13vw, 3.6rem);
        line-height: 0.86;
    }

}

/* /STAY IN YOUR LANE FIRE LANES FOOTER REBUILD V1 */

/* STAY IN YOUR LANE FIRE LANES FOOTER READABILITY V2 */


/* ============================================================
   CLOSE - RESTORE DARK FINISH
   ============================================================ */

.premium-fire-lanes .fire-lanes-close {
    background: var(--fire-asphalt) !important;
    color: var(--white) !important;
    padding-block: clamp(5rem, 7vw, 7rem);
}

.premium-fire-lanes .fire-lanes-close h2 {
    color: var(--white) !important;
}

.premium-fire-lanes .fire-lanes-close h2 em {
    color: var(--fire-red) !important;
}

.premium-fire-lanes .fire-lanes-close::after {
    height: 0.65rem;
    background: var(--fire-red);
}


/* ============================================================
   FOOTER - REAL READING SIZE
   ============================================================ */

.premium-fire-lanes .site-footer {
    padding-top: clamp(4.5rem, 6vw, 6.5rem) !important;
    background: #171816 !important;
}

.premium-fire-lanes .site-footer__main {
    grid-template-columns:
        minmax(24rem, 1.45fr)
        minmax(12rem, 0.55fr)
        minmax(17rem, 0.75fr) !important;
    gap: clamp(3rem, 6vw, 7rem) !important;
    padding-bottom: clamp(3.5rem, 5vw, 5rem) !important;
}


/* Brand */

.premium-fire-lanes .site-footer .brand--footer .brand__mark {
    width: 3.65rem !important;
    height: 3.65rem !important;
    font-size: 1.08rem !important;
}

.premium-fire-lanes .site-footer .brand__name {
    font-size: 1.22rem !important;
}

.premium-fire-lanes .site-footer .brand__tagline {
    font-size: 0.68rem !important;
}

.premium-fire-lanes .site-footer__brand > p {
    max-width: 39rem !important;
    font-size: 1.2rem !important;
    line-height: 1.72 !important;
    color: rgba(255,255,255,0.84) !important;
}


/* Column headings */

.premium-fire-lanes .site-footer__label {
    margin-bottom: 0.9rem !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.12em !important;
    color: var(--yellow) !important;
}


/* Navigation + Contact */

.premium-fire-lanes .site-footer__column {
    gap: 0.85rem !important;
}

.premium-fire-lanes .site-footer__column a,
.premium-fire-lanes .site-footer__column span {
    font-size: 1.16rem !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,0.88) !important;
}


/* ============================================================
   LEGAL - NOT FINE PRINT
   ============================================================ */

.premium-fire-lanes .site-footer__legal {
    grid-template-columns:
        minmax(18rem, 0.7fr)
        minmax(30rem, 1.3fr) !important;
    gap: clamp(3rem, 6vw, 7rem) !important;
    padding: 2rem 0 !important;
    align-items: start !important;
}

.premium-fire-lanes .site-footer__legal p {
    max-width: 48rem;
    font-size: 1.05rem !important;
    line-height: 1.72 !important;
    color: rgba(255,255,255,0.72) !important;
}


/* ============================================================
   PUNCHLINE
   ============================================================ */

.premium-fire-lanes .site-footer__punchline {
    max-width: 17ch !important;
    margin-top: clamp(3rem, 4vw, 4rem) !important;
    font-size: clamp(3.6rem, 5.2vw, 5.3rem) !important;
    line-height: 0.84 !important;
    color: rgba(255,255,255,0.13) !important;
}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-fire-lanes .site-footer__brand > p {
        max-width: 43rem !important;
        font-size: 1.38rem !important;
    }

    .premium-fire-lanes .site-footer__label {
        font-size: 0.88rem !important;
    }

    .premium-fire-lanes .site-footer__column a,
    .premium-fire-lanes .site-footer__column span {
        font-size: 1.3rem !important;
    }

    .premium-fire-lanes .site-footer__legal p {
        max-width: 54rem;
        font-size: 1.18rem !important;
        line-height: 1.72 !important;
    }

    .premium-fire-lanes .site-footer__punchline {
        font-size: 5.8rem !important;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-fire-lanes .site-footer__main {
        grid-template-columns: 1.25fr 0.75fr !important;
    }

    .premium-fire-lanes .site-footer__column:last-child {
        grid-column: 1 / -1;
    }

    .premium-fire-lanes .site-footer__legal {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-fire-lanes .site-footer__main {
        grid-template-columns: 1fr !important;
    }

    .premium-fire-lanes .site-footer__column:last-child {
        grid-column: auto;
    }

    .premium-fire-lanes .site-footer__brand > p {
        font-size: 1.05rem !important;
    }

    .premium-fire-lanes .site-footer__label {
        font-size: 0.74rem !important;
    }

    .premium-fire-lanes .site-footer__column a,
    .premium-fire-lanes .site-footer__column span {
        font-size: 1.08rem !important;
    }

    .premium-fire-lanes .site-footer__legal p {
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }

    .premium-fire-lanes .site-footer__punchline {
        max-width: 10ch !important;
        font-size: clamp(2.9rem, 13vw, 4rem) !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANES FOOTER READABILITY V2 */

/* STAY IN YOUR LANE FIRE LANE CHOICE LINK READABILITY V1 */

.premium-fire-lanes .fire-lane-choice__card b {
    display: inline-flex;
    align-items: center;
    width: max-content;
    margin-top: 2rem;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid currentColor;
    font-size: 0.9rem !important;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

@media (min-width: 2055px) {

    .premium-fire-lanes .fire-lane-choice__card b {
        font-size: 1.05rem !important;
    }

}

@media (max-width: 640px) {

    .premium-fire-lanes .fire-lane-choice__card b {
        font-size: 0.86rem !important;
    }

}

/* /STAY IN YOUR LANE FIRE LANE CHOICE LINK READABILITY V1 */

/* STAY IN YOUR LANE PREMIUM ARROWS SYMBOLS V1 */

.premium-arrows-symbols {
    --arrow-yellow: #f4c414;
    --arrow-yellow-deep: #d4a900;
    --arrow-asphalt: #181a18;
    --arrow-asphalt-soft: #242724;
    --arrow-paper: #f2eee4;
    --arrow-white: #ffffff;
    --arrow-ink: #121310;
    --arrow-line: rgba(18,19,16,0.18);
}

.premium-arrows-symbols main,
.premium-arrows-symbols section,
.premium-arrows-symbols article,
.premium-arrows-symbols div {
    min-width: 0;
}


/* ============================================================
   HERO
   ============================================================ */

.premium-arrows-symbols .arrows-hero {
    overflow: hidden;
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .arrows-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(22rem, 0.94fr);
    min-height: 43rem;
}

.premium-arrows-symbols .arrows-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5rem) clamp(5rem, 8vw, 8rem) 0;
}

.premium-arrows-symbols .arrows-hero .eyebrow {
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .arrows-hero h1 {
    max-width: 46rem;
    margin: 0;
    color: var(--arrow-white);
    font-size: clamp(3.8rem, 5vw, 5.7rem);
    line-height: 0.94;
    letter-spacing: -0.045em;
}

.premium-arrows-symbols .arrows-hero h1 em {
    display: block;
    margin-top: 0.08em;
    color: var(--arrow-yellow);
    line-height: 0.94;
}

.premium-arrows-symbols .arrows-hero__intro {
    max-width: 40rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-arrows-symbols .arrows-hero .button--primary {
    background: var(--arrow-yellow);
    border-color: var(--arrow-yellow);
    color: var(--arrow-ink);
}

.premium-arrows-symbols .arrows-hero .button--ghost {
    border-color: rgba(255,255,255,0.5);
    color: var(--arrow-white);
}


/* Hero directional field */

.premium-arrows-symbols .arrows-hero__field {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        #242724;
    background-size: 34px 34px;
    border-left: 1px solid rgba(255,255,255,0.15);
}

.premium-arrows-symbols .arrows-hero__lane {
    position: absolute;
    display: grid;
    place-items: center;
    width: 7rem;
    height: 18rem;
    border: 2px solid rgba(255,255,255,0.72);
    color: var(--arrow-white);
    font-family: var(--font-display);
    font-size: 6rem;
    line-height: 1;
}

.premium-arrows-symbols .arrows-hero__lane--one {
    left: 13%;
    top: 16%;
    transform: rotate(-6deg);
}

.premium-arrows-symbols .arrows-hero__lane--two {
    left: 43%;
    top: 30%;
    transform: rotate(5deg);
    border-color: var(--arrow-yellow);
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .arrows-hero__lane--three {
    right: 10%;
    top: 13%;
    transform: rotate(-3deg);
}

.premium-arrows-symbols .arrows-hero__stamp {
    position: absolute;
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
    padding: 1rem 1.2rem;
    border-top: 1px solid rgba(255,255,255,0.24);
    color: rgba(255,255,255,0.58);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.premium-arrows-symbols .arrows-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: var(--arrow-yellow);
    color: var(--arrow-ink);
}

.premium-arrows-symbols .arrows-hero__strip span {
    padding: 1.15rem;
    border-right: 1px solid rgba(18,19,16,0.18);
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}


/* ============================================================
   PAVEMENT VOCABULARY
   ============================================================ */

.premium-arrows-symbols .marking-language {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-paper);
}

.premium-arrows-symbols .marking-language .section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.7fr);
    column-gap: clamp(3rem, 7vw, 7rem);
    align-items: end;
    max-width: none;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-arrows-symbols .marking-language .section-heading .eyebrow {
    grid-column: 1 / -1;
}

.premium-arrows-symbols .marking-language .section-heading h2 {
    margin: 0;
    font-size: clamp(3rem, 4.4vw, 4.7rem);
    line-height: 0.9;
}

.premium-arrows-symbols .marking-language .section-heading h2 em {
    display: block;
    color: var(--arrow-yellow-deep);
}

.premium-arrows-symbols .marking-language .section-heading > p:last-child {
    margin: 0;
    padding-left: 1.3rem;
    border-left: 0.32rem solid var(--arrow-yellow);
    font-size: 1.14rem;
    line-height: 1.76;
    color: rgba(18,19,16,0.78);
}

.premium-arrows-symbols .marking-language__board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--arrow-line);
    border: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .marking-language__item {
    position: relative;
    min-height: 20rem;
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    overflow: hidden;
    background: var(--arrow-paper);
    color: var(--arrow-ink);
}

.premium-arrows-symbols .marking-language__item > span {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--arrow-yellow-deep);
}

.premium-arrows-symbols .marking-language__item > b {
    display: block;
    margin: 1.3rem 0 1.8rem;
    font-family: var(--font-display);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 900;
    line-height: 0.85;
}

.premium-arrows-symbols .marking-language__item h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 2vw, 2.2rem);
    font-weight: 900;
    line-height: 0.96;
    text-transform: uppercase;
}

.premium-arrows-symbols .marking-language__item p {
    margin-top: 1rem;
    font-size: 1.08rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.78);
}

.premium-arrows-symbols .marking-language__item--arrow,
.premium-arrows-symbols .marking-language__item--boundaries {
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .marking-language__item--arrow p,
.premium-arrows-symbols .marking-language__item--boundaries p {
    color: rgba(255,255,255,0.84);
}

.premium-arrows-symbols .marking-language__item--words {
    background: var(--arrow-yellow);
}

.premium-arrows-symbols .marking-language__item--words > span {
    color: var(--arrow-ink);
}


/* ============================================================
   TRAFFIC FLOW
   ============================================================ */

.premium-arrows-symbols .traffic-flow {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .traffic-flow__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-arrows-symbols .traffic-flow h2 {
    color: var(--arrow-white);
}

.premium-arrows-symbols .traffic-flow h2 em {
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .traffic-flow__copy p {
    max-width: 39rem;
    font-size: 1.14rem;
    line-height: 1.78;
    color: rgba(255,255,255,0.84);
}

.premium-arrows-symbols .traffic-flow__copy p + p {
    margin-top: 1.3rem;
}

.premium-arrows-symbols .traffic-flow__map {
    position: relative;
    min-height: 31rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    background:
        linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,0.18) 50%, transparent 50.3%),
        linear-gradient(transparent 49.7%, rgba(255,255,255,0.18) 50%, transparent 50.3%),
        #282b28;
}

.premium-arrows-symbols .traffic-flow__entry,
.premium-arrows-symbols .traffic-flow__exit {
    position: absolute;
    padding: 0.75rem 1rem;
    background: var(--arrow-yellow);
    color: var(--arrow-ink);
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.premium-arrows-symbols .traffic-flow__entry {
    left: 1.5rem;
    bottom: 1.5rem;
}

.premium-arrows-symbols .traffic-flow__exit {
    right: 1.5rem;
    top: 1.5rem;
}

.premium-arrows-symbols .traffic-flow__path {
    position: absolute;
    display: grid;
    place-items: center;
    color: var(--arrow-white);
    font-size: 4rem;
}

.premium-arrows-symbols .traffic-flow__path--a {
    left: 15%;
    bottom: 22%;
}

.premium-arrows-symbols .traffic-flow__path--b {
    left: 48%;
    top: 36%;
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .traffic-flow__path--c {
    right: 16%;
    top: 16%;
}


/* ============================================================
   PLACEMENT LOGIC
   ============================================================ */

.premium-arrows-symbols .marking-placement {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-yellow);
    color: var(--arrow-ink);
}

.premium-arrows-symbols .marking-placement__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 7vw, 8rem);
}

.premium-arrows-symbols .marking-placement h2 em {
    display: block;
    color: var(--arrow-ink);
}

.premium-arrows-symbols .marking-placement__list {
    border-top: 2px solid var(--arrow-ink);
}

.premium-arrows-symbols .marking-placement__list article {
    display: grid;
    grid-template-columns: minmax(8rem, 0.35fr) minmax(15rem, 0.65fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
    padding: 1.75rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.28);
}

.premium-arrows-symbols .marking-placement__list span {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.premium-arrows-symbols .marking-placement__list strong {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
    text-transform: uppercase;
}

.premium-arrows-symbols .marking-placement__list p {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.7;
    color: rgba(18,19,16,0.78);
}


/* ============================================================
   SYMBOL TYPES
   ============================================================ */

.premium-arrows-symbols .symbol-types {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-paper);
}

.premium-arrows-symbols .symbol-types__rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--arrow-line);
    border-left: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .symbol-types__rail article {
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--arrow-line);
    border-bottom: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .symbol-types__rail span {
    color: var(--arrow-yellow-deep);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-arrows-symbols .symbol-types__rail strong {
    display: block;
    margin-top: 2.8rem;
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 2vw, 2.15rem);
    line-height: 0.98;
    text-transform: uppercase;
}

.premium-arrows-symbols .symbol-types__rail p {
    margin-top: 1rem;
    font-size: 1.08rem;
    line-height: 1.7;
    color: rgba(18,19,16,0.78);
}

.premium-arrows-symbols .symbol-types__rail a {
    display: inline-block;
    margin-top: 1.5rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-arrows-symbols .arrows-process {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-white);
}

.premium-arrows-symbols .arrows-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--arrow-line);
    border-left: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .arrows-process__steps article {
    padding: 2rem;
    border-right: 1px solid var(--arrow-line);
    border-bottom: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .arrows-process__steps span {
    display: inline-grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-bottom: 3rem;
    background: var(--arrow-yellow);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
}

.premium-arrows-symbols .arrows-process__steps p {
    font-size: 1.08rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.78);
}


/* ============================================================
   NEW VS REFRESH
   ============================================================ */

.premium-arrows-symbols .arrows-choice {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .arrows-choice h2 {
    color: var(--arrow-white);
}

.premium-arrows-symbols .arrows-choice h2 em {
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .arrows-choice__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 3.5rem;
}

.premium-arrows-symbols .arrows-choice__card {
    display: block;
    padding: clamp(2.2rem, 4vw, 4rem);
    background: var(--arrow-paper);
    color: var(--arrow-ink);
    text-decoration: none;
}

.premium-arrows-symbols .arrows-choice__card--refresh {
    background: var(--arrow-yellow);
}

.premium-arrows-symbols .arrows-choice__card span {
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-arrows-symbols .arrows-choice__card strong {
    display: block;
    max-width: 14ch;
    margin-top: 4rem;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 3.5vw, 4rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.premium-arrows-symbols .arrows-choice__card p {
    max-width: 36rem;
    margin-top: 1.2rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.78);
}

.premium-arrows-symbols .arrows-choice__card b {
    display: inline-block;
    margin-top: 2rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   QUOTE INFO
   ============================================================ */

.premium-arrows-symbols .arrows-quote-info {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-yellow);
    color: var(--arrow-ink);
}

.premium-arrows-symbols .arrows-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-arrows-symbols .arrows-quote-info__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(18,19,16,0.28);
    border-left: 1px solid rgba(18,19,16,0.28);
}

.premium-arrows-symbols .arrows-quote-info__items span {
    padding: 1.4rem;
    border-right: 1px solid rgba(18,19,16,0.28);
    border-bottom: 1px solid rgba(18,19,16,0.28);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   FAQ
   ============================================================ */

.premium-arrows-symbols .arrows-faq {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-paper);
}

.premium-arrows-symbols .arrows-faq__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--arrow-line);
    border-left: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .arrows-faq__grid article {
    padding: clamp(1.8rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--arrow-line);
    border-bottom: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .arrows-faq__grid p {
    margin-top: 1rem;
    font-size: 1.08rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.78);
}


/* ============================================================
   CLOSE
   ============================================================ */

.premium-arrows-symbols .arrows-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .arrows-close::after {
    content: "→";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(244,196,20,0.18);
    font-family: var(--font-display);
    font-size: clamp(10rem, 22vw, 24rem);
    line-height: 1;
}

.premium-arrows-symbols .arrows-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    align-items: end;
}

.premium-arrows-symbols .arrows-close h2 {
    max-width: 50rem;
    color: var(--arrow-white);
}

.premium-arrows-symbols .arrows-close h2 em {
    color: var(--arrow-yellow);
}


/* ============================================================
   ULTRAWIDE READABILITY
   ============================================================ */

@media (min-width: 2055px) {

    .premium-arrows-symbols .arrows-hero__intro,
    .premium-arrows-symbols .marking-language .section-heading > p:last-child,
    .premium-arrows-symbols .traffic-flow__copy p {
        font-size: 1.34rem;
    }

    .premium-arrows-symbols .marking-language__item p,
    .premium-arrows-symbols .marking-placement__list p,
    .premium-arrows-symbols .symbol-types__rail p,
    .premium-arrows-symbols .arrows-process__steps p,
    .premium-arrows-symbols .arrows-choice__card p,
    .premium-arrows-symbols .arrows-faq__grid p {
        font-size: 1.28rem;
    }

    .premium-arrows-symbols .symbol-types__rail a,
    .premium-arrows-symbols .arrows-choice__card b {
        font-size: 1.05rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-arrows-symbols .arrows-hero__grid,
    .premium-arrows-symbols .traffic-flow__grid,
    .premium-arrows-symbols .marking-placement__grid,
    .premium-arrows-symbols .arrows-quote-info__grid {
        grid-template-columns: 1fr;
    }

    .premium-arrows-symbols .arrows-hero__copy {
        padding-right: 0;
    }

    .premium-arrows-symbols .arrows-hero__field {
        min-height: 28rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.15);
    }

    .premium-arrows-symbols .marking-language .section-heading {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .premium-arrows-symbols .marking-language__board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns: 0.4fr 0.8fr 1.2fr;
    }

    .premium-arrows-symbols .symbol-types__rail,
    .premium-arrows-symbols .arrows-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-arrows-symbols .arrows-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .premium-arrows-symbols .arrows-hero__strip,
    .premium-arrows-symbols .marking-language__board,
    .premium-arrows-symbols .symbol-types__rail,
    .premium-arrows-symbols .arrows-process__steps,
    .premium-arrows-symbols .arrows-choice__grid,
    .premium-arrows-symbols .arrows-quote-info__items,
    .premium-arrows-symbols .arrows-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .premium-arrows-symbols .marking-language__item p,
    .premium-arrows-symbols .traffic-flow__copy p,
    .premium-arrows-symbols .marking-placement__list p,
    .premium-arrows-symbols .symbol-types__rail p,
    .premium-arrows-symbols .arrows-process__steps p,
    .premium-arrows-symbols .arrows-choice__card p,
    .premium-arrows-symbols .arrows-faq__grid p {
        font-size: 1.04rem;
    }

    .premium-arrows-symbols .arrows-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM ARROWS SYMBOLS V1 */

/* STAY IN YOUR LANE ARROWS PLACEMENT LOGIC V2 */

.premium-arrows-symbols .marking-placement {
    padding-block: clamp(4rem, 6vw, 6rem);
    background: var(--arrow-yellow);
}

.premium-arrows-symbols .marking-placement__grid {
    display: grid;
    grid-template-columns: minmax(20rem, 0.68fr) minmax(0, 1.32fr);
    gap: 0 !important;
    align-items: stretch;
}


/* Left direction board */

.premium-arrows-symbols .marking-placement__grid > div:first-child {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 4vw, 4.5rem);
    background: var(--arrow-asphalt);
    color: var(--arrow-white);
}

.premium-arrows-symbols .marking-placement__grid > div:first-child::after {
    content: "→";
    position: absolute;
    right: -0.08em;
    bottom: -0.22em;
    color: rgba(244,196,20,0.16);
    font-family: var(--font-display);
    font-size: clamp(10rem, 16vw, 18rem);
    line-height: 1;
}

.premium-arrows-symbols .marking-placement .eyebrow {
    position: relative;
    z-index: 2;
    color: var(--arrow-yellow);
}

.premium-arrows-symbols .marking-placement h2 {
    position: relative;
    z-index: 2;
    max-width: 8ch;
    margin: 1.5rem 0 0;
    color: var(--arrow-white);
    font-family: var(--font-display);
    font-size: clamp(3.1rem, 4.5vw, 4.8rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-arrows-symbols .marking-placement h2 em {
    display: block;
    margin-top: 0.08em;
    color: var(--arrow-yellow);
    line-height: 0.9;
}


/* Right technical list */

.premium-arrows-symbols .marking-placement__list {
    border: 0 !important;
    background: var(--arrow-paper);
}

.premium-arrows-symbols .marking-placement__list article {
    display: grid;
    grid-template-columns:
        minmax(7.5rem, 0.28fr)
        minmax(14rem, 0.72fr)
        minmax(18rem, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: center;
    min-height: 8.5rem;
    padding: 1.7rem clamp(1.8rem, 3vw, 3rem);
    border-bottom: 1px solid var(--arrow-line);
}

.premium-arrows-symbols .marking-placement__list article:last-child {
    border-bottom: 0;
}

.premium-arrows-symbols .marking-placement__list span {
    color: var(--arrow-yellow-deep);
    font-size: 0.72rem !important;
    line-height: 1.3;
}

.premium-arrows-symbols .marking-placement__list strong {
    font-size: clamp(1.75rem, 2vw, 2.2rem) !important;
    line-height: 0.98 !important;
}

.premium-arrows-symbols .marking-placement__list p {
    margin: 0;
    font-size: 1.1rem !important;
    line-height: 1.72 !important;
    color: rgba(18,19,16,0.78) !important;
}


@media (min-width: 2055px) {

    .premium-arrows-symbols .marking-placement h2 {
        font-size: 5.15rem;
    }

    .premium-arrows-symbols .marking-placement__list span {
        font-size: 0.84rem !important;
    }

    .premium-arrows-symbols .marking-placement__list strong {
        font-size: 2.55rem !important;
    }

    .premium-arrows-symbols .marking-placement__list p {
        font-size: 1.28rem !important;
    }

}


@media (max-width: 1000px) {

    .premium-arrows-symbols .marking-placement__grid {
        grid-template-columns: 1fr;
    }

    .premium-arrows-symbols .marking-placement h2 {
        max-width: 11ch;
    }

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns: 0.32fr 0.68fr 1fr;
    }

}


@media (max-width: 640px) {

    .premium-arrows-symbols .marking-placement__grid > div:first-child {
        padding: 2.25rem 1.5rem 5rem;
    }

    .premium-arrows-symbols .marking-placement h2 {
        max-width: 9ch;
        font-size: clamp(2.8rem, 13vw, 3.8rem);
    }

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns: 1fr;
        gap: 0.65rem;
        padding: 1.6rem;
    }

    .premium-arrows-symbols .marking-placement__list strong {
        font-size: 1.75rem !important;
    }

    .premium-arrows-symbols .marking-placement__list p {
        font-size: 1.04rem !important;
    }

}

/* /STAY IN YOUR LANE ARROWS PLACEMENT LOGIC V2 */

/* STAY IN YOUR LANE ARROWS PLACEMENT ROW HIERARCHY V3 */

.premium-arrows-symbols .marking-placement__list article {
    grid-template-columns:
        minmax(16rem, 0.82fr)
        minmax(18rem, 1.18fr) !important;
    grid-template-rows: auto auto;
    column-gap: clamp(2rem, 4vw, 4rem) !important;
    row-gap: 0.65rem;
    align-items: start;
    min-height: 9.5rem;
}

.premium-arrows-symbols .marking-placement__list span {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: max-content;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--arrow-yellow-deep);
}

.premium-arrows-symbols .marking-placement__list strong {
    grid-column: 1;
    grid-row: 2;
    max-width: 15ch;
}

.premium-arrows-symbols .marking-placement__list p {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    max-width: 34rem;
}

@media (min-width: 2055px) {

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns:
            minmax(20rem, 0.82fr)
            minmax(24rem, 1.18fr) !important;
        min-height: 10.5rem;
    }

}

@media (max-width: 1000px) {

    .premium-arrows-symbols .marking-placement__list article {
        grid-template-columns:
            minmax(14rem, 0.8fr)
            minmax(0, 1.2fr) !important;
    }

}

@media (max-width: 640px) {

    .premium-arrows-symbols .marking-placement__list article {
        display: grid;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto;
        gap: 0.75rem;
    }

    .premium-arrows-symbols .marking-placement__list span,
    .premium-arrows-symbols .marking-placement__list strong,
    .premium-arrows-symbols .marking-placement__list p {
        grid-column: 1;
        grid-row: auto;
    }

}

/* /STAY IN YOUR LANE ARROWS PLACEMENT ROW HIERARCHY V3 */

/* STAY IN YOUR LANE PREMIUM CROSSWALKS V1 */

.premium-crosswalks {
    --cross-yellow: #f4c414;
    --cross-yellow-deep: #d7aa00;
    --cross-asphalt: #191b19;
    --cross-asphalt-soft: #272a27;
    --cross-paper: #f2eee4;
    --cross-white: #ffffff;
    --cross-ink: #121310;
    --cross-line: rgba(18,19,16,0.18);
}

.premium-crosswalks main,
.premium-crosswalks section,
.premium-crosswalks article,
.premium-crosswalks div {
    min-width: 0;
}


/* ============================================================
   HERO
   ============================================================ */

.premium-crosswalks .crosswalks-hero {
    overflow: hidden;
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .crosswalks-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(23rem, 0.95fr);
    min-height: 44rem;
}

.premium-crosswalks .crosswalks-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(5rem, 8vw, 8rem) clamp(2rem, 5vw, 5rem) clamp(5rem, 8vw, 8rem) 0;
}

.premium-crosswalks .crosswalks-hero .eyebrow {
    color: var(--cross-yellow);
}

.premium-crosswalks .crosswalks-hero h1 {
    max-width: 45rem;
    margin: 0;
    color: var(--cross-white);
    font-size: clamp(3.8rem, 5vw, 5.7rem);
    line-height: 0.95;
    letter-spacing: -0.045em;
}

.premium-crosswalks .crosswalks-hero h1 em {
    display: block;
    margin-top: 0.08em;
    color: var(--cross-yellow);
    line-height: 0.94;
}

.premium-crosswalks .crosswalks-hero__intro {
    max-width: 41rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-crosswalks .crosswalks-hero .button--primary {
    background: var(--cross-yellow);
    border-color: var(--cross-yellow);
    color: var(--cross-ink);
}

.premium-crosswalks .crosswalks-hero .button--ghost {
    border-color: rgba(255,255,255,0.5);
    color: var(--cross-white);
}


/* Hero crossing field */

.premium-crosswalks .crosswalks-hero__field {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px),
        var(--cross-asphalt-soft);
    background-size: 36px 36px;
    border-left: 1px solid rgba(255,255,255,0.15);
}

.premium-crosswalks .crosswalks-hero__road {
    position: absolute;
    inset: 7% 12%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(1rem, 2vw, 1.7rem);
    transform: rotate(-8deg);
}

.premium-crosswalks .crosswalks-hero__road span {
    display: block;
    width: 100%;
    height: clamp(2.8rem, 5vw, 4.5rem);
    background: var(--cross-white);
}

.premium-crosswalks .crosswalks-hero__label {
    position: absolute;
    left: 1.75rem;
    bottom: 1.75rem;
    padding: 0.9rem 1.1rem;
    background: var(--cross-yellow);
    color: var(--cross-ink);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalks-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: var(--cross-white);
    color: var(--cross-ink);
    border-top: 1px solid rgba(18,19,16,0.16);
}

.premium-crosswalks .crosswalks-hero__strip span {
    padding: 1.15rem;
    border-right: 1px solid rgba(18,19,16,0.16);
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}


/* ============================================================
   CROSSING SYSTEM
   ============================================================ */

.premium-crosswalks .crosswalk-system {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-paper);
}

.premium-crosswalks .crosswalk-system .section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.75fr);
    gap: clamp(2.5rem, 6vw, 7rem);
    align-items: end;
    max-width: none;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-crosswalks .crosswalk-system .section-heading .eyebrow {
    grid-column: 1 / -1;
}

.premium-crosswalks .crosswalk-system .section-heading h2 {
    margin: 0;
    font-size: clamp(3rem, 4.4vw, 4.7rem);
    line-height: 0.9;
}

.premium-crosswalks .crosswalk-system .section-heading h2 em {
    display: block;
    color: var(--cross-yellow-deep);
}

.premium-crosswalks .crosswalk-system .section-heading > p:last-child {
    margin: 0;
    padding-left: 1.4rem;
    border-left: 0.32rem solid var(--cross-yellow);
    font-size: 1.14rem;
    line-height: 1.76;
    color: rgba(18,19,16,0.8);
}

.premium-crosswalks .crosswalk-system__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--cross-line);
    border: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-system__grid article {
    position: relative;
    min-height: 16rem;
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    background: var(--cross-paper);
    color: var(--cross-ink);
}

.premium-crosswalks .crosswalk-system__grid article:nth-child(1),
.premium-crosswalks .crosswalk-system__grid article:nth-child(5) {
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .crosswalk-system__grid article:nth-child(3) {
    border-top: 0.45rem solid var(--cross-yellow);
}

.premium-crosswalks .crosswalk-system__grid article > span {
    display: block;
    margin-bottom: 2.5rem;
    color: var(--cross-yellow-deep);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.premium-crosswalks .crosswalk-system__grid article:nth-child(1) > span,
.premium-crosswalks .crosswalk-system__grid article:nth-child(5) > span {
    color: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-system__grid h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2.1vw, 2.35rem);
    font-weight: 900;
    line-height: 0.96;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-system__grid p {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}

.premium-crosswalks .crosswalk-system__grid article:nth-child(1) p,
.premium-crosswalks .crosswalk-system__grid article:nth-child(5) p {
    color: rgba(255,255,255,0.86);
}


/* ============================================================
   PEDESTRIAN PATH
   ============================================================ */

.premium-crosswalks .pedestrian-path {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .pedestrian-path__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-crosswalks .pedestrian-path h2 {
    color: var(--cross-white);
}

.premium-crosswalks .pedestrian-path h2 em {
    color: var(--cross-yellow);
}

.premium-crosswalks .pedestrian-path__copy p {
    max-width: 39rem;
    font-size: 1.14rem;
    line-height: 1.78;
    color: rgba(255,255,255,0.84);
}

.premium-crosswalks .pedestrian-path__copy p + p {
    margin-top: 1.3rem;
}

.premium-crosswalks .pedestrian-path__diagram {
    position: relative;
    min-height: 31rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    background: #292c29;
}

.premium-crosswalks .pedestrian-path__sidewalk,
.premium-crosswalks .pedestrian-path__destination {
    position: absolute;
    z-index: 2;
    padding: 0.8rem 1rem;
    background: var(--cross-yellow);
    color: var(--cross-ink);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-crosswalks .pedestrian-path__sidewalk {
    left: 1.5rem;
    bottom: 1.5rem;
}

.premium-crosswalks .pedestrian-path__destination {
    right: 1.5rem;
    top: 1.5rem;
}

.premium-crosswalks .pedestrian-path__crossing {
    position: absolute;
    inset: 14% 18%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    transform: rotate(-38deg);
}

.premium-crosswalks .pedestrian-path__crossing span {
    display: block;
    height: 2.4rem;
    background: var(--cross-white);
}


/* ============================================================
   DRIVER APPROACH
   ============================================================ */

.premium-crosswalks .crosswalk-approach {
    padding-block: clamp(4rem, 7vw, 7rem);
    background: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-approach__grid {
    display: grid;
    grid-template-columns: minmax(19rem, 0.7fr) minmax(0, 1.3fr);
    gap: 0;
}

.premium-crosswalks .crosswalk-approach__grid > div:first-child {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 4vw, 4.5rem);
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .crosswalk-approach__grid > div:first-child::after {
    content: "";
    position: absolute;
    left: -7%;
    right: -7%;
    bottom: 4rem;
    height: 1.1rem;
    transform: rotate(-8deg);
    background: var(--cross-yellow);
    opacity: 0.18;
}

.premium-crosswalks .crosswalk-approach .eyebrow {
    color: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-approach h2 {
    position: relative;
    z-index: 2;
    max-width: 9ch;
    margin-top: 1.5rem;
    color: var(--cross-white);
    font-size: clamp(3rem, 4.4vw, 4.7rem);
    line-height: 0.9;
}

.premium-crosswalks .crosswalk-approach h2 em {
    display: block;
    color: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-approach__list {
    background: var(--cross-paper);
}

.premium-crosswalks .crosswalk-approach__list article {
    display: grid;
    grid-template-columns: minmax(15rem, 0.8fr) minmax(18rem, 1.2fr);
    grid-template-rows: auto auto;
    gap: 0.55rem clamp(2rem, 4vw, 4rem);
    min-height: 9rem;
    padding: 1.7rem clamp(1.8rem, 3vw, 3rem);
    border-bottom: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-approach__list article:last-child {
    border-bottom: 0;
}

.premium-crosswalks .crosswalk-approach__list span {
    grid-column: 1;
    grid-row: 1;
    color: var(--cross-yellow-deep);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-approach__list strong {
    grid-column: 1;
    grid-row: 2;
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 2vw, 2.2rem);
    line-height: 0.98;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-approach__list p {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   REQUIREMENTS
   ============================================================ */

.premium-crosswalks .crosswalk-requirements {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-white);
}

.premium-crosswalks .crosswalk-requirements__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(3rem, 7vw, 8rem);
}

.premium-crosswalks .crosswalk-requirements h2 em {
    display: block;
    color: var(--cross-yellow-deep);
}

.premium-crosswalks .crosswalk-requirements__copy {
    padding-left: 2rem;
    border-left: 0.35rem solid var(--cross-yellow);
}

.premium-crosswalks .crosswalk-requirements__copy p {
    font-size: 1.14rem;
    line-height: 1.78;
    color: rgba(18,19,16,0.8);
}

.premium-crosswalks .crosswalk-requirements__copy p + p {
    margin-top: 1.35rem;
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-crosswalks .crosswalk-process {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-paper);
}

.premium-crosswalks .crosswalk-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--cross-line);
    border-left: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-process__steps article {
    padding: 2rem;
    border-right: 1px solid var(--cross-line);
    border-bottom: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-process__steps span {
    display: inline-grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-bottom: 3rem;
    background: var(--cross-yellow);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
}

.premium-crosswalks .crosswalk-process__steps p {
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   NEW VS REFRESH
   ============================================================ */

.premium-crosswalks .crosswalk-choice {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .crosswalk-choice h2 {
    color: var(--cross-white);
}

.premium-crosswalks .crosswalk-choice h2 em {
    color: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-choice__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 3.5rem;
}

.premium-crosswalks .crosswalk-choice__card {
    display: block;
    padding: clamp(2.2rem, 4vw, 4rem);
    background: var(--cross-paper);
    color: var(--cross-ink);
    text-decoration: none;
}

.premium-crosswalks .crosswalk-choice__card--refresh {
    background: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-choice__card span {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-choice__card strong {
    display: block;
    max-width: 14ch;
    margin-top: 4rem;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 3.5vw, 4rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-choice__card p {
    max-width: 36rem;
    margin-top: 1.2rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.8);
}

.premium-crosswalks .crosswalk-choice__card b {
    display: inline-block;
    margin-top: 2rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   QUOTE INFO
   ============================================================ */

.premium-crosswalks .crosswalk-quote-info {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-yellow);
}

.premium-crosswalks .crosswalk-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-crosswalks .crosswalk-quote-info__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(18,19,16,0.28);
    border-left: 1px solid rgba(18,19,16,0.28);
}

.premium-crosswalks .crosswalk-quote-info__items span {
    padding: 1.4rem;
    border-right: 1px solid rgba(18,19,16,0.28);
    border-bottom: 1px solid rgba(18,19,16,0.28);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   FAQ
   ============================================================ */

.premium-crosswalks .crosswalk-faq {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-paper);
}

.premium-crosswalks .crosswalk-faq__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--cross-line);
    border-left: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-faq__grid article {
    padding: clamp(1.8rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--cross-line);
    border-bottom: 1px solid var(--cross-line);
}

.premium-crosswalks .crosswalk-faq__grid p {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   CLOSE
   ============================================================ */

.premium-crosswalks .crosswalks-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--cross-asphalt);
    color: var(--cross-white);
}

.premium-crosswalks .crosswalks-close::after {
    content: "";
    position: absolute;
    right: -4%;
    top: 18%;
    width: 38%;
    height: 60%;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,0.1) 0,
            rgba(255,255,255,0.1) 3rem,
            transparent 3rem,
            transparent 5rem
        );
    transform: rotate(-8deg);
}

.premium-crosswalks .crosswalks-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    align-items: end;
}

.premium-crosswalks .crosswalks-close h2 {
    max-width: 48rem;
    color: var(--cross-white);
}

.premium-crosswalks .crosswalks-close h2 em {
    color: var(--cross-yellow);
}


/* ============================================================
   ULTRAWIDE READABILITY
   ============================================================ */

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalks-hero__intro,
    .premium-crosswalks .crosswalk-system .section-heading > p:last-child,
    .premium-crosswalks .pedestrian-path__copy p,
    .premium-crosswalks .crosswalk-requirements__copy p {
        font-size: 1.34rem;
    }

    .premium-crosswalks .crosswalk-system__grid p,
    .premium-crosswalks .crosswalk-approach__list p,
    .premium-crosswalks .crosswalk-process__steps p,
    .premium-crosswalks .crosswalk-choice__card p,
    .premium-crosswalks .crosswalk-faq__grid p {
        font-size: 1.28rem;
    }

    .premium-crosswalks .crosswalk-choice__card b {
        font-size: 1.05rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-crosswalks .crosswalks-hero__grid,
    .premium-crosswalks .pedestrian-path__grid,
    .premium-crosswalks .crosswalk-approach__grid,
    .premium-crosswalks .crosswalk-requirements__grid,
    .premium-crosswalks .crosswalk-quote-info__grid {
        grid-template-columns: 1fr;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        padding-right: 0;
    }

    .premium-crosswalks .crosswalks-hero__field {
        min-height: 29rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.15);
    }

    .premium-crosswalks .crosswalk-system .section-heading {
        grid-template-columns: 1fr;
    }

    .premium-crosswalks .crosswalk-system__grid,
    .premium-crosswalks .crosswalk-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .crosswalks-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .premium-crosswalks .crosswalks-hero__strip,
    .premium-crosswalks .crosswalk-system__grid,
    .premium-crosswalks .crosswalk-process__steps,
    .premium-crosswalks .crosswalk-choice__grid,
    .premium-crosswalks .crosswalk-quote-info__items,
    .premium-crosswalks .crosswalk-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-crosswalks .crosswalk-approach__list article {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0.7rem;
    }

    .premium-crosswalks .crosswalk-approach__list span,
    .premium-crosswalks .crosswalk-approach__list strong,
    .premium-crosswalks .crosswalk-approach__list p {
        grid-column: 1;
        grid-row: auto;
    }

    .premium-crosswalks .crosswalk-system__grid p,
    .premium-crosswalks .pedestrian-path__copy p,
    .premium-crosswalks .crosswalk-approach__list p,
    .premium-crosswalks .crosswalk-requirements__copy p,
    .premium-crosswalks .crosswalk-process__steps p,
    .premium-crosswalks .crosswalk-choice__card p,
    .premium-crosswalks .crosswalk-faq__grid p {
        font-size: 1.04rem;
    }

    .premium-crosswalks .crosswalks-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM CROSSWALKS V1 */

/* STAY IN YOUR LANE CROSSWALKS ULTRAWIDE TYPE V2 */

@media (min-width: 1600px) {

    .premium-crosswalks .crosswalks-hero__intro,
    .premium-crosswalks .crosswalk-system .section-heading > p:last-child,
    .premium-crosswalks .pedestrian-path__copy p,
    .premium-crosswalks .crosswalk-requirements__copy p {
        font-size: 1.24rem !important;
        line-height: 1.8 !important;
    }

    .premium-crosswalks .crosswalk-system__grid p,
    .premium-crosswalks .crosswalk-approach__list p,
    .premium-crosswalks .crosswalk-process__steps p,
    .premium-crosswalks .crosswalk-choice__card p,
    .premium-crosswalks .crosswalk-faq__grid p {
        font-size: 1.18rem !important;
        line-height: 1.76 !important;
    }

    .premium-crosswalks .eyebrow,
    .premium-crosswalks .crosswalk-system__grid article > span,
    .premium-crosswalks .crosswalk-approach__list span,
    .premium-crosswalks .crosswalk-process__steps span,
    .premium-crosswalks .crosswalk-choice__card span,
    .premium-crosswalks .crosswalk-quote-info__items span {
        font-size: 0.78rem !important;
    }

    .premium-crosswalks .crosswalk-process__steps h3,
    .premium-crosswalks .crosswalk-faq__grid h3 {
        font-size: 1.5rem !important;
        line-height: 1.1 !important;
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalks-hero__intro,
    .premium-crosswalks .crosswalk-system .section-heading > p:last-child,
    .premium-crosswalks .pedestrian-path__copy p,
    .premium-crosswalks .crosswalk-requirements__copy p {
        font-size: 1.42rem !important;
        line-height: 1.8 !important;
    }

    .premium-crosswalks .crosswalk-system__grid p,
    .premium-crosswalks .crosswalk-approach__list p,
    .premium-crosswalks .crosswalk-process__steps p,
    .premium-crosswalks .crosswalk-choice__card p,
    .premium-crosswalks .crosswalk-faq__grid p {
        font-size: 1.34rem !important;
        line-height: 1.78 !important;
    }

    .premium-crosswalks .eyebrow,
    .premium-crosswalks .crosswalk-system__grid article > span,
    .premium-crosswalks .crosswalk-approach__list span,
    .premium-crosswalks .crosswalk-process__steps span,
    .premium-crosswalks .crosswalk-choice__card span,
    .premium-crosswalks .crosswalk-quote-info__items span {
        font-size: 0.9rem !important;
    }

    .premium-crosswalks .crosswalk-process__steps h3,
    .premium-crosswalks .crosswalk-faq__grid h3 {
        font-size: 1.75rem !important;
        line-height: 1.08 !important;
    }

    .premium-crosswalks .crosswalk-choice__card b {
        font-size: 1.1rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS ULTRAWIDE TYPE V2 */

/* STAY IN YOUR LANE CROSSWALKS BOTTOM READABILITY V3 */


/* ============================================================
   QUOTE PREP
   ============================================================ */

.premium-crosswalks .crosswalk-quote-info .eyebrow {
    font-size: 0.82rem !important;
}

.premium-crosswalks .crosswalk-quote-info h2 {
    max-width: 34rem;
    font-size: clamp(2.6rem, 4vw, 4.25rem) !important;
    line-height: 0.94 !important;
}

.premium-crosswalks .crosswalk-quote-info h2 em {
    display: block;
    line-height: 0.96;
}

.premium-crosswalks .crosswalk-quote-info__items span {
    padding: 1.6rem 1.4rem !important;
    font-size: 0.88rem !important;
    line-height: 1.3;
    letter-spacing: 0.06em;
}


/* ============================================================
   CLOSING CTA
   ============================================================ */

.premium-crosswalks .crosswalks-close .eyebrow {
    font-size: 0.78rem !important;
}

.premium-crosswalks .crosswalks-close h2 {
    font-size: clamp(2.8rem, 4.4vw, 4.7rem) !important;
    line-height: 0.92 !important;
}

.premium-crosswalks .crosswalks-close .button {
    font-size: 0.82rem !important;
    padding: 1.1rem 1.5rem;
}


/* ============================================================
   FOOTER BRAND
   ============================================================ */

.premium-crosswalks .site-footer .brand__name {
    font-size: 1.2rem !important;
}

.premium-crosswalks .site-footer .brand__tagline {
    font-size: 0.68rem !important;
}

.premium-crosswalks .site-footer__brand > p {
    max-width: 39rem;
    font-size: 1.16rem !important;
    line-height: 1.72 !important;
    color: rgba(255,255,255,0.84) !important;
}


/* ============================================================
   FOOTER NAVIGATION + CONTACT
   ============================================================ */

.premium-crosswalks .site-footer__label {
    font-size: 0.8rem !important;
    letter-spacing: 0.1em;
}

.premium-crosswalks .site-footer__column {
    gap: 0.8rem;
}

.premium-crosswalks .site-footer__column a,
.premium-crosswalks .site-footer__column span {
    font-size: 1.12rem !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,0.88) !important;
}


/* ============================================================
   LEGAL ROW - ACTUAL HUMAN SIZE
   ============================================================ */

.premium-crosswalks .site-footer__legal {
    gap: clamp(2.5rem, 5vw, 6rem);
    padding: 1.8rem 0 !important;
}

.premium-crosswalks .site-footer__legal p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: rgba(255,255,255,0.68) !important;
}


/* ============================================================
   PUNCHLINE
   ============================================================ */

.premium-crosswalks .site-footer__punchline {
    color: rgba(255,255,255,0.12) !important;
}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalk-quote-info .eyebrow,
    .premium-crosswalks .crosswalks-close .eyebrow {
        font-size: 0.98rem !important;
    }

    .premium-crosswalks .crosswalk-quote-info h2 {
        max-width: 40rem;
        font-size: 4.8rem !important;
    }

    .premium-crosswalks .crosswalk-quote-info__items span {
        padding: 1.9rem 1.6rem !important;
        font-size: 1.08rem !important;
    }

    .premium-crosswalks .crosswalks-close h2 {
        font-size: 5rem !important;
    }

    .premium-crosswalks .crosswalks-close .button {
        font-size: 1rem !important;
    }

    .premium-crosswalks .site-footer .brand__name {
        font-size: 1.42rem !important;
    }

    .premium-crosswalks .site-footer .brand__tagline {
        font-size: 0.8rem !important;
    }

    .premium-crosswalks .site-footer__brand > p {
        max-width: 44rem;
        font-size: 1.34rem !important;
    }

    .premium-crosswalks .site-footer__label {
        font-size: 0.94rem !important;
    }

    .premium-crosswalks .site-footer__column a,
    .premium-crosswalks .site-footer__column span {
        font-size: 1.28rem !important;
    }

    .premium-crosswalks .site-footer__legal p {
        font-size: 1.16rem !important;
        line-height: 1.72 !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .crosswalk-quote-info h2 {
        font-size: clamp(2.45rem, 12vw, 3.4rem) !important;
    }

    .premium-crosswalks .crosswalk-quote-info__items span {
        font-size: 0.82rem !important;
    }

    .premium-crosswalks .site-footer__brand > p {
        font-size: 1.05rem !important;
    }

    .premium-crosswalks .site-footer__column a,
    .premium-crosswalks .site-footer__column span {
        font-size: 1.06rem !important;
    }

    .premium-crosswalks .site-footer__legal p {
        font-size: 0.96rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS BOTTOM READABILITY V3 */

/* STAY IN YOUR LANE CROSSWALKS REQUIREMENTS HEADING V4 */

.premium-crosswalks .crosswalk-requirements__grid {
    align-items: center;
}

.premium-crosswalks .crosswalk-requirements .eyebrow {
    margin-bottom: 1.25rem;
    font-size: 0.82rem !important;
}

.premium-crosswalks .crosswalk-requirements h2 {
    max-width: 10ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.2rem, 4.5vw, 4.8rem) !important;
    font-weight: 900;
    line-height: 0.9 !important;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-crosswalks .crosswalk-requirements h2 em {
    display: block;
    margin-top: 0.08em;
    color: var(--cross-yellow-deep);
    line-height: 0.92;
}

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalk-requirements .eyebrow {
        font-size: 0.96rem !important;
    }

    .premium-crosswalks .crosswalk-requirements h2 {
        font-size: 5.2rem !important;
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .crosswalk-requirements h2 {
        max-width: 9ch;
        font-size: clamp(2.7rem, 13vw, 3.7rem) !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS REQUIREMENTS HEADING V4 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN PATH TYPE V5 */

.premium-crosswalks .pedestrian-path .eyebrow {
    margin-bottom: 1.35rem;
    font-size: 0.82rem !important;
}

.premium-crosswalks .pedestrian-path h2 {
    max-width: 10ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(3.1rem, 4.4vw, 4.7rem) !important;
    font-weight: 900;
    line-height: 0.9 !important;
    letter-spacing: -0.045em;
    text-transform: uppercase;
}

.premium-crosswalks .pedestrian-path h2 em {
    display: block;
    margin-top: 0.08em;
    color: var(--cross-yellow);
    line-height: 0.92;
}

.premium-crosswalks .pedestrian-path__copy p {
    max-width: 42rem;
    font-size: 1.2rem !important;
    line-height: 1.8 !important;
    color: rgba(255,255,255,0.88) !important;
}

.premium-crosswalks .pedestrian-path__copy p + p {
    margin-top: 1.5rem;
}

@media (min-width: 1600px) {

    .premium-crosswalks .pedestrian-path h2 {
        font-size: 4.8rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy p {
        font-size: 1.3rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path .eyebrow {
        font-size: 0.98rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        max-width: 11ch;
        font-size: 5.3rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy p {
        max-width: 46rem;
        font-size: 1.42rem !important;
        line-height: 1.82 !important;
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path h2 {
        max-width: 9ch;
        font-size: clamp(2.7rem, 13vw, 3.7rem) !important;
    }

    .premium-crosswalks .pedestrian-path__copy p {
        font-size: 1.04rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN PATH TYPE V5 */

/* STAY IN YOUR LANE CROSSWALKS HEADING SYSTEM V6 */


/* ============================================================
   ONE SECTION-HEADING SYSTEM
   Hero intentionally excluded.
   ============================================================ */

.premium-crosswalks .crosswalk-system h2,
.premium-crosswalks .pedestrian-path h2,
.premium-crosswalks .crosswalk-approach h2,
.premium-crosswalks .crosswalk-requirements h2,
.premium-crosswalks .crosswalk-process h2,
.premium-crosswalks .crosswalk-choice h2,
.premium-crosswalks .crosswalk-quote-info h2,
.premium-crosswalks .crosswalk-faq h2,
.premium-crosswalks .crosswalks-close h2 {
    max-width: 12ch !important;
    margin: 0 !important;
    font-family: var(--font-display) !important;
    font-size: clamp(3.25rem, 4.35vw, 4.65rem) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    letter-spacing: -0.045em !important;
    text-transform: uppercase !important;
}


/* Emphasis line */

.premium-crosswalks .crosswalk-system h2 em,
.premium-crosswalks .pedestrian-path h2 em,
.premium-crosswalks .crosswalk-approach h2 em,
.premium-crosswalks .crosswalk-requirements h2 em,
.premium-crosswalks .crosswalk-process h2 em,
.premium-crosswalks .crosswalk-choice h2 em,
.premium-crosswalks .crosswalk-quote-info h2 em,
.premium-crosswalks .crosswalk-faq h2 em,
.premium-crosswalks .crosswalks-close h2 em {
    display: block !important;
    margin-top: 0.06em !important;
    font-family: inherit !important;
    font-size: 1em !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    letter-spacing: inherit !important;
    text-transform: uppercase !important;
    color: var(--cross-yellow-deep) !important;
}


/* Dark sections need brighter yellow. */

.premium-crosswalks .pedestrian-path h2 em,
.premium-crosswalks .crosswalk-approach h2 em,
.premium-crosswalks .crosswalk-choice h2 em,
.premium-crosswalks .crosswalks-close h2 em {
    color: var(--cross-yellow) !important;
}


/* Light/dark base headline colors */

.premium-crosswalks .crosswalk-system h2,
.premium-crosswalks .crosswalk-requirements h2,
.premium-crosswalks .crosswalk-process h2,
.premium-crosswalks .crosswalk-quote-info h2,
.premium-crosswalks .crosswalk-faq h2 {
    color: var(--cross-ink) !important;
}

.premium-crosswalks .pedestrian-path h2,
.premium-crosswalks .crosswalk-approach h2,
.premium-crosswalks .crosswalk-choice h2,
.premium-crosswalks .crosswalks-close h2 {
    color: var(--cross-white) !important;
}


/* Quote Prep is yellow, so black headline. */

.premium-crosswalks .crosswalk-quote-info h2 {
    color: var(--cross-ink) !important;
}

.premium-crosswalks .crosswalk-quote-info h2 em {
    color: var(--cross-ink) !important;
}


/* ============================================================
   EYEBROWS
   ============================================================ */

.premium-crosswalks .crosswalk-system .eyebrow,
.premium-crosswalks .pedestrian-path .eyebrow,
.premium-crosswalks .crosswalk-approach .eyebrow,
.premium-crosswalks .crosswalk-requirements .eyebrow,
.premium-crosswalks .crosswalk-process .eyebrow,
.premium-crosswalks .crosswalk-choice .eyebrow,
.premium-crosswalks .crosswalk-quote-info .eyebrow,
.premium-crosswalks .crosswalk-faq .eyebrow,
.premium-crosswalks .crosswalks-close .eyebrow {
    margin-bottom: 1.25rem !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .crosswalk-system h2,
    .premium-crosswalks .pedestrian-path h2,
    .premium-crosswalks .crosswalk-approach h2,
    .premium-crosswalks .crosswalk-requirements h2,
    .premium-crosswalks .crosswalk-process h2,
    .premium-crosswalks .crosswalk-choice h2,
    .premium-crosswalks .crosswalk-quote-info h2,
    .premium-crosswalks .crosswalk-faq h2,
    .premium-crosswalks .crosswalks-close h2 {
        font-size: 4.8rem !important;
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalk-system h2,
    .premium-crosswalks .pedestrian-path h2,
    .premium-crosswalks .crosswalk-approach h2,
    .premium-crosswalks .crosswalk-requirements h2,
    .premium-crosswalks .crosswalk-process h2,
    .premium-crosswalks .crosswalk-choice h2,
    .premium-crosswalks .crosswalk-quote-info h2,
    .premium-crosswalks .crosswalk-faq h2,
    .premium-crosswalks .crosswalks-close h2 {
        max-width: 12ch !important;
        font-size: 5.25rem !important;
    }

    .premium-crosswalks .crosswalk-system .eyebrow,
    .premium-crosswalks .pedestrian-path .eyebrow,
    .premium-crosswalks .crosswalk-approach .eyebrow,
    .premium-crosswalks .crosswalk-requirements .eyebrow,
    .premium-crosswalks .crosswalk-process .eyebrow,
    .premium-crosswalks .crosswalk-choice .eyebrow,
    .premium-crosswalks .crosswalk-quote-info .eyebrow,
    .premium-crosswalks .crosswalk-faq .eyebrow,
    .premium-crosswalks .crosswalks-close .eyebrow {
        font-size: 0.96rem !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .crosswalk-system h2,
    .premium-crosswalks .pedestrian-path h2,
    .premium-crosswalks .crosswalk-approach h2,
    .premium-crosswalks .crosswalk-requirements h2,
    .premium-crosswalks .crosswalk-process h2,
    .premium-crosswalks .crosswalk-choice h2,
    .premium-crosswalks .crosswalk-quote-info h2,
    .premium-crosswalks .crosswalk-faq h2,
    .premium-crosswalks .crosswalks-close h2 {
        max-width: 10ch !important;
        font-size: clamp(2.65rem, 12vw, 3.55rem) !important;
    }

    .premium-crosswalks .crosswalk-system .eyebrow,
    .premium-crosswalks .pedestrian-path .eyebrow,
    .premium-crosswalks .crosswalk-approach .eyebrow,
    .premium-crosswalks .crosswalk-requirements .eyebrow,
    .premium-crosswalks .crosswalk-process .eyebrow,
    .premium-crosswalks .crosswalk-choice .eyebrow,
    .premium-crosswalks .crosswalk-quote-info .eyebrow,
    .premium-crosswalks .crosswalk-faq .eyebrow,
    .premium-crosswalks .crosswalks-close .eyebrow {
        font-size: 0.72rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS HEADING SYSTEM V6 */

/* STAY IN YOUR LANE CROSSWALKS HERO PHOTO V7 */


/* ============================================================
   FULL-WIDTH PHOTO HERO
   ============================================================ */

.premium-crosswalks .crosswalks-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(20,22,20,0.98) 0%,
            rgba(20,22,20,0.94) 27%,
            rgba(20,22,20,0.78) 44%,
            rgba(20,22,20,0.35) 65%,
            rgba(20,22,20,0.08) 100%
        ),
        url("../images/crosswalk-hero.webp")
        60% center / cover no-repeat !important;
    color: var(--cross-white);
}

.premium-crosswalks .crosswalks-hero__grid {
    display: block !important;
    min-height: clamp(44rem, 56vw, 52rem);
}

.premium-crosswalks .crosswalks-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(50rem, 58%);
    min-height: inherit;
    padding:
        clamp(6rem, 9vw, 9rem)
        0
        clamp(6rem, 9vw, 9rem) !important;
}

.premium-crosswalks .crosswalks-hero h1 {
    max-width: 10ch;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.premium-crosswalks .crosswalks-hero__intro {
    max-width: 40rem;
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.32);
}


/* Kill the old fake zebra-board hero graphic. */

.premium-crosswalks .crosswalks-hero__field {
    display: none !important;
}


/* Keep service strip distinct from the photograph. */

.premium-crosswalks .crosswalks-hero__strip {
    position: relative;
    z-index: 3;
    background: rgba(255,255,255,0.97);
}


/* ============================================================
   DESKTOP
   ============================================================ */

@media (min-width: 1001px) and (max-width: 1599px) {

    .premium-crosswalks .crosswalks-hero {
        background-position: 62% center !important;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        width: min(46rem, 54%);
    }

}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .crosswalks-hero {
        background-position: 63% center !important;
    }

    .premium-crosswalks .crosswalks-hero__grid {
        min-height: 50rem;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        width: min(50rem, 50%);
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-crosswalks .crosswalks-hero {
        background:
            linear-gradient(
                90deg,
                rgba(20,22,20,0.98) 0%,
                rgba(20,22,20,0.94) 25%,
                rgba(20,22,20,0.69) 42%,
                rgba(20,22,20,0.2) 65%,
                rgba(20,22,20,0.05) 100%
            ),
            url("../images/crosswalk-hero.webp")
            64% center / cover no-repeat !important;
    }

    .premium-crosswalks .crosswalks-hero__grid {
        min-height: 53rem;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        width: min(54rem, 48%);
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-crosswalks .crosswalks-hero {
        background:
            linear-gradient(
                90deg,
                rgba(20,22,20,0.96) 0%,
                rgba(20,22,20,0.88) 56%,
                rgba(20,22,20,0.42) 100%
            ),
            url("../images/crosswalk-hero.webp")
            64% center / cover no-repeat !important;
    }

    .premium-crosswalks .crosswalks-hero__grid {
        min-height: 45rem;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        width: min(40rem, 76%);
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .crosswalks-hero {
        background:
            linear-gradient(
                rgba(20,22,20,0.88),
                rgba(20,22,20,0.8)
            ),
            url("../images/crosswalk-hero.webp")
            67% center / cover no-repeat !important;
    }

    .premium-crosswalks .crosswalks-hero__grid {
        min-height: auto;
    }

    .premium-crosswalks .crosswalks-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS HERO PHOTO V7 */

/* STAY IN YOUR LANE CROSSWALKS PHOTO + NAV RESCUE V8 */


/* ============================================================
   PEDESTRIAN PATH PHOTO
   Kill the blog-post figure treatment.
   ============================================================ */

.premium-crosswalks .pedestrian-path__grid {
    grid-template-columns:
        minmax(25rem, 0.82fr)
        minmax(0, 1.18fr) !important;
    gap: clamp(3rem, 5vw, 6rem) !important;
}

.premium-crosswalks .pedestrian-path__photo {
    position: relative;
    align-self: stretch;
    min-width: 0;
    min-height: 32rem;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.18);
    border-top: 0.55rem solid var(--cross-yellow);
    background: #252825;
}

.premium-crosswalks .pedestrian-path__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 32rem;
    object-fit: cover;
    object-position: center;
}


/*
   The section already has a headline and explanation.
   We do NOT need a second caption narrating the photograph.
*/

.premium-crosswalks .pedestrian-path__photo figcaption {
    display: none !important;
}


/* ============================================================
   MEDIUM DESKTOP NAV RESCUE
   Stop HOW IT WORKS and friends from wrapping.
   ============================================================ */

@media (min-width: 901px) and (max-width: 1180px) {

    .premium-crosswalks .site-header .site-shell {
        display: grid;
        grid-template-columns:
            max-content
            minmax(0, 1fr)
            max-content;
        align-items: center;
        column-gap: clamp(1rem, 2vw, 1.5rem);
    }

    .premium-crosswalks .site-header .brand {
        flex-shrink: 0;
    }

    .premium-crosswalks .site-header .site-nav {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: nowrap !important;
        gap: clamp(0.7rem, 1.45vw, 1.15rem) !important;
        min-width: 0;
    }

    .premium-crosswalks .site-header .site-nav a {
        width: auto !important;
        white-space: nowrap !important;
        font-size: 0.72rem !important;
        line-height: 1 !important;
        letter-spacing: 0.055em !important;
    }

    .premium-crosswalks .site-header .brand__name {
        white-space: nowrap;
        font-size: 0.98rem;
    }

    .premium-crosswalks .site-header .brand__tagline {
        white-space: nowrap;
    }

    .premium-crosswalks .site-header .button {
        flex-shrink: 0;
        white-space: nowrap;
        padding-inline: 1.15rem;
    }

}


/* ============================================================
   WIDE + ULTRAWIDE PHOTO SCALE
   ============================================================ */

@media (min-width: 1600px) {

    .premium-crosswalks .pedestrian-path__photo,
    .premium-crosswalks .pedestrian-path__photo img {
        min-height: 36rem;
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path__photo,
    .premium-crosswalks .pedestrian-path__photo img {
        min-height: 40rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-crosswalks .pedestrian-path__grid {
        grid-template-columns: 1fr !important;
    }

    .premium-crosswalks .pedestrian-path__photo,
    .premium-crosswalks .pedestrian-path__photo img {
        min-height: 27rem;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path__photo,
    .premium-crosswalks .pedestrian-path__photo img {
        min-height: 21rem;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PHOTO + NAV RESCUE V8 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN PATH BG PANEL V1 */

.premium-crosswalks .pedestrian-path__grid {
    align-items: stretch;
    grid-template-columns:
        minmax(25rem, 0.9fr)
        minmax(32rem, 1.1fr) !important;
    gap: clamp(2.5rem, 4vw, 5rem) !important;
}

.premium-crosswalks .pedestrian-path__photo {
    position: relative;
    min-height: clamp(28rem, 42vw, 42rem);
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.16);
    border-top: 0.45rem solid #f0c419;
    background-color: #1b1d1b;
    background-image: url("../images/crosswalk-pedestrian-path.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.premium-crosswalks .pedestrian-path__photo img,
.premium-crosswalks .pedestrian-path__photo figcaption {
    display: none !important;
}

.premium-crosswalks .pedestrian-path__photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.05) 0%,
            rgba(0,0,0,0.10) 100%
        );
    pointer-events: none;
}

@media (min-width: 1600px) {

    .premium-crosswalks .pedestrian-path__photo {
        min-height: 38rem;
    }

}

@media (min-width: 1920px) {

    .premium-crosswalks .pedestrian-path__photo {
        min-height: 41rem;
    }

}

@media (max-width: 900px) {

    .premium-crosswalks .pedestrian-path__grid {
        grid-template-columns: 1fr !important;
    }

    .premium-crosswalks .pedestrian-path__photo {
        min-height: 24rem;
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path__photo {
        min-height: 20rem;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN PATH BG PANEL V1 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN FULL BG V2 */

.premium-crosswalks .pedestrian-path {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(20,22,20,0.98) 0%,
            rgba(20,22,20,0.94) 28%,
            rgba(20,22,20,0.76) 48%,
            rgba(20,22,20,0.28) 72%,
            rgba(20,22,20,0.10) 100%
        ),
        url("../images/crosswalk-pedestrian-path.webp")
        62% center / cover no-repeat !important;
    color: var(--cross-white);
}

.premium-crosswalks .pedestrian-path__grid {
    display: block !important;
    min-height: clamp(42rem, 54vw, 50rem);
}

.premium-crosswalks .pedestrian-path__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(47rem, 52%);
    min-height: inherit;
    padding-block: clamp(6rem, 9vw, 9rem);
}

.premium-crosswalks .pedestrian-path__photo {
    display: none !important;
}

.premium-crosswalks .pedestrian-path h2 {
    max-width: 10ch !important;
    color: var(--cross-white) !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.28);
}

.premium-crosswalks .pedestrian-path h2 em {
    color: var(--cross-yellow) !important;
}

.premium-crosswalks .pedestrian-path__copy p {
    max-width: 40rem;
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.35);
}

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .pedestrian-path {
        background-position: 64% center !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(50rem, 48%);
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                90deg,
                rgba(20,22,20,0.98) 0%,
                rgba(20,22,20,0.93) 25%,
                rgba(20,22,20,0.68) 44%,
                rgba(20,22,20,0.18) 70%,
                rgba(20,22,20,0.06) 100%
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            65% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__grid {
        min-height: 52rem;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(54rem, 46%);
    }

}

@media (max-width: 900px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                90deg,
                rgba(20,22,20,0.96) 0%,
                rgba(20,22,20,0.88) 58%,
                rgba(20,22,20,0.46) 100%
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            67% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(40rem, 78%);
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                rgba(20,22,20,0.88),
                rgba(20,22,20,0.82)
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            69% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__grid {
        min-height: auto;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: 100%;
        padding-block: 5rem;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN FULL BG V2 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN BG HEIGHT V3 */

.premium-crosswalks .pedestrian-path {
    padding-block: 0 !important;
}

.premium-crosswalks .pedestrian-path__grid {
    min-height: clamp(30rem, 36vw, 35rem) !important;
}

.premium-crosswalks .pedestrian-path__copy {
    width: min(45rem, 48%) !important;
    padding-block: clamp(3.75rem, 5vw, 5rem) !important;
}

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .pedestrian-path__grid {
        min-height: 35rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(48rem, 46%) !important;
        padding-block: 4.75rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path__grid {
        min-height: 38rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(52rem, 44%) !important;
        padding-block: 5rem !important;
    }

}

@media (max-width: 900px) {

    .premium-crosswalks .pedestrian-path__grid {
        min-height: 32rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(38rem, 74%) !important;
        padding-block: 4rem !important;
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path__grid {
        min-height: auto !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: 100% !important;
        padding-block: 4rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN BG HEIGHT V3 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN COMPACT BG V4 */


/* ============================================================
   COMPACT FULL-BACKGROUND EDITORIAL BAND
   ============================================================ */

.premium-crosswalks .pedestrian-path {
    padding: 0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(20,22,20,0.98) 0%,
            rgba(20,22,20,0.96) 30%,
            rgba(20,22,20,0.82) 52%,
            rgba(20,22,20,0.32) 73%,
            rgba(20,22,20,0.08) 100%
        ),
        url("../images/crosswalk-pedestrian-path.webp")
        66% center / cover no-repeat !important;
}

.premium-crosswalks .pedestrian-path__grid {
    display: block !important;
    min-height: 0 !important;
}

.premium-crosswalks .pedestrian-path__copy {
    display: grid !important;
    grid-template-columns:
        minmax(19rem, 0.9fr)
        minmax(22rem, 1.1fr);
    grid-template-rows: auto auto auto;
    column-gap: clamp(3rem, 5vw, 6rem);
    row-gap: 1rem;
    align-items: start;
    width: min(68rem, 74%) !important;
    min-height: 0 !important;
    padding-block: clamp(4rem, 5vw, 5.5rem) !important;
}

.premium-crosswalks .pedestrian-path .eyebrow {
    grid-column: 1 / -1;
    grid-row: 1;
    margin: 0 0 0.75rem !important;
}

.premium-crosswalks .pedestrian-path h2 {
    grid-column: 1;
    grid-row: 2 / 4;
    align-self: start;
    max-width: 8.5ch !important;
    margin: 0 !important;
    font-size: clamp(3.2rem, 4vw, 4.35rem) !important;
}

.premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
    grid-column: 2;
    max-width: 34rem !important;
    margin: 0 !important;
    font-size: 1.16rem !important;
    line-height: 1.75 !important;
}

.premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow):first-of-type {
    grid-row: 2;
}

.premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow):last-of-type {
    grid-row: 3;
    margin-top: 0.5rem !important;
}

.premium-crosswalks .pedestrian-path__photo {
    display: none !important;
}


/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .pedestrian-path__copy {
        width: min(72rem, 70%) !important;
        padding-block: 5rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: 4.55rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        font-size: 1.26rem !important;
    }

}


/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path {
        background-position: 68% center !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(78rem, 66%) !important;
        padding-block: 5.25rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: 4.9rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        max-width: 38rem !important;
        font-size: 1.34rem !important;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-crosswalks .pedestrian-path__copy {
        display: block !important;
        width: min(40rem, 78%) !important;
        padding-block: 4.5rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        max-width: 9ch !important;
        margin-bottom: 1.5rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        margin-top: 1.2rem !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                rgba(20,22,20,0.9),
                rgba(20,22,20,0.82)
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            67% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: 100% !important;
        padding-block: 4rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: clamp(2.7rem, 12vw, 3.5rem) !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        font-size: 1.04rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN COMPACT BG V4 */

/* STAY IN YOUR LANE CROSSWALKS PEDESTRIAN BG FINAL V5 */

.premium-crosswalks .pedestrian-path {
    padding: 0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.97) 0%,
            rgba(18,20,18,0.93) 32%,
            rgba(18,20,18,0.72) 50%,
            rgba(18,20,18,0.24) 72%,
            rgba(18,20,18,0.06) 100%
        ),
        url("../images/crosswalk-pedestrian-path.webp")
        66% center / cover no-repeat !important;
}

.premium-crosswalks .pedestrian-path__grid {
    display: block !important;
    min-height: 0 !important;
}

.premium-crosswalks .pedestrian-path__copy {
    display: block !important;
    width: min(34rem, 47%) !important;
    min-height: 0 !important;
    padding-block: clamp(3.5rem, 5vw, 4.75rem) !important;
}

.premium-crosswalks .pedestrian-path .eyebrow {
    display: block;
    margin: 0 0 1.1rem !important;
}

.premium-crosswalks .pedestrian-path h2 {
    display: block !important;
    max-width: 8.5ch !important;
    margin: 0 0 1.4rem !important;
    font-size: clamp(3rem, 3.8vw, 4.15rem) !important;
    line-height: 0.9 !important;
}

.premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
    display: block !important;
    max-width: 33rem !important;
    margin: 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.72 !important;
    color: rgba(255,255,255,0.92) !important;
}

.premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) + p:not(.eyebrow) {
    margin-top: 1.3rem !important;
}

.premium-crosswalks .pedestrian-path__photo {
    display: none !important;
}

@media (min-width: 1600px) and (max-width: 2054px) {

    .premium-crosswalks .pedestrian-path__copy {
        width: min(38rem, 43%) !important;
        padding-block: 4.5rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: 4.35rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        font-size: 1.2rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-crosswalks .pedestrian-path {
        background-position: 68% center !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(42rem, 40%) !important;
        padding-block: 4.75rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: 4.65rem !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        max-width: 38rem !important;
        font-size: 1.3rem !important;
    }

}

@media (max-width: 900px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.86) 62%,
                rgba(18,20,18,0.40) 100%
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            68% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: min(36rem, 72%) !important;
        padding-block: 4rem !important;
    }

}

@media (max-width: 640px) {

    .premium-crosswalks .pedestrian-path {
        background:
            linear-gradient(
                rgba(18,20,18,0.90),
                rgba(18,20,18,0.82)
            ),
            url("../images/crosswalk-pedestrian-path.webp")
            68% center / cover no-repeat !important;
    }

    .premium-crosswalks .pedestrian-path__copy {
        width: 100% !important;
        padding-block: 3.75rem !important;
    }

    .premium-crosswalks .pedestrian-path h2 {
        font-size: clamp(2.65rem, 12vw, 3.45rem) !important;
    }

    .premium-crosswalks .pedestrian-path__copy > p:not(.eyebrow) {
        font-size: 1.04rem !important;
    }

}

/* /STAY IN YOUR LANE CROSSWALKS PEDESTRIAN BG FINAL V5 */

/* STAY IN YOUR LANE PREMIUM STENCILS CURBS V1 */

.premium-stencils-curbs {
    --sc-yellow: #f4c414;
    --sc-yellow-deep: #cfa500;
    --sc-asphalt: #181a18;
    --sc-asphalt-soft: #252825;
    --sc-paper: #f1ede3;
    --sc-white: #ffffff;
    --sc-ink: #121310;
    --sc-line: rgba(18,19,16,0.18);
}

.premium-stencils-curbs main,
.premium-stencils-curbs section,
.premium-stencils-curbs article,
.premium-stencils-curbs div {
    min-width: 0;
}


/* ============================================================
   HERO
   ============================================================ */

.premium-stencils-curbs .stencils-hero {
    overflow: hidden;
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencils-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(25rem, 1fr);
    min-height: 43rem;
}

.premium-stencils-curbs .stencils-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-stencils-curbs .stencils-hero .eyebrow {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .stencils-hero h1 {
    max-width: 44rem;
    margin: 0;
    color: var(--sc-white);
    font-size: clamp(3.8rem, 5vw, 5.7rem);
    line-height: 0.93;
    letter-spacing: -0.045em;
}

.premium-stencils-curbs .stencils-hero h1 em {
    display: block;
    margin-top: 0.07em;
    color: var(--sc-yellow);
    line-height: 0.92;
}

.premium-stencils-curbs .stencils-hero__intro {
    max-width: 40rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-stencils-curbs .stencils-hero .button--primary {
    background: var(--sc-yellow);
    border-color: var(--sc-yellow);
    color: var(--sc-ink);
}

.premium-stencils-curbs .stencils-hero .button--ghost {
    border-color: rgba(255,255,255,0.5);
    color: var(--sc-white);
}


/* Stencil board */

.premium-stencils-curbs .stencils-hero__board {
    position: relative;
    overflow: hidden;
    border-left: 1px solid rgba(255,255,255,0.15);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        #292c29;
    background-size: 34px 34px;
}

.premium-stencils-curbs .stencils-hero__word,
.premium-stencils-curbs .stencils-hero__number,
.premium-stencils-curbs .stencils-hero__curb {
    position: absolute;
    font-family: var(--font-display);
    font-weight: 900;
    line-height: 0.82;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencils-hero__word {
    left: 10%;
    top: 15%;
    color: transparent;
    -webkit-text-stroke: 2px var(--sc-white);
    font-size: clamp(3.5rem, 5vw, 5.5rem);
    transform: rotate(-4deg);
}

.premium-stencils-curbs .stencils-hero__number {
    right: 10%;
    top: 36%;
    color: var(--sc-yellow);
    font-size: clamp(8rem, 14vw, 15rem);
    transform: rotate(4deg);
}

.premium-stencils-curbs .stencils-hero__curb {
    left: 12%;
    bottom: 18%;
    padding: 0.35em 0.5em;
    border: 0.2rem solid var(--sc-white);
    color: var(--sc-white);
    font-size: clamp(2.4rem, 4vw, 4.5rem);
    transform: rotate(3deg);
}

.premium-stencils-curbs .stencils-hero__tag {
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
    padding: 0.85rem 1rem;
    background: var(--sc-yellow);
    color: var(--sc-ink);
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencils-hero__strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: var(--sc-paper);
    color: var(--sc-ink);
}

.premium-stencils-curbs .stencils-hero__strip span {
    padding: 1.15rem;
    border-right: 1px solid var(--sc-line);
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* ============================================================
   MARKING LIBRARY
   ============================================================ */

.premium-stencils-curbs .marking-library {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-paper);
}

.premium-stencils-curbs .marking-library .section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.75fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: end;
    max-width: none;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-stencils-curbs .marking-library .section-heading .eyebrow {
    grid-column: 1 / -1;
}

.premium-stencils-curbs .marking-library .section-heading h2 {
    margin: 0;
    font-size: clamp(3.1rem, 4.5vw, 4.8rem);
    line-height: 0.9;
}

.premium-stencils-curbs .marking-library .section-heading h2 em {
    display: block;
    color: var(--sc-yellow-deep);
}

.premium-stencils-curbs .marking-library .section-heading > p:last-child {
    margin: 0;
    padding-left: 1.35rem;
    border-left: 0.32rem solid var(--sc-yellow);
    font-size: 1.14rem;
    line-height: 1.76;
    color: rgba(18,19,16,0.8);
}

.premium-stencils-curbs .marking-library__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--sc-line);
    border: 1px solid var(--sc-line);
}

.premium-stencils-curbs .marking-library__grid article {
    min-height: 20rem;
    padding: clamp(1.8rem, 2.5vw, 2.5rem);
    background: var(--sc-paper);
}

.premium-stencils-curbs .marking-library__grid article:nth-child(1),
.premium-stencils-curbs .marking-library__grid article:nth-child(5) {
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .marking-library__grid article:nth-child(3) {
    background: var(--sc-yellow);
}

.premium-stencils-curbs .marking-library__grid article > span {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    color: var(--sc-yellow-deep);
}

.premium-stencils-curbs .marking-library__grid article:nth-child(1) > span,
.premium-stencils-curbs .marking-library__grid article:nth-child(5) > span {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .marking-library__grid article > strong {
    display: block;
    margin: 1.3rem 0 1.6rem;
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    font-weight: 900;
    line-height: 0.82;
    text-transform: uppercase;
}

.premium-stencils-curbs .marking-library__grid h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2vw, 2.2rem);
    font-weight: 900;
    line-height: 0.96;
    text-transform: uppercase;
}

.premium-stencils-curbs .marking-library__grid p {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}

.premium-stencils-curbs .marking-library__grid article:nth-child(1) p,
.premium-stencils-curbs .marking-library__grid article:nth-child(5) p {
    color: rgba(255,255,255,0.86);
}


/* ============================================================
   CURB EDGE
   ============================================================ */

.premium-stencils-curbs .curb-edge {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .curb-edge__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-stencils-curbs .curb-edge h2 {
    color: var(--sc-white);
}

.premium-stencils-curbs .curb-edge h2 em {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .curb-edge__copy p {
    max-width: 39rem;
    font-size: 1.14rem;
    line-height: 1.78;
    color: rgba(255,255,255,0.86);
}

.premium-stencils-curbs .curb-edge__copy p + p {
    margin-top: 1.3rem;
}

.premium-stencils-curbs .curb-edge__diagram {
    position: relative;
    min-height: 29rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.15);
    background: #292c29;
}

.premium-stencils-curbs .curb-edge__road {
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: 0;
    height: 47%;
    background: #171917;
}

.premium-stencils-curbs .curb-edge__paint {
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: 43%;
    height: 3.2rem;
    transform: rotate(-6deg);
    background: var(--sc-yellow);
    border-block: 0.35rem solid var(--sc-white);
}

.premium-stencils-curbs .curb-edge__diagram > div {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    padding: 0.8rem 1rem;
    background: var(--sc-white);
    color: var(--sc-ink);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   STENCIL LOGIC
   ============================================================ */

.premium-stencils-curbs .stencil-logic {
    padding-block: clamp(4rem, 7vw, 7rem);
    background: var(--sc-yellow);
}

.premium-stencils-curbs .stencil-logic__grid {
    display: grid;
    grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
    gap: 0;
}

.premium-stencils-curbs .stencil-logic__grid > div:first-child {
    padding: clamp(2.5rem, 4vw, 4.5rem);
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencil-logic .eyebrow {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .stencil-logic h2 {
    max-width: 9ch;
    margin-top: 1.5rem;
    color: var(--sc-white);
    font-size: clamp(3.1rem, 4.4vw, 4.7rem);
    line-height: 0.9;
}

.premium-stencils-curbs .stencil-logic h2 em {
    display: block;
    color: var(--sc-yellow);
}

.premium-stencils-curbs .stencil-logic__list {
    background: var(--sc-paper);
}

.premium-stencils-curbs .stencil-logic__list article {
    display: grid;
    grid-template-columns: minmax(16rem, 0.82fr) minmax(18rem, 1.18fr);
    grid-template-rows: auto auto;
    gap: 0.6rem clamp(2rem, 4vw, 4rem);
    min-height: 9rem;
    padding: 1.7rem clamp(1.8rem, 3vw, 3rem);
    border-bottom: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencil-logic__list article:last-child {
    border-bottom: 0;
}

.premium-stencils-curbs .stencil-logic__list span {
    grid-column: 1;
    grid-row: 1;
    color: var(--sc-yellow-deep);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencil-logic__list strong {
    grid-column: 1;
    grid-row: 2;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2vw, 2.1rem);
    line-height: 0.98;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencil-logic__list p {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   STANDARD VS SPECIALTY
   ============================================================ */

.premium-stencils-curbs .stencil-types {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-paper);
}

.premium-stencils-curbs .stencil-types__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 3.5rem;
}

.premium-stencils-curbs .stencil-types__split article {
    padding: clamp(2.5rem, 4vw, 4rem);
    border: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencil-types__split article + article {
    margin-left: -1px;
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencil-types__split span {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    color: var(--sc-yellow-deep);
    text-transform: uppercase;
}

.premium-stencils-curbs .stencil-types__split article + article span {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .stencil-types__split strong {
    display: block;
    max-width: 13ch;
    margin-top: 4rem;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 3.5vw, 4rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencil-types__split p {
    max-width: 36rem;
    margin-top: 1.2rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.8);
}

.premium-stencils-curbs .stencil-types__split article + article p {
    color: rgba(255,255,255,0.84);
}


/* ============================================================
   PROCESS
   ============================================================ */

.premium-stencils-curbs .stencils-process {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-white);
}

.premium-stencils-curbs .stencils-process__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--sc-line);
    border-left: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencils-process__steps article {
    padding: 2rem;
    border-right: 1px solid var(--sc-line);
    border-bottom: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencils-process__steps span {
    display: inline-grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-bottom: 3rem;
    background: var(--sc-yellow);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
}

.premium-stencils-curbs .stencils-process__steps p {
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   NEW VS REFRESH
   ============================================================ */

.premium-stencils-curbs .stencils-choice {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencils-choice h2 {
    color: var(--sc-white);
}

.premium-stencils-curbs .stencils-choice h2 em {
    color: var(--sc-yellow);
}

.premium-stencils-curbs .stencils-choice__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 3.5rem;
}

.premium-stencils-curbs .stencils-choice__card {
    display: block;
    padding: clamp(2.5rem, 4vw, 4rem);
    background: var(--sc-paper);
    color: var(--sc-ink);
    text-decoration: none;
}

.premium-stencils-curbs .stencils-choice__card--refresh {
    background: var(--sc-yellow);
}

.premium-stencils-curbs .stencils-choice__card span {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencils-choice__card strong {
    display: block;
    max-width: 14ch;
    margin-top: 4rem;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 3.5vw, 4rem);
    line-height: 0.9;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencils-choice__card p {
    max-width: 36rem;
    margin-top: 1.2rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.8);
}

.premium-stencils-curbs .stencils-choice__card b {
    display: inline-block;
    margin-top: 2rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid currentColor;
    font-family: var(--font-mono);
    font-size: 0.92rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   QUOTE PREP
   ============================================================ */

.premium-stencils-curbs .stencils-quote-info {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-yellow);
}

.premium-stencils-curbs .stencils-quote-info__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: center;
}

.premium-stencils-curbs .stencils-quote-info h2 {
    max-width: 11ch;
    font-size: clamp(3.1rem, 4.4vw, 4.7rem);
    line-height: 0.9;
}

.premium-stencils-curbs .stencils-quote-info h2 em {
    display: block;
    color: var(--sc-ink);
}

.premium-stencils-curbs .stencils-quote-info__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(18,19,16,0.3);
    border-left: 1px solid rgba(18,19,16,0.3);
}

.premium-stencils-curbs .stencils-quote-info__items span {
    padding: 1.5rem;
    border-right: 1px solid rgba(18,19,16,0.3);
    border-bottom: 1px solid rgba(18,19,16,0.3);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}


/* ============================================================
   FAQ
   ============================================================ */

.premium-stencils-curbs .stencils-faq {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-paper);
}

.premium-stencils-curbs .stencils-faq__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.5rem;
    border-top: 1px solid var(--sc-line);
    border-left: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencils-faq__grid article {
    padding: clamp(1.8rem, 2.5vw, 2.5rem);
    border-right: 1px solid var(--sc-line);
    border-bottom: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencils-faq__grid p {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.74;
    color: rgba(18,19,16,0.8);
}


/* ============================================================
   CLOSE
   ============================================================ */

.premium-stencils-curbs .stencils-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencils-close::after {
    content: "A B C 1 2 3";
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translateY(-50%) rotate(-6deg);
    color: rgba(255,255,255,0.07);
    font-family: var(--font-display);
    font-size: clamp(5rem, 11vw, 11rem);
    font-weight: 900;
    white-space: nowrap;
}

.premium-stencils-curbs .stencils-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    align-items: end;
}

.premium-stencils-curbs .stencils-close h2 {
    color: var(--sc-white);
}

.premium-stencils-curbs .stencils-close h2 em {
    color: var(--sc-yellow);
}


/* ============================================================
   ULTRAWIDE READABILITY
   ============================================================ */

@media (min-width: 2055px) {

    .premium-stencils-curbs .stencils-hero__intro,
    .premium-stencils-curbs .marking-library .section-heading > p:last-child,
    .premium-stencils-curbs .curb-edge__copy p {
        font-size: 1.4rem;
    }

    .premium-stencils-curbs .marking-library__grid p,
    .premium-stencils-curbs .stencil-logic__list p,
    .premium-stencils-curbs .stencil-types__split p,
    .premium-stencils-curbs .stencils-process__steps p,
    .premium-stencils-curbs .stencils-choice__card p,
    .premium-stencils-curbs .stencils-faq__grid p {
        font-size: 1.3rem;
    }

    .premium-stencils-curbs .stencil-logic__list span,
    .premium-stencils-curbs .stencils-quote-info__items span {
        font-size: 0.9rem;
    }

    .premium-stencils-curbs .stencils-choice__card b {
        font-size: 1.08rem;
    }

}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-stencils-curbs .stencils-hero__grid,
    .premium-stencils-curbs .curb-edge__grid,
    .premium-stencils-curbs .stencil-logic__grid,
    .premium-stencils-curbs .stencils-quote-info__grid {
        grid-template-columns: 1fr;
    }

    .premium-stencils-curbs .stencils-hero__copy {
        padding-right: 0;
    }

    .premium-stencils-curbs .stencils-hero__board {
        min-height: 28rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.15);
    }

    .premium-stencils-curbs .marking-library .section-heading {
        grid-template-columns: 1fr;
    }

    .premium-stencils-curbs .marking-library__grid,
    .premium-stencils-curbs .stencils-process__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-stencils-curbs .stencils-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .premium-stencils-curbs .stencils-hero__strip,
    .premium-stencils-curbs .marking-library__grid,
    .premium-stencils-curbs .stencil-types__split,
    .premium-stencils-curbs .stencils-process__steps,
    .premium-stencils-curbs .stencils-choice__grid,
    .premium-stencils-curbs .stencils-quote-info__items,
    .premium-stencils-curbs .stencils-faq__grid {
        grid-template-columns: 1fr;
    }

    .premium-stencils-curbs .stencil-types__split article + article {
        margin-left: 0;
        margin-top: -1px;
    }

    .premium-stencils-curbs .stencil-logic__list article {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0.7rem;
    }

    .premium-stencils-curbs .stencil-logic__list span,
    .premium-stencils-curbs .stencil-logic__list strong,
    .premium-stencils-curbs .stencil-logic__list p {
        grid-column: 1;
        grid-row: auto;
    }

    .premium-stencils-curbs .marking-library__grid p,
    .premium-stencils-curbs .curb-edge__copy p,
    .premium-stencils-curbs .stencil-logic__list p,
    .premium-stencils-curbs .stencil-types__split p,
    .premium-stencils-curbs .stencils-process__steps p,
    .premium-stencils-curbs .stencils-choice__card p,
    .premium-stencils-curbs .stencils-faq__grid p {
        font-size: 1.04rem;
    }

    .premium-stencils-curbs .stencils-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM STENCILS CURBS V1 */

/* STAY IN YOUR LANE STENCILS NAV + FOOTER RESCUE V2 */

/* ============================================================
   MEDIUM DESKTOP NAV
   Use the existing mobile-menu architecture before the
   full navigation gets crushed.
   ============================================================ */

@media (min-width: 901px) and (max-width: 1180px) {

    .premium-stencils-curbs .site-header__inner {
        position: relative;
        min-height: 5rem;
        align-items: center;
    }

    .premium-stencils-curbs .nav-toggle {
        display: inline-flex !important;
        align-items: center;
        gap: 0.8rem;
        margin-left: auto;
        padding: 0.8rem 0;
        color: var(--ink);
        cursor: pointer;
    }

    .premium-stencils-curbs .nav-toggle__label {
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.08em;
    }

    .premium-stencils-curbs .site-nav {
        position: absolute !important;
        z-index: 100;
        top: 100%;
        left: -1rem;
        right: -1rem;
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0 !important;
        padding: 0.75rem 1rem 1rem;
        border-top: 1px solid var(--line);
        background: var(--paper-light);
        box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.16);
    }

    .premium-stencils-curbs .site-nav.is-open {
        display: flex !important;
    }

    .premium-stencils-curbs .site-nav > a:not(.button) {
        display: block;
        padding: 1rem 0;
        border-bottom: 1px solid var(--line);
        font-size: 0.78rem !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    .premium-stencils-curbs .site-nav > a:not(.button)::after {
        display: none !important;
    }

    .premium-stencils-curbs .site-nav .button--header {
        width: 100%;
        margin-top: 1rem;
        justify-content: space-between;
        white-space: nowrap;
    }

}

/* ============================================================
   FOOTER READABILITY
   ============================================================ */

.premium-stencils-curbs .site-footer__brand > p {
    max-width: 38rem;
    font-size: 1.08rem;
    line-height: 1.72;
    color: rgba(255,255,255,0.72);
}

.premium-stencils-curbs .site-footer__column {
    gap: 0.82rem;
}

.premium-stencils-curbs .site-footer__column a,
.premium-stencils-curbs .site-footer__column span {
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(255,255,255,0.82);
}

.premium-stencils-curbs .site-footer__label {
    margin-bottom: 0.65rem;
    font-size: 0.78rem;
    line-height: 1.3;
}

.premium-stencils-curbs .site-footer__legal {
    font-size: 0.82rem;
    line-height: 1.65;
    color: rgba(255,255,255,0.6);
}

.premium-stencils-curbs .site-footer__legal a {
    color: rgba(255,255,255,0.72);
}

@media (min-width: 1600px) {

    .premium-stencils-curbs .site-footer__brand > p {
        font-size: 1.18rem;
    }

    .premium-stencils-curbs .site-footer__column a,
    .premium-stencils-curbs .site-footer__column span {
        font-size: 1.08rem;
    }

    .premium-stencils-curbs .site-footer__label {
        font-size: 0.84rem;
    }

    .premium-stencils-curbs .site-footer__legal {
        font-size: 0.9rem;
    }

}

@media (min-width: 2055px) {

    .premium-stencils-curbs .site-footer__brand > p {
        font-size: 1.28rem;
    }

    .premium-stencils-curbs .site-footer__column a,
    .premium-stencils-curbs .site-footer__column span {
        font-size: 1.16rem;
    }

    .premium-stencils-curbs .site-footer__label {
        font-size: 0.9rem;
    }

    .premium-stencils-curbs .site-footer__legal {
        font-size: 0.98rem;
    }

}

/* /STAY IN YOUR LANE STENCILS NAV + FOOTER RESCUE V2 */

/* STAY IN YOUR LANE GLOBAL NAV BREAKPOINT REPAIR V3 */

/* ============================================================
   GLOBAL NARROW-DESKTOP NAV
   Full navigation no longer gets crushed around 1000px.
   ============================================================ */

@media (min-width: 901px) and (max-width: 1120px) {

    .site-header__inner {
        position: relative;
        align-items: center;
        min-height: 5rem;
    }

    .nav-toggle {
        display: inline-flex !important;
        align-items: center;
        margin-left: auto;
        cursor: pointer;
    }

    .site-nav {
        position: absolute !important;
        z-index: 100;
        top: 100%;
        left: -1rem;
        right: -1rem;
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0 !important;
        padding: 0.75rem 1rem 1rem;
        border-top: 1px solid var(--line);
        background: var(--paper-light);
        box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.16);
    }

    .site-nav.is-open {
        display: flex !important;
    }

    .site-nav > a:not(.button) {
        display: block;
        padding: 1rem 0;
        border-bottom: 1px solid var(--line);
        font-size: 0.76rem !important;
        line-height: 1.2;
        white-space: nowrap;
    }

    .site-nav > a:not(.button)::after {
        display: none !important;
    }

    .site-nav .button--header {
        width: 100%;
        margin-top: 1rem;
        justify-content: space-between;
        white-space: nowrap;
    }

}

/* ============================================================
   STENCILS: RESTORE NORMAL DESKTOP NAV ABOVE 1120PX
   Cancels the earlier page-only 1180px hamburger rule.
   ============================================================ */

@media (min-width: 1121px) and (max-width: 1180px) {

    .premium-stencils-curbs .site-header__inner {
        position: static;
        align-items: stretch;
    }

    .premium-stencils-curbs .nav-toggle {
        display: none !important;
    }

    .premium-stencils-curbs .site-nav,
    .premium-stencils-curbs .site-nav.is-open {
        position: static !important;
        z-index: auto;
        top: auto;
        left: auto;
        right: auto;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        gap: 1rem !important;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .premium-stencils-curbs .site-nav > a:not(.button) {
        display: inline-flex;
        padding: 0;
        border-bottom: 0;
        font-size: 0.64rem !important;
        white-space: nowrap;
    }

    .premium-stencils-curbs .site-nav > a:not(.button)::after {
        display: block !important;
    }

    .premium-stencils-curbs .site-nav .button--header {
        width: auto;
        margin-top: 0;
        justify-content: center;
    }

}

/* /STAY IN YOUR LANE GLOBAL NAV BREAKPOINT REPAIR V3 */

/* STAY IN YOUR LANE CANONICAL HEADER FOOTER SYSTEM V2 */

/* ============================================================
   GLOBAL HEADER
   ============================================================ */

body[class*="premium-"] .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    border-bottom: 1px solid rgba(21,22,20,0.15) !important;
    background:
        linear-gradient(
            90deg,
            var(--paper-light) 0%,
            var(--paper-light) 66%,
            var(--yellow) 66%,
            var(--yellow) 100%
        ) !important;
}

body[class*="premium-"] .site-header__inner {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    min-height: 5rem !important;
}

body[class*="premium-"] .site-header .brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.9rem !important;
    flex-shrink: 0 !important;
}

body[class*="premium-"] .site-header .brand__mark {
    width: 3.2rem !important;
    font-size: 1.25rem !important;
}

body[class*="premium-"] .site-header .brand__name {
    font-size: 1.05rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body[class*="premium-"] .site-header .brand__tagline {
    margin-top: 0.22rem !important;
    font-size: 0.62rem !important;
    line-height: 1.2 !important;
}

body[class*="premium-"] .site-header .site-nav {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: clamp(0.85rem, 1.35vw, 1.55rem) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body[class*="premium-"] .site-header .site-nav > a:not(.button) {
    padding: 0 !important;
    border: 0 !important;
    font-size: 0.78rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

body[class*="premium-"] .site-header .button--header {
    width: auto !important;
    min-height: 2.85rem !important;
    margin-top: 0 !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.78rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

body[class*="premium-"] .site-header .nav-toggle {
    display: none !important;
}

/* ============================================================
   GLOBAL RESPONSIVE NAV
   ============================================================ */

@media (max-width: 1120px) {

    body[class*="premium-"] .site-header {
        background: var(--paper-light) !important;
    }

    body[class*="premium-"] .site-header__inner {
        align-items: center !important;
        min-height: 4.8rem !important;
    }

    body[class*="premium-"] .site-header .nav-toggle {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.8rem !important;
        margin-left: auto !important;
        padding: 0.8rem 0 !important;
        font-size: 0.76rem !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    body[class*="premium-"] .site-header .site-nav {
        position: absolute !important;
        z-index: 100 !important;
        top: 100% !important;
        left: -1rem !important;
        right: -1rem !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 0.75rem 1rem 1rem !important;
        border-top: 1px solid var(--line) !important;
        background: var(--paper-light) !important;
        box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.16) !important;
    }

    body[class*="premium-"] .site-header .site-nav.is-open {
        display: flex !important;
    }

    body[class*="premium-"] .site-header .site-nav > a:not(.button) {
        display: block !important;
        padding: 1rem 0 !important;
        border-bottom: 1px solid var(--line) !important;
        font-size: 0.78rem !important;
        line-height: 1.2 !important;
    }

    body[class*="premium-"] .site-header .site-nav > a:not(.button)::after {
        display: none !important;
    }

    body[class*="premium-"] .site-header .button--header {
        width: 100% !important;
        margin-top: 1rem !important;
        justify-content: space-between !important;
    }

}

/* ============================================================
   GLOBAL FOOTER
   ============================================================ */

body[class*="premium-"] .site-footer {
    overflow: hidden !important;
    background: var(--asphalt) !important;
    color: var(--white) !important;
}

body[class*="premium-"] .site-footer__main {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(10rem, 0.45fr)
        minmax(12rem, 0.55fr) !important;
    gap: clamp(3rem, 7vw, 8rem) !important;
    padding-block: 5rem !important;
}

body[class*="premium-"] .site-footer .brand__mark {
    width: 3.2rem !important;
    background: var(--yellow) !important;
    color: var(--ink) !important;
    font-size: 1.25rem !important;
}

body[class*="premium-"] .site-footer .brand__name {
    font-size: 1.18rem !important;
    line-height: 1 !important;
}

body[class*="premium-"] .site-footer .brand__tagline {
    font-size: 0.66rem !important;
    line-height: 1.2 !important;
}

body[class*="premium-"] .site-footer__brand > p {
    max-width: 38rem !important;
    margin: 1.5rem 0 0 !important;
    color: rgba(255,255,255,0.72) !important;
    font-size: 1.08rem !important;
    line-height: 1.72 !important;
}

body[class*="premium-"] .site-footer__column {
    gap: 0.78rem !important;
}

body[class*="premium-"] .site-footer__label {
    margin-bottom: 0.55rem !important;
    font-size: 0.76rem !important;
    line-height: 1.25 !important;
}

body[class*="premium-"] .site-footer__column a,
body[class*="premium-"] .site-footer__column span {
    color: rgba(255,255,255,0.82) !important;
    font-size: 1.02rem !important;
    line-height: 1.5 !important;
}

body[class*="premium-"] .site-footer__legal {
    display: grid !important;
    grid-template-columns: 0.45fr 1.55fr !important;
    gap: 4rem !important;
    padding-block: 1.5rem !important;
    color: rgba(255,255,255,0.6) !important;
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
}

body[class*="premium-"] .site-footer__legal p {
    margin-bottom: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body[class*="premium-"] .site-footer__punchline {
    margin: 0 !important;
    padding: 2.6rem 0 2rem !important;
    font-size: clamp(3.4rem, 6vw, 6.4rem) !important;
    line-height: 0.84 !important;
}

@media (min-width: 1600px) {

    body[class*="premium-"] .site-footer__brand > p {
        font-size: 1.18rem !important;
    }

    body[class*="premium-"] .site-footer__column a,
    body[class*="premium-"] .site-footer__column span {
        font-size: 1.12rem !important;
    }

    body[class*="premium-"] .site-footer__legal {
        font-size: 1rem !important;
    }

}

@media (min-width: 2055px) {

    body[class*="premium-"] .site-footer__brand > p {
        font-size: 1.3rem !important;
    }

    body[class*="premium-"] .site-footer__column a,
    body[class*="premium-"] .site-footer__column span {
        font-size: 1.22rem !important;
    }

    body[class*="premium-"] .site-footer__legal {
        font-size: 1.08rem !important;
    }

}

@media (max-width: 1000px) {

    body[class*="premium-"] .site-footer__main {
        grid-template-columns: 1fr 1fr !important;
    }

    body[class*="premium-"] .site-footer__brand {
        grid-column: 1 / -1 !important;
    }

    body[class*="premium-"] .site-footer__legal {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

}

@media (max-width: 640px) {

    body[class*="premium-"] .site-footer__main {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
        padding-block: 4rem !important;
    }

    body[class*="premium-"] .site-footer__brand {
        grid-column: auto !important;
    }

    body[class*="premium-"] .site-footer__brand > p {
        font-size: 1rem !important;
    }

    body[class*="premium-"] .site-footer__column a,
    body[class*="premium-"] .site-footer__column span {
        font-size: 1rem !important;
    }

    body[class*="premium-"] .site-footer__legal {
        font-size: 0.88rem !important;
    }

    body[class*="premium-"] .site-footer__punchline {
        font-size: clamp(2.8rem, 14vw, 4rem) !important;
        line-height: 0.86 !important;
    }

}

/* /STAY IN YOUR LANE CANONICAL HEADER FOOTER SYSTEM V2 */

/* STAY IN YOUR LANE STENCILS CLOSE HEADING V2 */

.premium-stencils-curbs .stencils-close h2 {
    max-width: 12ch !important;
    margin: 1.2rem 0 0 !important;
    font-family: var(--font-display) !important;
    font-size: clamp(3.4rem, 5vw, 5.4rem) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    letter-spacing: -0.045em !important;
    text-transform: uppercase !important;
}

.premium-stencils-curbs .stencils-close h2 em {
    display: block !important;
    margin-top: 0.05em !important;
    color: var(--sc-yellow) !important;
}

.premium-stencils-curbs .stencils-close .eyebrow {
    font-size: 0.78rem !important;
    letter-spacing: 0.1em !important;
}

@media (min-width: 1600px) {

    .premium-stencils-curbs .stencils-close h2 {
        font-size: 5.6rem !important;
    }

    .premium-stencils-curbs .stencils-close .eyebrow {
        font-size: 0.86rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-stencils-curbs .stencils-close h2 {
        font-size: 6rem !important;
    }

}

@media (max-width: 640px) {

    .premium-stencils-curbs .stencils-close h2 {
        font-size: clamp(2.8rem, 13vw, 3.8rem) !important;
    }

}

/* /STAY IN YOUR LANE STENCILS CLOSE HEADING V2 */

/* STAY IN YOUR LANE STENCILS QUOTE PREP TYPE V2 */

.premium-stencils-curbs .stencils-quote-info .eyebrow {
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.1em !important;
}

.premium-stencils-curbs .stencils-quote-info h2 {
    max-width: 10.5ch !important;
    margin-top: 1.2rem !important;
    font-family: var(--font-display) !important;
    font-size: clamp(3.8rem, 5vw, 5.4rem) !important;
    font-weight: 900 !important;
    line-height: 0.9 !important;
    letter-spacing: -0.045em !important;
}

.premium-stencils-curbs .stencils-quote-info h2 em {
    display: block !important;
    margin-top: 0.04em !important;
}

.premium-stencils-curbs .stencils-quote-info__items span {
    display: flex !important;
    align-items: center !important;
    min-height: 5.4rem !important;
    padding: 1.5rem 1.75rem !important;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em !important;
}

@media (min-width: 1600px) {

    .premium-stencils-curbs .stencils-quote-info h2 {
        font-size: 5.7rem !important;
    }

    .premium-stencils-curbs .stencils-quote-info .eyebrow {
        font-size: 0.9rem !important;
    }

    .premium-stencils-curbs .stencils-quote-info__items span {
        min-height: 6rem !important;
        font-size: 1rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-stencils-curbs .stencils-quote-info h2 {
        font-size: 6.1rem !important;
    }

    .premium-stencils-curbs .stencils-quote-info__items span {
        font-size: 1.12rem !important;
    }

}

@media (max-width: 640px) {

    .premium-stencils-curbs .stencils-quote-info h2 {
        font-size: clamp(2.9rem, 13vw, 4rem) !important;
    }

    .premium-stencils-curbs .stencils-quote-info__items span {
        min-height: 4.6rem !important;
        font-size: 0.82rem !important;
    }

}

/* /STAY IN YOUR LANE STENCILS QUOTE PREP TYPE V2 */

/* STAY IN YOUR LANE STENCILS PHOTO INTEGRATION V1 */

/* ============================================================
   CURB EDGE PHOTO
   ============================================================ */

.premium-stencils-curbs .curb-edge__grid {
    grid-template-columns:
        minmax(22rem, 0.72fr)
        minmax(0, 1.28fr) !important;
    gap: clamp(3rem, 5vw, 6rem) !important;
    align-items: stretch !important;
}

.premium-stencils-curbs .curb-edge__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-stencils-curbs .curb-edge__photo {
    position: relative;
    min-height: 32rem;
    overflow: hidden;
    border-top: 0.45rem solid var(--sc-yellow);
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.12) 0%,
            rgba(18,20,18,0.02) 55%,
            rgba(18,20,18,0) 100%
        ),
        url("../images/stencils-curb-edge.webp")
        center center / cover no-repeat;
}

.premium-stencils-curbs .curb-edge__photo::after {
    content: "CURB / EDGE";
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    padding: 0.7rem 0.9rem;
    background: var(--sc-yellow);
    color: var(--sc-ink);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ============================================================
   STANDARD + SPECIALTY PHOTO SYSTEM
   ============================================================ */

.premium-stencils-curbs .stencil-types__layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(24rem, 0.82fr);
    margin-top: clamp(3rem, 5vw, 5rem);
    border: 1px solid var(--sc-line);
}

.premium-stencils-curbs .stencil-types__photo {
    position: relative;
    min-height: 38rem;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(18,20,18,0) 58%,
            rgba(18,20,18,0.34) 100%
        ),
        url("../images/stencils-application.webp")
        center center / cover no-repeat;
}

.premium-stencils-curbs .stencil-types__photo::before {
    content: "STENCIL APPLICATION";
    position: absolute;
    left: 1.25rem;
    bottom: 1.25rem;
    padding: 0.75rem 0.95rem;
    background: var(--sc-yellow);
    color: var(--sc-ink);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.premium-stencils-curbs .stencil-types__split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    margin: 0 !important;
}

.premium-stencils-curbs .stencil-types__split article {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 19rem;
    padding: clamp(2.2rem, 3.5vw, 3.6rem) !important;
    border: 0 !important;
}

.premium-stencils-curbs .stencil-types__split article:first-child {
    background: var(--sc-paper);
    border-bottom: 1px solid var(--sc-line) !important;
}

.premium-stencils-curbs .stencil-types__split article + article {
    margin: 0 !important;
    background: var(--sc-asphalt);
    color: var(--sc-white);
}

.premium-stencils-curbs .stencil-types__split strong {
    margin-top: clamp(2rem, 3vw, 3.5rem) !important;
}

.premium-stencils-curbs .stencil-types__split p {
    font-size: 1.1rem !important;
    line-height: 1.74 !important;
}

/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) {

    .premium-stencils-curbs .curb-edge__photo {
        min-height: 37rem;
    }

    .premium-stencils-curbs .stencil-types__photo {
        min-height: 44rem;
    }

    .premium-stencils-curbs .stencil-types__split p {
        font-size: 1.22rem !important;
    }

}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-stencils-curbs .curb-edge__photo {
        min-height: 41rem;
    }

    .premium-stencils-curbs .stencil-types__photo {
        min-height: 48rem;
    }

    .premium-stencils-curbs .stencil-types__split p {
        font-size: 1.3rem !important;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-stencils-curbs .curb-edge__grid {
        grid-template-columns: 1fr !important;
    }

    .premium-stencils-curbs .curb-edge__photo {
        min-height: 28rem;
    }

    .premium-stencils-curbs .stencil-types__layout {
        grid-template-columns: 1fr;
    }

    .premium-stencils-curbs .stencil-types__photo {
        min-height: 32rem;
    }

    .premium-stencils-curbs .stencil-types__split {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto;
    }

    .premium-stencils-curbs .stencil-types__split article:first-child {
        border-right: 1px solid var(--sc-line) !important;
        border-bottom: 0 !important;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-stencils-curbs .curb-edge__photo {
        min-height: 21rem;
        background-position: 58% center;
    }

    .premium-stencils-curbs .stencil-types__photo {
        min-height: 23rem;
        background-position: 58% center;
    }

    .premium-stencils-curbs .stencil-types__split {
        grid-template-columns: 1fr !important;
    }

    .premium-stencils-curbs .stencil-types__split article {
        min-height: auto;
        padding: 2.4rem 1.5rem !important;
    }

    .premium-stencils-curbs .stencil-types__split article:first-child {
        border-right: 0 !important;
        border-bottom: 1px solid var(--sc-line) !important;
    }

}

/* /STAY IN YOUR LANE STENCILS PHOTO INTEGRATION V1 */

/* STAY IN YOUR LANE STENCILS HERO PHOTO V2 */

.premium-stencils-curbs .stencils-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.96) 0%,
            rgba(18,20,18,0.90) 28%,
            rgba(18,20,18,0.62) 47%,
            rgba(18,20,18,0.18) 68%,
            rgba(18,20,18,0.03) 100%
        ),
        url("../images/stencils-hero.webp")
        center center / cover no-repeat !important;
}

.premium-stencils-curbs .stencils-hero__grid {
    display: block !important;
    min-height: 43rem !important;
}

.premium-stencils-curbs .stencils-hero__copy {
    position: relative;
    z-index: 2;
    width: min(44rem, 50%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-stencils-curbs .stencils-hero__board {
    display: none !important;
}

.premium-stencils-curbs .stencils-hero h1 {
    text-shadow: 0 2px 12px rgba(0,0,0,0.30);
}

.premium-stencils-curbs .stencils-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.45);
}

@media (min-width: 1600px) {

    .premium-stencils-curbs .stencils-hero {
        background-position: 54% center !important;
    }

    .premium-stencils-curbs .stencils-hero__copy {
        width: min(48rem, 46%);
    }

}

@media (min-width: 2055px) {

    .premium-stencils-curbs .stencils-hero {
        background-position: 57% center !important;
    }

    .premium-stencils-curbs .stencils-hero__copy {
        width: min(52rem, 43%);
    }

}

@media (max-width: 900px) {

    .premium-stencils-curbs .stencils-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.95) 0%,
                rgba(18,20,18,0.84) 58%,
                rgba(18,20,18,0.36) 100%
            ),
            url("../images/stencils-hero.webp")
            62% center / cover no-repeat !important;
    }

    .premium-stencils-curbs .stencils-hero__copy {
        width: min(40rem, 75%);
    }

}

@media (max-width: 640px) {

    .premium-stencils-curbs .stencils-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.78)
            ),
            url("../images/stencils-hero.webp")
            66% center / cover no-repeat !important;
    }

    .premium-stencils-curbs .stencils-hero__grid,
    .premium-stencils-curbs .stencils-hero__copy {
        min-height: auto !important;
    }

    .premium-stencils-curbs .stencils-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

}

/* /STAY IN YOUR LANE STENCILS HERO PHOTO V2 */

/* STAY IN YOUR LANE PREMIUM PROJECTS V1 */

.premium-projects {
    --projects-yellow: #f4c414;
    --projects-yellow-deep: #cfa500;
    --projects-asphalt: #171917;
    --projects-asphalt-soft: #252825;
    --projects-paper: #f1ede3;
    --projects-white: #ffffff;
    --projects-ink: #121310;
    --projects-line: rgba(18,19,16,0.18);
}

.premium-projects main,
.premium-projects section,
.premium-projects article,
.premium-projects div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-projects .projects-hero {
    overflow: hidden;
    background: var(--projects-asphalt);
    color: var(--projects-white);
}

.premium-projects .projects-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(24rem, 0.95fr);
    min-height: 43rem;
}

.premium-projects .projects-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-projects .projects-hero .eyebrow {
    color: var(--projects-yellow);
}

.premium-projects .projects-hero h1 {
    max-width: 9ch;
    margin: 0;
    color: var(--projects-white);
    font-size: clamp(4rem, 5.4vw, 6rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.premium-projects .projects-hero h1 em {
    display: block;
    margin-top: 0.05em;
    color: var(--projects-yellow);
}

.premium-projects .projects-hero__intro {
    max-width: 40rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-projects .projects-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

/* Project log board */

.premium-projects .projects-hero__log {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(2.5rem, 4vw, 4.5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--projects-asphalt-soft);
    background-size: 36px 36px;
}

.premium-projects .projects-hero__log::after {
    content: "COMPLETED";
    position: absolute;
    right: -3rem;
    bottom: 7rem;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,0.16);
    font-family: var(--font-display);
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 900;
    transform: rotate(-8deg);
}

.premium-projects .projects-hero__log > span {
    align-self: flex-start;
    padding: 0.8rem 1rem;
    background: var(--projects-yellow);
    color: var(--projects-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.premium-projects .projects-hero__log > strong {
    position: relative;
    z-index: 2;
    color: var(--projects-yellow);
    font-family: var(--font-display);
    font-size: clamp(10rem, 18vw, 18rem);
    font-weight: 900;
    line-height: 0.75;
    letter-spacing: -0.08em;
}

.premium-projects .projects-hero__log > b {
    position: relative;
    z-index: 2;
    align-self: flex-end;
    max-width: 12rem;
    color: var(--projects-white);
    font-family: var(--font-mono);
    font-size: 0.82rem;
    line-height: 1.45;
    text-align: right;
    text-transform: uppercase;
}

/* ============================================================
   PROJECT INDEX / JOB LEDGER
   ============================================================ */

.premium-projects .project-index {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--projects-paper);
}

.premium-projects .project-index .section-heading {
    max-width: none;
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-projects .project-index h2 {
    max-width: 11ch;
    font-size: clamp(3.5rem, 4.8vw, 5.2rem);
    line-height: 0.9;
}

.premium-projects .project-index h2 em {
    display: block;
    color: var(--projects-yellow-deep);
}

.premium-projects .project-index__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--projects-line);
    border-left: 1px solid var(--projects-line);
}

.premium-projects .project-index__grid article {
    display: grid;
    grid-template-columns: 4.5rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 1.5rem;
    min-height: 10rem;
    padding: 1.8rem 2rem;
    border-right: 1px solid var(--projects-line);
    border-bottom: 1px solid var(--projects-line);
    background: var(--projects-paper);
}

.premium-projects .project-index__grid article:nth-child(1),
.premium-projects .project-index__grid article:nth-child(6) {
    background: var(--projects-asphalt);
    color: var(--projects-white);
}

.premium-projects .project-index__grid article:nth-child(3) {
    background: var(--projects-yellow);
}

.premium-projects .project-index__grid span {
    grid-row: 1 / 3;
    align-self: center;
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    color: var(--projects-yellow-deep);
}

.premium-projects .project-index__grid article:nth-child(1) span,
.premium-projects .project-index__grid article:nth-child(6) span {
    color: var(--projects-yellow);
}

.premium-projects .project-index__grid strong {
    align-self: end;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 2.5vw, 2.8rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-projects .project-index__grid p {
    margin: 0.55rem 0 0;
    font-family: var(--font-mono);
    font-size: 0.76rem;
    line-height: 1.55;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.72;
}

/* ============================================================
   FEATURED PROJECT
   ============================================================ */

.premium-projects .project-feature {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--projects-asphalt);
    color: var(--projects-white);
}

.premium-projects .project-feature__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(24rem, 0.82fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: stretch;
}

.premium-projects .project-feature__media {
    position: relative;
    min-height: 38rem;
    overflow: hidden;
    border-top: 0.45rem solid var(--projects-yellow);
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.04) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255,255,255,0.04) 50%,
            rgba(255,255,255,0.04) 75%,
            transparent 75%
        ),
        #292c29;
    background-size: 48px 48px;
}

.premium-projects .project-feature__media::before {
    content: "01";
    position: absolute;
    right: 1.5rem;
    bottom: -0.12em;
    color: rgba(255,255,255,0.08);
    font-family: var(--font-display);
    font-size: clamp(12rem, 22vw, 22rem);
    font-weight: 900;
    line-height: 0.72;
}

.premium-projects .project-feature__media > span {
    position: absolute;
    left: 1.5rem;
    top: 1.5rem;
    z-index: 2;
    padding: 0.8rem 1rem;
    background: var(--projects-yellow);
    color: var(--projects-ink);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-projects .project-feature__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-projects .project-feature h2 {
    max-width: 9ch;
    color: var(--projects-white);
    font-size: clamp(3.4rem, 4.7vw, 5rem);
    line-height: 0.9;
}

.premium-projects .project-feature h2 em {
    display: block;
    color: var(--projects-yellow);
}

.premium-projects .project-feature__copy > p {
    max-width: 38rem;
    color: rgba(255,255,255,0.84);
    font-size: 1.14rem;
    line-height: 1.78;
}

.premium-projects .project-feature__facts {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 2.8rem;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.premium-projects .project-feature__facts > div {
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: 1.5rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.18);
}

.premium-projects .project-feature__facts span {
    color: var(--projects-yellow);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.premium-projects .project-feature__facts strong {
    color: var(--projects-white);
    font-size: 1rem;
}

/* ============================================================
   FIELD NOTES
   ============================================================ */

.premium-projects .project-notes {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--projects-yellow);
}

.premium-projects .project-notes__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.72fr)
        minmax(0, 1.28fr);
}

.premium-projects .project-notes__grid > div:first-child {
    padding: clamp(2.8rem, 4vw, 4.5rem);
    background: var(--projects-asphalt);
    color: var(--projects-white);
}

.premium-projects .project-notes .eyebrow {
    color: var(--projects-yellow);
}

.premium-projects .project-notes h2 {
    max-width: 9ch;
    margin-top: 1.5rem;
    color: var(--projects-white);
    font-size: clamp(3.2rem, 4.5vw, 4.8rem);
    line-height: 0.9;
}

.premium-projects .project-notes h2 em {
    display: block;
    color: var(--projects-yellow);
}

.premium-projects .project-notes__list {
    background: var(--projects-paper);
}

.premium-projects .project-notes__list article {
    display: grid;
    grid-template-columns:
        4rem
        minmax(14rem, 0.75fr)
        minmax(18rem, 1.25fr);
    gap: 1.5rem;
    align-items: center;
    min-height: 9rem;
    padding: 1.6rem 2rem;
    border-bottom: 1px solid var(--projects-line);
}

.premium-projects .project-notes__list article:last-child {
    border-bottom: 0;
}

.premium-projects .project-notes__list span {
    color: var(--projects-yellow-deep);
    font-family: var(--font-display);
    font-size: 2.6rem;
    font-weight: 900;
}

.premium-projects .project-notes__list strong {
    font-family: var(--font-display);
    font-size: 1.8rem;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-projects .project-notes__list p {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}

/* ============================================================
   PROJECT STRIP
   ============================================================ */

.premium-projects .project-strip {
    padding-block: clamp(4rem, 7vw, 7rem);
    background: var(--projects-paper);
}

.premium-projects .project-strip__rows {
    border-top: 1px solid var(--projects-line);
}

.premium-projects .project-strip__rows article {
    display: grid;
    grid-template-columns:
        5rem
        minmax(16rem, 0.8fr)
        minmax(20rem, 1.2fr);
    gap: 2rem;
    align-items: center;
    padding: 1.7rem 0;
    border-bottom: 1px solid var(--projects-line);
}

.premium-projects .project-strip__rows span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--projects-yellow-deep);
}

.premium-projects .project-strip__rows strong {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 2.4vw, 2.6rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-projects .project-strip__rows em {
    font-size: 1.05rem;
    line-height: 1.5;
    color: rgba(18,19,16,0.68);
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-projects .projects-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--projects-asphalt);
    color: var(--projects-white);
}

.premium-projects .projects-close::after {
    content: "07";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.055);
    font-family: var(--font-display);
    font-size: clamp(11rem, 24vw, 24rem);
    font-weight: 900;
    line-height: 0.7;
}

.premium-projects .projects-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 3rem;
}

.premium-projects .projects-close h2 {
    max-width: 10ch;
    color: var(--projects-white);
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 0.9;
}

.premium-projects .projects-close h2 em {
    display: block;
    color: var(--projects-yellow);
}

/* ============================================================
   ULTRAWIDE READABILITY
   ============================================================ */

@media (min-width: 2055px) {

    .premium-projects .projects-hero__intro,
    .premium-projects .project-feature__copy > p {
        font-size: 1.4rem;
    }

    .premium-projects .project-notes__list p {
        font-size: 1.3rem;
    }

    .premium-projects .project-strip__rows em {
        font-size: 1.22rem;
    }

    .premium-projects .project-feature__facts strong {
        font-size: 1.2rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-projects .projects-hero__grid,
    .premium-projects .project-feature__grid,
    .premium-projects .project-notes__grid {
        grid-template-columns: 1fr;
    }

    .premium-projects .projects-hero__copy {
        padding-right: 0;
    }

    .premium-projects .projects-hero__log {
        min-height: 26rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-projects .project-feature__media {
        min-height: 30rem;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-projects .projects-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .premium-projects .project-index__grid {
        grid-template-columns: 1fr;
    }

    .premium-projects .project-index__grid article {
        grid-template-columns: 3.5rem 1fr;
        padding: 1.5rem;
    }

    .premium-projects .project-notes__list article {
        grid-template-columns: 3rem 1fr;
        gap: 0.75rem 1rem;
    }

    .premium-projects .project-notes__list p {
        grid-column: 2;
    }

    .premium-projects .project-strip__rows article {
        grid-template-columns: 3rem 1fr;
        gap: 0.65rem 1rem;
    }

    .premium-projects .project-strip__rows em {
        grid-column: 2;
    }

    .premium-projects .projects-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM PROJECTS V1 */

/* STAY IN YOUR LANE PROJECTS PHOTO INTEGRATION V1 */

/* ============================================================
   PROJECTS HERO PHOTO
   ============================================================ */

.premium-projects .projects-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.97) 0%,
            rgba(18,20,18,0.92) 27%,
            rgba(18,20,18,0.67) 46%,
            rgba(18,20,18,0.22) 67%,
            rgba(18,20,18,0.04) 100%
        ),
        url("../images/projects-hero.webp")
        58% center / cover no-repeat !important;
}

.premium-projects .projects-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-projects .projects-hero__copy {
    position: relative;
    z-index: 2;
    width: min(46rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-projects .projects-hero__log {
    display: none !important;
}

.premium-projects .projects-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.38);
}

.premium-projects .projects-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

/* ============================================================
   FEATURED PROJECT PHOTO
   ============================================================ */

.premium-projects .project-feature__media {
    position: relative;
    min-height: 38rem;
    overflow: hidden;
    border-top: 0.45rem solid var(--projects-yellow);
    background:
        linear-gradient(
            180deg,
            rgba(18,20,18,0.04) 48%,
            rgba(18,20,18,0.48) 100%
        ),
        url("../images/projects-retail-refresh.webp")
        center center / cover no-repeat !important;
}

.premium-projects .project-feature__media::before {
    display: none !important;
}

.premium-projects .project-feature__media > span {
    left: 1.5rem;
    top: 1.5rem;
    right: auto;
    bottom: auto;
    padding: 0.8rem 1rem;
    background: var(--projects-yellow);
    color: var(--projects-ink);
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
}

/* ============================================================
   WIDE / ULTRAWIDE
   ============================================================ */

@media (min-width: 1600px) {

    .premium-projects .projects-hero {
        background-position: 60% center !important;
    }

    .premium-projects .projects-hero__copy {
        width: min(50rem, 44%);
    }

    .premium-projects .project-feature__media {
        min-height: 42rem;
    }

}

@media (min-width: 2055px) {

    .premium-projects .projects-hero {
        background-position: 62% center !important;
    }

    .premium-projects .projects-hero__copy {
        width: min(54rem, 42%);
    }

    .premium-projects .project-feature__media {
        min-height: 46rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-projects .projects-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.86) 55%,
                rgba(18,20,18,0.38) 100%
            ),
            url("../images/projects-hero.webp")
            68% center / cover no-repeat !important;
    }

    .premium-projects .projects-hero__copy {
        width: min(42rem, 74%);
    }

    .premium-projects .project-feature__media {
        min-height: 30rem;
        background-position: center center !important;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-projects .projects-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.78)
            ),
            url("../images/projects-hero.webp")
            70% center / cover no-repeat !important;
    }

    .premium-projects .projects-hero__grid,
    .premium-projects .projects-hero__copy {
        min-height: auto !important;
    }

    .premium-projects .projects-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

    .premium-projects .project-feature__media {
        min-height: 23rem;
        background-position: 58% center !important;
    }

}

/* /STAY IN YOUR LANE PROJECTS PHOTO INTEGRATION V1 */

/* STAY IN YOUR LANE PREMIUM HOW IT WORKS V1 */

.premium-how-it-works {
    --how-yellow: #f4c414;
    --how-yellow-deep: #d6aa00;
    --how-asphalt: #171917;
    --how-asphalt-soft: #262926;
    --how-paper: #f1ede3;
    --how-white: #ffffff;
    --how-ink: #121310;
    --how-line: rgba(18,19,16,0.18);
}

.premium-how-it-works main,
.premium-how-it-works section,
.premium-how-it-works article,
.premium-how-it-works div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-how-it-works .how-hero {
    overflow: hidden;
    background: var(--how-asphalt);
    color: var(--how-white);
}

.premium-how-it-works .how-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(24rem, 0.9fr);
    min-height: 43rem;
}

.premium-how-it-works .how-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-how-it-works .how-hero .eyebrow {
    color: var(--how-yellow);
}

.premium-how-it-works .how-hero h1 {
    max-width: 9ch;
    margin: 0;
    color: var(--how-white);
    font-size: clamp(4rem, 5.5vw, 6rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.premium-how-it-works .how-hero h1 em {
    display: block;
    color: var(--how-yellow);
}

.premium-how-it-works .how-hero__intro {
    max-width: 40rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-how-it-works .how-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

/* Route diagram */

.premium-how-it-works .how-hero__route {
    display: grid;
    grid-template-columns: auto 1fr;
    align-content: center;
    gap: 0;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--how-asphalt-soft);
    background-size: 36px 36px;
}

.premium-how-it-works .how-hero__route > span {
    grid-column: 1 / 3;
    width: max-content;
    padding: 0.65rem 0.85rem;
    background: var(--how-yellow);
    color: var(--how-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.premium-how-it-works .how-hero__route > span:last-child {
    justify-self: end;
}

.premium-how-it-works .how-hero__route > b {
    display: grid;
    place-items: center;
    width: 4.5rem;
    height: 4.5rem;
    margin-block: 0.8rem;
    border: 2px solid var(--how-yellow);
    border-radius: 50%;
    color: var(--how-yellow);
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
}

.premium-how-it-works .how-hero__route > i {
    align-self: center;
    height: 2px;
    margin-left: 1rem;
    background: repeating-linear-gradient(
        90deg,
        rgba(255,255,255,0.7) 0 16px,
        transparent 16px 28px
    );
}

/* ============================================================
   ROUTE / FIVE STEPS
   ============================================================ */

.premium-how-it-works .how-route {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-paper);
}

.premium-how-it-works .how-route .section-heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-how-it-works .how-route h2 {
    max-width: 10ch;
    font-size: clamp(3.5rem, 4.8vw, 5.2rem);
    line-height: 0.9;
}

.premium-how-it-works .how-route h2 em {
    display: block;
    color: var(--how-yellow-deep);
}

.premium-how-it-works .how-route__steps {
    position: relative;
    border-top: 1px solid var(--how-line);
}

.premium-how-it-works .how-route__steps::before {
    content: "";
    position: absolute;
    left: 3.45rem;
    top: 4rem;
    bottom: 4rem;
    width: 2px;
    background: var(--how-yellow-deep);
}

.premium-how-it-works .how-route__steps article {
    position: relative;
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: clamp(2rem, 4vw, 5rem);
    padding: clamp(2.5rem, 4vw, 4rem) 0;
    border-bottom: 1px solid var(--how-line);
}

.premium-how-it-works .how-route__steps article > span {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    align-self: start;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    background: var(--how-asphalt);
    color: var(--how-yellow);
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 900;
}

.premium-how-it-works .how-route__label {
    margin: 0 0 0.65rem;
    color: var(--how-yellow-deep);
    font-family: var(--font-mono);
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.premium-how-it-works .how-route__steps h3 {
    max-width: 18ch;
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-how-it-works .how-route__steps article p:last-child {
    max-width: 48rem;
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.78);
}

/* ============================================================
   BEFORE WE ARRIVE
   ============================================================ */

.premium-how-it-works .how-before {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-yellow);
}

.premium-how-it-works .how-before__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.75fr)
        minmax(0, 1.25fr);
    background: var(--how-asphalt);
}

.premium-how-it-works .how-before__grid > div:first-child {
    padding: clamp(3rem, 5vw, 5rem);
    color: var(--how-white);
}

.premium-how-it-works .how-before .eyebrow {
    color: var(--how-yellow);
}

.premium-how-it-works .how-before h2 {
    max-width: 9ch;
    color: var(--how-white);
    font-size: clamp(3.2rem, 4.6vw, 4.9rem);
    line-height: 0.9;
}

.premium-how-it-works .how-before h2 em {
    display: block;
    color: var(--how-yellow);
}

.premium-how-it-works .how-before__list {
    background: var(--how-paper);
}

.premium-how-it-works .how-before__list > div {
    display: grid;
    grid-template-columns: 4rem minmax(12rem, 0.7fr) minmax(16rem, 1.3fr);
    gap: 1.5rem;
    align-items: center;
    min-height: 9rem;
    padding: 1.7rem 2rem;
    border-bottom: 1px solid var(--how-line);
}

.premium-how-it-works .how-before__list > div:last-child {
    border-bottom: 0;
}

.premium-how-it-works .how-before__list span {
    color: var(--how-yellow-deep);
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 900;
}

.premium-how-it-works .how-before__list strong {
    font-family: var(--font-display);
    font-size: 1.8rem;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-how-it-works .how-before__list p {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.7;
}

/* ============================================================
   VARIABLES
   ============================================================ */

.premium-how-it-works .how-variables {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-paper);
}

.premium-how-it-works .how-variables h2 {
    max-width: 10ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-how-it-works .how-variables h2 em {
    display: block;
    color: var(--how-yellow-deep);
}

.premium-how-it-works .how-variables__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(3rem, 5vw, 5rem);
    border-top: 1px solid var(--how-line);
    border-left: 1px solid var(--how-line);
}

.premium-how-it-works .how-variables__grid article {
    min-height: 18rem;
    padding: 2rem;
    border-right: 1px solid var(--how-line);
    border-bottom: 1px solid var(--how-line);
}

.premium-how-it-works .how-variables__grid article:nth-child(2),
.premium-how-it-works .how-variables__grid article:nth-child(4) {
    background: var(--how-asphalt);
    color: var(--how-white);
}

.premium-how-it-works .how-variables__grid article:nth-child(3) {
    background: var(--how-yellow);
}

.premium-how-it-works .how-variables__grid span {
    display: block;
    margin-bottom: 2.5rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-how-it-works .how-variables__grid p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.7;
    opacity: 0.78;
}

/* ============================================================
   DURING THE WORK
   ============================================================ */

.premium-how-it-works .how-during {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-asphalt);
    color: var(--how-white);
}

.premium-how-it-works .how-during__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.8fr)
        minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: stretch;
}

.premium-how-it-works .how-during__signal {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 30rem;
    padding: clamp(2.5rem, 4vw, 4rem);
    border: 1px solid rgba(255,255,255,0.14);
    background:
        repeating-linear-gradient(
            -45deg,
            var(--how-yellow) 0 42px,
            var(--how-asphalt) 42px 84px
        );
}

.premium-how-it-works .how-during__signal span,
.premium-how-it-works .how-during__signal strong {
    align-self: flex-start;
    padding: 0.8rem 1rem;
    background: var(--how-asphalt);
    color: var(--how-white);
    font-family: var(--font-mono);
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-how-it-works .how-during__signal strong {
    align-self: flex-end;
    color: var(--how-yellow);
    font-size: 1rem;
}

.premium-how-it-works .how-during__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-how-it-works .how-during .eyebrow {
    color: var(--how-yellow);
}

.premium-how-it-works .how-during h2 {
    max-width: 9ch;
    color: var(--how-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-how-it-works .how-during h2 em {
    display: block;
    color: var(--how-yellow);
}

.premium-how-it-works .how-during__copy > p {
    max-width: 42rem;
    color: rgba(255,255,255,0.82);
    font-size: 1.1rem;
    line-height: 1.78;
}

/* ============================================================
   QUOTE PREP
   ============================================================ */

.premium-how-it-works .how-info {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-yellow);
}

.premium-how-it-works .how-info__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.8fr)
        minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-how-it-works .how-info h2 {
    max-width: 9ch;
    color: var(--how-ink);
    font-size: clamp(3.3rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-how-it-works .how-info h2 em {
    display: block;
}

.premium-how-it-works .how-info__checklist {
    border-top: 2px solid var(--how-ink);
}

.premium-how-it-works .how-info__checklist p {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1rem;
    align-items: center;
    margin: 0;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.35);
    font-size: 1.12rem;
    font-weight: 700;
}

.premium-how-it-works .how-info__checklist span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-how-it-works .how-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--how-asphalt);
    color: var(--how-white);
}

.premium-how-it-works .how-close::after {
    content: "START";
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,0.08);
    font-family: var(--font-display);
    font-size: clamp(8rem, 17vw, 17rem);
    font-weight: 900;
    line-height: 0.8;
}

.premium-how-it-works .how-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 3rem;
}

.premium-how-it-works .how-close .eyebrow {
    color: var(--how-yellow);
}

.premium-how-it-works .how-close h2 {
    max-width: 10ch;
    color: var(--how-white);
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 0.9;
}

.premium-how-it-works .how-close h2 em {
    display: block;
    color: var(--how-yellow);
}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-how-it-works .how-hero__intro,
    .premium-how-it-works .how-route__steps article p:last-child,
    .premium-how-it-works .how-during__copy > p {
        font-size: 1.35rem;
    }

    .premium-how-it-works .how-before__list p,
    .premium-how-it-works .how-variables__grid p {
        font-size: 1.22rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-how-it-works .how-hero__grid,
    .premium-how-it-works .how-before__grid,
    .premium-how-it-works .how-during__grid,
    .premium-how-it-works .how-info__grid {
        grid-template-columns: 1fr;
    }

    .premium-how-it-works .how-hero__copy {
        padding-right: 0;
    }

    .premium-how-it-works .how-hero__route {
        min-height: 24rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-how-it-works .how-variables__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-how-it-works .how-hero h1 {
        font-size: clamp(3rem, 14vw, 4rem);
    }

    .premium-how-it-works .how-route__steps::before {
        left: 2rem;
    }

    .premium-how-it-works .how-route__steps article {
        grid-template-columns: 4rem 1fr;
        gap: 1rem;
    }

    .premium-how-it-works .how-route__steps article > span {
        width: 4rem;
        height: 4rem;
    }

    .premium-how-it-works .how-before__list > div {
        grid-template-columns: 3rem 1fr;
        gap: 0.75rem 1rem;
    }

    .premium-how-it-works .how-before__list p {
        grid-column: 2;
    }

    .premium-how-it-works .how-variables__grid {
        grid-template-columns: 1fr;
    }

    .premium-how-it-works .how-variables__grid article {
        min-height: auto;
    }

    .premium-how-it-works .how-during__signal {
        min-height: 22rem;
    }

    .premium-how-it-works .how-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM HOW IT WORKS V1 */

/* STAY IN YOUR LANE HOW IT WORKS PHOTO INTEGRATION V1 */

/* HERO PHOTO */

.premium-how-it-works .how-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.97) 0%,
            rgba(18,20,18,0.92) 28%,
            rgba(18,20,18,0.66) 47%,
            rgba(18,20,18,0.20) 68%,
            rgba(18,20,18,0.04) 100%
        ),
        url("../images/how-it-works-hero.webp")
        58% center / cover no-repeat !important;
}

.premium-how-it-works .how-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-how-it-works .how-hero__copy {
    position: relative;
    z-index: 2;
    width: min(46rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-how-it-works .how-hero__route {
    display: none !important;
}

.premium-how-it-works .how-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.38);
}

.premium-how-it-works .how-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

/* DURING THE WORK PHOTO */

.premium-how-it-works .how-during__signal {
    position: relative;
    min-height: 34rem;
    overflow: hidden;
    border: 0;
    border-top: 0.45rem solid var(--how-yellow);
    background:
        linear-gradient(
            180deg,
            rgba(18,20,18,0.03) 55%,
            rgba(18,20,18,0.38) 100%
        ),
        url("../images/how-it-works-striping.webp")
        46% center / cover no-repeat !important;
}

.premium-how-it-works .how-during__signal > * {
    display: none !important;
}

/* WIDE */

@media (min-width: 1600px) {

    .premium-how-it-works .how-hero {
        background-position: 61% center !important;
    }

    .premium-how-it-works .how-hero__copy {
        width: min(50rem, 45%);
    }

    .premium-how-it-works .how-during__signal {
        min-height: 38rem;
    }

}

/* ULTRAWIDE */

@media (min-width: 2055px) {

    .premium-how-it-works .how-hero {
        background-position: 63% center !important;
    }

    .premium-how-it-works .how-hero__copy {
        width: min(54rem, 42%);
    }

    .premium-how-it-works .how-during__signal {
        min-height: 42rem;
    }

}

/* TABLET */

@media (max-width: 900px) {

    .premium-how-it-works .how-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.84) 58%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/how-it-works-hero.webp")
            70% center / cover no-repeat !important;
    }

    .premium-how-it-works .how-hero__copy {
        width: min(42rem, 75%);
    }

    .premium-how-it-works .how-during__signal {
        min-height: 30rem;
        background-position: 40% center !important;
    }

}

/* MOBILE */

@media (max-width: 640px) {

    .premium-how-it-works .how-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.78)
            ),
            url("../images/how-it-works-hero.webp")
            72% center / cover no-repeat !important;
    }

    .premium-how-it-works .how-hero__grid,
    .premium-how-it-works .how-hero__copy {
        min-height: auto !important;
    }

    .premium-how-it-works .how-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

    .premium-how-it-works .how-during__signal {
        min-height: 23rem;
        background-position: 38% center !important;
    }

}

/* /STAY IN YOUR LANE HOW IT WORKS PHOTO INTEGRATION V1 */

/* STAY IN YOUR LANE HOW DURING FULL BLEED V2 */

.premium-how-it-works .how-during {
    position: relative;
    overflow: hidden;
    padding-block: 0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.06) 0%,
            rgba(18,20,18,0.16) 35%,
            rgba(18,20,18,0.66) 58%,
            rgba(18,20,18,0.94) 78%,
            rgba(18,20,18,0.98) 100%
        ),
        url("../images/how-it-works-striping.webp")
        42% center / cover no-repeat !important;
}

.premium-how-it-works .how-during__grid {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    min-height: 44rem;
}

.premium-how-it-works .how-during__signal {
    display: none !important;
}

.premium-how-it-works .how-during__copy {
    position: relative;
    z-index: 2;
    width: min(42rem, 46%);
    padding-block: clamp(5rem, 8vw, 8rem);
}

.premium-how-it-works .how-during h2 {
    max-width: 8.5ch;
}

.premium-how-it-works .how-during__copy > p {
    max-width: 38rem;
    color: rgba(255,255,255,0.9);
}

@media (min-width: 1600px) {

    .premium-how-it-works .how-during {
        background-position: 38% center !important;
    }

    .premium-how-it-works .how-during__grid {
        min-height: 48rem;
    }

    .premium-how-it-works .how-during__copy {
        width: min(46rem, 42%);
    }

}

@media (min-width: 2055px) {

    .premium-how-it-works .how-during__grid {
        min-height: 52rem;
    }

    .premium-how-it-works .how-during__copy {
        width: min(50rem, 40%);
    }

}

@media (max-width: 900px) {

    .premium-how-it-works .how-during {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.18) 0%,
                rgba(18,20,18,0.5) 42%,
                rgba(18,20,18,0.94) 100%
            ),
            url("../images/how-it-works-striping.webp")
            35% center / cover no-repeat !important;
    }

    .premium-how-it-works .how-during__copy {
        width: min(38rem, 58%);
    }

}

@media (max-width: 640px) {

    .premium-how-it-works .how-during {
        background:
            linear-gradient(
                rgba(18,20,18,0.48) 0%,
                rgba(18,20,18,0.88) 62%,
                rgba(18,20,18,0.97) 100%
            ),
            url("../images/how-it-works-striping.webp")
            35% center / cover no-repeat !important;
    }

    .premium-how-it-works .how-during__grid {
        min-height: 42rem;
        align-items: flex-end;
    }

    .premium-how-it-works .how-during__copy {
        width: 100%;
        padding-block: 15rem 4rem;
    }

}

/* /STAY IN YOUR LANE HOW DURING FULL BLEED V2 */

/* HOW IT WORKS DURING HEADING WIDTH V2 */

.premium-how-it-works .how-during h2 {
    max-width: 17ch !important;
    font-size: clamp(3.25rem, 4.4vw, 4.8rem) !important;
    line-height: 0.92 !important;
}

.premium-how-it-works .how-during h2 em {
    display: block;
    max-width: none;
}

.premium-how-it-works .how-during__copy {
    max-width: 48rem;
}

@media (min-width: 1600px) {

    .premium-how-it-works .how-during h2 {
        max-width: 18ch !important;
        font-size: 5.2rem !important;
    }

}

@media (min-width: 2055px) {

    .premium-how-it-works .how-during h2 {
        max-width: 19ch !important;
        font-size: 5.7rem !important;
    }

}

@media (max-width: 640px) {

    .premium-how-it-works .how-during h2 {
        max-width: 13ch !important;
        font-size: clamp(3rem, 13vw, 4rem) !important;
    }

}

/* /HOW IT WORKS DURING HEADING WIDTH V2 */

/* HOW IT WORKS HERO HEADING WIDTH V2 */

.premium-how-it-works .how-hero h1 {
    max-width: none !important;
    width: max-content;
    font-size: clamp(3.7rem, 5vw, 5.6rem) !important;
    line-height: 0.91 !important;
}

.premium-how-it-works .how-hero h1 em {
    display: block;
    white-space: nowrap;
}

@media (max-width: 1200px) {

    .premium-how-it-works .how-hero h1 {
        font-size: clamp(3.5rem, 5vw, 4.8rem) !important;
    }

}

@media (max-width: 900px) {

    .premium-how-it-works .how-hero h1 {
        width: auto;
        max-width: 13ch !important;
    }

}

@media (max-width: 640px) {

    .premium-how-it-works .how-hero h1 {
        max-width: 11ch !important;
        font-size: clamp(3rem, 13vw, 4rem) !important;
    }

    .premium-how-it-works .how-hero h1 em {
        white-space: normal;
    }

}

/* /HOW IT WORKS HERO HEADING WIDTH V2 */

/* HOW IT WORKS ROUTE HEADING WIDTH V2 */

.premium-how-it-works .how-route h2 {
    max-width: none !important;
    width: max-content;
}

.premium-how-it-works .how-route h2 em {
    display: block;
    white-space: nowrap;
}

@media (max-width: 640px) {

    .premium-how-it-works .how-route h2 {
        width: auto;
        max-width: 12ch !important;
    }

    .premium-how-it-works .how-route h2 em {
        white-space: normal;
    }

}

/* /HOW IT WORKS ROUTE HEADING WIDTH V2 */

/* HOW IT WORKS BEFORE HEADING SPACE V2 */

.premium-how-it-works .how-before h2 em {
    display: block;
    margin-top: 0.28em !important;
}

/* /HOW IT WORKS BEFORE HEADING SPACE V2 */

/* STAY IN YOUR LANE PREMIUM INDUSTRIES V1 */

.premium-industries {
    --ind-yellow: #f4c414;
    --ind-yellow-deep: #d3a700;
    --ind-asphalt: #171917;
    --ind-asphalt-soft: #242724;
    --ind-paper: #f1ede3;
    --ind-white: #ffffff;
    --ind-ink: #121310;
    --ind-line: rgba(18,19,16,0.18);
}

.premium-industries main,
.premium-industries section,
.premium-industries article,
.premium-industries div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-industries .industries-hero {
    overflow: hidden;
    background: var(--ind-asphalt);
    color: var(--ind-white);
}

.premium-industries .industries-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(24rem, 0.92fr);
    min-height: 43rem;
}

.premium-industries .industries-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-industries .industries-hero .eyebrow {
    color: var(--ind-yellow);
}

.premium-industries .industries-hero h1 {
    max-width: 14ch;
    margin: 0;
    color: var(--ind-white);
    font-size: clamp(4rem, 5.4vw, 6rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.premium-industries .industries-hero h1 em {
    display: block;
    color: var(--ind-yellow);
    white-space: nowrap;
}

.premium-industries .industries-hero__intro {
    max-width: 42rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-industries .industries-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

/* Hero matrix */

.premium-industries .industries-hero__matrix {
    display: grid;
    grid-template-columns: 5rem repeat(3, 1fr);
    grid-auto-rows: minmax(4.8rem, auto);
    align-content: center;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--ind-asphalt-soft);
    background-size: 34px 34px;
}

.premium-industries .industries-hero__matrix > span {
    display: flex;
    align-items: center;
    padding: 0.8rem;
    border-bottom: 1px solid rgba(255,255,255,0.18);
    color: var(--ind-yellow);
    font-family: var(--font-mono);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-industries .industries-hero__matrix > b {
    display: grid;
    place-items: center;
    border-right: 1px solid rgba(255,255,255,0.14);
    border-bottom: 1px solid rgba(255,255,255,0.14);
    color: var(--ind-yellow);
    font-family: var(--font-display);
    font-size: 1.5rem;
}

.premium-industries .industries-hero__matrix > i {
    position: relative;
    border-right: 1px solid rgba(255,255,255,0.14);
    border-bottom: 1px solid rgba(255,255,255,0.14);
}

.premium-industries .industries-hero__matrix > i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.7rem;
    height: 0.7rem;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--ind-yellow);
}

/* ============================================================
   PROPERTY LEDGER
   ============================================================ */

.premium-industries .industry-ledger {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-paper);
}

.premium-industries .industry-ledger .section-heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-industries .industry-ledger h2 {
    max-width: 16ch;
    font-size: clamp(3.5rem, 4.8vw, 5.2rem);
    line-height: 0.9;
}

.premium-industries .industry-ledger h2 em {
    display: block;
    color: var(--ind-yellow-deep);
}

.premium-industries .industry-ledger__rows {
    border-top: 1px solid var(--ind-line);
}

.premium-industries .industry-ledger__rows article {
    display: grid;
    grid-template-columns:
        5rem
        minmax(0, 1fr)
        10rem;
    gap: 2rem;
    align-items: center;
    padding: 2rem 0;
    border-bottom: 1px solid var(--ind-line);
}

.premium-industries .industry-ledger__rows article > span {
    color: var(--ind-yellow-deep);
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 900;
}

.premium-industries .industry-ledger__rows h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 2.8vw, 3rem);
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-industries .industry-ledger__rows p {
    max-width: 46rem;
    margin: 0.8rem 0 0;
    font-size: 1.06rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.76);
}

.premium-industries .industry-ledger__rows article > strong {
    align-self: center;
    padding: 0.75rem 0.9rem;
    background: var(--ind-asphalt);
    color: var(--ind-yellow);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    text-align: center;
    letter-spacing: 0.05em;
}

/* ============================================================
   PROPERTY MATRIX
   ============================================================ */

.premium-industries .industry-matrix {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-asphalt);
    color: var(--ind-white);
}

.premium-industries .industry-matrix__heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-industries .industry-matrix .eyebrow {
    color: var(--ind-yellow);
}

.premium-industries .industry-matrix h2 {
    max-width: 15ch;
    color: var(--ind-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-industries .industry-matrix h2 em {
    display: block;
    color: var(--ind-yellow);
}

.premium-industries .industry-matrix__table {
    border-top: 1px solid rgba(255,255,255,0.18);
    border-left: 1px solid rgba(255,255,255,0.18);
}

.premium-industries .industry-matrix__table > div {
    display: grid;
    grid-template-columns: 0.7fr 1fr 1.35fr;
}

.premium-industries .industry-matrix__table > div > * {
    padding: 1.3rem 1.5rem;
    border-right: 1px solid rgba(255,255,255,0.18);
    border-bottom: 1px solid rgba(255,255,255,0.18);
}

.premium-industries .industry-matrix__head {
    background: var(--ind-yellow);
    color: var(--ind-ink);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.premium-industries .industry-matrix__table strong {
    font-family: var(--font-display);
    font-size: 1.5rem;
    text-transform: uppercase;
}

.premium-industries .industry-matrix__table span {
    color: rgba(255,255,255,0.82);
    font-size: 1rem;
    line-height: 1.5;
}

/* ============================================================
   ACTIVE PROPERTIES
   ============================================================ */

.premium-industries .industry-active {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-yellow);
}

.premium-industries .industry-active__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.78fr)
        minmax(0, 1.22fr);
    background: var(--ind-asphalt);
}

.premium-industries .industry-active__signal {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 31rem;
    padding: clamp(2.5rem, 4vw, 4rem);
    background:
        repeating-linear-gradient(
            -45deg,
            var(--ind-yellow) 0 38px,
            var(--ind-asphalt) 38px 76px
        );
}

.premium-industries .industry-active__signal span,
.premium-industries .industry-active__signal strong {
    width: max-content;
    padding: 0.8rem 1rem;
    background: var(--ind-asphalt);
    color: var(--ind-white);
    font-family: var(--font-mono);
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-industries .industry-active__signal strong {
    align-self: flex-end;
    color: var(--ind-yellow);
}

.premium-industries .industry-active__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 5vw, 5rem);
}

.premium-industries .industry-active .eyebrow {
    color: var(--ind-yellow);
}

.premium-industries .industry-active h2 {
    max-width: 17ch;
    color: var(--ind-white);
    font-size: clamp(3.2rem, 4.5vw, 4.8rem);
    line-height: 0.9;
}

.premium-industries .industry-active h2 em {
    display: block;
    margin-top: 0.15em;
    color: var(--ind-yellow);
}

.premium-industries .industry-active__copy > p {
    max-width: 42rem;
    color: rgba(255,255,255,0.82);
    font-size: 1.08rem;
    line-height: 1.78;
}

/* ============================================================
   PRIORITIES
   ============================================================ */

.premium-industries .industry-priorities {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-paper);
}

.premium-industries .industry-priorities h2 {
    max-width: 18ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-industries .industry-priorities h2 em {
    display: block;
    color: var(--ind-yellow-deep);
}

.premium-industries .industry-priorities__track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(3rem, 5vw, 5rem);
    border-top: 1px solid var(--ind-line);
    border-left: 1px solid var(--ind-line);
}

.premium-industries .industry-priorities__track article {
    min-height: 19rem;
    padding: 2rem;
    border-right: 1px solid var(--ind-line);
    border-bottom: 1px solid var(--ind-line);
}

.premium-industries .industry-priorities__track article:nth-child(2) {
    background: var(--ind-yellow);
}

.premium-industries .industry-priorities__track article:nth-child(4) {
    background: var(--ind-asphalt);
    color: var(--ind-white);
}

.premium-industries .industry-priorities__track span {
    display: block;
    margin-bottom: 2.5rem;
    color: var(--ind-yellow-deep);
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 900;
}

.premium-industries .industry-priorities__track article:nth-child(4) span {
    color: var(--ind-yellow);
}

.premium-industries .industry-priorities__track strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.9rem;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-industries .industry-priorities__track p {
    margin: 1rem 0 0;
    font-size: 1.02rem;
    line-height: 1.7;
    opacity: 0.78;
}

/* ============================================================
   QUOTE PREP
   ============================================================ */

.premium-industries .industry-quote {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-yellow);
}

.premium-industries .industry-quote__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.8fr)
        minmax(0, 1.2fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-industries .industry-quote h2 {
    max-width: 18ch;
    font-size: clamp(3.3rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-industries .industry-quote h2 em {
    display: block;
}

.premium-industries .industry-quote__list {
    border-top: 2px solid var(--ind-ink);
}

.premium-industries .industry-quote__list p {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1rem;
    align-items: center;
    margin: 0;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.35);
    font-size: 1.12rem;
    font-weight: 700;
}

.premium-industries .industry-quote__list span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-industries .industries-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--ind-asphalt);
    color: var(--ind-white);
}

.premium-industries .industries-close::after {
    content: "PROPERTY";
    position: absolute;
    right: -3rem;
    top: 50%;
    transform: translateY(-50%);
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,0.07);
    font-family: var(--font-display);
    font-size: clamp(7rem, 15vw, 15rem);
    font-weight: 900;
}

.premium-industries .industries-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 3rem;
}

.premium-industries .industries-close .eyebrow {
    color: var(--ind-yellow);
}

.premium-industries .industries-close h2 {
    max-width: 16ch;
    color: var(--ind-white);
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 0.9;
}

.premium-industries .industries-close h2 em {
    display: block;
    color: var(--ind-yellow);
}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-industries .industries-hero__intro,
    .premium-industries .industry-active__copy > p {
        font-size: 1.35rem;
    }

    .premium-industries .industry-ledger__rows p {
        font-size: 1.25rem;
    }

    .premium-industries .industry-priorities__track p {
        font-size: 1.2rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-industries .industries-hero__grid,
    .premium-industries .industry-active__grid,
    .premium-industries .industry-quote__grid {
        grid-template-columns: 1fr;
    }

    .premium-industries .industries-hero__copy {
        padding-right: 0;
    }

    .premium-industries .industries-hero__matrix {
        min-height: 26rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-industries .industry-priorities__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-industries .industries-hero h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .premium-industries .industries-hero h1 em {
        white-space: normal;
    }

    .premium-industries .industry-ledger__rows article {
        grid-template-columns: 3rem 1fr;
        gap: 1rem;
    }

    .premium-industries .industry-ledger__rows article > strong {
        grid-column: 2;
        justify-self: start;
    }

    .premium-industries .industry-matrix__table {
        overflow-x: auto;
    }

    .premium-industries .industry-matrix__table > div {
        min-width: 46rem;
    }

    .premium-industries .industry-priorities__track {
        grid-template-columns: 1fr;
    }

    .premium-industries .industries-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM INDUSTRIES V1 */

/* INDUSTRIES HERO HEADING SPACE V2 */

.premium-industries .industries-hero h1 em {
    display: block;
    margin-top: 0.22em !important;
}

/* /INDUSTRIES HERO HEADING SPACE V2 */

/* INDUSTRIES MOBILE PRIORITY TYPE V2 */

@media (max-width: 640px) {

    .premium-industries .industry-priorities__track article {
        padding: 1.5rem !important;
    }

    .premium-industries .industry-priorities__track strong {
        max-width: 100%;
        font-size: clamp(1.35rem, 7vw, 1.65rem) !important;
        line-height: 0.98 !important;
        overflow-wrap: normal;
        word-break: normal;
    }

}

/* /INDUSTRIES MOBILE PRIORITY TYPE V2 */

/* INDUSTRIES CLEAR COMMUNICATION FIT V3 */

.premium-industries .industry-priorities__track article:nth-child(4) strong {
    max-width: 100%;
    font-size: clamp(1.3rem, 2vw, 1.65rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.025em;
    overflow-wrap: normal;
    word-break: normal;
}

.premium-industries .industry-priorities__track {
    max-width: 100%;
}

.premium-industries .industry-priorities {
    overflow-x: clip;
}

@media (max-width: 640px) {

    .premium-industries .industry-priorities__track article:nth-child(4) strong {
        font-size: 1.35rem !important;
    }

}

/* /INDUSTRIES CLEAR COMMUNICATION FIT V3 */

/* STAY IN YOUR LANE INDUSTRIES HERO PHOTO V2 */

.premium-industries .industries-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.97) 0%,
            rgba(18,20,18,0.91) 27%,
            rgba(18,20,18,0.62) 47%,
            rgba(18,20,18,0.18) 68%,
            rgba(18,20,18,0.03) 100%
        ),
        url("../images/industries-hero.webp")
        54% center / cover no-repeat !important;
}

.premium-industries .industries-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-industries .industries-hero__copy {
    position: relative;
    z-index: 2;
    width: min(48rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-industries .industries-hero__matrix {
    display: none !important;
}

.premium-industries .industries-hero h1 {
    max-width: 14ch !important;
    text-shadow: 0 3px 18px rgba(0,0,0,0.38);
}

.premium-industries .industries-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

@media (min-width: 1600px) {

    .premium-industries .industries-hero {
        background-position: 57% center !important;
    }

    .premium-industries .industries-hero__copy {
        width: min(52rem, 44%);
    }

}

@media (min-width: 2055px) {

    .premium-industries .industries-hero {
        background-position: 60% center !important;
    }

    .premium-industries .industries-hero__copy {
        width: min(56rem, 42%);
    }

}

@media (max-width: 900px) {

    .premium-industries .industries-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.84) 57%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/industries-hero.webp")
            67% center / cover no-repeat !important;
    }

    .premium-industries .industries-hero__copy {
        width: min(42rem, 75%);
    }

}

@media (max-width: 640px) {

    .premium-industries .industries-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.76)
            ),
            url("../images/industries-hero.webp")
            68% center / cover no-repeat !important;
    }

    .premium-industries .industries-hero__grid,
    .premium-industries .industries-hero__copy {
        min-height: auto !important;
    }

    .premium-industries .industries-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

}

/* /STAY IN YOUR LANE INDUSTRIES HERO PHOTO V2 */

/* STAY IN YOUR LANE INDUSTRIES ACTIVE PHOTO V2 */

.premium-industries .industry-active {
    position: relative;
    overflow: hidden;
    padding-block: 0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.04) 0%,
            rgba(18,20,18,0.12) 34%,
            rgba(18,20,18,0.62) 58%,
            rgba(18,20,18,0.92) 76%,
            rgba(18,20,18,0.98) 100%
        ),
        url("../images/industries-active-property.webp")
        42% center / cover no-repeat !important;
}

.premium-industries .industry-active__grid {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    min-height: 44rem;
    background: transparent !important;
}

.premium-industries .industry-active__signal {
    display: none !important;
}

.premium-industries .industry-active__copy {
    position: relative;
    z-index: 2;
    width: min(44rem, 46%);
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-industries .industry-active h2 {
    max-width: 17ch !important;
}

.premium-industries .industry-active__copy > p {
    max-width: 40rem;
    color: rgba(255,255,255,0.92) !important;
}

@media (min-width: 1600px) {

    .premium-industries .industry-active {
        background-position: 38% center !important;
    }

    .premium-industries .industry-active__grid {
        min-height: 48rem;
    }

    .premium-industries .industry-active__copy {
        width: min(48rem, 42%);
    }

}

@media (min-width: 2055px) {

    .premium-industries .industry-active__grid {
        min-height: 52rem;
    }

    .premium-industries .industry-active__copy {
        width: min(52rem, 40%);
    }

}

@media (max-width: 900px) {

    .premium-industries .industry-active {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.15) 0%,
                rgba(18,20,18,0.48) 45%,
                rgba(18,20,18,0.94) 100%
            ),
            url("../images/industries-active-property.webp")
            34% center / cover no-repeat !important;
    }

    .premium-industries .industry-active__copy {
        width: min(40rem, 60%);
    }

}

@media (max-width: 640px) {

    .premium-industries .industry-active {
        background:
            linear-gradient(
                rgba(18,20,18,0.38) 0%,
                rgba(18,20,18,0.78) 55%,
                rgba(18,20,18,0.97) 100%
            ),
            url("../images/industries-active-property.webp")
            32% center / cover no-repeat !important;
    }

    .premium-industries .industry-active__grid {
        min-height: 43rem;
        align-items: flex-end;
    }

    .premium-industries .industry-active__copy {
        width: 100%;
        padding-block: 15rem 4rem !important;
    }

}

/* /STAY IN YOUR LANE INDUSTRIES ACTIVE PHOTO V2 */

/* STAY IN YOUR LANE PREMIUM ABOUT V1 */

.premium-about {
    --about-yellow: #f4c414;
    --about-yellow-deep: #d1a400;
    --about-asphalt: #171917;
    --about-asphalt-soft: #242724;
    --about-paper: #f1ede3;
    --about-white: #ffffff;
    --about-ink: #121310;
    --about-line: rgba(18,19,16,0.18);
}

.premium-about main,
.premium-about section,
.premium-about article,
.premium-about div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-about .about-hero {
    overflow: hidden;
    background: var(--about-asphalt);
    color: var(--about-white);
}

.premium-about .about-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(24rem, 0.92fr);
    min-height: 43rem;
}

.premium-about .about-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-about .about-hero .eyebrow {
    color: var(--about-yellow);
}

.premium-about .about-hero h1 {
    max-width: 15ch;
    margin: 0;
    color: var(--about-white);
    font-size: clamp(4rem, 5.3vw, 5.9rem);
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.premium-about .about-hero h1 em {
    display: block;
    margin-top: 0.16em;
    color: var(--about-yellow);
}

.premium-about .about-hero__intro {
    max-width: 42rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-about .about-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

/* Standard board */

.premium-about .about-hero__standard {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--about-asphalt-soft);
    background-size: 34px 34px;
}

.premium-about .about-hero__standard > span {
    align-self: flex-start;
    margin-bottom: 1.5rem;
    padding: 0.7rem 0.9rem;
    background: var(--about-yellow);
    color: var(--about-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-about .about-hero__standard > strong {
    display: block;
    padding-bottom: 0.55rem;
    border-bottom: 2px solid rgba(255,255,255,0.2);
    color: var(--about-white);
    font-family: var(--font-display);
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 0.88;
    letter-spacing: -0.04em;
}

.premium-about .about-hero__standard > strong:nth-of-type(2) {
    color: var(--about-yellow);
}

.premium-about .about-hero__standard > b {
    align-self: flex-end;
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.72);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

/* ============================================================
   WHY IT MATTERS
   ============================================================ */

.premium-about .about-purpose {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-paper);
}

.premium-about .about-purpose__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.75fr)
        minmax(0, 1.25fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-about .about-purpose h2 {
    max-width: 12ch;
    font-size: clamp(3.6rem, 4.8vw, 5.2rem);
    line-height: 0.9;
}

.premium-about .about-purpose h2 em {
    display: block;
    margin-top: 0.15em;
    color: var(--about-yellow-deep);
}

.premium-about .about-purpose__copy {
    align-self: center;
}

.premium-about .about-purpose__lead {
    max-width: 34rem;
    margin: 0 0 1.7rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.02;
    text-transform: uppercase;
}

.premium-about .about-purpose__copy > p:not(.about-purpose__lead) {
    max-width: 44rem;
    font-size: 1.12rem;
    line-height: 1.78;
    color: rgba(18,19,16,0.78);
}

/* ============================================================
   THE STANDARD
   ============================================================ */

.premium-about .about-standard {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-yellow);
}

.premium-about .about-standard h2 {
    max-width: 18ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-about .about-standard h2 em {
    display: block;
    margin-top: 0.16em;
}

.premium-about .about-standard__rows {
    margin-top: clamp(3rem, 5vw, 5rem);
    border-top: 2px solid var(--about-ink);
}

.premium-about .about-standard__rows article {
    display: grid;
    grid-template-columns:
        4rem
        minmax(15rem, 0.7fr)
        minmax(20rem, 1.3fr);
    gap: 1.5rem;
    align-items: center;
    padding: 1.8rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.4);
}

.premium-about .about-standard__rows span {
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 900;
}

.premium-about .about-standard__rows strong {
    font-family: var(--font-display);
    font-size: 1.9rem;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-about .about-standard__rows p {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.72;
    color: rgba(18,19,16,0.8);
}

/* ============================================================
   WHAT WE NOTICE
   ============================================================ */

.premium-about .about-notice {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-asphalt);
    color: var(--about-white);
}

.premium-about .about-notice__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(22rem, 0.92fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-about .about-notice .eyebrow {
    color: var(--about-yellow);
}

.premium-about .about-notice h2 {
    max-width: 16ch;
    color: var(--about-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-about .about-notice h2 em {
    display: block;
    margin-top: 0.16em;
    color: var(--about-yellow);
}

.premium-about .about-notice__copy > p {
    max-width: 42rem;
    color: rgba(255,255,255,0.82);
    font-size: 1.1rem;
    line-height: 1.78;
}

.premium-about .about-notice__list {
    border-top: 1px solid rgba(255,255,255,0.2);
}

.premium-about .about-notice__list p {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1rem;
    align-items: center;
    margin: 0;
    padding: 1.2rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.9);
    font-size: 1.08rem;
}

.premium-about .about-notice__list span {
    color: var(--about-yellow);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

/* ============================================================
   HOW WE WORK
   ============================================================ */

.premium-about .about-method {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-paper);
}

.premium-about .about-method h2 {
    max-width: 14ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-about .about-method h2 em {
    display: block;
    margin-top: 0.16em;
    color: var(--about-yellow-deep);
}

.premium-about .about-method__sequence {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(3rem, 5vw, 5rem);
    border-top: 1px solid var(--about-line);
    border-left: 1px solid var(--about-line);
}

.premium-about .about-method__sequence article {
    min-height: 19rem;
    padding: 2rem;
    border-right: 1px solid var(--about-line);
    border-bottom: 1px solid var(--about-line);
}

.premium-about .about-method__sequence article:nth-child(2) {
    background: var(--about-yellow);
}

.premium-about .about-method__sequence article:nth-child(4) {
    background: var(--about-asphalt);
    color: var(--about-white);
}

.premium-about .about-method__sequence span {
    display: block;
    margin-bottom: 2.5rem;
    color: var(--about-yellow-deep);
    font-family: var(--font-display);
    font-size: 2.4rem;
    font-weight: 900;
}

.premium-about .about-method__sequence article:nth-child(4) span {
    color: var(--about-yellow);
}

.premium-about .about-method__sequence strong {
    display: block;
    font-family: var(--font-display);
    font-size: 2rem;
    line-height: 0.95;
    text-transform: uppercase;
}

.premium-about .about-method__sequence p {
    margin: 1rem 0 0;
    font-size: 1.02rem;
    line-height: 1.7;
    opacity: 0.78;
}

/* ============================================================
   OUR FOCUS
   ============================================================ */

.premium-about .about-focus {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-yellow);
}

.premium-about .about-focus__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.75fr)
        minmax(0, 1.25fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-about .about-focus h2 {
    max-width: 16ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 0.9;
}

.premium-about .about-focus h2 em {
    display: block;
    margin-top: 0.16em;
}

.premium-about .about-focus__copy {
    align-self: center;
}

.premium-about .about-focus__copy p {
    max-width: 44rem;
    font-size: 1.12rem;
    line-height: 1.78;
    color: rgba(18,19,16,0.82);
}

.premium-about .about-focus .text-link {
    display: inline-block;
    margin-top: 1rem;
    color: var(--about-ink);
    font-family: var(--font-mono);
    font-weight: 800;
    text-transform: uppercase;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.35em;
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-about .about-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--about-asphalt);
    color: var(--about-white);
}

.premium-about .about-close::after {
    content: "LINES";
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,0.07);
    font-family: var(--font-display);
    font-size: clamp(9rem, 18vw, 18rem);
    font-weight: 900;
    line-height: 0.8;
}

.premium-about .about-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 3rem;
}

.premium-about .about-close .eyebrow {
    color: var(--about-yellow);
}

.premium-about .about-close h2 {
    max-width: 16ch;
    color: var(--about-white);
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 0.9;
}

.premium-about .about-close h2 em {
    display: block;
    margin-top: 0.16em;
    color: var(--about-yellow);
}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-about .about-hero__intro,
    .premium-about .about-notice__copy > p,
    .premium-about .about-focus__copy p {
        font-size: 1.35rem;
    }

    .premium-about .about-standard__rows p,
    .premium-about .about-purpose__copy > p:not(.about-purpose__lead) {
        font-size: 1.25rem;
    }

    .premium-about .about-method__sequence p {
        font-size: 1.2rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-about .about-hero__grid,
    .premium-about .about-purpose__grid,
    .premium-about .about-notice__grid,
    .premium-about .about-focus__grid {
        grid-template-columns: 1fr;
    }

    .premium-about .about-hero__copy {
        padding-right: 0;
    }

    .premium-about .about-hero__standard {
        min-height: 28rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-about .about-method__sequence {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-about .about-hero h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .premium-about .about-standard__rows article {
        grid-template-columns: 3rem 1fr;
        gap: 0.8rem 1rem;
    }

    .premium-about .about-standard__rows p {
        grid-column: 2;
    }

    .premium-about .about-method__sequence {
        grid-template-columns: 1fr;
    }

    .premium-about .about-method__sequence article {
        min-height: auto;
    }

    .premium-about .about-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM ABOUT V1 */

/* ABOUT HEADING PERSONAL SPACE V2 */

.premium-about .about-hero h1 em {
    margin-top: 0.30em !important;
}

.premium-about .about-notice h2 em {
    margin-top: 0.30em !important;
}

/* /ABOUT HEADING PERSONAL SPACE V2 */

/* ABOUT NOTICE HEADING LINE HEIGHT V3 */

.premium-about .about-notice h2 {
    line-height: 1.02 !important;
}

.premium-about .about-notice h2 em {
    margin-top: 0.28em !important;
}

/* /ABOUT NOTICE HEADING LINE HEIGHT V3 */

/* ABOUT HERO HEADING LINE HEIGHT V3 */

.premium-about .about-hero h1 {
    line-height: 1.02 !important;
}

.premium-about .about-hero h1 em {
    margin-top: 0.28em !important;
}

/* /ABOUT HERO HEADING LINE HEIGHT V3 */

/* STAY IN YOUR LANE ABOUT PHOTO INTEGRATION V2 */

/* ============================================================
   ABOUT HERO PHOTO
   ============================================================ */

.premium-about .about-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.93) 27%,
            rgba(18,20,18,0.68) 47%,
            rgba(18,20,18,0.20) 68%,
            rgba(18,20,18,0.03) 100%
        ),
        url("../images/about-hero.webp")
        56% center / cover no-repeat !important;
}

.premium-about .about-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-about .about-hero__copy {
    position: relative;
    z-index: 2;
    width: min(48rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-about .about-hero__standard {
    display: none !important;
}

.premium-about .about-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.42);
}

.premium-about .about-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* ============================================================
   WHAT WE NOTICE — ARCHITECTURAL PHOTO SPLIT
   ============================================================ */

.premium-about .about-notice {
    position: relative;
    overflow: hidden;
    padding-block: 0 !important;
    background: var(--about-asphalt) !important;
}

.premium-about .about-notice::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 50%;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.03) 0%,
            rgba(18,20,18,0.06) 72%,
            rgba(18,20,18,0.92) 100%
        ),
        url("../images/about-pavement-diagnostics.webp")
        42% center / cover no-repeat;
}

.premium-about .about-notice__grid {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto;
    gap: 0 !important;
    min-height: 48rem;
}

.premium-about .about-notice__copy {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    padding:
        clamp(5rem, 7vw, 7rem)
        0
        2.5rem
        clamp(3rem, 6vw, 6rem);
}

.premium-about .about-notice__list {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-left: clamp(3rem, 6vw, 6rem);
    padding-bottom: clamp(5rem, 7vw, 7rem);
}

.premium-about .about-notice__copy > p {
    max-width: 40rem;
}

.premium-about .about-notice__list {
    max-width: 40rem;
}

/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) {

    .premium-about .about-hero {
        background-position: 59% center !important;
    }

    .premium-about .about-hero__copy {
        width: min(52rem, 44%);
    }

    .premium-about .about-notice__grid {
        min-height: 52rem;
    }

}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-about .about-hero {
        background-position: 62% center !important;
    }

    .premium-about .about-hero__copy {
        width: min(56rem, 42%);
    }

    .premium-about .about-notice__grid {
        min-height: 56rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 900px) {

    .premium-about .about-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.84) 58%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/about-hero.webp")
            69% center / cover no-repeat !important;
    }

    .premium-about .about-hero__copy {
        width: min(42rem, 75%);
    }

    .premium-about .about-notice::before {
        width: 45%;
    }

    .premium-about .about-notice__grid {
        grid-template-columns: 0.82fr 1.18fr !important;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-about .about-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.87),
                rgba(18,20,18,0.76)
            ),
            url("../images/about-hero.webp")
            68% center / cover no-repeat !important;
    }

    .premium-about .about-hero__grid,
    .premium-about .about-hero__copy {
        min-height: auto !important;
    }

    .premium-about .about-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

    .premium-about .about-notice::before {
        display: none;
    }

    .premium-about .about-notice {
        padding-top: 18rem !important;
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.08) 0%,
                rgba(18,20,18,0.40) 38%,
                rgba(18,20,18,0.98) 64%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/about-pavement-diagnostics.webp")
            40% top / auto 24rem no-repeat,
            var(--about-asphalt) !important;
    }

    .premium-about .about-notice__grid {
        display: block !important;
        min-height: auto;
    }

    .premium-about .about-notice__copy {
        padding:
            3rem
            0
            2rem !important;
    }

    .premium-about .about-notice__list {
        margin-left: 0 !important;
        padding-bottom: 4rem;
    }

}

/* /STAY IN YOUR LANE ABOUT PHOTO INTEGRATION V2 */

/* ABOUT HERO CROP REPAIR V3 */

.premium-about .about-hero {
    background-position: 56% 28% !important;
}

@media (min-width: 1600px) {

    .premium-about .about-hero {
        background-position: 59% 24% !important;
    }

}

@media (min-width: 2055px) {

    .premium-about .about-hero {
        background-position: 62% 20% !important;
    }

}

@media (max-width: 900px) {

    .premium-about .about-hero {
        background-position: 69% 28% !important;
    }

}

@media (max-width: 640px) {

    .premium-about .about-hero {
        background-position: 68% 24% !important;
    }

}

/* /ABOUT HERO CROP REPAIR V3 */

/* STAY IN YOUR LANE PREMIUM FAQ V1 */

.premium-faq {
    --faq-yellow: #f4c414;
    --faq-yellow-deep: #d1a400;
    --faq-asphalt: #171917;
    --faq-asphalt-soft: #252825;
    --faq-paper: #f1ede3;
    --faq-white: #ffffff;
    --faq-ink: #121310;
    --faq-line: rgba(18,19,16,0.18);
}

.premium-faq main,
.premium-faq section,
.premium-faq article,
.premium-faq div {
    min-width: 0;
}

/* HERO */

.premium-faq .faq-hero {
    overflow: hidden;
    background: var(--faq-asphalt);
    color: var(--faq-white);
}

.premium-faq .faq-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(24rem, 0.92fr);
    min-height: 43rem;
}

.premium-faq .faq-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-faq .faq-hero .eyebrow {
    color: var(--faq-yellow);
}

.premium-faq .faq-hero h1 {
    max-width: 15ch;
    margin: 0;
    color: var(--faq-white);
    font-size: clamp(4rem, 5.3vw, 5.9rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.premium-faq .faq-hero h1 em {
    display: block;
    margin-top: 0.28em;
    color: var(--faq-yellow);
}

.premium-faq .faq-hero__intro {
    max-width: 42rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.88);
    font-size: 1.16rem;
    line-height: 1.78;
}

.premium-faq .faq-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

.premium-faq .faq-hero__register {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--faq-asphalt-soft);
    background-size: 34px 34px;
}

.premium-faq .faq-hero__register > span {
    align-self: flex-start;
    padding: 0.7rem 0.9rem;
    background: var(--faq-yellow);
    color: var(--faq-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-faq .faq-hero__register > strong {
    margin-top: 2rem;
    color: var(--faq-yellow);
    font-family: var(--font-display);
    font-size: clamp(9rem, 16vw, 16rem);
    line-height: 0.75;
    letter-spacing: -0.08em;
}

.premium-faq .faq-hero__register > b,
.premium-faq .faq-hero__register > p {
    font-family: var(--font-mono);
    text-transform: uppercase;
}

.premium-faq .faq-hero__register > b {
    margin-top: 1rem;
    color: var(--faq-white);
    font-size: 0.9rem;
}

.premium-faq .faq-hero__register > p {
    margin: 0.5rem 0 0;
    color: rgba(255,255,255,0.58);
    font-size: 0.72rem;
}

/* QUICK READ */

.premium-faq .faq-quick {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--faq-yellow);
}

.premium-faq .faq-quick__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.78fr)
        minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-faq .faq-quick h2 {
    max-width: 17ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-faq .faq-quick h2 em {
    display: block;
    margin-top: 0.25em;
}

.premium-faq .faq-quick__facts {
    border-top: 2px solid var(--faq-ink);
}

.premium-faq .faq-quick__facts p {
    display: grid;
    grid-template-columns: 3rem 10rem 1fr;
    gap: 1rem;
    align-items: start;
    margin: 0;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.35);
    font-size: 1.06rem;
    line-height: 1.6;
}

.premium-faq .faq-quick__facts span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.premium-faq .faq-quick__facts strong {
    font-family: var(--font-display);
    font-size: 1.35rem;
    line-height: 1;
    text-transform: uppercase;
}

/* FAQ REGISTER */

.premium-faq .faq-register {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--faq-paper);
}

.premium-faq .faq-register .section-heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-faq .faq-register h2 {
    max-width: 18ch;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-faq .faq-register h2 em {
    display: block;
    margin-top: 0.25em;
    color: var(--faq-yellow-deep);
}

.premium-faq .faq-register__list {
    border-top: 2px solid var(--faq-ink);
}

.premium-faq .faq-register__list details {
    border-bottom: 1px solid var(--faq-line);
}

.premium-faq .faq-register__list summary {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) 3rem;
    gap: 1.5rem;
    align-items: center;
    min-height: 7rem;
    padding: 1rem 0;
    cursor: pointer;
    list-style: none;
}

.premium-faq .faq-register__list summary::-webkit-details-marker {
    display: none;
}

.premium-faq .faq-register__list summary > span {
    color: var(--faq-yellow-deep);
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 900;
}

.premium-faq .faq-register__list summary > strong {
    max-width: 52rem;
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 2.2vw, 2.4rem);
    line-height: 1;
    text-transform: uppercase;
}

.premium-faq .faq-register__list summary > b {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    justify-self: end;
    border: 1px solid var(--faq-ink);
    color: var(--faq-ink);
    font-family: var(--font-mono);
    font-size: 1.3rem;
    line-height: 1;
}

.premium-faq .faq-register__list details[open] summary {
    color: var(--faq-white);
    background: var(--faq-asphalt);
    margin-inline: -1.5rem;
    padding-inline: 1.5rem;
}

.premium-faq .faq-register__list details[open] summary > span {
    color: var(--faq-yellow);
}

.premium-faq .faq-register__list details[open] summary > b {
    border-color: var(--faq-yellow);
    color: var(--faq-yellow);
    transform: rotate(45deg);
}

.premium-faq .faq-register__answer {
    padding:
        0
        6rem
        2rem
        5.5rem;
}

.premium-faq .faq-register__answer p {
    max-width: 52rem;
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.78;
    color: rgba(18,19,16,0.78);
}

/* STILL GOT ONE */

.premium-faq .faq-still {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--faq-asphalt);
    color: var(--faq-white);
}

.premium-faq .faq-still__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.78fr)
        minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-faq .faq-still .eyebrow {
    color: var(--faq-yellow);
}

.premium-faq .faq-still h2 {
    max-width: 17ch;
    color: var(--faq-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-faq .faq-still h2 em {
    display: block;
    margin-top: 0.25em;
    color: var(--faq-yellow);
}

.premium-faq .faq-still__copy {
    align-self: center;
}

.premium-faq .faq-still__copy p {
    max-width: 44rem;
    color: rgba(255,255,255,0.84);
    font-size: 1.12rem;
    line-height: 1.78;
}

/* CLOSE */

.premium-faq .faq-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--faq-yellow);
}

.premium-faq .faq-close::after {
    content: "?";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(18,19,16,0.08);
    font-family: var(--font-display);
    font-size: clamp(13rem, 27vw, 27rem);
    font-weight: 900;
    line-height: 0.7;
}

.premium-faq .faq-close__inner {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 3rem;
}

.premium-faq .faq-close h2 {
    max-width: 15ch;
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 1.02;
}

.premium-faq .faq-close h2 em {
    display: block;
    margin-top: 0.25em;
}

/* ULTRAWIDE */

@media (min-width: 2055px) {

    .premium-faq .faq-hero__intro,
    .premium-faq .faq-still__copy p {
        font-size: 1.35rem;
    }

    .premium-faq .faq-register__answer p {
        font-size: 1.25rem;
    }

}

/* TABLET */

@media (max-width: 1000px) {

    .premium-faq .faq-hero__grid,
    .premium-faq .faq-quick__grid,
    .premium-faq .faq-still__grid {
        grid-template-columns: 1fr;
    }

    .premium-faq .faq-hero__copy {
        padding-right: 0;
    }

    .premium-faq .faq-hero__register {
        min-height: 26rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

}

/* MOBILE */

@media (max-width: 640px) {

    .premium-faq .faq-hero h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .premium-faq .faq-quick__facts p {
        grid-template-columns: 2.5rem 1fr;
        gap: 0.6rem 1rem;
    }

    .premium-faq .faq-quick__facts p > strong {
        grid-column: 2;
    }

    .premium-faq .faq-quick__facts p {
        font-size: 1rem;
    }

    .premium-faq .faq-register__list summary {
        grid-template-columns: 2.75rem minmax(0, 1fr) 2.5rem;
        gap: 0.8rem;
        min-height: 6rem;
    }

    .premium-faq .faq-register__list summary > strong {
        font-size: clamp(1.25rem, 6vw, 1.65rem);
    }

    .premium-faq .faq-register__list summary > b {
        width: 2.35rem;
        height: 2.35rem;
    }

    .premium-faq .faq-register__answer {
        padding:
            0
            0
            1.8rem
            3.55rem;
    }

    .premium-faq .faq-register__list details[open] summary {
        margin-inline: -1rem;
        padding-inline: 1rem;
    }

    .premium-faq .faq-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM FAQ V1 */

/* STAY IN YOUR LANE FAQ HERO PHOTO V2 */

.premium-faq .faq-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.94) 26%,
            rgba(18,20,18,0.78) 43%,
            rgba(18,20,18,0.34) 62%,
            rgba(18,20,18,0.08) 100%
        ),
        url("../images/faq-hero.webp")
        60% center / cover no-repeat !important;
}

.premium-faq .faq-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-faq .faq-hero__copy {
    position: relative;
    z-index: 2;
    width: min(46rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-faq .faq-hero__register {
    display: none !important;
}

.premium-faq .faq-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.38);
}

.premium-faq .faq-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

@media (min-width: 1600px) {

    .premium-faq .faq-hero {
        background-position: 63% center !important;
    }

    .premium-faq .faq-hero__copy {
        width: min(50rem, 44%);
    }

}

@media (min-width: 2055px) {

    .premium-faq .faq-hero {
        background-position: 66% center !important;
    }

    .premium-faq .faq-hero__copy {
        width: min(54rem, 42%);
    }

}

@media (max-width: 900px) {

    .premium-faq .faq-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.86) 52%,
                rgba(18,20,18,0.38) 100%
            ),
            url("../images/faq-hero.webp")
            68% center / cover no-repeat !important;
    }

    .premium-faq .faq-hero__copy {
        width: min(42rem, 72%);
    }

}

@media (max-width: 640px) {

    .premium-faq .faq-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.86),
                rgba(18,20,18,0.76)
            ),
            url("../images/faq-hero.webp")
            72% center / cover no-repeat !important;
    }

    .premium-faq .faq-hero__grid,
    .premium-faq .faq-hero__copy {
        min-height: auto !important;
    }

    .premium-faq .faq-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

}

/* /STAY IN YOUR LANE FAQ HERO PHOTO V2 */

/* STAY IN YOUR LANE FAQ STILL PHOTO V2 */

.premium-faq .faq-still {
    position: relative;
    overflow: hidden;
    padding-block: 0 !important;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.94) 30%,
            rgba(18,20,18,0.74) 48%,
            rgba(18,20,18,0.30) 67%,
            rgba(18,20,18,0.08) 100%
        ),
        url("../images/faq-problem-lot.webp")
        center 58% / cover no-repeat !important;
}

.premium-faq .faq-still__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
    grid-template-rows: auto auto;
    gap: 0 !important;
    min-height: 40rem;
}

.premium-faq .faq-still__grid > div:first-child {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    padding:
        clamp(5rem, 7vw, 7rem)
        clamp(2rem, 5vw, 5rem)
        1.75rem
        0;
}

.premium-faq .faq-still__copy {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    padding:
        0
        clamp(2rem, 5vw, 5rem)
        clamp(5rem, 7vw, 7rem)
        0;
}

.premium-faq .faq-still__copy p {
    max-width: 38rem;
    color: rgba(255,255,255,0.90) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.42);
}

.premium-faq .faq-still h2 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.45);
}

@media (min-width: 1600px) {

    .premium-faq .faq-still {
        background-position: center 55% !important;
    }

    .premium-faq .faq-still__grid {
        min-height: 44rem;
    }

}

@media (min-width: 2055px) {

    .premium-faq .faq-still {
        background-position: center 52% !important;
    }

    .premium-faq .faq-still__grid {
        min-height: 48rem;
    }

}

@media (max-width: 900px) {

    .premium-faq .faq-still {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.82) 58%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/faq-problem-lot.webp")
            58% center / cover no-repeat !important;
    }

    .premium-faq .faq-still__grid {
        grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
        min-height: 38rem;
    }

}

@media (max-width: 640px) {

    .premium-faq .faq-still {
        padding-top: 16rem !important;
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.06) 0%,
                rgba(18,20,18,0.36) 32%,
                rgba(18,20,18,0.96) 58%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/faq-problem-lot.webp")
            55% top / auto 23rem no-repeat,
            var(--faq-asphalt) !important;
    }

    .premium-faq .faq-still__grid {
        display: block !important;
        min-height: auto;
    }

    .premium-faq .faq-still__grid > div:first-child {
        padding:
            3rem
            0
            1.5rem;
    }

    .premium-faq .faq-still__copy {
        padding:
            0
            0
            4rem;
    }

}

/* /STAY IN YOUR LANE FAQ STILL PHOTO V2 */

/* FAQ STILL MOBILE HEADING WIDTH V2 */

@media (max-width: 640px) {

    .premium-faq .faq-still h2 {
        max-width: 100% !important;
        font-size: clamp(2.85rem, 10.5vw, 3.4rem) !important;
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    .premium-faq .faq-still h2 em {
        max-width: 11ch;
    }

}

/* /FAQ STILL MOBILE HEADING WIDTH V2 */

/* FAQ STILL TABLET WIDTH REPAIR V3 */

@media (max-width: 900px) {

    .premium-faq .faq-still__grid {
        display: block !important;
        min-height: 38rem;
    }

    .premium-faq .faq-still__grid > div:first-child,
    .premium-faq .faq-still__copy {
        width: min(36rem, 76%);
    }

    .premium-faq .faq-still h2 {
        max-width: none !important;
        width: 100%;
        font-size: clamp(3rem, 7vw, 4rem) !important;
        line-height: 1.02;
    }

    .premium-faq .faq-still h2 em {
        max-width: none !important;
        width: 100%;
    }

}

@media (max-width: 640px) {

    .premium-faq .faq-still__grid > div:first-child,
    .premium-faq .faq-still__copy {
        width: 100%;
    }

    .premium-faq .faq-still h2 {
        font-size: clamp(2.75rem, 11vw, 3.35rem) !important;
    }

}

/* /FAQ STILL TABLET WIDTH REPAIR V3 */

/* FAQ STILL HEADING WIDTH REAL FIX V4 */

.premium-faq .faq-still__grid {
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(0, 0.82fr) !important;
}

.premium-faq .faq-still__grid > div:first-child {
    width: 100% !important;
    max-width: 46rem !important;
}

.premium-faq .faq-still h2 {
    width: 100% !important;
    max-width: 24ch !important;
}

.premium-faq .faq-still h2 em {
    width: 100% !important;
    max-width: 18ch !important;
}

@media (max-width: 1200px) {

    .premium-faq .faq-still__grid {
        grid-template-columns:
            minmax(0, 1.32fr)
            minmax(0, 0.68fr) !important;
    }

    .premium-faq .faq-still h2 {
        font-size: clamp(3rem, 5vw, 4rem) !important;
    }

}

@media (max-width: 760px) {

    .premium-faq .faq-still__grid {
        display: block !important;
    }

    .premium-faq .faq-still__grid > div:first-child,
    .premium-faq .faq-still__copy {
        width: 100% !important;
        max-width: none !important;
    }

}

/* /FAQ STILL HEADING WIDTH REAL FIX V4 */

/* FAQ HERO KEEP HIS HEAD V3 */

.premium-faq .faq-hero {
    background-position: 60% 8% !important;
}

@media (min-width: 1600px) {

    .premium-faq .faq-hero {
        background-position: 63% 6% !important;
    }

}

@media (min-width: 2055px) {

    .premium-faq .faq-hero {
        background-position: 66% 4% !important;
    }

}

@media (max-width: 900px) {

    .premium-faq .faq-hero {
        background-position: 68% 12% !important;
    }

}

@media (max-width: 640px) {

    .premium-faq .faq-hero {
        background-position: 72% 10% !important;
    }

}

/* /FAQ HERO KEEP HIS HEAD V3 */

/* STAY IN YOUR LANE PREMIUM QUOTE V1 */

.premium-quote {
    --quote-yellow: #f4c414;
    --quote-yellow-deep: #d5a900;
    --quote-asphalt: #171917;
    --quote-asphalt-soft: #242724;
    --quote-paper: #f1ede3;
    --quote-paper-dark: #e4ded0;
    --quote-ink: #121310;
    --quote-white: #ffffff;
    --quote-line: rgba(18,19,16,0.20);
}

.premium-quote main,
.premium-quote section,
.premium-quote article,
.premium-quote aside,
.premium-quote form,
.premium-quote fieldset,
.premium-quote div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-quote .quote-hero {
    overflow: hidden;
    background: var(--quote-asphalt);
    color: var(--quote-white);
}

.premium-quote .quote-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(24rem, 0.92fr);
    min-height: 44rem;
}

.premium-quote .quote-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(3rem, 6vw, 6rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-quote .quote-hero .eyebrow {
    color: var(--quote-yellow);
}

.premium-quote .quote-hero h1 {
    max-width: 16ch;
    margin: 0;
    color: var(--quote-white);
    font-size: clamp(4rem, 5.4vw, 6rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.premium-quote .quote-hero h1 em {
    display: block;
    margin-top: 0.28em;
    color: var(--quote-yellow);
}

.premium-quote .quote-hero__intro {
    max-width: 43rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.86);
    font-size: 1.14rem;
    line-height: 1.78;
}

.premium-quote .quote-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

.premium-quote .quote-hero__ticket {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.13);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--quote-asphalt-soft);
    background-size: 32px 32px;
}

.premium-quote .quote-ticket__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--quote-yellow);
}

.premium-quote .quote-ticket__top span {
    padding: 0.7rem 0.9rem;
    background: var(--quote-yellow);
    color: var(--quote-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-quote .quote-ticket__top strong {
    color: var(--quote-yellow);
    font-family: var(--font-display);
    font-size: clamp(5rem, 8vw, 8rem);
    line-height: 0.7;
}

.premium-quote .quote-hero__ticket > p {
    margin: 1.3rem 0 0.3rem;
    color: rgba(255,255,255,0.48);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

.premium-quote .quote-hero__ticket > b {
    padding-bottom: 1.1rem;
    border-bottom: 1px solid rgba(255,255,255,0.14);
    color: var(--quote-white);
    font-family: var(--font-display);
    font-size: 1.12rem;
    text-transform: uppercase;
}

/* ============================================================
   PREP LEDGER
   ============================================================ */

.premium-quote .quote-prep {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--quote-yellow);
}

.premium-quote .quote-prep__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.78fr)
        minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-quote .quote-prep h2 {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-quote .quote-prep h2 em {
    display: block;
    margin-top: 0.25em;
}

.premium-quote .quote-prep__ledger {
    border-top: 2px solid var(--quote-ink);
}

.premium-quote .quote-prep__ledger article {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 1.5rem;
    padding: 1.4rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.34);
}

.premium-quote .quote-prep__ledger article > span {
    color: rgba(18,19,16,0.52);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.premium-quote .quote-prep__ledger strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.45rem;
    line-height: 1;
    text-transform: uppercase;
}

.premium-quote .quote-prep__ledger p {
    max-width: 42rem;
    margin: 0.55rem 0 0;
    line-height: 1.65;
}

/* ============================================================
   PROPERTY INTAKE
   ============================================================ */

.premium-quote .quote-request {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--quote-paper);
}

.premium-quote .quote-request__grid {
    display: grid;
    grid-template-columns:
        minmax(20rem, 0.7fr)
        minmax(0, 1.3fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-quote .quote-request__rail {
    position: sticky;
    top: 8rem;
}

.premium-quote .quote-request__rail h2 {
    max-width: 14ch;
    margin: 0;
    font-size: clamp(3.2rem, 4.4vw, 4.7rem);
    line-height: 1.02;
}

.premium-quote .quote-request__rail h2 em {
    display: block;
    margin-top: 0.25em;
    color: var(--quote-yellow-deep);
}

.premium-quote .quote-request__rail > p {
    max-width: 35rem;
    margin-top: 1.8rem;
    color: rgba(18,19,16,0.75);
    font-size: 1.08rem;
    line-height: 1.75;
}

.premium-quote .quote-request__note {
    margin-top: 3rem;
    padding: 1.6rem;
    border-top: 5px solid var(--quote-yellow);
    background: var(--quote-asphalt);
    color: var(--quote-white);
}

.premium-quote .quote-request__note > span {
    display: block;
    margin-bottom: 1rem;
    color: var(--quote-yellow);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-quote .quote-request__note strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.7rem;
    text-transform: uppercase;
}

.premium-quote .quote-request__note p {
    margin: 0.9rem 0 0;
    color: rgba(255,255,255,0.78);
    line-height: 1.65;
}

/* FORM SHEET */

.premium-quote .quote-form {
    border-top: 8px solid var(--quote-yellow);
    background: var(--quote-white);
    box-shadow: 0 24px 70px rgba(18,19,16,0.10);
}

.premium-quote .quote-form fieldset {
    margin: 0;
    padding:
        clamp(2rem, 4vw, 3.5rem);
    border: 0;
    border-bottom: 1px solid var(--quote-line);
}

.premium-quote .quote-form legend {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    margin: 0 0 2rem;
    padding: 0;
    color: var(--quote-ink);
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.3vw, 2.3rem);
    font-weight: 800;
    text-transform: uppercase;
}

.premium-quote .quote-form legend span {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 auto;
    background: var(--quote-yellow);
    font-family: var(--font-mono);
    font-size: 0.72rem;
}

.premium-quote .quote-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.premium-quote .quote-form label {
    display: block;
}

.premium-quote .quote-form label > span {
    display: block;
    margin-bottom: 0.6rem;
    color: rgba(18,19,16,0.72);
    font-family: var(--font-mono);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.premium-quote .quote-form input,
.premium-quote .quote-form select,
.premium-quote .quote-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 2px solid rgba(18,19,16,0.32);
    border-radius: 0;
    outline: 0;
    background: #f7f4ed;
    color: var(--quote-ink);
    font: inherit;
    transition:
        border-color 160ms ease,
        background 160ms ease,
        box-shadow 160ms ease;
}

.premium-quote .quote-form input,
.premium-quote .quote-form select {
    min-height: 3.6rem;
    padding: 0.75rem 0.9rem;
}

.premium-quote .quote-form textarea {
    min-height: 13rem;
    padding: 1rem;
    line-height: 1.6;
    resize: vertical;
}

.premium-quote .quote-form input:hover,
.premium-quote .quote-form select:hover,
.premium-quote .quote-form textarea:hover {
    border-color: rgba(18,19,16,0.62);
}

.premium-quote .quote-form input:focus,
.premium-quote .quote-form select:focus,
.premium-quote .quote-form textarea:focus {
    border-color: var(--quote-yellow-deep);
    background: var(--quote-white);
    box-shadow: 0 3px 0 var(--quote-yellow);
}

.premium-quote .quote-form input::placeholder,
.premium-quote .quote-form textarea::placeholder {
    color: rgba(18,19,16,0.42);
}

.premium-quote .quote-form select {
    cursor: pointer;
}

.premium-quote .quote-form__wide {
    display: block;
    margin-bottom: 1.5rem;
}

.premium-quote .quote-form__submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding:
        clamp(2rem, 4vw, 3.5rem);
    background: var(--quote-asphalt);
    color: var(--quote-white);
}

.premium-quote .quote-form__submit span {
    color: var(--quote-yellow);
    font-family: var(--font-mono);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-quote .quote-form__submit p {
    margin: 0.45rem 0 0;
    color: rgba(255,255,255,0.70);
}

/* ============================================================
   AFTER YOU HIT SEND
   ============================================================ */

.premium-quote .quote-next {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--quote-asphalt);
    color: var(--quote-white);
}

.premium-quote .quote-next .section-heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-quote .quote-next .eyebrow {
    color: var(--quote-yellow);
}

.premium-quote .quote-next h2 {
    max-width: 17ch;
    margin: 0;
    color: var(--quote-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-quote .quote-next h2 em {
    display: block;
    margin-top: 0.25em;
    color: var(--quote-yellow);
}

.premium-quote .quote-next__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,0.20);
    border-bottom: 1px solid rgba(255,255,255,0.20);
}

.premium-quote .quote-next__track article {
    min-height: 18rem;
    padding: 2rem;
    border-right: 1px solid rgba(255,255,255,0.18);
}

.premium-quote .quote-next__track article:last-child {
    border-right: 0;
}

.premium-quote .quote-next__track span {
    display: block;
    margin-bottom: 3rem;
    color: var(--quote-yellow);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.premium-quote .quote-next__track strong {
    display: block;
    color: var(--quote-white);
    font-family: var(--font-display);
    font-size: 2rem;
    text-transform: uppercase;
}

.premium-quote .quote-next__track p {
    max-width: 28rem;
    margin: 1rem 0 0;
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-quote .quote-close {
    position: relative;
    overflow: hidden;
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--quote-yellow);
}

.premium-quote .quote-close::after {
    content: "NOT SURE?";
    position: absolute;
    right: -2%;
    bottom: -0.1em;
    color: rgba(18,19,16,0.07);
    font-family: var(--font-display);
    font-size: clamp(7rem, 14vw, 15rem);
    font-weight: 900;
    line-height: 0.8;
    white-space: nowrap;
}

.premium-quote .quote-close__inner {
    position: relative;
    z-index: 2;
}

.premium-quote .quote-close h2 {
    max-width: 15ch;
    margin: 0;
    font-size: clamp(3.6rem, 5vw, 5.5rem);
    line-height: 1.02;
}

.premium-quote .quote-close h2 em {
    display: block;
    margin-top: 0.25em;
}

.premium-quote .quote-close__inner > p:not(.eyebrow) {
    max-width: 39rem;
    margin-top: 1.5rem;
    font-size: 1.12rem;
    line-height: 1.7;
}

.premium-quote .quote-close .button {
    margin-top: 2rem;
}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-quote .quote-hero__intro,
    .premium-quote .quote-request__rail > p,
    .premium-quote .quote-close__inner > p:not(.eyebrow) {
        font-size: 1.3rem;
    }

    .premium-quote .quote-form label > span {
        font-size: 0.78rem;
    }

    .premium-quote .quote-form input,
    .premium-quote .quote-form select,
    .premium-quote .quote-form textarea {
        font-size: 1.12rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-quote .quote-hero__grid,
    .premium-quote .quote-prep__grid,
    .premium-quote .quote-request__grid {
        grid-template-columns: 1fr;
    }

    .premium-quote .quote-hero__copy {
        padding-right: 0;
    }

    .premium-quote .quote-hero__ticket {
        min-height: 27rem;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-quote .quote-request__rail {
        position: static;
    }

    .premium-quote .quote-request__rail > p {
        max-width: 48rem;
    }

    .premium-quote .quote-request__note {
        max-width: 48rem;
    }

    .premium-quote .quote-next__track {
        grid-template-columns: 1fr;
    }

    .premium-quote .quote-next__track article {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,0.18);
    }

    .premium-quote .quote-next__track article:last-child {
        border-bottom: 0;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-quote .quote-hero h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .premium-quote .quote-hero__ticket {
        padding: 2rem;
    }

    .premium-quote .quote-prep__ledger article {
        grid-template-columns: 2.5rem minmax(0, 1fr);
        gap: 1rem;
    }

    .premium-quote .quote-form__grid {
        grid-template-columns: 1fr;
    }

    .premium-quote .quote-form fieldset {
        padding: 2rem 1.25rem;
    }

    .premium-quote .quote-form legend {
        font-size: 1.55rem;
    }

    .premium-quote .quote-form__submit {
        flex-direction: column;
        align-items: stretch;
        padding: 2rem 1.25rem;
    }

    .premium-quote .quote-form__submit .button {
        width: 100%;
    }

    .premium-quote .quote-next__track article {
        padding-inline: 0;
    }

    .premium-quote .quote-close::after {
        font-size: 7rem;
    }

}

/* /STAY IN YOUR LANE PREMIUM QUOTE V1 */

/* QUOTE HERO HEADING GAP V2 */

.premium-quote .quote-hero h1 em {
    margin-top: 0.12em !important;
}

/* /QUOTE HERO HEADING GAP V2 */

/* STAY IN YOUR LANE QUOTE PHOTO INTEGRATION V2 */

/* ============================================================
   QUOTE HERO PHOTO
   ============================================================ */

.premium-quote .quote-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.94) 27%,
            rgba(18,20,18,0.72) 46%,
            rgba(18,20,18,0.24) 66%,
            rgba(18,20,18,0.04) 100%
        ),
        url("../images/quote-hero.webp")
        61% 34% / cover no-repeat !important;
}

.premium-quote .quote-hero__grid {
    display: block !important;
    min-height: 44rem;
}

.premium-quote .quote-hero__copy {
    position: relative;
    z-index: 2;
    width: min(48rem, 48%);
    min-height: 44rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-quote .quote-hero__ticket {
    display: none !important;
}

.premium-quote .quote-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.42);
}

.premium-quote .quote-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

/* ============================================================
   PROPERTY INTAKE ENVIRONMENT
   ============================================================ */

.premium-quote .quote-request {
    position: relative;
    overflow: hidden;
    background: var(--quote-paper) !important;
}

.premium-quote .quote-request::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 43%;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.90) 0%,
            rgba(18,20,18,0.82) 55%,
            rgba(18,20,18,0.58) 82%,
            rgba(18,20,18,0.08) 100%
        ),
        url("../images/quote-site-condition.webp")
        40% center / cover no-repeat;
}

.premium-quote .quote-request__grid {
    position: relative;
    z-index: 2;
}

.premium-quote .quote-request__rail {
    color: var(--quote-white);
}

.premium-quote .quote-request__rail .eyebrow {
    color: var(--quote-yellow);
}

.premium-quote .quote-request__rail h2 {
    color: var(--quote-white);
    text-shadow: 0 3px 16px rgba(0,0,0,0.42);
}

.premium-quote .quote-request__rail h2 em {
    color: var(--quote-yellow) !important;
}

.premium-quote .quote-request__rail > p {
    color: rgba(255,255,255,0.88) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.36);
}

.premium-quote .quote-request__note {
    background: rgba(18,20,18,0.88) !important;
    border-top-color: var(--quote-yellow) !important;
    backdrop-filter: blur(3px);
}

/* ============================================================
   WIDE
   ============================================================ */

@media (min-width: 1600px) {

    .premium-quote .quote-hero {
        background-position: 64% 30% !important;
    }

    .premium-quote .quote-hero__copy {
        width: min(52rem, 45%);
    }

    .premium-quote .quote-request::before {
        width: 44%;
    }

}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-quote .quote-hero {
        background-position: 66% 28% !important;
    }

    .premium-quote .quote-hero__copy {
        width: min(56rem, 42%);
    }

    .premium-quote .quote-request::before {
        width: 45%;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-quote .quote-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.86) 55%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/quote-hero.webp")
            70% 30% / cover no-repeat !important;
    }

    .premium-quote .quote-hero__copy {
        width: min(43rem, 74%);
    }

    .premium-quote .quote-request::before {
        width: 100%;
        height: 31rem;
        bottom: auto;
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.62) 0%,
                rgba(18,20,18,0.78) 65%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/quote-site-condition.webp")
            center 62% / cover no-repeat;
    }

    .premium-quote .quote-request__rail {
        min-height: 27rem;
        padding-top: 1rem;
        padding-bottom: 3rem;
    }

    .premium-quote .quote-form {
        position: relative;
        z-index: 2;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-quote .quote-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.76)
            ),
            url("../images/quote-hero.webp")
            74% 28% / cover no-repeat !important;
    }

    .premium-quote .quote-hero__grid,
    .premium-quote .quote-hero__copy {
        min-height: auto !important;
    }

    .premium-quote .quote-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

    .premium-quote .quote-request::before {
        height: 26rem;
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.48) 0%,
                rgba(18,20,18,0.76) 52%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/quote-site-condition.webp")
            62% center / cover no-repeat;
    }

    .premium-quote .quote-request__rail {
        min-height: 23rem;
    }

}

/* /STAY IN YOUR LANE QUOTE PHOTO INTEGRATION V2 */

/* QUOTE SITE CONDITION CROP V3 */

.premium-quote .quote-request::before {
    background-position: 78% center !important;
}

@media (min-width: 1600px) {

    .premium-quote .quote-request::before {
        background-position: 82% center !important;
    }

}

@media (min-width: 2055px) {

    .premium-quote .quote-request::before {
        background-position: 85% center !important;
    }

}

@media (max-width: 1000px) {

    .premium-quote .quote-request::before {
        background-position: 72% 62% !important;
    }

}

@media (max-width: 640px) {

    .premium-quote .quote-request::before {
        background-position: 76% center !important;
    }

}

/* /QUOTE SITE CONDITION CROP V3 */

/* QUOTE REQUEST FULL BACKGROUND V4 */

.premium-quote .quote-request {
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.94) 0%,
            rgba(18,20,18,0.88) 26%,
            rgba(18,20,18,0.64) 46%,
            rgba(18,20,18,0.38) 64%,
            rgba(18,20,18,0.24) 100%
        ),
        url("../images/quote-site-condition.webp")
        62% center / cover no-repeat !important;
}

.premium-quote .quote-request::before {
    display: none !important;
}

.premium-quote .quote-request__grid {
    grid-template-columns:
        minmax(20rem, 0.72fr)
        minmax(0, 1.28fr) !important;
}

.premium-quote .quote-form {
    position: relative;
    z-index: 3;
    box-shadow:
        0 28px 80px rgba(0,0,0,0.28),
        0 0 0 1px rgba(255,255,255,0.12);
}

.premium-quote .quote-request__rail {
    position: sticky;
    top: 8rem;
    padding-right: clamp(2rem, 5vw, 5rem);
}

@media (min-width: 1600px) {

    .premium-quote .quote-request {
        background-position: 66% center !important;
    }

}

@media (min-width: 2055px) {

    .premium-quote .quote-request {
        background-position: 70% center !important;
    }

}

@media (max-width: 1000px) {

    .premium-quote .quote-request {
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.58) 0%,
                rgba(18,20,18,0.82) 22rem,
                rgba(18,20,18,1) 32rem
            ),
            url("../images/quote-site-condition.webp")
            70% top / auto 32rem no-repeat,
            var(--quote-asphalt) !important;
    }

    .premium-quote .quote-request__grid {
        grid-template-columns: 1fr !important;
    }

    .premium-quote .quote-request__rail {
        position: static;
        padding-right: 0;
        min-height: 27rem;
    }

}

@media (max-width: 640px) {

    .premium-quote .quote-request {
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.56) 0%,
                rgba(18,20,18,0.84) 18rem,
                rgba(18,20,18,1) 27rem
            ),
            url("../images/quote-site-condition.webp")
            72% top / auto 27rem no-repeat,
            var(--quote-asphalt) !important;
    }

    .premium-quote .quote-request__rail {
        min-height: 23rem;
    }

}

/* /QUOTE REQUEST FULL BACKGROUND V4 */

/* STAY IN YOUR LANE PREMIUM CONTACT V1 */

.premium-contact {
    --contact-yellow: #f4c414;
    --contact-yellow-deep: #d2a500;
    --contact-asphalt: #171917;
    --contact-asphalt-soft: #242724;
    --contact-paper: #f1ede3;
    --contact-white: #ffffff;
    --contact-ink: #121310;
    --contact-line: rgba(18,19,16,0.20);
}

.premium-contact main,
.premium-contact section,
.premium-contact article,
.premium-contact aside,
.premium-contact form,
.premium-contact div {
    min-width: 0;
}

/* ============================================================
   HERO
   ============================================================ */

.premium-contact .contact-hero {
    overflow: hidden;
    background: var(--contact-asphalt);
    color: var(--contact-white);
}

.premium-contact .contact-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(24rem, 0.95fr);
    min-height: 43rem;
}

.premium-contact .contact-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(3rem, 6vw, 6rem)
        clamp(5rem, 8vw, 8rem)
        0;
}

.premium-contact .contact-hero .eyebrow {
    color: var(--contact-yellow);
}

.premium-contact .contact-hero h1 {
    max-width: 15ch;
    margin: 0;
    color: var(--contact-white);
    font-size: clamp(4rem, 5.4vw, 6rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.premium-contact .contact-hero h1 em {
    display: block;
    margin-top: 0.18em;
    color: var(--contact-yellow);
}

.premium-contact .contact-hero__intro {
    max-width: 42rem;
    margin-top: 2rem;
    color: rgba(255,255,255,0.86);
    font-size: 1.14rem;
    line-height: 1.78;
}

.premium-contact .contact-hero .button {
    align-self: flex-start;
    margin-top: 2rem;
}

.premium-contact .contact-hero__dispatch {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 5vw, 5rem);
    border-left: 1px solid rgba(255,255,255,0.14);
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        var(--contact-asphalt-soft);
    background-size: 32px 32px;
}

.premium-contact .contact-hero__dispatch > span {
    align-self: flex-start;
    margin-bottom: 2rem;
    padding: 0.7rem 0.9rem;
    background: var(--contact-yellow);
    color: var(--contact-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-contact .contact-hero__dispatch > div {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 0.2rem 1rem;
    padding: 1.4rem 0;
    border-top: 1px solid rgba(255,255,255,0.15);
}

.premium-contact .contact-hero__dispatch b {
    grid-row: 1 / span 2;
    color: var(--contact-yellow);
    font-family: var(--font-display);
    font-size: 2rem;
}

.premium-contact .contact-hero__dispatch strong {
    color: var(--contact-white);
    font-family: var(--font-display);
    font-size: 1.65rem;
    line-height: 1;
    text-transform: uppercase;
}

.premium-contact .contact-hero__dispatch p {
    margin: 0.35rem 0 0;
    color: rgba(255,255,255,0.55);
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

/* ============================================================
   ROUTING
   ============================================================ */

.premium-contact .contact-route {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--contact-yellow);
}

.premium-contact .contact-route .section-heading {
    margin-bottom: clamp(3rem, 5vw, 5rem);
}

.premium-contact .contact-route h2 {
    max-width: 17ch;
    margin: 0;
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-contact .contact-route h2 em {
    display: block;
    margin-top: 0.24em;
}

.premium-contact .contact-route__list {
    border-top: 2px solid var(--contact-ink);
}

.premium-contact .contact-route__list article {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.6rem 0;
    border-bottom: 1px solid rgba(18,19,16,0.34);
}

.premium-contact .contact-route__list article > span {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.premium-contact .contact-route__list strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.55rem;
    text-transform: uppercase;
}

.premium-contact .contact-route__list p {
    max-width: 44rem;
    margin: 0.5rem 0 0;
    line-height: 1.65;
}

.premium-contact .contact-route__list a {
    padding-bottom: 0.3rem;
    border-bottom: 2px solid var(--contact-ink);
    color: var(--contact-ink);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

/* ============================================================
   MESSAGE DESK
   ============================================================ */

.premium-contact .contact-desk {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--contact-paper);
}

.premium-contact .contact-desk__grid {
    display: grid;
    grid-template-columns:
        minmax(20rem, 0.72fr)
        minmax(0, 1.28fr);
    gap: clamp(3rem, 6vw, 7rem);
    align-items: start;
}

.premium-contact .contact-desk__rail {
    position: sticky;
    top: 8rem;
}

.premium-contact .contact-desk__rail h2 {
    max-width: 15ch;
    margin: 0;
    font-size: clamp(3.2rem, 4.4vw, 4.7rem);
    line-height: 1.02;
}

.premium-contact .contact-desk__rail h2 em {
    display: block;
    margin-top: 0.24em;
    color: var(--contact-yellow-deep);
}

.premium-contact .contact-desk__rail > p {
    max-width: 35rem;
    margin-top: 1.8rem;
    color: rgba(18,19,16,0.74);
    font-size: 1.08rem;
    line-height: 1.75;
}

.premium-contact .contact-desk__note {
    margin-top: 3rem;
    padding: 1.6rem;
    border-top: 5px solid var(--contact-yellow);
    background: var(--contact-asphalt);
    color: var(--contact-white);
}

.premium-contact .contact-desk__note > span {
    color: var(--contact-yellow);
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.premium-contact .contact-desk__note strong {
    display: block;
    margin-top: 1rem;
    font-family: var(--font-display);
    font-size: 1.75rem;
    text-transform: uppercase;
}

.premium-contact .contact-desk__note p {
    margin: 0.8rem 0 0;
    color: rgba(255,255,255,0.76);
    line-height: 1.65;
}

/* MESSAGE SLIP */

.premium-contact .contact-form {
    border-top: 8px solid var(--contact-yellow);
    padding: clamp(2rem, 4vw, 3.5rem);
    background: var(--contact-white);
    box-shadow: 0 24px 70px rgba(18,19,16,0.10);
}

.premium-contact .contact-form__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--contact-ink);
}

.premium-contact .contact-form__heading span {
    padding: 0.7rem 0.9rem;
    background: var(--contact-yellow);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.premium-contact .contact-form__heading strong {
    font-family: var(--font-display);
    font-size: 3.7rem;
    line-height: 0.8;
}

.premium-contact .contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.premium-contact .contact-form label {
    display: block;
}

.premium-contact .contact-form label > span {
    display: block;
    margin-bottom: 0.6rem;
    color: rgba(18,19,16,0.72);
    font-family: var(--font-mono);
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.premium-contact .contact-form input,
.premium-contact .contact-form select,
.premium-contact .contact-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 2px solid rgba(18,19,16,0.32);
    border-radius: 0;
    outline: 0;
    background: #f7f4ed;
    color: var(--contact-ink);
    font: inherit;
}

.premium-contact .contact-form input,
.premium-contact .contact-form select {
    min-height: 3.6rem;
    padding: 0.75rem 0.9rem;
}

.premium-contact .contact-form textarea {
    min-height: 14rem;
    padding: 1rem;
    line-height: 1.6;
    resize: vertical;
}

.premium-contact .contact-form input:focus,
.premium-contact .contact-form select:focus,
.premium-contact .contact-form textarea:focus {
    border-color: var(--contact-yellow-deep);
    background: var(--contact-white);
    box-shadow: 0 3px 0 var(--contact-yellow);
}

.premium-contact .contact-form__wide {
    margin-top: 1.5rem;
}

.premium-contact .contact-form__submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    margin:
        2.5rem
        calc(clamp(2rem, 4vw, 3.5rem) * -1)
        calc(clamp(2rem, 4vw, 3.5rem) * -1);
    padding: 2rem clamp(2rem, 4vw, 3.5rem);
    background: var(--contact-asphalt);
    color: var(--contact-white);
}

.premium-contact .contact-form__submit span {
    color: var(--contact-yellow);
    font-family: var(--font-mono);
    font-size: 0.69rem;
    font-weight: 800;
}

.premium-contact .contact-form__submit p {
    max-width: 34rem;
    margin: 0.4rem 0 0;
    color: rgba(255,255,255,0.70);
}

/* ============================================================
   WHAT HELPS
   ============================================================ */

.premium-contact .contact-help {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--contact-asphalt);
    color: var(--contact-white);
}

.premium-contact .contact-help__grid {
    display: grid;
    grid-template-columns:
        minmax(22rem, 0.78fr)
        minmax(0, 1.22fr);
    gap: clamp(3rem, 6vw, 7rem);
}

.premium-contact .contact-help .eyebrow {
    color: var(--contact-yellow);
}

.premium-contact .contact-help h2 {
    max-width: 17ch;
    margin: 0;
    color: var(--contact-white);
    font-size: clamp(3.4rem, 4.8vw, 5rem);
    line-height: 1.02;
}

.premium-contact .contact-help h2 em {
    display: block;
    margin-top: 0.24em;
    color: var(--contact-yellow);
}

.premium-contact .contact-help__ledger {
    border-top: 1px solid rgba(255,255,255,0.24);
}

.premium-contact .contact-help__ledger p {
    display: grid;
    grid-template-columns: 3rem 9rem 1fr;
    gap: 1rem;
    margin: 0;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.16);
    color: rgba(255,255,255,0.76);
    line-height: 1.6;
}

.premium-contact .contact-help__ledger span {
    color: var(--contact-yellow);
    font-family: var(--font-mono);
    font-size: 0.72rem;
}

.premium-contact .contact-help__ledger strong {
    color: var(--contact-white);
    font-family: var(--font-display);
    font-size: 1.2rem;
    text-transform: uppercase;
}

/* ============================================================
   CLOSE
   ============================================================ */

.premium-contact .contact-close {
    padding-block: clamp(5rem, 8vw, 8rem);
    background: var(--contact-yellow);
}

.premium-contact .contact-close__inner {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 3rem;
}

.premium-contact .contact-close h2 {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(3.5rem, 5vw, 5.4rem);
    line-height: 1.02;
}

.premium-contact .contact-close h2 em {
    display: block;
    margin-top: 0.24em;
}

/* ============================================================
   ULTRAWIDE
   ============================================================ */

@media (min-width: 2055px) {

    .premium-contact .contact-hero__intro,
    .premium-contact .contact-desk__rail > p {
        font-size: 1.3rem;
    }

    .premium-contact .contact-form label > span {
        font-size: 0.78rem;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1000px) {

    .premium-contact .contact-hero__grid,
    .premium-contact .contact-desk__grid,
    .premium-contact .contact-help__grid {
        grid-template-columns: 1fr;
    }

    .premium-contact .contact-hero__copy {
        padding-right: 0;
    }

    .premium-contact .contact-hero__dispatch {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.14);
    }

    .premium-contact .contact-desk__rail {
        position: static;
    }

    .premium-contact .contact-route__list article {
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    .premium-contact .contact-route__list article > a {
        grid-column: 2;
        justify-self: start;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 640px) {

    .premium-contact .contact-hero h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 13vw, 4rem);
    }

    .premium-contact .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .premium-contact .contact-form {
        padding: 2rem 1.25rem;
    }

    .premium-contact .contact-form__submit {
        flex-direction: column;
        align-items: stretch;
        margin:
            2.5rem
            -1.25rem
            -2rem;
        padding: 2rem 1.25rem;
    }

    .premium-contact .contact-form__submit .button {
        width: 100%;
    }

    .premium-contact .contact-help__ledger p {
        grid-template-columns: 2.5rem 1fr;
    }

    .premium-contact .contact-help__ledger strong {
        grid-column: 2;
    }

    .premium-contact .contact-close__inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

/* /STAY IN YOUR LANE PREMIUM CONTACT V1 */

/* CONTACT MOBILE WHAT HELPS REPAIR V2 */

@media (max-width: 640px) {

    .premium-contact .contact-help h2 {
        max-width: 100% !important;
        font-size: clamp(2.8rem, 11vw, 3.5rem) !important;
    }

    .premium-contact .contact-help__ledger p {
        position: relative;
        display: block !important;
        padding:
            1.5rem
            0
            1.5rem
            3.5rem;
        font-size: 1rem;
        line-height: 1.65;
    }

    .premium-contact .contact-help__ledger p > span {
        position: absolute;
        top: 1.55rem;
        left: 0;
        width: 2.5rem;
    }

    .premium-contact .contact-help__ledger p > strong {
        display: block;
        margin-bottom: 0.65rem;
        font-size: 1.25rem;
        line-height: 1.1;
    }

}

/* /CONTACT MOBILE WHAT HELPS REPAIR V2 */

/* CONTACT MOBILE FOOTER COMPACT V2 */

@media (max-width: 640px) {

    .premium-contact .site-footer__main {
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        gap: 2.25rem 1.5rem !important;
    }

    .premium-contact .site-footer__brand {
        grid-column: 1 / -1;
        margin: 0 !important;
    }

    .premium-contact .site-footer__brand > p {
        max-width: 29rem;
        margin-top: 1.25rem !important;
        margin-bottom: 0 !important;
        line-height: 1.6;
    }

    .premium-contact .site-footer__column {
        margin: 0 !important;
        padding: 0 !important;
    }

    .premium-contact .site-footer__label {
        margin-bottom: 1rem !important;
    }

    .premium-contact .site-footer__column a,
    .premium-contact .site-footer__column span {
        line-height: 1.45;
    }

    .premium-contact .site-footer__column a {
        margin-bottom: 0.7rem;
    }

    .premium-contact .site-footer__legal {
        margin-top: 2.5rem !important;
        padding-top: 2rem !important;
    }

    .premium-contact .site-footer__legal p {
        line-height: 1.55;
    }

    .premium-contact .site-footer__punchline {
        margin-top: 1.5rem !important;
    }

}

@media (max-width: 390px) {

    .premium-contact .site-footer__main {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    .premium-contact .site-footer__brand {
        grid-column: auto;
    }

}

/* /CONTACT MOBILE FOOTER COMPACT V2 */

/* STAY IN YOUR LANE CONTACT PHOTO INTEGRATION V2 */

/* HERO PHOTO */

.premium-contact .contact-hero {
    position: relative;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.94) 28%,
            rgba(18,20,18,0.72) 47%,
            rgba(18,20,18,0.22) 67%,
            rgba(18,20,18,0.03) 100%
        ),
        url("../images/contact-hero.webp")
        61% center / cover no-repeat !important;
}

.premium-contact .contact-hero__grid {
    display: block !important;
    min-height: 43rem;
}

.premium-contact .contact-hero__copy {
    position: relative;
    z-index: 2;
    width: min(48rem, 48%);
    min-height: 43rem;
    padding:
        clamp(5rem, 8vw, 8rem)
        0 !important;
}

.premium-contact .contact-hero__dispatch {
    display: none !important;
}

.premium-contact .contact-hero h1 {
    text-shadow: 0 3px 18px rgba(0,0,0,0.42);
}

.premium-contact .contact-hero__intro {
    color: rgba(255,255,255,0.94) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.38);
}

/* WHAT HELPS — FULL ENVIRONMENT */

.premium-contact .contact-help {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.98) 0%,
            rgba(18,20,18,0.94) 32%,
            rgba(18,20,18,0.76) 49%,
            rgba(18,20,18,0.32) 68%,
            rgba(18,20,18,0.08) 100%
        ),
        url("../images/contact-project-context.webp")
        67% center / cover no-repeat !important;
}

.premium-contact .contact-help__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
    grid-template-rows: auto auto;
    min-height: 43rem;
}

.premium-contact .contact-help__grid > div:first-child {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    padding-right: clamp(2rem, 5vw, 5rem);
}

.premium-contact .contact-help__ledger {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    max-width: 42rem;
    margin-top: 2.5rem;
    margin-right: clamp(2rem, 5vw, 5rem);
    background: rgba(18,20,18,0.62);
    backdrop-filter: blur(3px);
}

.premium-contact .contact-help__ledger p {
    padding-inline: 1rem;
}

@media (min-width: 1600px) {

    .premium-contact .contact-hero {
        background-position: 64% center !important;
    }

    .premium-contact .contact-help {
        background-position: 70% center !important;
    }

}

@media (min-width: 2055px) {

    .premium-contact .contact-hero {
        background-position: 67% center !important;
    }

    .premium-contact .contact-help {
        background-position: 73% center !important;
    }

}

@media (max-width: 1000px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.96) 0%,
                rgba(18,20,18,0.84) 58%,
                rgba(18,20,18,0.34) 100%
            ),
            url("../images/contact-hero.webp")
            70% center / cover no-repeat !important;
    }

    .premium-contact .contact-hero__copy {
        width: min(42rem, 74%);
    }

    .premium-contact .contact-help__grid {
        display: block !important;
        min-height: auto;
    }

    .premium-contact .contact-help__grid > div:first-child,
    .premium-contact .contact-help__ledger {
        max-width: 42rem;
        margin-right: 0;
    }

}

@media (max-width: 640px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                rgba(18,20,18,0.88),
                rgba(18,20,18,0.76)
            ),
            url("../images/contact-hero.webp")
            72% center / cover no-repeat !important;
    }

    .premium-contact .contact-hero__grid,
    .premium-contact .contact-hero__copy {
        min-height: auto !important;
    }

    .premium-contact .contact-hero__copy {
        width: 100%;
        padding-block: 5rem !important;
    }

    .premium-contact .contact-help {
        padding-top: 17rem !important;
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.08) 0%,
                rgba(18,20,18,0.38) 30%,
                rgba(18,20,18,0.95) 56%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/contact-project-context.webp")
            70% top / auto 24rem no-repeat,
            var(--contact-asphalt) !important;
    }

    .premium-contact .contact-help__ledger {
        background: transparent;
        backdrop-filter: none;
    }

}

/* /STAY IN YOUR LANE CONTACT PHOTO INTEGRATION V2 */

/* STAY IN YOUR LANE CONTACT HELP BACKGROUND RESET */

.premium-contact .contact-help {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(18,20,18,0.96) 0%,
            rgba(18,20,18,0.90) 24%,
            rgba(18,20,18,0.72) 42%,
            rgba(18,20,18,0.34) 64%,
            rgba(18,20,18,0.12) 100%
        ),
        url("../images/contact-project-context.webp")
        68% center / cover no-repeat !important;
}

/* Put the section layout back the way it was before the shrink */
.premium-contact .contact-help__grid {
    display: revert !important;
    grid-template-columns: revert !important;
    grid-template-rows: revert !important;
    min-height: revert !important;
}

.premium-contact .contact-help__grid > div:first-child {
    grid-column: revert !important;
    grid-row: revert !important;
    align-self: revert !important;
    padding-right: revert !important;
}

.premium-contact .contact-help__ledger {
    grid-column: revert !important;
    grid-row: revert !important;
    align-self: revert !important;
    max-width: revert !important;
    margin-top: revert !important;
    margin-right: revert !important;
    background: revert !important;
    backdrop-filter: revert !important;
}

@media (min-width: 1600px) {
    .premium-contact .contact-help {
        background-position: 72% center !important;
    }
}

@media (max-width: 1000px) {
    .premium-contact .contact-help {
        background:
            linear-gradient(
                90deg,
                rgba(18,20,18,0.95) 0%,
                rgba(18,20,18,0.84) 38%,
                rgba(18,20,18,0.46) 68%,
                rgba(18,20,18,0.18) 100%
            ),
            url("../images/contact-project-context.webp")
            72% center / cover no-repeat !important;
    }
}

@media (max-width: 640px) {
    .premium-contact .contact-help {
        background:
            linear-gradient(
                180deg,
                rgba(18,20,18,0.72) 0%,
                rgba(18,20,18,0.88) 46%,
                rgba(18,20,18,0.98) 72%,
                rgba(18,20,18,1) 100%
            ),
            url("../images/contact-project-context.webp")
            center top / cover no-repeat !important;
    }
}

/* /STAY IN YOUR LANE CONTACT HELP BACKGROUND RESET */

/* STAY IN YOUR LANE CONTACT HELP TWO-COLUMN BACKGROUND FIX */

.premium-contact .contact-help {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(12, 13, 12, 0.88) 0%,
            rgba(12, 13, 12, 0.78) 24%,
            rgba(12, 13, 12, 0.58) 44%,
            rgba(12, 13, 12, 0.30) 62%,
            rgba(12, 13, 12, 0.16) 100%
        ),
        url("../images/contact-project-context.webp") center center / cover no-repeat !important;
}

.premium-contact .contact-help::before,
.premium-contact .contact-help::after {
    content: none !important;
}

.premium-contact .contact-help > * {
    position: relative;
    z-index: 1;
}

.premium-contact .contact-help__grid {
    display: grid !important;
    grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.15fr) !important;
    gap: clamp(2rem, 4vw, 5rem) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.premium-contact .contact-help__intro,
.premium-contact .contact-help__content,
.premium-contact .contact-help__header {
    grid-column: 1 !important;
    max-width: 100% !important;
}

.premium-contact .contact-help__ledger,
.premium-contact .contact-help__list,
.premium-contact .contact-help__table {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    align-self: start !important;
    background: rgba(10, 11, 10, 0.74) !important;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.premium-contact .contact-help__ledger > *,
.premium-contact .contact-help__list > *,
.premium-contact .contact-help__table > * {
    position: relative;
    z-index: 1;
}

/* Keep all four items comfortably readable */
.premium-contact .contact-help__ledger,
.premium-contact .contact-help__list,
.premium-contact .contact-help__table {
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Make sure row content has room and doesn't get squished */
.premium-contact .contact-help__ledger-item,
.premium-contact .contact-help__list-item,
.premium-contact .contact-help__row {
    display: grid !important;
    grid-template-columns: 3.5rem minmax(8rem, 11rem) minmax(0, 1fr) !important;
    column-gap: 1.25rem !important;
    align-items: start !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .premium-contact .contact-help__grid {
        grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1fr) !important;
        gap: 2rem !important;
    }

    .premium-contact .contact-help__ledger-item,
    .premium-contact .contact-help__list-item,
    .premium-contact .contact-help__row {
        grid-template-columns: 3rem minmax(7rem, 9rem) minmax(0, 1fr) !important;
    }
}

/* Mobile: stacking is OK here */
@media (max-width: 800px) {
    .premium-contact .contact-help {
        background:
            linear-gradient(
                180deg,
                rgba(12, 13, 12, 0.90) 0%,
                rgba(12, 13, 12, 0.82) 100%
            ),
            url("../images/contact-project-context.webp") center center / cover no-repeat !important;
    }

    .premium-contact .contact-help__grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .premium-contact .contact-help__intro,
    .premium-contact .contact-help__content,
    .premium-contact .contact-help__header,
    .premium-contact .contact-help__ledger,
    .premium-contact .contact-help__list,
    .premium-contact .contact-help__table {
        grid-column: 1 !important;
    }

    .premium-contact .contact-help__ledger-item,
    .premium-contact .contact-help__list-item,
    .premium-contact .contact-help__row {
        grid-template-columns: 1fr !important;
        row-gap: 0.5rem !important;
    }
}

/* /STAY IN YOUR LANE CONTACT HELP TWO-COLUMN BACKGROUND FIX */

/* CONTACT HERO KEEP HIS HEAD V3 */

.premium-contact .contact-hero {
    background-position: 61% 10% !important;
}

@media (min-width: 1600px) {

    .premium-contact .contact-hero {
        background-position: 64% 6% !important;
    }

}

@media (min-width: 2055px) {

    .premium-contact .contact-hero {
        background-position: 67% 4% !important;
    }

}

@media (max-width: 1000px) {

    .premium-contact .contact-hero {
        background-position: 70% 14% !important;
    }

}

@media (max-width: 640px) {

    .premium-contact .contact-hero {
        background-position: 72% 12% !important;
    }

}

/* /CONTACT HERO KEEP HIS HEAD V3 */

/* CONTACT HERO FULL PHOTO HEIGHT V4 */

@media (min-width: 1001px) {

    .premium-contact .contact-hero {
        position: relative;
        overflow: hidden;
        background: #171917 !important;
    }

    .premium-contact .contact-hero::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 0 0 0 auto;
        width: 74%;
        background:
            linear-gradient(
                90deg,
                #171917 0%,
                rgba(23,25,23,0.94) 10%,
                rgba(23,25,23,0.62) 24%,
                rgba(23,25,23,0.18) 39%,
                rgba(23,25,23,0.00) 52%
            ),
            url("../images/contact-hero.webp")
            right center / auto 100% no-repeat;
        pointer-events: none;
    }

    .premium-contact .contact-hero__grid {
        position: relative;
        z-index: 1;
    }

    .premium-contact .contact-hero__copy {
        position: relative;
        z-index: 2;
    }

}

@media (min-width: 1600px) {

    .premium-contact .contact-hero::before {
        width: 76%;
    }

}

@media (min-width: 2055px) {

    .premium-contact .contact-hero::before {
        width: 78%;
    }

}

/* Tablet/mobile keep the existing responsive treatment. */

@media (max-width: 1000px) {

    .premium-contact .contact-hero::before {
        content: none !important;
    }

}

/* /CONTACT HERO FULL PHOTO HEIGHT V4 */

/* CONTACT HERO ACTUAL FIX V5 */

@media (min-width: 1001px) {

    .premium-contact .contact-hero {
        position: relative;
        overflow: hidden;
        min-height: clamp(520px, 34vw, 760px);
        background: #171917 !important;
    }

    .premium-contact .contact-hero::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 0;
        width: 100% !important;
        background:
            linear-gradient(
                90deg,
                rgba(23,25,23,1) 0%,
                rgba(23,25,23,0.98) 20%,
                rgba(23,25,23,0.90) 32%,
                rgba(23,25,23,0.62) 44%,
                rgba(23,25,23,0.24) 56%,
                rgba(23,25,23,0.04) 70%,
                rgba(23,25,23,0.00) 100%
            ),
            url("../images/contact-hero.webp")
            right center / auto 100% no-repeat !important;
        pointer-events: none;
    }

    .premium-contact .contact-hero__grid,
    .premium-contact .contact-hero__copy {
        min-height: clamp(520px, 34vw, 760px) !important;
    }

    .premium-contact .contact-hero__grid {
        position: relative;
        z-index: 1;
    }

    .premium-contact .contact-hero__copy {
        position: relative;
        z-index: 2;
        width: min(48rem, 46%);
    }

}

/* /CONTACT HERO ACTUAL FIX V5 */


/* STAY IN YOUR LANE CONTACT HERO FULL BLEED FINAL V6 */

/*
|--------------------------------------------------------------------------
| CONTACT HERO — FINAL FULL-BLEED PHOTO
|--------------------------------------------------------------------------
|
| The photograph is a CSS background.
| There is no <img> inside the hero.
|
| Fill the complete hero with contact-hero.webp and place
| the readability gradient directly on that background.
|
*/

.premium-contact .contact-hero {
    position: relative !important;
    overflow: hidden !important;

    background:
        linear-gradient(
            90deg,
            rgba(18, 20, 18, 0.98) 0%,
            rgba(18, 20, 18, 0.94) 24%,
            rgba(18, 20, 18, 0.76) 40%,
            rgba(18, 20, 18, 0.48) 53%,
            rgba(18, 20, 18, 0.18) 68%,
            rgba(18, 20, 18, 0.03) 82%,
            rgba(18, 20, 18, 0.00) 100%
        ),
        url("../images/contact-hero.webp")
        58% center / cover no-repeat !important;
}


/*
|--------------------------------------------------------------------------
| Kill the old V4/V5 pseudo-element photograph.
|--------------------------------------------------------------------------
*/

.premium-contact .contact-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
}


/*
|--------------------------------------------------------------------------
| Preserve copy above the real background.
|--------------------------------------------------------------------------
*/

.premium-contact .contact-hero__grid {
    position: relative !important;
    z-index: 2 !important;
}

.premium-contact .contact-hero__copy {
    position: relative !important;
    z-index: 3 !important;
}


/*
|--------------------------------------------------------------------------
| WIDE DESKTOP
|--------------------------------------------------------------------------
*/

@media (min-width: 1600px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18, 20, 18, 0.98) 0%,
                rgba(18, 20, 18, 0.94) 23%,
                rgba(18, 20, 18, 0.74) 39%,
                rgba(18, 20, 18, 0.44) 52%,
                rgba(18, 20, 18, 0.14) 68%,
                rgba(18, 20, 18, 0.00) 84%
            ),
            url("../images/contact-hero.webp")
            60% center / cover no-repeat !important;
    }

}


/*
|--------------------------------------------------------------------------
| ULTRAWIDE
|--------------------------------------------------------------------------
*/

@media (min-width: 2055px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18, 20, 18, 0.98) 0%,
                rgba(18, 20, 18, 0.93) 22%,
                rgba(18, 20, 18, 0.71) 37%,
                rgba(18, 20, 18, 0.40) 50%,
                rgba(18, 20, 18, 0.10) 66%,
                rgba(18, 20, 18, 0.00) 82%
            ),
            url("../images/contact-hero.webp")
            62% center / cover no-repeat !important;
    }

}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media (max-width: 1000px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18, 20, 18, 0.96) 0%,
                rgba(18, 20, 18, 0.88) 42%,
                rgba(18, 20, 18, 0.52) 72%,
                rgba(18, 20, 18, 0.20) 100%
            ),
            url("../images/contact-hero.webp")
            67% center / cover no-repeat !important;
    }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media (max-width: 640px) {

    .premium-contact .contact-hero {
        background:
            linear-gradient(
                90deg,
                rgba(18, 20, 18, 0.92) 0%,
                rgba(18, 20, 18, 0.78) 58%,
                rgba(18, 20, 18, 0.42) 100%
            ),
            url("../images/contact-hero.webp")
            70% center / cover no-repeat !important;
    }

}

/* /STAY IN YOUR LANE CONTACT HERO FULL BLEED FINAL V6 */


/* CONTACT HERO FINAL POSITION V7 */

/*
   Nudge the workshop photograph downward slightly.
   Keep the existing horizontal focal positions.
*/

.premium-contact .contact-hero {
    background-position:
        center,
        58% 42% !important;
}

@media (min-width: 1600px) {

    .premium-contact .contact-hero {
        background-position:
            center,
            60% 42% !important;
    }

}

@media (min-width: 2055px) {

    .premium-contact .contact-hero {
        background-position:
            center,
            62% 42% !important;
    }

}

/* /CONTACT HERO FINAL POSITION V7 */

/* STAY IN YOUR LANE CANONICAL HEADER SCALE REPAIR V3 */

/*
|--------------------------------------------------------------------------
| Desktop Header Scale
|--------------------------------------------------------------------------
|
| The canonical header had become visually undersized after the
| multi-page navigation system was standardized.
|
| This restores proper visual weight without squeezing navigation.
|
*/

@media (min-width: 1121px) {

    body[class*="premium-"] .site-header__inner {
        width:
            min(
                2300px,
                calc(
                    100vw -
                    clamp(3rem, 4vw, 6rem)
                )
            ) !important;

        min-height:
            clamp(
                5.5rem,
                4.4vw,
                6.25rem
            ) !important;
    }


    body[class*="premium-"] .site-header .brand {
        gap: 1rem !important;
    }


    body[class*="premium-"] .site-header .brand__mark {
        width:
            clamp(
                3.55rem,
                2.35vw,
                4rem
            ) !important;

        font-size:
            clamp(
                1.3rem,
                0.95vw,
                1.55rem
            ) !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size:
            clamp(
                1.16rem,
                0.84vw,
                1.3rem
            ) !important;

        line-height: 1 !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        margin-top: 0.24rem !important;

        font-size:
            clamp(
                0.66rem,
                0.48vw,
                0.74rem
            ) !important;
    }


    body[class*="premium-"] .site-header .site-nav {
        gap:
            clamp(
                0.9rem,
                1.05vw,
                1.5rem
            ) !important;
    }


    body[class*="premium-"] .site-header .site-nav > a:not(.button) {
        font-size:
            clamp(
                0.86rem,
                0.78vw,
                0.98rem
            ) !important;

        line-height: 1.15 !important;
        letter-spacing: 0.065em !important;
        white-space: nowrap !important;
    }


    body[class*="premium-"] .site-header .button--header {
        min-height: 3.15rem !important;

        padding:
            0.85rem
            1.2rem !important;

        font-size:
            clamp(
                0.86rem,
                0.78vw,
                0.98rem
            ) !important;

        line-height: 1.15 !important;
        letter-spacing: 0.065em !important;
    }

}


/*
|--------------------------------------------------------------------------
| Tablet / Mobile Header Weight
|--------------------------------------------------------------------------
|
| Preserve the hamburger system while keeping the identity from
| looking miniature compared with the rest of the page.
|
*/

@media (max-width: 1120px) {

    body[class*="premium-"] .site-header__inner {
        min-height: 5rem !important;
    }


    body[class*="premium-"] .site-header .brand__mark {
        width: 3.3rem !important;
        font-size: 1.28rem !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size: 1.08rem !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        font-size: 0.64rem !important;
    }


    body[class*="premium-"] .site-header .nav-toggle {
        font-size: 0.8rem !important;
    }

}


@media (max-width: 640px) {

    body[class*="premium-"] .site-header__inner {
        min-height: 4.75rem !important;
    }


    body[class*="premium-"] .site-header .brand__mark {
        width: 3rem !important;
        font-size: 1.15rem !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size: 1rem !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        font-size: 0.58rem !important;
    }

}

/* /STAY IN YOUR LANE CANONICAL HEADER SCALE REPAIR V3 */

/* STAY IN YOUR LANE HEADER TYPE BUMP V4 */

@media (min-width: 1121px) {

    body[class*="premium-"] .site-header .brand__mark {
        font-size:
            clamp(
                1.36rem,
                1vw,
                1.62rem
            ) !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size:
            clamp(
                1.22rem,
                0.9vw,
                1.38rem
            ) !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        font-size:
            clamp(
                0.68rem,
                0.5vw,
                0.76rem
            ) !important;
    }


    body[class*="premium-"] .site-header .site-nav > a:not(.button) {
        font-size:
            clamp(
                0.92rem,
                0.82vw,
                1.05rem
            ) !important;
    }


    body[class*="premium-"] .site-header .button--header {
        font-size:
            clamp(
                0.92rem,
                0.82vw,
                1.05rem
            ) !important;
    }

}

/* /STAY IN YOUR LANE HEADER TYPE BUMP V4 */

/* STAY IN YOUR LANE LOGO BIGGER V7 */

@media (min-width: 1121px) {

    body[class*="premium-"] .site-header .brand {
        gap: 1.15rem !important;
    }


    body[class*="premium-"] .site-header .brand__mark {
        width:
            clamp(
                4.35rem,
                3vw,
                4.9rem
            ) !important;

        font-size:
            clamp(
                1.75rem,
                1.3vw,
                2rem
            ) !important;

        line-height: 1 !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size:
            clamp(
                1.52rem,
                1.15vw,
                1.78rem
            ) !important;

        line-height: 0.98 !important;
        letter-spacing: -0.02em !important;
        white-space: nowrap !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        margin-top: 0.28rem !important;

        font-size:
            clamp(
                0.78rem,
                0.6vw,
                0.9rem
            ) !important;

        line-height: 1 !important;
        letter-spacing: 0.14em !important;
    }

}


@media (max-width: 1120px) {

    body[class*="premium-"] .site-header .brand__mark {
        width: 3.7rem !important;
        font-size: 1.45rem !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size: 1.25rem !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        font-size: 0.7rem !important;
    }

}


@media (max-width: 640px) {

    body[class*="premium-"] .site-header .brand__mark {
        width: 3.15rem !important;
        font-size: 1.2rem !important;
    }


    body[class*="premium-"] .site-header .brand__name {
        font-size: 1.05rem !important;
    }


    body[class*="premium-"] .site-header .brand__tagline {
        font-size: 0.6rem !important;
    }

}

/* /STAY IN YOUR LANE LOGO BIGGER V7 */

/* STAY IN YOUR LANE TAGLINE NAV POLISH V8 */

@media (min-width: 1121px) {

    /*
    |--------------------------------------------------------------------------
    | Brand Tagline
    |--------------------------------------------------------------------------
    */

    body[class*="premium-"] .site-header .brand__tagline {
        margin-top: 0.3rem !important;

        font-size:
            clamp(
                0.84rem,
                0.62vw,
                0.94rem
            ) !important;

        font-weight: 700 !important;

        line-height: 1.05 !important;

        letter-spacing: 0.1em !important;

        color: rgba(21, 22, 20, 0.78) !important;

        opacity: 1 !important;
    }


    /*
    |--------------------------------------------------------------------------
    | Desktop Navigation
    |--------------------------------------------------------------------------
    */

    body[class*="premium-"] .site-header .site-nav > a:not(.button) {
        display: inline-flex !important;
        align-items: center !important;

        min-height: 3.25rem !important;

        padding-block: 0.25rem !important;

        font-size:
            clamp(
                0.96rem,
                0.86vw,
                1.08rem
            ) !important;

        line-height: 1.2 !important;
    }


    body[class*="premium-"] .site-header .button--header {
        min-height: 3.35rem !important;

        font-size:
            clamp(
                0.96rem,
                0.86vw,
                1.08rem
            ) !important;

        line-height: 1.2 !important;
    }

}


/*
|--------------------------------------------------------------------------
| Tablet / Mobile Tagline
|--------------------------------------------------------------------------
*/

@media (max-width: 1120px) {

    body[class*="premium-"] .site-header .brand__tagline {
        font-weight: 700 !important;
        color: rgba(21, 22, 20, 0.78) !important;
        opacity: 1 !important;
    }

}

/* /STAY IN YOUR LANE TAGLINE NAV POLISH V8 */
