:root {
  --brand-primary:#0874d1;
  --brand-dark:#10233d;
  --brand-light:#eaf5ff;
  --surface:#f5f8fc;
  --muted:#68788b;
  --line:#dce7f2
}
* {
  box-sizing:border-box
}
body {
  font-family:Arial,"Helvetica Neue",sans-serif;
  color:var(--brand-dark);
  background:#fff
}
a {
  color:var(--brand-primary)
}
.skip-link {
  position:absolute;
  top:-60px;
  left:1rem;
  background:#fff;
  padding:.6rem;
  z-index:1000
}
.skip-link:focus {
  top:1rem
}
.beta-notice {
  color:#3d2d12;
  background:#fff5dc;
  border-bottom:1px solid #e9d38e
}
.beta-notice__inner { padding:.65rem 0;font-size:.875rem;line-height:1.5 }
.beta-notice__inner p { margin:0 }
.beta-notice__title { font-weight:700 }
.site-header {
  background:#fff;
  border-bottom:1px solid #edf1f6;
  position:relative;
  z-index:5
}
.navbar {
  min-height:72px
}
.brand {
  display:flex;
  align-items:center;
  margin-right:1rem;
  padding:0;
  overflow:visible
}
.brand-logo {
  display:block;
  width:204px;
  height:auto;
  max-width:none;
  margin:-14px -18px
}
.nav-link {
  color:var(--brand-dark);
  font-size:.88rem;
  font-weight:600
}
.site-header .nav-link { white-space:nowrap }
.nav-placeholder {
  opacity:.72
}
.header-actions {
  color:var(--brand-dark)
}
.header-tool {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:2px;
  min-width:32px;
  color:var(--brand-dark);
  font-size:.62rem;
  font-weight:600;
  line-height:1
}
.header-tool svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.search-placeholder {
  display:flex;
  align-items:center;
  gap:.5rem;
  border:1px solid var(--line);
  border-radius:7px;
  color:#8090a2;
  padding:.48rem .9rem;
  font-size:1rem;
  min-width:155px
}
.search-placeholder span {
  font-size:.79rem
}
.nav-icon {
  font-size:1.3rem
}
.navbar-toggler {
  border:0;
  padding:.25rem .35rem
}
.navbar-toggler-icon {
  width:21px;
  height:21px
}
.navbar-toggler:focus {
  box-shadow:0 0 0 2px var(--brand-primary)
}
.hero {
  background:linear-gradient(116deg,#f4f9fe 2%,#fff 55%,#e8f4ff 100%);
  overflow:hidden
}
.hero-inner {
  padding-top:70px;
  padding-bottom:60px
}
.eyebrow,.section-kicker {
  color:var(--brand-primary);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.16em
}
.eyebrow {
  display:flex;
  gap:.7rem;
  align-items:center
}
.eyebrow-line {
  width:26px;
  height:2px;
  background:var(--brand-primary)
}
h1,h2,h3 {
  letter-spacing:-.035em
}
h1 {
  font-size:clamp(2.6rem,5vw,4.4rem);
  line-height:1.12;
  font-weight:800;
  margin:1.3rem 0
}
h1 span,.section-intro h2 span {
  color:var(--brand-primary)
}
.hero-lead {
  font-size:1.08rem;
  line-height:1.8;
  max-width:540px;
  color:#5a6d80
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.75rem 1rem;
  margin-top:2rem
}
.hero-text-link { display:inline-flex;align-items:center;gap:.4rem;min-height:46px;color:var(--brand-primary);font-size:.9rem;font-weight:800;text-decoration:none }
.hero-text-link:hover { color:#075fa9;text-decoration:underline }
.hero-text-link:focus-visible { outline:3px solid var(--brand-primary);outline-offset:3px }
.btn-primary {
  --bs-btn-bg:var(--brand-primary);
  --bs-btn-border-color:var(--brand-primary);
  --bs-btn-hover-bg:#075fa9;
  --bs-btn-hover-border-color:#075fa9;
  border-radius:6px;
  font-weight:700;
  font-size:.9rem;
  padding:.87rem 1.35rem
}
.hero-note {
  font-size:.75rem;
  color:#8a9bad
}
.hero-visual {
  height:365px;
  position:relative;
  display:grid;
  place-items:center
}
.hero-visual:before {
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,#b9ddfb 0,#dceeff 51%,transparent 72%);
  filter:blur(5px)
}
.orbit {
  position:absolute;
  border:1px solid #b5d6f1;
  border-radius:50%
}
.orbit-one {
  width:365px;
  height:365px
}
.orbit-two {
  width:265px;
  height:265px
}
.visual-core {
  width:150px;
  height:150px;
  border-radius:26px;
  background:linear-gradient(135deg,#0785e7,#0a4f9d);
  box-shadow:0 25px 55px #066abb48;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  color:white;
  z-index:1;
  transform:rotate(-8deg)
}
.visual-core span {
  font-size:4rem;
  line-height:1
}
.visual-core small {
  font-weight:800;
  letter-spacing:.14em;
  font-size:.58rem;
  text-align:center
}
.signal-card {
  position:absolute;
  z-index:2;
  top:45px;
  right:0;
  background:#fff;
  padding:1rem 1.1rem;
  box-shadow:0 12px 40px #24568520;
  border:1px solid #e8f2fb;
  border-radius:11px;
  display:flex;
  gap:.6rem;
  align-items:center;
  font-size:.57rem;
  font-weight:800;
  letter-spacing:.1em;
  color:#55718d
}
.signal-dot {
  height:8px;
  width:8px;
  border-radius:50%;
  background:#25c69a
}
.signal-bars {
  color:var(--brand-primary);
  font-size:1rem
}
.visual-label {
  position:absolute;
  background:#fff;
  padding:.9rem 1.1rem;
  z-index:2;
  box-shadow:0 12px 35px #24568520;
  border:1px solid #e8f2fb;
  border-radius:9px;
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.11em;
  line-height:1.5
}
.label-top {
  left:0;
  top:105px
}
.label-bottom {
  right:3px;
  bottom:48px
}
.py-section {
  padding:80px 0
}
.benefits {
  background:#fff
}
.benefits.py-section { padding-block:44px }
.benefits-layout { display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);grid-template-areas:"visual content";align-items:center;gap:clamp(2rem,4vw,4rem) }
.benefits-content { grid-area:content;min-width:0 }
.benefits-visual { grid-area:visual;min-width:0;margin:0 }
.benefits-visual img { display:block;width:100%;height:auto;border-radius:14px }
.section-intro h2 {
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.18;
  font-weight:800
}
.capability-list { margin-top:1rem }
.capability-item { display:grid;grid-template-columns:42px minmax(0,1fr);gap:.9rem;padding:.75rem 0;border-bottom:1px solid var(--line) }
.capability-item:last-child { border-bottom:0 }
.capability-icon { display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:var(--brand-light);color:var(--brand-primary) }
.capability-icon svg { width:24px;height:24px }
.capability-item h3 { margin:0 0 .3rem;font-size:1.05rem;font-weight:800 }
.capability-item p { margin:0;color:var(--muted);font-size:.88rem;line-height:1.6 }
.teaser {
  background:var(--surface)
}
.teaser-panel {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);
  align-items:center;
  gap:2.5rem;
  padding:3rem;
  background:var(--brand-dark);
  color:#fff;
  border-radius:15px
}
.teaser-panel h2 {
  max-width:690px;
  font-size:clamp(2rem,3vw,2.9rem);
  line-height:1.16;
  font-weight:800
}
.teaser-copy { min-width:0 }
.teaser-copy .section-kicker { color:#8bcaff }
.teaser-actions { display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem }
.teaser-actions .btn { display:inline-flex;align-items:center;justify-content:center;min-height:46px;text-align:center }
.teaser-visual {
  display:grid;
  align-content:center;
  justify-items:center;
  gap:1.1rem;
  min-width:0;
  min-height:245px;
  padding:1.2rem;
  border:1px solid #557b9e;
  border-radius:14px;
  background:#193b5c;
  text-align:center
}
.teaser-visual-top,.teaser-visual-bottom { color:#b9dafa;font-size:.68rem;font-weight:800;letter-spacing:.09em }
.teaser-visual-core { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;color:#fff }
.teaser-visual-core svg { width:42px;height:42px;color:#8bcaff }
.teaser-visual-core strong { font-size:1.1rem }
.teaser-visual-core span { color:#8bcaff;font-size:1.35rem }
.nav-support { margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line) }
.nav-support p { margin:0 0 .2rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase }
.nav-support .nav-link { display:inline-block }
@media(max-width:1399.98px) {
  .site-header .navbar-collapse { padding:1rem 0 }
  .site-header .navbar-nav.mx-auto { width:100%;margin-left:0!important;margin-right:0!important }
  .site-header .header-search { width:100% }
}
.site-footer {
  background:#0b1d32;
  color:#b0bfd0;
  padding:65px 0 0
}
.footer-logo { display:block;width:min(100%,170px);height:auto }
.footer-copy {
  max-width:340px;
  line-height:1.75;
  margin-top:.85rem
}
.footer-heading {
  font-size:.91rem;
  color:white;
  font-weight:800;
  margin-bottom:1.4rem
}
.site-footer p {
  font-size:.87rem
}
.footer-contact { margin:1rem 0 0;font-style:normal;line-height:1.5 }
.footer-contact p { margin:0 0 .55rem;overflow-wrap:anywhere }
.footer-contact strong { color:#fff;font-weight:700 }
.site-footer a { color:#e7f2ff;text-decoration:none }
.site-footer a:hover { color:#fff;text-decoration:underline }
.site-header a:focus-visible,.site-footer a:focus-visible { outline:3px solid #68b9ff;outline-offset:3px }
.footer-bottom {
  border-top:1px solid #263c54;
  margin-top:3rem;
  padding:1.5rem 0;
  font-size:.77rem
}
.error-page {
  min-height:60vh;
  padding-top:8rem;
  padding-bottom:8rem
}
.error-page h1 {
  font-size:clamp(2.5rem,5vw,4rem);
  margin:1rem 0
}
.error-page p:not(.section-kicker) {
  color:var(--muted);
  margin-bottom:2rem
}
@media(max-width:991px) {
  .benefits.py-section { padding-block:48px }
  .navbar {
    min-height:62px
  }
  .brand-logo {
    width:180px;
    margin:-12px -16px
  }
  .hero-inner {
    padding-top:52px;
    padding-bottom:50px
  }
  .hero-visual {
    height:300px
  }
  .benefits-layout { grid-template-columns:1fr;grid-template-areas:"content" "visual";gap:1.25rem }
  .benefits-visual { max-width:760px }
  .teaser-panel {
    grid-template-columns:1fr;
    gap:1.4rem;
    padding:2.3rem
  }
  .teaser-visual {
    min-height:175px
  }
}
@media(max-width:575px) {
  .benefits.py-section { padding-block:36px }
  .brand-logo {
    width:174px;
    margin:-12px -16px
  }
  .header-mobile-actions {
    gap:.45rem!important
  }
  .hero-inner {
    padding-top:40px;
    padding-bottom:36px
  }
  .hero h1 {
    font-size:clamp(2rem,8.5vw,2.55rem);
    line-height:1.15;
    margin:1.1rem 0
  }
  .hero-lead {
    font-size:.97rem;
    line-height:1.65
  }
  .hero-actions {
    flex-direction:column;
    align-items:stretch;
    gap:.65rem;
    margin-top:1.4rem
  }
  .hero-actions .btn {
    width:100%;
    font-size:.86rem;
    padding:.7rem 1.1rem
  }
  .hero-text-link { align-self:flex-start;min-height:40px }
  .hero-visual {
    height:260px
  }
  .capability-list { margin-top:.75rem }
  .capability-item { grid-template-columns:38px minmax(0,1fr);gap:.75rem;padding:.7rem 0 }
  .capability-icon { width:38px;height:38px }
  .benefits-layout { gap:1rem }
  .orbit-one {
    width:280px;
    height:280px
  }
  .orbit-two {
    width:210px;
    height:210px
  }
  .visual-core {
    width:120px;
    height:120px
  }
  .visual-label {
    font-size:.45rem
  }
  .signal-card {
    right:3px;
    font-size:.45rem
  }
  .py-section {
    padding:60px 0
  }
  .teaser-panel {
    padding:2rem
  }
  .teaser-actions { flex-direction:column }
  .teaser-actions .btn { width:100% }
  .teaser-visual { min-height:155px }
  .teaser-visual-core svg { width:34px;height:34px }
  .teaser-visual-core strong { font-size:1rem }
}

.account-actions { display:flex;align-items:center;gap:.65rem;min-width:0 }
.account-menu-toggle { display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;color:var(--brand-dark);max-width:11.5rem }
.account-menu-toggle .account-name { display:inline-block;max-width:9.5rem }
.account-menu { min-width:12rem;font-size:.85rem }
.customer-panel { max-width:680px }
.my-request-list { display:grid;gap:.85rem;max-width:900px;margin:auto }
.my-request-card { display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:10px;background:#fff }
.my-request-card h2 { font-size:1.08rem;font-weight:800;margin:0 0 .4rem;overflow-wrap:anywhere }
.my-request-card h2 a { text-decoration:none }
.my-request-card p { color:var(--muted);font-size:.82rem;margin:0 }
.my-request-meta { display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:.82rem;color:var(--muted);white-space:nowrap }
.my-request-meta strong { color:var(--brand-primary) }
.my-request-pages { display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;font-size:.82rem }
.customer-request-detail { max-width:900px }
.request-snapshot { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;margin-bottom:2rem }
.request-snapshot div { min-width:0 }
.request-snapshot dt { font-size:.75rem;color:var(--muted) }
.request-snapshot dd { margin:0;overflow-wrap:anywhere;white-space:pre-wrap }
.account-actions form { margin:0 }
.account-name { max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700 }
.account-link { font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap }
.account-actions .btn { padding:.45rem .7rem;white-space:nowrap }
.auth-main { padding:3.5rem 0 5rem;background:var(--surface) }
.auth-panel { max-width:560px;margin:auto;padding:2rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 34px #12355a08 }
.auth-panel h1 { font-size:clamp(2rem,4vw,2.8rem);margin:.6rem 0 1rem }
.auth-intro { color:var(--muted);line-height:1.6;margin-bottom:1.5rem }
.auth-panel .form-label { font-size:.85rem;font-weight:700 }
.auth-submit { min-width:10rem }
.auth-code { max-width:12rem;letter-spacing:.2em;font-size:1.2rem }
.auth-switch { margin:1.2rem 0 0;font-size:.9rem }
.auth-resend { margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line) }
.auth-resend-row { display:flex;gap:.6rem }
.auth-resend-row .form-control { min-width:0 }
.auth-resend-row .btn { white-space:nowrap }
@media(max-width:575px) {
  .auth-main { padding:1.5rem 0 3rem }
  .auth-panel { padding:1.2rem }
  .auth-submit { width:100% }
  .auth-resend-row { flex-wrap:wrap }
  .auth-resend-row .btn { width:100% }
  .account-actions { flex-wrap:wrap }
  .my-request-card { align-items:flex-start;flex-direction:column;padding:1rem }
  .my-request-meta { white-space:normal }
  .request-snapshot { grid-template-columns:1fr }
}

.header-search {
  display:flex;
  align-items:center;
  min-width:170px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  overflow:hidden
}
.header-search .form-control {
  min-width:0;
  border:0;
  box-shadow:none;
  font-size:.82rem;
  padding:.52rem .65rem
}
.header-search button {
  border:0;
  background:transparent;
  color:var(--brand-primary);
  font-size:1.3rem;
  padding:0 .6rem
}
.section-surface { background:var(--surface) }
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem
}
.section-heading h2,.section-title {
  font-size:clamp(1.9rem,3vw,2.8rem);
  font-weight:800;
  line-height:1.2
}
.text-link {
  color:var(--brand-primary);
  font-weight:700;
  font-size:.88rem;
  white-space:nowrap;
  text-decoration:none
}
.text-link:hover,.product-card-link:hover { text-decoration:underline }
.catalog-section.py-section { padding-block:64px }
.home-contact-section.py-section { padding-block:56px }
.home-category-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem }
.home-category-card { display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:.85rem;min-width:0;min-height:100px;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand-dark);text-decoration:none }
.home-category-card:hover { border-color:var(--brand-primary);background:#f8fbff;color:var(--brand-dark) }
.home-category-card:focus-visible,.home-featured-card:focus-visible { outline:3px solid var(--brand-primary);outline-offset:3px }
.home-category-icon { display:grid;place-items:center;width:46px;height:46px;border-radius:9px;background:#eaf4fc;color:var(--brand-primary) }
.home-category-icon svg { width:32px;height:32px }
.home-category-card strong { min-width:0;font-size:1rem;line-height:1.35;overflow-wrap:anywhere }
.home-category-arrow { color:var(--brand-primary);font-size:1.2rem;text-align:right }
.home-featured-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem }
.home-featured-card { display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brand-dark);text-decoration:none }
.home-featured-card:hover { border-color:var(--brand-primary);box-shadow:0 8px 22px #12355a12;color:var(--brand-dark) }
.home-featured-image { display:grid;place-items:center;aspect-ratio:4/3;padding:.75rem;background:#edf5fc }
.home-featured-image img { display:block;width:100%;height:100%;object-fit:contain }
.home-featured-copy { display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.9rem 1rem 1rem }
.home-featured-copy small { color:var(--brand-primary);font-size:.72rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere }
.home-featured-copy strong { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.96rem;line-height:1.35;overflow-wrap:anywhere }
.home-contact-panel { display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.8rem 2rem;border:1px solid var(--line);border-radius:12px;background:#f5f9fd }
.home-contact-panel h2 { margin:0 0 .45rem;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:800 }
.home-contact-panel p:last-child { margin:0;color:var(--muted);line-height:1.55 }
.home-contact-panel .btn { flex:none }
@media(min-width:768px) {
  .home-featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
}
@media(min-width:992px) {
  .home-featured-image { aspect-ratio:3/2 }
}
@media(min-width:1200px) {
  .home-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .home-featured-grid { grid-template-columns:repeat(4,minmax(0,1fr)) }
}
@media(max-width:575.98px) {
  .catalog-section.py-section { padding-block:48px }
  .home-contact-section.py-section { padding-block:44px }
  .home-category-grid,.home-featured-grid { gap:.7rem }
  .home-category-card { grid-template-columns:34px minmax(0,1fr) 14px;gap:.45rem;min-height:92px;padding:.7rem }
  .home-category-icon { width:34px;height:34px }
  .home-category-icon svg { width:26px;height:26px }
  .home-category-card strong { font-size:.86rem }
  .home-category-arrow { font-size:1rem }
  .home-featured-image { padding:.45rem }
  .home-featured-copy { padding:.7rem }
  .home-featured-copy strong { font-size:.84rem }
  .home-contact-panel { align-items:stretch;flex-direction:column;padding:1.35rem }
  .home-contact-panel .btn { align-self:flex-start }
}
@media(max-width:359.98px) {
  .home-category-grid,.home-featured-grid { grid-template-columns:1fr }
}
.demo-disclaimer { color:var(--muted);font-size:.85rem;margin:1rem 0 0 }
.product-card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  transition:box-shadow .2s,transform .2s
}
.product-card:hover { box-shadow:0 16px 35px #12355a16;transform:translateY(-2px) }
.product-card-image {
  display:grid;
  place-items:center;
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#edf5fc
}
.product-card-image img { width:100%;height:100%;object-fit:contain }
.catalog-grid .product-card-image { padding:.75rem }
.catalog-grid .product-card-image img { display:block;min-width:0;min-height:0;object-position:center }
.discount-badge {
  position:absolute;
  top:1rem;
  left:1rem;
  padding:.35rem .55rem;
  border-radius:4px;
  background:var(--brand-primary);
  color:#fff;
  font-size:.75rem;
  font-weight:800
}
.product-card-body { display:flex;flex:1;flex-direction:column;padding:1.3rem }
.product-meta { color:var(--brand-primary);font-size:.72rem;font-weight:800;letter-spacing:.04em;margin-bottom:.6rem }
.product-card h3 { font-size:1.06rem;font-weight:800;line-height:1.35;margin:0 0 .7rem }
.product-card h3 a { color:var(--brand-dark);text-decoration:none }
.product-card h3 a:hover { color:var(--brand-primary) }
.product-card-description { color:var(--muted);font-size:.78rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden }
.product-card-bottom { margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line) }
.product-price { display:flex;flex-direction:column;align-items:flex-start;min-height:58px }
.product-price strong { font-size:1.13rem;color:var(--brand-primary) }
.product-price del,.detail-price del { color:#8392a1;font-size:.85rem }
.product-price small,.detail-price small { color:var(--muted);font-size:.7rem }
.product-card-link { display:inline-block;margin-top:.8rem;color:var(--brand-primary);font-size:.8rem;font-weight:700;text-decoration:none }
.teaser-panel .btn { font-size:.85rem;font-weight:700 }
.teaser-panel p:not(.section-kicker) { color:#d1dfec;max-width:620px;line-height:1.7 }
.why-card { height:100%;padding:1.6rem;border-top:2px solid var(--brand-primary);background:#fff }
.why-card span { color:var(--brand-primary);font-size:.78rem;font-weight:800 }
.why-card h3 { font-size:1.15rem;font-weight:800;margin:1.1rem 0 .6rem }
.why-card p { color:var(--muted);font-size:.88rem;line-height:1.65;margin:0 }
.brand-list { display:flex;flex-wrap:wrap;gap:.8rem }
.brand-chip { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:clamp(145px,16vw,190px);max-width:100%;min-height:104px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:.9rem;color:var(--brand-dark);font-weight:800;text-align:center;text-decoration:none;overflow-wrap:anywhere }
.brand-chip:hover { border-color:var(--brand-primary);color:var(--brand-primary);box-shadow:0 4px 14px rgba(18,49,78,.1) }
.brand-chip:focus-visible { outline:3px solid var(--brand-primary);outline-offset:3px }
.brand-chip img { display:block;width:100%;max-width:160px;height:52px;object-fit:contain }
@media(max-width:767.98px) {
  .brand-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:390px;margin-inline:auto }
  .brand-chip { width:100%;max-width:none;min-width:0 }
  .brand-chip:last-child:nth-child(odd) { grid-column:1/-1;justify-self:center;width:calc((100% - .8rem)/2) }
}
.page-intro { padding:2.2rem 0 3rem;background:var(--surface) }
.breadcrumb { font-size:.8rem;flex-wrap:wrap }
.breadcrumb-item { overflow-wrap:anywhere }
.breadcrumb-item a { color:var(--brand-primary);text-decoration:none }
.page-intro h1 { font-size:clamp(2.4rem,4vw,3.5rem);margin:.8rem 0 }
.page-intro p:last-child { color:var(--muted);max-width:700px;line-height:1.65 }
.filter-panel { position:sticky;top:1.5rem;padding:1.4rem;border:1px solid var(--line);border-radius:10px;background:#fff }
.filter-panel h2 { font-size:1.15rem;font-weight:800;margin-bottom:1.2rem }
.filter-panel .form-label { font-size:.81rem;font-weight:700 }
.filter-panel .form-control,.filter-panel .form-select { font-size:.85rem }
.filter-reset { display:block;text-align:center;margin-top:1rem;font-size:.81rem;text-decoration:none }
.catalog-filter-toggle { margin-bottom:1rem;font-size:.87rem;font-weight:700 }
.catalog-filter-drawer { --bs-offcanvas-width:min(320px,90vw) }
.catalog-filter-drawer .offcanvas-title { font-size:1.1rem;font-weight:800 }
.catalog-filter-drawer .filter-panel { position:static;padding:0;border:0;border-radius:0 }
.listing-summary { display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.3rem;color:var(--muted);font-size:.85rem }
.listing-summary p { margin:0 }
.listing-summary strong { color:var(--brand-dark) }
.catalog-active-filters { display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:1.25rem;font-size:.78rem }
.catalog-active-filter { display:inline-flex;flex-wrap:wrap;gap:.25rem;max-width:100%;padding:.35rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);overflow-wrap:anywhere }
.catalog-filter-clear { margin-left:.2rem;white-space:nowrap }
.empty-state { text-align:center;padding:4rem 1rem;border:1px dashed var(--line);border-radius:12px }
.empty-state h2 { font-size:1.4rem;font-weight:800 }
.empty-state p { color:var(--muted) }
.pagination .page-link { border-radius:6px;color:var(--brand-primary) }
.pagination .active .page-link { color:#fff;background:var(--brand-primary);border-color:var(--brand-primary) }
.product-detail-section.py-section { padding-block:3.5rem }
.product-detail-breadcrumb { margin-bottom:1.5rem }
.product-detail-breadcrumb .breadcrumb { margin-bottom:0 }
.product-detail-primary { --bs-gutter-x:clamp(1.5rem,3vw,2.5rem);--bs-gutter-y:1.75rem }
.product-detail-gallery { min-width:0 }
.product-detail-content { min-width:0 }
.product-detail-content .section-kicker { margin-bottom:.35rem }
.detail-image { display:grid;place-items:center;position:relative;aspect-ratio:4/3;overflow:hidden;padding:clamp(.75rem,2vw,1.5rem);border-radius:12px;background:#edf5fc }
.detail-image img { display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain }
.detail-thumbnails { display:flex;gap:.7rem;max-width:100%;overflow-x:auto;margin-top:.8rem;padding:.2rem .1rem .5rem }
.detail-thumbnail { flex:0 0 auto;display:grid;place-items:center;width:94px;height:72px;padding:2px;border:2px solid var(--line);border-radius:8px;background:#fff;cursor:pointer }
.detail-thumbnail img { display:block;width:100%;height:100%;object-fit:contain;border-radius:4px }
.detail-thumbnail:hover,.detail-thumbnail.is-active { border-color:var(--brand-primary) }
.detail-thumbnail.is-active { box-shadow:0 0 0 1px var(--brand-primary) }
.detail-thumbnail:focus-visible { outline:3px solid var(--brand-primary);outline-offset:2px }
.detail-thumbnail:disabled { opacity:.45;cursor:not-allowed }
.detail-title { font-size:clamp(1.625rem,2.6vw,2.5rem);line-height:1.2;margin:.35rem 0 .5rem }
.detail-sku { color:var(--muted);font-size:.83rem;margin-bottom:0 }
.detail-title,.detail-sku,.product-card h3 { overflow-wrap:anywhere }
.detail-price { display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin:1.25rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line) }
.detail-price strong { color:var(--brand-primary);font-size:2rem }
.detail-lead { color:#566b80;line-height:1.75;margin-bottom:0 }
.detail-footnote { color:var(--muted);font-size:.78rem;margin-top:.8rem }
.detail-information { --bs-gutter-x:2.5rem;--bs-gutter-y:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line) }
.detail-information h2 { font-size:1.4rem;font-weight:800;margin-bottom:1rem }
.detail-information p,.specifications { color:#5d7185;line-height:1.75 }
.specifications { overflow-x:auto }
.specifications h2,.specifications h3,.specifications h4 { font-size:1.1rem;font-weight:800;color:var(--brand-dark) }
.specifications table { width:100%;border-collapse:collapse;margin:1rem 0 }
.specifications th,.specifications td { border:1px solid var(--line);padding:.65rem }
@media(min-width:992px) {
  .product-detail-gallery { width:45% }
  .product-detail-content { width:55% }
}
@media(min-width:1400px) {
  .product-detail-section > .container,.product-related-section > .container { max-width:1200px }
}
@media(max-width:991px) {
  .filter-panel { position:static }
}
@media(min-width:360px) and (max-width:767.98px) {
  .catalog-grid > .product-grid-item { width:50% }
}
@media(max-width:767.98px) {
  .catalog-grid .product-card-image { aspect-ratio:4/3;padding:.5rem }
  .catalog-grid .product-card-body { padding:.72rem }
  .catalog-grid .product-meta { font-size:.7rem;line-height:1.3;letter-spacing:0;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden }
  .catalog-grid .product-card h3 { font-size:.9rem;line-height:1.3;min-height:3.9em;margin-bottom:.55rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden }
  .catalog-grid .product-card-description { display:none }
  .catalog-grid .product-card-bottom { padding-top:.6rem }
  .catalog-grid .product-price { min-height:0 }
  .catalog-grid .product-price strong { font-size:1rem;line-height:1.3;overflow-wrap:anywhere }
  .catalog-grid .product-price del { font-size:.7rem }
  .catalog-grid .product-price small { font-size:.7rem }
  .catalog-grid .product-card-link { display:inline-flex;align-items:center;min-height:44px;margin-top:.25rem;font-size:.8rem }
  .catalog-grid .product-card-add { min-height:44px;margin-top:.5rem;padding:.5rem .4rem;font-size:.8rem }
  .catalog-grid .discount-badge { top:.4rem;left:.4rem;padding:.2rem .32rem;font-size:.61rem }
}
@media(max-width:575px) {
  .section-heading { align-items:flex-start;flex-direction:column }
  .page-intro { padding:1.5rem 0 2rem }
  .listing-section { padding-top:2.5rem }
  .product-detail-section.py-section { padding-block:2rem 2.5rem }
  .product-detail-breadcrumb { margin-bottom:1.25rem }
  .product-detail-primary { --bs-gutter-y:1.5rem }
  .detail-information { margin-top:1rem;padding-top:1rem }
  .detail-price strong { font-size:1.65rem }
  .teaser-panel .btn { max-width:100%;white-space:normal;text-align:center }
}

.cart-link { text-decoration:none }
.cart-count {
  position:absolute;top:-.45rem;right:-.55rem;min-width:1.15rem;height:1.15rem;
  padding:0 .2rem;border-radius:1rem;background:var(--brand-primary);color:#fff;
  display:grid;place-items:center;font-size:.65rem;line-height:1
}
.product-card-add { width:100%;margin-top:.75rem;padding:.55rem .8rem;font-size:.78rem }
.detail-add-form { margin-top:1rem }
.detail-add-form label { display:block;font-size:.82rem;font-weight:700;margin-bottom:.3rem }
.detail-add-form .form-control { width:5.5rem }
.cart-list { display:grid;gap:1rem }
.cart-item {
  display:grid;grid-template-columns:130px minmax(0,1fr);gap:1.3rem;
  padding:1.25rem;border:1px solid var(--line);border-radius:12px;background:#fff
}
.cart-item-image { aspect-ratio:4/3;align-self:start;display:grid;place-items:center;overflow:hidden;padding:.5rem;border-radius:8px;background:#edf5fc }
.cart-item-image img { display:block;width:100%;height:100%;object-fit:contain }
.cart-item-main { min-width:0 }
.cart-item h2 { font-size:1.1rem;line-height:1.35;font-weight:800;margin:0 0 .35rem;overflow-wrap:anywhere }
.cart-item h2 a { color:var(--brand-dark);text-decoration:none }
.cart-item h2 a:hover { color:var(--brand-primary) }
.cart-item-meta { color:var(--muted);font-size:.78rem;overflow-wrap:anywhere }
.cart-item-pricing { display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;font-size:.78rem;color:var(--muted) }
.cart-item-pricing strong { color:var(--brand-primary);font-size:1rem }
.cart-price-mode { color:var(--brand-dark);font-weight:700 }
.cart-item-actions { grid-column:2;display:flex;align-items:end;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.25rem }
.cart-quantity-form { display:flex;align-items:end;flex-wrap:wrap;gap:.55rem }
.cart-quantity-form label { font-size:.78rem;font-weight:700;align-self:center }
.cart-quantity-form .form-control { width:4.7rem;min-height:44px }
.cart-quantity-form .btn,.cart-remove,.cart-clear { min-height:44px }
.cart-remove,.cart-clear { color:#a83737;text-decoration:underline }
.cart-remove:focus-visible,.cart-clear:focus-visible { outline:3px solid var(--brand-primary);outline-offset:2px }
.cart-section .empty-state .btn,.cart-summary > .btn { display:inline-flex;align-items:center;justify-content:center;min-height:44px }
.cart-unavailable { color:#a83737;font-weight:700;font-size:.82rem;margin:.4rem 0 }
.cart-summary,.request-form-panel,.request-success {
  border:1px solid var(--line);border-radius:12px;background:#fff;padding:1.6rem;
  box-shadow:0 12px 34px #12355a08
}
.cart-summary h2,.request-form-panel h2,.request-success h2 { font-size:1.2rem;font-weight:800;margin-bottom:1.1rem }
.cart-summary-total { display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.85rem }
.cart-summary-total strong { font-size:1.15rem;color:var(--brand-primary);white-space:nowrap }
.cart-summary-note { color:var(--muted);font-size:.81rem;line-height:1.6 }
.request-form-panel .form-label { font-size:.85rem;font-weight:700 }
.request-form-panel .form-control { min-width:0 }
.request-form-actions { display:flex;flex-wrap:wrap;gap:.75rem }
.request-form-actions .btn,.request-success > .btn { display:inline-flex;align-items:center;justify-content:center;min-height:44px }
.request-submit { min-width:10rem }
.request-item-list { padding:0;list-style:none;margin:0 0 1rem }
.request-item-list li { display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line);font-size:.85rem }
.request-item-list li span { min-width:0;overflow-wrap:anywhere }
.request-item-list li strong { white-space:nowrap;color:var(--brand-primary) }
.request-item-list small { display:block;color:var(--muted);margin-top:.25rem }
.request-success { max-width:760px;margin:auto }
.request-success h1 { font-size:clamp(2rem,4vw,3rem) }
.request-code { padding:1rem;background:var(--brand-light);border-radius:8px;overflow-wrap:anywhere }
.request-code strong { color:var(--brand-primary) }
.request-contact { margin:1.5rem 0;padding-top:1.5rem;border-top:1px solid var(--line) }
.request-contact p { margin-bottom:.4rem;overflow-wrap:anywhere }
@media(max-width:575px) {
  .cart-item { grid-template-columns:86px minmax(0,1fr);gap:.8rem;padding:.85rem }
  .cart-item h2 { font-size:.95rem }
  .cart-item-image { align-self:start }
  .cart-item-pricing { gap:.3rem .6rem;font-size:.72rem }
  .cart-item-actions { grid-column:1/-1;justify-content:space-between;gap:.6rem 1rem }
  .cart-quantity-form { max-width:100% }
  .cart-remove { padding-inline:.65rem }
  .cart-summary,.request-form-panel,.request-success { padding:1.1rem }
  .cart-summary-total { flex-wrap:wrap }
  .request-form-actions { flex-direction:column }
  .request-form-actions .btn,.request-success > .btn { width:100% }
  .request-item-list li { flex-wrap:wrap;gap:.25rem }
}
