/*
Theme Name: ZeroY Starter
Description: CYTFLEX design system — brand red identity, white technical canvas, charcoal engineering order, yellow signal marks.
*/

/* Site layout constants */
:root{--content-max:1100px;--page-gutter:24px;font-family:var(--font-body);color:var(--ink);background:var(--canvas)}

/* Shell width ladder.
   A 1100px cap left ~170px of empty canvas on each side of a 1440 laptop, which
   reads as a narrow, cramped page while the text measure stayed small anyway.
   The reading measure is capped in ch on each text block, so widening the shell
   adds room to the grids, tables and panels without lengthening the lines. */
@media(min-width:1280px){:root{--content-max:1180px;--page-gutter:28px}}
@media(min-width:1440px){:root{--content-max:1260px;--page-gutter:32px}}
@media(min-width:1600px){:root{--content-max:1320px;--page-gutter:32px}}
@media(min-width:1800px){:root{--content-max:1380px;--page-gutter:36px}}
@media(min-width:2100px){:root{--content-max:1440px;--page-gutter:36px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.65;font-weight:400}
img{max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em;line-height:1.65;max-width:68ch}
p:last-child{margin-bottom:0}
strong,b{font-weight:600}

h1,h2,h3,h4,h5,h6{font-family:var(--font-headings);color:var(--ink);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.375rem,5vw,4.25rem);line-height:1.06;font-weight:700}
h2{font-size:clamp(2.125rem,3.2vw,2.75rem);line-height:1.12}
h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.25}
h4{font-size:1.125rem}
h5,h6{font-size:1rem}

::selection{background:var(--brand-red-tint);color:var(--brand-red-deep)}
:focus-visible{outline:3px solid var(--brand-red-deep);outline-offset:2px}

/* White technical sheet on the warm canvas */
main,.cyt-page{display:block;max-width:var(--content-max);margin:32px auto 48px;padding:40px var(--page-gutter) 56px;background:var(--surface)}

/* Buttons — one primary per action group, the rest ghost */
button,.button{
  display:inline-block;
  padding:12px 22px;
  background:var(--brand-red-deep);
  color:#fff;
  border:1px solid var(--brand-red-deep);
  border-radius:var(--radius-control);
  box-shadow:0 1px 2px rgba(36,38,41,.12);
  font-family:var(--font-body);
  font-size:.9375rem;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.01em;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
button:hover,.button:hover{background:#9C1B15;border-color:#9C1B15;color:#fff;box-shadow:0 10px 20px -8px rgba(36,38,41,.32);transform:translateY(-1px)}
.button--ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:600}
.button--ghost:hover{background:var(--canvas);border-color:var(--ink-soft);color:var(--ink)}
/* Buttons on dark ink surfaces */
.cyt-cta-band .button--ghost{background:#33363A!important;color:#fff!important;border-color:rgba(255,255,255,.45)!important}
.cyt-cta-band .button--ghost:hover{background:#3E4247!important;color:#fff!important;border-color:#fff!important}
/* Visually hidden but accessible (clip-path keeps it hidden even on table captions) */
.cyt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Short yellow stamp mark under section headings */
.cyt-mark{display:block;width:24px;height:3px;margin:0 0 16px;background:var(--signal-yellow);border-radius:1px}

/* Small rectangular labels */
.cyt-label{
  display:inline-block;
  padding:3px 9px;
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-soft);
  background:var(--canvas);
  border:1px solid var(--line);
  border-radius:3px;
}
.cyt-label--active{background:var(--brand-red-tint);color:var(--brand-red-deep);border-color:var(--brand-red-tint)}

/* Data / values */
.cyt-mono{font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0}

/* Header / navigation */
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px 24px;
  flex-wrap:wrap;
  width:100%;
  /* Stays at the top of the viewport so nav and the quote button are always
     reachable. The solid surface and hairline border below already keep the
     page from showing through. */
  position:sticky;
  top:0;
  z-index:50;
  padding-block:14px;
  padding-inline:max(var(--page-gutter),calc((100% - var(--content-max)) / 2 + var(--page-gutter)));
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.site-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-headings);font-size:1.375rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.site-logo .cyt-ph{width:auto;height:auto;max-height:56px;background:var(--surface);border-radius:var(--radius-control)}
.site-logo-img{display:block;width:auto;height:auto;max-height:56px;background:var(--surface);border-radius:var(--radius-control)}
.site-nav>ul{display:flex;flex-wrap:wrap;align-items:center;gap:2px 20px;list-style:none;margin:0;padding:0}
.site-header-cta{flex:none;padding:10px 20px;font-size:.875rem}
@media(max-width:900px){.site-header-cta{display:none}}

/* --- Language switcher ----------------------------------------------------
   Drawn only when the site serves more than one language; below the 900px
   header breakpoint the drawer carries the same links. */
.cyt-lang{position:relative;display:flex;align-items:center;flex:none;margin-left:8px}
/* The trigger names the language the visitor is reading; the panel lists them all. */
.cyt-lang-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--muted);font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;cursor:pointer}
.cyt-lang-trigger:hover{color:var(--ink);border-color:var(--ink-soft)}
.cyt-lang-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.cyt-lang-trigger[aria-expanded="true"]{color:var(--ink);border-color:var(--ink)}
.cyt-lang-chevron{flex:none;transition:transform .15s ease}
.cyt-lang-trigger[aria-expanded="true"] .cyt-lang-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.cyt-lang-chevron{transition:none}}
.cyt-lang-panel{min-width:196px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 30px rgba(20,24,28,.16)}
.cyt-lang-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:calc(var(--radius-control) - 1px);font-size:.875rem;line-height:1.3;text-decoration:none;color:var(--ink)}
.cyt-lang-item:hover{background:rgba(0,0,0,.05)}
.cyt-lang-item:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.cyt-lang-item.is-current{background:rgba(0,0,0,.04);font-weight:600}
.cyt-lang-item-code{flex:none;min-width:20px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cyt-lang-item-label{flex:1 1 auto}
.cyt-lang-check{flex:none;color:var(--ink)}
/* Text for screen readers only: the switcher shows "EN"/"ES", the full language
   name stays available to assistive technology. */
.cyt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.nav-drawer-lang{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.nav-drawer-lang-link{padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:.8125rem;font-weight:600;text-decoration:none;color:var(--ink)}
.nav-drawer-lang-link.is-current{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:900px){.cyt-lang{display:none}}
/* Anchor targets: a jump lands with the heading clear of the top edge */
#send-your-inquiry{scroll-margin-top:92px}
.nav-item{position:relative;display:flex;align-items:center}
.site-nav .nav-link{
  display:inline-block;
  padding:6px 2px;
  font-size:.9375rem;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.site-nav .nav-link:hover{color:var(--brand-red-deep);border-bottom-color:var(--brand-red)}
.nav-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;margin-left:2px;padding:0;
  background:none;border:0;border-radius:var(--radius-control);
  color:var(--ink-soft);cursor:pointer;transition:color .18s ease,background-color .18s ease;
}
.nav-toggle:hover{color:var(--brand-red-deep);background:var(--brand-red-tint)}
.nav-toggle-icon{
  width:8px;height:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon{transform:translateY(1px) rotate(225deg)}
.nav-panel{
  position:absolute;top:calc(100% + 10px);left:0;z-index:60;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-content);
  padding:20px;
}
/* Hovering an open-menu item always shows its panel — including in the middle of a
   click, so a category link can never lose its target between mousedown and click. */
.nav-item--panel:hover .nav-panel[data-panel][hidden]{display:block!important}
/* Width hugs the longest category title — no dead space on the right.
   overflow:visible !important counters the popover behaviour's inline overflow-y:auto
   (behaviors.js floating()), which would turn this panel into a scroll container and
   clip the hover flyout at the panel edge (plus a stray horizontal scrollbar). */
.nav-panel--mega{width:max-content;min-width:220px;max-width:min(320px,calc(100vw - 48px))!important;overflow:visible!important}
.nav-mega-grid{display:grid;grid-template-columns:1fr;gap:6px;list-style:none;margin:0;padding:0}
.nav-mega-item{position:relative}
.nav-mega-card{display:block;text-decoration:none;color:var(--ink);border:0;padding:10px 12px;border-radius:var(--radius-control)}
.nav-mega-card:hover{background:var(--surface)}
.nav-mega-title{font-family:var(--font-headings);font-size:1rem;font-weight:700;line-height:1.25}
.nav-mega-card:hover .nav-mega-title{color:var(--brand-red-deep)}
/* Hover submenu: the products under this category, flying out beside the title.
   It overlaps the title card slightly (no gap), and the invisible ::before bridge
   extends the hover area over the seam. No overflow here: that would clip the bridge.
   Closing is delayed (visibility) so a brief step over the seam never flickers it away. */
.nav-mega-sub{
  opacity:0;visibility:hidden;
  transition:opacity .12s ease,visibility 0s linear .18s;
  position:absolute;top:-8px;left:calc(100% - 6px);z-index:70;
  width:240px;
  padding:8px;
  background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius-content);
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}
.nav-mega-sub::before{content:"";position:absolute;top:-16px;bottom:-16px;left:-18px;width:18px}
.nav-mega-item:hover .nav-mega-sub,
.nav-mega-item:focus-within .nav-mega-sub{opacity:1;visibility:visible;transition-delay:0s,0s}
.nav-mega-sub-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.nav-mega-sub-link{display:block;padding:7px 10px;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;border-radius:var(--radius-control)}
.nav-mega-sub-link:hover,.nav-mega-sub-link:focus-visible{background:var(--brand-red-tint);color:var(--brand-red-deep)}
.nav-mega-sub-all{display:block;margin-top:4px;padding:8px 10px;font-size:.875rem;font-weight:600;color:var(--brand-red-deep);text-decoration:none;border-top:1px solid var(--line)}
.nav-mega-sub-all:hover{color:var(--brand-red)}
.nav-mega-foot{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.nav-mega-foot a{font-size:.9375rem;font-weight:600;color:var(--brand-red-deep);text-decoration:none;border-bottom:1px solid transparent}
.nav-mega-foot a:hover{border-bottom-color:var(--brand-red)}
.nav-panel--drop{display:grid;gap:2px;min-width:220px;padding:10px}
.nav-drop-link{display:block;padding:9px 12px;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:none;border:0;border-radius:var(--radius-control);transition:color .18s ease,background-color .18s ease}
.nav-drop-link:hover{background:var(--brand-red-tint);color:var(--brand-red-deep)}
.nav-drop-link--all{margin-top:4px;padding-top:11px;border-top:1px solid var(--line);border-radius:0;border-top-left-radius:0;font-weight:600}
.skip-link{position:absolute;left:-9999px;top:0}
.skip-link:focus{left:8px;top:8px;position:fixed;z-index:100;background:var(--brand-red-deep);color:#fff;padding:10px 14px;border-radius:var(--radius-control);font-weight:600}

/* Page framework */
.cyt-hero h1{margin:.35em 0 .25em}
/* Home hero banner: a wide photo keeps its own proportions, no cropping */
.cyt-hero-img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(58vh,540px);
  object-fit:cover;
  object-position:center;
  border-radius:var(--radius-content);
  background:var(--surface);
}
@media(max-width:640px){
  .cyt-hero-img{max-height:none;border-radius:var(--radius-control)}
}
.cyt-lead{font-size:1.125rem;line-height:1.6;color:var(--ink-soft);max-width:60ch}
.cyt-section{margin-block:var(--space-section)}
.cyt-section:first-of-type{margin-top:32px}
.cyt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 0}

/* Cards, grids, placeholder images */
.cyt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;list-style:none;margin:24px 0 0;padding:0}
.cyt-grid--tight{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.cyt-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-content);padding:12px;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
.cyt-card:hover{box-shadow:0 18px 36px -18px rgba(36,38,41,.35);transform:translateY(-3px)}
.cyt-card a{display:block;text-decoration:none}
.cyt-card-title{display:block;margin-top:10px;font-family:var(--font-headings);font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--ink)}
.cyt-ph{display:block;width:100%;height:auto;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-control)}
.cyt-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.cyt-prose{margin-top:24px;max-width:68ch}
.cyt-prose ul,.cyt-prose ol{max-width:68ch;padding-left:1.25em}
.cyt-prose li{margin-bottom:.4em}
.cyt-prose a{color:var(--brand-red-deep);text-decoration:underline;text-underline-offset:2px}

