:root {
    --accent: var(--tenant-primary, #cc0000);
    --canvas: #f4f4f3;
    --container: 1180px;
    --ink: #171717;
    --ink-soft: #4b5563;
    --line: #dfe1df;
    --muted: #68716e;
    --night: #1f2022;
    --radius: 8px;
    --radius-lg: 8px;
    --radius-sm: 6px;
}

/* Neutral storefront contract. Theme styles are loaded after this file. */
.page-block { padding: 64px 0; }
.page-block > .container,
.page-block .page-block-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.page-block :where(h1, h2, h3, p, figure) { margin-top: 0; }
.eyebrow { display: inline-block; margin-bottom: 12px; color: var(--accent); font-size: 12px; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.page-block-rich-text { color: var(--muted); line-height: 1.7; }
.page-block-rich-text > :first-child { margin-top: 0; }
.page-block-rich-text > :last-child { margin-bottom: 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-head h2 { margin-bottom: 0; color: var(--ink); font-size: 42px; line-height: 1.08; }
.btn { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: 14px; font-weight: 800; line-height: 1; text-decoration: none; }
.btn-primary { background: var(--accent); color: #fff; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 800; text-decoration: none; }

.page-block-hero-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); align-items: center; gap: 48px; }
.page-block-hero-copy :is(h1, h2) { max-width: 760px; margin-bottom: 20px; color: var(--ink); font-size: 56px; line-height: 1; }
.page-block-hero-copy .page-block-rich-text { max-width: 620px; font-size: 17px; }
.page-block-hero-copy .btn { margin-top: 26px; }
.page-block-hero-media { overflow: hidden; min-height: 420px; border-radius: var(--radius); background: var(--canvas); }
.page-block-hero-media img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.page-block-hero--image-hidden .page-block-hero-panel,
.page-block-hero--image-background .page-block-hero-panel { grid-template-columns: minmax(0, 1fr); }
.page-block-hero--image-background { background: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .16)), var(--page-block-hero-image) center / cover; }
.page-block-hero--image-background .page-block-hero-panel { min-height: 520px; }
.page-block-hero--image-background .page-block-hero-copy :is(h1, h2) { color: #fff; }
.page-block-hero--image-background .page-block-rich-text { color: rgba(255, 255, 255, .82); }

.page-block-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.page-block-feature { min-width: 0; min-height: 220px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-block-feature > span { color: var(--accent); font-size: 12px; font-weight: 800; }
.page-block-feature h3 { margin: 52px 0 10px; font-size: 20px; }
.page-block-feature p { margin-bottom: 0; color: var(--muted); line-height: 1.6; }

.page-block-faq-layout { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: 56px; }
.page-block-faq-layout > div:first-child h2 { margin-bottom: 0; font-size: 38px; line-height: 1.12; }
.page-block-faq-list { border-top: 1px solid var(--line); }
.page-block-faq-item { border-bottom: 1px solid var(--line); }
.page-block-faq-item summary { display: flex; padding: 20px 2px; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; font-weight: 800; list-style: none; }
.page-block-faq-item summary::-webkit-details-marker { display: none; }
.page-block-faq-toggle { display: grid; width: 32px; height: 32px; flex: none; place-items: center; color: var(--accent); }
.page-block-faq-toggle > svg { grid-area: 1 / 1; }
.page-block-faq-toggle__minus { display: none; }
.page-block-faq-item[open] .page-block-faq-toggle__plus { display: none; }
.page-block-faq-item[open] .page-block-faq-toggle__minus { display: block; }
.page-block-faq-item .page-block-rich-text { padding: 0 2px 22px; }

.page-block-contacts-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); gap: 54px; padding: 42px; border: 1px solid var(--line); border-radius: var(--radius); }
.page-block-contacts-panel h2 { margin-bottom: 16px; font-size: 38px; line-height: 1.12; }
.page-block-contacts-panel .btn { margin-top: 24px; }
.page-block-contact-list { border-top: 1px solid var(--line); }
.page-block-contact-row { display: grid; grid-template-columns: minmax(100px, .55fr) minmax(0, 1fr); gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.page-block-contact-row > span { color: var(--muted); font-size: 13px; }
.page-block-contact-row :is(a, strong) { overflow-wrap: anywhere; color: var(--ink); font-weight: 800; }

.page-block-text-panel { display: grid; gap: 42px; align-items: center; }
.page-block-text-panel--image-left,
.page-block-text-panel--image-right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-block-text-panel--image-right .page-block-text-media { order: 2; }
.page-block-text-panel--image-top { grid-template-columns: minmax(0, 1fr); }
.page-block-text-media { overflow: hidden; border-radius: var(--radius); background: var(--canvas); }
.page-block-text-media img { display: block; width: 100%; height: auto; }
.page-block-text-copy h2 { margin-bottom: 18px; font-size: 38px; line-height: 1.12; }

.page-block-story-list__grid { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: stretch; }
.page-block-story-list__visual { position: relative; overflow: hidden; min-height: 520px; border-radius: var(--radius); background: var(--canvas); }
.page-block-story-list__visual > img { width: 100%; height: 100%; object-fit: cover; }
.page-block-story-list__badge { position: absolute; top: 20px; left: 20px; padding: 7px 10px; border-radius: 4px; background: #fff; font-size: 11px; font-weight: 800; }
.page-block-story-list__visual figcaption { position: absolute; right: 20px; bottom: 20px; left: 20px; display: grid; gap: 4px; padding: 18px; border-radius: 6px; background: rgba(20, 22, 21, .82); color: #fff; }
.page-block-story-list__visual figcaption span { color: rgba(255, 255, 255, .72); font-size: 12px; }
.page-block-story-list__content h2 { margin-bottom: 18px; font-size: 42px; line-height: 1.08; }
.page-block-story-list__items { margin: 28px 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.page-block-story-list__items li { border-bottom: 1px solid var(--line); }
.page-block-story-list__items li > a,
.page-block-story-list__items li > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 4px 12px; padding: 16px 0; color: inherit; text-decoration: none; }
.page-block-story-list__items li span { grid-row: 1 / span 2; color: var(--accent); font-size: 11px; font-weight: 800; }
.page-block-story-list__items li strong { font-size: 16px; }
.page-block-story-list__items li small { color: var(--muted); line-height: 1.45; }
.page-block-story-list__note { margin: 12px 0 0; color: var(--muted); font-size: 12px; }

.page-block-logo-showcase__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-block-logo-showcase__item { display: grid; min-height: 220px; align-content: end; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); color: inherit; text-decoration: none; }
.page-block-logo-showcase__item > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.page-block-logo-showcase__item img { display: block; width: auto; max-width: 150px; height: 56px; margin: 24px 0; object-fit: contain; object-position: left center; }
.page-block-logo-showcase__item h3 { margin-bottom: 8px; font-size: 19px; }
.page-block-logo-showcase__item p { margin-bottom: 0; color: var(--muted); line-height: 1.5; }
.page-block-logo-showcase__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 18px; padding: 24px; border-radius: var(--radius); background: var(--canvas); }
.page-block-logo-showcase__cta > div { display: grid; gap: 5px; }
.page-block-logo-showcase__cta span { color: var(--muted); }

.page-block-showcase-hero { position: relative; display: flex; min-height: 620px; align-items: end; overflow: hidden; padding: 72px 0 0; background: var(--night); color: #fff; }
.showcase-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .48; }
.page-block-showcase-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 12, 11, .86), rgba(10, 12, 11, .2)); content: ''; }
.hero-inner { position: relative; z-index: 1; width: min(calc(100% - 40px), var(--container)); padding-bottom: 110px; }
.hero-copy { max-width: 760px; }
.hero-copy :is(h1, h2) { margin-bottom: 22px; font-size: 60px; line-height: .98; }
.hero-copy :is(h1, h2) span { color: var(--accent); }
.hero-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.hero-kicker i { width: 24px; height: 2px; background: var(--accent); }
.showcase-hero-text { max-width: 600px; color: rgba(255, 255, 255, .76); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 36px; }
.hero-stat { display: grid; gap: 3px; }
.hero-stat strong { font-size: 21px; }
.hero-stat span { color: rgba(255, 255, 255, .64); font-size: 12px; }
.hero-category-dock-wrap { position: relative; z-index: 2; width: 100%; background: #fff; color: var(--ink); }
.hero-category-dock { display: grid; grid-template-columns: repeat(var(--hero-quick-count, 4), minmax(0, 1fr)); width: min(100%, var(--container)); margin-inline: auto; }
.hero-category { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-width: 0; padding: 20px; border-right: 1px solid var(--line); color: inherit; text-decoration: none; }
.hero-category:first-child { border-left: 1px solid var(--line); }
.hero-category-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--canvas); }
.hero-category-icon:empty { display: none; }
.hero-category-icon img { width: 28px; height: 28px; object-fit: contain; }
.hero-category > span:nth-child(2) { display: grid; gap: 3px; }
.hero-category small { color: var(--muted); }

