.site-page {
    background: var(--cdl-color-white);
}

.site-header .cdl-header__inner {
    gap: var(--cdl-space-5);
}

.site-brand {
    display: block;
    width: 10.25rem;
    height: 3.25rem;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: var(--cdl-radius-xs);
    text-decoration: none;
}

.site-logo {
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
}

.site-logo--light {
    background-image: url("/assets/images/cristal-logo-light.png");
}

.site-logo--dark {
    background-image: url("/assets/images/cristal-logo-dark.png");
}

.site-header__cta {
    display: none;
}

.site-header .cdl-nav a[aria-current="page"] {
    color: var(--cdl-text-primary);
    font-weight: 750;
}

.site-header .cdl-nav a[aria-current="page"]::after {
    transform: scaleX(1);
}

.site-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 8%, var(--cdl-color-glass-100), transparent 28rem),
        var(--cdl-color-white);
}

.site-hero::before,
.site-page-hero::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgb(7 24 39 / 3%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(7 24 39 / 3%) 1px, transparent 1px);
    background-size: 3rem 3rem;
    content: "";
    mask-image: linear-gradient(to bottom, transparent, black 25%, transparent 100%);
    pointer-events: none;
}

.site-hero__grid {
    position: relative;
    display: grid;
    gap: var(--cdl-space-12);
    padding-block: var(--cdl-space-16) var(--cdl-space-20);
}

.site-hero__content h1,
.site-page-hero h1 {
    max-width: 48rem;
    margin: var(--cdl-space-5) 0 var(--cdl-space-6);
    font-size: var(--cdl-font-size-3xl);
    font-weight: 780;
    line-height: var(--cdl-line-tight);
}

.site-hero__content .cdl-lead {
    margin-bottom: var(--cdl-space-8);
}

.site-trust-list {
    display: flex;
    flex-direction: column;
    gap: var(--cdl-space-3);
    margin: var(--cdl-space-8) 0 0;
    padding: 0;
    color: var(--cdl-text-secondary);
    font-size: var(--cdl-font-size-sm);
    list-style: none;
}

.site-trust-list li {
    display: flex;
    align-items: center;
    gap: var(--cdl-space-2);
}

.site-trust-list li span {
    display: grid;
    width: 1.25rem;
    height: 1.25rem;
    place-items: center;
    border-radius: 50%;
    background: var(--cdl-color-yellow-100);
    color: var(--cdl-color-navy-950);
    font-size: 0.6875rem;
    font-weight: 800;
}

.site-hero__visual {
    position: relative;
    min-height: 22rem;
    overflow: hidden;
    border-radius: var(--cdl-radius-xl);
    background:
        radial-gradient(circle at center, rgb(101 180 192 / 18%), transparent 50%),
        linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px),
        linear-gradient(90deg, rgb(255 255 255 / 5%) 1px, transparent 1px),
        var(--cdl-color-navy-950);
    background-size: auto, 2rem 2rem, 2rem 2rem, auto;
    box-shadow: var(--cdl-shadow-3);
}

.site-windshield {
    position: absolute;
    top: 48%;
    left: 50%;
    width: min(75%, 22rem);
    aspect-ratio: 2 / 1;
    border: 2px solid rgb(255 255 255 / 85%);
    border-bottom-width: 5px;
    border-radius: 45% 45% 18% 18%;
    transform: translate(-50%, -50%);
}

.site-windshield::before {
    position: absolute;
    top: -12%;
    right: 8%;
    left: 8%;
    height: 2px;
    background: var(--cdl-color-yellow-500);
    content: "";
}

.site-windshield span {
    position: absolute;
    top: 18%;
    bottom: 20%;
    left: 50%;
    width: 1px;
    background: rgb(255 255 255 / 20%);
}

.site-windshield i {
    position: absolute;
    bottom: -1rem;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--cdl-color-yellow-500);
}

.site-windshield i:nth-of-type(1) { left: 15%; }
.site-windshield i:nth-of-type(2) { left: calc(50% - 0.25rem); }
.site-windshield i:nth-of-type(3) { right: 15%; }

.site-hero__signal {
    position: absolute;
    right: var(--cdl-space-4);
    bottom: var(--cdl-space-4);
    left: var(--cdl-space-4);
    display: grid;
    gap: 0.1rem;
    padding: var(--cdl-space-4);
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: var(--cdl-radius-md);
    background: rgb(7 24 39 / 82%);
    color: var(--cdl-color-white);
}