/* Technical spec table */
.cyt-spec-table{width:100%;border-collapse:collapse;font-size:.9375rem}
.cyt-spec-table th,.cyt-spec-table td{padding:12px 10px;vertical-align:top;border-bottom:1px solid var(--line)}
.cyt-spec-table thead th{
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  text-align:left;
  border-top:1px solid var(--line);
}
.cyt-spec-table thead th:last-child,.cyt-spec-table td{text-align:right}
.cyt-spec-table tbody th{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--ink-soft);text-align:left}
.cyt-spec-table td{color:var(--ink)}
.cyt-spec-table .cyt-mono{white-space:nowrap}

/* Document rows */
.cyt-docs{list-style:none;margin:24px 0 0;padding:0}
.cyt-doc{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 24px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.cyt-docs>.cyt-doc:first-child{border-top:1px solid var(--line)}
.cyt-doc-meta{font-size:.8125rem;color:var(--muted)}
.cyt-doc a{font-weight:600;color:var(--brand-red-deep);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.cyt-doc a:hover{color:var(--brand-red);border-bottom-color:var(--brand-red)}

/* Post meta line */
.cyt-meta{margin:0 0 8px;font-size:.8125rem;color:var(--muted)}

/* Empty state */
.cyt-empty{
  margin:24px 0;
  padding:20px 0;
  font-size:.9375rem;
  color:var(--muted);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* Category selection-guide block */
.cyt-cat-desc{
  position:relative;
  margin:24px 0;
  padding:20px 24px 20px 28px;
  background:var(--canvas);
  border-radius:var(--radius-content);
}
.cyt-cat-desc::before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  width:3px;
  height:28px;
  background:var(--brand-red);
  border-radius:0 2px 2px 0;
}
.cyt-cat-desc p{max-width:65ch}

/* Quote CTA box (product pages) */
.cyt-quote{
  margin:40px 0 0;
  padding:28px 32px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
}
.cyt-quote p{margin:0 0 16px;max-width:56ch}
.cyt-quote .cyt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:22px}
.cyt-quote-extra{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding-bottom:3px;
  border-bottom:2px solid rgba(36,38,41,.18);
  font-size:.9375rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--ink);
  text-decoration:none;
  transition:border-color .16s ease,color .16s ease;
}
.cyt-quote-extra:hover{border-bottom-color:var(--ink);color:var(--ink)}
.cyt-quote-arrow{color:var(--brand-red-deep);font-size:1.0625rem;line-height:1;transition:transform .16s ease}
.cyt-quote-extra:hover .cyt-quote-arrow{transform:translateX(3px)}

/* Forms */
.cyt-form{display:grid;gap:16px;max-width:560px}
.cyt-field{display:grid;gap:8px}
.cyt-field label{font-size:.875rem;font-weight:600;color:var(--ink)}
.cyt-field input,.cyt-field select,.cyt-field textarea{
  width:100%;
  padding:10px 12px;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.4;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-control);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.cyt-field textarea{min-height:120px;resize:vertical}
