/* Commercial Machine, Inc. site styles (cmi-site plugin), design rev 2: engineering-document look.
   Square corners, 1px rules, no shadows, IBM Plex (OFL 1.1, self-hosted). Colors come from Site Editor > Styles. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-600.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-condensed-600.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-condensed-700.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500.woff2) format("woff2")}

:root{
  --cm-ink:var(--wp--preset--color--ink,#14181f);
  --cm-steel:var(--wp--preset--color--steel,#4b5563);
  --cm-paper:var(--wp--preset--color--paper,#f4f4f1);
  --cm-line:var(--wp--preset--color--line,#c9ccd1);
  --cm-blue:var(--wp--preset--color--blue,#1f3fa6);
  --cm-blue-dark:var(--wp--preset--color--blue-dark,#162f80);
  --cm-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --cm-cond:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;
}
body{-webkit-font-smoothing:antialiased}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cm-blue);outline-offset:2px}
.wp-element-button,.wp-block-button__link{border-radius:0!important}
.wp-block-button.is-style-outline .wp-block-button__link{border:1px solid currentColor;background:transparent}

/* Mono labels: "01 / Capabilities" */
.cm-label{font-family:var(--cm-mono);font-size:13px;letter-spacing:.04em;color:var(--cm-steel);text-transform:uppercase;margin:0 0 .6rem!important}
.cm-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--cm-steel);max-width:60ch}