.site-hero__signal span {
    color: rgb(255 255 255 / 50%);
    font-family: var(--cdl-font-mono);
    font-size: 0.625rem;
}

.site-hero__signal strong {
    font-size: var(--cdl-font-size-sm);
}

.site-proof-bar {
    border-block: 1px solid var(--cdl-border-subtle);
}

.site-proof-bar .cdl-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.site-proof-bar span {
    padding: var(--cdl-space-4) 0;
    color: var(--cdl-text-tertiary);
    font-family: var(--cdl-font-mono);
    font-size: 0.625rem;
    text-transform: uppercase;
}

.site-section {
    padding: var(--cdl-space-20) 0;
}

.site-section--soft {
    border-block: 1px solid var(--cdl-border-subtle);
    background: var(--cdl-color-gray-50);
}

.site-section--navy {
    background: var(--cdl-color-navy-950);
    color: var(--cdl-color-white);
}

.site-section-heading {
    display: grid;
    gap: var(--cdl-space-5);
    margin-bottom: var(--cdl-space-10);
}

.site-section-heading h2,
.site-split__content h2,
.site-story-copy h2,
.site-service-feature h2,
.site-contact-intro h2,
.site-contact-preview h2,
.site-catalog-placeholder h2,
.site-cta h2 {
    margin: var(--cdl-space-4) 0;
    font-size: var(--cdl-font-size-2xl);
}

.site-section-heading > p,
.site-split__content > p,
.site-story-copy p,
.site-service-feature__content > p,
.site-contact-intro > p,
.site-contact-preview > div > p,
.site-catalog-placeholder > div > p,
.site-cta p {
    color: var(--cdl-text-secondary);
}

.site-card-grid,
.site-category-grid {
    display: grid;
    gap: var(--cdl-space-4);
}

.site-feature-card,
.site-value-card,
.site-category-card,
.site-contact-card {
    position: relative;
    min-width: 0;
}

.site-feature-card {
    min-height: 23rem;
    display: flex;
    flex-direction: column;
    padding: var(--cdl-space-6);
}

.site-feature-card__number,
.site-value-card > span,
.site-category-card > span {
    color: var(--cdl-text-tertiary);
    font-family: var(--cdl-font-mono);
    font-size: 0.6875rem;
}

.site-feature-card__icon {
    display: grid;
    width: 3.5rem;
    height: 3.5rem;
    place-items: center;
    margin: var(--cdl-space-12) 0 var(--cdl-space-6);
    border-radius: var(--cdl-radius-lg);
    background: var(--cdl-color-yellow-100);
    font-size: var(--cdl-font-size-xl);
}

.site-feature-card h3,
.site-value-card h3,
.site-category-card h3,
.site-contact-card h3 {
    margin-bottom: var(--cdl-space-3);
    font-size: var(--cdl-font-size-xl);
}

.site-feature-card p,
.site-value-card p,
.site-category-card p,
.site-contact-card p {
    color: var(--cdl-text-secondary);
    font-size: var(--cdl-font-size-sm);
}

.site-feature-card > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: var(--cdl-space-5);
    border-top: 1px solid var(--cdl-border-subtle);
    font-size: var(--cdl-font-size-sm);
    font-weight: 750;
    text-decoration: none;
}

.site-feature-card--dark {
    background: var(--cdl-color-navy-950);
    color: var(--cdl-color-white);
}

.site-feature-card--dark .site-feature-card__number,
.site-feature-card--dark p { color: rgb(255 255 255 / 58%); }
.site-feature-card--dark > a { border-color: rgb(255 255 255 / 12%); }

.site-split,
.site-story-grid,
.site-contact-grid,
.site-contact-preview,
.site-service-feature {
    display: grid;
    gap: var(--cdl-space-8);
}

.site-split__visual {
    position: relative;
    display: grid;
    min-height: 23rem;
    place-items: center;
    overflow: hidden;
    border-radius: var(--cdl-radius-xl);
    background: var(--cdl-color-yellow-500);
}

.site-split__visual span {
    color: var(--cdl-color-navy-950);
    font-size: clamp(6rem, 30vw, 12rem);
    font-weight: 850;
    letter-spacing: -0.12em;
    line-height: 1;
    transform: translateX(-0.06em);
}