.cyt-field input:focus,.cyt-field select:focus,.cyt-field textarea:focus{
  border-color:var(--brand-red-deep);
  outline:2px solid var(--brand-red-deep);
  outline-offset:1px;
}
.cyt-field input[aria-invalid="true"],.cyt-field select[aria-invalid="true"],.cyt-field textarea[aria-invalid="true"]{border-color:var(--danger)}
.cyt-form-status{margin:0;font-size:.875rem;color:var(--muted)}
.cyt-form-status.is-error,.cyt-form-status[data-state="error"]{color:var(--danger);font-weight:500}
.cyt-form-status.is-success,.cyt-form-status[data-state="success"]{color:var(--success);font-weight:500}

/* Footer — charcoal band with a red brand edge */
.site-footer{
  width:100%;
  padding-block:56px 26px;
  padding-inline:max(var(--page-gutter),calc((100% - var(--content-max)) / 2 + var(--page-gutter)));
  background:var(--ink-deep);
  border-top:3px solid var(--brand-red);
  color:rgba(255,255,255,.78);
  font-size:.9375rem;
}
.footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.2fr);
  gap:44px 52px;
}
.site-footer h2{
  margin:0 0 16px;
  font-family:var(--font-body);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.site-footer p{max-width:46ch}
.site-footer a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .16s ease}
.site-footer a:hover,.site-footer a:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--brand-red);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

/* Brand column */
.footer-logo{display:inline-block}
.footer-logo:hover,.footer-logo:focus-visible{text-decoration:none}
.footer-logo img,.footer-logo .cyt-ph{display:block;width:auto;max-width:190px;max-height:52px;height:auto;object-fit:contain}
.footer-org{
  margin:18px 0 10px;
  font-family:var(--font-headings);
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.005em;
  color:#fff;
}
.footer-lead{margin:0;max-width:42ch;font-size:.875rem;line-height:1.65;color:rgba(255,255,255,.74)}

/* Link columns */
.footer-nav ul{display:grid;gap:0;list-style:none;margin:0;padding:0}
.footer-nav a{display:inline-block;padding-block:5px;font-size:.9375rem;line-height:1.5}
.footer-nav .footer-nav-all{margin-top:8px;color:#fff}

/* Contact column */
.footer-contact-list{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.fc-label{
  display:block;
  margin:0 0 3px;
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.fc-value{
  display:inline-block;
  font-size:1rem;
  line-height:1.4;
  color:#fff;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.fc-value--mail{font-size:.9375rem;font-variant-numeric:normal;letter-spacing:0}
.fc-value--plain{color:rgba(255,255,255,.78);font-size:.9375rem;line-height:1.55;font-variant-numeric:normal;letter-spacing:0}
.site-footer a.footer-cta{
  display:inline-block;
  margin-top:24px;
  padding:11px 22px;
  border-radius:999px;
  background:var(--brand-red-deep);
  color:#fff;
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.01em;
  text-decoration:none;
  transition:background-color .16s ease,transform .16s ease;
}
.site-footer a.footer-cta:hover,.site-footer a.footer-cta:focus-visible{
  background:#9C1B15;
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}

/* Bottom bar */
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 28px;
  margin-top:48px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.8125rem;
  color:rgba(255,255,255,.66);
}
.site-copy{margin:0;max-width:none;font-size:.8125rem;color:rgba(255,255,255,.66)}
.footer-legal{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0;font-size:.8125rem}
.footer-legal a{color:rgba(255,255,255,.74)}
.footer-top{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.74);font-size:.8125rem}
.footer-top span{font-size:.9375rem;line-height:1}

@media(max-width:1080px){
  .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px 40px}
  .footer-brandcol,.footer-contact{grid-column:1 / -1}
  .footer-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}
  .footer-lead{max-width:56ch}
}
@media(max-width:640px){
  .site-footer{padding-block:40px 22px}
  .footer-main{grid-template-columns:1fr;gap:30px}
  .footer-contact-list{grid-template-columns:1fr;gap:14px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;margin-top:34px}
}

/* Breakpoints */
@media (max-width:800px){
  main,.cyt-page{margin:24px auto 32px;padding:32px var(--page-gutter) 40px}
  .cyt-split{grid-template-columns:1fr}
  .cyt-section{margin-block:40px}
  .site-nav ul{gap:2px 14px}
  .cyt-quote{padding:22px 24px}
}
@media (max-width:560px){
  main,.cyt-page{padding:24px var(--page-gutter) 32px}
  .cyt-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
  .cyt-grid--tight{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}
  .cyt-form{max-width:none}
  button,.button{padding:11px 18px}
  .cyt-spec-table th,.cyt-spec-table td{padding:10px 6px}
  .footer-cols{gap:24px}
}

/* Motion: transitions only, and none when the visitor asks for less */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}

/* Mobile navigation drawer */
.nav-mobile{display:none;align-items:center}
.nav-burger{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:40px;padding:0;cursor:pointer;
  background:none;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);
}
.nav-burger-icon{position:relative;display:block;width:20px;height:2px;background:currentColor}
.nav-burger-icon::before,.nav-burger-icon::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor}
.nav-burger-icon::before{top:-6px}
.nav-burger-icon::after{top:6px}
.nav-drawer{
  position:fixed;inset:0 auto 0 0;margin:0;
  width:min(86vw,360px);height:100dvh;max-height:none;max-width:none;
  padding:0;border:0;border-right:1px solid var(--line);
  background:var(--surface);color:var(--ink);
}
.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.nav-drawer-title{font-family:var(--font-headings);font-size:1.125rem;font-weight:700}
.nav-drawer-close{padding:4px 8px;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--ink-soft);cursor:pointer}
.nav-drawer-nav{display:grid;gap:2px;padding:12px 12px 24px}
.nav-drawer-link,.nav-drawer-trigger{
  display:block;width:100%;text-align:left;
  padding:12px;font-size:1rem;font-weight:500;font-family:var(--font-body);
  color:var(--ink);text-decoration:none;
  background:none;border:0;border-radius:var(--radius-control);cursor:pointer;
  transition:color .18s ease,background-color .18s ease;
}
.nav-drawer-link:hover,.nav-drawer-trigger:hover{background:var(--brand-red-tint);color:var(--brand-red-deep)}
.nav-drawer-trigger{display:flex;align-items:center;justify-content:space-between;font-weight:600}
.nav-drawer-trigger::after{
  content:"";width:8px;height:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .18s ease;
}
.nav-drawer-trigger[aria-expanded="true"]::after{transform:rotate(225deg)}
.nav-drawer-panel{display:grid;gap:2px;padding:2px 0 8px 12px}
.nav-drawer-panel a{display:block;padding:10px 12px;font-size:.9375rem;color:var(--ink);text-decoration:none;border-radius:var(--radius-control);transition:color .18s ease,background-color .18s ease}
.nav-drawer-panel a:hover{background:var(--brand-red-tint);color:var(--brand-red-deep)}
@media (max-width:900px){
  .site-nav{display:none}
  .nav-mobile{display:flex}
}

/* Inquiry dialog: the button appears only when the dialog behavior is live;
   the twin link is the no-JS / no-behavior fallback to the full form. */
