:root {
    --site-ink: #1A1A1A;
    --site-deep: #2C1810;
    --site-forest: oklch(25% 0.035 150);
    --site-timber: #D4A574;
    --site-timber-deep: #8B4513;
    --site-paper: #FAF7F2;
    --site-muted: oklch(46% 0.02 55);
    --site-line: oklch(86% 0.012 70);
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --z-nav: 100;
    --site-gutter: clamp(1.25rem, 4vw, 5rem);
    --site-shell: 1560px;
    --site-visual-shell: 1760px;
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Arial, sans-serif;
    --font-heading: var(--font-sans);
    --font-display: "Iowan Old Style", Baskerville, "Times New Roman", serif;
}

html {
    scroll-padding-top: 5rem;
}

body {
    font-family: var(--font-sans);
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

body h1,
body h2,
body h3,
body h4,
.logo {
    font-family: var(--font-display);
}

body.nav-open {
    overflow: hidden;
}

.nav-scroll-sentinel {
    position: absolute;
    top: 24px;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

html[lang="zh-CN"] body,
html[lang="zh-CN"] button,
html[lang="zh-CN"] input,
html[lang="zh-CN"] select,
html[lang="zh-CN"] textarea {
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", var(--font-sans);
}

html[lang="zh-CN"] h1,
html[lang="zh-CN"] h2,
html[lang="zh-CN"] h3,
html[lang="zh-CN"] h4 {
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", var(--font-sans);
    font-weight: 600;
}

html[lang="zh-CN"] .page-header h1,
html[lang="zh-CN"] .section-header h2 {
    line-height: 1.15;
    letter-spacing: -0.025em;
}

html[lang="zh-CN"] .page-header p,
html[lang="zh-CN"] .section-header p {
    line-height: 1.8;
}

a,
button,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline: 3px solid var(--site-timber);
    outline-offset: 4px;
}

.site-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -0.14em;
}

.site-icon-inline {
    width: 1rem;
    height: 1rem;
    margin-inline-end: 0.45rem;
    color: var(--accent, var(--site-timber));
}

.icon-heading,
.icon-line {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.icon-heading .site-icon {
    width: 1.2em;
    height: 1.2em;
    color: var(--accent, var(--site-timber));
}

.icon-line .site-icon {
    width: 1rem;
    height: 1rem;
    color: var(--accent, var(--site-timber));
}

.icon-line .site-icon-inline {
    margin-inline-end: 0;
}

.training-item li::before,
.opt-item li::before,
.process-step li::before,
.capacity-item li::before,
.model-card .features li::before,
.ben-item li::before {
    width: 0.95rem;
    height: 0.95rem;
    top: 0.3em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4A574' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.5 2.5L16 9'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(.home-page) .page-header {
    background-image:
        linear-gradient(135deg, rgba(44, 24, 16, var(--page-overlay-strong, 0.8)), rgba(44, 24, 16, var(--page-overlay-soft, 0.6))),
        var(--page-header-image) !important;
    background-repeat: no-repeat !important;
    background-position: center 48% !important;
    background-size: cover !important;
}

.about-page {
    --page-header-image: url("images/einshaus-factory-exterior.webp");
    --page-header-image-medium: url("images/einshaus-factory-exterior-1024.webp");
    --page-header-image-small: url("images/einshaus-factory-exterior-640.webp");
}

.b2b-page {
    --page-header-image: url("images/einshaus-house-kit-staging.webp");
    --page-header-image-medium: url("images/einshaus-house-kit-staging-1024.webp");
    --page-header-image-small: url("images/einshaus-house-kit-staging-640.webp");
}

.design-page {
    --page-header-image: url("images/einshaus-design-studio.webp");
    --page-header-image-medium: url("images/einshaus-design-studio-1024.webp");
    --page-header-image-small: url("images/einshaus-design-studio-640.webp");
}

.production-page {
    --page-header-image: url("images/einshaus-assembly-hall.webp");
    --page-header-image-medium: url("images/einshaus-assembly-hall-1024.webp");
    --page-header-image-small: url("images/einshaus-assembly-hall-640.webp");
}

.projects-page {
    --page-header-image: url("images/einshaus-alpine-villa.webp");
    --page-header-image-medium: url("images/einshaus-alpine-villa-1024.webp");
    --page-header-image-small: url("images/einshaus-alpine-villa-640.webp");
}

.contact-page {
    --page-header-image: url("images/einshaus-lakeside-villa.webp");
    --page-header-image-medium: url("images/einshaus-lakeside-villa-1024.webp");
    --page-header-image-small: url("images/einshaus-lakeside-villa-640.webp");
}

.b2b-page {
    --page-overlay-strong: 0.85;
    --page-overlay-soft: 0.7;
}

@media (max-width: 1200px) {
    body:not(.home-page) {
        --page-header-image: var(--page-header-image-medium);
    }
}

@media (max-width: 720px) {
    body:not(.home-page) {
        --page-header-image: var(--page-header-image-small);
    }
}

html.network-constrained body:not(.home-page) {
    --page-header-image: var(--page-header-image-small);
}

html.network-moderate body:not(.home-page) {
    --page-header-image: var(--page-header-image-medium);
}

@media (max-width: 720px) {
    html.network-moderate body:not(.home-page) {
        --page-header-image: var(--page-header-image-small);
    }
}

html[lang="zh-CN"] body:not(.home-page) .page-header {
    background-position: 56% 48% !important;
}

nav {
    z-index: var(--z-nav);
    gap: 0;
    padding-inline: var(--site-gutter);
    transition: background-color 300ms ease, box-shadow 300ms ease;
}

nav .nav-links {
    margin-inline-start: auto;
}

nav .nav-links a[aria-current="page"] {
    color: var(--site-timber);
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    text-underline-offset: 0.45em;
}

nav.is-scrolled {
    background: color-mix(in oklab, var(--site-deep) 94%, transparent);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);
}

.nav-toggle {
    display: none;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.nav-toggle::before,
.nav-toggle::after {
    content: "";
    position: absolute;
    width: 1.1rem;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transition: transform 240ms var(--ease-out), box-shadow 180ms ease;
}

.nav-toggle::before {
    transform: translateY(-5px);
    box-shadow: 0 5px 0 currentColor;
}

.nav-toggle::after {
    transform: translateY(5px);
}

.nav-toggle[aria-expanded="true"]::before {
    transform: rotate(45deg);
    box-shadow: 0 0 0 transparent;
}

.nav-toggle[aria-expanded="true"]::after {
    transform: rotate(-45deg);
}

.language-toggle {
    min-width: auto;
    min-height: 2.75rem;
    margin-inline-start: 1.15rem;
    padding: 0.55rem 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.58);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    cursor: pointer;
    transition: color 220ms ease;
}

.language-toggle:hover {
    color: rgba(255, 255, 255, 0.9);
}

.language-toggle__option {
    color: inherit;
    transition: color 220ms ease;
}

.language-toggle__option.is-active {
    color: var(--site-timber);
}

.language-toggle__separator {
    margin-inline: 0.38rem;
    color: rgba(255, 255, 255, 0.34);
}

.form-container,
.form-container form,
.form-group,
.contact-grid > *,
.contact-item .text {
    min-width: 0;
}

.form-container {
    width: 100%;
}

.form-group input,
.form-group select,
.form-group textarea {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 3.5rem;
    padding: 0.92rem 1rem;
    border: 1px solid color-mix(in oklab, var(--site-line) 88%, var(--site-ink));
    border-radius: 8px;
    background: #fff;
    color: var(--site-ink);
    font: inherit;
    font-size: 1rem;
    line-height: 1.4;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--site-muted);
    opacity: 1;
}

.form-group input:hover,
.form-group textarea:hover,
.select-trigger:hover {
    border-color: color-mix(in oklab, var(--site-timber) 72%, var(--site-ink));
}

.form-group input:focus,
.form-group textarea:focus,
.select-trigger:focus-visible {
    outline: 0;
    border-color: var(--site-timber);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--site-timber) 24%, transparent);
}

.form-group textarea {
    min-height: 10rem;
    resize: vertical;
}