.site-split__visual i {
    position: absolute;
    width: 16rem;
    height: 16rem;
    border: 2rem solid rgb(255 255 255 / 30%);
    border-radius: 50%;
    transform: translate(45%, 55%);
}

.site-split__content {
    align-self: center;
}

.site-stat-row {
    display: grid;
    gap: var(--cdl-space-3);
    margin: var(--cdl-space-8) 0;
}

.site-stat-row div {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: var(--cdl-space-3);
    padding: var(--cdl-space-3) 0;
    border-bottom: 1px solid var(--cdl-border-subtle);
}

.site-stat-row strong {
    color: var(--cdl-color-yellow-700);
    font-family: var(--cdl-font-mono);
    font-size: var(--cdl-font-size-xs);
}

.site-stat-row span {
    font-size: var(--cdl-font-size-sm);
    font-weight: 650;
}

.site-cta {
    display: grid;
    gap: var(--cdl-space-6);
    align-items: center;
    padding: var(--cdl-space-6);
    border-radius: var(--cdl-radius-xl);
    background: var(--cdl-color-glass-50);
    box-shadow: var(--cdl-shadow-1);
}

.site-cta h2 {
    max-width: 42rem;
}

.site-cta p {
    max-width: 40rem;
    margin-bottom: 0;
}

.site-cta .cdl-button {
    justify-self: start;
}

.site-cta--dark {
    background: var(--cdl-color-navy-900);
    box-shadow: 0 0 0 1px rgb(255 255 255 / 10%);
}

.site-cta--dark .cdl-kicker { color: var(--cdl-color-yellow-500); }
.site-cta--dark p { color: rgb(255 255 255 / 55%); }

.site-page-hero {
    position: relative;
    overflow: hidden;
    padding: var(--cdl-space-8) 0 var(--cdl-space-16);
    border-bottom: 1px solid var(--cdl-border-subtle);
    background:
        radial-gradient(circle at 90% 0%, var(--cdl-color-glass-100), transparent 25rem),
        var(--cdl-color-gray-25);
}

.site-page-hero .cdl-container {
    position: relative;
}

.site-breadcrumb {
    display: flex;
    gap: var(--cdl-space-2);
    margin-bottom: var(--cdl-space-12);
    color: var(--cdl-text-tertiary);
    font-size: var(--cdl-font-size-xs);
}

.site-breadcrumb a {
    color: var(--cdl-text-secondary);
    text-decoration: none;
}

.site-page-hero__grid {
    display: grid;
    gap: var(--cdl-space-6);
}

.site-page-hero__grid .cdl-lead {
    align-self: end;
    margin: 0;
}

.site-story-copy {
    align-self: center;
}

.site-brand-reference {
    overflow: hidden;
    margin: 0;
    border-radius: var(--cdl-radius-xl);
    background: var(--cdl-color-navy-950);
    box-shadow: var(--cdl-shadow-2);
}

.site-brand-reference img {
    width: 100%;
    height: auto;
}

.site-brand-reference p {
    margin: 0;
    padding: var(--cdl-space-4);
    border-top: 1px solid rgb(255 255 255 / 10%);
    color: rgb(255 255 255 / 55%);
    font-size: var(--cdl-font-size-xs);
}

.site-value-card {
    min-height: 15rem;
    padding: var(--cdl-space-6);
}

.site-value-card h3 {
    margin-top: var(--cdl-space-12);
}

.site-process ol,
.site-service-steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-process li,
.site-service-steps li {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: var(--cdl-space-4);
    padding: var(--cdl-space-5) 0;
    border-top: 1px solid var(--cdl-border-subtle);
}

.site-process li > span,
.site-service-steps li > span {
    color: var(--cdl-color-yellow-700);
    font-family: var(--cdl-font-mono);
    font-size: var(--cdl-font-size-xs);
}

.site-process h3,
.site-service-steps h3 { margin-bottom: var(--cdl-space-2); }
.site-process p,
.site-service-steps p { margin: 0; color: var(--cdl-text-secondary); font-size: var(--cdl-font-size-sm); }

.site-category-card {
    display: flex;
    min-height: 22rem;
    flex-direction: column;
    padding: var(--cdl-space-5);
    color: var(--cdl-text-primary);
    text-decoration: none;
    transition: border-color var(--cdl-duration-fast), box-shadow var(--cdl-duration-fast), transform var(--cdl-duration-fast);
}

.site-category-card:hover {
    box-shadow: var(--cdl-shadow-2);
    transform: translateY(-2px);
}