[data-behavior="dialog"] .cyt-inq-open{display:none}
[data-behavior="dialog"][data-enhanced] .cyt-inq-open{display:inline-block}
[data-behavior="dialog"][data-enhanced] .cyt-inq-full{display:none}
dialog.cyt-inq{--dialog-duration:0ms;border:1px solid var(--line);border-radius:14px;padding:0;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px rgba(15,23,32,.28)}
dialog.cyt-inq::backdrop{background:rgba(15,23,32,.55)}
.cyt-inq-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.cyt-inq-title{margin:0;font-size:1.125rem;line-height:1.3}
.cyt-inq-close{appearance:none;border:0;background:transparent;color:var(--ink-soft);font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}
.cyt-inq-close:hover{background:var(--canvas);color:var(--ink)}
.cyt-inq-body{padding:18px 22px 22px;display:grid;gap:16px}
.cyt-inq-body .cyt-form{max-width:none}
.cyt-inq-lead{margin:0;color:var(--muted);max-width:52ch}
.cyt-inq-more{margin:0;font-size:.875rem;color:var(--muted)}
.cyt-inq-more a{color:var(--ink);text-decoration:underline}
.cyt-inq-more a:hover{color:var(--brand-red-deep)}
.cyt-inq-error{margin:0;font-size:.875rem;color:var(--danger)}
.cyt-inq-error:empty{display:none}
@media (max-width:600px){
  dialog.cyt-inq{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
}

/* Product detail page */
.cyt-crumbs{margin:0 0 20px;font-size:.8125rem;color:var(--muted)}
.cyt-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}
.cyt-crumbs li{display:flex;align-items:center}
.cyt-crumbs li:not(:last-child)::after{content:"/";margin:0 10px;color:#B9BDC0}
.cyt-crumbs a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
.cyt-crumbs a:hover{color:var(--brand-red-deep);border-bottom-color:var(--brand-red-deep)}
.cyt-crumbs [aria-current="page"]{font-weight:600;color:var(--ink)}

.cyt-product-hero{display:grid;gap:32px;align-items:stretch;margin:8px 0 24px}

.cyt-product-gallery img{display:block;max-width:100%;height:auto}
.cyt-thumbs{margin-top:12px}
.cyt-product-cats{margin:0 0 10px}
.cyt-product-cats .cyt-label{margin:0 6px 6px 0}
.cyt-product-hero h1{margin:.1em 0 .3em}

.cyt-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 24px;margin:24px 0 8px;padding:0}
.cyt-fact{padding:12px 0;border-top:1px solid var(--line)}
.cyt-fact dt{margin:0 0 4px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cyt-fact dd{margin:0;font-family:var(--font-mono);font-size:.9375rem;color:var(--ink)}

.cyt-checklist{display:grid;grid-template-columns:1fr;gap:10px 40px;list-style:none;margin:20px 0 0;padding:0;max-width:980px}
@media(min-width:860px){.cyt-checklist{grid-template-columns:1fr 1fr}}
.cyt-checklist li{position:relative;padding-left:22px;line-height:1.55;color:var(--ink-soft)}
.cyt-checklist li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--brand-red);border-radius:2px}

.cyt-duo{display:grid;gap:40px}
@media(min-width:860px){.cyt-duo{grid-template-columns:1fr 1fr;gap:48px}}

.cyt-opts{margin:16px 0 0;padding:0}
.cyt-opt{display:grid;grid-template-columns:1fr;gap:2px 24px;padding:12px 0;border-top:1px solid var(--line)}
@media(min-width:560px){.cyt-opt{grid-template-columns:minmax(130px,190px) minmax(0,1fr)}}
.cyt-opt dt{margin:0;font-weight:600;color:var(--ink)}
.cyt-opt dd{margin:0;color:var(--ink-soft);line-height:1.55}

.cyt-faq{margin:16px 0 0;max-width:860px}
.cyt-faq-item{padding:18px 0;border-top:1px solid var(--line)}
.cyt-faq-item:first-child{padding-top:0;border-top:0}
.cyt-faq-item h3{margin:0 0 8px;font-family:var(--font-headings);font-size:1.125rem;font-weight:600;line-height:1.35;color:var(--ink)}
.cyt-faq-item p{margin:0;color:var(--ink-soft);line-height:1.65;max-width:68ch}

.cyt-spec-line{display:flex;justify-content:space-between;gap:16px;padding:2px 0}
.cyt-spec-name{color:var(--muted)}
.cyt-spec-table--matrix thead th{text-align:right}
.cyt-spec-table--matrix thead th:first-child{text-align:left}

