:root {
    --green-900: #062f1b;
    --green-800: #004c20;
    --green-700: #0f6335;
    --green-100: #e7f0e8;
    --wood-700: #9a6a3e;
    --wood-300: #dec39b;
    --beige: #f4ecdf;
    --off-white: #fbfaf6;
    --charcoal: #1f2622;
    --muted: #68736c;
    --line: rgba(6, 47, 27, 0.14);
    --shadow: 0 18px 50px rgba(31, 38, 34, 0.11);
    --radius-section: 30px;
    --radius-card: 18px;
    --font-main: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "DM Sans", Inter, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-main);
    color: var(--charcoal);
    background:
        linear-gradient(90deg, rgba(0, 76, 32, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(0, 76, 32, 0.03) 1px, transparent 1px),
        var(--off-white);
    background-size: 44px 44px;
    line-height: 1.65;
    overflow-x: hidden;
}

body.no-scroll {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

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

button,
input,
textarea,
select {
    font: inherit;
}

.container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: background 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    background: rgba(251, 250, 246, 0.82);
    border-bottom: 1px solid transparent;
    backdrop-filter: blur(14px);
}

.site-header.scrolled {
    background: rgba(251, 250, 246, 0.95);
    box-shadow: 0 10px 30px rgba(31, 38, 34, 0.08);
    border-color: var(--line);
}

.header-inner {
    width: min(1220px, calc(100% - 36px));
    min-height: 78px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand img {
    width: 150px;
    height: auto;
}

.nav {
    display: flex;
    align-items: center;
    gap: 26px;
    color: #314238;
    font-size: 0.92rem;
    font-weight: 700;
}

.nav a {
    position: relative;
    padding: 28px 0;
}

.nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 20px;
    width: 0;
    height: 2px;
    background: var(--green-800);
    transition: width 0.2s ease;
}

.nav a:hover::after {
    width: 100%;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-primary {
    color: #fff;
    background: var(--green-800);
    box-shadow: 0 12px 28px rgba(0, 76, 32, 0.2);
}

.btn-primary:hover {
    background: var(--green-700);
}

.btn-outline {
    color: var(--green-800);
    background: rgba(255,255,255,0.72);
    border-color: rgba(0, 76, 32, 0.3);
}

.btn-outline:hover {
    background: var(--green-100);
}

.menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
}

.menu-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    margin: 5px auto;
    background: var(--green-900);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-toggle.active span:first-child {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:last-child {
    transform: translateY(-7px) rotate(-45deg);
}

main {
    display: grid;
    gap: 34px;
}

.home-main {
    display: block;
}

.home-hero {
    position: relative;
    min-height: calc(100vh - 78px);
    overflow: hidden;
    color: #fff;
    background: var(--green-900);
}

.home-hero-media,
.home-hero-shade {
    position: absolute;
    inset: 0;
}

.home-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.98;
}

.home-hero-shade {
    background:
        radial-gradient(circle at 74% 42%, rgba(222, 195, 155, 0.26), transparent 32%),
        linear-gradient(90deg, rgba(4, 34, 19, 0.96) 0%, rgba(6, 47, 27, 0.78) 48%, rgba(6, 47, 27, 0.2) 100%),
        linear-gradient(180deg, rgba(6, 47, 27, 0.12), rgba(6, 47, 27, 0.72));
}

.home-hero-inner {
    position: relative;
    z-index: 1;
    min-height: calc(100vh - 78px);
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.62fr);
    align-items: center;
    gap: 64px;
    padding: 78px 0 88px;
}

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

.home-hero-copy .eyebrow {
    color: #cbe5d0;
}

.home-hero-copy h1 {
    font-size: clamp(4rem, 9vw, 8.4rem);
    line-height: 0.88;
    letter-spacing: -0.04em;
}

.home-hero-copy p:not(.eyebrow) {
    max-width: 620px;
    margin: 28px 0 0;
    color: rgba(255,255,255,0.82);
    font-size: clamp(1.02rem, 1.6vw, 1.22rem);
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.btn-glass {
    color: #fff;
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.36);
    backdrop-filter: blur(12px);
}

.btn-glass:hover {
    background: rgba(255,255,255,0.2);
}

.home-product-stage {
    position: relative;
    justify-self: end;
    width: min(500px, 100%);
    padding: 22px 18px 84px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 36px;
    background:
        radial-gradient(circle at 48% 36%, rgba(255,255,255,0.28), transparent 40%),
        linear-gradient(145deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
    box-shadow: 0 34px 90px rgba(0,0,0,0.28);
    backdrop-filter: blur(10px);
}

.home-product-stage img {
    width: 100%;
    filter: drop-shadow(0 34px 34px rgba(0, 0, 0, 0.3));
}

.home-hero-panel {
    position: relative;
    justify-self: end;
    width: min(430px, 100%);
    min-height: 520px;
    display: grid;
    align-content: end;
    gap: 0;
    padding: 34px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02)),
        rgba(6,47,27,0.32);
    box-shadow: 0 34px 90px rgba(0,0,0,0.24);
    backdrop-filter: blur(10px);
}

.home-hero-panel::before {
    content: "";
    position: absolute;
    inset: 22px;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,0.1);
    pointer-events: none;
}

.hero-panel-line {
    position: absolute;
    top: 34px;
    left: 34px;
    width: 96px;
    height: 2px;
    background: linear-gradient(90deg, #dec39b, rgba(222,195,155,0));
}

.home-hero-panel > div:not(.hero-panel-line) {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.home-hero-panel > div:last-child {
    border-bottom: 0;
}

.home-hero-panel span {
    color: rgba(222,195,155,0.88);
    font-weight: 900;
    letter-spacing: 0.12em;
}

.home-hero-panel strong {
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 1.9rem);
    line-height: 1;
}

.stage-note {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px;
    border-radius: 18px;
    color: #fff;
    background: rgba(6,47,27,0.72);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: 0 16px 32px rgba(0,0,0,0.14);
}

.stage-note strong {
    font-family: var(--font-display);
    font-size: 1.4rem;
}

.stage-note span {
    color: rgba(255,255,255,0.7);
    font-size: 0.82rem;
    font-weight: 800;
    text-align: right;
}

.home-gateway {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 22px;
    margin-top: 34px;
}

.gateway-panel {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 30px;
    background:
        linear-gradient(135deg, #062f1b, #143f28);
    box-shadow: var(--shadow);
}

.gateway-large {
    grid-row: span 2;
    min-height: 704px;
}

.gateway-panel img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.82;
    transition: transform 0.55s ease, opacity 0.25s ease;
}

.gateway-product img {
    object-fit: contain;
    padding: 8% 8% 18%;
    opacity: 1;
    filter: drop-shadow(0 34px 38px rgba(0,0,0,0.24));
}

.gateway-product::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 58% 35%, rgba(244,236,223,0.38), transparent 38%),
        linear-gradient(135deg, rgba(0,76,32,0.82), rgba(6,47,27,0.98));
}

.gateway-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 28%, rgba(6, 47, 27, 0.86));
}

.gateway-panel:hover img {
    opacity: 0.94;
    transform: scale(1.045);
}

.gateway-panel > div {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 34px;
    color: #fff;
}

.gateway-panel .section-kicker {
    color: #cbe5d0;
}

.gateway-panel h2 {
    max-width: 520px;
    color: #fff;
}

.gateway-panel span {
    display: inline-flex;
    margin-top: 18px;
    color: rgba(255,255,255,0.78);
    font-weight: 900;
}

.home-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 24px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: var(--line);
    box-shadow: 0 12px 34px rgba(31, 38, 34, 0.06);
}

.home-proof div {
    padding: 30px;
    background:
        linear-gradient(135deg, rgba(231, 240, 232, 0.72), rgba(244, 236, 223, 0.64)),
        #fff;
}

.home-proof span {
    display: block;
    color: var(--green-800);
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 900;
    line-height: 1;
}

.home-proof p {
    max-width: 320px;
    margin: 12px 0 0;
    color: var(--muted);
    font-weight: 700;
}

.home-split {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: 24px;
    margin-top: 24px;
}

.home-story,
.home-links,
.home-cta {
    border: 1px solid var(--line);
    border-radius: 30px;
    background: rgba(255,255,255,0.84);
    box-shadow: var(--shadow);
}

.home-story {
    padding: 54px;
    background:
        linear-gradient(135deg, rgba(231, 240, 232, 0.8), rgba(244, 236, 223, 0.56)),
        #fff;
}

.home-story h2 {
    max-width: 740px;
}

.home-story p:not(.section-kicker) {
    max-width: 640px;
    margin: 20px 0 0;
    color: var(--muted);
}

.home-links {
    display: grid;
    align-content: center;
    padding: 28px;
}

.home-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 4px;
    border-bottom: 1px solid var(--line);
    color: var(--green-900);
    font-weight: 900;
}

.home-links a:last-child {
    border-bottom: 0;
}

.home-links a::after {
    content: "->";
    color: var(--green-800);
}

.home-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 24px;
    margin-bottom: 26px;
    padding: 42px;
    background:
        linear-gradient(135deg, rgba(6, 47, 27, 0.96), rgba(0, 76, 32, 0.82)),
        var(--green-900);
    color: #fff;
}

.home-cta h2,
.home-cta .section-kicker {
    color: #fff;
}

.home-cta p:not(.section-kicker) {
    max-width: 600px;
    margin: 14px 0 0;
    color: rgba(255,255,255,0.76);
}

.page-hero,
.section-card {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-section);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.page-hero {
    margin-top: 22px;
    min-height: 670px;
    display: grid;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(0, 76, 32, 0.94), rgba(6, 47, 27, 0.84)),
        linear-gradient(90deg, var(--wood-700), var(--wood-300));
    color: #fff;
}

.hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.92fr);
    align-items: center;
    gap: 46px;
    padding: 74px 0;
}

.eyebrow,
.section-kicker {
    margin: 0 0 14px;
    color: var(--green-700);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.page-hero .eyebrow {
    color: #cbe5d0;
}

h1,
h2,
h3 {
    font-family: var(--font-display);
    line-height: 1.08;
    margin: 0;
    letter-spacing: -0.01em;
}

h1 {
    font-size: clamp(2.7rem, 6vw, 5.25rem);
    max-width: 800px;
}

h2 {
    font-size: clamp(2rem, 4vw, 3.25rem);
    color: var(--green-900);
}

h3 {
    font-size: 1.18rem;
    color: var(--green-900);
}

.page-hero .hero-copy p {
    max-width: 690px;
    margin: 22px 0 0;
    color: rgba(255,255,255,0.84);
    font-size: 1.08rem;
}

.hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 34px;
}

.hero-tags span {
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 999px;
    background: rgba(255,255,255,0.09);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
}

.hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.page-hero .hero-actions .btn-outline {
    color: #fff;
    border-color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.08);
}

.hero-visual {
    position: relative;
    min-height: 500px;
}

.flooring-backdrop {
    position: absolute;
    inset: 36px 0 0 54px;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.24);
    box-shadow: 0 22px 60px rgba(0,0,0,0.24);
}