.site-category-card__image {
    width: 100%;
    height: 13rem;
    margin: var(--cdl-space-4) 0;
    border-radius: var(--cdl-radius-lg);
    background: linear-gradient(145deg, var(--cdl-color-gray-50), var(--cdl-color-white));
    object-fit: contain;
}

.site-service-grid .site-category-card {
    min-height: 20rem;
}

.site-service-grid .site-category-card__image {
    height: 11.5rem;
    margin-block: var(--cdl-space-3) var(--cdl-space-5);
}

.site-category-card small,
.site-contact-card small {
    display: inline-flex;
    margin-top: var(--cdl-space-4);
    padding: 0.2rem 0.5rem;
    border-radius: var(--cdl-radius-full);
    background: var(--cdl-color-gray-100);
    color: var(--cdl-text-tertiary);
    font-family: var(--cdl-font-mono);
    font-size: 0.5625rem;
    text-transform: uppercase;
}

.site-catalog-placeholder {
    display: grid;
    gap: var(--cdl-space-8);
    padding: var(--cdl-space-6);
    border-radius: var(--cdl-radius-xl);
    background: var(--cdl-color-navy-950);
    box-shadow: var(--cdl-shadow-2);
    color: var(--cdl-color-white);
}

.site-catalog-placeholder > div > p { color: rgb(255 255 255 / 55%); }
.site-catalog-placeholder ul { display: grid; align-self: center; gap: var(--cdl-space-3); margin: 0; padding: 0; list-style: none; }
.site-catalog-placeholder li { display: flex; align-items: center; gap: var(--cdl-space-3); color: rgb(255 255 255 / 75%); font-size: var(--cdl-font-size-sm); }
.site-catalog-placeholder li span { color: var(--cdl-color-yellow-500); }

.site-service-feature__visual {
    position: relative;
    min-height: 20rem;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--cdl-radius-xl);
    background: linear-gradient(145deg, var(--cdl-color-gray-50), var(--cdl-color-white));
}

.site-service-feature__visual img {
    width: 100%;
    height: 100%;
    padding: var(--cdl-space-4);
    object-fit: contain;
}

.site-service-feature__visual span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    aspect-ratio: 2 / 1;
    border: 2px solid var(--cdl-color-white);
    border-radius: 45% 45% 20% 20%;
    transform: translate(-50%, -50%);
}

.site-service-feature__visual i {
    position: absolute;
    top: 18%;
    left: 15%;
    width: 7rem;
    height: 7rem;
    border: 1.25rem solid var(--cdl-color-yellow-500);
    border-radius: 50%;
}

.site-service-feature__content {
    align-self: center;
}

.site-service-feature .cdl-inline-message {
    margin-top: var(--cdl-space-6);
}

.site-service-steps {
    display: grid;
}

.site-service-steps li {
    min-height: 12rem;
    grid-template-columns: 1fr;
    padding: var(--cdl-space-5);
    border: 1px solid var(--cdl-border-subtle);
    background: var(--cdl-color-white);
}

.site-service-steps li:first-child { border-radius: var(--cdl-radius-lg) var(--cdl-radius-lg) 0 0; }
.site-service-steps li:last-child { border-radius: 0 0 var(--cdl-radius-lg) var(--cdl-radius-lg); }
.site-service-steps h3 { margin-top: auto; }

.site-contact-intro {
    align-self: start;
}

.site-contact-intro .cdl-inline-message {
    margin-top: var(--cdl-space-8);
}

.site-contact-options {
    display: grid;
    gap: var(--cdl-space-3);
}

.site-contact-card {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: var(--cdl-space-3);
    padding: var(--cdl-space-5);
}

.site-contact-card > span {
    color: var(--cdl-color-yellow-700);
    font-family: var(--cdl-font-mono);
    font-size: var(--cdl-font-size-xs);
}

.site-contact-card h3 { margin-top: 0; }

.site-contact-preview {
    padding: var(--cdl-space-6);
    border-radius: var(--cdl-radius-xl);
    background: var(--cdl-color-white);
    box-shadow: var(--cdl-shadow-1);
}

.site-form-skeleton {
    display: grid;
    gap: var(--cdl-space-4);
    align-self: center;
}

.site-form-skeleton .cdl-button { justify-self: start; }
.site-form-skeleton .cdl-button:disabled { cursor: not-allowed; opacity: 0.55; }