.cyt-cta-band{display:grid;gap:24px;padding:36px 32px;background:var(--ink);border-radius:var(--radius-content)}
@media(min-width:860px){.cyt-cta-band{grid-template-columns:minmax(0,1fr) auto;align-items:center}}
.cyt-cta-band h2{margin:0 0 10px;color:#fff}
.cyt-cta-band p{margin:0;max-width:52ch;line-height:1.6;color:rgba(255,255,255,.82)}
.cyt-cta-band .cyt-actions{margin:0}
@media(min-width:860px){.cyt-cta-band .cyt-actions{flex-wrap:nowrap;justify-content:flex-end}}
@media(max-width:859px){.cyt-cta-band .cyt-actions{flex-direction:column;align-items:stretch;gap:10px}}

/* ===== Product detail polish ===== */
.cyt-product-page .cyt-crumbs{margin:0 0 26px;font-size:.78125rem;letter-spacing:.01em}
.cyt-product-page .cyt-crumbs li:not(:last-child)::after{content:"/";margin:0 9px;color:#C4C8CB}

.cyt-product-page .cyt-product-hero{gap:36px;margin:12px 0}
@media(min-width:960px){.cyt-product-page .cyt-product-hero{gap:56px}}
/* The photo sizes the frame: no fixed ratio, so a wide shot never floats in dead space. */
.cyt-product-page .cyt-gallery-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
  box-shadow:0 20px 40px -28px rgba(36,38,41,.28);
}
.cyt-product-page .cyt-gallery-stage [data-slide]{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:min(64vh,520px);
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  object-fit:contain;
  object-position:center;
}
.cyt-product-page .cyt-gallery-bar{display:flex;align-items:center;gap:8px;margin:12px 0 0}
.cyt-product-page .cyt-gallery-arrow{
  position:static;
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;flex:0 0 auto;
  padding:0;border:1px solid var(--line);border-radius:50%;
  background:var(--surface);color:var(--ink);
  font-family:var(--font-body);font-size:1.25rem;font-weight:400;line-height:1;
  cursor:pointer;box-shadow:0 4px 12px -8px rgba(36,38,41,.35);
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.cyt-product-page .cyt-gallery-arrow:hover{background:var(--brand-red);border-color:var(--brand-red);color:#fff;transform:translateY(-1px)}
.cyt-product-page .cyt-gallery-status{margin:0 0 0 auto;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.12em;color:var(--muted);text-align:right}
.cyt-product-page .cyt-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.cyt-product-page .cyt-thumbs li{flex:0 0 auto;margin:0}
.cyt-product-page .cyt-thumb-btn{
  display:block;width:86px;height:86px;padding:0;overflow:hidden;line-height:0;cursor:pointer;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cyt-product-page .cyt-thumb-btn img,.cyt-product-page .cyt-thumb-btn .cyt-ph{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none}
.cyt-product-page .cyt-thumb-btn:hover{transform:translateY(-3px);border-color:var(--ink-soft);box-shadow:0 12px 22px -12px rgba(36,38,41,.45)}
.cyt-product-page .cyt-thumb-btn[aria-current="true"]{transform:translateY(-3px);border-color:var(--brand-red);box-shadow:0 12px 22px -12px rgba(36,38,41,.5)}
@media(max-width:600px){
  .cyt-product-page .cyt-gallery-arrow{width:34px;height:34px;font-size:1.125rem}
  .cyt-product-page .cyt-thumb-btn{width:72px;height:72px}
}
.cyt-product-page .cyt-product-hero h1{
  font-size:clamp(2.125rem,3.4vw,3rem);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:.14em 0 .22em;
}
.cyt-product-page .cyt-lead{max-width:52ch;font-size:1.0625rem;line-height:1.7}

/* Key specifications panel */
.cyt-product-page .cyt-facts{
  grid-template-columns:1fr;
  gap:0;
  margin:28px 0 12px;
  padding:0;
  background:var(--canvas);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
  overflow:hidden;
}
.cyt-product-page .cyt-fact{padding:15px 20px;border-top:0}
.cyt-product-page .cyt-fact+.cyt-fact{border-top:1px solid var(--line)}
@media(min-width:560px){
  .cyt-product-page .cyt-facts{grid-template-columns:1fr 1fr}
  .cyt-product-page .cyt-fact+.cyt-fact{border-top:0}
  .cyt-product-page .cyt-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .cyt-product-page .cyt-fact:nth-child(even){border-left:1px solid var(--line)}
}
.cyt-product-page .cyt-fact dt{margin:0 0 7px;font-size:.6875rem;letter-spacing:.14em;color:var(--muted)}
.cyt-product-page .cyt-fact dd{font-size:1.0625rem;font-weight:500;letter-spacing:-.01em}

/* Section rhythm */
.cyt-product-page .cyt-section{margin-block:44px}
.cyt-product-page .cyt-section h2{font-size:clamp(1.5rem,2.1vw,1.875rem);letter-spacing:-.015em;margin-bottom:.3em}
.cyt-product-page .cyt-mark{width:30px;height:3px;border-radius:2px;margin-bottom:18px}

/* Overview prose */
.cyt-product-page .cyt-prose{margin-top:22px;max-width:68ch}
.cyt-product-page .cyt-prose p{color:var(--ink-soft);line-height:1.75}
.cyt-product-page .cyt-prose p:last-child{margin-bottom:0}

/* Checklist */
.cyt-product-page .cyt-checklist{gap:12px 44px;margin-top:22px;max-width:980px}
.cyt-product-page .cyt-checklist li{padding-left:20px;line-height:1.62}
.cyt-product-page .cyt-checklist li::before{width:7px;height:7px;top:.58em;border-radius:2px}

/* Spec table */
.cyt-product-page .cyt-spec-table{
  margin-top:22px;
  border:1px solid var(--line);
  border-radius:var(--radius-content);
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  font-variant-numeric:tabular-nums;
}
.cyt-product-page .cyt-spec-table th,.cyt-product-page .cyt-spec-table td{padding:13px 16px}
.cyt-product-page .cyt-spec-table thead th{
  background:var(--canvas);
  border-top:0;
  border-bottom:1px solid var(--line);
  font-size:.6875rem;
  letter-spacing:.13em;
}
.cyt-product-page .cyt-spec-table tbody th{font-weight:600;color:var(--ink)}
.cyt-product-page .cyt-spec-table td{font-family:var(--font-mono);font-size:.875rem;color:var(--ink)}
.cyt-product-page .cyt-spec-table tbody tr{transition:background-color .15s ease}
.cyt-product-page .cyt-spec-table tbody tr:hover{background:rgba(36,38,41,.035)}
.cyt-product-page .cyt-spec-table tbody tr:last-child th,
.cyt-product-page .cyt-spec-table tbody tr:last-child td{border-bottom:0}

/* Options list */
.cyt-product-page .cyt-opts{margin-top:18px}
.cyt-product-page .cyt-opt{padding:14px 0;gap:4px 28px}
.cyt-product-page .cyt-opt dt{font-weight:500;color:var(--ink-soft)}
.cyt-product-page .cyt-opt dd{color:var(--ink);font-weight:500;line-height:1.6}

/* FAQ */
.cyt-product-page .cyt-faq{margin-top:18px;max-width:760px}
.cyt-product-page .cyt-faq-item{padding:22px 0}
.cyt-product-page .cyt-faq-item h3{font-size:1.0625rem;letter-spacing:-.01em;margin-bottom:9px}
.cyt-product-page .cyt-faq-item p{max-width:68ch;line-height:1.7}

/* Empty states */
.cyt-product-page .cyt-empty{
  margin:22px 0 0;
  padding:18px 22px;
  background:var(--canvas);
  border:1px dashed var(--line);
  border-radius:var(--radius-content);
  color:var(--muted);
}

/* Closing CTA band */
.cyt-product-page .cyt-cta-band{gap:28px;padding:44px 40px;border-radius:14px}
@media(min-width:860px){.cyt-product-page .cyt-cta-band{gap:40px}}
.cyt-product-page .cyt-cta-band h2{font-size:clamp(1.375rem,2vw,1.625rem);line-height:1.25;letter-spacing:-.015em;margin-bottom:8px}
.cyt-product-page .cyt-cta-band p{max-width:56ch;font-size:.9375rem;line-height:1.65}

@media(max-width:600px){
  .cyt-product-page .cyt-product-hero{gap:28px}
  .cyt-product-page .cyt-section{margin-block:36px}
  .cyt-product-page .cyt-cta-band{padding:32px 24px}
  .cyt-product-page .cyt-spec-table th,.cyt-product-page .cyt-spec-table td{padding:11px 12px}
}

/* ===== Sectional panel layout — each block its own area ===== */
.cyt-product-page{padding:28px var(--page-gutter) 40px}
.cyt-product-page .cyt-section{
  background:var(--canvas);
  border:1px solid var(--line);
  border-radius:16px;
  padding:clamp(26px,3.8vw,44px);
  margin-block:32px;
  scroll-margin-top:24px;
}
.cyt-product-page .cyt-section--split,
.cyt-product-page .cyt-section--flush{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}
.cyt-product-page .cyt-duo{gap:28px}
.cyt-product-page .cyt-duo-col{
  background:var(--canvas);
  border:1px solid var(--line);
  border-radius:16px;
  padding:clamp(24px,3.2vw,40px);
}

/* Nested white widgets on canvas panels */
.cyt-product-page .cyt-facts{
  background:var(--surface);
  box-shadow:0 1px 2px rgba(36,38,41,.05);
}
.cyt-product-page .cyt-spec-table{background:var(--surface)}
.cyt-product-page .cyt-empty{background:var(--surface)}

/* Reading measure inside panels */
.cyt-product-page .cyt-prose{max-width:68ch}
.cyt-product-page .cyt-faq{max-width:72ch}

@media(max-width:600px){
  .cyt-product-page{padding:18px var(--page-gutter) 28px}
  .cyt-product-page .cyt-section{padding:22px 20px;margin-block:18px;border-radius:12px}
  .cyt-product-page .cyt-duo{gap:18px}
  .cyt-product-page .cyt-duo-col{padding:22px 20px;border-radius:12px}
}


/* Product hero: two columns share the top edge; the photo keeps its own proportions */
@media(min-width:960px){
  .cyt-product-page .cyt-product-hero{display:grid;grid-template-columns:calc(52.381% - 28px) calc(47.619% - 28px);gap:56px;align-items:start}
}
.cyt-product-page .cyt-product-hero>*{min-width:0}
.cyt-product-page .cyt-product-gallery{display:flex;flex-direction:column;min-height:0}
.cyt-product-page .cyt-gallery-stage{flex:0 0 auto;min-height:0}
.cyt-product-page .cyt-product-info{display:flow-root}
.cyt-product-page .cyt-product-info>:last-child{margin-bottom:0}

/* Spec matrix on phones: a 4-column numeric grid only fits down to ~640px.
   Below that each size becomes its own card, labels from data-label. */
@media(max-width:640px){
  .cyt-product-page .cyt-spec-table--matrix{
    display:block;
    width:100%;
    margin-top:18px;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }
  .cyt-product-page .cyt-spec-table--matrix thead{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
  }
  .cyt-product-page .cyt-spec-table--matrix tbody{display:block}
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody tr{
    display:block;
    margin:0 0 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    overflow:hidden;
  }
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody tr:last-child{margin-bottom:0}
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody tr:hover{background:var(--surface)}
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody th[scope="row"]{
    display:block;
    padding:11px 14px;
    background:var(--canvas);
    border-top:0;
    border-bottom:1px solid var(--line);
    font-size:.9375rem;
    font-weight:600;
    color:var(--ink);
    text-align:left;
  }
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody td{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:9px 14px;
    border-bottom:1px solid var(--line);
    font-size:.875rem;
    text-align:right;
  }
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody td:last-child{border-bottom:0}
  .cyt-product-page .cyt-spec-table.cyt-spec-table--matrix tbody td::before{
    content:attr(data-label);
    flex:0 1 auto;
    font-family:var(--font-body);
    font-size:.6875rem;
    font-weight:600;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--muted);
    text-align:left;
  }
}

/* No long token may widen the page on a narrow screen */
.cyt-product-page .cyt-prose,
.cyt-product-page .cyt-faq,
.cyt-product-page .cyt-checklist,
.cyt-product-page .cyt-empty{overflow-wrap:break-word}

/* ===== Product gallery: hover lift instead of a magnifier lens ===== */
.cyt-product-page .cyt-gallery-stage [data-slide]{cursor:zoom-in}

/* The frame and the photo travel together: a few pixels up and a little larger.
   Transform only, so the page never reflows under the pointer. */
.cyt-product-page .cyt-gallery-stage{
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;
}
@media(hover:hover) and (pointer:fine){
  .cyt-product-page .cyt-gallery-stage:hover{
    z-index:3;
    transform:translate3d(0,-6px,0) scale(1.04);
    box-shadow:0 34px 60px -32px rgba(36,38,41,.5);
  }
}

.cyt-product-page .cyt-zoom-btn{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(36,38,41,.14);
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:var(--ink);
  cursor:zoom-in;
  box-shadow:0 12px 24px -14px rgba(36,38,41,.65);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}
.cyt-product-page .cyt-gallery-stage:hover .cyt-zoom-btn,
.cyt-product-page .cyt-zoom-btn:focus-visible{opacity:1;transform:none}
.cyt-product-page .cyt-zoom-btn:hover,
.cyt-product-page .cyt-zoom-btn:focus-visible{background:var(--brand-red);border-color:var(--brand-red);color:#fff}

@media(hover:none),(pointer:coarse){
  .cyt-product-page .cyt-gallery-stage [data-slide]{cursor:auto}
  .cyt-product-page .cyt-zoom-btn{opacity:1;transform:none;right:8px;bottom:8px;width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){
  .cyt-product-page .cyt-gallery-stage,
  .cyt-product-page .cyt-zoom-btn{transition:none}
}

/* Full-size viewer (built-in gallery behaviour inside a native dialog) */
.cyt-product-page .cyt-lightbox{
  width:min(1180px,96vw);
  max-width:96vw;
  max-height:92vh;
  margin:auto;
  padding:0;
  border:0;
  border-radius:14px;
  background:#15171A;
  color:#fff;
  overflow:visible;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.75);
}
.cyt-product-page .cyt-lightbox::backdrop{background:rgba(16,17,19,.9)}
.cyt-product-page .cyt-lb-frame{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:16px;
  max-height:92vh;
  overflow:auto;
}
.cyt-product-page .cyt-lb-image{
  display:block;
  width:auto;
  height:auto;
  max-width:calc(96vw - 32px);
  max-height:calc(92vh - 96px);
  object-fit:contain;
  background:#0F1113;
  border-radius:8px;
}
.cyt-product-page .cyt-lb-caption{
  margin:0;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  line-height:1.5;
  color:rgba(255,255,255,.84);
  text-align:center;
}
.cyt-product-page .cyt-lb-btn{
  position:absolute;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  background:rgba(26,28,32,.78);
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,transform .16s ease;
}
.cyt-product-page .cyt-lb-btn:hover{background:var(--brand-red);border-color:var(--brand-red)}
.cyt-product-page .cyt-lb-close{top:-14px;right:-14px;width:40px;height:40px;font-size:1.25rem;background:var(--ink)}
.cyt-product-page .cyt-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.cyt-product-page .cyt-lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){
  .cyt-product-page .cyt-lb-btn{width:38px;height:38px;font-size:1.25rem}
  .cyt-product-page .cyt-lb-close{top:6px;right:6px}
}
@media(prefers-reduced-motion:reduce){
  .cyt-product-page .cyt-lb-btn{transition:none}
}

/* ===== Product page: on-page navigation and contextual links ===== */
.cyt-product-page .cyt-toc{
  margin:6px 0 10px;
  padding:14px 16px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
}
.cyt-product-page .cyt-toc-title{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.cyt-product-page .cyt-toc ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cyt-product-page .cyt-toc li{margin:0}
.cyt-product-page .cyt-toc a{
  display:inline-flex;
  align-items:center;
  padding:5px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  font-size:.8125rem;
  line-height:1.4;
  text-decoration:none;
  transition:border-color .16s ease,color .16s ease,background-color .16s ease;
}
.cyt-product-page .cyt-toc a:hover,
.cyt-product-page .cyt-toc a:focus-visible{background:var(--brand-red-deep);border-color:var(--brand-red-deep);color:#fff}

.cyt-product-page .cyt-more{margin:14px 0 0;font-size:.875rem;line-height:1.6}
.cyt-product-page .cyt-more a{color:var(--brand-red-deep);text-decoration:underline;text-underline-offset:2px}
.cyt-product-page .cyt-more a:hover{color:var(--ink)}

/* Jump targets clear the sticky header instead of hiding under it. */
.cyt-product-page .cyt-section,
.cyt-product-page .cyt-duo-col{scroll-margin-top:92px}
@media(max-width:900px){
  .cyt-product-page .cyt-toc{padding:12px 14px 14px}
  .cyt-product-page .cyt-toc a{padding:5px 10px;font-size:.78125rem}
  .cyt-product-page .cyt-section,
  .cyt-product-page .cyt-duo-col{scroll-margin-top:80px}
}

/* ===== Product overview: sub-headings keep the prose rhythm readable ===== */
.cyt-product-page .cyt-prose h3{
  margin:26px 0 10px;
  font-size:1.125rem;
  line-height:1.35;
  letter-spacing:-.01em;
}
.cyt-product-page .cyt-prose h3:first-child{margin-top:0}

/* ===== Related Products: compact block (≈30% shorter than the section rhythm) =====
   The products' photos are portrait (645x807), so a full-width card thumbnail ran
   ~295px tall, and the related excerpt ran 5-6 lines. This block gives the thumbs a
   landscape 4:3 crop, trims the panel/heading spacing and clamps the teaser to three
   lines. Scoped to #related so no other section changes. */
.cyt-product-page #related{padding-block:clamp(22px,3vw,34px)}
.cyt-product-page #related h2{margin-bottom:.2em}
.cyt-product-page #related .cyt-mark{margin-bottom:14px}
.cyt-product-page #related .cyt-grid{margin-top:18px}
.cyt-product-page #related .cyt-card img,
.cyt-product-page #related .cyt-card .cyt-ph{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  border-radius:var(--radius-control);
}
.cyt-product-page #related .cyt-card-title{margin-top:8px;font-size:1rem;line-height:1.3}
.cyt-product-page #related .cyt-card p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  margin:6px 0 0;
  font-size:.9375rem;
  line-height:1.55;
}
.cyt-product-page #related .cyt-more{margin-top:12px}

/* ---------------------------------------------------------------
   About page (page-about-us.php). Local variant only: it reuses the
   shared .cyt-facts / .cyt-checklist / .cyt-grid / .cyt-prose pieces.
   --------------------------------------------------------------- */
.cyt-page--about .cyt-about-head{max-width:68ch}
.cyt-about-kicker{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand-red-deep);
}
.cyt-page--about .cyt-about-head h1{margin:0 0 18px}
.cyt-about-lede{
  margin:0;
  font-size:clamp(1.0625rem,1.45vw,1.25rem);
  line-height:1.6;
  color:var(--ink-soft);
}
.cyt-about-facts{margin:34px 0 0}

.cyt-about-split{display:grid;gap:34px;align-items:start}
@media(min-width:900px){
  .cyt-about-split{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
}
.cyt-about-split .cyt-prose{max-width:none}
.cyt-about-split .cyt-actions{margin-top:28px}
.cyt-about-figure{margin:0}
.cyt-about-figure img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(62vh,560px);
  object-fit:cover;
  border-radius:var(--radius-content);
  background:var(--canvas);
}

/* Shared photo block: one image plus its own caption line */
.cyt-figure{margin:clamp(26px,3.4vw,40px) 0 0}
.cyt-figure img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(44vh,420px);
  object-fit:cover;
  object-position:center;
  border-radius:var(--radius-content);
  background:var(--canvas);
}
.cyt-figure figcaption{
  margin:12px 0 0;
  font-family:var(--font-mono);
  font-size:.75rem;
  line-height:1.5;
  letter-spacing:.02em;
  color:var(--muted);
}
.cyt-about-split .cyt-checklist{margin-top:22px}
.cyt-about-split .cyt-checklist strong{color:var(--ink);font-weight:600}
.cyt-page--about .cyt-about-note{
  margin:20px 0 0;
  max-width:72ch;
  font-size:.9375rem;
  line-height:1.6;
  color:var(--muted);
}
.cyt-about-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.cyt-about-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.cyt-about-facts{grid-template-columns:repeat(6,minmax(0,1fr))}}
.cyt-about-ranges{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:26px}
@media(min-width:560px){.cyt-about-ranges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.cyt-about-ranges{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.cyt-about-ranges .cyt-card{padding:0}
.cyt-about-ranges .cyt-card a{display:flex;align-items:center;gap:14px;padding:18px 20px}
.cyt-about-num{
  flex:none;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--muted);
}
.cyt-about-ranges .cyt-card-title{flex:1;margin-top:0;font-size:1rem}
.cyt-about-go{
  flex:none;
  font-family:var(--font-mono);
  font-size:.9375rem;
  color:var(--brand-red-deep);
  transition:transform .18s ease;
}
.cyt-about-ranges .cyt-card:hover .cyt-about-go{transform:translateX(3px)}

.cyt-about-visit{align-items:start}
.cyt-about-contact{
  list-style:none;
  margin:0;
  padding:8px 24px 12px;
  background:var(--canvas);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
}
.cyt-about-contact li{display:grid;gap:5px;padding:16px 0;border-top:1px solid var(--line)}
.cyt-about-contact li:first-child{border-top:0}
.cyt-about-clabel{
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted);
}
.cyt-about-contact a,
.cyt-about-cvalue{
  font-family:var(--font-mono);
  font-size:.9375rem;
  line-height:1.45;
  color:var(--ink);
  text-decoration:none;
  word-break:break-word;
}
.cyt-about-contact a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:text-decoration-color .16s ease}
.cyt-about-contact a:hover{text-decoration-color:var(--brand-red-deep);color:var(--brand-red-deep)}
@media(max-width:640px){
  .cyt-about-contact{padding:4px 18px 8px}
  .cyt-figure img{border-radius:var(--radius-control)}
}

