/*
Theme Name: Compressor Centralasia Catalog
Theme URI: https://example.com/rotaryair
Author: Arif Wahyudi
Description: Fast, responsive WooCommerce industrial equipment catalog with quote-first conversion flows.
Version: 2.11.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: rotaryair
*/

:root {
  --ink: #1e252f;
  --ink-soft: #59616b;
  --navy: #1e252f;
  --navy-2: #2b333e;
  --teal: #d6453d;
  --teal-dark: #b93630;
  --orange: #d6453d;
  --cloud: #f5f5f4;
  --line: #dfe1e3;
  --white: #fff;
  --shadow: 0 16px 50px rgba(30, 37, 47, .12);
  --radius: 4px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { overflow-x: hidden; margin: 0; color: var(--ink); background: var(--white); font-family: "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.72; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6, .button, .site-nav, .eyebrow, .hero__kicker, .hero__feature, .product-card__brand, .category-card__arrow { font-family: Montserrat, "Noto Sans JP", ui-sans-serif, system-ui, sans-serif; }
.ui-icon { display: block; width: 24px; height: 24px; flex: 0 0 auto; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; left: 12px; top: -100px; padding: 10px 16px; background: var(--white); }
.skip-link:focus { top: 12px; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 13px; color: var(--teal); font-size: .72rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { width: 26px; height: 1px; background: currentColor; content: ""; }
.section-title { max-width: 720px; margin: 0 0 14px; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 600; line-height: 1.12; letter-spacing: -.028em; }
.section-copy { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: 1.05rem; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.section { padding: 88px 0; }
.section--soft { background: var(--cloud); }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 11px 21px; border: 1px solid transparent; border-radius: 2px; background: var(--teal); color: var(--white); font-size: .8rem; font-weight: 600; letter-spacing: .025em; cursor: pointer; transition: .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--teal-dark); }
.button--orange { background: var(--orange); }
.button--orange:hover { background: #b93630; }
.button--secondary { border-color: var(--navy); background: transparent; color: var(--navy); }
.button--secondary:hover { border-color: var(--navy); background: var(--navy); color: var(--white); }
.button--outline { border-color: rgba(255,255,255,.45); background: transparent; }
.button--light { background: var(--white); color: var(--navy); }
.text-link { color: var(--teal); font-weight: 750; }

.topbar { background: #151b22; color: #d9dde1; font-size: .82rem; }
.topbar__inner { display: flex; min-height: 38px; align-items: center; justify-content: space-between; gap: 20px; }
.topbar p { margin: 0; }
.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(30,37,47,.12); background: rgba(255,255,255,.97); backdrop-filter: blur(14px); }
.header-inner { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand-logo { display: block; width: 270px; height: auto; }
.brand-logo--mark { width: 46px; }
.brand--footer .brand-logo { width: 285px; }
.site-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.site-nav a { position: relative; font-size: .76rem; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; }
.site-nav a::after { position: absolute; right: 0; bottom: -10px; left: 0; height: 1px; background: var(--teal); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav a:hover::after, .site-nav .current-menu-item > a::after { transform: scaleX(1); }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--teal); }
.header-actions { display: flex; align-items: center; gap: 10px; }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 2px; background: var(--white); }

.hero { overflow: hidden; position: relative; min-height: 650px; border-bottom: 1px solid var(--line); background: #f6f4f1; color: var(--ink); }
.hero::before { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(30,37,47,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(30,37,47,.035) 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: linear-gradient(to right, #000, transparent 62%); }
.hero::after { position: absolute; top: -180px; right: -170px; width: 620px; height: 620px; border-radius: 50%; background: #ebe7e3; content: ""; }
.hero__ambient { position: absolute; right: 7%; bottom: -210px; width: 530px; height: 530px; border: 78px solid rgba(214,69,61,.08); border-radius: 50%; }
.hero__inner { display: grid; position: relative; z-index: 2; min-height: 650px; grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); align-items: center; gap: 45px; }
.hero__content { position: relative; z-index: 4; padding: 38px 0 48px; }
.hero__kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; color: var(--teal); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero__kicker .ui-icon { width: 21px; height: 21px; }
.hero__mobile-product { display: none; }
.hero h1 { max-width: 650px; margin: 0 0 24px; font-size: clamp(3rem, 5vw, 4.55rem); font-weight: 600; line-height: 1.07; letter-spacing: -.038em; }
.hero h1 span { color: var(--teal); }
.hero__copy { max-width: 590px; margin: 0; color: var(--ink-soft); font-size: 1.01rem; font-weight: 400; line-height: 1.85; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 32px; }
.hero__text-link { display: inline-flex; align-items: center; gap: 9px; font-family: Montserrat, sans-serif; font-size: .8rem; font-weight: 600; }
.hero__text-link .ui-icon { width: 20px; height: 20px; color: var(--teal); }
.hero__proof { display: flex; align-items: center; gap: 13px; margin-top: 34px; }
.hero__proof > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 50%; background: var(--white); box-shadow: 0 8px 30px rgba(30,37,47,.08); color: var(--teal); }
.hero__proof .ui-icon { width: 21px; height: 21px; }
.hero__proof p, .hero__proof strong, .hero__proof small { display: block; margin: 0; }
.hero__proof strong { font-family: Montserrat, sans-serif; font-size: .79rem; font-weight: 600; }
.hero__proof small { color: var(--ink-soft); font-size: .7rem; }
.hero__visual { position: relative; min-height: 570px; }
.hero__orbit { position: absolute; top: 82px; right: 15px; width: 470px; height: 470px; border: 64px solid var(--navy); border-right-color: transparent; border-radius: 50%; transform: rotate(-15deg); }
.hero__orbit::after { position: absolute; right: -14px; bottom: 57px; width: 84px; height: 84px; border-radius: 50%; background: var(--teal); box-shadow: 0 20px 40px rgba(214,69,61,.22); content: ""; }
.hero__machine { display: grid; position: absolute; z-index: 2; inset: 95px 12px 40px 10px; min-height: 0; place-items: center; padding: 18px 30px; }
.hero__machine img { width: 100%; height: 460px; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 28px 25px rgba(30,37,47,.18)); }
.hero__feature { display: flex; position: absolute; z-index: 4; align-items: center; gap: 11px; min-width: 190px; padding: 14px 16px; border: 1px solid rgba(30,37,47,.08); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 18px 50px rgba(30,37,47,.12); backdrop-filter: blur(8px); }
.hero__feature .ui-icon { width: 25px; height: 25px; color: var(--teal); }
.hero__feature span, .hero__feature small, .hero__feature strong { display: block; }
.hero__feature small { color: var(--ink-soft); font-size: .62rem; }
.hero__feature strong { font-size: .75rem; }
.hero__feature--pressure { top: 100px; left: -5px; }
.hero__feature--precision { right: -5px; bottom: 78px; }
.hero__visual-caption { position: absolute; right: -72px; top: 285px; color: var(--ink-soft); font-size: .55rem; letter-spacing: .25em; transform: rotate(90deg); }

.trust-strip { position: relative; z-index: 3; border-bottom: 1px solid var(--line); background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { display: flex; align-items: center; gap: 13px; padding: 25px 20px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; font-family: Montserrat, sans-serif; font-size: .9rem; font-weight: 600; }
.trust-item span { color: var(--ink-soft); font-size: .83rem; }
.trust-item__icon { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f9eeec; color: var(--teal) !important; }
.trust-item__icon .ui-icon { width: 21px; height: 21px; }

.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.category-card { min-height: 255px; padding: 28px; border: 1px solid transparent; border-radius: 18px; background: var(--white); box-shadow: 0 8px 30px rgba(30,37,47,.06); transition: .25s ease; }
.category-card:hover { transform: translateY(-7px); border-color: rgba(214,69,61,.25); box-shadow: 0 20px 45px rgba(30,37,47,.11); }
.category-card__icon { display: grid; width: 58px; height: 58px; margin-bottom: 35px; place-items: center; border-radius: 18px; background: var(--navy); color: var(--white); transition: .25s ease; }
.category-card:hover .category-card__icon { background: var(--teal); transform: rotate(-4deg); }
.category-card__icon .ui-icon { width: 27px; height: 27px; }
.category-card__arrow { display: flex; align-items: center; gap: 7px; margin-top: 18px; color: var(--teal); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.category-card__arrow b { font-size: 1rem; }
.category-card h3 { margin: 0 0 6px; font-size: 1.08rem; font-weight: 600; letter-spacing: -.015em; }
.category-card p { margin: 0; color: var(--ink-soft); font-size: .88rem; }

.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { display: flex; overflow: hidden; position: relative; isolation: isolate; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--white); transition: .25s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-card__media { display: block; overflow: hidden; position: relative; z-index: 1; height: 225px; flex: 0 0 225px; background: #f3f3f1; contain: paint; }
.product-card__media::after { position: absolute; right: 15px; bottom: 13px; width: 34px; height: 34px; border: 1px solid rgba(30,37,47,.12); border-radius: 50%; content: "↗"; display: grid; place-items: center; background: rgba(255,255,255,.88); color: var(--teal); font-size: .85rem; }
.product-card__media img { position: absolute !important; inset: 20px !important; width: calc(100% - 40px) !important; max-width: calc(100% - 40px) !important; height: calc(100% - 40px) !important; margin: 0 !important; object-fit: contain !important; mix-blend-mode: multiply; transform: none !important; }
.product-card__body { display: flex; position: relative; z-index: 3; flex: 1; flex-direction: column; min-height: 260px; padding: 21px; background: var(--white); }
.product-card__brand { color: var(--teal); font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card h3 { margin: 8px 0 10px; font-size: 1rem; font-weight: 600; line-height: 1.42; letter-spacing: -.012em; }
.product-card p { display: -webkit-box; overflow: hidden; margin: 0 0 18px; color: var(--ink-soft); font-size: .86rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line); font-size: .85rem; font-weight: 750; }
.product-card__quote { color: var(--teal); }
.image-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: #91a0aa; font-size: .8rem; text-align: center; }

.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.process-list { display: grid; gap: 12px; }
.process-item { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 22px 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.process-item:last-child { border-bottom: 1px solid var(--line); }
.process-item__number { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--navy); color: var(--white); }
.process-item__number .ui-icon { width: 21px; height: 21px; }
.process-item h3, .process-item p { margin: 0; }
.process-item h3 { font-weight: 600; letter-spacing: -.012em; }
.process-item p { color: var(--ink-soft); font-size: .88rem; }

.cta { overflow: hidden; position: relative; padding: 58px; border-radius: 2px; background: var(--navy); color: var(--white); }
.cta::before { position: absolute; top: 0; bottom: 0; left: 0; width: 5px; background: var(--teal); content: ""; }
.cta::after { position: absolute; right: -100px; top: -160px; width: 380px; height: 380px; border: 65px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; }
.cta__inner { display: flex; position: relative; z-index: 1; align-items: center; justify-content: space-between; gap: 45px; }
.cta h2 { max-width: 690px; margin: 0; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; letter-spacing: -.03em; }

.page-hero { position: relative; padding: 46px 0 50px; border-bottom: 4px solid var(--teal); background: var(--navy); color: var(--white); }
.page-hero h1 { max-width: 850px; margin: 0 0 14px; font-size: clamp(2.5rem, 5vw, 4.15rem); font-weight: 600; line-height: 1.06; letter-spacing: -.034em; }
.page-hero p { max-width: 720px; margin: 0; color: #d5e1ea; }
.breadcrumbs { margin-bottom: 15px; color: #a9c0d2; font-size: .82rem; }
.breadcrumbs a:hover { color: var(--white); }

.catalog-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; }
.filters { align-self: start; position: sticky; top: 105px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.filters__toggle { display: none; }
.filters h2 { margin: 0 0 18px; font-size: 1.1rem; }
.form-field { margin-bottom: 16px; }
.form-field label { display: block; margin-bottom: 6px; font-size: .82rem; font-weight: 800; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cbd7df; border-radius: 8px; background: var(--white); }
.form-field textarea { min-height: 130px; resize: vertical; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.catalog-toolbar p { margin: 0; color: var(--ink-soft); }
.catalog-main .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pagination { margin-top: 42px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.pagination .page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 8px; }
.pagination .current { border-color: var(--teal); background: var(--teal); color: var(--white); }

.product-detail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); gap: 64px; }
.product-primary { padding-top: 38px; padding-bottom: 72px; }
.product-primary .breadcrumbs { margin-bottom: 18px; color: var(--ink-soft); }
.product-gallery { display: grid; min-height: 510px; place-items: center; padding: 45px; border: 1px solid var(--line); border-radius: 20px; background: #f7f9fa; }
.product-gallery img { max-height: 440px; object-fit: contain; mix-blend-mode: multiply; }
.product-summary h1 { margin: 10px 0 18px; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.08; letter-spacing: -.04em; }
.product-summary__excerpt { color: var(--ink-soft); font-size: 1.05rem; }
.product-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.product-tag { padding: 7px 11px; border-radius: 999px; background: #f9eceb; color: var(--teal-dark); font-size: .77rem; font-weight: 800; }
.quote-panel { margin-top: 28px; padding: 24px; border: 1px solid #e2b4b1; border-radius: 14px; background: #fff7f6; }
.quote-panel h2 { margin: 0 0 5px; font-size: 1.18rem; }
.quote-panel p { margin: 0 0 18px; color: var(--ink-soft); font-size: .9rem; }
.quote-panel__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table th, .spec-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.spec-table th { width: 32%; color: var(--ink); font-size: .85rem; }
.spec-table td { color: var(--ink-soft); font-size: .9rem; }

.about-intro__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 80px; }
.about-intro__copy { padding-top: 4px; }
.about-intro__copy p { margin: 0 0 18px; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.9; }
.evaluation-panel { display: grid; overflow: hidden; margin-top: 58px; grid-template-columns: 240px minmax(0, 1fr); border-radius: 18px; background: var(--navy); color: var(--white); }
.evaluation-panel__lead { display: flex; align-items: center; gap: 14px; padding: 28px; border-right: 1px solid rgba(255,255,255,.12); }
.evaluation-panel__lead .ui-icon { width: 29px; height: 29px; color: #ef736d; }
.evaluation-panel__lead span, .evaluation-panel__lead strong { display: block; }
.evaluation-panel__lead span { margin-bottom: 3px; color: #b9c0c7; font-size: .67rem; letter-spacing: .1em; text-transform: uppercase; }
.evaluation-panel__lead strong { font-family: Montserrat, sans-serif; font-size: .95rem; }
.evaluation-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.evaluation-grid > div { display: flex; align-items: center; gap: 11px; padding: 27px 18px; border-right: 1px solid rgba(255,255,255,.1); }
.evaluation-grid > div:last-child { border-right: 0; }
.evaluation-grid .ui-icon { width: 23px; height: 23px; color: #ef736d; }
.evaluation-grid span, .evaluation-grid strong, .evaluation-grid small { display: block; }
.evaluation-grid strong { font-family: Montserrat, sans-serif; font-size: .75rem; font-weight: 600; }
.evaluation-grid small { color: #aeb6bf; font-size: .66rem; }
.about-section-copy { max-width: 400px; font-size: .93rem; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.capability-card { min-height: 270px; padding: 28px; border-radius: 16px; background: var(--white); box-shadow: 0 9px 34px rgba(30,37,47,.06); }
.capability-card .ui-icon { width: 31px; height: 31px; margin-bottom: 48px; color: var(--teal); }
.capability-card h3 { margin: 0 0 10px; font-size: 1.02rem; font-weight: 600; }
.capability-card p { margin: 0; color: var(--ink-soft); font-size: .85rem; }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-grid article { padding: 34px 28px; border-right: 1px solid var(--line); }
.value-grid article:last-child { border-right: 0; }
.value-grid .ui-icon { width: 31px; height: 31px; margin-bottom: 35px; color: var(--teal); }
.value-grid h3 { margin: 0 0 8px; font-size: 1.03rem; font-weight: 600; }
.value-grid p { margin: 0; color: var(--ink-soft); font-size: .84rem; }
.about-closing { align-items: start; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 50px; }
.prose { max-width: 780px; }
.prose h2 { margin-top: 1.6em; font-size: 1.8rem; }
.prose p, .prose li { color: var(--ink-soft); }
.contact-card { padding: 26px; border-radius: var(--radius); background: var(--navy); color: var(--white); }
.contact-card h2 { margin-top: 0; }
.contact-card p { color: #d5e1ea; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); align-items: start; gap: 64px; }
.requirement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.requirement-card { display: flex; min-height: 132px; align-items: flex-start; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.requirement-card .ui-icon { width: 27px; height: 27px; color: var(--teal); }
.requirement-card h3 { margin: 0 0 7px; font-size: .96rem; font-weight: 600; }
.requirement-card p { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.6; }
.contact-direct { padding: 30px; border-radius: 18px; background: var(--navy); box-shadow: 0 22px 60px rgba(30,37,47,.16); color: var(--white); }
.contact-direct > p { margin: 16px 0 23px; color: #bdc5cc; font-size: .84rem; line-height: 1.7; }
.contact-direct__head { display: flex; align-items: center; gap: 14px; }
.contact-direct__head > .ui-icon { width: 39px; height: 39px; padding: 8px; border-radius: 10px; background: rgba(214,69,61,.16); color: #ef736d; }
.contact-direct__head span { color: #aeb6bf; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.contact-direct__head h2 { margin: 3px 0 0; font-size: 1.35rem; }
.contact-methods { border-top: 1px solid rgba(255,255,255,.12); }
.contact-method { display: flex; min-width: 0; align-items: center; gap: 13px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.contact-method > .ui-icon { width: 22px; height: 22px; color: #ef736d; }
.contact-method span { min-width: 0; flex: 1; }
.contact-method small, .contact-method strong { display: block; }
.contact-method small { margin-bottom: 3px; color: #aeb6bf; font-size: .63rem; letter-spacing: .06em; text-transform: uppercase; }
.contact-method strong { overflow-wrap: anywhere; font-family: Montserrat, sans-serif; font-size: .78rem; font-weight: 600; }
.contact-method b { color: #ef736d; font-weight: 500; }
.contact-direct__button { width: 100%; margin-top: 24px; }
.contact-direct__button .ui-icon { width: 19px; height: 19px; }
.contact-step-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-step-grid article { position: relative; min-height: 245px; padding: 28px 24px; border-right: 1px solid var(--line); }
.contact-step-grid article:last-child { border-right: 0; }
.contact-step-grid .ui-icon { width: 29px; height: 29px; margin-bottom: 38px; color: var(--teal); }
.contact-step-grid span { position: absolute; top: 29px; right: 22px; color: #aeb1b5; font-family: Montserrat, sans-serif; font-size: .66rem; letter-spacing: .12em; }
.contact-step-grid h3 { margin: 0 0 9px; font-size: 1rem; font-weight: 600; }
.contact-step-grid p { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.65; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.post-card__media { height: 210px; background: var(--cloud); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 22px; }
.post-card h2 { margin: 8px 0; font-size: 1.2rem; line-height: 1.3; }
.post-card p { color: var(--ink-soft); font-size: .9rem; }

.site-footer { padding-top: 66px; background: #151b22; color: #c9ced3; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 48px; padding-bottom: 55px; }
.site-footer h2, .site-footer h3 { color: var(--white); }
.site-footer h3 { margin: 0 0 16px; font-size: .95rem; }
.site-footer p { font-size: .88rem; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: 9px; font-size: .88rem; }
.site-footer a:hover { color: var(--white); }
.footer-bottom { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }

@media (max-width: 1020px) {
  .site-nav { display: none; position: absolute; left: 0; top: 78px; width: 100%; padding: 22px; border-top: 1px solid var(--line); background: var(--white); }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: flex-start; }
  .menu-toggle { display: block; }
  .header-actions > .button { display: none; }
  .hero__inner { grid-template-columns: 1fr; gap: 0; }
  .hero__content { padding: 50px 0 8px; }
  .hero__visual { width: min(100%, 680px); min-height: 570px; margin-inline: auto; }
  .category-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
  .catalog-main .product-grid { grid-template-columns: repeat(2, 1fr); }
  .about-intro__grid { gap: 45px; }
  .evaluation-panel { grid-template-columns: 1fr; }
  .evaluation-panel__lead { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .capability-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }
  .value-grid article:nth-child(2) { border-right: 0; }
  .value-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .topbar__inner { min-height: 32px; justify-content: center; text-align: center; }
  .topbar__inner p { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
  .topbar__inner p:last-child { display: none; }
  .header-inner { min-height: 68px; gap: 14px; }
  .header-actions { display: none; }
  .brand-logo { width: 190px; }
  .menu-toggle { width: 42px; height: 42px; }
  .site-nav { top: 68px; }
  .section { padding: 52px 0; }
  .section-title { font-size: 1.9rem; line-height: 1.17; }
  .section-copy { font-size: .92rem; }
  .eyebrow { font-size: .64rem; letter-spacing: .14em; }
  .section-head { display: block; }
  .section-head .text-link { display: inline-block; margin-top: 12px; }
  .hero, .hero__inner { min-height: auto; }
  .hero__inner { gap: 8px; }
  .hero__content { padding: 32px 0 8px; }
  .hero__kicker { margin-bottom: 16px; font-size: .62rem; }
  .hero h1 { max-width: 540px; margin-bottom: 18px; font-size: clamp(2.2rem, 9vw, 2.8rem); line-height: 1.09; letter-spacing: -.032em; }
  .hero__copy { max-width: 520px; font-size: .9rem; line-height: 1.72; }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 16px; margin-top: 26px; }
  .hero__proof { margin-top: 24px; }
  .hero__visual { min-height: 400px; }
  .hero__orbit { top: 42px; right: 8%; width: 300px; height: 300px; border-width: 42px; }
  .hero__orbit::after { right: -14px; bottom: 30px; width: 54px; height: 54px; }
  .hero__machine { inset: 34px 8px 24px; padding: 10px 18px; }
  .hero__machine img { height: 305px; }
  .hero__feature { min-width: 150px; padding: 9px 11px; }
  .hero__feature small { font-size: .56rem; }
  .hero__feature strong { font-size: .68rem; }
  .hero__feature--pressure { top: 43px; left: 0; }
  .hero__feature--precision { right: 0; bottom: 28px; }
  .hero__visual-caption { display: none; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item { gap: 9px; padding: 16px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .trust-item:nth-child(2n) { border-right: 0; }
  .trust-item:nth-child(n+3) { border-bottom: 0; }
  .trust-item__icon { width: 35px; height: 35px; }
  .trust-item__icon .ui-icon { width: 18px; height: 18px; }
  .trust-item strong { font-size: .76rem; }
  .trust-item span { font-size: .69rem; line-height: 1.4; }
  .category-grid, .product-grid, .catalog-main .product-grid, .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .split, .product-detail, .content-grid, .about-intro__grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .evaluation-grid, .capability-grid, .value-grid, .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .contact-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-step-grid article:nth-child(2) { border-right: 0; }
  .contact-step-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .evaluation-grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .evaluation-grid > div:last-child { border-bottom: 0; }
  .value-grid article, .value-grid article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .value-grid article:last-child { border-bottom: 0; }
  .evaluation-panel { margin-top: 40px; }
  .capability-card { min-height: 0; }
  .capability-card .ui-icon { margin-bottom: 28px; }
  .category-card { min-height: 0; padding: 22px; }
  .category-card__icon { width: 48px; height: 48px; margin-bottom: 22px; border-radius: 14px; }
  .product-card__media { height: 195px; flex-basis: 195px; }
  .product-card__body { min-height: 230px; padding: 18px; }
  .process-item { grid-template-columns: 1fr; align-content: start; padding: 17px; }
  .catalog-layout { grid-template-columns: 1fr; gap: 24px; }
  .filters { position: static; padding: 0; border: 0; background: transparent; }
  .filters__toggle { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); font-family: Montserrat, sans-serif; font-size: .8rem; font-weight: 600; text-align: left; }
  .filters__toggle .ui-icon { width: 20px; height: 20px; color: var(--teal); }
  .filters__toggle b { margin-left: auto; color: var(--teal); font-size: 1rem; }
  .filters__panel { display: none; margin-top: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
  .filters.is-open .filters__panel { display: block; }
  .filters__panel h2 { display: none; }
  .product-gallery { min-height: 300px; padding: 22px; }
  .product-summary h1 { font-size: 1.85rem; line-height: 1.15; }
  .product-primary { padding-top: 26px; padding-bottom: 52px; }
  .page-hero { padding: 32px 0 35px; }
  .page-hero h1 { font-size: 2.1rem; line-height: 1.12; }
  .page-hero p { font-size: .9rem; }
  .quote-panel { padding: 19px; }
  .quote-panel__actions { display: grid; grid-template-columns: 1fr; }
  .quote-panel__actions .button { width: 100%; }
  .cta { padding: 34px 24px; }
  .cta__inner { display: block; }
  .cta__inner .button { margin-top: 22px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 16px 0; }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .topbar { display: none; }
  .header-inner { min-height: 62px; }
  .brand-logo { width: 174px; }
  .menu-toggle { width: 39px; height: 39px; }
  .site-nav { top: 62px; }
  .section { padding: 44px 0; }
  .section-title { font-size: 1.72rem; }
  .hero__content { overflow: hidden; padding-top: 26px; }
  .hero__mobile-product { display: grid; position: relative; float: right; width: 43%; height: 230px; margin: -4px -8px 8px 10px; place-items: center; }
  .hero__mobile-product span { position: absolute; inset: 18px 0 12px; border: 29px solid var(--navy); border-right-color: transparent; border-radius: 50%; transform: rotate(-12deg); }
  .hero__mobile-product span::after { position: absolute; right: -8px; bottom: 20px; width: 38px; height: 38px; border-radius: 50%; background: var(--teal); content: ""; }
  .hero__mobile-product img { position: relative; z-index: 2; width: 100%; height: 205px; object-fit: contain; filter: drop-shadow(0 16px 18px rgba(30,37,47,.18)); }
  .hero h1 { margin-top: 5px; font-size: 1.88rem; line-height: 1.1; }
  .hero__copy { clear: both; padding-top: 4px; }
  .hero__copy { font-size: .86rem; }
  .hero__actions { display: grid; clear: both; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
  .hero__actions .button { width: 100%; min-height: 44px; padding: 9px 7px; font-size: .66rem; line-height: 1.25; text-align: center; }
  .hero__actions .button .ui-icon { width: 17px; height: 17px; }
  .hero__proof > span { width: 38px; height: 38px; }
  .hero__proof strong { font-size: .72rem; }
  .hero__proof small { font-size: .62rem; }
  .hero__visual { display: none; }
  .hero__orbit { top: 35px; right: 7%; width: 265px; height: 265px; border-width: 37px; }
  .hero__machine { inset: 26px 4px 15px; }
  .hero__machine img { height: 272px; }
  .hero__feature--pressure { display: none; }
  .hero__feature--precision { right: 2px; bottom: 18px; }
  .requirement-grid { gap: 10px; margin-top: 25px; }
  .requirement-card { display: block; min-height: 145px; padding: 16px 14px; }
  .requirement-card .ui-icon { width: 24px; height: 24px; margin-bottom: 20px; }
  .requirement-card h3 { font-size: .8rem; }
  .requirement-card p { font-size: .7rem; }
  .contact-direct { padding: 22px 18px; }
  .contact-step-grid { gap: 10px; border: 0; }
  .contact-step-grid article, .contact-step-grid article:nth-child(-n+2) { min-height: 190px; padding: 17px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
  .contact-step-grid .ui-icon { width: 24px; height: 24px; margin-bottom: 24px; }
  .contact-step-grid span { top: 18px; right: 14px; }
  .contact-step-grid h3 { font-size: .8rem; }
  .contact-step-grid p { font-size: .69rem; line-height: 1.55; }
  .trust-item { padding: 14px 8px; }
  .trust-item > div > span { display: none; }
  .trust-item strong { font-size: .7rem; }
  .page-hero { padding: 27px 0 30px; }
  .page-hero h1 { font-size: 1.82rem; }
  .breadcrumbs { margin-bottom: 10px; font-size: .7rem; }
  .product-primary { padding-top: 20px; }
  .product-primary .breadcrumbs { margin-bottom: 12px; }
  .product-gallery { min-height: 255px; padding: 17px; }
  .product-summary h1 { font-size: 1.65rem; }
  .filters { padding: 0; }
  .evaluation-panel { border-radius: 12px; }
  .evaluation-panel__lead, .evaluation-grid > div { padding: 20px; }
  .category-grid, .product-grid, .catalog-main .product-grid, .blog-grid, .capability-grid, .value-grid, .evaluation-grid, .process-list { gap: 10px; }
  .category-card { padding: 16px; }
  .category-card__icon { width: 42px; height: 42px; margin-bottom: 16px; }
  .category-card h3 { font-size: .82rem; }
  .category-card p { display: none; }
  .category-card__arrow { margin-top: 12px; font-size: .58rem; }
  .product-card { border-radius: 9px; }
  .product-card__media { height: 135px; flex-basis: 135px; }
  .product-card__media img { inset: 12px !important; width: calc(100% - 24px) !important; max-width: calc(100% - 24px) !important; height: calc(100% - 24px) !important; }
  .product-card__media::after { right: 8px; bottom: 8px; width: 28px; height: 28px; font-size: .7rem; }
  .product-card__body { min-height: 190px; padding: 12px; }
  .product-card__brand { font-size: .56rem; }
  .product-card h3 { display: -webkit-box; overflow: hidden; margin: 6px 0 10px; font-size: .76rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .product-card p { display: none; }
  .product-card__footer { gap: 6px; padding-top: 10px; font-size: .62rem; }
  .capability-card, .value-grid article { padding: 18px; }
  .capability-card .ui-icon, .value-grid .ui-icon { width: 25px; height: 25px; margin-bottom: 20px; }
  .capability-card h3, .value-grid h3 { font-size: .82rem; }
  .capability-card p, .value-grid p { font-size: .7rem; line-height: 1.5; }
  .evaluation-grid > div { padding: 16px 12px; }
  .evaluation-grid strong { font-size: .68rem; }
  .evaluation-grid small { display: none; }
  .process-item { padding: 14px; }
  .process-item h3 { font-size: .78rem; }
  .process-item p { font-size: .68rem; line-height: 1.5; }
  .post-card__media { height: 125px; }
  .post-card__body { padding: 13px; }
  .post-card h2 { font-size: .82rem; }
  .post-card p { display: none; }
  .cta { padding: 28px 20px; }
  .cta h2 { font-size: 1.65rem; }
}
