/* Brand adaptation of the authorized reference design. */
:focus-visible { outline:3px solid #008eac; outline-offset:4px; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:1000; padding:12px 18px; background:#fff; border:2px solid var(--accent); }
.skip-link:focus { top:12px; }
.brand { flex-shrink:0; }
.brand-logo { width:44px; height:43px; object-fit:contain; background:white; border-radius:4px; }
.brand-text { gap:4px; }
.brand-text strong { font-size:17px; letter-spacing:.04em; }
.brand-text small { font-size:10px; letter-spacing:0; }
.site-header .container { min-height:78px; }
.nav { gap:0; }
.nav a { padding:10px 9px; font-size:13px; }
.nav-services { position:relative; }
.nav-services summary { cursor:pointer; color:var(--slate-700); font-size:13px; font-weight:500; padding:10px 9px; border-radius:var(--radius); }
.nav-services summary:hover { background:var(--slate-100); }
.services-menu { position:absolute; top:calc(100% + 6px); left:0; min-width:210px; padding:8px; background:white; border:1px solid var(--slate-200); box-shadow:var(--shadow-lg); border-radius:var(--radius); }
.services-menu a { display:block; }
.hero-trust { padding-left:0; }
.hero-side { min-width:0; }
.site-footer .brand { margin-bottom:18px; }
.site-footer .brand-text strong { color:#fff; }
.site-footer .brand-text small { color:rgba(255,255,255,.75); }
.footer-brand p { margin-top:18px; }
address { font:inherit; }
.footer-grid { grid-template-columns:1.3fr .85fr 1fr 1.4fr; gap:30px; }
.topbar-right a { white-space:nowrap; }
.hp-field { position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-status { overflow-wrap:anywhere; }
.form-status.info { display:block; background:#e2f2f6; color:#16304a; border:1px solid #b4dce4; }
.form-status a { text-decoration:underline; }
.form-grid .consent-check input[type="checkbox"] { width:18px; height:18px; flex:0 0 18px; padding:0; }
.consent-check span { min-width:0; overflow-wrap:break-word; }
button:disabled { cursor:wait; opacity:.65; }
.rfq-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.tool-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.tool-gallery figure { margin:0; border:1px solid var(--slate-200); background:#fff; border-radius:10px; overflow:hidden; }
.tool-gallery img { width:100%; height:220px; object-fit:contain; padding:12px; background:#f8fafc; }
.tool-gallery figcaption { padding:14px 16px; font-size:14px; color:var(--slate-600); }
.support-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; align-items:start; }
.contact-method { padding:24px 0; border-bottom:1px solid var(--slate-200); }
.contact-method:first-child { padding-top:0; }
.contact-method h2 { font-size:17px; margin-bottom:8px; }
.contact-method a { font-size:20px; font-weight:600; overflow-wrap:anywhere; }
.text-link { text-decoration:underline; }
@media (max-width:1150px) { .brand-text small { display:none; } .nav a,.nav-services summary { font-size:12.5px; padding:10px 7px; } }
@media (max-width:960px) {
  .site-header .container { min-height:68px; }
  .nav { max-height:calc(100dvh - 100px); overflow-y:auto; }
  .nav a,.nav-services summary { font-size:15px; padding:12px; }
  .nav-services { width:100%; }
  .services-menu { position:static; border:0; box-shadow:none; background:var(--slate-50); }
  .nav-toggle { margin-left:auto; font-size:15px; }
  .tool-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) { .footer-grid,.contact-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:720px) {
  section { padding:48px 0; }
  .container { padding:0 20px; }
  .contact-grid { grid-template-columns:1fr; gap:24px; }
  .spec-table { font-size:13px; }
  .spec-table td,.spec-table th { padding:11px 9px; overflow-wrap:anywhere; }
  .spec-list li { font-size:13px; }
  .hero-side { padding:18px; }
  .hero { padding:50px 0; }
  .hero h1 { font-size:clamp(30px,8vw,42px); }
  .hero-grid { gap:26px; }
  .hero p.lead { font-size:16px; }
  .hero-trust { gap:14px; }
  .topbar { font-size:11px; }
  .topbar-right { display:flex; flex-wrap:wrap; gap:4px; }
  .topbar-right span { display:none; }
  .tool-gallery img { height:180px; }
}
@media (max-width:560px) { .footer-grid { grid-template-columns:1fr; } .tool-gallery { grid-template-columns:1fr 1fr; gap:12px; } .tool-gallery img { height:150px; padding:6px; } .tool-gallery figcaption { padding:12px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