/* ===============================================================
   Inner-page heroes, process panels, editorial lists and document
   blocks — shared by Quality Control, Downloads, the blog index,
   category pages and single articles. One owner: this section.
   =============================================================== */

/* Page hero: banner (if the page has one), kicker, title, lead */
.cyt-hero{display:block;margin:0 0 clamp(26px,3.2vw,38px)}
.cyt-hero>.cyt-ph,.cyt-hero>.cyt-hero-img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(44vh,400px);
  object-fit:cover;
  object-position:center;
  border:1px solid var(--line);
  border-radius:var(--radius-content);
  background:var(--canvas);
  margin:0 0 clamp(20px,2.6vw,30px);
}
.cyt-hero-kicker{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand-red-deep);
}
.cyt-hero .cyt-lead{margin:4px 0 0;max-width:62ch}
.cyt-hero .cyt-actions{margin-top:22px}
@media(max-width:640px){
  .cyt-hero>.cyt-ph,.cyt-hero>.cyt-hero-img{border-radius:var(--radius-control);max-height:none}
}

/* Numbered process panels (milestones, steps) */
.cyt-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
@media(min-width:760px){.cyt-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}}
.cyt-step{
  position:relative;
  padding:20px 18px 22px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-content);
}
.cyt-step::before{
  content:"";
  position:absolute;
  left:18px;
  top:-1px;
  width:24px;
  height:3px;
  background:var(--signal-yellow);
  border-radius:1px;
}
.cyt-step-num{
  display:block;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.08em;
  color:var(--muted);
}
.cyt-step h3{margin:8px 0 6px;font-size:1.0625rem;line-height:1.3}
.cyt-step p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--ink-soft);max-width:none}