.site-footer {
    padding: var(--cdl-space-12) 0 var(--cdl-space-6);
    background: var(--cdl-color-navy-950);
    color: var(--cdl-color-white);
}

.site-footer__grid {
    display: grid;
    gap: var(--cdl-space-10);
}

.site-brand--footer {
    width: 11rem;
    margin-bottom: var(--cdl-space-5);
}

.site-footer__grid > div > p {
    max-width: 24rem;
    color: rgb(255 255 255 / 52%);
    font-size: var(--cdl-font-size-sm);
}

.site-footer nav,
.site-footer__meta {
    display: grid;
    align-content: start;
    gap: var(--cdl-space-2);
}

.site-footer nav strong,
.site-footer__meta strong {
    margin-bottom: var(--cdl-space-2);
    color: var(--cdl-color-white);
    font-size: var(--cdl-font-size-sm);
}

.site-footer nav a,
.site-footer__meta span,
.site-footer__meta a {
    color: rgb(255 255 255 / 52%);
    font-size: var(--cdl-font-size-sm);
    text-decoration: none;
}

.site-footer nav a:hover,
.site-footer__meta a:hover { color: var(--cdl-color-white); }

.site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--cdl-space-3);
    margin-top: var(--cdl-space-10);
    padding-top: var(--cdl-space-5);
    border-top: 1px solid rgb(255 255 255 / 10%);
    color: rgb(255 255 255 / 38%);
    font-family: var(--cdl-font-mono);
    font-size: 0.625rem;
}

.site-footer__bottom a { text-decoration: none; }

.site-category-card--active {
    border-color: var(--cdl-color-yellow-500);
    box-shadow: var(--cdl-shadow-2);
}

.site-catalog-back {
    display: inline-flex;
    align-items: center;
    gap: var(--cdl-space-2);
    margin-bottom: var(--cdl-space-6);
    color: var(--cdl-color-navy-800);
    font-size: var(--cdl-font-size-sm);
    font-weight: 700;
    text-decoration: none;
}

.site-catalog-back:hover { color: var(--cdl-color-yellow-700); }

.site-category-catalog {
    min-height: 60vh;
    padding: var(--cdl-space-8) 0 var(--cdl-space-16);
    border-top: 1px solid var(--cdl-color-gray-100);
    background:
        linear-gradient(135deg, rgb(255 255 255 / 96%), rgb(244 248 249 / 96%)),
        var(--cdl-color-gray-50);
}

.site-category-catalog__breadcrumb { margin-bottom: var(--cdl-space-6); }

.site-category-catalog__heading {
    display: grid;
    gap: var(--cdl-space-4);
    margin-bottom: var(--cdl-space-6);
}

.site-category-catalog__heading h1 {
    max-width: 15ch;
    margin: var(--cdl-space-2) 0 0;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 0.98;
}

.site-category-catalog__heading p {
    max-width: 36rem;
    margin: 0;
    color: var(--cdl-text-secondary);
    font-size: var(--cdl-font-size-lg);
}

.site-catalog-search {
    display: grid;
    gap: var(--cdl-space-3);
    margin-bottom: var(--cdl-space-5);
    padding: var(--cdl-space-5);
    border: 1px solid var(--cdl-color-gray-200);
    border-radius: var(--cdl-radius-lg);
    background: var(--cdl-color-white);
    box-shadow: var(--cdl-shadow-1);
}

.site-catalog-search .cdl-button { align-self: end; }

.site-catalog-count {
    margin: 0 0 var(--cdl-space-4);
    color: var(--cdl-text-secondary);
    font-size: var(--cdl-font-size-sm);
}

.site-catalog-count strong { color: var(--cdl-color-navy-900); }

.site-product-grid {
    display: grid;
    gap: var(--cdl-space-4);
}

.site-product-card {
    display: grid;
    gap: var(--cdl-space-4);
    padding: var(--cdl-space-5);
    border: 1px solid var(--cdl-color-gray-200);
    box-shadow: var(--cdl-shadow-1);
}

.site-product-card__content { align-self: center; }
.site-product-card__action { width: 100%; }

.site-product-card__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--cdl-color-gray-100);
    border-radius: var(--cdl-radius-md);
    background: var(--cdl-color-gray-50);
}

.site-product-card__media > img,
.site-product-card__image-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--cdl-color-white);
    object-fit: cover;
    object-position: center;
}

.site-product-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cdl-space-2) var(--cdl-space-3);
}

