:root {
    --color-primary: #a52d26;
    --color-primary-hover: #84231e;
    --color-ink: #171a19;
    --color-mineral: #58605c;
    --color-lab: #f5f7f5;
    --color-border: #d9dedb;
    --font-display: 'Archivo', sans-serif;
    --font-body: 'DM Sans', sans-serif;
    --header-height: 68px;
    --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    letter-spacing: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

body {
    min-width: 320px;
    color: var(--color-ink);
    background: #fff;
    font: 16px/1.6 var(--font-body);
}

body.menu-open, body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button { color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
address { font-style: normal; }
img, video { display: block; max-width: 100%; }
svg { width: 22px; height: 22px; flex-shrink: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 4px; }
::selection { color: #fff; background: var(--color-primary); }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.18; }

.container { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.section { padding-block: 80px; scroll-margin-top: var(--header-height); }
.section-heading { max-width: 920px; margin-bottom: 36px; }
.section-heading h2, .about-lead h2 { font-size: 42px; margin-bottom: 18px; }
.section-heading > p, .about-lead p { color: var(--color-mineral); font-size: 18px; max-width: 70ch; }
.section-heading .product-notice, .product-notice { font-size: 14px; margin-top: 16px; color: var(--color-mineral); }
.section-heading .catalog-label { color: var(--color-primary); font-size: 14px; margin-top: 8px; }
.section-kicker { font-size: 14px; color: var(--color-primary); margin-bottom: 12px; }
.skip-link { position: fixed; z-index: 3000; top: 12px; left: 12px; padding: 12px; color: #fff; background: var(--color-ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-color 160ms ease, color 160ms ease;
}
.btn-primary { color: #fff; background: var(--color-primary); }
.btn-primary:hover { background: var(--color-primary-hover); }
.btn-outline { background: #fff; color: var(--color-primary); border-color: var(--color-primary); }
.btn-outline:hover { background: #faf0ef; }
.btn-ghost { color: #fff; border-color: #fff; background: transparent; }
.btn-ghost:hover { background: #ffffff1f; }
.btn-light { background: var(--color-lab); }
.btn-large { min-height: 56px; padding-inline: 30px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--color-primary); min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }

.header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid #e7e9e7; }
.header-inner { height: var(--header-height); display: flex; align-items: center; gap: 26px; }
.logo, .footer-logo { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-display); font-size: 23px; line-height: 1; white-space: nowrap; }
.logo-mark { color: var(--color-primary); display: inline-flex; }
.logo-mark svg { width: 36px; height: 40px; }
.nav { margin-inline: auto; }
.nav-list { display: flex; gap: 20px; }
.nav-link { display: flex; align-items: center; min-height: 48px; font-size: 14px; }
.nav-link:hover, .nav-link.active { color: var(--color-primary); }
.header-cta { min-height: 44px; padding: 10px 20px; font-size: 14px; }
.mobile-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: transparent; }
.mobile-menu { display: none; }

.hero { height: min(670px, calc(100svh - var(--header-height) - 140px)); position: relative; color: #fff; isolation: isolate; scroll-margin-top: var(--header-height); }
.hero-banner, .hero-slide, .hero-scrim { position: absolute; inset: 0; }
.hero-banner { z-index: -2; overflow: hidden; }
.hero-slide { opacity: 0; transition: opacity 700ms var(--ease-standard); }
.hero-slide.active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.hero-scrim { z-index: -1; background: linear-gradient(90deg, rgb(0 0 0 / 66%), rgb(0 0 0 / 28%) 62%, rgb(0 0 0 / 8%)); }
.hero-shell { height: 100%; display: flex; align-items: center; padding-bottom: 65px; }
.hero-copy { max-width: 840px; }
.hero-copy h1 { font-size: 56px; line-height: 1.12; font-weight: 700; }
.hero-summary { margin-top: 26px; max-width: 510px; font-size: 20px; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.hero-copy.content-ready h1 { animation: hero-copy-in 480ms var(--ease-standard) both; }
.hero-copy.content-ready .hero-summary { animation: hero-copy-in 480ms 70ms var(--ease-standard) both; }
.hero-copy.content-ready .hero-actions { animation: hero-copy-in 480ms 140ms var(--ease-standard) both; }
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.hero-controls { position: absolute; left: 0; right: 0; bottom: 28px; display: flex; align-items: center; gap: 8px; }
.hero-progress { position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; background: #ffffff55; transform-origin: left; overflow: hidden; }
.hero-progress-bar { display: block; width: 100%; height: 100%; background: #e95342; transform: scaleX(0); transform-origin: left; }
.hero-arrow, .hero-pause { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; color: #fff; background: transparent; border: 0; border-radius: 4px; }
.hero-arrow:hover, .hero-pause:hover { background: #ffffff26; }
.hero-dots { display: flex; order: -1; margin-right: 16px; }
.hero-dot { width: 44px; height: 44px; border: 0; background: transparent; position: relative; }
.hero-dot::after { content: ''; position: absolute; left: 4px; right: 4px; top: 21px; height: 3px; background: #ffffff8c; }
.hero-dot.active::after { background: #e95342; }
.hero :focus-visible { outline-color: #fff; }

.products { padding-top: 58px; }
.product-filters { display: flex; flex-wrap: wrap; gap: 10px 28px; border-bottom: 1px solid var(--color-border); margin-bottom: 30px; }
.filter-btn { padding: 12px 0; min-height: 48px; font-size: 16px; border: 0; border-bottom: 2px solid transparent; background: transparent; }
.filter-btn.active { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 26px; }
.product-card { min-width: 0; text-align: left; display: block; background: none; border: 0; border-radius: 0; }
.product-card-media, .product-detail-media { display: block; position: relative; aspect-ratio: 1; background: #fff; overflow: hidden; }
.product-card-media img, .product-detail-media img { width: 100%; height: 100%; object-fit: contain; }
.product-card-copy { display: grid; position: relative; gap: 7px; padding: 16px 28px 0 0; }
.product-category { color: var(--color-primary); font-size: 14px; }
.product-card-copy strong { font: 600 19px/1.35 var(--font-display); }
.product-card-copy > span:last-of-type { color: var(--color-mineral); font-size: 15px; }
.product-card-copy > svg { position: absolute; right: 0; top: 45px; color: var(--color-primary); }
.image-fallback { display: none; position: absolute; inset: 0; align-items: center; justify-content: center; flex-direction: column; gap: 10px; padding: 20px; text-align: center; color: var(--color-mineral); }
.image-missing .image-fallback { display: flex; }
.image-fallback small { font-size: 14px; }
.products-more { text-align: center; margin-top: 40px; }
.products-more:has(> button[hidden]) { display: none; }
.products-more .btn { min-width: 280px; }
.section-action-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px 28px; margin-top: 20px; color: var(--color-mineral); }

.customization { border-top: 1px solid var(--color-border); }
.customization-heading { max-width: 860px; }
.capability-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; }
.capability-item h3 { font-size: 20px; }
.capability-item h3::after { content: ''; display: block; width: 40px; height: 2px; background: var(--color-primary); margin-block: 14px; }
.capability-item p { color: var(--color-mineral); }
.process-shell { margin-top: 48px; }
.custom-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.process-step { position: relative; padding-right: 24px; }
.process-step::before { content: ''; position: absolute; top: 17px; height: 1px; background: #c77d77; left: 35px; right: 0; }
.process-step:last-child::before { display: none; }
.process-number { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; background: var(--color-primary); color: #fff; font-weight: 600; border-radius: 4px; }
.process-step h3 { margin-block: 18px 10px; font-size: 18px; }
.process-step p { font-size: 15px; color: var(--color-mineral); }
.process-action { margin-top: 32px; text-align: center; }
.process-action .btn { min-width: 190px; }

.contact { border-top: 1px solid var(--color-border); }
.contact-layout { display: flex; flex-direction: column; gap: 32px; }
.contact-panel { order: -1; }
.contact-details { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 24px; }
.contact-details > a, .contact-details > div { display: flex; gap: 12px; align-items: flex-start; min-width: 0; min-height: 48px; }
.contact-details svg { color: var(--color-primary); margin-top: 4px; }
.contact-details span { min-width: 0; overflow-wrap: anywhere; font-size: 14px; color: var(--color-mineral); }
.contact-details small { display: block; font-size: 16px; color: var(--color-ink); font-weight: 600; margin-bottom: 4px; }
.contact-details a:hover span { color: var(--color-primary); }
.contact-form-shell { width: 100%; border: 1px solid var(--color-border); border-radius: 4px; overflow: hidden; }
.form-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; min-height: 58px; padding: 14px 22px; color: var(--color-primary); background: #fff; border: 0; font-weight: 600; text-align: left; }
.form-toggle span { display: flex; align-items: center; gap: 12px; }
.form-toggle.active { border-bottom: 1px solid var(--color-border); }
.contact-form { display: none; padding: 28px; }
.contact-form.active { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.form-row { display: contents; }
.form-group { min-width: 0; }
.form-group label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.form-group label > span[aria-hidden] { color: var(--color-primary); }
.form-group input:not([type='checkbox']), .form-group select, .form-group textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #bfc6c1; border-radius: 3px; background: #fff; color: var(--color-ink); font-size: 16px; }
.form-group textarea { resize: vertical; min-height: 108px; }
.form-group input::placeholder, .form-group textarea::placeholder { color: #6d746f; font-size: 14px; }
.form-group input[aria-invalid='true'] { border-color: var(--color-primary); background: #fff8f7; }
.form-error { display: block; margin-top: 5px; font-size: 14px; color: #92221b; }
.form-group.checkbox-group { grid-column: 1 / -1; }
.form-group .checkbox-label { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; font-weight: 400; font-size: 16px; margin: 0; }
.checkbox-label input { appearance: auto; width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--color-primary); }
.form-help { color: var(--color-mineral); font-size: 14px; }
.checkbox-group .form-help { margin-left: 30px; }
.form-group:has(textarea), .contact-form > .btn, .email-help, .form-status { grid-column: 1 / -1; }
.contact-form > .btn { justify-self: center; margin-top: 4px; }
.email-help { text-align: center; margin-top: -8px; }
.form-status:empty { display: none; }
.form-status.notice { padding: 14px 16px; background: #edf5ef; color: #315e49; font-size: 15px; }

.about { background: var(--color-lab); }
.about-layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 70px; align-items: start; }
.about-lead p { margin-top: 24px; }
.evidence-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 36px; border-left: 1px solid var(--color-border); padding-left: 48px; }
.evidence-rail h3 { font-size: 24px; margin-bottom: 14px; }
.evidence-rail article p { font-size: 17px; }
.about-experience, .about-documentation { grid-column: 1 / -1; font-size: 17px; }
.about-experience { padding-top: 24px; border-top: 1px solid var(--color-border); }
.about-experience strong { color: var(--color-primary); }
.about-documentation { color: var(--color-mineral); }

.factory { padding-block: 64px; border-bottom: 1px solid var(--color-border); }
.factory-heading h2, .clients-heading h2, .faq-heading h2 { font-size: 32px; }
.video-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.factory-capability { padding-right: 22px; border-right: 1px solid var(--color-border); }
.factory-capability:last-child { border: 0; }
.factory-capability h3 { font-size: 18px; margin-bottom: 12px; }
.factory-capability p { font-size: 15px; color: var(--color-mineral); }
.factory-action { margin-top: 24px; }
.video-card { text-align: left; border: 0; background: none; }
.video-poster { display: flex; position: relative; aspect-ratio: 16 / 9; background: #edf0ed; align-items: center; justify-content: center; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; }
.video-play { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; background: var(--color-primary); color: #fff; border-radius: 4px; }
.video-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 14px; font-size: 16px; }
.video-meta small { font-size: 14px; }
.clients { padding-block: 64px; }
.client-logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 28px 40px; margin-top: 32px; }
.client-logo { min-width: 0; height: 112px; display: flex; align-items: center; justify-content: center; padding: 16px; background: #1b1f1d; border: 1px solid #303633; }
.client-logo img { width: auto; height: auto; max-width: min(100%, 185px); max-height: 64px; object-fit: contain; }
.client-logo-dark { background: #1b1f1d; }
.case-study { border-top: 1px solid var(--color-border); padding-top: 26px; }
.case-study-copy { max-width: 920px; }
.case-study h3 { font-size: 22px; margin-bottom: 12px; }
.case-study p { color: var(--color-mineral); }
.case-study .btn { padding: 12px 0; min-height: 44px; color: var(--color-primary); background: none; text-decoration: underline; text-underline-offset: 5px; margin-top: 10px; }
.faq { padding-block: 64px; border-top: 1px solid var(--color-border); }
.faq-layout { display: grid; grid-template-columns: 0.8fr 1.4fr; gap: 64px; }
.faq-heading p { font-size: 16px; }
.faq-item { border-bottom: 1px solid var(--color-border); }
.faq-item:first-child { border-top: 1px solid var(--color-border); }
.faq-question { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 62px; border: 0; background: none; text-align: left; padding: 16px 0; font: 500 17px/1.4 var(--font-body); }
.faq-question svg { color: var(--color-mineral); }
.faq-answer { padding: 0 34px 20px 0; color: var(--color-mineral); }

.footer { background: var(--color-ink); color: #fff; padding-top: 48px; }
.footer-main { display: grid; grid-template-columns: 1.4fr 0.8fr 0.65fr 1.2fr; gap: 36px; padding-bottom: 36px; }
.footer-brand p { margin-top: 18px; font-size: 14px; color: #bbc3bd; }
.footer-column h2 { font: 600 16px var(--font-body); margin-bottom: 14px; }
.footer-column a, .footer-column > span { font-size: 14px; color: #d0d6d2; }
.footer-column li a { display: inline-flex; min-height: 44px; align-items: center; }
.footer-column a:hover { color: #fff; text-decoration: underline; }
.footer-contact > a, .footer-contact > span { display: block; margin-bottom: 9px; overflow-wrap: anywhere; }
.footer-contact > a { min-height: 44px; }
.footer-social { display: flex; gap: 8px; margin-top: 12px; }
.footer-social a { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #465049; border-radius: 4px; }
.footer-social .social-mark-image { width: 22px; height: 22px; object-fit: contain; display: block; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding-block: 22px; border-top: 1px solid #38433c; font-size: 14px; color: #bbc3bd; }
.footer-bottom > div { display: flex; gap: 18px; }
.whatsapp-float { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: grid; place-items: center; width: 48px; height: 48px; color: #fff; background: #246640; border-radius: 6px; box-shadow: 0 3px 12px #0002; }

.modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 28px; opacity: 0; transition: opacity 200ms ease; }
.modal.active { opacity: 1; }
.modal-backdrop { position: absolute; inset: 0; border: 0; background: #0009; }
.modal-content { position: relative; width: min(1080px, 100%); max-height: calc(100dvh - 56px); overflow-y: auto; background: #fff; border-radius: 6px; }
.modal-close { position: absolute; right: 12px; top: 12px; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; background: #fff; border: 1px solid var(--color-border); border-radius: 4px; }
.product-detail { display: grid; grid-template-columns: 0.9fr 1.1fr; }
.product-gallery { min-width: 0; align-self: start; margin: 64px 0 28px 28px; }
.product-detail-media { width: 100%; }
.product-gallery-thumbnails { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 14px; }
.product-thumbnail { min-width: 0; min-height: 44px; aspect-ratio: 1; padding: 3px; background: #fff; border: 1px solid var(--color-border); border-radius: 3px; }
.product-thumbnail[aria-pressed='true'] { border: 2px solid var(--color-primary); padding: 2px; }
.product-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery-status { margin-top: 8px; color: var(--color-mineral); font-size: 14px; }
.product-source { display: flex; width: fit-content; margin-bottom: 16px; }
.product-detail-copy { padding: 64px 32px 32px; }
.product-detail-copy h2 { font-size: 30px; margin-block: 10px 16px; }
.product-detail-summary { color: var(--color-mineral); }
.product-specs { margin-block: 24px; }
.product-specs > div { padding-block: 12px; border-top: 1px solid var(--color-border); }
.product-specs dt { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.product-specs dd { font-size: 16px; color: var(--color-mineral); }
.video-modal-content { padding: 28px; }
.video-modal-content h2 { font-size: 24px; margin: 8px 48px 24px 0; }
.video-stage video { width: 100%; max-height: 70dvh; }
.no-script-fallback { padding: 64px 0; background: var(--color-lab); }
.no-script-fallback h1 { max-width: 800px; font-size: 42px; margin-bottom: 20px; }
.no-script-fallback ul { margin-block: 24px; }
.no-script-actions { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 1199px) {
    .header-inner { gap: 18px; }
    .nav-list { gap: 14px; }
    .logo { font-size: 20px; }
    .header-cta { padding-inline: 14px; }
    .hero-copy h1 { font-size: 50px; }
    .contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
    .nav, .header-cta { display: none; }
    .mobile-toggle { display: flex; margin-left: auto; }
    .mobile-menu.active { display: block; position: fixed; inset: var(--header-height) 0 0; z-index: 99; padding: 24px 32px; background: #fff; overflow-y: auto; }
    .mobile-nav-link { display: block; padding-block: 11px; min-height: 44px; }
    .mobile-menu-cta { margin-top: 20px; }
    .hero { height: min(640px, calc(100svh - var(--header-height) - 140px)); }
    .hero-copy h1 { font-size: 46px; }
    .section-heading h2, .about-lead h2 { font-size: 36px; }
    .capability-rail { gap: 28px; }
    .about-layout { gap: 32px; }
    .evidence-rail { padding-left: 28px; gap: 22px; }
    .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .factory-capability:nth-child(2) { border-right: 0; }
    .faq-layout { gap: 32px; }
    .footer-main { grid-template-columns: 1.2fr 1fr; }
}

@media (max-width: 767px) {
    .container { width: calc(100% - 40px); }
    .section { padding-block: 52px; }
    .section-heading { margin-bottom: 28px; }
    .section-heading h2, .about-lead h2 { font-size: 32px; }
    #products .section-heading h2 { padding-right: 56px; }
    .products-heading h2 { padding-inline-end: 56px; }
    .section-heading > p, .about-lead p { font-size: 17px; }
    .section-heading .product-notice, .section-heading .catalog-label { font-size: 14px; }
    .hero { height: min(650px, calc(100svh - 200px)); min-height: 500px; }
    .hero-shell { align-items: center; padding-bottom: 80px; }
    .hero-copy h1 { font-size: 36px; line-height: 1.14; }
    .hero-summary { font-size: 17px; margin-top: 22px; }
    .hero-actions { gap: 10px; margin-top: 26px; }
    .btn-large { padding-inline: 18px; min-height: 50px; font-size: 15px; }
    .hero-actions .btn-ghost svg { display: none; }
    .hero-controls { bottom: 20px; gap: 0; }
    .hero-dots { margin-right: 4px; }
    .hero-scrim { background: linear-gradient(90deg, #000b, #0005); }
    .product-filters { gap: 4px 20px; margin-bottom: 24px; }
    .filter-btn { font-size: 14px; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
    .product-card-copy { padding: 12px 0 0; gap: 6px; }
    .product-card-copy strong { font-size: 17px; padding-right: 18px; }
    .product-card-copy > span:last-of-type { font-size: 14px; }
    .product-card-copy > svg { width: 17px; height: 17px; top: 42px; }
    .products-more .btn { min-width: 240px; }
    .section-action-row { gap: 0; text-align: center; font-size: 15px; }
    .capability-rail { grid-template-columns: 1fr; gap: 26px; }
    .capability-item h3::after { margin-block: 10px; }
    .custom-process { grid-template-columns: 1fr; gap: 0; }
    .process-step { display: grid; grid-template-columns: 36px 1fr; gap: 18px; padding: 0 0 24px; }
    .process-step::before { top: 36px; bottom: 0; left: 17px; width: 1px; height: auto; right: auto; }
    .process-step h3 { margin: 6px 0 8px; }
    .process-action { margin-top: 4px; }
    .contact-details { gap: 20px 16px; }
    .contact-details > a, .contact-details > div { gap: 8px; }
    .contact-details svg { width: 18px; height: 18px; }
    .contact-details small { font-size: 14px; }
    .contact-form { padding: 20px 16px; }
    .contact-form.active { grid-template-columns: 1fr; gap: 18px; }
    .form-toggle { padding-inline: 16px; }
    .form-group .checkbox-label { font-size: 15px; }
    .about-layout { grid-template-columns: 1fr; }
    .evidence-rail { border-left: 0; padding-left: 0; }
    .evidence-rail h3 { font-size: 22px; }
    .evidence-rail article p, .about-experience, .about-documentation { font-size: 16px; }
    .video-grid { gap: 26px 18px; }
    .factory-capability { padding-right: 12px; }
    .factory-capability h3 { font-size: 17px; }
    .factory-capability p { font-size: 14px; }
    .client-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .client-logo { height: 96px; padding: 12px; }
    .faq-layout { grid-template-columns: 1fr; gap: 0; }
    .faq-question { font-size: 16px; }
    .footer-main { gap: 28px; }
    .footer-brand, .footer-contact { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: 14px; padding-right: 40px; }
    .whatsapp-float { width: 44px; height: 44px; right: 12px; bottom: 12px; }
    .modal { padding: 12px; }
    .modal-content { max-height: calc(100dvh - 24px); }
    .product-detail { grid-template-columns: 1fr; }
    .product-gallery { margin: 64px 20px 0; }
    .product-gallery-thumbnails { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .product-thumbnail { height: 56px; aspect-ratio: auto; }
    .product-detail-copy { padding: 24px 20px; }
    .product-detail-copy h2 { font-size: 26px; }
    .video-modal-content { padding: 20px; }
    .no-script-fallback h1 { font-size: 32px; }
}

@media (max-width: 359px) {
    .container { width: calc(100% - 32px); }
    .hero-copy h1 { font-size: 32px; }
    .hero-summary { font-size: 16px; }
    .hero-actions { gap: 8px; }
    .btn-large { font-size: 14px; padding-inline: 14px; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card-copy strong { font-size: 19px; }
    .contact-details { grid-template-columns: 1fr; }
    .video-grid { grid-template-columns: 1fr; }
    .factory-capability { border-right: 0; padding-right: 0; }
    .section-heading h2, .about-lead h2 { font-size: 28px; }
    #products .section-heading h2 { padding-right: 52px; }
    .hero-controls { gap: 0; }
    .hero-dots { margin-right: 0; }
    .hero-dot { width: 39px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; animation: none !important; }
    .hero-slide img, .hero-copy h1, .hero-summary, .hero-actions { transform: none !important; opacity: 1 !important; }
    .hero-progress { display: none; }
}

/* Catalog and buyer inquiry refinement — shared by static pages. */
.product-card-media { aspect-ratio: 4 / 3; background: #f5f2ec; }
.product-card-media img { width: 100%; height: 100%; object-fit: cover; }
.product-card { text-align: left; }
.product-card-copy small { color: var(--color-mineral); font-size: 12px; }
.factory-proof { display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin-bottom:48px; }
.factory-proof img { width:100%;border-radius:4px; }
.factory-proof h3 { font-size:30px;margin-bottom:20px; }
.factory-proof p { color:var(--color-mineral);margin-bottom:20px; }
.contact-form.active { display:block; }
.form-details-grid { display:grid;grid-template-columns:1fr 1fr;gap:22px; }
.contact-form > * + * { margin-top:24px; }
.inquiry-product { padding:18px 20px;background:#f6f2ed;border-left:3px solid var(--color-primary); }
.inquiry-product strong,.inquiry-product a { display:block; }
.inquiry-product a { margin-top:5px;font-size:14px;text-decoration:underline; }
.inquiry-extra { border-block:1px solid var(--color-border);padding:18px 0; }
.inquiry-extra summary { cursor:pointer;font-weight:600;min-height:28px; }
.inquiry-extra[open] summary { margin-bottom:24px; }
.inquiry-extra .checkbox-group { margin-top:24px; }
.inquiry-actions { display:flex;gap:12px;flex-wrap:wrap; }
.bot-field { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.form-help a { text-decoration:underline; }
button:disabled { opacity:.6;cursor:wait; }
.breadcrumbs { display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--color-mineral);margin-bottom:36px; }
.breadcrumbs > * + *::before { content:'/';margin-right:12px;color:#a0a59f; }
.breadcrumbs a:hover { color:var(--color-primary); }
.catalog-intro h1 { font-size:clamp(36px,5vw,62px);max-width:800px; }
.catalog-lead { max-width:750px;color:var(--color-mineral);font-size:18px;margin-top:20px; }
.catalog-tools { margin-top:40px; }
.catalog-tools > label { display:block;font-weight:600;font-size:14px;margin-bottom:8px; }
#catalog-search { width:min(620px,100%);padding:15px 18px;border:1px solid #abb3ad;border-radius:4px;background:#fff; }
.catalog-filters { display:flex;flex-wrap:wrap;gap:8px;margin:24px 0; }
.catalog-filter { padding:11px 18px;min-height:44px;border:1px solid var(--color-border);background:#fff;border-radius:3px;font-size:14px; }
.catalog-filter.active { background:var(--color-ink);color:#fff;border-color:var(--color-ink); }
#catalog-count { font-size:14px;color:var(--color-mineral);margin-bottom:24px; }
.catalog-more { display:block;margin:42px auto 0; }
#catalog-empty { padding:48px 0; }
#catalog-empty a { text-decoration:underline;color:var(--color-primary); }
.detail-heading { margin-bottom:32px;max-width:950px; }
.detail-heading h1 { font-size:clamp(30px,4vw,50px);margin-bottom:12px; }
.detail-heading > p:last-child { color:var(--color-mineral);font-size:14px; }
.detail-layout { display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start; }
.detail-gallery { min-width:0;position:sticky;top:90px; }
.detail-image-stage { aspect-ratio:4/3;background:#f5f2ec;display:flex;align-items:center;justify-content:center;padding:16px; }
.detail-image-stage img { width:100%;height:100%;object-fit:contain; }
.detail-thumbnails { display:flex;gap:10px;overflow:auto;padding:12px 3px 8px; }
.detail-thumbnails button { flex:0 0 68px;width:68px;height:68px;padding:3px;border:1px solid var(--color-border);background:#fff;border-radius:3px; }
.detail-thumbnails button[aria-pressed=true] { border:2px solid var(--color-primary); }
.detail-thumbnails img { width:100%;height:100%;object-fit:contain; }
.gallery-caption,.spec-note { font-size:13px;color:var(--color-mineral); }
.detail-intro { font-size:18px;color:var(--color-mineral);margin-bottom:24px; }
.detail-actions { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px; }
.detail-buying .product-specs { margin-top:26px; }
.spec-note { margin-top:16px; }
.spec-request { background:#f5f7f5;padding:24px;margin:28px 0; }
.spec-request h2 { font-size:21px;margin-bottom:12px; }
.spec-request p { font-size:15px;color:var(--color-mineral);margin-bottom:16px; }
.detail-context,.related-section { margin-top:70px;border-top:1px solid var(--color-border);padding-top:40px; }
.detail-context h2,.related-section h2 { font-size:30px;margin-bottom:28px; }
.detail-next-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:32px; }
.detail-next-steps p { color:var(--color-mineral);font-size:15px;margin-top:10px; }
.product-mobile-cta { display:none; }
@media(max-width:767px) {
 .hero-scrim { background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.3)),linear-gradient(0deg,rgba(0,0,0,.2),transparent); }
 .hero-copy h1 { max-width:10ch; }
 .factory-proof,.detail-layout { grid-template-columns:1fr;gap:26px; }
 .factory-proof h3 { font-size:26px; }
 .form-details-grid { grid-template-columns:1fr;gap:18px; }
 .inquiry-actions .btn { flex:1 1 150px; }
 .catalog-filters { gap:8px; }
 .catalog-filter { padding:10px 12px;font-size:13px; }
 .breadcrumbs { margin-bottom:24px; }
 .detail-gallery { position:static; }
 .detail-heading { margin-bottom:24px; }
 .detail-heading h1 { font-size:32px; }
 .detail-image-stage { max-height:310px; }
 .detail-thumbnails button { flex-basis:56px;width:56px;height:56px; }
 .detail-actions .btn { flex:1 1 145px; }
 .detail-next-steps { grid-template-columns:1fr;gap:22px; }
 .product-mobile-cta { display:flex;position:fixed;z-index:800;bottom:0;left:0;right:0;gap:12px;align-items:center;justify-content:space-between;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0000000b; }
 .product-mobile-cta span { font-size:13px;line-height:1.4;max-width:48%; }
 .catalog-page:has(.product-mobile-cta) { padding-bottom:100px; }
}
.privacy-copy { max-width:850px; }
.privacy-copy h1 { font-size:42px;margin-bottom:18px; }
.privacy-copy h2 { font-size:25px;margin:32px 0 14px; }
.privacy-copy p { color:var(--color-mineral);margin-bottom:20px; }
.privacy-copy p a { color:var(--color-primary);text-decoration:underline; }
.client-logo,.client-logo-dark { background:#fff;border:1px solid var(--color-border);border-radius:4px; }
.client-logo-dark img { background:#1b1f1d;padding:10px 14px;border-radius:3px;max-height:76px; }
.factory-photos { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 0 42px; }
.factory-photos img { width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px; }
.factory-photos figcaption { margin-top:12px;font-size:15px;font-weight:600; }
@media(max-width:600px){.factory-photos { gap:12px; }.factory-photos figcaption{font-size:12px;}}
.form-toggle { scroll-margin-top:calc(var(--header-height) + 16px); }
.form-toggle[aria-expanded=true] > svg:last-child { transform:rotate(180deg); }
@media(max-width:600px){.contact-details > a:first-child,.contact-details > div { grid-column:1/-1; }}
.client-story { display:grid;grid-template-columns:1fr 1.25fr;gap:52px;background:#f5f2ec;padding:36px;margin-top:36px; }
.client-story h3 { font-size:28px;max-width:360px; }
.client-story p { color:var(--color-mineral);margin-bottom:16px; }
@media(max-width:767px){.client-story{grid-template-columns:1fr;gap:16px;padding:24px;}.client-story h3{font-size:25px;}}
.inquiry-product button.text-link { display:inline-flex;min-height:36px;margin-top:4px;padding:0;border:0;background:none;font-size:13px; }
.product-card-copy::after { content:'↗';position:absolute;right:0;top:38px;color:var(--color-primary);font-size:21px; }
/* Official store-published logo, original lockup and colors. */
:root { --header-height:100px; }
.logo .site-logo { width:140px;height:84px;object-fit:contain; }
.footer-logo { width:144px;height:144px;padding:18px;justify-content:center;border-radius:50%;background:#eee7da;border:1px solid #dcd2c0; }
.footer-logo .site-logo { width:auto;height:auto;max-width:96px;max-height:104px;object-fit:contain;background:transparent; }
@media(max-width:767px){:root{--header-height:84px;}.logo .site-logo{width:110px;height:66px;}}