/* Policy callout — a rule the buyer can hold us to */
.cyt-callout{
  margin:26px 0 0;
  padding:22px 26px;
  background:var(--canvas);
  border:1px solid var(--line);
  border-left:4px solid var(--brand-red);
  border-radius:var(--radius-control);
}
.cyt-callout h3{margin:0 0 8px;font-size:1.125rem}
.cyt-callout p{margin:0;color:var(--ink-soft);max-width:70ch}
.cyt-callout p+p{margin-top:10px}
.cyt-callout--ink{background:var(--ink-deep);border-color:var(--ink-deep);border-left-color:var(--signal-yellow)}
.cyt-callout--ink h3{color:#fff}
.cyt-callout--ink p{color:#D3D7D9}

/* Wide tables scroll inside their own box, never the page */
.cyt-table-wrap{margin:24px 0 0;overflow-x:auto}
.cyt-table-wrap .cyt-spec-table{min-width:560px}
.cyt-spec-table--checks td,.cyt-spec-table--checks tbody th{text-align:left}
.cyt-spec-table--checks tbody th{width:34%}
.cyt-spec-table--checks td{color:var(--ink-soft)}

/* Editorial post list — rows, not a card grid: two posts read as a
   short journal and fifty posts still read as an archive. */
.cyt-post-list{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line)}
.cyt-post-row{display:grid;grid-template-columns:1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
@media(min-width:760px){
  .cyt-post-row{grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start}
  .cyt-post-row--lead{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px;padding:30px 0}
  .cyt-post-row--lead .cyt-post-thumb{grid-row:1}
  .cyt-post-row--lead .cyt-post-body{padding-top:2px}
}
.cyt-post-thumb{display:block;margin:0;text-decoration:none}
.cyt-post-thumb img,.cyt-post-thumb .cyt-ph{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius-control);
  background:var(--canvas);
}
.cyt-post-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px}
.cyt-post-title{margin:0;font-family:var(--font-headings);font-size:clamp(1.25rem,1.9vw,1.5rem);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.cyt-post-title a{color:var(--ink);text-decoration:none;transition:color .18s ease}
.cyt-post-title a:hover,.cyt-post-title a:focus-visible{color:var(--brand-red-deep)}
.cyt-post-row--lead .cyt-post-title{font-size:clamp(1.5rem,2.5vw,2.0625rem);line-height:1.18}
.cyt-post-excerpt{margin:10px 0 0;font-size:.9375rem;line-height:1.6;color:var(--ink-soft);max-width:68ch}
.cyt-post-more{
  display:inline-block;
  margin:12px 0 0;
  font-family:var(--font-body);
  font-size:.875rem;
  font-weight:600;
  color:var(--brand-red-deep);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .18s ease,color .18s ease;
}
.cyt-post-more:hover,.cyt-post-more:focus-visible{color:var(--brand-red);border-bottom-color:var(--brand-red)}
.cyt-post-empty{margin:26px 0 0}

/* Category chips above a list */
.cyt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px}
.cyt-chips .cyt-count{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}