.flooring-backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-foreground {
    position: absolute;
    left: 0;
    bottom: 0;
    width: min(62%, 360px);
    padding: 18px;
    border-radius: 26px;
    background: rgba(255,255,255,0.9);
    box-shadow: 0 20px 50px rgba(0,0,0,0.22);
}

.floating-card {
    position: absolute;
    right: 0;
    display: grid;
    gap: 2px;
    min-width: 166px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.93);
    color: var(--green-900);
    box-shadow: 0 16px 38px rgba(0,0,0,0.16);
    border: 1px solid rgba(255,255,255,0.5);
}

.floating-card strong {
    font-family: var(--font-display);
    font-size: 1.35rem;
}

.floating-card small {
    color: var(--muted);
    font-weight: 800;
}

.float-one { top: 28px; }
.float-two { top: 176px; right: 22px; }
.float-three { bottom: 58px; right: 28px; }

.section-card {
    background: rgba(255,255,255,0.86);
}

.section-inner {
    padding: 74px 62px;
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 36px;
}

.section-head p,
.section-lead {
    max-width: 680px;
    color: var(--muted);
    margin: 14px 0 0;
}

.grid {
    display: grid;
    gap: 22px;
}

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

.product-card,
.solution-card,
.icon-card,
.article-card,
.fact-card,
.tab-panel,
.contact-card {
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(31, 38, 34, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.product-card:hover,
.solution-card:hover,
.article-card:hover,
.fact-card:hover,
.icon-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(31, 38, 34, 0.12);
    border-color: rgba(0, 76, 32, 0.28);
}

.card-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--beige);
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.product-card:hover img,
.solution-card:hover img,
.article-card:hover img {
    transform: scale(1.045);
}

.card-body {
    padding: 22px;
}

.card-body p,
.icon-card p,
.article-card p,
.fact-card p {
    color: var(--muted);
    margin: 10px 0 0;
    font-size: 0.94rem;
}

.text-link {
    display: inline-flex;
    margin-top: 18px;
    color: var(--green-800);
    font-weight: 900;
}

.warm-section {
    background:
        linear-gradient(135deg, rgba(222, 195, 155, 0.28), rgba(231, 240, 232, 0.46)),
        #fffaf0;
}

.why-grid .icon-card {
    min-height: 222px;
}

.icon-card {
    padding: 26px;
}

.icon-mark {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 14px;
    background: var(--green-100);
    color: var(--green-800);
    font-weight: 900;
}

.technical-section {
    background:
        linear-gradient(135deg, #062f1b, #0d4b2a 62%, #234b41);
    color: #fff;
}

.technical-section h2,
.technical-section .section-kicker {
    color: #fff;
}

.technical-section .section-head p {
    color: rgba(255,255,255,0.76);
}

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

.metric-card {
    padding: 24px;
    border-radius: 18px;
    background: rgba(255,255,255,0.94);
    color: var(--green-900);
}

.metric-card span {
    color: var(--muted);
    font-weight: 800;
    font-size: 0.82rem;
}

.metric-card strong {
    display: block;
    margin-top: 12px;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2.5vw, 2.2rem);
    line-height: 1;
}

.metric-card small {
    display: block;
    margin-top: 8px;
    color: var(--wood-700);
    font-weight: 800;
}

.process-layout,
.about-layout,
.contact-layout,
.product-detail-layout {
    display: grid;
    grid-template-columns: 1fr 0.86fr;
    gap: 42px;
    align-items: start;
}

.stepper {
    display: grid;
    gap: 16px;
}

.step {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
}

.step-number {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--green-800);
    color: #fff;
    font-weight: 900;
}

.media-frame {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
    background: var(--beige);
}

.media-frame img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.compliance-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-copy p {
    color: var(--muted);
    margin: 18px 0 28px;
}

.article-card {
    padding: 26px;
}

.article-tag {
    display: inline-flex;
    padding: 7px 10px;
    margin-bottom: 18px;
    border-radius: 999px;
    color: var(--green-800);
    background: var(--green-100);
    font-size: 0.76rem;
    font-weight: 900;
}

.contact-layout {
    align-items: stretch;
}

.contact-info {
    padding: 32px;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(0, 76, 32, 0.08), rgba(222,195,155,0.24)),
        #fff;
    border: 1px solid var(--line);
}

.contact-info a,
.contact-info p {
    display: block;
    margin: 14px 0;
    color: var(--charcoal);
    font-weight: 800;
}

.inquiry-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.field {
    display: grid;
    gap: 7px;
}

.field.full {
    grid-column: 1 / -1;
}

.field label {
    font-size: 0.82rem;
    font-weight: 900;
    color: var(--green-900);
}

.field input,
.field textarea,
.field select {
    width: 100%;
    border: 1px solid rgba(0, 76, 32, 0.18);
    border-radius: 14px;
    padding: 13px 14px;
    background: #fff;
    color: var(--charcoal);
}

.field textarea {
    min-height: 130px;
    resize: vertical;
}

.form-card {
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(31, 38, 34, 0.07);
}

.toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 2000;
    transform: translate(-50%, 16px);
    opacity: 0;
    pointer-events: none;
    padding: 13px 18px;
    border-radius: 999px;
    background: var(--green-900);
    color: #fff;
    box-shadow: var(--shadow);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.site-footer {
    margin-top: 40px;
    padding: 56px 0 28px;
    background: var(--green-900);
    color: rgba(255,255,255,0.78);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.25fr repeat(4, 1fr);
    gap: 34px;
}

.footer-brand img {
    width: 132px;
    display: block;
}

.footer-grid h3 {
    margin-bottom: 16px;
    color: #fff;
    font-size: 1rem;
}

.footer-grid a,
.footer-grid p {
    display: block;
    margin: 9px 0;
}

.footer-bottom {
    width: min(1180px, calc(100% - 40px));
    margin: 36px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.14);
    font-size: 0.85rem;
}

.float-actions {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1500;
    display: grid;
    gap: 10px;
}

.float-actions a {
    display: grid;
    place-items: center;
    min-width: 52px;
    height: 52px;
    padding: 0 16px;
    border-radius: 999px;
    color: #fff;
    background: var(--green-800);
    box-shadow: 0 10px 28px rgba(0, 76, 32, 0.22);
    font-weight: 900;
}

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

.product-main-image {
    padding: 26px;
    border-radius: 24px;
    background: var(--beige);
}

.quick-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fact-card {
    padding: 20px;
}

.fact-card span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 900;
}

.fact-card strong {
    display: block;
    margin-top: 8px;
    color: var(--green-900);
}

.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.tab-button {
    border: 1px solid rgba(0, 76, 32, 0.24);
    border-radius: 999px;
    padding: 10px 15px;
    color: var(--green-900);
    background: #fff;
    font-weight: 900;
    cursor: pointer;
}

.tab-button.active {
    color: #fff;
    background: var(--green-800);
}

.tab-panel {
    display: none;
    padding: 30px;
}

.tab-panel.active {
    display: block;
}