.site-product-card__meta > span {
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    background: var(--cdl-color-yellow-100);
    color: var(--cdl-color-navy-900);
    font-size: var(--cdl-font-size-xs);
    font-weight: 800;
}

.site-product-card h3 {
    max-width: 42rem;
    margin: var(--cdl-space-3) 0;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.site-product-card p { margin: 0; color: var(--cdl-text-secondary); font-size: var(--cdl-font-size-sm); }
.site-product-card small { color: var(--cdl-text-tertiary); font-family: var(--cdl-font-mono); }

.site-product-card__aside {
    display: grid;
    gap: var(--cdl-space-3);
    align-content: center;
}

.site-product-card__aside > small { font-family: var(--cdl-font-sans); }

.site-stock-status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.45rem;
    font-size: var(--cdl-font-size-sm);
    font-weight: 800;
}

.site-stock-status i { width: 0.65rem; height: 0.65rem; border-radius: 50%; background: currentColor; }
.site-stock-status--available { color: var(--cdl-color-green-600); }
.site-stock-status--on-request { color: var(--cdl-color-yellow-700); }

.site-product-card__price {
    display: grid;
    gap: 0.15rem;
}

.site-product-card__price strong {
    color: var(--cdl-color-navy-950);
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    line-height: 1;
    white-space: nowrap;
}

.site-product-card__price strong > span { font-size: 0.55em; }
.site-product-card__price > small { font-family: var(--cdl-font-sans); }

.site-product-card__application {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(4.5rem, 0.65fr));
    gap: var(--cdl-space-3);
    margin: var(--cdl-space-4) 0 0;
    padding-top: var(--cdl-space-4);
    border-top: 1px solid var(--cdl-color-gray-200);
}

.site-product-card__application div { min-width: 0; }
.site-product-card__application dt { color: var(--cdl-text-tertiary); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.site-product-card__application dd { overflow: hidden; margin: 0.2rem 0 0; color: var(--cdl-color-navy-900); font-size: var(--cdl-font-size-sm); font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.site-product-card__application-more { display: block; margin-top: var(--cdl-space-2); }

@media (min-width: 40rem) {
    .site-catalog-search { grid-template-columns: minmax(0, 1fr) auto; }
    .site-trust-list { flex-direction: row; flex-wrap: wrap; gap: var(--cdl-space-5); }
    .site-proof-bar .cdl-container { grid-template-columns: repeat(4, 1fr); }
    .site-card-grid--three,
    .site-category-grid { grid-template-columns: repeat(2, 1fr); }
    .site-stat-row { grid-template-columns: repeat(3, 1fr); }
    .site-stat-row div { grid-template-columns: 1fr; }
    .site-service-steps { grid-template-columns: repeat(2, 1fr); }
    .site-service-steps li:first-child { border-radius: var(--cdl-radius-lg) 0 0 0; }
    .site-service-steps li:nth-child(2) { border-radius: 0 var(--cdl-radius-lg) 0 0; }
    .site-service-steps li:nth-child(3) { border-radius: 0 0 0 var(--cdl-radius-lg); }
    .site-service-steps li:last-child { border-radius: 0 0 var(--cdl-radius-lg) 0; }
}

@media (min-width: 48rem) {
    .site-header__cta { display: inline-flex; }
    .site-section-heading { grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.7fr); align-items: end; }
    .site-section-heading > p { justify-self: end; margin-bottom: 0; }
    .site-split,
    .site-story-grid,
    .site-contact-grid,
    .site-contact-preview,
    .site-service-feature { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cdl-space-12); }
    .site-cta { grid-template-columns: minmax(0, 1fr) auto; padding: var(--cdl-space-10); }
    .site-catalog-placeholder { grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr); padding: var(--cdl-space-10); }
    .site-footer__grid { grid-template-columns: minmax(0, 1.5fr) 0.6fr 0.8fr; }
    .site-category-catalog { padding-top: var(--cdl-space-6); }
    .site-category-catalog__heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.75fr); align-items: end; }
    .site-category-catalog__heading > p { justify-self: end; }
    .site-product-card { grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr) minmax(13rem, auto); align-items: center; gap: var(--cdl-space-6); }
    .site-product-card__aside { padding-left: var(--cdl-space-6); border-left: 1px solid var(--cdl-color-gray-200); }
}