/* Document rows (per-model technical files) */
.cyt-doc-title{font-weight:600;color:var(--ink)}
.cyt-doc-source{display:block;margin-top:2px;font-size:.8125rem;color:var(--muted)}
.cyt-dl-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

/* Article page */
.cyt-article-head{max-width:70ch}
.cyt-article-kicker{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand-red-deep);
}
.cyt-article-head h1{margin:0 0 14px}
.cyt-article-meta{margin:0;font-size:.875rem;color:var(--muted)}
.cyt-article-body{max-width:70ch;margin-top:clamp(24px,3vw,34px)}
.cyt-article-body p{max-width:70ch}
.cyt-article-body h3{margin:1.7em 0 .45em;font-size:1.25rem;line-height:1.3}
.cyt-article-body h3:first-child{margin-top:0}
.cyt-article-body ul,.cyt-article-body ol{margin:0 0 1.1em;padding-left:1.15em}
.cyt-article-body li{margin:0 0 .45em;line-height:1.65}
.cyt-article-body strong{font-weight:600;color:var(--ink)}
.cyt-article-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px 28px;
  margin:44px 0 0;
  padding:20px 0 0;
  border-top:1px solid var(--line);
}
.cyt-article-nav a{
  font-size:.9375rem;
  font-weight:600;
  color:var(--brand-red-deep);
  text-decoration:none;
  max-width:44ch;
  transition:color .18s ease;
}
.cyt-article-nav a:hover,.cyt-article-nav a:focus-visible{color:var(--brand-red)}
.cyt-article-nav .cyt-nav-next{margin-left:auto;text-align:right}
@media(max-width:640px){
  .cyt-article-nav .cyt-nav-next{margin-left:0;text-align:left}
}

/* Group headings and counts inside document lists */
.cyt-group-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:34px 0 0;
  font-family:var(--font-headings);
  font-size:1.125rem;
  font-weight:600;
  line-height:1.3;
}
.cyt-group-head:first-of-type{margin-top:12px}
.cyt-count{
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--muted);
}
.cyt-chips .cyt-label{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.cyt-chips .cyt-label:hover{border-color:var(--brand-red-deep);color:var(--brand-red-deep)}
.cyt-post-label .cyt-meta{margin:0}
.cyt-article-kicker a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(184,32,25,.35)}
.cyt-article-kicker a:hover,.cyt-article-kicker a:focus-visible{border-bottom-color:var(--brand-red-deep)}
.cyt-doc-source a{color:var(--brand-red-deep);text-decoration:none}
.cyt-doc-source a:hover,.cyt-doc-source a:focus-visible{text-decoration:underline}
.cyt-dl-grid .cyt-card-title a{color:inherit;text-decoration:none}
.cyt-dl-grid .cyt-card-title a:hover,.cyt-dl-grid .cyt-card-title a:focus-visible{color:var(--brand-red-deep)}
.cyt-dl-grid .cyt-doc-meta{margin:6px 0 0}
.cyt-dl-grid .cyt-actions{margin-top:10px}
.cyt-dl-grid .cyt-actions .button{padding:9px 14px;font-size:.875rem}

/* --- Site-wide floating inquiry button --------------------------------- */
.cyt-inq-float-root{position:relative;z-index:70}
.cyt-inq-float{
  position:fixed;
  right:clamp(14px,1.8vw,26px);
  bottom:calc(clamp(14px,1.8vw,26px) + env(safe-area-inset-bottom,0px));
  z-index:70;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:0 21px;
  border:0;
  border-radius:999px;
  background:var(--brand-red-deep);
  color:#fff;
  font-family:var(--font-body);
  font-size:.9375rem;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1;
  text-decoration:none;
  box-shadow:0 16px 30px -14px rgba(0,0,0,.62),0 2px 8px rgba(0,0,0,.16);
  cursor:pointer;
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.cyt-inq-float-ico{display:inline-flex;align-items:center;justify-content:center}
.cyt-inq-float-ico svg{display:block}
.cyt-inq-float:hover{
  background:#9C1B15;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 20px 34px -14px rgba(0,0,0,.68),0 2px 8px rgba(0,0,0,.18);
}
.cyt-inq-float:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:3px;
}
/* The button shows once the dialog behavior is running; the plain link is the no-JS fallback. */
.cyt-inq-float[data-dialog-open]{display:none}
.cyt-inq-float-root[data-enhanced] .cyt-inq-float[data-dialog-open]{display:inline-flex}
.cyt-inq-float-root[data-enhanced] .cyt-inq-float--fallback{display:none}
.cyt-inq-float-root .cyt-inq-error:not(:empty){
  position:fixed;
  right:clamp(14px,1.8vw,26px);
  bottom:calc(66px + env(safe-area-inset-bottom,0px));
  z-index:71;
  max-width:min(300px,calc(100vw - 28px));
  padding:8px 12px;
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 10px 24px -12px rgba(0,0,0,.5);
}
.cyt-inq-source{margin:0;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.cyt-inq-source strong{color:var(--ink);font-weight:600}

/* --- Mobile quick-contact bar -------------------------------------------
   Below 720px one corner pill becomes a three-action bar, so a phone visitor
   can call or message sales without scrolling down to a form. */
.cyt-mbar{display:none}
@media(max-width:720px){
  .cyt-mbar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:70;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:1fr;
    padding-bottom:env(safe-area-inset-bottom,0px);
    background:var(--surface);
    border-top:1px solid var(--line);
    box-shadow:0 -10px 24px -18px rgba(0,0,0,.55);
  }
  .cyt-mbar-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:54px;
    padding:8px 6px;
    font-family:var(--font-body);
    font-size:.8125rem;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    color:var(--ink);
    background:transparent;
    border:0;
    cursor:pointer;
  }
  .cyt-mbar-item+.cyt-mbar-item{border-left:1px solid var(--line)}
  .cyt-mbar-item--cta{background:var(--brand-red-deep);color:#fff}
  .cyt-mbar-item:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
  .cyt-mbar-item:active{opacity:.86}
  .cyt-mbar-ico{display:inline-flex;flex:none}
  .cyt-mbar-ico svg{display:block}
  /* One CTA per phone screen: the bar replaces the corner pill. */
  .cyt-inq-float{display:none !important}
  /* Keep the last footer row clear of the bar. */
  .site-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
}
@media print{
  .cyt-inq-float-root{display:none !important}
}
@media(prefers-reduced-motion:reduce){
  .cyt-inq-float{transition:none}
  .cyt-inq-float:hover{transform:none}
}

/* ===== Sticky header =====================================================
   The header sits at the top of the viewport on every page, so a jump target
   has to be offset by the header's own height. Measured: 56px logo + 14px
   padding top and bottom + the 1px border = 85px above 900px, and 77px below
   it. Product-page sections keep the more generous offsets declared above
   (92px / 80px); this covers everything else, including #main for the skip
   link and #send-your-inquiry on the contact page. */
main,
main [id]{scroll-margin-top:92px}

@media(max-width:900px){
  /* Below 900px the header is a single row of logo and burger: the tighter
     padding gives a phone back the space the fixed header costs, and keeps the
     header 77px tall so the 80px offsets below still clear it. */
  .site-header{padding-block:10px}
  main,
  main [id]{scroll-margin-top:80px}
  #send-your-inquiry{scroll-margin-top:80px}
}