.contact-map { position: relative; overflow: hidden; min-height: 500px; border-radius: var(--radius); background: var(--canvas); }
.contact-map iframe { width: 100%; height: 500px; border: 0; }
.map-label { position: absolute; bottom: 20px; left: 20px; display: grid; max-width: 360px; gap: 7px; padding: 20px; border-radius: var(--radius-sm); background: #fff; box-shadow: 0 12px 32px rgba(0, 0, 0, .12); }
.map-label > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.map-label a { color: var(--accent); font-weight: 800; text-decoration: none; }

.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr); gap: 48px; align-items: end; }
.page-hero-copy { min-width: 0; }
.page-title { max-width: 820px; margin-bottom: 0; color: var(--ink); font-size: 54px; line-height: 1.02; }
.page-hero-aside { display: grid; gap: 8px; padding-left: 28px; border-left: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
.page-hero-aside strong { color: var(--ink); font-size: 28px; }
.page-block-section-head--compact { margin-bottom: 20px; }

.page-block-section-head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(280px, .72fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: end;
    margin-bottom: 30px;
}

.page-block-section-head h2 {
    max-width: 760px;
    margin: 8px 0 0;
    color: var(--ink);
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}

.page-block-section-head .page-block-rich-text {
    max-width: 640px;
    justify-self: end;
}

.page-block-gallery-grid {
    display: grid;
    gap: 16px;
}

.page-block-gallery-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-block-gallery-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-block-gallery-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.page-block-gallery-item {
    min-width: 0;
    margin: 0;
}

.page-block-gallery-item a {
    display: block;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--canvas);
}

.page-block-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.page-block-gallery-grid--landscape img { aspect-ratio: 4 / 3; }
.page-block-gallery-grid--square img { aspect-ratio: 1; }
.page-block-gallery-grid--portrait img { aspect-ratio: 4 / 5; }
.page-block-gallery-grid--natural img { height: auto; }

.page-block-gallery-item a:hover img,
.page-block-gallery-item a:focus-visible img {
    transform: scale(1.025);
}

.page-block-gallery-item figcaption {
    padding-top: 9px;
    color: var(--ink-soft);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.page-block-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.page-block-video-grid--featured .page-block-video-item:first-child {
    grid-column: 1 / -1;
}

.page-block-video-item {
    min-width: 0;
}

.page-block-video-frame {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-sm);
    background: #111318;
}