@media (min-width: 64rem) {
    .site-hero__grid {
        min-height: calc(100svh - var(--cdl-header-height));
        grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.72fr);
        align-items: center;
        gap: var(--cdl-space-16);
        padding-block: var(--cdl-space-16);
    }

    .site-hero__visual { min-height: 31rem; }
    .site-card-grid--three { grid-template-columns: repeat(3, 1fr); }
    .site-category-grid { grid-template-columns: repeat(3, 1fr); }
    .site-page-hero { padding: var(--cdl-space-10) 0 var(--cdl-space-20); }
    .site-page-hero__grid { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr); align-items: end; gap: var(--cdl-space-16); }
    .site-section { padding: var(--cdl-space-28) 0; }
    .site-service-steps { grid-template-columns: repeat(4, 1fr); }
    .site-service-steps li,
    .site-service-steps li:first-child,
    .site-service-steps li:nth-child(2),
    .site-service-steps li:nth-child(3),
    .site-service-steps li:last-child { border-radius: 0; }
    .site-service-steps li:first-child { border-radius: var(--cdl-radius-lg) 0 0 var(--cdl-radius-lg); }
    .site-service-steps li:last-child { border-radius: 0 var(--cdl-radius-lg) var(--cdl-radius-lg) 0; }
}

@media (max-width: 25rem) {
    .site-brand { width: 8.75rem; height: 2.75rem; }
    .site-header__actions { gap: var(--cdl-space-2); }
}