.tds-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.product-tds-preview {
    background:
        linear-gradient(180deg, #f7f8f3 0%, #fff 76%),
        linear-gradient(90deg, rgba(6, 61, 42, 0.026) 1px, transparent 1px);
    background-size: auto, 56px 56px;
}

.product-tds-head {
    max-width: 900px;
    margin: 0 0 32px;
}

.product-tds-head .replica-title {
    margin-bottom: 12px;
    font-size: clamp(2rem, 4vw, 4.2rem);
    line-height: 1;
}

.product-tds-head p {
    margin: 0;
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.tds-page {
    overflow: hidden;
    border: 1px solid rgba(6, 79, 42, 0.14);
    border-radius: 8px;
    background:
        linear-gradient(180deg, #fff 0%, #fbfaf5 100%);
    box-shadow: 0 18px 44px rgba(5, 39, 29, 0.1);
}

.product-tds-preview .tds-page {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 520px;
    padding: 16px;
    border-color: rgba(6, 61, 42, 0.16);
}

.tds-page figure {
    display: grid;
    place-items: start center;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(6, 61, 42, 0.12);
    border-radius: 5px;
    background: #f4f6f1;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.72);
}

.tds-page img {
    width: 100%;
    aspect-ratio: 827 / 1169;
    object-fit: contain;
    background: #fff;
}

.product-tds-preview .tds-page img {
    height: 100%;
    min-height: 390px;
    object-fit: cover;
    border: 10px solid #fff;
    box-shadow: 0 10px 24px rgba(5, 39, 29, 0.12);
}

.product-tds-preview .tds-page-cover {
    object-position: center bottom;
}

.product-tds-preview .tds-page-advantages,
.product-tds-preview .tds-page-cleanup {
    object-position: center bottom;
}

.tds-page-caption {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 14px 4px 2px;
}

.tds-page-caption span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    color: #fff;
    background: #063d2a;
    font-size: 12px;
    font-weight: 900;
}

.tds-page-caption strong {
    color: #063d2a;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.25;
}

.product-tds-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
}

.tab-panel ul {
    margin: 16px 0 0;
    color: var(--muted);
}

.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

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

.page-hero .reveal,
.home-hero .reveal,
.section-card:first-of-type .reveal {
    opacity: 1;
    transform: none;
}

@media (max-width: 1024px) {
    .header-quote {
        display: none;
    }

    .nav {
        gap: 16px;
        font-size: 0.84rem;
    }

    .hero-layout,
    .home-hero-inner,
    .home-split,
    .process-layout,
    .about-layout,
    .contact-layout,
    .product-detail-layout {
        grid-template-columns: 1fr;
    }

    .home-hero-inner {
        gap: 34px;
    }

    .home-product-stage,
    .home-hero-panel {
        justify-self: start;
        width: min(390px, 82vw);
    }

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

    .gateway-large {
        grid-row: auto;
        min-height: 420px;
    }

    .hero-visual {
        min-height: 480px;
    }

    .grid-4,
    .metrics-grid,
    .compliance-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 768px) {
    .container,
    .page-hero,
    .section-card,
    .footer-bottom {
        width: min(100% - 28px, 1180px);
    }

    .header-inner {
        min-height: 70px;
        width: min(100% - 28px, 1220px);
    }

    .brand img {
        width: 108px;
    }

    .menu-toggle {
        display: block;
    }

    .nav {
        position: fixed;
        top: 70px;
        left: 14px;
        right: 14px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 20px;
        background: rgba(255,255,255,0.98);
        box-shadow: var(--shadow);
    }

    .nav.open {
        display: flex;
    }

    .nav a {
        padding: 13px 12px;
    }

    .nav a::after {
        display: none;
    }

    main {
        gap: 22px;
    }

    .page-hero {
        min-height: auto;
        margin-top: 14px;
    }

    .home-hero,
    .home-hero-inner {
        min-height: auto;
    }

    .home-hero-inner {
        padding: 64px 0 40px;
    }

    .home-hero-copy h1 {
        font-size: clamp(3.3rem, 18vw, 5.4rem);
    }

    .home-product-stage {
        padding: 18px 16px 18px;
    }

    .home-hero-panel {
        min-height: auto;
        width: 100%;
        padding: 24px;
    }

    .stage-note {
        position: static;
        margin-top: 8px;
    }

    .home-gateway {
        width: min(100% - 28px, 1180px);
        margin-top: 22px;
    }

    .gateway-panel,
    .gateway-large {
        min-height: 330px;
    }

    .gateway-panel > div {
        padding: 26px;
    }

    .home-proof {
        width: min(100% - 28px, 1180px);
        grid-template-columns: 1fr;
    }

    .home-split,
    .home-cta {
        width: min(100% - 28px, 1180px);
    }

    .home-story {
        padding: 36px 24px;
    }

    .home-cta {
        display: grid;
        padding: 32px 24px;
    }

    .hero-layout,
    .section-inner {
        padding: 46px 24px;
    }

    h1 {
        font-size: clamp(2.25rem, 13vw, 3.45rem);
    }

    .hero-copy p {
        font-size: 1rem;
    }

    .hero-visual {
        min-height: 420px;
    }

    .flooring-backdrop {
        inset: 22px 0 80px 28px;
    }

    .product-foreground {
        width: 58%;
    }

    .floating-card {
        position: relative;
        right: auto;
        top: auto;
        bottom: auto;
        min-width: 0;
        margin-top: 10px;
    }

    .float-one,
    .float-two,
    .float-three {
        top: auto;
        right: auto;
        bottom: auto;
    }

    .hero-facts {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 48%;
        display: grid;
        gap: 8px;
    }

    .section-head {
        display: block;
    }

    .grid-4,
    .grid-3,
    .grid-2,
    .metrics-grid,
    .compliance-list,
    .quick-facts,
    .tds-preview-grid {
        grid-template-columns: 1fr;
    }

    .inquiry-form {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 480px) {
    .home-hero-copy p:not(.eyebrow) {
        font-size: 0.98rem;
    }

    .home-hero-actions {
        width: 100%;
    }

    .home-product-stage {
        width: 100%;
    }

    .home-hero-panel > div:not(.hero-panel-line) {
        grid-template-columns: 44px 1fr;
        padding: 18px 0;
    }

    .stage-note {
        display: grid;
        text-align: left;
    }

    .stage-note span {
        text-align: left;
    }

    .gateway-panel,
    .gateway-large {
        min-height: 300px;
    }

    .home-proof div {
        padding: 24px;
    }

    .hero-actions,
    .btn {
        width: 100%;
    }

    .hero-visual {
        min-height: 470px;
    }

    .product-foreground {
        width: 74%;
    }

    .hero-facts {
        position: static;
        width: 100%;
        padding-top: 320px;
    }

    .flooring-backdrop {
        inset: 18px 0 150px 0;
    }

    .section-inner {
        padding: 38px 20px;
    }

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

    .float-actions {
        right: 12px;
        bottom: 12px;
    }
}

@media (max-width: 640px) {
    .float-actions {
        display: none;
    }
}

/* Homeycons-inspired homepage replica */
.homey-replica {
    --replica-red: #c6ad78;
    --replica-red-dark: #0b472d;
    --replica-blue: #123c34;
    --replica-ink: #111316;
    --replica-muted: #68717a;
    --replica-line: #d8d8d8;
    --replica-bg: #f7f6f1;
    --setto-teal: #1d6b4b;
    --setto-teal-dark: #062d22;
    --setto-sage: #dfe6dd;
    --setto-grey: #d9d9d9;
    --setto-wood: #b9925f;
    background: #fff;
    color: var(--replica-ink);
    font-family: Inter, sans-serif;
}

.homey-replica h1,
.homey-replica h2,
.homey-replica h3,
.replica-title {
    font-family: Poppins, Inter, sans-serif;
}

.mobile-menu-fallback {
    position: fixed;
    top: 59px;
    left: min(330px, calc(100vw - 60px));
    z-index: 1500;
    display: none;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--replica-red, #e01822);
    background: var(--replica-red-dark, #b90f18);
    cursor: pointer;
}

.mobile-menu-fallback span {
    display: block;
    width: 20px;
    height: 2px;
    margin: 3px 0;
    background: #fff;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.mobile-menu-fallback.active span:first-child {
    transform: translateY(4px) rotate(45deg);
}

.mobile-menu-fallback.active span:last-child {
    transform: translateY(-4px) rotate(-45deg);
}

.homey-replica .mobile-menu-fallback {
    display: none !important;
}

.homey-replica .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    border-bottom: 0;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
    backdrop-filter: none;
}

.replica-topbar {
    background: var(--replica-red-dark);
    color: #fff;
    font-size: 14px;
}

.replica-topbar .topbar-inner {
    width: min(1240px, calc(100% - 48px));
    min-height: 48px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.topbar-contact,
.topbar-social {
    display: flex;
    align-items: center;
    gap: 28px;
}

.topbar-social a,
.social-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #fff;
    background: var(--setto-teal);
    font-size: 13px;
    font-weight: 800;
}

.topbar-social svg,
.social-row svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.homey-replica .header-inner {
    width: min(1240px, calc(100% - 48px));
    min-height: 106px;
    gap: 30px;
}

.homey-replica .brand img {
    width: 220px;
    max-height: 88px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.replica-nav-wrap {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: auto;
}

.homey-replica .nav {
    gap: 28px;
    color: var(--replica-red-dark);
    font-size: 15px;
    font-weight: 800;
}

.homey-replica .nav a,
.nav-item-trigger {
    padding: 38px 0;
}

.homey-replica .nav a::after {
    background: var(--replica-red);
    bottom: 31px;
}

.nav-item {
    position: relative;
}

.nav-item-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: default;
}

.nav-item-trigger::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
}

.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 620px;
    max-width: calc(100vw - 48px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 22px;
    padding: 24px;
    background: #fff;
    border-top: 4px solid var(--replica-red);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.16);
    transform: translate(-50%, 8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu {
    transform: translate(-50%, 0);
    opacity: 1;
    visibility: visible;
}

.mega-menu a {
    padding: 9px 0 !important;
    color: #202020;
    font-size: 14px;
    border-bottom: 1px solid #eeeeee;
}

.mega-menu a::after {
    display: none;
}

.header-tools {
    display: flex;
    align-items: center;
    gap: 18px;
}

.language-trigger,
.search-trigger {
    border: 0;
    color: var(--replica-red-dark);
    background: transparent;
    font-weight: 800;
    cursor: pointer;
}

.search-trigger {
    width: 42px;
    height: 42px;
    font-size: 0;
    position: relative;
}

.search-trigger::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 4px solid var(--replica-red);
    border-radius: 50%;
}

.search-trigger::after {
    content: "";
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 12px;
    height: 4px;
    background: var(--replica-red);
    transform: rotate(45deg);
}

.homey-replica .header-quote,
.contact-block-btn {
    min-width: 146px;
    min-height: 66px;
    border-radius: 0;
    color: #fff;
    background: var(--replica-red-dark);
    box-shadow: none;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.homey-replica .menu-toggle {
    border-radius: 0;
    border-color: var(--replica-red);
    display: block;
}

.homey-replica .menu-toggle span {
    background: var(--replica-red);
}

.replica-main {
    display: block;
}

.replica-hero {
    position: relative;
    min-height: clamp(540px, 72vh, 760px);
    overflow: hidden;
    background: var(--setto-teal-dark);
}

.replica-hero-track,
.replica-hero-slide {
    position: absolute;
    inset: 0;
}

.replica-hero-slide {
    opacity: 0;
    transition: opacity 0.45s ease;
}

.replica-hero-slide.active {
    opacity: 1;
}

.replica-hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.replica-hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(6, 45, 34, 0.86) 0%, rgba(6, 45, 34, 0.52) 46%, rgba(6,45,34,0.08) 100%),
        linear-gradient(180deg, rgba(255,255,255,0.02), rgba(6,45,34,0.28));
}

.replica-hero-slide::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 52px;
    background: linear-gradient(90deg, var(--setto-teal) 0 26%, rgba(255,255,255,0.94) 26% 70%, var(--replica-red-dark) 70%);
}

.replica-hero-content {
    position: absolute;
    z-index: 3;
    box-sizing: border-box;
    left: clamp(24px, 7vw, 112px);
    top: 50%;
    max-width: 650px;
    padding: clamp(24px, 4vw, 48px) 0;
    color: #fff;
    background: transparent;
    border-left: 0;
    box-shadow: none;
    transform: translateY(-50%);
}

.replica-hero-content.reveal,
.replica-hero-content.reveal.visible {
    opacity: 1;
    transform: translateY(-50%);
}

.replica-hero-content p {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #c6ad78;
}

.replica-hero-content h1 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(2.1rem, 4vw, 4.3rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.replica-hero-content p:last-child {
    margin-bottom: 0;
    max-width: 560px;
    color: rgba(255,255,255,0.82);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.65;
    text-transform: none;
}

.hero-arrow,
.cert-arrow {
    position: absolute;
    z-index: 4;
    width: 50px;
    height: 50px;
    border: 0;
    background: rgba(255,255,255,0.04);
    cursor: pointer;
}

.hero-arrow::before,
.cert-arrow::before {
    content: "";
    position: absolute;
    inset: 15px;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    color: #fff;
}

.hero-prev {
    left: 18px;
    top: 50%;
}

.hero-next {
    right: 18px;
    top: 50%;
}

.hero-prev::before,
.cert-prev::before {
    transform: rotate(-135deg);
}

.hero-next::before,
.cert-next::before {
    transform: rotate(45deg);
}

.hero-progress {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 5;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.hero-progress span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
}

.hero-progress span.active {
    background: #fff;
}

.replica-section {
    padding: 76px 0;
    background: #fff;
}

.hot-products {
    padding-top: 82px;
    background:
        linear-gradient(180deg, #f8f6ef 0%, #fff 72%),
        var(--replica-bg);
}

.replica-title {
    margin: 0 0 46px;
    color: var(--replica-ink);
    font-size: clamp(2rem, 3.3vw, 3.4rem);
    line-height: 1.04;
    text-align: left;
    letter-spacing: 0;
}

.replica-title.light {
    color: #fff;
}

.product-catalog {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #d8d3c5;
    background: #d8d3c5;
}

.replica-product-card {
    position: relative;
    min-height: 285px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 26px 20px 24px;
    background: #fff;
    border: 0;
    box-shadow: none;
    text-align: center;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.replica-product-card::before {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    top: 18px;
    height: 3px;
    background: linear-gradient(90deg, #0b4b35, #c6ad78);
    opacity: 0.75;
}

.replica-product-card:hover {
    z-index: 2;
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(6, 45, 34, 0.13);
}

.replica-product-card img {
    width: 100%;
    height: 164px;
    margin-bottom: 18px;
    object-fit: contain;
}

.replica-product-card h3 {
    margin: 0;
    color: var(--replica-red-dark);
    font-size: 18px;
    line-height: 1.2;
}

.replica-product-card p {
    margin: 4px 0 0;
    color: #59655f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.replica-cta-band {
    position: relative;
    min-height: 320px;
    display: grid;
    place-items: center;
    color: #fff;
    background: center / cover no-repeat;
    background-attachment: fixed;
}

.cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(6, 45, 34, 0.88), rgba(11, 71, 45, 0.58));
}

.cta-band-inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    padding: 42px 0;
    text-align: center;
}

.red-kicker {
    margin: 0 0 8px;
    color: var(--replica-red);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.cta-band-inner h2 {
    max-width: 820px;
    margin: 0 auto 28px;
    color: #fff;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.25;
}

.cta-actions {
    display: flex;
    justify-content: center;
    gap: 22px;
}

.replica-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 14px 28px;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.replica-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

.replica-btn.red {
    background: var(--replica-red-dark);
}

.replica-btn.blue {
    background: var(--setto-teal-dark);
}

.stat-strip {
    background: #062d22;
    border-bottom: 0;
    color: #fff;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-grid div {
    min-height: 104px;
    display: grid;
    place-items: center;
    padding: 18px;
    text-align: center;
    border-left: 1px solid rgba(198,173,120,0.32);
}

.stat-grid div:last-child {
    border-right: 1px solid rgba(198,173,120,0.32);
}

.stat-grid strong {
    color: #fff;
    font-size: 24px;
    line-height: 1.1;
}

.stat-grid span {
    color: #c6ad78;
    font-size: 14px;
    font-weight: 900;
}

.advantage-band {
    padding: 58px 0 72px;
    background:
        linear-gradient(135deg, rgba(6,45,34,0.96), rgba(11,75,53,0.94)),
        linear-gradient(90deg, rgba(198,173,120,0.12) 1px, transparent 1px);
    background-size: auto, 54px 54px;
}

.advantage-band .replica-title {
    margin-bottom: 34px;
    font-size: clamp(2rem, 3vw, 3rem);
}

.advantage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.advantage-card {
    min-height: 100px;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(198,173,120,0.45);
    text-align: center;
}

.advantage-card strong {
    color: var(--replica-red);
    font-size: 24px;
    line-height: 1;
}

.advantage-card span {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.who-grid,
.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
    align-items: center;
    gap: 70px;
}

.video-card {
    position: relative;
    border: 0;
    padding: 0;
    background: #ddd;
    cursor: pointer;
}

.video-card img {
    width: 100%;
    aspect-ratio: 1.45 / 1;
    object-fit: cover;
}

.video-card span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    transform: translate(-50%, -50%);
}

.video-card span::after {
    content: "";
    position: absolute;
    left: 29px;
    top: 22px;
    border-left: 22px solid var(--replica-red);
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}

.who-copy h2,
.contact-copy h2 {
    margin: 0 0 14px;
    font-size: clamp(2.1rem, 3vw, 3.6rem);
    line-height: 1.02;
}

.who-copy p,
.contact-copy p {
    color: #60656b;
    line-height: 1.7;
}

.copy-note {
    margin: 20px 0;
    padding: 18px 20px;
    border-left: 5px solid #c6ad78;
    background: #f7f5ef;
    color: #3e4b43;
}

.check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #555;
}