.b2b-page .form-container,
.contact-page .form-container {
    max-width: 1040px;
    margin-inline: auto;
    padding: clamp(1.5rem, 3vw, 3rem);
    border: 1px solid var(--site-line);
    border-radius: 12px;
    background: color-mix(in oklab, var(--site-paper) 72%, #fff);
}

.contact-page .form-container {
    max-width: none;
}

.form-heading {
    margin-bottom: 1.75rem;
    color: var(--primary, var(--site-deep));
    font-size: clamp(1.5rem, 2vw, 1.85rem);
    text-align: left;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
}

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

.form-group {
    margin: 0;
}

.form-group--wide {
    grid-column: 1 / -1;
}

.form-group label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.55rem;
    color: var(--site-ink);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.35;
}

.form-group.is-invalid input,
.form-group.is-invalid textarea,
.form-group.is-invalid .select-trigger {
    border-color: oklch(50% 0.17 28);
    background: oklch(98% 0.012 28);
}

.form-error {
    min-height: 1.25rem;
    margin-top: 0.42rem;
    color: oklch(43% 0.16 28);
    font-size: 0.8rem;
    line-height: 1.45;
}

.native-select--enhanced {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.select-shell {
    position: relative;
}

.select-trigger {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.92rem 1rem;
    border: 1px solid color-mix(in oklab, var(--site-line) 88%, var(--site-ink));
    border-radius: 8px;
    background: #fff;
    color: var(--site-ink);
    font: inherit;
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.select-trigger::after {
    content: "";
    width: 0.52rem;
    height: 0.52rem;
    flex: 0 0 auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-0.15rem) rotate(45deg);
    transition: transform 220ms var(--ease-out);
}

.select-shell.is-open .select-trigger::after {
    transform: translateY(0.15rem) rotate(225deg);
}

.select-menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.4rem);
    right: 0;
    left: 0;
    max-height: 18rem;
    margin: 0;
    padding: 0.4rem;
    overflow-y: auto;
    border: 1px solid var(--site-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 8px rgba(44, 24, 16, 0.12);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.35rem);
    transition: opacity 180ms ease, visibility 180ms ease, transform 220ms var(--ease-out);
}

.select-shell.is-open .select-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.select-option {
    padding: 0.72rem 0.75rem;
    border-radius: 6px;
    color: var(--site-ink);
    font-size: 0.92rem;
    line-height: 1.35;
    cursor: pointer;
}

.select-option:hover,
.select-option.is-focused {
    background: color-mix(in oklab, var(--site-timber) 15%, #fff);
}

.select-option[aria-selected="true"] {
    background: color-mix(in oklab, var(--site-timber) 24%, #fff);
    font-weight: 650;
}

.form-container .form-submit {
    width: 100%;
    min-height: 3.5rem;
    margin-top: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--site-deep);
    border-radius: 8px;
    background: var(--site-deep);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform 220ms var(--ease-out), background-color 220ms ease, color 220ms ease;
}

.form-container .form-submit:hover {
    background: var(--site-forest);
    color: #fff;
}

.form-container .form-submit:active {
    transform: translateY(1px);
}

.form-container .form-submit:disabled {
    cursor: wait;
    opacity: 0.68;
    transform: none;
}

.form-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.form-status {
    min-height: 0;
    margin-top: 1.1rem;
    padding: 0;
    color: var(--site-muted);
    font-size: 0.88rem;
    line-height: 1.55;
    text-align: left;
}

.form-status[data-visible="true"] {
    padding-top: 1rem;
    border-top: 1px solid var(--site-line);
}

.form-status[data-state="success"] {
    color: var(--site-forest);
}

.form-status[data-state="error"] {
    color: oklch(42% 0.14 28);
}

.contact-item .text,
footer {
    overflow-wrap: anywhere;
}

.contact-link {
    color: inherit;
    text-decoration-color: color-mix(in oklab, currentColor 42%, transparent);
    text-underline-offset: 0.2em;
}

.contact-link:hover {
    text-decoration-color: currentColor;
}

a[href^="tel:"] {
    white-space: nowrap;
}

footer .icon-line span {
    min-width: 0;
    overflow-wrap: anywhere;
}

body:not(.home-page) .story-content > *,
body:not(.home-page) .team-content > *,
body:not(.home-page) .projects-grid > *,
body:not(.home-page) .gallery-grid > *,
body:not(.home-page) .cat-grid > * {
    min-width: 0;
}

.about-page .story-content,
.design-page .team-content {
    width: min(100%, 1440px);
    max-width: 1440px;
    grid-template-columns: minmax(0, 1.18fr) minmax(22rem, 0.82fr);
    gap: clamp(3rem, 6vw, 7rem);
}

html[lang="zh-CN"] .about-page .story-content,
html[lang="zh-CN"] .design-page .team-content {
    grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr);
}

.about-page .story-content > img,
.design-page .team-content > img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 10px;
}

body:not(.home-page) .tour-item img,
body:not(.home-page) .gallery-item img,
body:not(.home-page) .project-card img,
body:not(.home-page) .cat-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.projects-page .projects-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    margin-inline: auto;
}

body:not(.home-page) .project-card .meta,
body:not(.home-page) .cat-card .specs,
body:not(.home-page) .capacity-item h4 {
    color: var(--secondary);
}

.home-page {
    background: var(--site-paper);
    color: var(--site-ink);
}

.home-page h1,
.home-page h2,
.home-page h3,
.home-page h4 {
    font-family: var(--font-sans);
    text-wrap: balance;
}

.home-page nav {
    background: linear-gradient(to bottom, rgba(17, 13, 11, 0.78), transparent);
    box-shadow: none;
}

.home-page nav.is-scrolled,
.home-page.nav-open nav {
    background: color-mix(in oklab, var(--site-deep) 96%, transparent);
}

.home-page .logo {
    color: var(--site-timber);
}

.home-page .hero {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    min-height: min(900px, 100svh);
    height: auto;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 9rem var(--site-gutter) 5.5rem;
    background: var(--site-deep);
    text-align: left;
}

.hero-media,
.hero-media::after,
.hero-scene,
.hero-scene picture,
.hero-scene img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-media {
    z-index: -2;
    overflow: hidden;
}

.hero-scene {
    opacity: 0;
    transform: scale(1.018);
    transition: opacity 1.1s ease, transform 1.6s var(--ease-out);
}

.hero-scene picture {
    display: block;
}

.hero-scene.is-active {
    opacity: 1;
    transform: scale(1);
}

.hero-scene img {
    object-fit: cover;
    object-position: center;
    transition: object-position 800ms var(--ease-out), filter 420ms ease;
    animation: hero-settle 1.8s var(--ease-out) both;
}

.hero-media::after {
    content: "";
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(18, 14, 12, 0.92) 0%, rgba(18, 14, 12, 0.72) 37%, rgba(18, 14, 12, 0.16) 72%),
        linear-gradient(0deg, rgba(18, 14, 12, 0.66) 0%, transparent 45%);
}

.home-page .hero-content {
    width: min(100%, var(--site-shell));
    max-width: var(--site-shell);
    margin: 0 auto;
    animation: none;
}

.hero-copy {
    max-width: 760px;
}

.hero-kicker {
    margin-bottom: 1.5rem;
    color: oklch(86% 0.09 72);
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    animation: hero-copy 800ms 180ms var(--ease-out) both;
}

.home-page .hero h1 {
    max-width: 15ch;
    margin-bottom: 1.5rem;
    font-size: clamp(3rem, 6.5vw, 5.2rem);
    line-height: 0.94;
    letter-spacing: -0.035em;
    font-weight: 600;
    animation: hero-title-reveal 780ms 80ms var(--ease-out) both;
}