/* ---------- Header ---------- */
.cm-topbar{font-family:var(--cm-mono);font-size:13px;letter-spacing:.02em}
.cm-topbar p{margin:0}
.cm-topbar a{color:#fff;text-decoration:none;font-weight:500}
.cm-topbar a:hover,.cm-topbar a:focus-visible{text-decoration:underline}
.cm-header{border-bottom:1px solid var(--cm-ink);position:sticky;top:0;z-index:40;background:#fff}
.cm-brand{display:flex;align-items:center;gap:12px}
.cm-brand .wp-block-site-logo img{width:52px;height:auto}
.cm-brand .wp-block-site-title{margin:0;line-height:1;font-family:var(--cm-cond)}
.cm-brand .wp-block-site-title a{text-decoration:none;color:var(--cm-ink)}
.cm-header .wp-block-navigation{font-family:var(--cm-cond);font-weight:600;font-size:17px;letter-spacing:.02em;text-transform:uppercase}
.cm-header .wp-block-navigation a{text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.cm-header .wp-block-navigation a:hover,.cm-header .wp-block-navigation .current-menu-item > a{border-bottom-color:var(--cm-blue);color:var(--cm-ink)}
.cm-header-cta .wp-block-button__link{padding:.6rem 1rem;font-family:var(--cm-cond);text-transform:uppercase;letter-spacing:.04em;font-size:15px}

/* ---------- Home hero: split, framed photo, no overlay ---------- */
.cm-hero{border-bottom:1px solid var(--cm-line);background:
  linear-gradient(var(--cm-line) 1px,transparent 1px) 0 0/40px 40px,
  linear-gradient(90deg,var(--cm-line) 1px,transparent 1px) 0 0/40px 40px,#fbfbfa;background-blend-mode:normal}
.cm-hero::before{content:none}
.cm-hero-cols{max-width:1200px;margin:0 auto!important;align-items:center!important;gap:3rem!important}
.cm-hero-cols > .wp-block-column:first-child{background:#fff;border:1px solid var(--cm-line);padding:2rem 2.2rem}
.cm-hero h1{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.04;max-width:18ch;margin:.2rem 0 1rem}
.cm-hero-photo,.cm-framed{margin:0}
.cm-hero-photo img,.cm-framed img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--cm-ink)}
.cm-hero-photo figcaption,.cm-framed figcaption{font-family:var(--cm-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--cm-steel);margin-top:.5rem;text-align:left}
.cm-hero-photo figcaption::before,.cm-framed figcaption::before{content:"Fig. ";}

/* Spec strip under the hero */
.cm-specbar{background:var(--cm-ink);color:#fff}
.cm-specstrip{font-family:var(--cm-mono);font-size:13px;letter-spacing:.03em;text-align:center;margin:0!important;color:#e5e7eb}

/* ---------- Sections ---------- */
.cm-section > *{max-width:1200px;margin-left:auto!important;margin-right:auto!important}
.cm-section-ruled{border-top:1px solid var(--cm-line)}
.cm-split{gap:3rem!important}

/* Capability columns: ruled, numbered, flat */
.cm-caps{gap:0!important;border-top:1px solid var(--cm-ink);border-left:1px solid var(--cm-line);margin-top:2rem!important;counter-reset:cap}
.cm-caps > .wp-block-column{border-right:1px solid var(--cm-line);border-bottom:1px solid var(--cm-line);counter-increment:cap}
.cm-cap{padding:1.2rem 1.2rem 1.4rem;height:100%}
.cm-cap .wp-block-image{margin:0 0 1rem}
.cm-cap .wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:grayscale(.15)}
.cm-cap h3{font-size:1.25rem;margin:0 0 .5rem}
.cm-cap h3::before{content:counter(cap,decimal-leading-zero);display:block;font-family:var(--cm-mono);font-size:12px;font-weight:500;color:var(--cm-blue);margin-bottom:.35rem}
.cm-cap p{font-size:16px;margin:.4rem 0}
.cm-cap a{font-family:var(--cm-mono);font-size:13px;text-transform:uppercase;letter-spacing:.03em}

/* Title block tables (certificate, company, Swiss spec, contact) */
.cm-titleblock{margin:0}
.cm-titleblock table{border-collapse:collapse;width:100%;table-layout:auto!important;border:1px solid var(--cm-ink);background:#fff}
.cm-titleblock th,.cm-titleblock td{border:1px solid var(--cm-line);padding:.7rem .9rem;text-align:left;vertical-align:top;font-size:16px}
.cm-titleblock th{width:34%;font-family:var(--cm-mono);font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--cm-steel);background:var(--cm-paper)}
.cm-codes th{width:5rem;font-size:15px;color:var(--cm-ink)}

/* Big phone in the quote section */
.cm-quote{background:var(--cm-paper);border-top:1px solid var(--cm-line)}
.cm-bigphone{font-family:var(--cm-cond);font-weight:700;font-size:clamp(2rem,4vw,3rem);color:var(--cm-ink);text-decoration:none;letter-spacing:.01em}
.cm-bigphone:hover,.cm-bigphone:focus-visible{color:var(--cm-blue)}

/* ---------- Inner page header ---------- */
.cm-pagehead{border-bottom:1px solid var(--cm-ink);background:var(--cm-paper)}
.cm-pagehead > *{max-width:1200px;margin-left:auto!important;margin-right:auto!important}
.cm-pagehead h1{font-size:clamp(2rem,3.6vw,2.9rem);margin:.2rem 0 .6rem}

/* ---------- Equipment tables ---------- */
.cm-equipment{margin:1rem 0 2.5rem}
.cm-equipment table{border-collapse:collapse;width:100%;font-size:15.5px;table-layout:auto!important;border:1px solid var(--cm-ink)}
.cm-equipment th,.cm-equipment td{border:1px solid var(--cm-line);padding:.6rem .75rem;text-align:left;vertical-align:top}
.cm-equipment thead th{background:var(--cm-ink);color:#fff;font-family:var(--cm-mono);font-weight:500;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.cm-equipment td:first-child{font-family:var(--cm-mono);white-space:nowrap}
.cm-equipment tbody tr:hover{background:var(--cm-paper)}
@media (max-width:640px){
  .cm-equipment thead{display:none}
  .cm-equipment table,.cm-equipment tbody,.cm-equipment tr,.cm-equipment td{display:block;width:100%}
  .cm-equipment table{border:0}
  .cm-equipment tr{border:1px solid var(--cm-ink);margin-bottom:.8rem}
  .cm-equipment td{border:0;border-bottom:1px solid var(--cm-line);white-space:normal!important}
  .cm-equipment td:last-child{border-bottom:0}
  .cm-equipment td:empty{display:none}
  .cm-titleblock th{width:40%}
}

/* ---------- Downloads ---------- */
.cm-downloads{list-style:none;padding:0!important;border-top:1px solid var(--cm-ink)}
.cm-downloads li{margin:0;border-bottom:1px solid var(--cm-line)}
.cm-downloads a{display:grid;grid-template-columns:3.2rem 1fr;align-items:baseline;padding:.9rem .2rem;text-decoration:none;color:var(--cm-ink);font-weight:600;min-height:48px}
.cm-downloads a::before{content:"PDF";font-family:var(--cm-mono);font-size:12px;font-weight:500;color:var(--cm-blue);grid-row:span 2}
.cm-downloads a span{display:block;grid-column:2;font-weight:400;font-size:15px;color:var(--cm-steel)}
.cm-downloads a:hover,.cm-downloads a:focus-visible{color:var(--cm-blue)}

/* ---------- Job openings (Careers) ---------- */
.cm-jobs .wp-block-post-template{list-style:none;padding:0;margin:0;border-top:1px solid var(--cm-ink)}
.cm-jobs .wp-block-post{border-bottom:1px solid var(--cm-line);padding:1rem 0}
.cm-jobs .wp-block-post-title{margin:0 0 .3rem;font-size:1.25rem}
.cm-jobs .wp-block-post-title a{text-decoration:none}
.cm-jobs .wp-block-post-excerpt{margin:0}
.cm-jobs .wp-block-post-excerpt__more-link{font-family:var(--cm-mono);font-size:13px;text-transform:uppercase}
.cm-back{margin-top:2rem}

/* ---------- Forms ---------- */
.cm-formbox{border:1px solid var(--cm-ink);padding:1.6rem 1.6rem 1.8rem;background:#fff}
.cm-formbox h2{margin-top:0}
.wpcf7 form{display:grid;gap:1rem}
.wpcf7 form > p{margin:0}
.wpcf7 form br{display:none}
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 label{display:block;font-family:var(--cm-mono);font-weight:500;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--cm-steel);margin-bottom:.35rem}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{
  width:100%;box-sizing:border-box;padding:.7rem .8rem;font:inherit;font-size:17px;border:1px solid #8b9099;border-radius:0;background:#fff;color:var(--cm-ink)}
.wpcf7 input[type=file]{font:inherit;font-size:16px}
.wpcf7 textarea{min-height:140px}
.wpcf7 input:focus-visible,.wpcf7 select:focus-visible,.wpcf7 textarea:focus-visible{outline:2px solid var(--cm-blue);outline-offset:0;border-color:var(--cm-blue)}
.wpcf7 input[type=submit]{background:var(--cm-blue);color:#fff;border:0;border-radius:0;padding:.9rem 1.6rem;font-family:var(--cm-cond);font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;justify-self:start;min-height:48px}
.wpcf7 input[type=submit]:hover,.wpcf7 input[type=submit]:focus-visible{background:var(--cm-blue-dark)}
.wpcf7 .wpcf7-not-valid-tip{color:#a3261a;font-size:15px}
.wpcf7 .cm-form-note{font-size:14px;color:var(--cm-steel);font-family:inherit;text-transform:none;letter-spacing:0}
.cm-map{display:block;margin-top:1.2rem;border:1px solid var(--cm-ink)!important}

/* ---------- Footer ---------- */
.cm-footer{font-size:15px}
.cm-footer a{color:#fff}
.cm-footer a:hover,.cm-footer a:focus-visible{color:#c7d2fe}
.cm-footer p{margin:.3rem 0}
.cm-footer a[href^="mailto:"]{overflow-wrap:anywhere}
.cm-copyright{border-top:1px solid rgba(255,255,255,.25);padding-top:1rem;margin-top:2rem!important;color:#c9ccd1;font-family:var(--cm-mono);font-size:12px!important}

/* ---------- Phone layout ---------- */
@media (max-width:781px){
  .cm-header-cta{display:none!important}
  .cm-topbar .cm-topbar-note{display:none}
  .cm-hero-cols > .wp-block-column:first-child{padding:1.4rem}
  .cm-split{gap:1.5rem!important}
}
@media (max-width:599px){
  .cm-header > .wp-block-group{flex-direction:column;align-items:stretch!important;gap:10px}
  .cm-brand{justify-content:center}
  .cm-header .wp-block-navigation{width:100%;justify-content:center}
  .cm-header .wp-block-navigation__responsive-container-open{
    display:flex!important;width:100%;min-height:48px;align-items:center;justify-content:center;gap:.6rem;
    background:var(--cm-ink);color:#fff;border-radius:0;font-family:var(--cm-cond);font-weight:700;font-size:16px;letter-spacing:.08em;text-transform:uppercase}
  .cm-header .wp-block-navigation__responsive-container-open svg{width:22px;height:22px;fill:currentColor}
  .cm-header .wp-block-navigation__responsive-container-open::after{content:"Menu"}
}
/* Open phone menu: full screen, left-aligned, large tap rows (layout from the Burgess pattern, owner-approved 2026-11-06) */
.wp-block-navigation__responsive-container.is-menu-open{background:var(--cm-ink)!important;color:#fff!important;padding:max(20px,env(safe-area-inset-top,0px)) 24px 32px!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{color:#fff;top:18px;right:18px}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{width:30px;height:30px;fill:currentColor}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before{
  content:"Commercial Machine, Inc.";display:block;font-family:var(--cm-mono);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#c9ccd1;padding:6px 48px 18px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:8px!important;align-items:stretch!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{align-items:stretch!important;justify-content:flex-start!important;width:100%;gap:0!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{border-bottom:1px solid rgba(255,255,255,.2)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;text-align:left;padding:14px 4px!important;font-family:var(--cm-cond);font-weight:700;font-size:1.4rem;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;color:#fff!important;text-decoration:none;border:0!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content{color:#c7d2fe!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus{outline:none}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible{outline:2px solid #c7d2fe;outline-offset:2px}