.check-list li::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: #0b4b35;
    vertical-align: middle;
}

.certificate-section,
.news-section {
    background: linear-gradient(180deg, #f3f5f0 0%, #faf9f5 100%);
}

.tds-section-head {
    max-width: 920px;
    margin-bottom: 34px;
}

.tds-section-head .replica-title {
    margin-bottom: 12px;
    font-size: clamp(2.2rem, 4.8vw, 4.8rem);
    line-height: 0.95;
}

.tds-section-head p:not(.red-kicker) {
    margin: 0;
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.tds-preview-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.78fr);
    gap: 24px;
    align-items: stretch;
}

.tds-feature-card {
    display: grid;
    grid-template-columns: minmax(240px, 0.55fr) minmax(0, 1fr);
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(6, 61, 42, 0.18);
    background:
        linear-gradient(135deg, rgba(199,170,107,0.16), transparent 42%),
        linear-gradient(90deg, rgba(6,61,42,0.035) 1px, transparent 1px),
        #fff;
    background-size: auto, 36px 36px, auto;
    box-shadow: var(--setto-soft-shadow, 0 22px 70px rgba(5, 39, 29, 0.11));
}

.tds-feature-visual {
    position: relative;
    display: grid;
    place-items: center;
    padding: 28px;
    background:
        radial-gradient(circle at 24% 18%, rgba(199,170,107,0.18), transparent 34%),
        linear-gradient(180deg, #f8f8f3, #eef3ed);
}

.tds-feature-visual::before,
.tds-feature-visual::after {
    content: "";
    position: absolute;
    width: min(56%, 190px);
    aspect-ratio: 0.72 / 1;
    border: 1px solid rgba(6, 61, 42, 0.08);
    background: rgba(255,255,255,0.58);
    box-shadow: 0 12px 28px rgba(5, 39, 29, 0.08);
}

.tds-feature-visual::before {
    transform: translate(18px, 18px) rotate(2deg);
}

.tds-feature-visual::after {
    transform: translate(9px, 9px) rotate(1deg);
}

.tds-feature-visual img {
    position: relative;
    z-index: 1;
    width: min(100%, 260px);
    aspect-ratio: 0.72 / 1;
    object-fit: cover;
    object-position: center bottom;
    border: 1px solid rgba(6, 61, 42, 0.12);
    box-shadow: 0 18px 36px rgba(5, 39, 29, 0.14);
}

.tds-feature-copy {
    display: grid;
    align-content: center;
    justify-items: start;
    padding: clamp(28px, 4vw, 48px);
}

.tds-feature-copy span {
    color: #9f7f3d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tds-feature-copy h3 {
    margin: 12px 0 14px;
    color: #063d2a;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    line-height: 1;
    text-wrap: balance;
}

.tds-feature-copy p {
    margin: 0 0 26px;
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.tds-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 28px;
}

.tds-chip-row b {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(6, 61, 42, 0.16);
    background: rgba(247, 248, 243, 0.9);
    color: #063d2a;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.tds-summary-grid {
    display: grid;
    gap: 16px;
}

.tds-summary-card {
    position: relative;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 124px;
    padding: 14px;
    border: 1px solid rgba(6, 61, 42, 0.14);
    background: #fff;
    box-shadow: var(--setto-card-shadow, 0 18px 42px rgba(5, 39, 29, 0.08));
    cursor: pointer;
    text-align: left;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.tds-summary-card::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #9f7f3d;
    border-right: 2px solid #9f7f3d;
    opacity: 0.72;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.tds-summary-card:hover {
    transform: translateY(-3px);
    border-color: rgba(199,170,107,0.7);
    box-shadow: 0 24px 52px rgba(5, 39, 29, 0.13);
}

.tds-summary-card:hover::after {
    opacity: 1;
    transform: translate(4px, -50%) rotate(45deg);
}

.tds-summary-card img {
    width: 112px;
    height: 92px;
    object-fit: cover;
    object-position: center bottom;
    border: 1px solid rgba(6, 61, 42, 0.1);
    background: #f8f8f3;
}

.tds-summary-card strong {
    display: block;
    margin-bottom: 6px;
    color: #063d2a;
    font-size: 18px;
    line-height: 1.2;
}

.tds-summary-card small {
    display: block;
    margin-bottom: 5px;
    color: #9f7f3d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.tds-summary-card span {
    display: block;
    max-width: calc(100% - 20px);
    color: #59655f;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.45;
}

.certificate-shell {
    position: relative;
    overflow: hidden;
}

.certificate-track {
    display: flex;
    gap: 56px;
    padding: 0 54px 28px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.certificate-track::-webkit-scrollbar {
    display: none;
}

.certificate-card {
    flex: 0 0 220px;
    height: 300px;
    display: grid;
    place-items: center;
    padding: 18px;
    background: linear-gradient(#fff, #f2f4f0);
    border: 8px solid #c6ad78;
    box-shadow: inset 0 0 0 2px #e8dcc5;
    text-align: center;
}

.certificate-card span {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    border: 1px solid #d0d0d0;
    color: var(--replica-blue);
    font-size: 18px;
    font-weight: 900;
}

.certificate-card.image-card {
    padding: 0;
    overflow: hidden;
    background: #fff;
}

.certificate-card.image-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.cert-arrow {
    top: 42%;
    color: #c6c6c6;
}

.cert-prev {
    left: 0;
}

.cert-next {
    right: 0;
}

.cert-arrow::before {
    color: #c6c6c6;
}

.section-subtitle {
    margin: -42px 0 42px;
    max-width: 760px;
    color: #65716a;
    font-weight: 650;
    text-align: left;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #d8d3c5;
    background: #d8d3c5;
}

.news-card {
    background: #fff;
    border: 0;
    box-shadow: none;
    transition: transform 0.2s ease;
}

.news-card:hover {
    transform: translateY(-3px);
}

.news-card img {
    width: 100%;
    aspect-ratio: 1.55 / 1;
    object-fit: cover;
}

.news-card div {
    padding: 18px 18px 22px;
}

.news-card h3 {
    min-height: 76px;
    margin: 0 0 12px;
    color: var(--replica-red-dark);
    font-size: 16px;
    line-height: 1.25;
}

.news-card p {
    margin: 0 0 18px;
    color: #7c8288;
    font-size: 13px;
    line-height: 1.55;
}

.news-card span {
    color: var(--setto-teal);
    font-size: 12px;
    font-weight: 900;
}

.news-card span::after {
    content: " ->";
}

.who-we-serve-section {
    background: #fff;
}

.who-we-serve-heading {
    margin-bottom: 32px;
    text-align: center;
}

.who-we-serve-heading .replica-kicker {
    margin-bottom: 8px;
}

.who-we-serve-heading .replica-title {
    margin: 0;
}

.who-we-serve-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.who-we-serve-card {
    min-height: 270px;
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 14px;
    padding: 26px 18px;
    border: 1px solid rgba(198,173,120,0.48);
    background: #fff;
    box-shadow: 0 14px 32px rgba(6,45,34,0.06);
    text-align: center;
}

.who-we-serve-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    color: var(--replica-red-dark);
}

.who-we-serve-icon svg {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.who-we-serve-card h3 {
    margin: 0;
    color: var(--replica-red-dark);
    font-family: Poppins, Inter, sans-serif;
    font-size: 16px;
    line-height: 1.35;
}

.who-we-serve-card p {
    margin: 0;
    color: #59655f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.resource-subnav {
    position: sticky;
    top: 0;
    z-index: 850;
    border-bottom: 1px solid #d8d3c5;
    background: rgba(255,255,255,0.96);
    box-shadow: 0 10px 28px rgba(6,45,34,0.08);
}

.resource-subnav-inner {
    display: flex;
    gap: 10px;
    align-items: center;
    overflow-x: auto;
    padding: 12px 0;
    scrollbar-width: none;
}

.resource-subnav-inner::-webkit-scrollbar {
    display: none;
}

.resource-subnav a {
    flex: 0 0 auto;
    padding: 12px 16px;
    border: 1px solid #d8d3c5;
    color: var(--replica-red-dark);
    background: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.resource-subnav a:hover {
    border-color: #c6ad78;
    background: #f8f5ed;
}

.resource-section {
    scroll-margin-top: 108px;
}

.resource-section-head {
    max-width: 820px;
    margin-bottom: 34px;
}

.resource-section-head h2,
.resource-video-copy h2 {
    margin: 0 0 16px;
    color: var(--replica-red-dark);
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.04;
}

.resource-section-head p:not(.red-kicker),
.resource-video-copy p {
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.resource-step-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.resource-step-card {
    min-height: 250px;
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 24px;
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 14px 34px rgba(6,45,34,0.07);
}

.resource-step-card span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--replica-red-dark);
    font-weight: 900;
}

.resource-step-card strong {
    color: var(--replica-red-dark);
    font-family: Poppins, Inter, sans-serif;
    font-size: 18px;
    line-height: 1.2;
}

.resource-step-card p,
.resource-faq p,
.resource-download-card p {
    margin: 0;
    color: #59655f;
    font-weight: 650;
    line-height: 1.65;
}

.resource-standards,
.resource-downloads {
    background: linear-gradient(135deg, #f8f7f2, #eef3ed);
}

.resource-standard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.resource-standard-card {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 26px;
    align-items: center;
    min-height: 280px;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6,45,34,0.09);
}

.resource-standard-card p {
    margin: 0 0 8px;
    color: #c6ad78;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.resource-standard-card h3 {
    margin: 0 0 12px;
    color: var(--replica-red-dark);
    font-size: clamp(1.5rem, 2.6vw, 2.4rem);
    line-height: 1.05;
}

.resource-standard-card div > span {
    color: #59655f;
    font-weight: 700;
    line-height: 1.65;
}

.standard-icon {
    position: relative;
    width: 132px;
    height: 132px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(198,173,120,0.7);
    background: #f8f5ed;
}

.trowel-icon::before {
    content: "";
    width: 90px;
    height: 20px;
    background: var(--replica-red-dark);
    transform: rotate(-45deg);
    transform-origin: center;
}

.trowel-icon span {
    position: absolute;
    right: 22px;
    bottom: 26px;
    width: 46px;
    height: 46px;
    border-right: 4px solid #c6ad78;
    border-bottom: 4px solid #c6ad78;
}

.trowel-icon span::after {
    content: "45deg";
    position: absolute;
    right: -6px;
    bottom: -24px;
    color: var(--replica-red-dark);
    font-size: 13px;
    font-weight: 900;
}

.coverage-icon {
    border-radius: 50%;
    background: conic-gradient(var(--replica-red-dark) 0 80%, #e8dfc8 80% 100%);
}

.coverage-icon::after {
    content: "";
    position: absolute;
    inset: 15px;
    border-radius: 50%;
    background: #fff;
}

.coverage-icon span {
    position: relative;
    z-index: 1;
    color: var(--replica-red-dark);
    font-size: 30px;
    font-weight: 900;
}

.resource-video-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(420px, 1fr);
    gap: 36px;
    align-items: stretch;
    padding: clamp(26px, 5vw, 48px);
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 20px 48px rgba(6,45,34,0.12);
}

.resource-video-placeholder {
    min-height: 310px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 12px;
    padding: 34px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(6,45,34,0.92), rgba(6,45,34,0.74)),
        url("/assets/generated/setto-v2/full-coverage-bonding-card.png") center / cover;
    text-align: center;
}

.resource-video-placeholder span {
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,0.38);
    color: #c6ad78;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.resource-video-placeholder strong {
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    line-height: 1.1;
}

.resource-video-placeholder p {
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-weight: 700;
}

.resource-download-grid,
.resource-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.resource-download-card,
.resource-faq {
    padding: 28px;
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 14px 34px rgba(6,45,34,0.07);
}

.resource-download-card span {
    display: inline-grid;
    place-items: center;
    min-width: 62px;
    height: 38px;
    margin-bottom: 18px;
    color: #fff;
    background: var(--replica-red-dark);
    font-weight: 900;
}

.resource-download-card.muted span {
    background: #59655f;
}

.resource-download-card h3,
.resource-faq h3 {
    margin: 0 0 12px;
    color: var(--replica-red-dark);
    font-size: 22px;
    line-height: 1.18;
}

.resource-download-card .replica-btn {
    margin-top: 22px;
}

.resource-faq-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-section {
    background: #fff;
}

.contact-grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(380px, 1fr);
}

.contact-copy ul {
    margin: 20px 0;
    padding: 0;
    list-style: none;
    color: #424950;
    font-weight: 700;
}

.contact-copy li {
    margin: 9px 0;
}

.replica-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 30px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(0,0,0,0.12);
}

