:focus-visible { outline: 3px solid var(--sq-focus, #005fcc); outline-offset: 3px; }
.button, button, input, select, textarea { border-radius: var(--sq-radius, 4px); }
.button.alt, .primary { background-color: var(--sq-primary, #005fcc); color: var(--sq-on-primary, #ffffff); }
.button.alt:hover, .primary:hover { background-color: var(--sq-primary-dark, #004799); }
a { text-underline-offset: .15em; }
.shop_table th { background: var(--sq-surface-muted, #f4f6f8); color: var(--sq-text, #1d2327); }
.sq-shell { margin-inline: auto; max-width: 75rem; padding-inline: clamp(1rem, 4vw, 2rem); }
.sq-service-bar { background: var(--sq-text, #17323d); color: #fff; font-size: .82rem; }
.sq-service-bar a { color: inherit; }
.sq-service-bar__inner { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 2.4rem; }
.sq-service-bar__contacts { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: end; }
.sq-service-bar__contacts .sq-contact-separator { display: none; }
.sq-hero { background: linear-gradient(125deg, var(--sq-primary-dark, #004b66), var(--sq-primary, #006b8f)); color: var(--sq-on-primary, #fff); padding-block: clamp(4rem, 9vw, 8rem); }
.sq-hero h1 { color: inherit; font-size: clamp(2.5rem, 7vw, 5.5rem); letter-spacing: -.035em; line-height: .95; max-width: 12ch; }
.sq-hero .sq-lead { font-size: clamp(1.1rem, 2.2vw, 1.35rem); max-width: 47rem; }
.sq-eyebrow { font-size: .85rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sq-section { padding-block: clamp(3rem, 6vw, 5rem); }
.sq-section--muted { background: var(--sq-surface-muted, #f3f7f8); }
.sq-grid-3 { display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sq-contact-band { background: var(--sq-secondary, #a51f49); color: #fff; padding-block: 2.5rem; }
.sq-contact-band h2, .sq-contact-band a { color: inherit; }
.sq-contact-band a { font-weight: 700; }
.sq-site-footer { background: var(--sq-primary-dark, #004b66); color: #fff; padding-block: clamp(3rem, 6vw, 5rem); }
.sq-site-footer h2, .sq-site-footer h3, .sq-site-footer a { color: inherit; }
.sq-site-footer__grid { display: grid; gap: 2rem; grid-template-columns: 1.25fr 1fr 1fr; }
.sq-site-footer ul { list-style: none; margin: 0; padding: 0; }
.sq-site-footer address { font-style: normal; }
body:not(.home) .page-wrapper { margin-inline: auto; max-width: 75rem; padding-inline: clamp(1rem, 4vw, 2rem); }
@media (max-width: 48rem) { .sq-grid-3, .sq-site-footer__grid { grid-template-columns: 1fr; } .sq-service-bar__inner { align-items: flex-start; flex-direction: column; padding-block: .65rem; } .sq-service-bar__contacts { justify-content: start; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