.page-block-video-frame iframe,
.page-block-video-frame video {
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.page-block-video-copy {
    padding-top: 13px;
}

.page-block-video-copy h3,
.page-block-video-copy p {
    margin: 0;
}

.page-block-video-copy h3 {
    color: var(--ink);
    font-size: 18px;
    line-height: 1.3;
}

.page-block-video-copy p {
    margin-top: 5px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.page-block-document-grid {
    display: grid;
    gap: 12px;
}

.page-block-document-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-block-document {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 22px;
    gap: 14px;
    align-items: center;
    min-height: 78px;
    padding: 15px 17px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease;
}

.page-block-document:hover,
.page-block-document:focus-visible {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.page-block-document-icon {
    display: grid;
    place-items: center;
    min-width: 46px;
    min-height: 38px;
    padding: 0 6px;
    border-radius: 4px;
    background: var(--canvas);
    color: var(--accent);
    font-size: 10px;
    font-weight: 900;
}

.page-block-document > span:nth-child(2) {
    display: grid;
    gap: 4px;
}

.page-block-document strong {
    font-size: 14px;
    line-height: 1.35;
}

.page-block-document small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.page-block-document svg {
    width: 22px;
    color: var(--accent);
}

.page-block-steps-list {
    display: grid;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--line);
    list-style: none;
}

.page-block-steps-list li {
    display: grid;
    grid-template-columns: minmax(48px, .18fr) minmax(0, 1fr);
    gap: 22px;
    padding: 23px 0;
    border-top: 1px solid var(--line);
}

.page-block-steps-list li > span {
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
}

.page-block-steps-list h3,
.page-block-steps-list p {
    margin: 0;
}

.page-block-steps-list h3 {
    color: var(--ink);
    font-size: 20px;
    line-height: 1.25;
}

.page-block-steps-list p {
    max-width: 720px;
    margin-top: 7px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.page-block-testimonial-grid {
    display: grid;
    gap: 16px;
}

.page-block-testimonial-grid--1 { grid-template-columns: minmax(0, 1fr); }
.page-block-testimonial-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-block-testimonial-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.page-block-testimonial {
    display: grid;
    align-content: space-between;
    gap: 18px;
    min-width: 0;
    margin: 0;
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
}

.page-block-testimonial-rating {
    color: #d99500;
    font-size: 13px;
    letter-spacing: 2px;
}

.page-block-testimonial blockquote {
    margin: 0;
    color: var(--ink);
    font-size: 16px;
    line-height: 1.6;
}

.page-block-testimonial figcaption {
    display: flex;
    gap: 11px;
    align-items: center;
}

.page-block-testimonial figcaption img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.page-block-testimonial figcaption span {
    display: grid;
    gap: 3px;
}

.page-block-testimonial figcaption strong {
    color: var(--ink);
    font-size: 13px;
}

.page-block-testimonial figcaption small {
    color: var(--muted);
    font-size: 11px;
}

.page-block-column-grid {
    display: grid;
    gap: 0;
}

.page-block-column-grid--1 { grid-template-columns: minmax(0, 1fr); }
.page-block-column-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-block-column-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-block-column-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.page-block-column {
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
    padding: 24px;
}

.page-block-column-grid--plain .page-block-column:first-child {
    padding-left: 0;
}

.page-block-column-grid--plain .page-block-column:last-child {
    padding-right: 0;
}

.page-block-column-grid--cards {
    gap: 16px;
}

.page-block-column-grid--cards .page-block-column {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
}

.page-block-column-grid--divided .page-block-column + .page-block-column {
    border-left: 1px solid var(--line);
}

.page-block-column > img {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.page-block-column h3 {
    margin: 0;
    color: var(--ink);
    font-size: 21px;
    line-height: 1.25;
}

.page-block-column .link-arrow {
    justify-self: start;
}

.page-block-brand-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.page-block-brand {
    display: grid;
    gap: 13px;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    transition: border-color .18s ease, transform .18s ease;
}

.page-block-brand:hover,
.page-block-brand:focus-visible {
    border-color: var(--accent);
    transform: translateY(-1px);
}

.page-block-brand-logo {
    display: grid;
    place-items: center;
    height: 82px;
    color: var(--muted);
    text-align: center;
}

.page-block-brand-logo img {
    max-width: 100%;
    max-height: 68px;
    object-fit: contain;
}

.page-block-brand > span:last-child {
    display: grid;
    gap: 3px;
}

.page-block-brand > span:last-child strong {
    font-size: 14px;
}

.page-block-brand > span:last-child small {
    color: var(--muted);
    font-size: 11px;
}

.page-block-lead-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(28px, 5vw, 70px);
    align-items: center;
    padding: clamp(30px, 5vw, 58px);
    border-radius: var(--radius);
    background: var(--night);
    color: #fff;
}

.page-block-lead-panel--centered {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
    text-align: center;
}

.page-block-lead-panel--centered .btn {
    justify-self: center;
}

.page-block-lead-panel--compact {
    padding: 26px 30px;
}

.page-block-lead-panel h2 {
    max-width: 760px;
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
}

.page-block-lead-panel .eyebrow {
    color: var(--accent);
}

.page-block-lead-panel .page-block-rich-text {
    max-width: 680px;
    margin-top: 15px;
    color: rgb(255 255 255 / .72);
}

.page-block-lead-panel > .btn {
    white-space: nowrap;
}

.page-block-map-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
    gap: clamp(28px, 5vw, 72px);
    align-items: end;
    margin-bottom: 28px;
}

.page-block-map-head h2 {
    margin: 8px 0 0;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.02;
}

.page-block-map-head .page-block-rich-text {
    margin: 0;
}

.page-block-map-frame {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #e5e7e6;
    isolation: isolate;
}

.page-block-map-frame--compact { min-height: 380px; }
.page-block-map-frame--tall { min-height: 620px; }

.page-block-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    filter: saturate(.72) contrast(.96);
}

.page-block-map-card {
    position: absolute;
    z-index: 1;
    left: 24px;
    bottom: 24px;
    display: grid;
    gap: 12px;
    width: min(360px, calc(100% - 48px));
    padding: 22px;
    border: 1px solid rgb(24 25 27 / .1);
    border-radius: 8px;
    background: rgb(255 255 255 / .95);
    box-shadow: 0 18px 55px rgb(24 25 27 / .15);
    backdrop-filter: blur(14px);
}

.page-block-map-card > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.page-block-map-card strong {
    color: var(--ink);
    font-size: 21px;
    line-height: 1.2;
}

.page-block-map-card a {
    width: fit-content;
    color: var(--ink);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.page-block-map-card a:hover {
    color: var(--accent);
}

.page-block-container {
    min-height: var(--page-container-min-height-desktop, 0);
    margin-top: var(--page-container-margin-top-desktop, 0);
    margin-bottom: var(--page-container-margin-bottom-desktop, 0);
    padding-top: var(--page-container-padding-desktop);
    padding-bottom: var(--page-container-padding-desktop);
    border: var(--page-container-border-width, 0) var(--page-container-border-style, none) var(--page-container-border-color, transparent);
    border-radius: var(--page-container-border-radius, 0);
    background-color: var(--page-container-background-color);
    background-image:
        linear-gradient(rgb(0 0 0 / var(--page-container-overlay, 0)), rgb(0 0 0 / var(--page-container-overlay, 0))),
        var(--page-container-background-image, none);
    background-position: var(--page-container-background-position, center);
    background-size: var(--page-container-background-size, cover);
    background-repeat: no-repeat;
    overflow: clip;
}

.page-block-container__content {
    display: grid;
    min-width: 0;
}

.page-block-container__content--row {
    grid-template-columns: repeat(var(--page-block-cols-desktop, auto-fit), minmax(0, 1fr));
}

.page-block-container__content--grid {
    grid-template-columns: repeat(var(--page-block-cols-desktop, 2), minmax(0, 1fr));
}

.page-block-container__content--ratio-1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.page-block-container__content--ratio-2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.page-block-container__content--ratio-1-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
.page-block-container__content--ratio-3-1 { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }

.page-block-container__content--gap-none { gap: 0; }
.page-block-container__content--gap-small { gap: 12px; }
.page-block-container__content--gap-normal { gap: 24px; }
.page-block-container__content--gap-large { gap: 44px; }

.page-block-container__content--align-start { align-items: start; }
.page-block-container__content--align-center { align-items: center; }
.page-block-container__content--align-end { align-items: end; }
.page-block-container__content--align-stretch { align-items: stretch; }

.page-block-container__content--justify-start { justify-content: start; }
.page-block-container__content--justify-center { justify-content: center; }
.page-block-container__content--justify-end { justify-content: end; }
.page-block-container__content--justify-between { justify-content: space-between; }

.page-element {
    min-width: 0;
}

.page-element-width-auto { width: max-content; max-width: 100%; }
.page-element-width-full,
.page-element-align-stretch { width: 100%; }
.page-element-align-start { justify-self: start; }
.page-element-align-center { justify-self: center; }
.page-element-align-end { justify-self: end; }
.page-element-align-stretch { justify-self: stretch; }

.page-element-text--left { text-align: left; }
.page-element-text--center { text-align: center; }
.page-element-text--right { text-align: right; }

.page-element-heading h1,
.page-element-heading h2,
.page-element-heading h3,
.page-element-heading h4,
.page-element-heading h5,
.page-element-heading h6 {
    margin: 0;
    color: var(--ink);
    letter-spacing: 0;
    line-height: 1.12;
}

.page-element-heading--small > * { font-size: 20px; }
.page-element-heading--medium > * { font-size: clamp(25px, 2.5vw, 34px); }
.page-element-heading--large > * { font-size: clamp(30px, 3.4vw, 44px); }
.page-element-heading--display > * { font-size: clamp(36px, 4.4vw, 56px); }

.page-element-rich-text {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}

.page-element-rich-text > *:first-child { margin-top: 0; }
.page-element-rich-text > *:last-child { margin-bottom: 0; }

.page-element-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.page-element-button__link--primary { background: var(--accent); color: #fff; }
.page-element-button__link--secondary { background: var(--night); color: #fff; }
.page-element-button__link--outline { border-color: var(--ink); color: var(--ink); }
.page-element-button__link--link { min-height: auto; padding: 0; color: var(--accent); }

.page-element-button__link:hover,
.page-element-button__link:focus-visible { filter: brightness(.92); }

.page-element-image {
    display: grid;
    gap: 9px;
    margin: 0;
}

.page-element-image a,
.page-element-image img {
    display: block;
    width: 100%;
}

.page-element-image img {
    height: auto;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.page-element-image--landscape img { aspect-ratio: 4 / 3; }
.page-element-image--wide img { aspect-ratio: 16 / 9; }
.page-element-image--square img { aspect-ratio: 1; }
.page-element-image--portrait img { aspect-ratio: 4 / 5; }
.page-element-image--fit-contain img { object-fit: contain; }

.page-element-image figcaption {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.page-element-divider hr {
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 1px solid var(--line);
}

.page-element-divider--dashed hr { border-top-style: dashed; }
.page-element-divider--dotted hr { border-top-style: dotted; }
.page-element-divider--medium hr { border-top-width: 2px; }
.page-element-divider--strong hr { border-top-width: 4px; }

.page-element-spacer {
    height: var(--page-element-spacer-desktop, 48px);
}

.page-block-card-grid {
    display: grid;
    gap: 18px;
}

.page-block-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-block-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-block-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.page-block-card {
    min-width: 0;
    overflow: hidden;
}

.page-block-card-grid--equal .page-block-card {
    display: flex;
    flex-direction: column;
}

.page-block-card-grid--bordered .page-block-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
}

.page-block-card-grid--soft .page-block-card {
    border-radius: var(--radius-sm);
    background: var(--canvas);
}

.page-block-card__media {
    overflow: hidden;
    background: var(--canvas);
}

.page-block-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.page-block-card:hover .page-block-card__media img { transform: scale(1.025); }
.page-block-card-grid--landscape .page-block-card__media img { aspect-ratio: 4 / 3; }
.page-block-card-grid--square .page-block-card__media img { aspect-ratio: 1; }
.page-block-card-grid--portrait .page-block-card__media img { aspect-ratio: 4 / 5; }
.page-block-card-grid--natural .page-block-card__media img { height: auto; }

.page-block-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
}

.page-block-card-grid--plain .page-block-card__body { padding: 18px 0 0; }

.page-block-card__badge {
    align-self: flex-start;
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.page-block-card h3 {
    margin: 0;
    color: var(--ink);
    font-size: 20px;
    line-height: 1.25;
}

.page-block-card .page-block-rich-text { color: var(--ink-soft); }

.page-block-card__link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 5px;
    color: var(--accent);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.page-block-slider__root {
    position: relative;
    outline: none;
}

.page-block-slider__root:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 4px;
}

.page-block-slider__viewport {
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--canvas);
}

.page-block-slider__track {
    display: flex;
    transition: transform .45s ease;
    will-change: transform;
}

.page-block-slider__slide {
    position: relative;
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    min-width: 0;
    min-height: 440px;
}

.page-block-slider__root--compact .page-block-slider__slide { min-height: 340px; }
.page-block-slider__root--tall .page-block-slider__slide { min-height: 560px; }
.page-block-slider__slide.has-no-media {
    display: flex;
    min-height: 0;
    background: var(--surface, #fff);
}
.page-block-slider__slide.has-no-media .page-block-slider__copy {
    width: 100%;
    min-height: 240px;
}

.page-block-slider__media {
    min-width: 0;
    min-height: 100%;
}

.page-block-slider__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-block-slider__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(30px, 5vw, 72px);
}

.page-block-slider__copy :is(h1, h2, h3) {
    max-width: 700px;
    margin: 8px 0 14px;
    color: var(--ink);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.05;
}

.page-block-slider__copy .btn { margin-top: 20px; }

.page-block-slider__root--cover .page-block-slider__slide {
    display: flex;
    align-items: flex-end;
    background: #15171b;
    color: #fff;
}

.page-block-slider__root--cover .page-block-slider__slide.has-no-media {
    min-height: 300px;
}

.page-block-slider__root--cover .page-block-slider__media {
    position: absolute;
    inset: 0;
}

.page-block-slider__root--cover .page-block-slider__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(12 15 18 / .84), rgb(12 15 18 / .12));
    content: '';
}

.page-block-slider__root--cover .page-block-slider__copy {
    position: relative;
    z-index: 1;
    width: min(720px, 75%);
}

.page-block-slider__root--cover .page-block-slider__copy :is(h1, h2, h3),
.page-block-slider__root--cover .page-block-slider__copy .page-block-rich-text { color: #fff; }

.page-block-slider__controls {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
    padding-top: 14px;
}

.page-block-slider__arrow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    font-size: 18px;
    cursor: pointer;
}

.page-block-slider__pagination {
    display: flex;
    gap: 0;
    margin-left: 4px;
}

.page-block-slider__pagination button {
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.page-block-slider__pagination button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--line);
    content: '';
}