.replica-form input,
.replica-form textarea {
    width: 100%;
    border: 0;
    padding: 14px 16px;
    background: #f1f1f1;
    color: #333;
    font-size: 14px;
}

.replica-form textarea,
.replica-form button {
    grid-column: 1 / -1;
}

.replica-form button {
    justify-self: start;
}

.homey-replica .site-footer {
    margin-top: 0;
    padding: 44px 0 0;
    color: #fff;
    background: var(--replica-red-dark);
}

.homey-replica .footer-grid {
    grid-template-columns: 1.45fr repeat(2, minmax(0, 1fr));
    gap: 30px;
    padding-bottom: 38px;
}

.homey-replica .footer-brand img {
    width: 168px;
    filter: none;
    object-fit: contain;
}

.homey-replica .footer-brand p,
.homey-replica .site-footer a,
.homey-replica .site-footer p {
    color: rgba(255, 255, 255, 0.84);
}

.homey-replica .site-footer h3 {
    color: #fff;
}

.footer-email-link {
    display: inline-flex;
    margin-top: 14px;
    color: #d8b56d !important;
    font-weight: 800;
}

.homey-replica .footer-bottom {
    position: relative;
    padding: 18px 0;
    background: transparent;
    border-top: 0;
    color: #fff;
}

.policy-content {
    max-width: 900px;
    padding: clamp(26px, 5vw, 48px);
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6,45,34,0.08);
}

.policy-content h2 {
    margin: 34px 0 12px;
    color: var(--replica-red-dark);
    font-size: clamp(1.45rem, 2.4vw, 2.1rem);
    line-height: 1.12;
}

.policy-content h2:first-of-type {
    margin-top: 0;
}

.policy-content p {
    color: #59655f;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.8;
}

.policy-content a {
    color: var(--replica-red-dark);
    font-weight: 900;
}

.policy-updated {
    margin: 0 0 28px;
    color: #8a7a55;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.replica-subpage {
    display: block;
    background: var(--replica-bg);
}

.replica-page-hero {
    position: relative;
    min-height: 500px;
    display: grid;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: var(--setto-teal-dark);
}

.replica-page-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.62;
}

.product-page-hero > img {
    object-fit: contain;
    object-position: right center;
    padding: 34px 7vw 34px 42vw;
    background: #eef0ea;
    opacity: 1;
}

.replica-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(6,45,34,0.94), rgba(6,45,34,0.68) 48%, rgba(6,45,34,0.2));
}

.replica-page-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: 42px;
    background: linear-gradient(90deg, var(--setto-teal) 0 30%, rgba(255,255,255,0.94) 30% 72%, var(--replica-red-dark) 72%);
}

.replica-page-hero-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 760px;
    padding: 86px 0 112px;
}

.replica-page-hero .red-kicker {
    color: var(--replica-red);
}

.replica-page-hero h1 {
    color: #fff;
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: 0.95;
    overflow-wrap: anywhere;
}

.replica-page-hero p:not(.red-kicker) {
    max-width: min(680px, 100%);
    margin: 24px 0 0;
    color: rgba(255,255,255,0.82);
    font-size: 18px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.replica-page-hero .cta-actions {
    justify-content: flex-start;
    margin-top: 30px;
}

.replica-card-grid,
.replica-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.replica-card-grid .solution-card,
.replica-card-grid .product-card,
.replica-card-grid .article-card {
    min-height: 100%;
    border: 1px solid #d8d3c5;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 14px 34px rgba(6, 45, 34, 0.06);
}

.replica-card-grid .card-image {
    aspect-ratio: 16 / 10;
    background: #f2f1eb;
}

.replica-card-grid .card-body {
    padding: 24px;
}

.replica-card-grid .card-body h3 {
    color: var(--replica-red-dark);
    font-size: 21px;
}

.replica-card-grid .card-body p {
    color: #59655f;
    font-weight: 650;
}

.replica-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.replica-metric-grid .metric-card {
    min-height: 136px;
    padding: 24px;
    border: 1px solid rgba(198,173,120,0.48);
    border-radius: 0;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 14px 34px rgba(6, 45, 34, 0.08);
}

.replica-metric-grid .metric-card span {
    color: #5f6b64;
    font-weight: 900;
}

.replica-metric-grid .metric-card strong {
    color: var(--replica-red-dark);
    font-size: clamp(1.35rem, 2vw, 2rem);
}

.replica-technical-block {
    background: linear-gradient(135deg, #f8f7f2, #eef3ed);
}

.replica-split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1fr);
    gap: 54px;
    align-items: center;
}

.replica-copy-block h2 {
    margin: 0 0 18px;
    color: var(--replica-red-dark);
    font-size: clamp(2.1rem, 4vw, 3.8rem);
    line-height: 1.04;
    overflow-wrap: anywhere;
}

.replica-subpage h1,
.replica-subpage h2,
.replica-subpage h3 {
    overflow-wrap: anywhere;
}

.replica-copy-block p:not(.red-kicker) {
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.75;
}

.replica-image-panel {
    overflow: hidden;
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 20px 48px rgba(6,45,34,0.12);
}

.replica-image-panel img {
    width: 100%;
    aspect-ratio: 1.35 / 1;
    object-fit: cover;
}

.replica-step-list {
    display: grid;
    gap: 18px;
}

.procedure-standards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.procedure-standards span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(6, 61, 42, 0.16);
    background: rgba(255,255,255,0.78);
    color: #063d2a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.replica-step {
    display: grid;
    grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    padding: 0;
    border: 1px solid #d8d3c5;
    background: #fff;
    box-shadow: 0 10px 28px rgba(6,45,34,0.07);
}

.step-visual {
    position: relative;
    min-height: 154px;
    aspect-ratio: 16 / 9;
    margin: 0;
    overflow: hidden;
    background: #eef1ea;
}

.step-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.step-copy {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    align-items: center;
    padding: 22px;
}

.step-copy span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--replica-red-dark);
    font-weight: 900;
}

.replica-step h3 {
    margin: 0 0 6px;
    color: var(--replica-red-dark);
}

.replica-step p {
    margin: 0;
    color: #59655f;
    font-weight: 650;
}

.replica-download-row {
    margin-top: 34px;
    text-align: center;
}

.contact-help-grid .advantage-card {
    min-height: 156px;
}

.adhesive-calculator-section {
    background: #eef3ed;
}

.calculator-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1fr);
    gap: 44px;
    align-items: stretch;
    padding: clamp(28px, 5vw, 54px);
    border: 1px solid #c9d1c8;
    background:
        linear-gradient(90deg, rgba(198,173,120,0.08), transparent 42%),
        #fff;
    box-shadow: none;
}

.calculator-copy {
    display: grid;
    align-content: center;
}

.calculator-copy h2 {
    margin: 0 0 18px;
    color: var(--replica-red-dark);
    font-size: clamp(2.1rem, 4vw, 3.8rem);
    line-height: 1.04;
}

.calculator-copy p:not(.red-kicker) {
    margin: 0 0 16px;
    color: #59655f;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.calculator-note {
    padding: 16px 18px;
    border-left: 5px solid var(--replica-red);
    background: #f7f6f1;
}