html[lang="zh-CN"] .home-page .hero h1 {
    max-width: 11em;
    font-size: clamp(3.35rem, 5.6vw, 5.7rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

html[lang="zh-CN"] .home-page .hero .subtitle {
    max-width: 36em;
    font-size: clamp(1.05rem, 1.25vw, 1.22rem);
    line-height: 1.85;
}

html[lang="zh-CN"] .capability-copy h2 {
    font-size: clamp(2.55rem, 3.35vw, 3.75rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

html[lang="zh-CN"] .hero-scene img {
    object-position: 58% center;
}

html[lang="zh-CN"] .hero-media::after {
    background:
        linear-gradient(90deg, rgba(18, 14, 12, 0.93) 0%, rgba(18, 14, 12, 0.72) 32%, rgba(18, 14, 12, 0.12) 65%),
        linear-gradient(0deg, rgba(18, 14, 12, 0.64) 0%, transparent 45%);
}

.home-page .hero .subtitle {
    max-width: 62ch;
    margin: 0 0 2.25rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.65;
    text-wrap: pretty;
    animation: hero-copy 900ms 350ms var(--ease-out) both;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    animation: hero-copy 900ms 440ms var(--ease-out) both;
}

.home-page .hero .btn {
    min-height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.9rem 1.4rem;
    border: 1px solid transparent;
    border-radius: 4px;
    background: var(--site-timber);
    color: var(--site-deep);
    transition: transform 250ms var(--ease-out), background-color 250ms ease, color 250ms ease;
}

.home-page .hero .btn:hover {
    transform: translateY(-2px);
    background: #fff;
}

.home-page .hero .btn-outline {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(18, 14, 12, 0.18);
    color: #fff;
}

.home-page .hero .btn-outline:hover {
    background: rgba(255, 255, 255, 0.12);
}

.hero-capabilities {
    position: absolute;
    right: var(--site-gutter);
    bottom: 2.25rem;
    left: var(--site-gutter);
    display: flex;
    justify-content: flex-end;
    gap: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.84rem;
    animation: hero-copy 900ms 580ms var(--ease-out) both;
}

.hero-capabilities span {
    padding: 0 1.1rem;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.35);
}

.home-page section:not(.hero) {
    padding: clamp(5rem, 9vw, 8.5rem) var(--site-gutter);
}

.home-page .section-header {
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.home-page .section-header h2,
.capability-copy h2 {
    color: var(--site-ink);
    font-size: clamp(2.3rem, 4.5vw, 4.25rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
}

.home-page .section-header p,
.capability-copy > p {
    color: var(--site-muted);
    font-size: 1.08rem;
    line-height: 1.7;
    text-wrap: pretty;
}

.proof-band {
    padding: 0 var(--site-gutter);
    background: var(--site-deep);
    color: #fff;
}

.proof-band-inner {
    width: min(100%, var(--site-shell));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.proof-item {
    min-height: 8.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.6rem clamp(1rem, 3vw, 2.5rem);
    border-inline-end: 1px solid rgba(255, 255, 255, 0.14);
}

.proof-item:last-child {
    border-inline-end: 0;
}

.proof-index {
    color: var(--site-timber);
    font-size: 0.82rem;
    font-weight: 700;
}

.proof-item strong {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 1.05rem;
}

.proof-item span:last-child {
    color: rgba(255, 255, 255, 0.67);
    font-size: 0.9rem;
}

.capability {
    background: var(--site-paper);
}

.capability-grid {
    width: min(100%, var(--site-visual-shell));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(320px, 0.68fr) minmax(0, 1.52fr);
    gap: clamp(3rem, 6vw, 7.5rem);
    align-items: center;
}

.capability-copy h2 {
    margin-bottom: 1.5rem;
}

.capability-points {
    margin-top: 2rem;
    border-top: 1px solid var(--site-line);
}

.capability-point {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: 0.75rem;
    padding: 1.05rem 0;
    border-bottom: 1px solid var(--site-line);
}

.capability-point span {
    color: oklch(52% 0.08 65);
    font-size: 0.82rem;
    font-weight: 700;
}

.capability-point strong {
    font-size: 1rem;
}

.capability-figure {
    margin: 0;
    overflow: hidden;
    background: var(--site-deep);
}

.capability-figure :is(img, video) {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: transform 900ms var(--ease-out), aspect-ratio 520ms var(--ease-out), filter 420ms ease;
}

html[lang="zh-CN"] .capability-figure :is(img, video) {
    aspect-ratio: 16 / 9;
    object-position: 52% 50%;
}

.capability-figure:hover :is(img, video) {
    transform: scale(1.018);
}

.capability-figure figcaption {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    background: var(--site-deep);
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.86rem;
}

.capability-figure figcaption strong {
    color: #fff;
}

.home-page .stats {
    background: var(--site-forest);
}

.home-page .stats-grid {
    width: min(100%, var(--site-shell));
    max-width: var(--site-shell);
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    text-align: left;
}

.home-page .stat-item {
    min-height: 10rem;
    padding: 1.25rem clamp(1rem, 3vw, 2.25rem);
    border-inline-end: 1px solid rgba(255, 255, 255, 0.16);
}

.home-page .stat-item:last-child {
    border-inline-end: 0;
}

.home-page .stat-item h3 {
    margin-bottom: 0.7rem;
    color: oklch(85% 0.1 75);
    font-size: clamp(2.7rem, 5vw, 4.6rem);
    line-height: 1;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

.home-page .stat-item:last-child h3 {
    font-size: clamp(2.5rem, 4vw, 3.8rem);
}

.home-page .stat-item p {
    max-width: 18ch;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.98rem;
}

.home-page .process {
    background: #fff;
}

.home-page .process .section-header {
    width: min(100%, var(--site-shell));
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
    gap: 3rem;
    align-items: end;
    text-align: left;
}

.home-page .process .section-header p {
    margin: 0;
}

.home-page .process-steps {
    --progress: 0;
    position: relative;
    width: min(100%, var(--site-shell));
    max-width: var(--site-shell);
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    padding-top: 2rem;
}

.home-page .process-steps::before,
.home-page .process-steps::after {
    content: "";
    position: absolute;
    top: 3.55rem;
    right: 8.33%;
    left: 8.33%;
    height: 2px;
    transform-origin: left;
}

.home-page .process-steps::before {
    background: var(--site-line);
}

.home-page .process-steps::after {
    background: var(--site-timber);
    transform: scaleX(var(--progress));
    transition: transform 1.2s var(--ease-out);
}

.home-page .process-steps.is-inview {
    --progress: 1;
}

.home-page .process-step {
    position: relative;
    z-index: 1;
    padding-inline: 0.65rem;
}

.home-page .process-step::after {
    display: none;
}

.home-page .step-number {
    width: 3.2rem;
    height: 3.2rem;
    border: 2px solid var(--site-line);
    background: #fff;
    color: var(--site-ink);
    transition: border-color 500ms ease, background-color 500ms ease, color 500ms ease;
}

.home-page .process-steps.is-inview .step-number {
    border-color: var(--site-timber);
    background: var(--site-deep);
    color: oklch(86% 0.09 72);
}

.home-page .process-step h4 {
    color: var(--site-ink);
    font-size: 1rem;
}

.home-page .process-step p {
    color: var(--site-muted);
    font-size: 0.86rem;
}

.home-page .projects {
    background: var(--site-deep);
    color: #fff;
}

.home-page .projects .section-header {
    width: min(100%, var(--site-visual-shell));
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2rem;
    text-align: left;
}

.home-page .projects .section-header h2 {
    max-width: 12ch;
    color: #fff;
}

.home-page .projects .section-header p {
    max-width: 44ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
}

.home-page .projects-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    grid-template-columns: 1.35fr 0.85fr;
    grid-template-rows: repeat(2, minmax(220px, 1fr));
    gap: 1rem;
}

.home-page .project-card {
    position: relative;
    min-height: 260px;
    border-radius: 0;
    box-shadow: none;
    isolation: isolate;
}

.home-page .project-card:first-child {
    grid-row: 1 / span 2;
}

.home-page .project-card img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    transition: transform 800ms var(--ease-out), filter 800ms ease;
}

.home-page .project-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, rgba(16, 12, 10, 0.9), rgba(16, 12, 10, 0.06) 70%);
}

.home-page .project-card:hover {
    transform: none;
}

.home-page .project-card:hover img {
    transform: scale(1.035);
    filter: saturate(0.85);
}

.home-page .project-info {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: clamp(1.4rem, 3vw, 2.5rem);
}

.home-page .project-info h3 {
    color: #fff;
    font-size: clamp(1.4rem, 2vw, 2rem);
}

.home-page .project-info p {
    max-width: 44ch;
    color: rgba(255, 255, 255, 0.72);
}

.home-page .project-info .location {
    color: oklch(84% 0.09 72);
}

.home-page .certifications {
    background: var(--site-paper);
}

.home-page .certifications .section-header {
    margin-bottom: 2.5rem;
}

.home-page .certifications .section-header h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
}

.home-page .cert-logos {
    width: min(100%, 1040px);
    max-width: 1040px;
    gap: 0;
    border-block: 0;
}

.home-page .cert-logo {
    flex: 1 1 210px;
    padding: 1.3rem 1rem;
    border: 0;
    border-inline-end: 1px solid var(--site-line);
    color: var(--site-muted);
}

.home-page .cert-logo:last-child {
    border-inline-end: 0;
}

.home-page .cta {
    background: var(--site-forest);
}

.home-page .cta-inner {
    position: relative;
    width: min(100%, 1320px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3rem;
    align-items: center;
    text-align: left;
}

.home-page .cta h2 {
    max-width: 14ch;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -0.035em;
}

.home-page .cta p {
    max-width: 56ch;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.73);
}

.home-page .cta .btn {
    position: relative;
    margin: 0;
    background: #fff !important;
    color: var(--site-deep) !important;
}

[data-reveal].is-revealed {
    animation: section-arrive 760ms var(--ease-out) both;
}

html.language-changing .hero-media img,
html.language-changing .capability-figure img,
html.language-changing .project-card img {
    filter: saturate(0.82);
}

html.language-changing .hero-copy,
html.language-changing .section-header,
html.language-changing .capability-copy {
    opacity: 0.72;
    transform: translateY(3px);
}

.hero-copy,
.section-header,
.capability-copy {
    transition: opacity 260ms ease, transform 360ms var(--ease-out);
}

@media (min-width: 1500px) {
    .home-page .hero {
        min-height: min(980px, 100svh);
    }

    .home-page .hero h1 {
        font-size: clamp(4.75rem, 5.2vw, 6.4rem);
    }

    .capability-figure :is(img, video) {
        aspect-ratio: 16 / 10;
    }

    html[lang="zh-CN"] .capability-figure :is(img, video) {
        aspect-ratio: 2 / 1;
    }
}

@keyframes hero-settle {
    from { transform: scale(1.055); filter: saturate(0.78); }
    to { transform: scale(1); filter: saturate(0.94); }
}

@keyframes hero-copy {
    from { opacity: 0; transform: translateY(22px); filter: blur(6px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes section-arrive {
    from { opacity: 0.76; transform: translateY(18px); filter: blur(3px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@media (max-width: 960px) {
    .contact-page .contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .contact-page .contact-grid > * {
        width: min(100%, 640px);
        margin-inline: auto;
    }
}

@media (max-width: 900px) {
    .nav-toggle {
        display: inline-flex;
    }

    nav .nav-links {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100vh - 4.5rem);
        max-height: calc(100svh - 4.5rem);
        overflow-y: auto;
        flex-direction: column;
        gap: 0;
        margin-inline-start: 0;
        padding: 0.75rem var(--site-gutter) 1.25rem;
        background: color-mix(in oklab, var(--site-deep) 98%, transparent);
        box-shadow: 0 8px 12px rgba(0, 0, 0, 0.18);
    }

    .nav-toggle {
        order: 3;
        margin-inline-start: 0.5rem;
    }

    .language-toggle {
        order: 2;
        margin-inline-start: auto;
    }

    nav .nav-links {
        order: 4;
    }

    nav .nav-links.is-open {
        display: flex;
    }

    nav .nav-links a {
        display: block;
        padding: 0.85rem 0;
    }

    .home-page .hero {
        min-height: 780px;
    }

    .hero-media img {
        object-position: 62% center;
    }

    html[lang="zh-CN"] .hero-media img {
        object-position: 68% center;
    }

    .hero-media::after {
        background:
            linear-gradient(90deg, rgba(18, 14, 12, 0.9), rgba(18, 14, 12, 0.46)),
            linear-gradient(0deg, rgba(18, 14, 12, 0.78), transparent 58%);
    }

    .hero-capabilities {
        justify-content: flex-start;
    }

    .capability-grid {
        grid-template-columns: 1fr;
    }

    .about-page .story-content,
    .design-page .team-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    html[lang="zh-CN"] .about-page .story-content,
    html[lang="zh-CN"] .design-page .team-content {
        grid-template-columns: 1fr;
    }

    .about-page .story-content > img,
    .design-page .team-content > img {
        aspect-ratio: 16 / 10;
    }

    html[lang="zh-CN"] .capability-figure :is(img, video) {
        aspect-ratio: 16 / 10;
    }

    .home-page .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-page .stat-item:nth-child(2) {
        border-inline-end: 0;
    }

    .home-page .stat-item:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .home-page .process .section-header,
    .home-page .cta-inner {
        grid-template-columns: 1fr;
    }

    .home-page .process-steps {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 2.5rem;
    }

    .home-page .process-steps::before,
    .home-page .process-steps::after {
        display: none;
    }
}

@media (max-width: 768px) {
    body:not(.home-page) .page-header {
        padding: 8.5rem var(--site-gutter) 4rem;
    }

    body:not(.home-page) section {
        padding: 4rem var(--site-gutter);
    }

    .form-container {
        padding: clamp(1.25rem, 6vw, 2rem) !important;
    }

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

    .form-group--wide {
        grid-column: auto;
    }
}

@media (max-width: 680px) {
    .home-page .hero {
        min-height: 720px;
        padding-top: 7.5rem;
        padding-bottom: 8.5rem;
    }

    .home-page .hero h1 {
        max-width: 10ch;
        font-size: clamp(2.75rem, 14vw, 4.5rem);
    }

    html[lang="zh-CN"] .home-page .hero h1 {
        max-width: 9em;
        font-size: clamp(2.7rem, 12vw, 4rem);
        line-height: 1.12;
    }

    html[lang="zh-CN"] .home-page .hero .subtitle {
        max-width: 22em;
        font-size: 1rem;
        line-height: 1.75;
    }

    .hero-capabilities {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 0.55rem;
        bottom: 1.5rem;
    }

    .hero-capabilities span {
        padding: 0 0.7rem;
    }

    .proof-band-inner {
        grid-template-columns: 1fr;
    }

    .proof-item {
        min-height: auto;
        padding: 1.2rem 0;
        border-inline-end: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }

    .proof-item:last-child {
        border-bottom: 0;
    }

    .capability-figure figcaption {
        flex-direction: column;
    }

    .home-page .stats-grid {
        grid-template-columns: 1fr;
    }

    .home-page .stat-item,
    .home-page .stat-item:nth-child(2) {
        min-height: auto;
        padding: 1.6rem 0;
        border-inline-end: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .home-page .stat-item:last-child {
        border-bottom: 0;
    }

    .home-page .process .section-header,
    .home-page .projects .section-header {
        display: block;
    }

    .home-page .process .section-header p,
    .home-page .projects .section-header p {
        margin-top: 1.25rem;
    }

    .home-page .process-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-page .projects-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .home-page .project-card:first-child {
        grid-row: auto;
    }

    .home-page .project-card {
        min-height: 360px;
    }

    .home-page .cert-logo {
        flex-basis: 50%;
    }

    .home-page .cert-logo:nth-child(2) {
        border-inline-end: 0;
    }

    .home-page .cert-logo:nth-child(-n + 2) {
        border-bottom: 1px solid var(--site-line);
    }
}

@media (max-width: 420px) {
    .home-page .hero .btn {
        padding-inline: 1rem;
        font-size: 0.92rem;
    }

    .hero-actions {
        gap: 0.65rem;
    }

    body:not(.home-page) .tour-grid,
    body:not(.home-page) .training-content,
    body:not(.home-page) .workflow-steps,
    body:not(.home-page) .gallery-grid,
    body:not(.home-page) .projects-grid,
    .production-page .kit > div,
    .production-page .units > div {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (min-width: 901px) {
    nav .nav-links {
        display: flex !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-delay: 0s !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .home-page .process-steps {
        --progress: 1;
    }

    html.language-changing .hero-copy,
    html.language-changing .section-header,
    html.language-changing .capability-copy {
        opacity: 1;
        transform: none;
    }

    .hero-scene {
        transform: none;
    }
}

/* Architectural catalogue refinement */
:root {
    --site-ink: #1A1A1A;
    --site-deep: #2C1810;
    --site-forest: oklch(31% 0.036 145);
    --site-timber: #D4A574;
    --site-timber-deep: #8B4513;
    --site-paper: #FAF7F2;
    --site-surface: #F5F0E8;
    --site-muted: oklch(41% 0.014 55);
    --site-line: oklch(81% 0.01 70);
    --primary: var(--site-deep);
    --secondary: #8B4513;
    --accent: var(--site-timber);
    --bg: var(--site-paper);
    --text: var(--site-ink);
    --light: var(--site-surface);
}

body h1,
body h2,
body h3,
body h4 {
    font-family: var(--font-sans);
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.logo {
    font-family: var(--font-display);
    letter-spacing: 0;
}

nav {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: background-color 260ms ease, box-shadow 260ms ease;
}

body:not(.home-page) {
    background: var(--site-paper);
    color: var(--site-ink);
}

body:not(.home-page) .page-header {
    min-height: clamp(26rem, 52svh, 38rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: clamp(8.5rem, 14vh, 11rem) var(--site-gutter) clamp(3.5rem, 7vh, 5.5rem);
    background-image:
        linear-gradient(90deg, rgba(16, 14, 13, 0.9) 0%, rgba(16, 14, 13, 0.58) 42%, rgba(16, 14, 13, 0.12) 76%),
        var(--page-header-image) !important;
    background-position: center 52% !important;
    text-align: left;
}

body:not(.home-page) .page-header > * {
    width: min(100%, var(--site-shell));
    margin-inline: auto;
}

body:not(.home-page) .page-header h1 {
    margin-bottom: 0;
    color: #fff;
    font-size: clamp(3.25rem, 6vw, 5.5rem);
    font-weight: 650;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

body:not(.home-page) .page-header p {
    max-width: none;
    margin-top: 1rem;
    padding-inline-end: clamp(0rem, 38vw, 40rem);
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.6;
    text-wrap: pretty;
}

body:not(.home-page) section {
    padding: clamp(4.75rem, 8vw, 7.5rem) var(--site-gutter);
}

body:not(.home-page) .section-header {
    width: min(100%, var(--site-visual-shell));
    margin: 0 auto clamp(2.25rem, 4.5vw, 4rem);
    text-align: left;
}

body:not(.home-page) .section-header h2 {
    max-width: 18ch;
    margin: 0;
    color: var(--site-ink);
    font-size: clamp(2.25rem, 4.5vw, 4.25rem);
    font-weight: 640;
    line-height: 1.03;
    letter-spacing: -0.035em;
}

body:not(.home-page) .section-header p {
    max-width: 64ch;
    margin: 1rem 0 0;
    color: var(--site-muted);
    line-height: 1.7;
    text-wrap: pretty;
}

.about-page .intro-grid,
.production-page .overview-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3.5rem);
    text-align: left;
}

.about-page .intro-card,
.production-page .overview-card {
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--site-line);
    border-radius: 0;
    background: transparent;
    text-align: left;
}

.about-page .intro-card .icon,
.production-page .overview-card .icon {
    margin-bottom: 1.5rem;
    color: var(--secondary);
    font-size: 1.45rem;
}

.about-page .intro-card h3,
.production-page .overview-card h3 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.about-page .story,
.about-page .values,
.design-page .workflow,
.design-page .gallery,
.production-page .process,
.production-page .qc,
.b2b-page .projects,
.projects-page .options {
    background: var(--site-surface);
}

.about-page .story-content,
.design-page .team-content {
    align-items: start;
}

.about-page .story-text h2,
.design-page .team-text h2,
.contact-page .contact-info > h3,
.contact-page .map-box h3 {
    font-size: clamp(2rem, 3.4vw, 3.4rem);
    font-weight: 640;
    line-height: 1.05;
}

.about-page .story-text p,
.design-page .team-text p {
    max-width: 62ch;
    color: var(--site-muted);
    font-size: 1.02rem;
    line-height: 1.75;
}

.about-page .story-content > img,
.design-page .team-content > img,
body:not(.home-page) .tour-item img,
body:not(.home-page) .gallery-item img,
body:not(.home-page) .project-card img,
body:not(.home-page) .cat-card img {
    border-radius: 0;
}

.about-page .tour-grid,
.design-page .gallery-grid,
.projects-page .projects-grid,
.projects-page .cat-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    margin-inline: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(2rem, 4vw, 4.5rem) clamp(1.5rem, 3vw, 3rem);
}

.about-page .tour-item,
.design-page .gallery-item,
.projects-page .project-card,
.projects-page .cat-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.about-page .tour-item .info,
.design-page .gallery-item .caption,
.projects-page .project-card .info,
.projects-page .cat-card .info {
    padding: 1.15rem 0 0;
}

.design-page .workflow-steps,
.production-page .process-flow,
.design-page .tools-grid,
.about-page .values-grid,
.about-page .training-content,
.production-page .qc-grid,
.b2b-page .proj-grid,
.b2b-page .ben-grid,
.projects-page .opt-grid,
.projects-page .mat-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    gap: clamp(2rem, 4vw, 4rem);
}

.design-page .workflow-steps,
.production-page .process-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.design-page .workflow-step,
.production-page .process-step,
.design-page .tool-card,
.about-page .value-item,
.about-page .training-item,
.production-page .qc-item,
.b2b-page .proj-item,
.b2b-page .ben-item,
.projects-page .opt-item,
.projects-page .mat-card {
    padding: 1.5rem 0 0;
    border: 0;
    border-top: 1px solid var(--site-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
}

.design-page .workflow-step::before,
.production-page .process-step::before {
    display: none;
}

.design-page .workflow-step .step-num,
.production-page .process-step .step-num {
    display: block;
    margin-bottom: 2rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--secondary);
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 1;
}

.design-page .tool-card .icon,
.about-page .value-item .icon,
.production-page .qc-item .icon,
.b2b-page .model-card .icon {
    margin-bottom: 1.4rem;
    color: var(--secondary);
    font-size: 1.5rem;
}

.b2b-page .models-grid {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(2rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem);
}

.b2b-page .model-card {
    grid-column: span 4;
    padding: 1.5rem 0 0;
    border: 0;
    border-top: 1px solid var(--site-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
    transform: none;
}

.b2b-page .model-card:nth-last-child(-n + 2) {
    grid-column: span 6;
}

.b2b-page .model-card:hover {
    transform: none;
}

.production-page .kit,
.production-page .units {
    padding: clamp(4.75rem, 8vw, 7.5rem) var(--site-gutter) !important;
}

.production-page .kit {
    background: var(--site-surface) !important;
}

.production-page .kit > div:not(.section-header),
.production-page .units > div:not(.section-header) {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell) !important;
    margin-inline: auto;
    gap: clamp(2rem, 4vw, 4rem) !important;
}

.production-page .kit > div:not(.section-header) > div,
.production-page .units > div:not(.section-header) > div {
    padding: 1.5rem 0 0 !important;
    border-top: 1px solid var(--site-line);
    border-radius: 0 !important;
    background: transparent !important;
}

.production-page .units .unit-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr) !important;
    align-items: stretch;
}

.production-page .units .unit-visual {
    min-width: 0;
    margin: 0;
    background: var(--site-deep);
    color: #fff;
}

.production-page .units .unit-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.production-page .units .unit-visual figcaption {
    display: grid;
    grid-template-columns: minmax(9rem, 0.8fr) minmax(0, 1.7fr);
    gap: 1.5rem;
    padding: 1.5rem;
}

.production-page .units .unit-visual strong {
    font-size: 1.05rem;
    line-height: 1.25;
}

.production-page .units .unit-visual span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.93rem;
    line-height: 1.55;
}

.production-page .units .unit-layout > .unit-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.production-page .units .unit-grid > div {
    padding: 1.05rem 0 !important;
    border-top: 1px solid var(--site-line);
    border-radius: 0 !important;
    background: transparent !important;
}

.production-page .units .unit-grid > div:first-child {
    padding-top: 0 !important;
    border-top: 0;
}

.b2b-page .form-container,
.contact-page .form-container {
    padding: clamp(1.5rem, 3vw, 2.75rem) 0;
    border: 0;
    border-top: 1px solid var(--site-line);
    border-radius: 0;
    background: transparent;
}

.form-group input,
.form-group select,
.form-group textarea,
.select-trigger,
.select-menu,
.form-container .form-submit {
    border-radius: 4px;
}

.contact-page .contact-info,
.contact-page .map-box {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.contact-page .contact-info > h3 {
    margin-bottom: 0.25rem;
}

.contact-page .contact-item {
    margin-bottom: 0;
    padding: 1.25rem 0;
    border-top: 0;
}

.contact-page .contact-item + .contact-item {
    border-top: 1px solid var(--site-line);
}

.home-page .hero {
    min-height: min(860px, 100dvh);
    padding-top: 7.5rem;
    padding-bottom: 4.5rem;
}

.hero-copy {
    max-width: 61rem;
}

.home-page .hero h1,
html[lang="zh-CN"] .home-page .hero h1 {
    max-width: 18ch;
    margin-bottom: 1.35rem;
    font-size: clamp(3.05rem, 5.1vw, 4.5rem);
}

html[lang="zh-CN"] .home-page .hero h1 {
    max-width: 10em;
}

.home-page .hero .subtitle {
    max-width: 58ch;
}

.proof-band {
    padding-inline: var(--site-gutter);
    border-bottom: 1px solid var(--site-line);
    background: var(--site-paper);
    color: var(--site-ink);
}

.proof-band-inner {
    border-top: 0;
}

.proof-item {
    min-height: 7.5rem;
    border-color: var(--site-line);
}

.proof-item strong {
    color: var(--site-ink);
}

.proof-item span:last-child {
    color: var(--site-muted);
}

.capability-grid {
    grid-template-columns: minmax(25rem, 0.9fr) minmax(0, 1.35fr);
    gap: clamp(2.5rem, 5vw, 6rem);
}

.capability-copy h2,
html[lang="zh-CN"] .capability-copy h2 {
    max-width: 13ch;
    font-size: clamp(2.45rem, 3.8vw, 3.65rem);
    line-height: 1.04;
}

.capability-point {
    display: block;
    padding: 1rem 0;
}

.home-page .stats {
    border-block: 1px solid var(--site-line);
    background: var(--site-paper);
    color: var(--site-ink);
}

.home-page .stat-item {
    border-color: var(--site-line);
}

.home-page .stat-item h3,
.home-page .stat-item:last-child h3 {
    color: var(--site-deep);
    font-size: clamp(2.4rem, 4vw, 3.8rem);
}

.home-page .stat-item p {
    color: var(--site-muted);
}

.home-page .process .section-header,
.home-page .projects .section-header {
    display: block;
    text-align: left;
}

.home-page .process .section-header p,
.home-page .projects .section-header p {
    margin-top: 1.25rem;
}

.home-page .process,
.design-page .workflow,
.production-page .process {
    background-color: var(--site-surface);
    background-image:
        url("technical-lines.svg"),
        linear-gradient(135deg, var(--site-paper), color-mix(in oklab, var(--site-surface) 92%, var(--site-timber) 8%));
    background-repeat: no-repeat;
    background-position: right 8% center, center;
    background-size: clamp(58rem, 84vw, 90rem) auto, cover;
}

.home-page .projects {
    background: var(--site-paper);
    color: var(--site-ink);
}

.home-page .projects .section-header h2 {
    color: var(--site-ink);
}

.home-page .projects .section-header p {
    color: var(--site-muted);
}

.home-page .certifications {
    border-top: 1px solid var(--site-line);
}

.home-page .cta {
    border-top: 1px solid var(--site-line);
    background: var(--site-paper);
    color: var(--site-ink);
}

.home-page .cta h2 {
    color: var(--site-ink);
}

.home-page .cta p {
    color: var(--site-muted);
}

.home-page .cta .btn {
    background: var(--site-deep) !important;
    color: #fff !important;
}

.home-page .hero h1,
.home-page .section-header h2,
.home-page .capability-copy h2,
.home-page .cta h2,
body:not(.home-page) .page-header h1,
body:not(.home-page) .section-header h2,
.about-page .story-text h2,
.design-page .team-text h2,
.contact-page .contact-info > h3,
.contact-page .map-box h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-kerning: normal;
    font-optical-sizing: auto;
    line-height: 1.02;
    letter-spacing: -0.025em;
}

html[lang="zh-CN"] .home-page .hero h1,
html[lang="zh-CN"] .home-page .section-header h2,
html[lang="zh-CN"] .home-page .capability-copy h2,
html[lang="zh-CN"] .home-page .cta h2,
html[lang="zh-CN"] body:not(.home-page) .page-header h1,
html[lang="zh-CN"] body:not(.home-page) .section-header h2,
html[lang="zh-CN"] .about-page .story-text h2,
html[lang="zh-CN"] .design-page .team-text h2,
html[lang="zh-CN"] .contact-page .contact-info > h3,
html[lang="zh-CN"] .contact-page .map-box h3 {
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", var(--font-sans);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

[data-reveal].is-revealed {
    animation-duration: 560ms;
}

@keyframes hero-copy {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-title-reveal {
    0% {
        opacity: 0;
        clip-path: inset(0 0 100% 0);
        filter: blur(7px);
        transform: translate3d(0, 0.42em, 0);
    }

    42% {
        opacity: 1;
        filter: blur(2px);
    }

    100% {
        opacity: 1;
        clip-path: inset(0);
        filter: blur(0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes section-arrive {
    from { opacity: 0.86; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1000px) {
    .about-page .intro-grid,
    .production-page .overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .design-page .workflow-steps,
    .production-page .process-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .b2b-page .model-card,
    .b2b-page .model-card:nth-last-child(-n + 2) {
        grid-column: span 6;
    }

    .production-page .units .unit-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .production-page .units .unit-visual img {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .production-page .units .unit-layout > .unit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 2rem !important;
    }
}

@media (max-width: 900px) {
    .capability-grid {
        grid-template-columns: 1fr;
    }

    .capability-copy h2,
    html[lang="zh-CN"] .capability-copy h2 {
        max-width: 16ch;
    }
}

@media (max-width: 680px) {
    body:not(.home-page) .page-header {
        min-height: 31rem;
        padding-top: 7.5rem;
        padding-bottom: 3.25rem;
        background-image:
            linear-gradient(0deg, rgba(16, 14, 13, 0.88), rgba(16, 14, 13, 0.25)),
            var(--page-header-image) !important;
    }

    body:not(.home-page) .page-header h1 {
        font-size: clamp(2.8rem, 14vw, 4rem);
    }

    body:not(.home-page) .page-header p {
        padding-inline-end: 0;
    }

    .about-page .intro-grid,
    .production-page .overview-grid,
    .about-page .tour-grid,
    .design-page .gallery-grid,
    .projects-page .projects-grid,
    .projects-page .cat-grid,
    .design-page .workflow-steps,
    .production-page .process-flow {
        grid-template-columns: minmax(0, 1fr);
    }

    .b2b-page .model-card,
    .b2b-page .model-card:nth-last-child(-n + 2) {
        grid-column: 1 / -1;
    }

    .production-page .units .unit-visual figcaption {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
    }

    .production-page .units .unit-layout > .unit-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .home-page .hero {
        min-height: 44rem;
        padding-top: 7rem;
        padding-bottom: 4rem;
    }

    .home-page .hero h1,
    html[lang="zh-CN"] .home-page .hero h1 {
        max-width: 12ch;
        font-size: clamp(2.65rem, 12.5vw, 3.7rem);
    }

    .proof-item {
        border-color: var(--site-line);
    }

    .home-page .stat-item,
    .home-page .stat-item:nth-child(2) {
        border-color: var(--site-line);
    }
}

/* Cinematic motion for every page header image. */
.hero-scene.is-active img {
    animation: hero-image-drift 10s ease-in-out both;
    transform-origin: center center;
    will-change: transform;
}

body:not(.home-page) .page-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--site-deep) !important;
}

body:not(.home-page) .page-header::before,
body:not(.home-page) .page-header::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body:not(.home-page) .page-header::before {
    z-index: -2;
    inset: -3%;
    background-image: var(--page-header-image);
    background-repeat: no-repeat;
    background-position: center 52%;
    background-size: cover;
    transform-origin: var(--page-hero-origin, center center);
    animation:
        page-header-image-reveal 900ms var(--ease-out) both,
        page-header-image-drift 6s ease-in-out infinite alternate;
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

body.about-page .page-header::before {
    transform-origin: 38% 50%;
    animation: page-header-image-reveal 900ms var(--ease-out) both, about-hero-pan 10s ease-in-out infinite alternate;
}

body.design-page .page-header::before {
    transform-origin: 65% 62%;
    animation: page-header-image-reveal 900ms var(--ease-out) both, design-hero-diagonal 10s ease-in-out infinite alternate;
}

body.production-page .page-header::before {
    transform-origin: center center;
    animation: page-header-image-reveal 900ms var(--ease-out) both, production-hero-track 9s ease-in-out infinite alternate;
}

body.projects-page .page-header::before {
    transform-origin: 50% 70%;
    animation: page-header-image-reveal 900ms var(--ease-out) both, projects-hero-pullback 11s ease-in-out infinite alternate;
}

body.b2b-page .page-header::before {
    transform-origin: 35% 45%;
    animation: page-header-image-reveal 900ms var(--ease-out) both, b2b-hero-push 10s ease-in-out infinite alternate;
}

body.contact-page .page-header::before {
    transform-origin: 60% 50%;
    animation: page-header-image-reveal 900ms var(--ease-out) both, contact-hero-breathe 9s ease-in-out infinite alternate;
}

body:not(.home-page) .page-header::after {
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(16, 14, 13, var(--page-overlay-strong, 0.9)) 0%,
        rgba(16, 14, 13, var(--page-overlay-soft, 0.58)) 42%,
        rgba(16, 14, 13, 0.12) 76%
    );
}

body:not(.home-page) .page-header > * {
    position: relative;
    z-index: 1;
}

html[lang="zh-CN"] body:not(.home-page) .page-header::before {
    background-position: 56% 48%;
}

@keyframes hero-image-drift {
    0% {
        transform: scale(1.11) translate3d(1.2%, 0.8%, 0);
        filter: saturate(0.78);
    }
    100% {
        transform: scale(1.01) translate3d(-1.2%, -0.35%, 0);
        filter: saturate(1);
    }
}

@keyframes page-header-image-reveal {
    from { opacity: 0.72; }
    to { opacity: 1; }
}

@keyframes page-header-image-drift {
    from { transform: scale(1.08) translate3d(1%, 0.5%, 0); }
    to { transform: scale(1.02) translate3d(-1%, -0.5%, 0); }
}

@keyframes about-hero-pan {
    from { transform: translate3d(-0.9%, 0.2%, 0) scale(1.025); }
    to { transform: translate3d(0.7%, -0.15%, 0) scale(1.07); }
}

@keyframes design-hero-diagonal {
    from { transform: translate3d(1.1%, 0.8%, 0) scale(1.07); }
    to { transform: translate3d(-0.9%, -0.7%, 0) scale(1.02); }
}

@keyframes production-hero-track {
    from { transform: translate3d(-1.3%, 0, 0) scale(1.045); }
    to { transform: translate3d(1.3%, 0, 0) scale(1.045); }
}

@keyframes projects-hero-pullback {
    from { transform: translate3d(0, 0.9%, 0) scale(1.08); }
    to { transform: translate3d(0, -0.7%, 0) scale(1.02); }
}

@keyframes b2b-hero-push {
    from { transform: translate3d(0.9%, -0.7%, 0) scale(1.015); }
    to { transform: translate3d(-0.7%, 0.6%, 0) scale(1.065); }
}

@keyframes contact-hero-breathe {
    from { transform: translate3d(0, 0, 0) scale(1.01); }
    to { transform: translate3d(0, 0, 0) scale(1.055); }
}

@media (max-width: 680px) {
    body:not(.home-page) .page-header::after {
        background: linear-gradient(
            0deg,
            rgba(16, 14, 13, 0.88),
            rgba(16, 14, 13, 0.25)
        );
    }
}

/* Technical drawing system
   Line work is used only where it carries process meaning. It stays out of the
   text grids and reads as a contained technical figure rather than wallpaper. */
.home-page .process,
.about-page .values,
.design-page .workflow,
.production-page .process,
.b2b-page .projects {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: var(--site-surface);
    background-image: none;
}

.home-page .process > *,
.about-page .values > *,
.design-page .workflow > *,
.production-page .process > *,
.b2b-page .projects > * {
    position: relative;
    z-index: 1;
}

.home-page .process::before,
.home-page .process::after,
.about-page .values::before,
.about-page .values::after,
.design-page .workflow::before,
.design-page .workflow::after,
.production-page .process::before,
.production-page .process::after,
.b2b-page .projects::before,
.b2b-page .projects::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-repeat: no-repeat;
    mix-blend-mode: normal;
    filter: none;
}

/* One primary drawing per process section; secondary pseudo-elements stay unused. */
.home-page .process::after,
.about-page .values::before,
.design-page .workflow::after,
.production-page .process::after,
.b2b-page .projects::before {
    display: none;
}

/* Home: one controlled brand motif, contained above the handoff labels. */
.home-page .process::before {
    inset: 2% 1% 43% 60%;
    background-image: url("line-house-axon.svg");
    background-position: right top;
    background-size: contain;
    opacity: 0.16;
    transform: none;
}

/* About and B2B stay clean: the drawings do not explain their content. */
.about-page .values::after {
    display: none;
}

.design-page .workflow::before {
    display: none;
}

.production-page .process::before {
    display: none;
}

.b2b-page .projects::after {
    display: none;
}

.design-page .workflow,
.production-page .process {
    display: block;
}

.technical-intro {
    width: min(100%, var(--site-visual-shell));
    max-width: var(--site-visual-shell);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(20rem, 0.48fr);
    column-gap: clamp(3rem, 7vw, 8rem);
    align-items: start;
}

.design-page .workflow .section-header,
.production-page .process .section-header {
    align-self: start;
    margin-bottom: 0;
}

.technical-figure {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 34rem;
    margin: 0 0 0 auto;
    padding: clamp(1.25rem, 2.5vw, 2.25rem);
    border: 1px solid var(--site-line);
    background: color-mix(in oklab, var(--site-surface) 88%, white);
}

.technical-figure::before {
    content: "TECHNICAL STUDY";
    display: block;
    margin-bottom: 1rem;
    color: var(--site-muted);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.technical-figure img {
    display: block;
    width: 100%;
    height: clamp(11rem, 17vw, 15rem);
    object-fit: contain;
    opacity: 0.62;
}

.design-page .workflow-steps,
.production-page .process-flow {
    margin-top: clamp(3rem, 6vw, 6rem);
}

@media (max-width: 760px) {
    .home-page .process::after,
    .about-page .values::before,
    .design-page .workflow::after,
    .production-page .process::after,
    .b2b-page .projects::before {
        display: none;
    }

    .home-page .process::before {
        inset: 4% -14% 58% 42%;
        opacity: 0.08;
    }

    .technical-intro {
        grid-template-columns: 1fr;
    }

    .technical-figure {
        width: min(100%, 32rem);
        margin-top: 2rem;
        margin-left: 0;
    }

    .technical-figure img {
        height: clamp(10rem, 48vw, 14rem);
    }

    .design-page .workflow-steps,
    .production-page .process-flow {
        margin-top: 3rem;
    }
}

.network-constrained .home-page .process::before,
.network-constrained .home-page .process::after,
.network-constrained .about-page .values::before,
.network-constrained .about-page .values::after,
.network-constrained .design-page .workflow::before,
.network-constrained .design-page .workflow::after,
.network-constrained .production-page .process::before,
.network-constrained .production-page .process::after,
.network-constrained .b2b-page .projects::before,
.network-constrained .b2b-page .projects::after {
    display: none;
}

/* Contact: three equal-status columns on one continuous paper field. */
.contact-page .contact-grid {
    width: min(100%, 88rem);
    max-width: 88rem;
    grid-template-columns:
        minmax(15rem, 0.88fr)
        minmax(20rem, 1.18fr)
        minmax(16rem, 0.94fr);
    align-items: start;
    gap: clamp(2rem, 3.2vw, 3.75rem);
    padding-top: clamp(4.5rem, 7vw, 7rem);
    padding-bottom: clamp(4.5rem, 7vw, 7rem);
    background: var(--site-paper);
}

.contact-page .contact-info,
.contact-page .map-box,
.contact-page .form-container,
.contact-page .location-panel {
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--site-line);
    background: transparent;
}

.contact-page .map-box {
    margin-top: 2rem;
}

.contact-page .form-container {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

.location-panel {
    min-width: 0;
}

.location-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.4rem;
}

.location-kicker {
    margin-bottom: 0.25rem;
    color: var(--site-timber-deep);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.2;
    text-transform: uppercase;
}

.location-panel h3 {
    color: var(--site-ink);
    font-family: var(--font-heading);
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.08;
}

.location-coordinates {
    flex: 0 0 auto;
    color: var(--site-muted);
    font-size: 0.75rem;
    white-space: nowrap;
}

.map-frame {
    position: relative;
    min-height: 29rem;
    overflow: hidden;
    border: 1px solid var(--site-line);
    padding: clamp(1.5rem, 3vw, 2.5rem);
    background:
        linear-gradient(135deg, rgba(212, 165, 116, 0.08), transparent 46%),
        var(--site-surface);
}

.location-diagram-label {
    margin-bottom: 1.4rem;
    color: var(--site-timber-deep);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.location-route {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.location-route li {
    position: relative;
    display: grid;
    grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
    gap: 1rem;
    align-items: baseline;
    padding: 0 0 1.25rem 1.6rem;
}

.location-route li::before {
    content: "";
    position: absolute;
    top: 0.28rem;
    left: 0;
    width: 0.58rem;
    height: 0.58rem;
    border: 2px solid var(--site-timber-deep);
    border-radius: 50%;
    background: var(--site-surface);
}

.location-route li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0.94rem;
    bottom: 0.12rem;
    left: 0.33rem;
    width: 1px;
    background: var(--site-line);
}

.location-route small {
    color: var(--site-muted);
    font-size: 0.72rem;
    line-height: 1.35;
}

.location-route strong {
    color: var(--site-ink);
    font-size: 0.92rem;
    line-height: 1.35;
}

.location-route .location-route-destination {
    margin-top: 0.1rem;
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
    border-top: 1px solid var(--site-line);
}

.location-route .location-route-destination::before {
    top: 1.18rem;
    border-color: var(--site-deep);
    background: var(--site-timber);
    box-shadow: 0 0 0 0.3rem rgba(212, 165, 116, 0.16);
}

.location-map-note {
    margin-top: 1.15rem;
    color: var(--site-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

.location-address {
    margin: 1.2rem 0 0.85rem;
    color: var(--site-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding-bottom: 0.2rem;
    border-bottom: 1px solid currentColor;
    color: var(--site-ink);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.map-link:hover {
    color: var(--site-timber-deep);
}

/* Preserve the original white / light-timber section rhythm. */
.home-page .capability,
.home-page .certifications,
.about-page .intro,
.about-page .tour,
.about-page .training,
.design-page .team-section,
.design-page .tools,
.production-page .overview,
.production-page .units,
.production-page .capacity,
.projects-page .projects,
.projects-page .materials,
.b2b-page .models,
.b2b-page .benefits,
.contact-page .contact-grid {
    background: #fff;
}

.home-page .proof-band {
    background: var(--site-surface);
}

.home-page .process,
.home-page .projects,
.about-page .story,
.about-page .values,
.design-page .workflow,
.design-page .gallery,
.production-page .process,
.production-page .kit,
.production-page .qc,
.projects-page .options,
.projects-page .products,
.b2b-page .projects,
.b2b-page .form-section {
    background-color: var(--site-surface) !important;
}

.home-page .stats {
    background: var(--site-deep);
    color: #fff;
}

.home-page .stat-item {
    border-color: rgba(255, 255, 255, 0.16);
}

.home-page .stat-item h3,
.home-page .stat-item:last-child h3 {
    color: var(--site-timber);
}

.home-page .stat-item p {
    color: rgba(255, 255, 255, 0.78);
}

.home-page .cta,
.about-page .visit,
.design-page .cta,
.production-page .cta,
.projects-page .cta,
.b2b-page .contact {
    background: linear-gradient(135deg, var(--site-timber-deep), var(--site-deep));
    color: #fff;
}

.home-page .cta h2,
.home-page .cta p {
    color: #fff;
}

.home-page .cta .btn {
    background: #fff !important;
    color: var(--site-deep) !important;
}

.map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.4rem;
}

@media (max-width: 1120px) {
    .contact-page .contact-grid {
        grid-template-columns: minmax(15rem, 0.85fr) minmax(20rem, 1.15fr);
    }

    .contact-page .location-panel {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1.5fr) minmax(16rem, 0.7fr);
        gap: 0 2rem;
        align-items: start;
    }

    .contact-page .location-heading-row,
    .contact-page .map-frame {
        grid-column: 1;
    }

    .contact-page .location-address,
    .contact-page .map-actions {
        grid-column: 2;
    }

    .contact-page .location-address {
        grid-row: 1;
        align-self: end;
        margin-top: 0;
    }

    .contact-page .map-actions {
        grid-row: 2;
        align-self: start;
        justify-self: start;
        margin-top: 1.2rem;
    }

    .contact-page .map-frame {
        min-height: 22rem;
    }
}

@media (max-width: 760px) {
    .contact-page .contact-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.75rem;
    }

    .contact-page .contact-grid > * {
        width: 100%;
    }

    .contact-page .location-panel {
        grid-column: auto;
        display: block;
    }

    .contact-page .map-frame {
        min-height: 24rem;
    }

    .contact-page .location-address {
        margin-top: 1rem;
    }

    .location-route li {
        grid-template-columns: minmax(6rem, 0.75fr) minmax(0, 1.25fr);
    }
}

/* Alternate white and light-timber surfaces without same-color runs. */
.home-page .projects,
.production-page .kit,
.production-page .qc,
.b2b-page .form-section {
    background-color: #fff !important;
}

.home-page .certifications,
.production-page .units,
.production-page .capacity {
    background-color: var(--site-surface) !important;
}

.home-page .proof-band {
    padding-block: clamp(1.25rem, 2.5vw, 2.5rem);
}

.home-page .proof-band-inner {
    gap: clamp(0.75rem, 1.4vw, 1.5rem);
}

.home-page .proof-item {
    min-height: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--site-line);
    background: #fff;
}

.home-page .proof-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.home-page .proof-item > div {
    padding: clamp(1rem, 1.5vw, 1.5rem);
}

.home-page .proof-item strong {
    margin-bottom: 0.5rem;
}

@media (max-width: 1100px) {
    .home-page .proof-band-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .home-page .proof-band-inner {
        grid-template-columns: minmax(0, 1fr);
    }
}

.home-page .process > .section-header,
.home-page .projects > .section-header {
    text-align: center;
}

.home-page .process > .section-header p,
.home-page .projects > .section-header p {
    margin-inline: auto;
}

.home-page .projects > .section-header h2 {
    margin-inline: auto;
}

.home-page .proof-item img {
    transition: transform 420ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
    .home-page .proof-item:hover img {
        transform: scale(1.045);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .proof-item img {
        transition: none;
    }
}

.home-page .certifications .section-header p {
    margin-inline: auto;
}

.home-page .cert-logos {
    width: min(100%, 70rem);
    max-width: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.home-page .cert-logo {
    position: relative;
    min-height: 15rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.45rem;
    padding: 1.5rem;
    border: 0;
    background: #fff;
    color: var(--site-ink);
    text-align: left;
}

.home-page .cert-logo > .site-icon {
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: auto;
    color: var(--site-timber-deep);
}

.home-page .cert-logo strong {
    font-size: 1.25rem;
}

.home-page .cert-logo > span:last-child {
    color: var(--site-muted);
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
}

.home-page .cert-status {
    padding: 0.28rem 0.55rem;
    border: 1px solid currentColor;
    color: var(--site-timber-deep);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 900px) {
    .home-page .cert-logos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .home-page .cert-logos {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-page .cert-logo {
        min-height: 12rem;
    }
}
