/* CAP - an open architectural composition, with the original Manrope and blue. */
:root { --blue:#42569d; --ink:#202c3e; --sub:#67717f; --pale:#f0f3f6; --line:#d9e0e7; --radius:8px; }
h1,h2,h3 {letter-spacing:-.045em}
.button {border-radius:6px;min-height:54px;padding:14px 22px;gap:32px;font-size:.86rem;font-weight:500;line-height:1.4;transition:background .2s,border-color .2s}
.button:hover {transform:none;background:#334682}
.button svg {width:23px;height:23px;padding:0;border-radius:0;background:none;color:inherit}
.button-outline {background:transparent;border-color:#bdc8d8;color:var(--ink)}
.button-outline:hover {background:#edf0f6;border-color:#aebad1}
.text-link {font-weight:500}
.icon-button,.icon-link {border:0;border-radius:0;background:none;width:40px;height:40px;color:var(--blue)}
.icon-button:hover,.icon-link:hover {background:#e9edf5}
.eyebrow {font-size:.7rem;letter-spacing:.04em;font-weight:500;text-transform:none}
.header-inner {min-height:108px;gap:30px}
.brand img {width:86px;height:86px}
.main-nav {gap:26px}
.main-nav>a {font-size:.8rem;font-weight:500}
.site-header .nav-quote {min-height:46px;padding:12px 21px;background:var(--blue);border-color:var(--blue);color:#fff;font-size:.77rem}
.site-header .nav-quote:hover {background:#334682;border-color:#334682}
.page-home .site-header .nav-quote {background:#fff;color:var(--blue);border-color:#c8d2e5}
.page-home .site-header .nav-quote:hover {background:#edf1f8;border-color:var(--blue)}
.header-phone {font-size:.87rem;font-weight:600}
.header-email {font-size:.74rem}
.header-contacts svg {color:var(--blue)}
.breadcrumbs {font-size:.7rem;color:#6f7988;padding-block:35px 52px}

/* Equal product stages continue the light studio of the first screen. */
.page-home .product-picker {padding-block:100px 116px}
.page-home .section-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;gap:30px}
.page-home .section-heading h2 {font-size:clamp(2.7rem,4vw,3.8rem);font-weight:450;line-height:1.15}
.catalog-all {display:inline-flex;align-items:center;gap:25px;font-size:.86rem;color:var(--blue);white-space:nowrap}
.catalog-all svg {width:24px;height:24px;transition:transform .2s}
.catalog-all:hover svg {transform:translateX(4px)}
.page-home .product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.equipment-card {display:flex;flex-direction:column;position:relative;min-width:0;padding:0;background:none;border-radius:0}
.equipment-card-caption {display:flex;align-items:flex-start;gap:20px;min-width:0;align-self:stretch;justify-content:space-between;padding:0 2px}
.equipment-card h3 {font-size:clamp(1.1rem,1.5vw,1.4rem);font-weight:450;line-height:1.4;letter-spacing:-.025em;overflow-wrap:normal}
.equipment-card-caption svg {width:26px;height:26px;color:var(--blue);transition:transform .25s}
.equipment-card-image {order:-1;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:310px;padding:30px;margin-bottom:23px;min-height:0;min-width:0;background:#edf2f8;border-radius:12px;overflow:hidden}
.equipment-card-image img {display:block;width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.equipment-card:hover .equipment-card-image img {transform:scale(1.035)}
.equipment-card:hover .equipment-card-caption svg {transform:translateX(5px)}
.equipment-card-featured .equipment-card-image {background:#e4edf8}
.product-secondary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:45px}
.product-secondary button {display:flex;align-items:flex-start;justify-content:space-between;gap:25px;width:100%;text-align:left;padding:24px 0 0;border:0;border-top:1px solid var(--line);background:none;font-size:.94rem;line-height:1.7}
.product-secondary button svg {width:21px;height:21px;margin-top:4px;color:var(--blue)}
.product-secondary button:hover {color:var(--blue)}

/* Industries form a quiet typographic field, rather than another card gallery. */
.page-home .industries-section {width:100%;padding:100px 0 108px;background:#f0f3f6}
.page-home .industries-panel {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:90px;padding:0;border-radius:0;background:none;color:var(--ink)}
.page-home .industries-intro {display:block}
.page-home .industries-intro h2 {font-size:clamp(2.5rem,3.8vw,3.6rem);font-weight:450;line-height:1.15;letter-spacing:-.045em}
.page-home .industry-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.page-home .industry-item {display:flex;align-items:center;padding:30px 0;border-top:1px solid #ced7e0;min-width:0}
.page-home .industry-item h3 {width:100%;font-size:clamp(1.1rem,1.6vw,1.5rem);font-weight:450;line-height:1.45;letter-spacing:-.03em}
.page-home .industry-item h3>a,.page-home .industry-item h3>button {align-items:center;gap:20px;color:var(--ink)}
.page-home .industry-item svg {color:var(--blue);opacity:1;margin:0;width:23px;height:23px}
.page-home .industry-item a:hover,.page-home .industry-item button:hover {color:var(--blue)}

/* The service image and text lists have different proportions from the catalog. */
.page-home .services-section {background:#fff;padding:120px 0}
.page-home .services-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:80px}
.page-home .services-intro h2 {font-size:clamp(2.7rem,4vw,3.8rem);font-weight:450;line-height:1.15}
.page-home .services-intro>img {width:100%;max-width:none;height:345px;margin-top:44px;border-radius:10px;filter:brightness(1.05) saturate(.75);object-fit:cover;object-position:64% 50%}
.page-home .service-grid {display:block;padding-top:0}
.page-home .service {display:block;padding:0;border-top:1px solid var(--line)}
.page-home .service:last-child {padding-bottom:0;border-bottom:1px solid var(--line)}
.service-link {display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:12px 30px;padding:38px 0}
.page-home .service h3 {font-size:1.8rem;font-weight:450;line-height:1.25}
.page-home .service svg {width:24px;height:24px;color:var(--blue);margin-top:4px;transition:transform .2s}
.page-home .service p {grid-column:1;font-size:.82rem;line-height:1.7;margin:0;max-width:320px;color:var(--sub)}
.service-link:hover h3 {color:var(--blue)}
.service-link:hover svg {transform:translateX(4px)}

.page-home .contact-section {position:relative;padding:90px 0 110px;gap:100px;border-top:1px solid var(--line)}
.page-home .contact-section h2 {font-size:clamp(3rem,5vw,4.5rem);font-weight:450;line-height:1.12}
.contact-section .header-contacts-page {margin-top:40px;gap:12px}
.contact-section .header-phone {font-size:1.4rem}
.contact-section .header-email {font-size:1.1rem}
.contact-section .header-contacts svg {width:20px;height:20px;margin-right:5px}
.contact-form {gap:24px}
.contact-form label:not(.consent) {font-size:.82rem;line-height:1.6;color:#526078;gap:10px}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select {border:1px solid #d2d9e4;background:#f8f9fb;padding:12px 14px;border-radius:5px;min-height:50px;font-size:.95rem;line-height:1.6}
.contact-form textarea {min-height:108px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus {border-color:var(--blue)}
.optional {font-size:.69rem;color:#707d91}
.consent {color:#68758a;font-size:.74rem;line-height:1.8}
.form-hint {font-size:.65rem;color:#738096;line-height:1.7}
.form-status {font-size:.86rem}
.field-error {font-size:.72rem;color:#a12132}
.site-footer {background:#26344e;padding-block:52px}
.footer-brand {font-size:1.4rem;letter-spacing:-.025em}
.footer-inner {gap:60px}
.site-footer nav {font-size:.78rem;gap:20px 28px;flex-wrap:wrap}
.footer-legal {margin-top:25px}
.footer-legal .text-link {font-size:.7rem;line-height:1.7;color:#c2cbdd}
.site-footer a:focus-visible,.site-footer button:focus-visible {outline-color:#fff}

/* Inner pages share the same quiet shapes and typography. */
.product-photo,.industry-image>img,.service-page-hero>img,.catalog-product-image {border-radius:10px}
.product-intro h1,.service-page-hero h1,.catalog-intro h1 {font-weight:450;letter-spacing:-.045em}
.product-purpose h2,.product-related h2,.selection-section h2,.product-questions h2,.product-cta h2,.catalog-product h2,.service-page-focus h2,.service-page-output h2,.industry-intro h1,.industry-focus-heading h2,.industry-brief h2,.contact-page h1,.contact-page-form h2 {font-weight:450}
.catalog-product-image {background:var(--pale)}
.service-page-hero>img {filter:none}
.modal {border-radius:10px;padding:42px;box-shadow:0 25px 100px #10203b26}
.modal h2 {font-size:2.6rem;font-weight:450;line-height:1.2}
.modal .contact-form {padding-top:30px}
.modal-close {right:13px;top:10px}
.legal-modal h2 {font-size:1.8rem}

@media(min-width:981px) { .main-nav {margin-left:35px;flex:1;min-width:0} .header-contacts-desktop {margin-left:auto} }
@media(min-width:981px) and (max-width:1250px) {
 .header-inner {gap:20px} .main-nav {gap:17px;margin-left:0} .main-nav>a {font-size:.73rem}
 .header-phone {font-size:.8rem} .header-email {font-size:.68rem} .site-header .nav-quote {padding-inline:17px;font-size:.72rem}
 .page-home .industries-panel {gap:50px} .page-home .industry-grid {gap:0 30px}
 .page-home .services-layout {gap:50px} .equipment-card-image {height:270px;padding:24px}
}
@media(max-width:980px) {
 .header-inner {min-height:98px;gap:18px} .brand img {width:80px;height:80px}
 .main-nav {gap:0} .main-nav>a {font-size:.95rem;font-weight:450;padding-block:15px}
 .menu-toggle {width:43px;height:43px;border-radius:6px;border-color:#ccd5e3}
 .site-header .nav-quote {margin-top:25px;min-height:50px;font-size:.85rem}
 .page-home .product-picker {padding-block:90px} .page-home .section-heading {margin-bottom:35px}
 .page-home .section-heading h2 {font-size:2.7rem} .page-home .product-grid {gap:20px}
 .equipment-card-image {height:220px;padding:20px;margin-bottom:20px}
 .equipment-card h3 {font-size:1.05rem;line-height:1.5} .equipment-card-caption {gap:12px} .equipment-card-caption svg {width:20px;height:20px;margin-top:3px}
 .product-secondary {gap:25px;margin-top:36px} .product-secondary button {font-size:.8rem;gap:18px}
 .page-home .industries-section {padding-block:80px} .page-home .industries-panel {grid-template-columns:minmax(0,1fr);gap:40px}
 .page-home .industries-intro h2 {font-size:2.7rem} .page-home .industries-intro h2 br {display:none}
 .page-home .industry-item h3 {font-size:1.3rem} .page-home .industry-item {padding-block:25px}
 .page-home .services-section {padding-block:90px} .page-home .services-layout {gap:45px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .page-home .services-intro h2 {font-size:2.7rem} .page-home .services-intro>img {height:280px;margin-top:35px}
 .page-home .service h3 {font-size:1.45rem} .page-home .service p {font-size:.75rem} .service-link {padding:30px 0}
 .page-home .contact-section {padding-block:80px;gap:60px} .page-home .contact-section h2 {font-size:3rem}
 .contact-section .header-phone {font-size:1.2rem} .contact-section .header-email {font-size:1rem}
 .contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select {font-size:16px}
 .footer-inner {gap:35px} .site-footer nav {gap:16px 22px}
}
@media(max-width:700px) {
 .page-home .product-grid {grid-template-columns:minmax(0,1fr);gap:24px}
 .equipment-card {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:24px}
 .equipment-card-image {height:200px;padding:20px;margin:0}
 .equipment-card-caption {align-self:center;flex-direction:column;gap:20px}
 .equipment-card h3 {font-size:1.3rem;overflow-wrap:normal}
 .product-secondary {grid-template-columns:minmax(0,1fr);gap:23px;margin-top:35px}
 .product-secondary button {font-size:.92rem;padding-top:22px}
 .page-home .industry-grid {grid-template-columns:minmax(0,1fr);gap:0}
 .page-home .industry-item {padding-block:24px} .page-home .industry-item:last-child {border-bottom:1px solid #ced7e0}
 .page-home .industry-item h3 {font-size:1.4rem}
 .page-home .services-layout {grid-template-columns:minmax(0,1fr);gap:38px}
 .page-home .services-intro>img {height:260px;margin-top:32px}
 .page-home .service h3 {font-size:1.7rem} .page-home .service p {font-size:.84rem;max-width:390px} .service-link {padding:25px 0}
 .page-home .contact-section {grid-template-columns:minmax(0,1fr);gap:38px}
 .contact-section .header-contacts-page {margin-top:30px;gap:12px} .contact-section .header-phone {font-size:1.3rem} .contact-section .header-email {font-size:1.1rem}
 .contact-section .contact-form {padding-top:10px} .site-footer {padding-block:40px} .footer-inner {flex-direction:column} .footer-brand {font-size:1.3rem}
}
@media(max-width:480px) {
 .container {width:calc(100% - 40px)}
 .header-inner {min-height:86px;gap:10px} .brand img {width:64px;height:64px}
 .header-phone {font-size:.77rem;gap:6px} .header-email {font-size:.68rem;gap:6px} .header-contacts svg {width:14px;height:14px}
 .menu-toggle {width:36px;height:36px} .breadcrumbs {padding-block:26px 36px;font-size:.61rem;gap:8px}
 .page-home .product-picker {padding-block:72px 78px} .page-home .section-heading {align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:28px}
 .page-home .section-heading h2 {font-size:2.15rem} .catalog-all {font-size:.78rem;gap:15px;padding:0}
 .page-home .product-grid {gap:22px}
 .equipment-card {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}
 .equipment-card-image {height:155px;padding:12px;border-radius:10px}
 .equipment-card-caption {gap:16px}
 .equipment-card h3 {font-size:1.08rem;line-height:1.45;letter-spacing:-.025em} .equipment-card-caption svg {width:22px;height:22px}
 .page-home .industries-section {padding-block:65px 70px} .page-home .industries-intro h2 {font-size:2.35rem;line-height:1.2;max-width:300px}
 .page-home .industry-item h3 {font-size:1.18rem} .page-home .industry-item h3>a,.page-home .industry-item h3>button {gap:20px}
 .page-home .industry-item svg {width:21px;height:21px}
 .page-home .services-section {padding-block:75px} .page-home .services-intro h2 {font-size:2.4rem}
 .page-home .services-intro>img {height:230px} .page-home .service h3 {font-size:1.5rem} .page-home .service p {font-size:.79rem}
 .page-home .contact-section {padding-block:65px 75px} .page-home .contact-section h2 {font-size:2.7rem}
 .contact-section .header-phone {font-size:1.15rem} .contact-section .header-email {font-size:1rem}
 .contact-section .header-contacts svg {width:18px;height:18px;margin-right:0} .contact-form {gap:23px}
 .contact-form label:not(.consent) {font-size:.78rem} .contact-form>.button {min-height:54px;align-self:stretch}
 .consent {font-size:.7rem} .form-hint {font-size:.62rem}
 .footer-legal {gap:12px} .site-footer nav {font-size:.73rem;gap:18px 22px} .footer-legal .text-link {font-size:.67rem}
 .modal {padding:36px 23px 26px;border-radius:8px} .modal h2 {font-size:2rem} .legal-modal h2 {font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce) { .equipment-card-image img,.equipment-card-caption svg,.catalog-all svg,.service-link svg {transition:none} }