.calculator-panel {
    display: grid;
    gap: 18px;
    padding: clamp(22px, 4vw, 34px);
    background:
        radial-gradient(circle at top right, rgba(198,173,120,0.2), transparent 34%),
        linear-gradient(135deg, #0b472d, #062d22);
    color: #fff;
}

.calculator-choice-group {
    display: grid;
    gap: 9px;
}

.calculator-choice-group > span {
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.calculator-chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.calculator-chips button {
    min-height: 44px;
    border: 1px solid rgba(198,173,120,0.55);
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.86);
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.calculator-chips button:hover,
.calculator-chips button.active {
    border-color: #c6ad78;
    background: #c6ad78;
    color: #062d22;
}

.calculator-panel label {
    display: grid;
    gap: 8px;
}

.calculator-panel label span {
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.calculator-panel input,
.calculator-panel select {
    width: 100%;
    min-height: 52px;
    border: 1px solid rgba(198,173,120,0.6);
    border-radius: 0;
    padding: 13px 14px;
    color: #062d22;
    background: #fff;
    font-weight: 800;
}

.calculator-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.calculator-results article {
    min-height: 148px;
    padding: 18px;
    border: 1px solid rgba(198,173,120,0.45);
    background: rgba(255,255,255,0.08);
}

.calculator-result-wide {
    grid-column: 1 / -1;
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 20px;
    align-items: center;
}

.calculator-results span,
.calculator-results small {
    display: block;
    color: rgba(255,255,255,0.72);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.calculator-results strong {
    display: block;
    margin: 12px 0 8px;
    color: #fff;
    font-family: Poppins, Inter, sans-serif;
    font-size: clamp(1.25rem, 1.55vw, 1.75rem);
    line-height: 1.12;
    overflow-wrap: anywhere;
}

.calculator-quote {
    justify-self: start;
}

.calculator-project-note {
    margin: -2px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(198,173,120,0.35);
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.78);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
}

.contact-copy li,
.contact-copy p,
.contact-copy a {
    overflow-wrap: anywhere;
}

.replica-float-actions {
    position: fixed;
    z-index: 999;
    right: 18px;
    top: 58%;
    display: grid;
    gap: 12px;
}

.replica-float-actions a {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    color: #fff;
    background: var(--setto-teal);
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(0,0,0,0.2);
}

.qr-float-widget {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 1600;
    display: grid;
    gap: 10px;
    justify-items: end;
}

.qr-float-button {
    display: grid;
    grid-template-columns: 24px auto;
    align-items: center;
    gap: 8px;
    min-width: 58px;
    height: 54px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: #0b4b35;
    box-shadow: 0 12px 30px rgba(6,45,34,0.24);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.qr-float-button:hover {
    transform: translateY(-2px);
    background: #063426;
}

.qr-float-button.whatsapp {
    background: #118c55;
}

.qr-float-button svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

.qr-float-button span {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.qr-popover {
    position: absolute;
    right: 0;
    bottom: calc(100% + 14px);
    width: min(260px, calc(100vw - 36px));
    padding: 16px;
    border: 1px solid rgba(198,173,120,0.58);
    background: #fff;
    box-shadow: 0 20px 46px rgba(6,45,34,0.22);
}

.qr-popover[hidden] {
    display: none;
}

.qr-popover p {
    margin: 0 34px 12px 0;
    color: #062d22;
    font-size: 14px;
    font-weight: 900;
}

.qr-popover img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border: 1px solid #e5dfd2;
    background: #fff;
}

.qr-close {
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #062d22;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.replica-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.6);
}

.replica-modal.open {
    display: flex;
}

.modal-panel {
    position: relative;
    width: min(560px, 100%);
    padding: 34px;
    background: #fff;
}

.modal-panel h2 {
    margin: 0 0 20px;
}

.modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

.modal-form {
    padding: 0;
    box-shadow: none;
}

.video-modal {
    width: min(860px, 100%);
}

.video-placeholder {
    display: grid;
    place-items: center;
    min-height: 420px;
    gap: 12px;
    padding: 32px;
    color: #fff;
    background: #111;
    text-align: center;
}

.video-placeholder strong {
    font-size: 32px;
}

/* SETTO visual refinement: B2B Swiss/technical polish */
.homey-replica {
    --replica-red: #c7aa6b;
    --replica-red-dark: #063d2a;
    --replica-blue: #102f2a;
    --replica-ink: #111815;
    --replica-muted: #5f6a64;
    --replica-line: rgba(6, 61, 42, 0.16);
    --replica-bg: #f4f6f1;
    --setto-teal: #176344;
    --setto-teal-dark: #05271d;
    --setto-surface: #fbfbf7;
    --setto-panel: #ffffff;
    --setto-soft-shadow: 0 22px 70px rgba(5, 39, 29, 0.11);
    --setto-card-shadow: 0 18px 42px rgba(5, 39, 29, 0.08);
    background:
        linear-gradient(90deg, rgba(6, 61, 42, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(6, 61, 42, 0.028) 1px, transparent 1px),
        var(--setto-surface);
    background-size: 56px 56px;
}

.homey-replica a,
.homey-replica button {
    touch-action: manipulation;
}

.homey-replica a:focus-visible,
.homey-replica button:focus-visible,
.homey-replica input:focus-visible,
.homey-replica select:focus-visible,
.homey-replica textarea:focus-visible {
    outline: 3px solid rgba(199, 170, 107, 0.82);
    outline-offset: 3px;
}

.homey-replica .site-header {
    border-bottom: 1px solid rgba(6, 61, 42, 0.1);
    background: rgba(251, 251, 247, 0.94);
    box-shadow: 0 10px 28px rgba(5, 39, 29, 0.07);
    backdrop-filter: blur(18px);
}

.replica-topbar {
    background:
        linear-gradient(90deg, #05271d, #0b4b35 54%, #05271d);
}

.replica-topbar .topbar-inner {
    min-height: 42px;
    font-size: 13px;
    font-weight: 800;
}

.homey-replica .header-inner {
    min-height: 94px;
}

.homey-replica .brand img {
    width: 210px;
}

.homey-replica .nav {
    color: #173b2d;
    font-size: 14px;
}

.homey-replica .nav a,
.nav-item-trigger {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
}

.mega-menu {
    border: 1px solid rgba(6, 61, 42, 0.14);
    border-top: 3px solid var(--replica-red);
    background:
        linear-gradient(135deg, rgba(244, 246, 241, 0.72), rgba(255,255,255,0.98)),
        #fff;
    box-shadow: 0 28px 70px rgba(5, 39, 29, 0.18);
}

.mega-menu a {
    border-bottom-color: rgba(6, 61, 42, 0.1);
}

.mega-menu a:hover {
    color: var(--replica-red-dark);
}

.homey-replica .header-quote,
.contact-block-btn,
.replica-btn {
    min-height: 50px;
    border-radius: 2px;
    box-shadow: 0 14px 30px rgba(5, 39, 29, 0.16);
}

.homey-replica .header-quote:hover,
.contact-block-btn:hover,
.replica-btn:hover {
    box-shadow: 0 18px 38px rgba(5, 39, 29, 0.2);
}

.replica-hero {
    min-height: clamp(600px, 78vh, 820px);
    isolation: isolate;
}

.replica-hero-slide img {
    transform: scale(1.012);
    filter: saturate(0.95) contrast(1.04);
}

.replica-hero-slide::before {
    background:
        linear-gradient(90deg, rgba(5, 39, 29, 0.94) 0%, rgba(5, 39, 29, 0.72) 42%, rgba(5,39,29,0.12) 100%),
        linear-gradient(180deg, rgba(5,39,29,0.05), rgba(5,39,29,0.52));
}

.replica-hero-slide::after,
.replica-page-hero::after {
    height: 18px;
    background: linear-gradient(90deg, var(--replica-red) 0 18%, #fff 18% 66%, var(--setto-teal) 66%);
}

.replica-hero-content {
    max-width: 720px;
    padding-left: clamp(18px, 2vw, 30px);
    border-left: 3px solid var(--replica-red);
}

.replica-hero-content h1,
.replica-page-hero h1 {
    font-weight: 850;
    letter-spacing: 0;
    text-wrap: balance;
}

.replica-hero-content p:last-child,
.replica-page-hero p:not(.red-kicker) {
    color: rgba(255, 255, 255, 0.88);
    font-weight: 600;
}

.hero-arrow {
    border: 1px solid rgba(255,255,255,0.2);
    background: rgba(5, 39, 29, 0.28);
    transition: background 0.2s ease, transform 0.2s ease;
}

.hero-arrow:hover {
    background: rgba(199, 170, 107, 0.26);
    transform: translateY(-1px);
}

.replica-section {
    background:
        linear-gradient(90deg, rgba(6, 61, 42, 0.025) 1px, transparent 1px),
        #fff;
    background-size: 56px 56px;
}

.hot-products,
.certificate-section,
.news-section,
.adhesive-calculator-section,
.replica-technical-block {
    background:
        linear-gradient(180deg, #f7f8f3 0%, #fff 76%),
        linear-gradient(90deg, rgba(6, 61, 42, 0.03) 1px, transparent 1px);
    background-size: auto, 56px 56px;
}

.replica-title {
    letter-spacing: 0;
    text-wrap: balance;
}

.red-kicker {
    color: #9f7f3d;
    letter-spacing: 0.16em;
}

.product-catalog {
    gap: 18px;
    border: 0;
    background: transparent;
    overflow: visible;
}

.replica-product-card {
    min-height: 308px;
    overflow: hidden;
    border: 1px solid rgba(6, 61, 42, 0.13);
    background:
        linear-gradient(180deg, #fff 0%, #f8f8f3 100%);
    box-shadow: var(--setto-card-shadow);
}

.replica-product-card::before {
    left: 0;
    right: auto;
    top: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, var(--replica-red), var(--setto-teal));
    opacity: 0.9;
}

.replica-product-card:hover {
    transform: translateY(-6px);
    border-color: rgba(199, 170, 107, 0.66);
    box-shadow: 0 26px 58px rgba(5, 39, 29, 0.14);
}

.replica-product-card img {
    height: 176px;
    transition: transform 0.35s ease, filter 0.35s ease;
    filter: saturate(0.98) contrast(1.02);
}

.replica-product-card:hover img {
    transform: scale(1.045);
}

.replica-product-card h3,
.card-body h3,
.resource-download-card h3,
.resource-faq h3 {
    color: #073826;
}

.replica-product-card p,
.card-body p,
.news-card p,
.resource-section-head p:not(.red-kicker) {
    color: #596861;
}

.stat-strip {
    background:
        linear-gradient(135deg, #05271d, #0b4b35 58%, #05271d);
}

.stat-grid div {
    place-items: start center;
    align-content: center;
    border-left-color: rgba(199, 170, 107, 0.28);
}

.stat-grid strong {
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.advantage-band {
    background:
        linear-gradient(135deg, rgba(5,39,29,0.98), rgba(12,74,51,0.96)),
        linear-gradient(90deg, rgba(199,170,107,0.13) 1px, transparent 1px),
        linear-gradient(180deg, rgba(199,170,107,0.08) 1px, transparent 1px);
    background-size: auto, 56px 56px, 56px 56px;
}

.advantage-card,
.certificate-card,
.news-card,
.who-we-serve-card,
.resource-step-card,
.resource-standard-card,
.resource-download-card,
.resource-faq,
.replica-card-grid .solution-card,
.replica-card-grid .product-card,
.replica-card-grid .article-card,
.replica-metric-grid .metric-card {
    border-color: rgba(6, 61, 42, 0.14);
    box-shadow: var(--setto-card-shadow);
}

.advantage-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.035));
    border-color: rgba(199,170,107,0.42);
}

.video-card,
.certificate-card.image-card,
.news-card {
    overflow: hidden;
}

.video-card img,
.news-card img,
.certificate-card.image-card img,
.replica-card-grid .card-image img {
    transition: transform 0.45s ease, filter 0.45s ease;
}

.video-card:hover img,
.news-card:hover img,
.certificate-card.image-card:hover img,
.replica-card-grid .product-card:hover .card-image img,
.replica-card-grid .solution-card:hover .card-image img,
.replica-card-grid .article-card:hover .card-image img {
    transform: scale(1.045);
    filter: saturate(1.02) contrast(1.03);
}

.copy-note,
.calculator-note {
    border-left-color: var(--replica-red);
    background:
        linear-gradient(90deg, rgba(199,170,107,0.18), rgba(255,255,255,0.82));
}

.calculator-shell {
    border: 1px solid rgba(6, 61, 42, 0.14);
    background:
        linear-gradient(135deg, rgba(199,170,107,0.12), transparent 32%),
        #fff;
    box-shadow: var(--setto-soft-shadow);
}

.calculator-panel {
    background:
        linear-gradient(135deg, rgba(199,170,107,0.16), transparent 34%),
        linear-gradient(160deg, #0b4b35, #05271d);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.calculator-chips button,
.calculator-results article,
.calculator-project-note {
    border-color: rgba(199,170,107,0.38);
}

.calculator-chips button:hover,
.calculator-chips button.active {
    transform: translateY(-1px);
}

.calculator-panel input,
.calculator-panel select {
    border-color: rgba(199,170,107,0.72);
    box-shadow: inset 0 1px 0 rgba(5, 39, 29, 0.04);
}

.resource-subnav {
    border-block: 1px solid rgba(6, 61, 42, 0.12);
    background: rgba(251, 251, 247, 0.9);
    backdrop-filter: blur(14px);
}

.resource-subnav a {
    border: 1px solid rgba(6, 61, 42, 0.14);
    background: #fff;
}

.resource-subnav a:hover {
    border-color: rgba(199,170,107,0.76);
}

.replica-page-hero {
    min-height: 540px;
}

.replica-page-hero::before {
    background:
        linear-gradient(90deg, rgba(5,39,29,0.95), rgba(5,39,29,0.7) 50%, rgba(5,39,29,0.18)),
        linear-gradient(180deg, rgba(5,39,29,0.05), rgba(5,39,29,0.44));
}

.product-page-hero > img {
    padding: 46px 6vw 46px 46vw;
    background:
        radial-gradient(circle at 74% 52%, rgba(199,170,107,0.16), transparent 36%),
        #eef1ea;
}

.homey-replica .site-footer {
    background:
        linear-gradient(135deg, #05271d, #0b3f2d);
    border-top: 6px solid var(--replica-red);
}

.qr-float-button {
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 18px 42px rgba(5,39,29,0.26);
}

@media (prefers-reduced-motion: reduce) {
    .homey-replica *,
    .homey-replica *::before,
    .homey-replica *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (min-width: 1101px) {
    .homey-replica .menu-toggle {
        display: none;
    }
}

@media (max-width: 1100px) {
    .homey-replica .header-inner {
        min-height: 84px;
    }

    .homey-replica .menu-toggle {
        display: block;
    }

    .replica-nav-wrap {
        margin-left: 0;
    }

    .homey-replica .nav {
        position: fixed;
        top: 132px;
        left: 18px;
        right: 18px;
        display: none;
        padding: 12px;
        background: #fff;
        box-shadow: 0 18px 46px rgba(0,0,0,0.18);
    }

    .homey-replica .nav.open {
        display: flex;
    }

    .homey-replica .nav a,
    .nav-item-trigger {
        padding: 13px 12px;
    }

    .nav-item-trigger {
        justify-content: space-between;
    }

    .mega-menu {
        position: static;
        width: 100%;
        max-width: none;
        display: none;
        grid-template-columns: 1fr;
        box-shadow: none;
        border-top: 1px solid #eee;
        transform: none;
        opacity: 1;
        visibility: visible;
    }

    .nav-item:hover .mega-menu,
    .nav-item:focus-within .mega-menu {
        transform: none;
    }

    .nav-item.open .mega-menu {
        display: grid;
    }

    .header-tools {
        margin-left: auto;
    }

    .product-catalog,
    .news-grid,
    .replica-card-grid,
    .replica-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product-tds-preview .tds-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-tds-preview .tds-page {
        min-height: 480px;
    }

    .who-grid,
    .contact-grid,
    .replica-split,
    .tds-preview-layout,
    .calculator-shell,
    .resource-video-shell {
        grid-template-columns: 1fr;
    }

    .tds-feature-card {
        grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
        min-height: auto;
    }

    .calculator-results {
        grid-template-columns: 1fr;
    }

    .calculator-result-wide {
        grid-template-columns: 1fr;
    }

    .resource-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resource-standard-grid,
    .resource-download-grid,
    .resource-faq-grid {
        grid-template-columns: 1fr;
    }

    .who-we-serve-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .resource-standard-card {
        grid-template-columns: 120px 1fr;
    }
}

@media (max-width: 780px) {
    .mobile-menu-fallback {
        display: grid !important;
    }

    .replica-topbar .topbar-inner {
        width: min(100% - 28px, 1240px);
        min-height: 44px;
    }

    .topbar-contact span:last-child,
    .topbar-social {
        display: none;
    }

    .homey-replica .header-inner {
        width: min(100% - 28px, 1240px);
        min-height: 76px;
        justify-content: space-between;
        position: relative;
    }

    .homey-replica .brand img {
        width: 160px;
    }

    .language-trigger,
    .search-trigger,
    .homey-replica .header-quote {
        display: none;
    }

    .homey-replica .header-tools {
        display: flex !important;
        margin-left: auto;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .homey-replica .menu-toggle {
        display: block !important;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        background: var(--replica-red-dark);
        position: static;
        z-index: 3;
    }

    .homey-replica .menu-toggle span {
        background: #fff;
    }

    .homey-replica .nav {
        top: 120px;
    }

    .replica-hero {
        min-height: 560px;
    }

    .replica-hero-content {
        left: 20px;
        right: auto;
        width: calc(100% - 40px);
        top: 50%;
        max-width: none;
        padding: 24px;
        overflow: hidden;
    }

    .replica-hero-content h1 {
        font-size: clamp(2rem, 12vw, 3.1rem);
        overflow-wrap: anywhere;
    }

    .replica-hero-content p {
        font-size: 13px;
        line-height: 1.55;
    }

    .replica-hero-content p:last-child {
        font-size: 14px;
        line-height: 1.6;
    }

    .replica-page-hero {
        min-height: 440px;
    }

    .replica-page-hero-inner {
        padding: 58px 0 86px;
    }

    .replica-page-hero h1 {
        font-size: clamp(2.25rem, 12vw, 3.4rem);
    }

    .product-page-hero > img {
        padding: 120px 0 0 32vw;
        object-position: right bottom;
    }

    .product-catalog,
    .advantage-grid,
    .stat-grid,
    .news-grid,
    .replica-card-grid,
    .replica-metric-grid {
        grid-template-columns: 1fr 1fr;
    }

    .product-tds-preview .tds-preview-grid {
        grid-template-columns: 1fr;
    }

    .product-tds-head .replica-title {
        font-size: clamp(1.9rem, 9vw, 3rem);
    }

    .product-tds-preview .tds-page {
        min-height: auto;
    }

    .product-tds-preview .tds-page img {
        min-height: 0;
        max-height: 430px;
    }

    .product-tds-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .replica-section {
        padding: 54px 0;
    }

    .replica-title {
        margin-bottom: 34px;
    }

    .replica-product-card {
        min-height: 280px;
        padding: 22px 14px;
        box-shadow: 0 14px 30px rgba(5, 39, 29, 0.08);
    }

    .replica-product-card img {
        height: 160px;
    }

    .cta-actions {
        flex-direction: column;
        align-items: center;
    }

    .check-list,
    .replica-form {
        grid-template-columns: 1fr;
    }

    .replica-form input,
    .replica-form textarea,
    .replica-form button {
        grid-column: 1;
    }

    .calculator-shell {
        gap: 24px;
        padding: 24px;
        box-shadow: 0 16px 38px rgba(5, 39, 29, 0.1);
    }

    .calculator-panel {
        padding: 22px;
    }

    .calculator-chips {
        grid-template-columns: 1fr;
    }

    .calculator-quote {
        width: 100%;
    }

    .resource-step-grid {
        grid-template-columns: 1fr;
    }

    .who-we-serve-grid {
        grid-template-columns: 1fr;
    }

    .resource-standard-card {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .standard-icon {
        width: 112px;
        height: 112px;
    }

    .resource-video-shell {
        padding: 24px;
    }

    .resource-video-placeholder {
        min-height: 250px;
    }

    .homey-replica .footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .qr-float-widget {
        right: 14px;
        bottom: 14px;
    }

    .qr-float-button {
        grid-template-columns: 22px;
        width: 52px;
        min-width: 52px;
        padding: 0;
        justify-content: center;
    }

    .qr-float-button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .qr-popover {
        width: min(238px, calc(100vw - 28px));
    }

    .product-catalog,
    .advantage-grid,
    .stat-grid,
    .news-grid,
    .replica-card-grid,
    .replica-metric-grid,
    .homey-replica .footer-grid {
        grid-template-columns: 1fr;
    }

    .product-tds-preview .tds-page {
        padding: 12px;
    }

    .product-tds-preview .tds-page img {
        max-height: 340px;
        border-width: 7px;
    }

    .replica-step {
        grid-template-columns: 1fr;
    }

    .step-visual {
        min-height: 190px;
    }

    .step-copy {
        grid-template-columns: 52px 1fr;
        padding: 18px;
    }

    .step-copy span {
        width: 52px;
        height: 52px;
    }

    .replica-page-hero p:not(.red-kicker) {
        font-size: 15px;
    }

    .tds-feature-card,
    .tds-summary-card {
        grid-template-columns: 1fr;
    }

    .tds-feature-visual {
        padding: 22px;
    }

    .tds-feature-visual img {
        width: min(100%, 230px);
        max-height: 300px;
    }

    .tds-summary-card img {
        width: 100%;
        height: 170px;
    }

    .tds-summary-card span {
        max-width: none;
    }

    .tds-summary-card::after {
        top: auto;
        right: 18px;
        bottom: 18px;
    }

    .replica-copy-block h2,
    .contact-copy h2 {
        font-size: clamp(1.9rem, 9vw, 2.6rem);
    }

    .replica-product-card {
        min-height: 300px;
        border-left: 0;
    }

    .replica-product-card::before {
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--replica-red), var(--setto-teal));
    }

    .calculator-shell {
        padding: 18px;
    }

    .calculator-results article {
        min-height: auto;
    }

    .certificate-track {
        padding-inline: 34px;
        gap: 24px;
    }

    .certificate-card {
        flex-basis: 190px;
        height: 260px;
    }

    .replica-float-actions {
        display: none;
    }
}

/* First-pass mobile polish for the Setto replica layout. */
@media (max-width: 1100px) {
    .homey-replica .site-header {
        z-index: 1400;
    }

    .homey-replica .header-inner {
        position: relative;
        min-height: 78px;
    }

    .homey-replica .nav {
        top: 126px;
        left: 16px;
        right: 16px;
        max-height: calc(100vh - 148px);
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px;
        border: 1px solid rgba(6, 45, 34, 0.14);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 24px 64px rgba(5, 39, 29, 0.22);
    }

    .homey-replica .nav.open {
        display: flex;
    }

    .homey-replica .nav a,
    .homey-replica .nav .nav-item-trigger {
        width: 100%;
        min-height: 48px;
        padding: 14px 16px;
        border-bottom: 1px solid rgba(6, 45, 34, 0.08);
        color: #062d22;
        font-size: 14px;
        line-height: 1.25;
    }

    .homey-replica .nav > a:last-child,
    .homey-replica .nav .nav-item:last-child .nav-item-trigger {
        border-bottom: 0;
    }

    .homey-replica .nav a::after {
        display: none;
    }

    .nav-item-trigger::after {
        margin-left: auto;
        transition: transform 0.2s ease;
    }

    .nav-item.open .nav-item-trigger::after {
        transform: rotate(180deg);
    }

    .homey-replica .mega-menu {
        gap: 0;
        padding: 0 8px 8px;
        border-top: 0;
        background: #f7f6f1;
    }

    .homey-replica .mega-menu a {
        min-height: 44px;
        padding: 12px 14px !important;
        border-bottom-color: rgba(6, 45, 34, 0.08);
        color: #3e4b43;
        font-size: 13px;
    }
}

@media (max-width: 780px) {
    body.homey-replica {
        background-size: 30px 30px;
    }

    .mobile-menu-fallback {
        display: none !important;
    }

    .replica-topbar .topbar-inner {
        width: calc(100% - 28px);
        min-height: 38px;
        justify-content: center;
        text-align: center;
    }

    .topbar-contact {
        min-width: 0;
        gap: 0;
    }

    .topbar-contact span {
        max-width: 100%;
        overflow: hidden;
        font-size: 11px;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .homey-replica .header-inner {
        width: calc(100% - 28px);
        min-height: 68px;
        gap: 12px;
    }

    .homey-replica .brand img {
        width: min(142px, 42vw);
        max-height: 58px;
    }

    .replica-nav-wrap {
        display: contents;
    }

    .homey-replica .header-tools {
        position: static;
        transform: none;
        margin-left: auto;
    }

    .homey-replica .menu-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-color: #062d22;
        background: #062d22;
    }

    .homey-replica .menu-toggle span {
        width: 18px;
        background: #fff;
    }

    .homey-replica .nav {
        top: 104px;
        left: 14px;
        right: 14px;
        max-height: calc(100vh - 122px);
        border-radius: 0;
    }

    .replica-hero {
        min-height: 600px;
        background: #062d22;
    }

    .replica-hero-slide img {
        object-position: 66% center;
    }

    .replica-hero-slide::before {
        background:
            linear-gradient(180deg, rgba(6, 45, 34, 0.08) 0%, rgba(6, 45, 34, 0.48) 34%, rgba(6, 45, 34, 0.9) 100%),
            linear-gradient(90deg, rgba(6, 45, 34, 0.78), rgba(6, 45, 34, 0.08));
    }

    .replica-hero-slide::after {
        height: 38px;
        background: linear-gradient(90deg, var(--setto-teal) 0 34%, rgba(255,255,255,0.92) 34% 68%, var(--replica-red-dark) 68%);
    }

    .replica-hero-content {
        left: 22px;
        right: 22px;
        top: auto;
        bottom: 68px;
        width: auto;
        padding: 0 0 0 18px;
        border-left: 3px solid #c6ad78;
        transform: none;
    }

    .replica-hero-content.reveal,
    .replica-hero-content.reveal.visible {
        transform: none;
    }

    .replica-hero-content p {
        margin-bottom: 9px;
        font-size: 11px;
        letter-spacing: 0.1em;
    }

    .replica-hero-content h1 {
        margin-bottom: 12px;
        font-size: clamp(2rem, 9.6vw, 2.8rem);
        line-height: 1.02;
        text-wrap: balance;
    }

    .replica-hero-content p:last-child {
        max-width: 31rem;
        font-size: 14px;
        line-height: 1.55;
    }

    .hero-arrow {
        display: none;
    }

    .hero-progress {
        bottom: 31px;
    }

    .replica-page-hero {
        min-height: 460px;
        align-items: end;
    }

    .replica-page-hero > img {
        object-position: center;
        opacity: 0.5;
    }

    .product-page-hero > img {
        padding: 92px 0 132px 30vw;
        object-position: right center;
        opacity: 0.92;
    }

    .replica-page-hero::before {
        background:
            linear-gradient(180deg, rgba(6,45,34,0.12) 0%, rgba(6,45,34,0.7) 52%, rgba(6,45,34,0.96) 100%),
            linear-gradient(90deg, rgba(6,45,34,0.78), rgba(6,45,34,0.08));
    }

    .replica-page-hero-inner {
        width: 100%;
        padding: 96px 16px 54px;
        box-sizing: border-box;
    }

    .replica-page-hero h1 {
        max-width: 12ch;
        font-size: clamp(2.1rem, 9.6vw, 3rem);
        line-height: 1;
        text-wrap: balance;
    }

    .replica-page-hero p:not(.red-kicker) {
        max-width: 35rem;
        font-size: 15px;
        line-height: 1.6;
    }

    .replica-section {
        padding: 46px 0;
    }

    .container {
        width: calc(100% - 32px);
    }

    .replica-title,
    .tds-section-head .replica-title,
    .product-tds-head .replica-title {
        margin-bottom: 24px;
        font-size: clamp(1.9rem, 8.5vw, 2.8rem);
        line-height: 1.04;
        text-wrap: balance;
    }

    .product-catalog,
    .advantage-grid,
    .stat-grid,
    .news-grid,
    .replica-card-grid,
    .replica-metric-grid,
    .resource-step-grid,
    .who-we-serve-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        border: 0;
        background: transparent;
        overflow: visible;
    }

    .replica-product-card,
    .news-card,
    .replica-card-grid .solution-card,
    .replica-card-grid .product-card,
    .replica-card-grid .article-card,
    .replica-metric-grid .metric-card,
    .who-we-serve-card,
    .advantage-card {
        min-height: auto;
        border: 1px solid rgba(6, 45, 34, 0.12);
        box-shadow: 0 12px 30px rgba(5, 39, 29, 0.08);
    }

    .replica-product-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        align-items: center;
        justify-items: start;
        gap: 18px;
        padding: 18px;
        text-align: left;
    }

    .replica-product-card::before {
        left: 0;
        top: 0;
        bottom: 0;
        right: auto;
        width: 4px;
        height: auto;
        background: linear-gradient(180deg, var(--replica-red), var(--setto-teal));
    }

    .replica-product-card img {
        width: 112px;
        height: 112px;
        margin: 0;
    }

    .replica-product-card h3 {
        font-size: 17px;
    }

    .replica-product-card p {
        font-size: 13px;
    }

    .stat-grid div {
        min-height: 88px;
        border: 1px solid rgba(198,173,120,0.26);
    }

    .advantage-band {
        padding: 46px 0;
    }

    .advantage-card {
        justify-items: start;
        min-height: 92px;
        padding: 20px;
        text-align: left;
    }

    .who-grid,
    .contact-grid,
    .replica-split,
    .tds-preview-layout,
    .calculator-shell,
    .resource-video-shell,
    .resource-standard-card,
    .resource-download-grid,
    .resource-faq-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .video-card img,
    .replica-image-panel img {
        aspect-ratio: 1.12 / 1;
    }

    .check-list {
        gap: 10px;
    }

    .calculator-shell {
        padding: 20px;
        border-color: rgba(6, 45, 34, 0.12);
        box-shadow: 0 16px 36px rgba(5, 39, 29, 0.08);
    }

    .calculator-copy h2,
    .replica-copy-block h2,
    .contact-copy h2 {
        font-size: clamp(1.9rem, 8.5vw, 2.65rem);
    }

    .calculator-copy p:not(.red-kicker),
    .replica-copy-block p:not(.red-kicker),
    .contact-copy p {
        font-size: 15px;
        line-height: 1.65;
    }

    .calculator-panel {
        gap: 14px;
        padding: 20px;
    }

    .calculator-panel input,
    .calculator-panel select,
    .replica-form input,
    .replica-form textarea {
        min-height: 52px;
        font-size: 16px;
    }

    .calculator-results {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .calculator-results article {
        min-height: auto;
        padding: 15px;
    }

    .tds-feature-card,
    .tds-summary-card {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .tds-feature-copy {
        padding: 22px;
    }

    .tds-summary-card {
        padding: 16px;
    }

    .tds-summary-card img {
        width: 100%;
        height: 180px;
    }

    .tds-summary-card::after {
        top: auto;
        right: 18px;
        bottom: 18px;
    }

    .product-tds-preview .tds-page {
        padding: 14px;
    }

    .replica-form {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 20px;
        box-shadow: 0 14px 34px rgba(5, 39, 29, 0.1);
    }

    .replica-form input,
    .replica-form textarea,
    .replica-form button {
        grid-column: 1;
    }

    .replica-form button,
    .replica-btn,
    .cta-actions .replica-btn,
    .product-tds-actions .replica-btn {
        width: 100%;
        min-height: 50px;
    }

    .cta-actions,
    .hero-actions,
    .product-tds-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .news-card h3 {
        min-height: auto;
    }

    .homey-replica .footer-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .float-actions,
    .replica-float-actions {
        right: 14px;
        bottom: 14px;
        transform: none;
    }
}

@media (max-width: 520px) {
    .replica-hero {
        min-height: 580px;
    }

    .replica-hero-slide img {
        object-position: 63% center;
    }

    .replica-hero-content {
        left: 18px;
        right: 18px;
        bottom: 76px;
    }

    .replica-hero-content h1 {
        font-size: clamp(2rem, 11vw, 2.75rem);
    }

    .hero-arrow {
        width: 38px;
        height: 38px;
    }

    .hero-arrow::before {
        inset: 12px;
    }

    .replica-page-hero {
        min-height: 430px;
    }

    .product-page-hero > img {
        padding: 86px 0 126px 22vw;
    }

    .replica-product-card {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
    }

    .replica-product-card img {
        width: 94px;
        height: 94px;
    }

    .tds-feature-visual img {
        width: min(100%, 220px);
        max-height: 290px;
    }

    .certificate-track {
        padding-inline: 0;
    }

    .float-actions {
        left: 14px;
        right: 14px;
        bottom: 12px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .float-actions a {
        justify-content: center;
        min-height: 42px;
        padding: 10px 12px;
    }
}