.page-block-slider__pagination button[aria-current='true']::after {
    width: 24px;
    border-radius: 8px;
    background: var(--accent);
}

.page-block-faq-layout--stack {
    grid-template-columns: minmax(0, 1fr);
}

.page-block-faq-layout--stack > div:first-child {
    max-width: 760px;
}

@media (max-width: 980px) {
    .page-block-container {
        min-height: var(--page-container-min-height-tablet, var(--page-container-min-height-desktop, 0));
        margin-top: var(--page-container-margin-top-tablet, var(--page-container-margin-top-desktop, 0));
        margin-bottom: var(--page-container-margin-bottom-tablet, var(--page-container-margin-bottom-desktop, 0));
        padding-top: var(--page-container-padding-tablet, var(--page-container-padding-desktop));
        padding-bottom: var(--page-container-padding-tablet, var(--page-container-padding-desktop));
    }

    .page-block-container__content--row,
    .page-block-container__content--grid {
        grid-template-columns: repeat(var(--page-block-cols-tablet, var(--page-block-cols-desktop, 2)), minmax(0, 1fr));
    }

    .page-element-spacer {
        height: var(--page-element-spacer-tablet, 36px);
    }

    .page-block-gallery-grid--4,
    .page-block-brand-grid,
    .page-block-column-grid--3,
    .page-block-column-grid--4,
    .page-block-testimonial-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-block-card-grid--3,
    .page-block-card-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .page-block-container {
        min-height: var(--page-container-min-height-mobile, var(--page-container-min-height-tablet, 0));
        margin-top: var(--page-container-margin-top-mobile, var(--page-container-margin-top-tablet, 0));
        margin-bottom: var(--page-container-margin-bottom-mobile, var(--page-container-margin-bottom-tablet, 0));
        padding-top: var(--page-container-padding-mobile, var(--page-container-padding-tablet));
        padding-bottom: var(--page-container-padding-mobile, var(--page-container-padding-tablet));
    }

    .page-block-container__content--row,
    .page-block-container__content--grid {
        grid-template-columns: repeat(var(--page-block-cols-mobile, 1), minmax(0, 1fr));
    }

    .page-element-spacer {
        height: var(--page-element-spacer-mobile, 24px);
    }

    .page-block-section-head,
    .page-block-lead-panel,
    .page-block-map-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-section-head .page-block-rich-text {
        justify-self: start;
    }

    .page-block-gallery-grid,
    .page-block-video-grid,
    .page-block-document-grid,
    .page-block-testimonial-grid,
    .page-block-column-grid,
    .page-block-brand-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-slider__slide {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .page-block-slider__media { min-height: 230px; }
    .page-block-slider__copy { padding: 26px 22px 30px; }
    .page-block-slider__copy :is(h1, h2, h3) { font-size: 30px; }
    .page-block-slider__root--cover .page-block-slider__slide { min-height: 460px; }
    .page-block-slider__root--cover .page-block-slider__slide.has-no-media { min-height: 0; }
    .page-block-slider__slide.has-no-media .page-block-slider__copy { min-height: 220px; }
    .page-block-slider__root--cover .page-block-slider__copy { width: 100%; }

    .page-block-column {
        padding: 22px 0;
    }

    .page-block-column-grid--cards .page-block-column {
        padding: 20px;
    }

    .page-block-column-grid--divided .page-block-column + .page-block-column {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .page-block-video-grid--featured .page-block-video-item:first-child {
        grid-column: auto;
    }

    .page-block-map-frame,
    .page-block-map-frame--compact,
    .page-block-map-frame--tall {
        min-height: 440px;
    }

    .page-block-map-card {
        left: 14px;
        bottom: 14px;
        width: calc(100% - 28px);
        padding: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-block-gallery-item img,
    .page-block-document,
    .page-block-brand {
        transition: none;
    }

    .page-block-slider__track,
    .page-block-card__media img {
        transition: none;
    }
}
/* Archive-based page blocks */
.page-block-showcase-hero.page-block {
    padding: 0;
}

.page-block-showcase-hero .showcase-hero-text {
    max-width: 590px;
    margin: 28px 0 32px;
    color: rgba(255, 255, 255, .7);
    font-size: clamp(16px, 1.5vw, 19px);
}

.page-block-showcase-hero .showcase-hero-text > :first-child,
.page-block-page-intro .page-intro-text > :first-child,
.page-block-contact-directory .contact-request-text > :first-child {
    margin-top: 0;
}

.page-block-showcase-hero .showcase-hero-text > :last-child,
.page-block-page-intro .page-intro-text > :last-child,
.page-block-contact-directory .contact-request-text > :last-child {
    margin-bottom: 0;
}

.page-block-page-intro.page-block {
    padding: 62px 0 70px;
}

.page-block-page-intro .page-intro-text {
    max-width: 600px;
    margin-top: 24px;
    color: var(--muted);
    font-size: 17px;
}

.page-block-contact-directory .eyebrow {
    margin-bottom: 22px;
}

.page-block-contact-directory .contact-card {
    display: block;
    color: inherit;
}

.page-block-contact-directory .contact-card:hover {
    border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
}

.page-block-contact-directory .contact-request-panel {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid #dfe1df;
    border-radius: 18px;
    background: #f4f4f3;
}

.page-block-contact-directory .contact-request-panel h2 {
    margin: 0 0 13px;
    font-size: clamp(28px, 3vw, 40px);
    letter-spacing: 0;
}

.page-block-contact-directory .contact-request-text {
    max-width: 520px;
    margin-bottom: 24px;
    color: #666e6b;
    font-size: 14px;
    line-height: 1.65;
}

.page-block-map--showroom .section-head-text {
    max-width: 520px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.page-block-steps .process-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    grid-template-columns: repeat(var(--process-count, 4), minmax(0, 1fr));
}

.page-block-steps .process-card .process-number {
    margin: 0;
}

@media (max-width: 980px) {
    .page-block-steps .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .page-block-steps .process-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-steps .process-card {
        min-height: 0;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 16px;
        row-gap: 6px;
        align-items: start;
        padding: 20px;
    }

    .page-block-steps .process-card .process-number {
        grid-row: 1 / span 2;
        width: 44px;
        height: 44px;
    }

    .page-block-steps .process-card h3 {
        margin: 1px 0 0;
        font-size: 18px;
        letter-spacing: 0;
        line-height: 1.25;
    }

    .page-block-steps .process-card p {
        margin: 0;
        font-size: 13px;
        line-height: 1.55;
    }
}

.page-block-cta.page-block {
    padding-block: clamp(64px, 6vw, 80px);
}

.page-block-cta .cta-inner {
    position: relative;
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 48px;
    padding: clamp(42px, 6vw, 72px);
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--accent);
    color: #fff;
}

.page-block-cta .cta-inner::before {
    position: absolute;
    top: -190px;
    right: 8%;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    box-shadow: 0 0 0 64px rgba(255, 255, 255, .04), 0 0 0 128px rgba(255, 255, 255, .025);
    content: '';
}

.page-block-cta .cta-inner > * {
    position: relative;
    z-index: 1;
}

.page-block-cta .cta-inner h2 {
    max-width: 760px;
    margin: 0 0 18px;
    font-size: clamp(34px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: 0;
}

.page-block-cta .cta-inner .page-block-rich-text {
    max-width: 620px;
    color: #fff;
}

.page-block-cta .cta-inner .btn {
    min-width: 220px;
}

@media (max-width: 780px) {
    .page-block-cta.page-block {
        padding-block: 48px;
    }

    .page-block-contact-directory .contact-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .page-block-contact-directory .contact-cards {
        grid-template-columns: 1fr;
    }

    .page-block-cta .cta-inner {
        min-height: 0;
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
        padding: 36px 24px;
    }

    .page-block-cta .cta-inner .btn {
        min-width: 0;
    }
}

/* Product and editorial page building blocks */
.page-block-product-landing-hero {
    overflow: hidden;
    padding: 54px 0 84px;
    background:
        linear-gradient(90deg, rgba(217, 28, 30, .055) 1px, transparent 1px),
        linear-gradient(rgba(217, 28, 30, .04) 1px, transparent 1px),
        #f4f4f3;
    background-size: 72px 72px;
}

.page-block-product-landing-hero .breadcrumbs { margin-bottom: 38px; }

.product-landing-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    align-items: center;
    gap: clamp(48px, 7vw, 96px);
}

.product-landing-copy { min-width: 0; }
.product-landing-copy .eyebrow { margin-bottom: 22px; }

.product-landing-copy :is(h1, h2) {
    max-width: 720px;
    margin: 0;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 750;
    line-height: .96;
    letter-spacing: 0;
}

.product-landing-copy :is(h1, h2) span { color: var(--accent); }

.product-landing-text {
    max-width: 600px;
    margin-top: 28px;
    color: #68716e;
    font-size: 18px;
    line-height: 1.6;
}

.product-landing-text > :first-child { margin-top: 0; }
.product-landing-text > :last-child { margin-bottom: 0; }

.product-landing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.product-landing-actions .btn { min-height: 54px; }
.product-landing-actions .btn-outline { border-color: #cfd3d1; background: #fff; color: var(--ink); }
.product-landing-actions .btn-outline:hover,
.product-landing-actions .btn-outline:focus-visible { border-color: var(--ink); background: var(--ink); color: #fff; }

.product-landing-visual {
    position: relative;
    aspect-ratio: 4 / 5;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #e9ebea;
    box-shadow: 0 28px 70px rgba(16, 24, 21, .16);
}

.product-landing-visual::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(11, 15, 14, .76));
    content: '';
    pointer-events: none;
}

.product-landing-visual > img { width: 100%; height: 100%; object-fit: cover; }
.product-landing-visual--fit-contain > img { padding: 28px; object-fit: contain; }

.product-landing-badge {
    position: absolute;
    z-index: 1;
    top: 24px;
    left: 24px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(19, 23, 22, .64);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.product-landing-badge::before { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); content: ''; }

.product-landing-caption {
    position: absolute;
    z-index: 1;
    right: 26px;
    bottom: 26px;
    left: 26px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    color: #fff;
}

.product-landing-caption strong { max-width: 420px; font-size: clamp(22px, 2.1vw, 31px); line-height: 1.08; }
.product-landing-caption span { max-width: 150px; color: rgba(255, 255, 255, .72); font-size: 11px; line-height: 1.45; text-align: right; }

.page-block-facts-strip { position: relative; z-index: 3; padding: 0; }
.page-block-facts-strip--overlap { margin-top: -28px; }

.product-facts-grid {
    display: grid;
    grid-template-columns: repeat(var(--facts-count, 3), minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dedfdd;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(21, 32, 29, .07);
}

.product-fact { min-width: 0; padding: 26px 30px; }
.product-fact + .product-fact { border-left: 1px solid #e3e4e2; }
.product-fact strong { display: block; margin-bottom: 5px; font-size: clamp(18px, 1.6vw, 24px); line-height: 1.15; }
.product-fact span { color: #7b8380; font-size: 13px; }
.page-block-facts-strip--highlight-last .product-fact:last-child { background: #1f2022; color: #fff; }
.page-block-facts-strip--highlight-last .product-fact:last-child span { color: rgba(255, 255, 255, .66); }

.product-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(440px, 1.25fr);
    gap: clamp(48px, 8vw, 112px);
}

.product-intro-grid h2 {
    max-width: 510px;
    margin: 0;
    font-size: clamp(38px, 4.2vw, 60px);
    line-height: 1;
    letter-spacing: 0;
}

.product-intro-copy { display: grid; align-content: start; gap: 22px; }
.product-intro-copy > .page-block-rich-text { color: #6e7774; font-size: 17px; }

.product-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #e2e3e1;
    background: #e2e3e1;
}

.product-benefit { min-height: 132px; padding: 24px; background: #fff; }
.product-benefit i { display: block; width: 26px; height: 2px; margin-bottom: 20px; background: var(--accent); }
.product-benefit strong { display: block; margin-bottom: 6px; font-size: 16px; }
.product-benefit span { color: #858c89; font-size: 12px; line-height: 1.55; }

.option-showcase { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.option-showcase-card { min-width: 0; overflow: hidden; border: 1px solid #dedfdd; border-radius: 20px; background: #fff; }
.option-showcase-card__media { height: 300px; overflow: hidden; background: #eceeed; }
.option-showcase-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.option-showcase-card__media--decorative { display: grid; place-items: center; }
.option-showcase-profile { width: 88px; height: 164px; border: 1px solid #b6bcba; border-radius: 44px 44px 12px 12px; background: repeating-linear-gradient(180deg, #424947 0 9px, #303735 10px 13px); box-shadow: inset 12px 0 18px rgba(255, 255, 255, .08), 0 16px 25px rgba(25, 31, 29, .16); }
.option-showcase-profile--profile-strong { width: 104px; background: repeating-linear-gradient(180deg, #262b2a 0 13px, #121615 14px 18px); }
.option-showcase-card:hover .option-showcase-card__media img { transform: scale(1.02); }
.option-showcase-card__body { padding: 27px 28px 30px; }
.option-showcase-card__body h3 { margin: 0 0 10px; font-size: clamp(23px, 2vw, 30px); line-height: 1.1; letter-spacing: 0; }
.option-showcase-card__body .page-block-rich-text { color: #7a827f; font-size: 14px; }
.product-option-number { display: block; margin-bottom: 14px; color: #929997; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.option-showcase-card__body ul { display: grid; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.option-showcase-card__body li { display: flex; gap: 9px; font-size: 13px; font-weight: 700; }
.option-showcase-card__body li::before { color: var(--accent); content: '✓'; }
.option-showcase-card__body > a { display: inline-flex; gap: 8px; margin-top: 22px; color: var(--ink); font-size: 13px; font-weight: 800; }

.option-showcase--profiles .option-showcase-card { display: grid; grid-template-columns: minmax(140px, .55fr) minmax(0, 1.45fr); }
.option-showcase--profiles .option-showcase-card__media { height: 100%; min-height: 320px; }
.option-showcase--profiles .option-showcase-card__media img { object-fit: contain; padding: 24px; }

.editorial-split-grid { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: clamp(48px, 7vw, 90px); }
.editorial-split-lead { color: var(--muted); }
.editorial-split-lead .page-block-rich-text { max-width: 420px; font-size: 14px; }
.editorial-split-copy h2 { max-width: 760px; margin: 0 0 28px; font-size: clamp(36px, 4vw, 58px); line-height: 1.02; letter-spacing: 0; }
.editorial-split-copy .page-block-rich-text { max-width: 760px; color: var(--muted); }

.media-solution-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    overflow: hidden;
    border-radius: 20px;
    background: #f2f3f2;
}

.media-solution-panel--image-left .media-solution-copy { order: 2; }
.media-solution-panel--image-left .media-solution-visual { order: 1; }
.media-solution-copy { padding: clamp(36px, 5vw, 64px); }
.media-solution-copy h2 { max-width: 680px; margin: 0 0 18px; font-size: clamp(34px, 4vw, 54px); line-height: 1.03; letter-spacing: 0; }
.media-solution-copy .page-block-rich-text { max-width: 620px; color: var(--muted); }
.media-solution-list { display: grid; gap: 0; margin: 28px 0; border-top: 1px solid #d5d9d6; }
.media-solution-list span { padding: 14px 0 14px 24px; border-bottom: 1px solid #d5d9d6; font-size: 14px; font-weight: 700; }
.media-solution-list span::before { float: left; margin-left: -24px; color: var(--accent); content: '✓'; }
.media-solution-visual { position: relative; min-height: 500px; margin: 0; background: #e3e6e4; }
.media-solution-visual img { width: 100%; height: 100%; object-fit: cover; }
.media-solution-visual figcaption { position: absolute; right: 24px; bottom: 24px; left: 24px; display: grid; gap: 4px; padding: 17px 19px; border-radius: 8px; background: rgba(19, 22, 21, .82); color: #fff; backdrop-filter: blur(8px); }
.media-solution-visual figcaption small { color: rgba(255, 255, 255, .65); font-size: 10px; text-transform: uppercase; }

.page-block-hero--full-bleed.page-block { min-height: 650px; display: flex; align-items: end; padding: 0; background: linear-gradient(90deg, rgba(13, 21, 18, .9), rgba(13, 21, 18, .25)), var(--page-block-hero-image) center / cover; color: #fff; }
.page-block-hero--full-bleed .container { width: min(calc(100% - 40px), var(--container)); }
.page-block-hero--full-bleed .page-block-hero-panel { min-height: 650px; display: flex; align-items: end; padding: 72px 0; background: none; }
.page-block-hero--full-bleed .page-block-hero-copy { max-width: 850px; }
.page-block-hero--full-bleed .page-block-hero-copy :is(h1, h2) { max-width: 850px; color: #fff; font-size: clamp(48px, 6vw, 82px); line-height: .95; letter-spacing: 0; }
.page-block-hero--full-bleed .page-block-hero-copy .page-block-rich-text { max-width: 620px; color: rgba(255, 255, 255, .72); font-size: 17px; }

.page-block-cta--dark .cta-inner { background: #1f2022; }
.page-block-cta--light .cta-inner { border: 1px solid var(--line); background: #f3f4f3; color: var(--ink); }
.page-block-cta--light .cta-inner .page-block-rich-text { color: var(--muted); }
.page-block-cta--light .cta-inner::before { border-color: rgba(0, 0, 0, .08); box-shadow: 0 0 0 64px rgba(0, 0, 0, .025), 0 0 0 128px rgba(0, 0, 0, .015); }

@media (max-width: 980px) {
    .product-landing-grid,
    .product-intro-grid,
    .editorial-split-grid,
    .media-solution-panel { grid-template-columns: 1fr; }
    .product-landing-visual { width: min(100%, 620px); margin-inline: auto; }
    .option-showcase--profiles .option-showcase-card { grid-template-columns: 150px minmax(0, 1fr); }
    .media-solution-panel--image-left .media-solution-copy,
    .media-solution-panel--image-left .media-solution-visual { order: initial; }
    .media-solution-visual { min-height: 430px; }
}

@media (max-width: 680px) {
    .page-block-product-landing-hero { padding: 30px 0 56px; }
    .page-block-product-landing-hero .breadcrumbs { margin-bottom: 26px; }
    .product-landing-grid { gap: 38px; }
    .product-landing-copy :is(h1, h2) { font-size: clamp(40px, 12vw, 56px); }
    .product-landing-text { margin-top: 22px; font-size: 16px; }
    .product-landing-actions { display: grid; }
    .product-landing-actions .btn { width: 100%; }
    .product-landing-caption span { display: none; }
    .page-block-facts-strip--overlap { margin-top: 0; padding-top: 14px; }
    .product-facts-grid { grid-template-columns: 1fr; }
    .product-fact { padding: 20px 22px; }
    .product-fact + .product-fact { border-top: 1px solid #e3e4e2; border-left: 0; }
    .product-benefits,
    .option-showcase { grid-template-columns: 1fr; }
    .option-showcase-card__media { height: 240px; }
    .option-showcase--profiles .option-showcase-card { grid-template-columns: 110px minmax(0, 1fr); }
    .option-showcase--profiles .option-showcase-card__media { min-height: 0; }
    .option-showcase-card__body { padding: 24px 20px; }
    .media-solution-copy { padding: 32px 24px; }
    .media-solution-visual { min-height: 340px; }
    .page-block-hero--full-bleed.page-block,
    .page-block-hero--full-bleed .page-block-hero-panel { min-height: 560px; }
    .page-block-hero--full-bleed .page-block-hero-panel { padding: 50px 0; }
}

@media (max-width: 980px) {
    .page-block-hero-panel,
    .page-block-contacts-panel,
    .page-block-story-list__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-feature-grid,
    .page-block-logo-showcase__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-block-story-list__visual { min-height: 420px; }
    .hero-category-dock { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-hero-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 680px) {
    .page-block { padding: 44px 0; }

    .page-block > .container,
    .page-block .page-block-container {
        width: min(calc(100% - 28px), var(--container));
    }

    .section-head { display: block; }

    .section-head h2,
    .page-block-section-head h2,
    .page-block-hero-copy :is(h1, h2),
    .page-block-story-list__content h2 {
        font-size: 32px;
    }

    .page-block-hero-media,
    .page-block-hero-media img {
        min-height: 280px;
    }

    .page-block-feature-grid,
    .page-block-logo-showcase__grid,
    .page-block-text-panel--image-left,
    .page-block-text-panel--image-right,
    .page-block-faq-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-block-feature { min-height: 0; }
    .page-block-feature h3 { margin-top: 26px; }
    .page-block-contacts-panel { gap: 34px; padding: 24px; }
    .page-block-contact-row { grid-template-columns: minmax(0, 1fr); gap: 5px; }
    .page-block-text-panel--image-right .page-block-text-media { order: initial; }
    .page-block-story-list__visual { min-height: 340px; }
    .page-block-logo-showcase__cta { align-items: flex-start; flex-direction: column; }
    .page-block-showcase-hero { min-height: 560px; padding-top: 54px; }
    .hero-inner { width: min(calc(100% - 28px), var(--container)); padding-bottom: 64px; }
    .hero-copy :is(h1, h2) { font-size: 40px; }
    .hero-category-dock { grid-template-columns: minmax(0, 1fr); }
    .hero-category { border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
    .contact-map,
    .contact-map iframe { min-height: 400px; height: 400px; }
    .map-label { right: 14px; bottom: 14px; left: 14px; }
    .page-title { font-size: 38px; }
    .page-hero-aside { padding-top: 20px; padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
}