/* Solicitação pública de orçamento. */
.site-page-hero--quote { padding-bottom: var(--cdl-space-10); }
.site-quote-product { display: grid; gap: var(--cdl-space-2); padding: var(--cdl-space-5); border: 1px solid var(--cdl-border-subtle); border-radius: var(--cdl-radius-lg); background: rgb(255 255 255 / 82%); box-shadow: var(--cdl-shadow-1); backdrop-filter: blur(10px); }
.site-quote-product > span { color: var(--cdl-color-navy-700); font-size: var(--cdl-font-size-xs); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.site-quote-product strong { color: var(--cdl-color-navy-950); font-size: var(--cdl-font-size-lg); line-height: 1.25; }
.site-quote-product small { color: var(--cdl-text-secondary); }
.site-quote-section { padding-top: var(--cdl-space-10); background: var(--cdl-color-gray-25); }
.site-quote-layout { display: grid; gap: var(--cdl-space-8); align-items: start; }
.site-quote-form { display: grid; gap: var(--cdl-space-5); }
.site-quote-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.site-quote-alert { padding: var(--cdl-space-4); border: 1px solid color-mix(in srgb, var(--cdl-color-red-600) 22%, transparent); border-radius: var(--cdl-radius-md); background: var(--cdl-color-red-50); color: var(--cdl-color-red-600); font-size: var(--cdl-font-size-sm); font-weight: 700; }
.site-quote-card { min-width: 0; margin: 0; padding: var(--cdl-space-5); border: 1px solid var(--cdl-border-subtle); border-radius: var(--cdl-radius-lg); background: white; box-shadow: var(--cdl-shadow-1); }
.site-quote-card legend { display: flex; align-items: center; gap: var(--cdl-space-3); padding: 0 var(--cdl-space-2); color: var(--cdl-color-navy-950); font-size: var(--cdl-font-size-lg); font-weight: 800; }
.site-quote-card legend span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: var(--cdl-color-yellow-100); font-size: var(--cdl-font-size-xs); }
.site-quote-card__intro { margin: 0 0 var(--cdl-space-5); color: var(--cdl-text-secondary); font-size: var(--cdl-font-size-sm); }
.site-quote-fields { display: grid; gap: var(--cdl-space-5); margin-top: var(--cdl-space-4); }
.site-quote-fields--compact { max-width: 10rem; }
.site-quote-fields select, .admin-form select, .admin-filters select { width: 100%; border: 0; outline: 0; background: transparent; color: var(--cdl-text-primary); }
.site-quote-choice-grid { display: grid; gap: var(--cdl-space-3); margin-top: var(--cdl-space-5); }
.site-quote-choice { display: flex; gap: var(--cdl-space-3); padding: var(--cdl-space-4); border: 1px solid var(--cdl-border-strong); border-radius: var(--cdl-radius-md); cursor: pointer; }
.site-quote-choice:has(input:checked) { border-color: var(--cdl-color-navy-950); background: var(--cdl-color-yellow-50); box-shadow: 0 0 0 2px rgb(255 208 0 / 30%); }
.site-quote-choice input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin-top: .15rem; accent-color: var(--cdl-color-navy-950); }
.site-quote-choice span { display: grid; gap: var(--cdl-space-1); }
.site-quote-choice small { color: var(--cdl-text-secondary); line-height: 1.5; }
.site-quote-textarea { display: flex; padding: var(--cdl-space-3) var(--cdl-space-4); border: 1px solid var(--cdl-border-strong); border-radius: var(--cdl-radius-md); background: white; }
.site-quote-textarea:focus-within { border-color: var(--cdl-color-navy-950); box-shadow: 0 0 0 3px rgb(255 208 0 / 35%); }
.site-quote-textarea textarea { width: 100%; resize: vertical; border: 0; outline: 0; }
.site-quote-error { display: block; color: var(--cdl-color-red-600); font-size: var(--cdl-font-size-xs); font-weight: 700; }
.site-quote-submit { display: grid; justify-items: start; gap: var(--cdl-space-3); padding: var(--cdl-space-5); border: 1px solid var(--cdl-border-subtle); border-radius: var(--cdl-radius-lg); background: white; }
.site-quote-submit > .cdl-button { width: 100%; }
.site-quote-submit > small { color: var(--cdl-text-tertiary); line-height: 1.5; }
.site-quote-consent { display: flex; gap: var(--cdl-space-3); color: var(--cdl-text-secondary); font-size: var(--cdl-font-size-sm); line-height: 1.5; cursor: pointer; }
.site-quote-consent input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin-top: .15rem; accent-color: var(--cdl-color-navy-950); }
.site-quote-aside { display: grid; gap: var(--cdl-space-4); padding: var(--cdl-space-6); border-radius: var(--cdl-radius-lg); background: var(--cdl-color-navy-950); color: white; }
.site-quote-aside ol { display: grid; gap: var(--cdl-space-5); margin: 0; padding: 0; list-style: none; counter-reset: quote-step; }
.site-quote-aside li { display: grid; gap: var(--cdl-space-1); padding-left: 2.25rem; counter-increment: quote-step; position: relative; }
.site-quote-aside li::before { position: absolute; left: 0; display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: var(--cdl-color-yellow-400); color: var(--cdl-color-navy-950); content: counter(quote-step); font-size: .65rem; font-weight: 900; }
.site-quote-aside li span { color: rgb(255 255 255 / 68%); font-size: var(--cdl-font-size-sm); line-height: 1.5; }
.site-quote-success { min-height: 70vh; padding: var(--cdl-space-20) 0; background: var(--cdl-color-gray-25); }
.site-quote-success__card { display: grid; max-width: 48rem; justify-items: start; gap: var(--cdl-space-4); margin: 0 auto; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--cdl-border-subtle); border-radius: var(--cdl-radius-xl); background: white; box-shadow: var(--cdl-shadow-2); }
.site-quote-success__icon { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: 50%; background: var(--cdl-color-green-50); color: var(--cdl-color-green-600); font-size: 1.5rem; font-weight: 900; }
.site-quote-success h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.05; }
.site-quote-success p { margin: 0; color: var(--cdl-text-secondary); line-height: 1.7; }
.site-quote-success dl { display: grid; width: 100%; gap: 0; margin: var(--cdl-space-3) 0; border-block: 1px solid var(--cdl-border-subtle); }
.site-quote-success dl div { display: grid; grid-template-columns: 7rem 1fr; gap: var(--cdl-space-3); padding: var(--cdl-space-3) 0; }
.site-quote-success dl div + div { border-top: 1px solid var(--cdl-border-subtle); }
.site-quote-success dt { color: var(--cdl-text-tertiary); font-size: var(--cdl-font-size-xs); font-weight: 800; text-transform: uppercase; }
.site-quote-success dd { margin: 0; color: var(--cdl-color-navy-950); font-weight: 750; }
@media (min-width: 48rem) {
    .site-quote-fields, .site-quote-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-quote-field--wide { grid-column: 1 / -1; }
    .site-quote-submit { padding: var(--cdl-space-6); }
    .site-quote-submit > .cdl-button { width: auto; }
}
@media (min-width: 64rem) {
    .site-quote-layout { grid-template-columns: minmax(0, 1fr) 20rem; }
    .site-quote-aside { position: sticky; top: calc(var(--cdl-header-height) + var(--cdl-space-5)); }
}
