
:root{--blue:#123b63;--blue2:#0d4f9f;--dark:#0f1827;--ink:#142033;--muted:#667386;--line:#e4ebf4;--soft:#f6f8fb;--radius:24px;--shadow:0 22px 60px rgba(7,36,83,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;padding-top:82px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.wide{width:min(1660px,calc(100% - 80px));margin:auto}
.top{position:fixed;top:0;left:0;right:0;width:100%;z-index:999;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(18,40,72,.08);box-shadow:0 8px 26px rgba(8,24,48,.05)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{height:38px}.tagline{font-size:11px;color:#6280a8;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.menu{list-style:none;display:flex;gap:4px;margin:0;padding:0;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.menu>li{position:relative}.menu a{display:block;padding:31px 14px}.menu a:hover,.menu a.active{color:var(--blue)}.drop{position:absolute;top:74px;left:0;min-width:320px;padding:9px;margin:0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.menu>li:hover .drop{opacity:1;visibility:visible;transform:translateY(0)}.drop a{padding:11px 13px;border-radius:10px;text-transform:none;letter-spacing:0}.drop a:hover{background:#eef5ff}.hamb{display:none;border:0;background:var(--blue);color:#fff;border-radius:12px;padding:10px 13px;font-size:22px}
.hero{background:radial-gradient(circle at 84% 20%, rgba(35,223,176,.18), transparent 34%),linear-gradient(135deg,#04101f,#092041 50%,#0b2c4a);color:#fff;overflow:hidden}.hero-grid{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:32px 0 46px}.eyebrow{display:inline-flex;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.08);font-size:13px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#e8f3ff}.hero h1{font-size:clamp(44px,6vw,78px);line-height:.94;margin:22px 0 18px;letter-spacing:-.06em}.hero p{font-size:clamp(18px,2.1vw,24px);color:#dce8f5;max-width:580px;margin:0 0 28px}.hero-card{position:relative;height:460px;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:0 28px 60px rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.08)}.hero-stage{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;border-radius:28px;padding:8px}.hero-stage img{width:100%;height:100%;object-fit:contain;border-radius:28px;box-shadow:0 18px 40px rgba(0,0,0,.28)}.dots{display:flex;gap:9px;margin-top:28px}.dot{width:12px;height:12px;border-radius:99px;border:1px solid #fff;background:transparent;cursor:pointer}.dot.active{background:#fff}
.btns{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.22);cursor:pointer}.btn.primary{background:#fff;color:var(--blue)}.btn.dark{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.ghost{color:#fff;background:rgba(255,255,255,.08)}
.section{padding:76px 0}.kicker{font-size:13px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--blue);margin-bottom:10px}.title{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 16px;color:#142033}.lead{font-size:18px;color:var(--muted);max-width:960px}.center{text-align:center}.center .lead{margin:0 auto}.statement{background:#f6f8fb}.statement h2{font-size:clamp(34px,4.8vw,70px);line-height:1.06;letter-spacing:-.05em;margin:0 auto 28px;max-width:1280px;font-weight:300}.statement .smart{display:inline-block;background:linear-gradient(135deg,#123b63,#0a2d58);color:#fff;padding:.02em .18em}.statement p{font-size:clamp(19px,2vw,27px);line-height:1.6;color:#7f878f;max-width:1650px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:30px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 34px rgba(16,39,74,.08);padding:20px;display:flex;flex-direction:column;gap:13px;transition:.2s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-img{height:160px;border-radius:16px;background:#eff5fb;display:grid;place-items:center;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:contain;padding:10px}.badge{align-self:flex-start;border-radius:999px;background:#eaf3ff;color:var(--blue);font-size:11px;font-weight:900;padding:6px 10px;text-transform:uppercase}.card h3{font-size:19px;line-height:1.15;margin:0}.card p{font-size:14px;color:var(--muted);margin:0;flex:1}
.process-wrap{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 12px 35px rgba(20,50,90,.08);padding:12px 12px 18px;text-align:center}.process-card img{width:100%;border-radius:18px}.process-card h3{margin:16px 0 4px;font-size:20px;text-transform:uppercase}.process-card p{margin:0;color:var(--muted);font-size:14px}
.features{background:#0f1827;color:#fff}.features .title{color:#fff}.features .lead{color:#c8d4e6}.feature-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.feature-point{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}.feature-icon{width:56px;height:56px;flex:0 0 56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(74,147,255,.28),rgba(25,54,118,.55));border:1px solid rgba(255,255,255,.12)}.feature-icon svg{width:28px;height:28px;stroke:#dfeaff;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.feature-point b{display:block;font-size:18px;line-height:1.3;margin-bottom:6px;color:#fff}.feature-point span{color:#c8d4e6;font-size:14px;line-height:1.55}
.page-hero{background:linear-gradient(135deg,#061426,#0b346c);color:#fff;padding:58px 0}.page-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.04;margin:10px 0 0}.crumb{font-weight:800;color:#bcd7ff;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.page-copy{color:#e1ecff;max-width:860px}
.product-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:34px;align-items:start}.gallery{background:#f2f6fb;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.main-img{height:380px;object-fit:contain;margin:auto;cursor:zoom-in}.thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.thumb{border:1px solid #d7e2f0;background:#fff;border-radius:14px;padding:7px;cursor:pointer}.thumb.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,87,183,.12)}.thumb img{width:72px;height:72px;object-fit:contain}.quick-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.spec{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.spec b{display:block}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 18px}.tab{border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:999px;font-weight:900;cursor:pointer;color:#3b4656}.tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}.tab-content{display:none}.tab-content.active{display:block}.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.spec-table th,.spec-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.spec-table th{width:220px;background:#f7faff}.adv-grid{display:grid;gap:16px}.adv{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.adv img{border-radius:14px;cursor:zoom-in}.download{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px;background:#fff}.download small{display:block;color:var(--muted);margin-top:4px}
.faq-list{display:grid;gap:14px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-q{padding:18px 20px;font-weight:900;cursor:pointer}.faq-a{padding:0 20px 20px;color:var(--muted);display:none}.faq-item.open .faq-a{display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px}.field{display:grid;gap:7px;margin-bottom:14px}.field input,.field textarea{width:100%;border:1px solid #dbe3ee;border-radius:12px;padding:12px 13px}.field textarea{min-height:130px}.notice{padding:13px 15px;border-radius:14px;background:#eef6ff;color:#1f477a;font-size:14px}.buy-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.buy-logo{height:90px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;place-items:center;font-size:24px;font-weight:900;color:var(--blue);box-shadow:0 12px 28px rgba(20,50,90,.06)}
.lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:72px 28px 34px}.lightbox.open{display:flex}.lightbox img{display:block;width:auto;height:auto;max-width:min(1180px,92vw);max-height:calc(100vh - 130px);object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.5);background:#fff}.lightbox button{position:fixed;right:24px;top:22px;z-index:100000;border:0;background:#fff;color:#000;border-radius:999px;width:46px;height:46px;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.25)}
.cta{background:radial-gradient(circle at 82% 20%,rgba(31,143,211,.22),transparent 34%),linear-gradient(135deg,#071426,#0a2d58 58%,#073f87);color:#fff}.cta .title{color:#fff}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:28px}footer{background:#070d17;color:#aeb8c7;padding:34px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.foot-menu{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
@media(max-width:1120px){.cards{grid-template-columns:repeat(3,1fr)}.process-wrap{grid-template-columns:repeat(2,1fr)}.hero-grid,.product-layout,.split{grid-template-columns:1fr}.hero-grid{min-height:auto;padding:70px 0}.hero-card{height:390px}.hero h1{max-width:720px}.hero p{max-width:720px}}
@media(max-width:820px){
  html{scroll-padding-top:72px}
  body{padding-top:72px}
  .nav{height:72px}
  .brand img{height:32px}
  .tagline{font-size:9px;letter-spacing:.12em}
  .hamb{display:block}
  .menu{position:fixed;left:14px;right:14px;top:82px;max-height:calc(100vh - 96px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;padding:10px}
  .menu.open{display:flex}
  .menu a{padding:13px}
  .drop{position:static;opacity:1;visibility:visible;transform:none;display:block;box-shadow:none;background:#f7faff;border-radius:14px;margin:0 0 8px 0;min-width:0}
  .drop a{padding:10px 12px;font-size:12px}
  .hero-grid{grid-template-columns:1fr;gap:26px;min-height:auto;padding:48px 0 54px}
  .hero h1{font-size:clamp(42px,14vw,68px)}
  .hero p{font-size:20px}
  .hero-card{height:auto;min-height:260px;border-radius:28px}
  .hero-stage{position:relative;inset:auto;padding:22px;height:260px}
  .hero-stage img{max-height:216px}
  .cards,.feature-points{grid-template-columns:1fr}
  .process-wrap{grid-template-columns:1fr}
  .buy-logos{grid-template-columns:repeat(2,1fr)}
  .quick-specs{grid-template-columns:1fr}
  .download{grid-template-columns:1fr}
  .cta-box,.foot{flex-direction:column;align-items:flex-start}
  .wide{width:min(100% - 32px,1660px)}
  .statement h2{font-size:40px}
  .statement p{font-size:18px}
}


@media(max-width:520px){
  .container{width:min(100% - 28px,1180px)}
  .nav{gap:12px}
  .brand{gap:8px}
  .tagline{display:none}
  .hero h1{font-size:42px}
  .hero p{font-size:18px}
  .btns{gap:10px}
  .btn{width:100%;padding:13px 18px}
  .hero-card{min-height:220px}
  .hero-stage{height:220px;padding:16px}
  .hero-stage img{max-height:188px}
  .section{padding:54px 0}
  .title{font-size:32px}
  .statement h2{font-size:32px}
  .product-layout{gap:22px}
  .main-img{height:260px}
  .thumb img{width:58px;height:58px}
  .buy-logos{grid-template-columns:1fr}
}


.contact-details{display:grid;gap:28px}
.contact-block{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:flex-start}
.contact-icon{width:48px;height:48px;border-radius:999px;background:linear-gradient(135deg,#12375f,#0a2d58);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(10,45,88,.18)}
.contact-icon svg{width:24px;height:24px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.contact-block h3{margin:0 0 10px;font-size:24px;line-height:1.2;color:#123b63}
.contact-block p{margin:0;color:#5d6878;font-size:18px;line-height:1.45}
.contact-email-list{display:grid;gap:12px;margin-top:10px}
.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}
.contact-email span{color:#5d6878;font-size:14px}
.contact-email a{font-size:20px;color:#0b1a2e}
.contact-email a:hover{color:var(--blue)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .field.full{grid-column:1/-1}
.contact-subtle{color:#6b7482;margin:0 0 20px}
@media(max-width:820px){
  .contact-block{grid-template-columns:44px 1fr;gap:14px}
  .contact-icon{width:42px;height:42px}
  .contact-block h3{font-size:21px}
  .contact-block p{font-size:16px}
  .contact-email{align-items:flex-start;flex-direction:column;gap:4px}
  .contact-email a{font-size:18px}
  .form-grid{grid-template-columns:1fr}
}


/* FAQ readable formatting */
.faq-item{box-shadow:0 10px 30px rgba(7,36,83,.04)}
.faq-q{width:100%;text-align:left;background:transparent;border:0;color:#0b1a2e;font-size:21px;line-height:1.35}
.faq-a{font-size:18px;line-height:1.72}
.faq-a p{margin:0 0 16px}
.faq-a p:last-child{margin-bottom:0}
.faq-bullets{margin:8px 0 18px;padding-left:24px;color:var(--muted)}
.faq-bullets li{margin:6px 0}
.faq-a strong{color:#0b1a2e}

@media(max-width:820px){
  .faq-q{font-size:18px}
  .faq-a{font-size:16px;line-height:1.65}
}


/* Product original images */
.adv-grid{display:grid;grid-template-columns:1fr;gap:18px}
.adv{overflow:hidden}
.adv img{width:100%;height:auto;display:block;border-radius:14px;background:#f5f8fd}
.thumbs{max-height:190px;overflow:auto;padding-right:4px}
.thumb img{background:#fff}



@media(max-width:820px){
  .lightbox{padding:70px 14px 22px}
  .lightbox img{max-width:94vw;max-height:calc(100vh - 108px);border-radius:10px}
  .lightbox button{right:14px;top:14px;width:42px;height:42px;font-size:26px}
}


/* Product page: tabs below product photos/summary, closer to original structure */
.product-top{align-items:start;margin-bottom:42px}
.product-summary{padding-top:6px}
.product-tabs-block{margin-top:8px}
.product-tabs-block .tabs{margin:0 0 0;gap:0;align-items:flex-end;border-bottom:1px solid var(--line)}
.product-tabs-block .tab{border-radius:14px 14px 0 0;border-bottom:0;background:#f7f9fc;margin-right:4px;padding:15px 22px}
.product-tabs-block .tab.active{background:#fff;color:var(--blue);border-color:var(--blue);box-shadow:inset 0 3px 0 var(--blue)}
.product-tabs-block .tab-content{border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;background:#fff;padding:24px}
.adv-grid{display:grid;grid-template-columns:1fr;gap:22px}
.adv-text{padding:24px 26px}
.adv-text h3{margin:0 0 14px;font-size:22px}
.adv-text p{font-size:17px;color:#4f5c6d;line-height:1.7;margin:0 0 12px}
.adv-text ul{margin:10px 0 0;padding-left:24px;color:#4f5c6d;font-size:17px;line-height:1.75}
.adv-image{padding:12px;background:#fff}
.adv-image img{width:100%;height:auto;border-radius:12px}
.spec-table{border-radius:0}

@media(max-width:820px){
  .product-top{margin-bottom:30px}
  .product-tabs-block .tabs{overflow-x:auto;white-space:nowrap}
  .product-tabs-block .tab{padding:13px 16px}
  .product-tabs-block .tab-content{padding:16px}
  .adv-text{padding:20px}
  .adv-text p,.adv-text ul{font-size:16px}
}

/* Long original specifications/download descriptions */
.spec-table td{line-height:1.58}
.spec-table td:empty{background:#f1f6ff}
.download{align-items:flex-start}
.download-notes{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.55}
.download small{color:var(--muted)}
@media(max-width:820px){.download .btn{width:auto}.download-notes{font-size:13px}}


/* Home intro animated word */
.statement .smart{
  min-width:4.9em;
  text-align:center;
  position:relative;
  box-shadow:0 10px 26px rgba(10,63,130,.16);
}
.statement .smart::after{
  content:"";
  display:inline-block;
  width:2px;
  height:.78em;
  margin-left:4px;
  background:rgba(255,255,255,.9);
  vertical-align:-.08em;
  animation:toxCursorBlink .8s steps(1,end) infinite;
}
@keyframes toxCursorBlink{50%{opacity:0}}

.cta .btns{
  min-width:310px;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.cta .btn{
  width:100%;
  min-width:240px;
  height:64px;
  padding:0 28px;
}
.cta .btn.primary{
  background:#fff;
  color:#123b63;
  border-color:#fff;
}
.cta .btn.ghost{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.cta .btn.ghost:hover{
  background:rgba(255,255,255,.14);
}
.btn.dark{
  background:linear-gradient(135deg,#123b63,#0a2d58);
  border-color:#123b63;
}
.tab.active{
  background:linear-gradient(135deg,#123b63,#0a2d58);
  border-color:#123b63;
}
.product-tabs-block .tab.active{
  background:#fff;
  color:#123b63;
  border-color:#123b63;
}
@media(max-width:820px){
  .cta .btns{width:100%;min-width:0}
  .cta .btn{min-width:0}
  .statement .smart{min-width:4.65em}
}


/* Refined animated word pill */
.statement .smart{
  border-radius:12px;
  padding:.02em .28em .06em;
  min-width:5.85em;
  line-height:1.04;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.statement .smart::after{
  height:.72em;
  border-radius:2px;
}
@media(max-width:820px){
  .statement .smart{min-width:5.6em;border-radius:10px}
}


/* Calmer contact page accents */
.contact-icon{
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  box-shadow:0 14px 34px rgba(8,34,68,.18) !important;
}
.contact-block h3{
  color:#123b63 !important;
}
.contact-email{
  background:#f7fafc;
  border-color:#dde7f0;
}
.contact-email a{
  color:#0d2038;
}
.contact-email a:hover{
  color:#0a2d58;
}
.contact-details .contact-block{
  position:relative;
}
.contact-details .contact-block::before{
  content:"";
  position:absolute;
  left:24px;
  top:58px;
  bottom:-16px;
  width:1px;
  background:linear-gradient(180deg,rgba(18,55,95,.18),rgba(18,55,95,0));
}
.contact-details .contact-block:last-child::before{
  display:none;
}
.page-hero{
  background:radial-gradient(circle at 82% 20%,rgba(31,143,211,.16),transparent 32%),linear-gradient(135deg,#071426,#0b2d55 62%,#12375f);
}
.btn.dark{
  background:linear-gradient(135deg,#12375f,#0a2d58);
  border-color:#12375f;
}
.tab.active{
  background:linear-gradient(135deg,#12375f,#0a2d58);
  border-color:#12375f;
}
@media(max-width:820px){
  .contact-details .contact-block::before{display:none}
}


/* Updated logo sizing */
.brand img{
  height:44px;
  width:auto;
  display:block;
}
@media(max-width:820px){
  .brand img{height:56px}
}


/* Buying pages */
.buy-paths{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:26px;
}
.buy-path{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:26px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(8,34,68,.07);
  transition:.2s ease;
}
.buy-path:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(8,34,68,.11);
}
.buy-path-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#12375f,#0a2d58);
  color:#fff;
}
.buy-path-icon svg{
  width:28px;
  height:28px;
  stroke:#fff;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.buy-path h2,.market-panel h2,.reseller-strip h2,.buy-note h2{
  margin:0 0 10px;
  color:#0d2038;
}
.buy-path p,.market-panel p,.reseller-strip p,.buy-note p{
  margin:0;
  color:var(--muted);
}
.path-link{
  display:inline-block;
  margin-top:18px;
  color:#123b63;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px;
}
.buy-note,.market-panel,.reseller-strip{
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 44px rgba(8,34,68,.07);
  padding:30px;
}
.buy-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:22px;
}
.buy-note p{
  max-width:760px;
  margin-bottom:0;
}
.market-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:26px;
  align-items:center;
}
.market-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.market-card{
  min-height:145px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#f7fafc;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:.18s ease;
}
.market-card:hover{
  background:#eef5fb;
  transform:translateY(-2px);
}
.market-card span{
  color:#123b63;
  font-size:24px;
  font-weight:900;
}
.market-card small{
  color:var(--muted);
  margin-top:5px;
}
.reseller-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:22px;
}
.buy-note .btns{
  flex:0 0 auto;
}
.buy-note .btn:not(.dark){
  color:#123b63;
  border-color:#cfdbe7;
  background:#fff;
}

@media(max-width:1120px){
  .buy-paths,.market-panel{
    grid-template-columns:1fr;
  }
}
@media(max-width:820px){
  .buy-path{
    padding:22px;
  }
  .market-grid{
    grid-template-columns:1fr;
  }
  .buy-note,.reseller-strip{
    flex-direction:column;
    align-items:flex-start;
  }
  .buy-note .btns{
    width:100%;
  }
}


/* Where to buy marketplace cards */
.market-panel-full{
  grid-template-columns:1fr;
}
.marketplace-links{
  grid-template-columns:repeat(3,1fr);
}
.marketplace-card{
  min-height:190px;
  align-items:center;
  text-align:center;
  background:#fff;
}
.marketplace-card img{
  width:auto;
  height:58px;
  max-width:220px;
  object-fit:contain;
  margin:0 auto 18px;
}
.marketplace-card span{
  color:#0d2038;
}
.marketplace-card:hover span{
  color:#123b63;
}
.marketplace-card small{
  font-size:14px;
}
@media(max-width:980px){
  .marketplace-links{
    grid-template-columns:1fr;
  }
  .marketplace-card{
    min-height:150px;
  }
}


/* v23: larger home hero visuals and direct model-page access */
.hero-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:54px;
  min-height:680px;
}
.hero p{
  max-width:610px;
}
.hero-card{
  display:block;
  height:520px;
  border-radius:36px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.hero-link{
  position:relative;
  color:inherit;
}
.hero-link:hover{
  transform:translateY(-2px);
  box-shadow:0 32px 70px rgba(0,0,0,.38);
}
.hero-stage{
  inset:10px;
  padding:0;
}
.hero-stage img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:26px;
}
.hero-open{
  position:absolute;
  right:28px;
  bottom:28px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  border-radius:999px;
  background:rgba(10,35,58,.82);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}
.hero-link:hover .hero-open{
  background:rgba(13,54,94,.9);
}
@media(max-width:1120px){
  .hero-grid{grid-template-columns:1fr;gap:34px;min-height:auto;padding:62px 0 54px}
  .hero-card{height:460px}
}
@media(max-width:820px){
  .hero-card{height:auto;min-height:300px;border-radius:28px}
  .hero-stage{position:relative;inset:auto;height:300px;padding:10px}
  .hero-stage img{border-radius:20px}
  .hero-open{right:16px;bottom:16px;padding:9px 12px;font-size:11px}
}
@media(max-width:520px){
  .hero-card{min-height:250px}
  .hero-stage{height:250px;padding:8px}
  .hero-open{left:14px;right:14px;bottom:14px}
}


/* v24: calmer palette and mobile product image fixes */
:root{
  --blue:#123b63;
  --blue2:#0a2d58;
}

.menu a:hover,
.menu a.active,
.kicker,
.badge{
  color:#123b63;
}

.hamb,
.btn.dark,
.tab.active{
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  border-color:#12375f !important;
}

.btn.primary{
  color:#123b63 !important;
}

.hero-open{
  background:rgba(10,35,58,.88) !important;
  border-color:rgba(255,255,255,.18) !important;
}

.statement .smart{
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
}

.feature-icon,
.buy-path-icon,
.contact-icon{
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  box-shadow:0 14px 34px rgba(8,34,68,.18) !important;
}

.market-card span,
.path-link,
.contact-block h3,
.contact-email a{
  color:#123b63 !important;
}

.badge{
  background:#edf4f9 !important;
}

/* Product/catalog cards: show full product photo on mobile instead of cropped top/bottom */
.card{
  overflow:hidden;
}

.card-img{
  height:210px !important;
  min-height:210px;
  padding:14px;
  background:#f3f7fb;
  border-radius:18px;
}

.card-img img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  max-width:100%;
  max-height:100%;
}

/* Product page gallery image: avoid accidental cropping on small screens */
.main-img{
  object-fit:contain !important;
  background:#fff;
}

.gallery{
  overflow:visible;
}

@media(max-width:820px){
  .cards{
    gap:22px;
  }

  .card{
    padding:20px;
  }

  .card-img{
    height:260px !important;
    min-height:260px;
  }

  .card h3{
    margin-top:10px;
  }

  .hero-open{
    position:static;
    margin:12px 14px 0;
    width:calc(100% - 28px);
  }

  .hero-link{
    padding-bottom:14px;
  }
}

@media(max-width:520px){
  .hamb{
    background:linear-gradient(135deg,#12375f,#0a2d58) !important;
    width:58px;
    height:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    padding:0;
  }

  .card-img{
    height:300px !important;
    min-height:300px;
  }

  .card-img img{
    transform:none !important;
  }

  .main-img{
    height:340px !important;
  }

  .thumb img{
    object-fit:contain !important;
  }

  .brand img{
    height:46px;
  }

  .hero-stage{
    height:280px;
  }
}


/* v27: final product tabs fix
   Product page tabs must NOT inherit the global dark .tab.active button style. */
body .product-tabs-block .tabs > button.tab,
body .product-tabs-block .tabs > button.tab:hover{
  background:#f7fafc !important;
  color:#26384d !important;
  border:1px solid #dce6f0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  opacity:1 !important;
}

body .product-tabs-block .tabs > button.tab.active,
body .product-tabs-block .tabs > button.tab.active:hover,
body .product-tabs-block .tabs > button.tab[aria-selected="true"]{
  background:#ffffff !important;
  color:#123b63 !important;
  border:1px solid #dce6f0 !important;
  border-top:3px solid #123b63 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  opacity:1 !important;
}

body .product-tabs-block .tabs{
  border-bottom:1px solid #dce6f0 !important;
}

body .product-tabs-block .tab-content{
  border-top:1px solid #dce6f0 !important;
}

@media(max-width:820px){
  body .product-tabs-block .tabs > button.tab{
    background:#f7fafc !important;
    color:#26384d !important;
  }

  body .product-tabs-block .tabs > button.tab.active{
    background:#ffffff !important;
    color:#123b63 !important;
  }
}


/* v28: mobile product page overflow and specification table fix */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

img,
video,
canvas,
svg{
  max-width:100%;
}

.product-tabs-block,
.product-tabs-block .tab-content,
.spec-table{
  max-width:100%;
  overflow-x:hidden;
}

.spec-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}

.spec-table th,
.spec-table td{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:820px){
  .page-hero{
    overflow:hidden;
  }

  .page-hero .container,
  .section .container{
    width:min(100% - 24px,1180px);
  }

  .product-layout{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .product-tabs-block{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .product-tabs-block .tabs{
    display:flex;
    flex-wrap:wrap;
    overflow:visible !important;
    white-space:normal !important;
    gap:0;
  }

  .product-tabs-block .tabs > button.tab{
    flex:1 1 auto;
    min-width:118px;
    text-align:center;
    padding:13px 12px !important;
  }

  .product-tabs-block .tab-content{
    padding:14px !important;
    overflow:hidden;
  }

  .spec-table,
  .spec-table tbody,
  .spec-table tr,
  .spec-table th,
  .spec-table td{
    display:block;
    width:100% !important;
    box-sizing:border-box;
  }

  .spec-table{
    border:0;
    background:transparent;
  }

  .spec-table tr{
    margin:0 0 12px;
    border:1px solid #dce6f0;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
  }

  .spec-table th{
    background:#f3f7fb;
    border:0;
    padding:13px 15px 6px;
    font-size:15px;
    line-height:1.35;
  }

  .spec-table td{
    border:0;
    padding:6px 15px 14px;
    font-size:15px;
    line-height:1.55;
  }

  .spec-table td:empty{
    display:none;
  }

  .spec-table th:has(+ td:empty){
    padding:14px 15px;
  }

  .quick-specs{
    width:100%;
    max-width:100%;
  }

  .quick-spec{
    overflow:hidden;
  }

  .quick-spec div,
  .quick-spec p{
    overflow-wrap:anywhere;
  }
}

@media(max-width:520px){
  .page-hero h1{
    font-size:clamp(30px,8.8vw,40px);
    line-height:1.08;
  }

  .page-hero .page-copy{
    font-size:16px;
    line-height:1.6;
  }

  .product-tabs-block .tabs > button.tab{
    min-width:104px;
    font-size:14px;
  }

  .spec-table th,
  .spec-table td{
    font-size:14px;
  }
}


/* v29: ready PHP contact form and global hover/focus states */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
}

.notice.success{
  background:#eef8f3;
  border-color:#cde9db;
  color:#174d35;
}

.notice.error{
  background:#fff1f1;
  border-color:#f0c9c9;
  color:#783030;
}

/* Clear hover feedback for clickable elements */
a,
button,
.btn,
.tab,
.card,
.market-card,
.buy-path,
.thumb,
.hero-link,
.faq-q,
.menu a,
.mobile-menu a,
.contact-email,
.download a{
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    opacity .18s ease;
}

.menu a:hover,
.menu a:focus-visible{
  color:#123b63 !important;
  background:rgba(18,59,99,.08);
  box-shadow:inset 0 -3px 0 #123b63;
}

.mobile-menu a:hover,
.mobile-menu a:focus-visible{
  color:#123b63 !important;
  background:#eef4f8;
  transform:translateX(4px);
}

.btn:hover,
.btn:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(8,34,68,.16);
}

.btn.dark:hover,
.btn.dark:focus-visible,
.hamb:hover,
.hamb:focus-visible{
  background:linear-gradient(135deg,#174a78,#0c355f) !important;
  box-shadow:0 18px 38px rgba(8,34,68,.22);
}

.btn.primary:hover,
.btn.primary:focus-visible{
  background:#eef4f8 !important;
  color:#123b63 !important;
  border-color:#d4e1ec;
}

.card:hover,
.card:focus-within{
  transform:translateY(-5px);
  box-shadow:0 26px 62px rgba(8,34,68,.13);
  border-color:#cbdcea;
}

.card:hover h3{
  color:#123b63;
}

.market-card:hover,
.buy-path:hover{
  border-color:#cbdcea;
  background:#f6f9fc;
}

.contact-email:hover{
  border-color:#cbdcea;
  background:#f6f9fc;
  transform:translateY(-2px);
}

.contact-email:hover a{
  color:#123b63 !important;
}

.thumb:hover,
.thumb:focus-visible{
  border-color:#123b63;
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(8,34,68,.12);
}

.faq-q:hover,
.faq-q:focus-visible{
  color:#123b63;
  background:#f6f9fc;
}

.product-tabs-block .tabs > button.tab:hover,
.product-tabs-block .tabs > button.tab:focus-visible{
  background:#eef4f8 !important;
  color:#123b63 !important;
}

.product-tabs-block .tabs > button.tab.active:hover{
  background:#fff !important;
}

.download:hover{
  border-color:#cbdcea;
  box-shadow:0 18px 40px rgba(8,34,68,.08);
}

.hero-link:hover img{
  filter:brightness(1.04) contrast(1.02);
}

input:focus,
textarea:focus,
button:focus-visible,
a:focus-visible{
  outline:2px solid rgba(18,59,99,.32);
  outline-offset:3px;
}

@media(max-width:820px){
  .menu a:hover,
  .menu a:focus-visible{
    box-shadow:none;
  }
}


/* v30: contact details only + active states for menu, buttons and FAQ */
.contact-only-panel{
  max-width:1180px;
  margin:0 auto;
}

.contact-details-grid{
  grid-template-columns:repeat(2,1fr);
  gap:30px;
}

.contact-details-grid .contact-block{
  padding:24px;
  border:1px solid #dde7f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 34px rgba(8,34,68,.06);
}

.contact-details-grid .contact-block::before{
  display:none !important;
}

.menu a{
  border-radius:14px;
}

.menu a:hover,
.menu a:focus-visible,
.menu a.active{
  color:#123b63 !important;
  background:rgba(18,59,99,.09) !important;
  box-shadow:inset 0 -3px 0 #123b63;
}

.menu > li:has(.drop a.active) > a{
  color:#123b63 !important;
  background:rgba(18,59,99,.09) !important;
  box-shadow:inset 0 -3px 0 #123b63;
}

.drop a.active{
  background:#eef4f8 !important;
  color:#123b63 !important;
  box-shadow:none !important;
}

.btn{
  position:relative;
}

.btn:hover,
.btn:focus-visible,
.btn.active{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(8,34,68,.16);
}

.btn:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(8,34,68,.12);
}

.btn.dark:hover,
.btn.dark:focus-visible,
.btn.dark.active{
  background:linear-gradient(135deg,#174a78,#0c355f) !important;
  border-color:#174a78 !important;
}

.btn.primary:hover,
.btn.primary:focus-visible,
.btn.primary.active{
  background:#eef4f8 !important;
  color:#123b63 !important;
  border-color:#d4e1ec !important;
}

.btn.ghost:hover,
.btn.ghost:focus-visible,
.btn.ghost.active{
  background:rgba(255,255,255,.17) !important;
  border-color:rgba(255,255,255,.34) !important;
}

.faq-item{
  border:1px solid #dde7f0;
  border-radius:20px;
  overflow:hidden;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.faq-item:hover,
.faq-item.open{
  border-color:#c4d7e8;
  box-shadow:0 18px 44px rgba(8,34,68,.09);
}

.faq-q{
  padding:20px 22px;
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease;
}

.faq-q:hover,
.faq-q:focus-visible,
.faq-q.active,
.faq-item.open .faq-q{
  background:#f3f7fb !important;
  color:#123b63 !important;
}

.faq-q::after{
  content:"+";
  float:right;
  font-weight:900;
  color:#123b63;
}

.faq-item.open .faq-q::after{
  content:"−";
}

@media(max-width:820px){
  .contact-details-grid{
    grid-template-columns:1fr;
  }

  .contact-details-grid .contact-block{
    padding:20px;
  }

  .menu a.active{
    box-shadow:none;
    background:#eef4f8 !important;
  }
}


/* v31: clearer menu/button states and simplified contact email cards */
.contact-email-clean{
  justify-content:flex-start !important;
  min-height:76px;
}

.contact-email-clean a{
  width:100%;
  font-size:clamp(20px,2.2vw,30px);
  font-weight:800;
}

/* Header menu: visible active and hover state */
.header .menu > li > a,
.menu > li > a{
  position:relative;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid transparent;
}

.header .menu > li > a:hover,
.header .menu > li > a:focus-visible,
.header .menu > li > a.active,
.menu > li > a:hover,
.menu > li > a:focus-visible,
.menu > li > a.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  border-color:rgba(18,55,95,.35) !important;
  box-shadow:0 14px 28px rgba(8,34,68,.18) !important;
  transform:translateY(-1px);
}

.header .menu > li > a::after,
.menu > li > a::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:7px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.header .menu > li > a:hover::after,
.header .menu > li > a:focus-visible::after,
.header .menu > li > a.active::after,
.menu > li > a:hover::after,
.menu > li > a:focus-visible::after,
.menu > li > a.active::after{
  transform:scaleX(1);
}

/* Parent menu item gets active state when dropdown child is active */
.menu > li:has(.drop a.active) > a{
  color:#ffffff !important;
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  border-color:rgba(18,55,95,.35) !important;
  box-shadow:0 14px 28px rgba(8,34,68,.18) !important;
}

/* Dropdown active/hover states */
.drop a{
  border-radius:14px;
  margin:3px 6px;
}

.drop a:hover,
.drop a:focus-visible,
.drop a.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  box-shadow:0 10px 22px rgba(8,34,68,.18) !important;
}

/* Buttons: stronger visible hover */
.btn{
  border-width:2px !important;
}

.btn:hover,
.btn:focus-visible,
.btn.active{
  transform:translateY(-3px) scale(1.015);
  box-shadow:0 22px 48px rgba(8,34,68,.22) !important;
}

.btn.dark:hover,
.btn.dark:focus-visible,
.btn.dark.active{
  color:#fff !important;
  background:linear-gradient(135deg,#1a578d,#0b2d58) !important;
  border-color:#1a578d !important;
}

.btn.primary:hover,
.btn.primary:focus-visible,
.btn.primary.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,#12375f,#0a2d58) !important;
  border-color:#12375f !important;
}

.btn.ghost:hover,
.btn.ghost:focus-visible,
.btn.ghost.active{
  color:#ffffff !important;
  background:rgba(255,255,255,.20) !important;
  border-color:rgba(255,255,255,.45) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}

/* FAQ: much more obvious hover/open state */
.faq-item:hover,
.faq-item.open{
  border-color:#123b63 !important;
  box-shadow:0 20px 48px rgba(8,34,68,.14) !important;
  transform:translateY(-2px);
}

.faq-q:hover,
.faq-q:focus-visible,
.faq-q.active,
.faq-item.open .faq-q{
  background:linear-gradient(135deg,#f1f6fb,#e7f0f8) !important;
  color:#123b63 !important;
}

.faq-item.open .faq-q{
  border-left:6px solid #123b63;
  padding-left:16px;
}

@media(max-width:820px){
  .header .menu > li > a,
  .menu > li > a{
    padding:14px 16px;
  }

  .header .menu > li > a:hover,
  .header .menu > li > a:focus-visible,
  .header .menu > li > a.active,
  .menu > li > a:hover,
  .menu > li > a:focus-visible,
  .menu > li > a.active{
    transform:none;
    box-shadow:none !important;
  }

  .header .menu > li > a::after,
  .menu > li > a::after{
    display:none;
  }

  .mobile-menu a:hover,
  .mobile-menu a:focus-visible,
  .mobile-menu a.active{
    color:#ffffff !important;
    background:linear-gradient(135deg,#12375f,#0a2d58) !important;
    transform:translateX(0);
  }

  .contact-email-clean a{
    font-size:22px;
  }
}


/* v32: unmistakable hover/active states */

/* Header menu: react when the link OR its li is hovered */
.header .menu > li:hover > a,
.header .menu > li.active-parent > a,
.header .menu > li > a:hover,
.header .menu > li > a:focus-visible,
.header .menu > li > a.active,
.header .menu > li > a.is-hovering,
.menu > li:hover > a,
.menu > li.active-parent > a,
.menu > li > a:hover,
.menu > li > a:focus-visible,
.menu > li > a.active,
.menu > li > a.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 12px 28px rgba(8,34,68,.24), inset 0 -4px 0 rgba(255,255,255,.55) !important;
  transform:translateY(-2px) !important;
}

/* Make dropdown parent visibly active while dropdown is open */
.menu > li:hover > .drop{
  border-color:#c5d7e8 !important;
  box-shadow:0 26px 70px rgba(8,34,68,.18) !important;
}

/* Dropdown links: very obvious hover and active */
.drop a:hover,
.drop a:focus-visible,
.drop a.active,
.drop a.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 12px 26px rgba(8,34,68,.22) !important;
  transform:translateX(4px) !important;
}

/* Mobile menu */
.mobile-menu a:hover,
.mobile-menu a:focus-visible,
.mobile-menu a.active,
.mobile-menu a.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 12px 24px rgba(8,34,68,.18) !important;
}

/* All important buttons */
.btn:hover,
.btn:focus-visible,
.btn.active,
.btn.is-hovering,
button:hover,
button:focus-visible{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  transform:translateY(-3px) scale(1.02) !important;
  box-shadow:0 20px 44px rgba(8,34,68,.26) !important;
}

.btn.primary:hover,
.btn.primary:focus-visible,
.btn.primary.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
}

.btn.ghost:hover,
.btn.ghost:focus-visible,
.btn.ghost.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
}

/* Hero image page hint */
.hero-link:hover .hero-open,
.hero-link:focus-visible .hero-open,
.hero-link.is-hovering .hero-open{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:rgba(255,255,255,.5) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32) !important;
  transform:translateY(-2px) scale(1.02) !important;
}

/* Product/catalog cards */
.card:hover,
.card:focus-within,
.card:has(a.is-hovering){
  border-color:#123b63 !important;
  box-shadow:0 28px 70px rgba(8,34,68,.18) !important;
  transform:translateY(-6px) !important;
}

.card:hover .btn,
.card:focus-within .btn{
  border-color:#123b63 !important;
}

/* FAQ: hover and open state must be immediately visible */
.faq-item:hover,
.faq-item.open,
.faq-item.active{
  border-color:#123b63 !important;
  box-shadow:0 24px 54px rgba(8,34,68,.16) !important;
  transform:translateY(-2px) !important;
}

.faq-q:hover,
.faq-q:focus-visible,
.faq-q.active,
.faq-q.is-hovering,
.faq-item.open .faq-q,
.faq-item.active .faq-q{
  color:#ffffff !important;
  background:#123b63 !important;
  border-left:8px solid #0a2d58 !important;
}

.faq-q:hover::after,
.faq-q:focus-visible::after,
.faq-q.active::after,
.faq-q.is-hovering::after,
.faq-item.open .faq-q::after{
  color:#ffffff !important;
}

/* Other clickable cards/links */
.market-card:hover,
.market-card:focus-visible,
.market-card.is-hovering,
.buy-path:hover,
.buy-path:focus-visible,
.buy-path.is-hovering,
.contact-email:hover,
.contact-email:focus-within,
.contact-email.is-hovering,
.download:hover{
  border-color:#123b63 !important;
  box-shadow:0 22px 50px rgba(8,34,68,.15) !important;
  transform:translateY(-4px) !important;
}

.market-card:hover span,
.market-card.is-hovering span,
.buy-path:hover .path-link,
.buy-path.is-hovering .path-link,
.contact-email:hover a,
.contact-email.is-hovering a{
  color:#123b63 !important;
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Gallery thumbs */
.thumb:hover,
.thumb:focus-visible,
.thumb.is-hovering{
  border-color:#123b63 !important;
  box-shadow:0 14px 30px rgba(8,34,68,.2) !important;
  transform:translateY(-3px) scale(1.03) !important;
}

/* Product tabs */
.product-tabs-block .tabs > button.tab:hover,
.product-tabs-block .tabs > button.tab:focus-visible,
.product-tabs-block .tabs > button.tab.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
}

.product-tabs-block .tabs > button.tab.active,
.product-tabs-block .tabs > button.tab.active:hover,
.product-tabs-block .tabs > button.tab.active:focus-visible{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:inset 0 -4px 0 rgba(255,255,255,.55) !important;
}

/* Prevent accidental pale text on active tabs */
.product-tabs-block .tabs > button.tab.active *{
  color:#ffffff !important;
}

@media(max-width:820px){
  .header .menu > li:hover > a,
  .header .menu > li.active-parent > a,
  .header .menu > li > a:hover,
  .header .menu > li > a.active,
  .menu > li:hover > a,
  .menu > li.active-parent > a,
  .menu > li > a:hover,
  .menu > li > a.active{
    transform:none !important;
    box-shadow:none !important;
  }

  .faq-q:hover,
  .faq-q:focus-visible,
  .faq-q.active,
  .faq-q.is-hovering,
  .faq-item.open .faq-q{
    border-left:6px solid #0a2d58 !important;
  }
}


/* v33: restore previous Contact details layout, only remove inner labels */
.contact-only-panel{
  max-width:none !important;
}

.contact-details{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
}

.contact-details-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
}

.contact-details .contact-block,
.contact-details-grid .contact-block{
  display:grid !important;
  grid-template-columns:56px 1fr !important;
  gap:18px !important;
  align-items:flex-start !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  position:relative !important;
}

.contact-details .contact-block::before{
  content:"" !important;
  position:absolute !important;
  left:24px !important;
  top:58px !important;
  bottom:-16px !important;
  width:1px !important;
  background:linear-gradient(180deg,rgba(18,55,95,.18),rgba(18,55,95,0)) !important;
  display:block !important;
}

.contact-details .contact-block:last-child::before{
  display:none !important;
}

.contact-email-clean{
  justify-content:flex-end !important;
  min-height:auto !important;
}

.contact-email-clean a{
  width:auto !important;
  font-size:clamp(20px,1.8vw,30px) !important;
  font-weight:500 !important;
}

.contact-email-clean span{
  display:none !important;
}

@media(max-width:820px){
  .contact-details .contact-block,
  .contact-details-grid .contact-block{
    grid-template-columns:44px 1fr !important;
    gap:14px !important;
  }

  .contact-details .contact-block::before{
    display:none !important;
  }

  .contact-email-clean{
    justify-content:flex-start !important;
  }

  .contact-email-clean a{
    font-size:20px !important;
    word-break:break-word;
  }
}


/* v34: remove underline strip from active/hover header menu pills */
.header .menu > li > a::after,
.menu > li > a::after,
.header .menu > li > a:hover::after,
.header .menu > li > a:focus-visible::after,
.header .menu > li > a.active::after,
.menu > li > a:hover::after,
.menu > li > a:focus-visible::after,
.menu > li > a.active::after{
  display:none !important;
  content:none !important;
  transform:none !important;
}

.header .menu > li:hover > a,
.header .menu > li.active-parent > a,
.header .menu > li > a:hover,
.header .menu > li > a:focus-visible,
.header .menu > li > a.active,
.header .menu > li > a.is-hovering,
.menu > li:hover > a,
.menu > li.active-parent > a,
.menu > li > a:hover,
.menu > li > a:focus-visible,
.menu > li > a.active,
.menu > li > a.is-hovering{
  box-shadow:0 12px 28px rgba(8,34,68,.24) !important;
}


/* v35: left-align contact emails and enlarge header logo */
.contact-email,
.contact-email-clean{
  justify-content:flex-start !important;
  text-align:left !important;
}

.contact-email a,
.contact-email-clean a{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Header logo increased ~1.5x */
.brand img{
  height:99px !important;
  width:auto !important;
}

.brand{
  gap:20px;
}

.header .container{
  min-height:145px;
}

@media(max-width:1120px){
  .brand img{
    height:60px !important;
  }

  .header .container{
    min-height:104px;
  }
}

@media(max-width:820px){
  .brand img{
    height:58px !important;
  }

  .header .container{
    min-height:92px;
  }
}

@media(max-width:520px){
  .brand img{
    height:52px !important;
  }

  .header .container{
    min-height:84px;
  }
}


/* v36: redesigned home hero as large banner carousel */
.hero-redesign{
  padding:78px 0 64px;
}

.hero-redesign .hero-carousel{
  display:grid;
  gap:28px;
}

.hero-redesign .hero-topline{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(360px, .9fr);
  gap:34px;
  align-items:end;
}

.hero-redesign .eyebrow{
  margin-bottom:22px;
}

.hero-redesign h1{
  margin:0;
  font-size:clamp(64px,7.4vw,128px);
  line-height:.9;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.hero-redesign .hero-topline p{
  margin:0 0 8px;
  max-width:780px;
  font-size:clamp(24px,2.25vw,42px);
  line-height:1.34;
  color:#e8f3ff;
}

.hero-banner-wrap{
  position:relative;
  min-height:560px;
  display:grid;
  align-items:center;
}

.hero-redesign .hero-card{
  height:560px;
  border-radius:38px;
  overflow:hidden;
  background:rgba(12,43,72,.64);
  box-shadow:0 34px 92px rgba(0,0,0,.34);
}

.hero-redesign .hero-stage{
  position:absolute;
  inset:18px;
  height:auto;
  padding:0;
  border-radius:30px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
}

.hero-redesign .hero-stage img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
  border-radius:24px;
  filter:saturate(.98) contrast(1.03);
}

.hero-redesign .hero-open{
  right:42px;
  bottom:38px;
  min-width:250px;
  padding:16px 24px;
  font-size:16px;
  border-radius:999px;
}

.hero-nav{
  position:absolute;
  top:50%;
  z-index:5;
  width:82px;
  height:82px;
  transform:translateY(-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.92);
  color:#123b63;
  box-shadow:0 20px 48px rgba(0,0,0,.24);
  display:grid;
  place-items:center;
  cursor:pointer;
}

.hero-nav svg{
  width:52px;
  height:52px;
  fill:none;
  stroke:currentColor;
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hero-prev{
  left:-36px;
}

.hero-next{
  right:-36px;
}

.hero-nav:hover,
.hero-nav:focus-visible{
  background:#123b63 !important;
  color:#fff !important;
  transform:translateY(-50%) scale(1.05) !important;
  box-shadow:0 26px 60px rgba(0,0,0,.32) !important;
}

.hero-bottom{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
}

.hero-redesign .btns{
  justify-content:center;
}

.hero-redesign .dots{
  display:flex;
  justify-content:center;
  gap:14px;
  width:100%;
  margin-top:2px;
}

.hero-redesign .dot{
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.65);
  background:transparent;
  cursor:pointer;
}

.hero-redesign .dot:hover,
.hero-redesign .dot.active{
  background:#fff;
  border-color:#fff;
  transform:scale(1.08);
}

@media(max-width:1280px){
  .hero-redesign .hero-topline{
    grid-template-columns:1fr;
    gap:20px;
    align-items:start;
  }

  .hero-redesign .hero-topline p{
    max-width:900px;
  }

  .hero-banner-wrap{
    min-height:500px;
  }

  .hero-redesign .hero-card{
    height:500px;
  }

  .hero-prev{
    left:14px;
  }

  .hero-next{
    right:14px;
  }
}

@media(max-width:820px){
  .hero-redesign{
    padding:44px 0 46px;
  }

  .hero-redesign h1{
    font-size:clamp(48px,16vw,78px);
    line-height:.95;
  }

  .hero-redesign .hero-topline p{
    font-size:21px;
    line-height:1.45;
  }

  .hero-banner-wrap{
    min-height:360px;
  }

  .hero-redesign .hero-card{
    height:360px;
    border-radius:28px;
  }

  .hero-redesign .hero-stage{
    inset:10px;
    border-radius:22px;
  }

  .hero-redesign .hero-stage img{
    border-radius:18px;
  }

  .hero-nav{
    width:54px;
    height:54px;
  }

  .hero-nav svg{
    width:34px;
    height:34px;
    stroke-width:7;
  }

  .hero-prev{
    left:8px;
  }

  .hero-next{
    right:8px;
  }

  .hero-redesign .hero-open{
    left:18px;
    right:18px;
    bottom:18px;
    min-width:0;
    width:auto;
    font-size:12px;
    padding:12px 14px;
  }

  .hero-bottom{
    gap:18px;
  }

  .hero-redesign .btns{
    width:100%;
  }

  .hero-redesign .btn{
    width:100%;
  }
}

@media(max-width:520px){
  .hero-redesign .eyebrow{
    margin-bottom:16px;
  }

  .hero-banner-wrap{
    min-height:300px;
  }

  .hero-redesign .hero-card{
    height:300px;
  }

  .hero-redesign .hero-stage{
    inset:8px;
  }

  .hero-nav{
    width:46px;
    height:46px;
  }

  .hero-nav svg{
    width:30px;
    height:30px;
  }
}


/* v37: refined large hero carousel */
.hero-redesign{
  padding:64px 0 58px;
}

.hero-redesign .hero-topline{
  grid-template-columns:minmax(0,.72fr) minmax(420px,.9fr);
  gap:42px;
  align-items:end;
  margin-bottom:4px;
}

.hero-redesign .eyebrow{
  margin-bottom:18px;
}

.hero-redesign h1{
  font-size:clamp(50px,5.2vw,88px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
  max-width:720px;
}

.hero-redesign .hero-topline p{
  font-size:clamp(20px,1.55vw,30px) !important;
  line-height:1.42 !important;
  max-width:690px;
  margin-bottom:10px;
}

.hero-banner-wrap{
  min-height:520px;
}

.hero-redesign .hero-card{
  height:520px;
}

.hero-redesign .hero-open{
  display:none !important;
}

/* Smaller, calmer arrows */
.hero-nav{
  width:58px !important;
  height:58px !important;
  background:rgba(255,255,255,.88) !important;
  color:#123b63 !important;
  box-shadow:0 14px 34px rgba(0,0,0,.20) !important;
}

.hero-nav svg{
  width:34px !important;
  height:34px !important;
  stroke-width:6 !important;
}

.hero-prev{
  left:-18px !important;
}

.hero-next{
  right:-18px !important;
}

.hero-nav:hover,
.hero-nav:focus-visible{
  transform:translateY(-50%) scale(1.04) !important;
  background:#123b63 !important;
  color:#fff !important;
}

@media(max-width:1280px){
  .hero-redesign .hero-topline{
    grid-template-columns:1fr;
    gap:16px;
  }

  .hero-redesign h1{
    max-width:900px;
  }

  .hero-redesign .hero-topline p{
    max-width:860px;
  }

  .hero-banner-wrap{
    min-height:470px;
  }

  .hero-redesign .hero-card{
    height:470px;
  }

  .hero-prev{
    left:10px !important;
  }

  .hero-next{
    right:10px !important;
  }
}

@media(max-width:820px){
  .hero-redesign{
    padding:38px 0 42px;
  }

  .hero-redesign h1{
    font-size:clamp(38px,11vw,58px) !important;
    line-height:1 !important;
  }

  .hero-redesign .hero-topline p{
    font-size:18px !important;
    line-height:1.48 !important;
  }

  .hero-banner-wrap{
    min-height:330px;
  }

  .hero-redesign .hero-card{
    height:330px;
  }

  .hero-nav{
    width:44px !important;
    height:44px !important;
  }

  .hero-nav svg{
    width:26px !important;
    height:26px !important;
  }

  .hero-prev{
    left:8px !important;
  }

  .hero-next{
    right:8px !important;
  }
}

@media(max-width:520px){
  .hero-redesign h1{
    font-size:42px !important;
  }

  .hero-redesign .hero-topline p{
    font-size:16px !important;
  }

  .hero-banner-wrap{
    min-height:280px;
  }

  .hero-redesign .hero-card{
    height:280px;
  }

  .hero-nav{
    width:40px !important;
    height:40px !important;
  }

  .hero-nav svg{
    width:24px !important;
    height:24px !important;
  }
}


/* v38: hero title scale, remove eyebrow badge, correct banner frame */
.hero-redesign .eyebrow{
  display:none !important;
}

.hero-redesign .hero-topline{
  grid-template-columns:minmax(320px,.62fr) minmax(420px,1fr) !important;
  gap:54px !important;
  align-items:center !important;
  margin-bottom:8px !important;
}

.hero-redesign h1{
  font-size:clamp(34px,3.25vw,56px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  max-width:520px !important;
  margin:0 !important;
}

.hero-redesign .hero-topline p{
  font-size:clamp(24px,2vw,36px) !important;
  line-height:1.42 !important;
  max-width:780px !important;
  margin:0 !important;
}

/* Make the hero banner container feel like a complete framed window */
.hero-banner-wrap{
  min-height:540px !important;
}

.hero-redesign .hero-card{
  height:540px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    inset 0 -22px 38px rgba(7,28,48,.42),
    0 34px 92px rgba(0,0,0,.34) !important;
}

.hero-redesign .hero-card::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:18px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  pointer-events:none;
}

.hero-redesign .hero-stage{
  inset:18px 18px 24px !important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 18px 44px rgba(0,0,0,.20);
}

.hero-redesign .hero-stage img{
  object-fit:contain !important;
  max-width:100%;
  max-height:100%;
}

@media(max-width:1280px){
  .hero-redesign .hero-topline{
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:start !important;
  }

  .hero-redesign h1{
    max-width:820px !important;
  }

  .hero-redesign .hero-topline p{
    max-width:920px !important;
  }

  .hero-banner-wrap{
    min-height:500px !important;
  }

  .hero-redesign .hero-card{
    height:500px !important;
  }
}

@media(max-width:820px){
  .hero-redesign .hero-topline{
    gap:12px !important;
  }

  .hero-redesign h1{
    font-size:clamp(34px,9.5vw,48px) !important;
  }

  .hero-redesign .hero-topline p{
    font-size:18px !important;
    line-height:1.5 !important;
  }

  .hero-banner-wrap{
    min-height:340px !important;
  }

  .hero-redesign .hero-card{
    height:340px !important;
  }

  .hero-redesign .hero-stage{
    inset:10px 10px 16px !important;
  }

  .hero-redesign .hero-card::after{
    left:18px;
    right:18px;
    bottom:10px;
  }
}

@media(max-width:520px){
  .hero-redesign h1{
    font-size:36px !important;
  }

  .hero-redesign .hero-topline p{
    font-size:16px !important;
  }

  .hero-banner-wrap{
    min-height:290px !important;
  }

  .hero-redesign .hero-card{
    height:290px !important;
  }
}


/* v39: smaller hero description and explicit bottom frame */
.hero-redesign .hero-topline p{
  font-size:clamp(16px,1.4vw,24px) !important;
  line-height:1.5 !important;
  max-width:720px !important;
}

.hero-redesign .hero-card{
  position:relative !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(180deg, rgba(19,53,88,.72), rgba(12,39,67,.72)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 34px 92px rgba(0,0,0,.34) !important;
}

.hero-redesign .hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:38px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}

.hero-redesign .hero-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:44px;
  border-radius:0 0 38px 38px;
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(16,46,76,.28), rgba(9,30,54,.48));
  pointer-events:none;
}

.hero-redesign .hero-stage{
  inset:18px 18px 22px !important;
}

@media(max-width:1280px){
  .hero-redesign .hero-topline p{
    font-size:clamp(16px,1.8vw,22px) !important;
  }
}

@media(max-width:820px){
  .hero-redesign .hero-topline p{
    font-size:15px !important;
    line-height:1.45 !important;
    max-width:none !important;
  }

  .hero-redesign .hero-card::before{
    border-radius:30px;
  }

  .hero-redesign .hero-card::after{
    height:30px;
    border-radius:0 0 30px 30px;
  }
}


/* v40: TOX5 Lite added; product grids and menu prepared for more models */
.cards{
  align-items:stretch;
}

@media(min-width:1180px){
  .cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

.drop{
  max-height:min(72vh,560px);
  overflow-y:auto;
  overscroll-behavior:contain;
}

.drop::-webkit-scrollbar{
  width:8px;
}

.drop::-webkit-scrollbar-thumb{
  background:#cbd8e4;
  border-radius:999px;
}

@media(max-width:820px){
  .cards{
    grid-template-columns:1fr;
  }
}


/* v41: TOX5 Lite real spec update and optimized original advantages banners */
.advantage-image img,
.advantages img{
  max-width:100%;
  height:auto;
}

.product-advantages img{
  max-width:100%;
  height:auto;
}


/* v42: product cards always show the whole product image */
.card{
  display:flex;
  flex-direction:column;
}

.card-img{
  width:100% !important;
  height:clamp(260px,22vw,340px) !important;
  min-height:260px !important;
  max-height:none !important;
  padding:18px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f3f7fb !important;
}

.card-img img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  padding:0 !important;
}

.card h3{
  margin-top:18px !important;
}

@media(max-width:1180px){
  .card-img{
    height:clamp(250px,30vw,330px) !important;
  }
}

@media(max-width:820px){
  .card-img{
    height:340px !important;
    min-height:340px !important;
    padding:18px !important;
  }
}

@media(max-width:520px){
  .card-img{
    height:320px !important;
    min-height:320px !important;
    padding:16px !important;
  }
}

@media(max-width:390px){
  .card-img{
    height:290px !important;
    min-height:290px !important;
  }
}


/* v43: wider product dropdown so long TOX5 title always fits */
.drop{
  width:max-content !important;
  min-width:420px !important;
  max-width:min(92vw, 460px) !important;
}
.drop a{
  white-space:nowrap !important;
  font-size:14px !important;
  line-height:1.3 !important;
}

/* v43: TOX product cards should keep full images visible at different zoom levels */
.cards{
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)) !important;
}
.card-img{
  height:clamp(220px, 19vw, 290px) !important;
  min-height:220px !important;
  max-height:none !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  box-sizing:border-box !important;
}
.card-img img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  padding:0 !important;
}

@media (max-width: 1180px){
  .cards{
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
  }
  .card-img{
    height:260px !important;
    min-height:260px !important;
  }
}

@media (max-width: 820px){
  .drop{
    min-width:unset !important;
    width:auto !important;
    max-width:none !important;
  }
  .drop a{
    white-space:normal !important;
  }
  .card-img{
    height:320px !important;
    min-height:320px !important;
  }
}

@media (max-width: 520px){
  .card-img{
    height:280px !important;
    min-height:280px !important;
  }
}


/* v44: product dropdown fit + footer hover/active states */
.menu > li{
  position:relative;
}

.menu > li > .drop{
  min-width:520px !important;
  width:max-content !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

.menu > li > .drop a{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:14px !important;
  line-height:1.35 !important;
  padding:12px 16px !important;
}

@media(max-width:1180px){
  .menu > li > .drop{
    min-width:460px !important;
  }

  .menu > li > .drop a{
    font-size:13px !important;
  }
}

@media(max-width:820px){
  .menu > li > .drop{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .menu > li > .drop a{
    white-space:normal !important;
  }
}

/* Footer menu should clearly react on hover/focus too */
.foot-menu a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid transparent;
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.foot-menu a:hover,
.foot-menu a:focus-visible,
.foot-menu a.active,
.foot-menu a.is-hovering{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
  transform:translateY(-2px);
  text-decoration:none !important;
}

footer .foot-menu a:hover,
footer .foot-menu a:focus-visible{
  color:#ffffff !important;
}


/* v45: final footer menu hover fix — pure CSS, no JS dependency */
footer .foot-menu{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

footer .foot-menu a,
footer .foot-menu a:link,
footer .foot-menu a:visited,
footer .foot-menu .foot-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:9px 15px !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  color:#cbd8e6 !important;
  background:transparent !important;
  text-decoration:none !important;
  font-weight:700 !important;
  transition:
    color .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

footer .foot-menu a:hover,
footer .foot-menu a:focus,
footer .foot-menu a:focus-visible,
footer .foot-menu a.active,
footer .foot-menu a.is-hovering,
footer .foot-menu .foot-link:hover,
footer .foot-menu .foot-link:focus-visible,
footer .foot-menu .foot-link.active{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:rgba(255,255,255,.20) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.34) !important;
  transform:translateY(-2px) !important;
  text-decoration:none !important;
}

footer .foot-menu a:active{
  transform:translateY(0) !important;
  box-shadow:0 6px 14px rgba(0,0,0,.24) !important;
}

@media(max-width:820px){
  footer .foot{
    align-items:flex-start !important;
  }

  footer .foot-menu{
    gap:6px !important;
  }

  footer .foot-menu a{
    min-height:36px !important;
    padding:8px 12px !important;
  }
}


/* v46: footer hover must be visible on dark footer */
body footer .foot-menu a,
body footer .foot-menu a:link,
body footer .foot-menu a:visited,
body footer .foot-menu .foot-link{
  color:#eaf3ff !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  font-weight:800 !important;
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

body footer .foot-menu a:hover,
body footer .foot-menu a:focus,
body footer .foot-menu a:focus-visible,
body footer .foot-menu a.active,
body footer .foot-menu a.is-hovering,
body footer .foot-menu .foot-link:hover,
body footer .foot-menu .foot-link:focus,
body footer .foot-menu .foot-link:focus-visible,
body footer .foot-menu .foot-link.active{
  color:#071426 !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
  box-shadow:0 12px 26px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.35) !important;
  transform:translateY(-2px) !important;
  text-decoration:none !important;
}

body footer .foot-menu a:active{
  transform:translateY(0) !important;
  box-shadow:0 5px 12px rgba(0,0,0,.30) !important;
}

/* v47: hero slider uses a single frame and full-bleed banner image */
.hero-banner-wrap{
  min-height: 520px !important;
}

.hero-redesign .hero-card{
  position: relative !important;
  height: 520px !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: rgba(8, 26, 46, .82) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 30px 72px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.05) !important;
}

.hero-redesign .hero-card::before,
.hero-redesign .hero-card::after{
  display: none !important;
  content: none !important;
}

.hero-redesign .hero-stage{
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: block !important;
}

.hero-redesign .hero-stage img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: saturate(1) contrast(1.02) !important;
}

@media (max-width: 1280px){
  .hero-banner-wrap{
    min-height: 460px !important;
  }
  .hero-redesign .hero-card{
    height: 460px !important;
  }
}

@media (max-width: 820px){
  .hero-banner-wrap{
    min-height: 280px !important;
  }
  .hero-redesign .hero-card{
    height: 280px !important;
    min-height: 280px !important;
    border-radius: 24px !important;
  }
}


/* v48: stable Products dropdown hover bridge */
.menu > li{
  position:relative !important;
}

.menu > li:has(.drop)::after{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  top:100%;
  height:34px;
  background:transparent;
  pointer-events:auto;
  z-index:998;
}

.menu > li > .drop{
  z-index:999 !important;
}

.menu > li:hover > .drop,
.menu > li.dropdown-open > .drop,
.menu > li:focus-within > .drop{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

.menu > li > .drop{
  pointer-events:none;
}

/* Keep Products button highlighted while dropdown is open */
.menu > li:hover > a,
.menu > li.dropdown-open > a,
.menu > li:focus-within > a{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 12px 28px rgba(8,34,68,.24) !important;
}


/* v49: shorter dropdown bridge and no simultaneous dropdowns */
.menu > li:has(.drop)::after{
  height:18px !important;
  left:0 !important;
  right:0 !important;
}

.menu > li.dropdown-open > .drop{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}

.menu > li:not(.dropdown-open):not(:hover):not(:focus-within) > .drop{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* v50: clickable contact/reseller phones and emails get obvious hover states */
.contact-details a[href^="tel:"],
.contact-details a[href^="mailto:"],
.reseller a[href^="tel:"],
.reseller a[href^="mailto:"],
.contact-action-link,
.panel a[href^="tel:"],
.panel a[href^="mailto:"]{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:4px 10px;
  margin-left:-10px;
  border-radius:12px;
  color:#123b63 !important;
  text-decoration:none !important;
  transition:
    color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}

.contact-details a[href^="tel:"]:hover,
.contact-details a[href^="mailto:"]:hover,
.reseller a[href^="tel:"]:hover,
.reseller a[href^="mailto:"]:hover,
.contact-action-link:hover,
.panel a[href^="tel:"]:hover,
.panel a[href^="mailto:"]:hover,
.contact-details a[href^="tel:"]:focus-visible,
.contact-details a[href^="mailto:"]:focus-visible,
.reseller a[href^="tel:"]:focus-visible,
.reseller a[href^="mailto:"]:focus-visible,
.contact-action-link:focus-visible,
.panel a[href^="tel:"]:focus-visible,
.panel a[href^="mailto:"]:focus-visible{
  color:#ffffff !important;
  background:#123b63 !important;
  box-shadow:0 12px 26px rgba(8,34,68,.18) !important;
  transform:translateY(-1px);
}

/* Keep email cards clean while still clickable */
.contact-email-clean a,
.contact-email a[href^="mailto:"]{
  margin-left:0 !important;
  padding:8px 12px !important;
}

/* v50: larger full-bleed hero banner window */
.hero-redesign .hero-carousel.container,
.hero-redesign .container.hero-carousel{
  width:min(100% - 72px, 1640px) !important;
  max-width:1640px !important;
}

.hero-banner-wrap{
  min-height:640px !important;
}

.hero-redesign .hero-card{
  height:640px !important;
  border-radius:34px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#071426 !important;
}

.hero-redesign .hero-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.hero-redesign .hero-stage img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

@media(max-width:1440px){
  .hero-redesign .hero-carousel.container,
  .hero-redesign .container.hero-carousel{
    width:min(100% - 56px, 1480px) !important;
  }

  .hero-banner-wrap{
    min-height:580px !important;
  }

  .hero-redesign .hero-card{
    height:580px !important;
  }
}

@media(max-width:1180px){
  .hero-banner-wrap{
    min-height:500px !important;
  }

  .hero-redesign .hero-card{
    height:500px !important;
  }
}

@media(max-width:820px){
  .hero-redesign .hero-carousel.container,
  .hero-redesign .container.hero-carousel{
    width:min(100% - 28px, 100%) !important;
  }

  .hero-banner-wrap{
    min-height:330px !important;
  }

  .hero-redesign .hero-card{
    height:330px !important;
    border-radius:24px !important;
  }
}

@media(max-width:520px){
  .hero-banner-wrap{
    min-height:280px !important;
  }

  .hero-redesign .hero-card{
    height:280px !important;
  }
}


/* v51: hero should fully use available width with no side empty zones and no crop */
.hero-banner-wrap{
  min-height:auto !important;
}

.hero-redesign .hero-card{
  --hero-ratio: 1500 / 760;
  width:100% !important;
  height:auto !important;
  aspect-ratio:var(--hero-ratio) !important;
  position:relative !important;
  border-radius:34px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:#071426 !important;
  overflow:hidden !important;
  box-shadow:0 28px 72px rgba(0,0,0,.28) !important;
}

.hero-redesign .hero-card::before,
.hero-redesign .hero-card::after{
  content:none !important;
  display:none !important;
}

.hero-redesign .hero-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hero-redesign .hero-stage img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#071426 !important;
}

@media(max-width:820px){
  .hero-redesign .hero-card{
    border-radius:24px !important;
  }
}


/* v52: restore original-like hero window proportions, keep slider arrows */
.hero-banner-wrap{
  min-height: clamp(430px, 34vw, 560px) !important;
}

.hero-redesign .hero-card{
  width: 100% !important;
  height: clamp(430px, 34vw, 560px) !important;
  min-height: 430px !important;
  aspect-ratio: auto !important;
  position: relative !important;
  border-radius: 38px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(180deg, rgba(19,53,88,.72), rgba(12,39,67,.72)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 34px 92px rgba(0,0,0,.34) !important;
}

.hero-redesign .hero-card::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 38px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  pointer-events: none !important;
}

.hero-redesign .hero-card::after{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 44px !important;
  border-radius: 0 0 38px 38px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(255,255,255,.14) !important;
  background: linear-gradient(180deg, rgba(16,46,76,.28), rgba(9,30,54,.48)) !important;
  pointer-events: none !important;
}

.hero-redesign .hero-stage{
  position: absolute !important;
  inset: 18px 18px 22px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: transparent !important;
}

.hero-redesign .hero-stage img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.28) !important;
  background: transparent !important;
  filter: none !important;
}

@media (max-width: 1280px){
  .hero-banner-wrap{
    min-height: 460px !important;
  }
  .hero-redesign .hero-card{
    height: 460px !important;
    min-height: 460px !important;
  }
}

@media (max-width: 820px){
  .hero-banner-wrap{
    min-height: 280px !important;
  }
  .hero-redesign .hero-card{
    height: 280px !important;
    min-height: 280px !important;
    border-radius: 24px !important;
  }
  .hero-redesign .hero-card::before{
    border-radius: 24px !important;
  }
  .hero-redesign .hero-card::after{
    height: 30px !important;
    border-radius: 0 0 24px 24px !important;
  }
  .hero-redesign .hero-stage{
    inset: 12px 12px 18px !important;
    border-radius: 18px !important;
    padding: 4px !important;
  }
  .hero-redesign .hero-stage img{
    border-radius: 18px !important;
  }
}


/* v54: fix hero data loading and simplify banner frame */
.hero-redesign{
  padding-top:70px !important;
}

.hero-redesign .hero-card{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3 / 1 !important;
  min-height:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:#071426 !important;
  box-shadow:0 24px 64px rgba(0,0,0,.28) !important;
  padding:0 !important;
}

.hero-redesign .hero-card::before,
.hero-redesign .hero-card::after{
  display:none !important;
  content:none !important;
}

.hero-redesign .hero-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.hero-redesign .hero-stage img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#071426 !important;
}

.hero-banner-wrap{
  min-height:0 !important;
  display:grid !important;
  align-items:center !important;
}

.hero-nav{
  z-index:10 !important;
}

@media(max-width:820px){
  .hero-redesign .hero-card{
    border-radius:16px !important;
    aspect-ratio:3 / 1 !important;
  }
}


/* v55: keep product tabs border clean on hover/active */
.tabs{
  position:relative;
  z-index:2;
}

.tab,
.tabs button,
.tabs .tab{
  position:relative !important;
  border:1px solid #d7e3ef !important;
  border-bottom-color:#d7e3ef !important;
  background:#f7fbff !important;
  color:#142235 !important;
  box-shadow:none !important;
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

.tab:hover,
.tabs button:hover,
.tabs .tab:hover,
.tab:focus-visible,
.tabs button:focus-visible,
.tabs .tab:focus-visible{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 10px 26px rgba(8,34,68,.18) !important;
  transform:translateY(-1px);
}

.tab.active,
.tabs button.active,
.tabs .tab.active,
.tab[aria-selected="true"],
.tabs button[aria-selected="true"],
.tabs .tab[aria-selected="true"]{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  border-bottom-color:#123b63 !important;
  box-shadow:0 10px 26px rgba(8,34,68,.20) !important;
  z-index:3 !important;
}

.tab.active:hover,
.tabs button.active:hover,
.tabs .tab.active:hover,
.tab[aria-selected="true"]:hover,
.tabs button[aria-selected="true"]:hover,
.tabs .tab[aria-selected="true"]:hover{
  color:#ffffff !important;
  background:#0f3559 !important;
  border-color:#0f3559 !important;
  border-bottom-color:#0f3559 !important;
}


/* v56: Contact details — put address and phone into the same clean framed cards as emails */
.contact-card .contact-item p,
.contact-card .contact-item a[href^="tel:"],
.contact-card .contact-item a[href^="mailto:"],
.contact-details .contact-item p,
.contact-details .contact-item a[href^="tel:"],
.contact-details .contact-item a[href^="mailto:"],
.contact-card .contact-row p,
.contact-card .contact-row a[href^="tel:"],
.contact-card .contact-row a[href^="mailto:"],
.contact-details .contact-row p,
.contact-details .contact-row a[href^="tel:"],
.contact-details .contact-row a[href^="mailto:"]{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:62px !important;
  box-sizing:border-box !important;
  margin:10px 0 0 0 !important;
  padding:16px 22px !important;
  border:1px solid #dbe7f2 !important;
  border-radius:18px !important;
  background:#f7fbff !important;
  color:#123b63 !important;
  line-height:1.45 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.contact-card .contact-item a[href^="tel:"],
.contact-card .contact-item a[href^="mailto:"],
.contact-details .contact-item a[href^="tel:"],
.contact-details .contact-item a[href^="mailto:"],
.contact-card .contact-row a[href^="tel:"],
.contact-card .contact-row a[href^="mailto:"],
.contact-details .contact-row a[href^="tel:"],
.contact-details .contact-row a[href^="mailto:"]{
  cursor:pointer !important;
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

.contact-card .contact-item a[href^="tel:"]:hover,
.contact-card .contact-item a[href^="mailto:"]:hover,
.contact-details .contact-item a[href^="tel:"]:hover,
.contact-details .contact-item a[href^="mailto:"]:hover,
.contact-card .contact-row a[href^="tel:"]:hover,
.contact-card .contact-row a[href^="mailto:"]:hover,
.contact-details .contact-row a[href^="tel:"]:hover,
.contact-details .contact-row a[href^="mailto:"]:hover,
.contact-card .contact-item a[href^="tel:"]:focus-visible,
.contact-card .contact-item a[href^="mailto:"]:focus-visible,
.contact-details .contact-item a[href^="tel:"]:focus-visible,
.contact-details .contact-item a[href^="mailto:"]:focus-visible{
  color:#ffffff !important;
  background:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 12px 28px rgba(8,34,68,.18) !important;
  transform:translateY(-1px);
}

/* Keep big e-mail cards left-aligned and consistent */
.contact-email,
.contact-email-clean{
  justify-content:flex-start !important;
  text-align:left !important;
}

.contact-email a,
.contact-email-clean a{
  justify-content:flex-start !important;
  text-align:left !important;
}

/* v56: dropdown must not disappear while moving from top menu button to submenu */
.menu > li{
  position:relative !important;
}

.menu > li:has(.drop)::after{
  content:"" !important;
  position:absolute !important;
  left:-18px !important;
  right:-18px !important;
  top:100% !important;
  height:46px !important;
  background:transparent !important;
  pointer-events:auto !important;
  z-index:1001 !important;
}

.menu > li > .drop{
  margin-top:0 !important;
  top:calc(100% - 1px) !important;
  z-index:1002 !important;
}

.menu > li:hover > .drop,
.menu > li.dropdown-open > .drop,
.menu > li:focus-within > .drop{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}


/* v60: TOX5 text correction, product tab border stability, unified contact cards, stronger dropdown overlap */
.product-tabs-block .tabs{
  position:relative !important;
  z-index:2 !important;
  gap:0 !important;
  align-items:flex-end !important;
}

body .product-tabs-block .tabs > button.tab{
  position:relative !important;
  top:1px !important;
  margin:0 4px -1px 0 !important;
  padding:15px 22px !important;
  border:1px solid #d7e2ef !important;
  border-bottom-color:#d7e2ef !important;
  border-radius:18px 18px 0 0 !important;
  background:#f7f9fc !important;
  color:#123b63 !important;
  box-shadow:none !important;
  z-index:1 !important;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease !important;
}

body .product-tabs-block .tabs > button.tab:hover,
body .product-tabs-block .tabs > button.tab:focus-visible,
body .product-tabs-block .tabs > button.tab.is-hovering{
  background:#f7fbff !important;
  color:#123b63 !important;
  border-color:#123b63 !important;
  box-shadow:0 0 0 1px rgba(18,59,99,.08) !important;
}

body .product-tabs-block .tabs > button.tab.active,
body .product-tabs-block .tabs > button.tab.active:hover,
body .product-tabs-block .tabs > button.tab.active:focus-visible,
body .product-tabs-block .tabs > button.tab[aria-selected="true"]{
  top:1px !important;
  margin-bottom:-1px !important;
  background:#ffffff !important;
  color:#123b63 !important;
  border:1px solid #d7e2ef !important;
  border-bottom-color:#ffffff !important;
  box-shadow:inset 0 3px 0 #123b63 !important;
  z-index:3 !important;
}

body .product-tabs-block .tab-content{
  position:relative !important;
  z-index:1 !important;
  border-color:#d7e2ef !important;
}

.contact-details .contact-block,
.contact-details-grid .contact-block{
  align-items:flex-start !important;
}

.contact-content{
  display:grid !important;
  gap:12px !important;
  min-width:0 !important;
}

.contact-frame,
.contact-email,
.contact-email-clean{
  width:100% !important;
  min-height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:18px 28px !important;
  border:1px solid #d7e2ef !important;
  border-radius:20px !important;
  background:#f8fbff !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease, transform .16s ease !important;
}

.contact-frame p{
  margin:0 !important;
  color:#5d6878 !important;
  font-size:18px !important;
  line-height:1.45 !important;
}

.contact-frame:hover,
.contact-frame:focus-within,
.contact-email:hover,
.contact-email:focus-within,
.contact-email-clean:hover,
.contact-email-clean:focus-within{
  border-color:#123b63 !important;
  background:#ffffff !important;
  box-shadow:0 14px 30px rgba(8,34,68,.12) !important;
  transform:translateY(-1px) !important;
}

.contact-frame a,
.contact-email a,
.contact-email-clean a,
.contact-frame a[href^="tel:"],
.contact-frame a[href^="mailto:"],
.contact-email a[href^="tel:"],
.contact-email a[href^="mailto:"],
.contact-email-clean a[href^="tel:"],
.contact-email-clean a[href^="mailto:"]{
  width:100% !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:#123b63 !important;
  text-decoration:none !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}

.contact-frame a:hover,
.contact-frame a:focus-visible,
.contact-email a:hover,
.contact-email a:focus-visible,
.contact-email-clean a:hover,
.contact-email-clean a:focus-visible{
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:#123b63 !important;
}

.contact-frame-static{
  cursor:default !important;
}

.contact-email-list{
  gap:14px !important;
}

.menu > li:has(.drop)::after{
  top:100% !important;
  left:-18px !important;
  right:-18px !important;
  height:18px !important;
  z-index:1003 !important;
}

.menu > li > .drop{
  top:calc(100% + 10px) !important;
  margin-top:0 !important;
  z-index:1004 !important;
}

@media(max-width:820px){
  body .product-tabs-block .tabs > button.tab{
    padding:13px 16px !important;
  }

  .contact-frame,
  .contact-email,
  .contact-email-clean{
    min-height:0 !important;
    padding:16px 18px !important;
  }

  .contact-frame p,
  .contact-frame a,
  .contact-email a,
  .contact-email-clean a{
    font-size:18px !important;
    word-break:break-word !important;
  }
}


/* v61 FINAL: product tabs must keep visible frame on rest/hover/active */
body .product-tabs-block .tabs{
  display:flex !important;
  align-items:flex-end !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  border-bottom:1px solid #d7e2ef !important;
  overflow:visible !important;
}

body .product-tabs-block .tabs > button.tab,
body .product-tabs-block .tabs > .tab{
  position:relative !important;
  top:0 !important;
  margin:0 0 -1px 0 !important;
  min-height:64px !important;
  padding:0 28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #d7e2ef !important;
  border-bottom:1px solid #d7e2ef !important;
  border-radius:16px 16px 0 0 !important;
  background:#f8fbff !important;
  color:#142235 !important;
  font-weight:900 !important;
  box-shadow:none !important;
  transform:none !important;
  outline:none !important;
  z-index:1 !important;
}

body .product-tabs-block .tabs > button.tab:hover,
body .product-tabs-block .tabs > button.tab:focus-visible,
body .product-tabs-block .tabs > .tab:hover,
body .product-tabs-block .tabs > .tab:focus-visible{
  border-color:#123b63 !important;
  border-bottom-color:#123b63 !important;
  background:#ffffff !important;
  color:#123b63 !important;
  box-shadow:0 0 0 1px #123b63 inset !important;
  transform:none !important;
  z-index:4 !important;
}

body .product-tabs-block .tabs > button.tab.active,
body .product-tabs-block .tabs > button.tab.active:hover,
body .product-tabs-block .tabs > button.tab.active:focus-visible,
body .product-tabs-block .tabs > button.tab[aria-selected="true"],
body .product-tabs-block .tabs > .tab.active,
body .product-tabs-block .tabs > .tab.active:hover,
body .product-tabs-block .tabs > .tab[aria-selected="true"]{
  border:2px solid #123b63 !important;
  border-bottom:2px solid #123b63 !important;
  background:#ffffff !important;
  color:#123b63 !important;
  box-shadow:none !important;
  transform:none !important;
  z-index:5 !important;
}

body .product-tabs-block .tab-content{
  border-top:1px solid #d7e2ef !important;
}

/* v61 FINAL: contact blocks - support BOTH old h3+p HTML and new .contact-frame HTML */
body .contact-details .contact-block{
  display:grid !important;
  grid-template-columns:56px 1fr !important;
  gap:18px !important;
  align-items:start !important;
}

body .contact-details .contact-block > div:not(.contact-icon),
body .contact-details-grid .contact-block > div:not(.contact-icon),
body .contact-content{
  display:grid !important;
  gap:12px !important;
  min-width:0 !important;
  width:100% !important;
}

body .contact-details .contact-block > div:not(.contact-icon) > p,
body .contact-details-grid .contact-block > div:not(.contact-icon) > p,
body .contact-details .contact-frame,
body .contact-details-grid .contact-frame,
body .contact-details .contact-email,
body .contact-details-grid .contact-email,
body .contact-email-clean{
  width:100% !important;
  min-height:82px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin:0 !important;
  padding:18px 28px !important;
  border:1px solid #d7e2ef !important;
  border-radius:20px !important;
  background:#f8fbff !important;
  color:#123b63 !important;
  box-shadow:none !important;
  text-align:left !important;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

body .contact-details .contact-block > div:not(.contact-icon) > p:hover,
body .contact-details-grid .contact-block > div:not(.contact-icon) > p:hover,
body .contact-details .contact-block > div:not(.contact-icon) > p:focus-within,
body .contact-details-grid .contact-block > div:not(.contact-icon) > p:focus-within,
body .contact-details .contact-frame:hover,
body .contact-details-grid .contact-frame:hover,
body .contact-details .contact-frame:focus-within,
body .contact-details-grid .contact-frame:focus-within,
body .contact-details .contact-email:hover,
body .contact-details-grid .contact-email:hover,
body .contact-details .contact-email:focus-within,
body .contact-details-grid .contact-email:focus-within,
body .contact-email-clean:hover,
body .contact-email-clean:focus-within{
  border-color:#123b63 !important;
  background:#ffffff !important;
  box-shadow:0 14px 30px rgba(8,34,68,.12) !important;
  transform:translateY(-1px) !important;
}

body .contact-details .contact-block > div:not(.contact-icon) > p,
body .contact-details-grid .contact-block > div:not(.contact-icon) > p,
body .contact-details .contact-frame p,
body .contact-details-grid .contact-frame p{
  font-size:18px !important;
  line-height:1.45 !important;
  color:#5d6878 !important;
}

body .contact-details a[href^="tel:"],
body .contact-details a[href^="mailto:"],
body .contact-details-grid a[href^="tel:"],
body .contact-details-grid a[href^="mailto:"],
body .contact-action-link,
body .contact-email-clean a,
body .contact-email a{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:#123b63 !important;
  text-decoration:none !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  text-align:left !important;
}

body .contact-details a[href^="tel:"]:hover,
body .contact-details a[href^="mailto:"]:hover,
body .contact-details-grid a[href^="tel:"]:hover,
body .contact-details-grid a[href^="mailto:"]:hover,
body .contact-action-link:hover,
body .contact-email-clean a:hover,
body .contact-email a:hover{
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  color:#123b63 !important;
}

@media(max-width:820px){
  body .contact-details .contact-block{
    grid-template-columns:44px 1fr !important;
    gap:14px !important;
  }

  body .product-tabs-block .tabs > button.tab,
  body .product-tabs-block .tabs > .tab{
    min-height:54px !important;
    padding:0 18px !important;
  }

  body .contact-details .contact-block > div:not(.contact-icon) > p,
  body .contact-details .contact-frame,
  body .contact-details .contact-email,
  body .contact-email-clean{
    min-height:0 !important;
    padding:16px 18px !important;
  }
}


/* v72: proper mobile hero slider layout for vertical mobile banners */
@media (max-width: 768px){
  .hero-redesign{
    padding-top: 0 !important;
    padding-bottom: 36px !important;
  }

  .hero-redesign .hero-topline{
    display: block !important;
    margin-bottom: 22px !important;
  }

  .hero-redesign h1{
    font-size: clamp(42px, 10vw, 58px) !important;
    line-height: 1.05 !important;
    margin: 0 0 20px !important;
  }

  .hero-redesign .hero-topline p{
    font-size: 21px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .hero-banner-wrap{
    min-height: auto !important;
    margin: 24px 0 22px !important;
  }

  .hero-redesign .hero-card{
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: #03101f !important;
  }

  .hero-redesign .hero-stage{
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
  }

  .hero-redesign .hero-stage img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 24px !important;
    box-shadow: none !important;
  }

  .hero-redesign .hero-card::before,
  .hero-redesign .hero-card::after{
    display: none !important;
  }

  .hero-nav{
    width: 44px !important;
    height: 44px !important;
    z-index: 5 !important;
  }

  .hero-nav svg{
    width: 24px !important;
    height: 24px !important;
  }

  .hero-prev{
    left: 10px !important;
  }

  .hero-next{
    right: 10px !important;
  }

  .hero-bottom{
    margin-top: 18px !important;
  }

  .hero-redesign .btns{
    gap: 14px !important;
  }

  .hero-redesign .btn{
    width: 100% !important;
    justify-content: center !important;
    min-height: 58px !important;
  }
}

@media (max-width: 520px){
  .hero-redesign .hero-card{
    border-radius: 22px !important;
  }

  .hero-redesign .hero-stage,
  .hero-redesign .hero-stage img{
    border-radius: 22px !important;
  }

  .hero-nav{
    width: 40px !important;
    height: 40px !important;
  }
}


/* v73: move mobile hero arrows outside the banner so they do not cover content */
@media (max-width: 768px){
  .hero-banner-wrap{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px 18px !important;
    align-items: center !important;
    margin: 24px 0 22px !important;
  }

  .hero-redesign .hero-card{
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .hero-nav{
    position: static !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 48px !important;
    height: 48px !important;
    margin: 2px auto 0 !important;
    z-index: 2 !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.24) !important;
  }

  .hero-prev{
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    margin-right: 8px !important;
  }

  .hero-next{
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    margin-left: 8px !important;
  }

  .hero-bottom{
    margin-top: 14px !important;
  }
}

@media (max-width: 520px){
  .hero-nav{
    width: 46px !important;
    height: 46px !important;
  }
}


/* v74: keep mobile slider arrows in a stable row even after tap/focus */
@media (max-width: 768px){
  .hero-banner-wrap{
    display: grid !important;
    grid-template-columns: 1fr auto auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 22px !important;
    row-gap: 16px !important;
    align-items: center !important;
    justify-items: center !important;
    min-height: 0 !important;
  }

  .hero-redesign .hero-card{
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  .hero-prev,
  .hero-next,
  .hero-nav,
  .hero-nav:hover,
  .hero-nav:focus,
  .hero-nav:focus-visible,
  .hero-nav:active{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    translate: none !important;
    margin: 0 !important;
  }

  .hero-prev{
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .hero-next{
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  .hero-nav,
  .hero-nav:hover,
  .hero-nav:focus,
  .hero-nav:focus-visible,
  .hero-nav:active{
    width: 54px !important;
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    align-self: center !important;
    border-radius: 999px !important;
    z-index: 2 !important;
  }

  .hero-nav:focus,
  .hero-nav:focus-visible{
    outline: 2px solid rgba(255,255,255,.55) !important;
    outline-offset: 3px !important;
  }

  .hero-bottom{
    margin-top: 18px !important;
  }
}

@media (max-width: 520px){
  .hero-banner-wrap{
    column-gap: 20px !important;
    row-gap: 14px !important;
  }

  .hero-nav,
  .hero-nav:hover,
  .hero-nav:focus,
  .hero-nav:focus-visible,
  .hero-nav:active{
    width: 52px !important;
    height: 52px !important;
  }
}


/* v76: real mobile fixes for menu and contact cards */

/* Mobile menu: keep it compact, inside viewport, and hide nested dropdowns that created huge blank spaces */
@media (max-width: 820px){
  .top{
    z-index:9999 !important;
  }

  .top .nav{
    position:relative !important;
    height:72px !important;
  }

  .top .menu,
  .nav .menu,
  #menu{
    position:fixed !important;
    top:84px !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 104px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    padding:18px !important;
    margin:0 !important;
    border-radius:24px !important;
    background:#ffffff !important;
    border:1px solid #dbe7f2 !important;
    box-shadow:0 28px 70px rgba(8,34,68,.22) !important;
    gap:8px !important;
  }

  .top .menu.open,
  .nav .menu.open,
  #menu.open{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .top .menu > li,
  .nav .menu > li,
  #menu > li{
    width:100% !important;
    position:static !important;
    margin:0 !important;
    padding:0 !important;
  }

  .top .menu > li > a,
  .nav .menu > li > a,
  #menu > li > a{
    width:100% !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
    padding:13px 18px !important;
    margin:0 !important;
    border-radius:16px !important;
    text-align:left !important;
    line-height:1.2 !important;
  }

  /* Dropdowns were causing the huge white empty zones in mobile menu */
  .top .menu .drop,
  .nav .menu .drop,
  #menu .drop{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    visibility:hidden !important;
  }
}

@media (max-width: 520px){
  .top .menu,
  .nav .menu,
  #menu{
    top:82px !important;
    left:12px !important;
    right:12px !important;
    max-height:calc(100dvh - 98px) !important;
    padding:16px !important;
    border-radius:22px !important;
  }
}


/* Mobile contact details: real classes from contact.html */
@media (max-width: 820px){
  .contact-details{
    width:100% !important;
    max-width:100% !important;
    gap:24px !important;
  }

  .contact-details .contact-block{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .contact-details .contact-content{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .contact-details .contact-frame,
  .contact-details .contact-email,
  .contact-details .contact-email-clean{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:14px 16px !important;
    min-height:64px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    justify-content:flex-start !important;
    align-items:center !important;
  }

  .contact-details .contact-frame a,
  .contact-details .contact-email a,
  .contact-details .contact-email-clean a,
  .contact-details .contact-action-link,
  .contact-details a[href^="mailto:"],
  .contact-details a[href^="tel:"]{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding:0 !important;
    margin:0 !important;
    text-align:left !important;
    font-size:clamp(15px,4.2vw,18px) !important;
    line-height:1.35 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    letter-spacing:0 !important;
  }

  .contact-details .contact-frame p{
    font-size:16px !important;
    line-height:1.45 !important;
    text-align:left !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .contact-details .contact-block h3{
    font-size:clamp(21px,5.6vw,26px) !important;
    line-height:1.18 !important;
    text-align:left !important;
    margin:0 0 10px !important;
  }
}

@media (max-width: 380px){
  .contact-details .contact-frame,
  .contact-details .contact-email,
  .contact-details .contact-email-clean{
    padding:12px 14px !important;
  }

  .contact-details .contact-frame a,
  .contact-details .contact-email a,
  .contact-details .contact-email-clean a,
  .contact-details .contact-action-link,
  .contact-details a[href^="mailto:"],
  .contact-details a[href^="tel:"]{
    font-size:15px !important;
  }
}



/* v77 FINAL real mobile fixes: compact mobile menu + contact fit */
@media (max-width: 820px){
  body .menu{
    position:fixed !important;
    left:16px !important;
    right:16px !important;
    top:88px !important;
    max-height:calc(100vh - 108px) !important;
    overflow:auto !important;
    display:none !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:14px !important;
    background:#ffffff !important;
    border:1px solid #d7e2ef !important;
    border-radius:24px !important;
    box-shadow:0 20px 42px rgba(8,34,68,.16) !important;
    z-index:2000 !important;
  }

  body .menu.open{
    display:flex !important;
  }

  body .menu > li{
    width:100% !important;
  }

  body .menu > li > a{
    display:block !important;
    width:100% !important;
    padding:14px 18px !important;
    border-radius:16px !important;
    background:#f8fbff !important;
    color:#123b63 !important;
    font-size:17px !important;
    line-height:1.2 !important;
    box-sizing:border-box !important;
  }

  body .menu > li > .drop,
  body .menu > li:has(.drop)::after{
    display:none !important;
    content:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  body .menu > li:hover > a,
  body .menu > li > a:hover,
  body .menu > li > a:focus-visible,
  body .menu > li > a.active,
  body .menu > li.active-parent > a{
    background:#123b63 !important;
    color:#ffffff !important;
    box-shadow:none !important;
  }

  body .contact-details,
  body .contact-details .contact-content,
  body .contact-email-list{
    min-width:0 !important;
    width:100% !important;
  }

  body .contact-details .contact-block{
    grid-template-columns:44px 1fr !important;
    gap:14px !important;
    align-items:start !important;
  }

  body .contact-details .contact-block h3{
    margin:0 0 8px !important;
    font-size:19px !important;
    line-height:1.25 !important;
  }

  body .contact-details .contact-frame,
  body .contact-details .contact-email,
  body .contact-details .contact-email-clean{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:14px 16px !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
  }

  body .contact-details .contact-frame p,
  body .contact-details a[href^="tel:"],
  body .contact-details a[href^="mailto:"],
  body .contact-details .contact-action-link,
  body .contact-details .contact-email a,
  body .contact-email-clean a{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    font-size:16px !important;
    line-height:1.35 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
}


/* v84 security/bugfix/a11y polish */
html{scroll-padding-top:82px}
@media(max-width:1100px){html{scroll-padding-top:104px}}
@media(max-width:768px){html{scroll-padding-top:92px}}
@media(max-width:520px){html{scroll-padding-top:84px}}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #4a93ff!important;
  outline-offset:3px!important;
}

.hero-stage img,
.hero-card img{
  transition:opacity 180ms cubic-bezier(.22,.61,.36,1);
}

.hero-stage img.is-swapping,
.hero-card img.is-swapping{
  opacity:.18;
}

.faq-a{
  display:block!important;
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding-top:0!important;
  padding-bottom:0!important;
  transition:max-height 320ms cubic-bezier(.22,.61,.36,1), opacity 320ms cubic-bezier(.22,.61,.36,1), padding 320ms cubic-bezier(.22,.61,.36,1);
}

.faq-item.open .faq-a{
  max-height:1200px;
  opacity:1;
  padding:0 20px 20px!important;
}

.menu a,
.btn,
.card,
.thumb,
.buy-card,
.hero-nav,
.dot,
.tab,
.faq-q{
  transition-duration:180ms!important;
  transition-timing-function:cubic-bezier(.22,.61,.36,1)!important;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:0.01ms!important;
  }

  .hero-stage img,
  .hero-card img{
    transition:none!important;
  }

  [data-typeword]::after{
    animation:none!important;
  }

  .card:hover,
  .btn:hover,
  .buy-card:hover{
    transform:none!important;
  }
}


/* v86: menu hover priority and active-state clarity */
.menu > li > a{
  transition:color 180ms cubic-bezier(.22,.61,.36,1), background-color 180ms cubic-bezier(.22,.61,.36,1), box-shadow 180ms cubic-bezier(.22,.61,.36,1);
}

.menu > li.hovering > a,
.menu > li:hover > a,
.menu > li:focus-within > a{
  color:var(--blue)!important;
}

body.menu-hovering .menu > li.active-parent:not(.hovering) > a.active{
  color:inherit!important;
}

.menu > li.hovering > a.active,
.menu > li:hover > a.active,
.menu > li:focus-within > a.active{
  color:var(--blue)!important;
}

@media(max-width:820px){
  body.menu-hovering .menu > li.active-parent:not(.hovering) > a.active{
    color:#123b63!important;
    background:#f8fbff!important;
  }

  .menu > li.hovering > a,
  .menu > li:hover > a,
  .menu > li:focus-within > a,
  .menu > li.hovering > a.active,
  .menu > li:hover > a.active,
  .menu > li:focus-within > a.active{
    background:#123b63!important;
    color:#ffffff!important;
  }
}


/* v87: final menu active/hover rule
   Only the hovered/focused top-level menu item is highlighted while using the menu.
   Page-active highlighting returns when the user is not hovering/focusing menu items. */
.menu > li > a{
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
}

.menu:not(:hover):not(:focus-within) > li.active-parent > a,
.menu:not(:hover):not(:focus-within) > li > a.active{
  color:var(--blue)!important;
  background:transparent!important;
  box-shadow:none!important;
}

.menu:hover > li > a,
.menu:focus-within > li > a,
.menu:hover > li.active-parent > a,
.menu:focus-within > li.active-parent > a,
.menu:hover > li > a.active,
.menu:focus-within > li > a.active{
  color:inherit!important;
  background:transparent!important;
  box-shadow:none!important;
}

.menu > li:hover > a,
.menu > li:focus-within > a,
.menu > li.dropdown-open > a{
  color:#ffffff!important;
  background:var(--blue)!important;
  border-radius:18px!important;
  box-shadow:0 16px 34px rgba(18,59,99,.16)!important;
}

.menu > li:hover > .drop,
.menu > li:focus-within > .drop,
.menu > li.dropdown-open > .drop{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
}

@media(max-width:820px){
  .menu > li > a,
  .menu:hover > li > a,
  .menu:focus-within > li > a,
  .menu:hover > li.active-parent > a,
  .menu:focus-within > li.active-parent > a,
  .menu:hover > li > a.active,
  .menu:focus-within > li > a.active{
    color:#123b63!important;
    background:#f8fbff!important;
    box-shadow:none!important;
  }

  .menu:not(:hover):not(:focus-within) > li.active-parent > a,
  .menu:not(:hover):not(:focus-within) > li > a.active{
    color:#ffffff!important;
    background:#123b63!important;
  }

  .menu > li:hover > a,
  .menu > li:focus-within > a,
  .menu > li.dropdown-open > a{
    color:#ffffff!important;
    background:#123b63!important;
  }
}


/* v88: Contact form */
.contact-form-section{padding-top:0}
.contact-form-panel{margin-top:0}
.contact-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.contact-form .field span{font-weight:900;color:#123b63}
.contact-form input,
.contact-form textarea{
  background:#fff;
  color:var(--ink);
}
.contact-form textarea{
  min-height:170px;
  resize:vertical;
}
.hp-field{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
}
.antispam-field{max-width:260px}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px}
.form-note{margin:0;color:var(--muted);font-size:14px}
@media(max-width:820px){
  .contact-form-head{display:block}
  .antispam-field{max-width:none}
  .form-actions .btn{width:100%;justify-content:center}
}


/* v89: Contact page original-style layout */
.contact-main-section .contact-two-col{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:34px;
  align-items:start;
}

.contact-form-column h2,
.contact-info-column h2{
  margin:0 0 20px;
}

.contact-form-original .form-row.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.contact-form-original .field{
  display:grid;
  gap:8px;
  margin-bottom:18px;
}

.contact-form-original .field span{
  color:#68758a;
  font-weight:500;
}

.contact-form-original input,
.contact-form-original textarea{
  width:100%;
  border:1px solid #cfd6df;
  border-radius:4px;
  background:#fff;
  padding:10px 12px;
  color:#142033;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.04);
}

.contact-form-original textarea{
  min-height:220px;
  resize:vertical;
}

.contact-submit-btn{
  border-radius:6px;
  min-width:154px;
  justify-content:center;
}

.contact-info-column .contact-details{
  gap:26px;
}

.contact-info-column .contact-block{
  grid-template-columns:44px 1fr;
  gap:16px;
}

.contact-info-column .contact-icon{
  width:38px;
  height:38px;
}

.contact-info-column .contact-block h3{
  color:#004bff;
  font-size:22px;
  margin-bottom:10px;
}

.contact-info-column .contact-frame,
.contact-info-column .contact-email,
.contact-info-column .contact-email-clean{
  border:0;
  box-shadow:none;
  background:transparent;
  padding:0;
  min-height:0;
}

.contact-info-column .contact-email-list{
  gap:18px;
}

.contact-info-column .contact-action-link{
  font-size:19px;
  color:#142033;
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .contact-main-section .contact-two-col{
    grid-template-columns:1fr;
    gap:30px;
  }

  .contact-form-original .form-row.two{
    grid-template-columns:1fr;
    gap:0;
  }

  .contact-form-original textarea{
    min-height:190px;
  }
}


/* v90: Contact AJAX status and cleaner original-like form layout */
.contact-form-column h2{
  font-size:28px;
  line-height:1.2;
}

.contact-form-original{
  display:block;
  max-width:100%;
}

.contact-form-original .field{
  margin-bottom:16px;
}

.contact-form-original .form-row.two{
  display:block!important;
}

.contact-form-original input,
.contact-form-original textarea{
  border-radius:3px;
}

.contact-form-original textarea{
  min-height:230px;
}

.contact-form-status{
  display:none;
  margin-top:16px;
  padding:13px 15px;
  border-radius:12px;
  font-size:15px;
  line-height:1.45;
}

.contact-form-status.is-loading,
.contact-form-status.is-success,
.contact-form-status.is-error{
  display:block;
}

.contact-form-status.is-loading{
  background:#eef6ff;
  color:#123b63;
  border:1px solid #cfe2ff;
}

.contact-form-status.is-success{
  background:#ecfdf3;
  color:#116034;
  border:1px solid #b7ebc8;
}

.contact-form-status.is-error{
  background:#fff1f1;
  color:#9c1c1c;
  border:1px solid #ffd0d0;
}

.contact-submit-btn:disabled{
  opacity:.7;
  cursor:not-allowed;
}

.contact-info-column .contact-frame-static p{
  max-width:100%;
}



/* v94: contact page typography and visual consistency refresh */
.contact-main-section .panel{
  padding:36px;
}

.contact-main-section .contact-two-col{
  gap:42px;
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);
}

.contact-form-column,
.contact-info-column{
  display:grid;
  align-content:start;
  gap:22px;
}

.contact-form-column h2.contact-section-title,
.contact-info-column h2.contact-section-title{
  margin:0;
  color:#102845;
  font-size:clamp(28px,3vw,38px);
  line-height:1.08;
  letter-spacing:-.03em;
  font-weight:800;
}

.contact-section-intro{
  margin:-10px 0 0;
  color:#67778d;
  font-size:15px;
  line-height:1.6;
  max-width:560px;
}

.contact-form-original{
  display:grid;
  gap:18px;
}

.contact-form-original .field{
  margin:0;
  gap:8px;
}

.contact-form-original .field span{
  color:#5f7088;
  font-weight:700;
  font-size:15px;
  line-height:1.35;
}

.contact-form-original input,
.contact-form-original textarea{
  border:1px solid #cfd9e6;
  border-radius:10px;
  background:#fff;
  padding:14px 16px;
  color:#142033;
  font-size:16px;
  line-height:1.45;
  box-shadow:inset 0 1px 2px rgba(6,20,38,.03);
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.contact-form-original input:focus,
.contact-form-original textarea:focus{
  outline:none;
  border-color:#123b63;
  box-shadow:0 0 0 3px rgba(18,59,99,.10);
}

.contact-form-original textarea{
  min-height:170px;
  resize:vertical;
}

.contact-submit-btn{
  min-width:170px;
  min-height:48px;
  border-radius:10px;
  letter-spacing:.04em;
}

.contact-info-column .contact-details{
  gap:24px;
}

.contact-info-column .contact-block{
  grid-template-columns:46px 1fr;
  gap:16px;
}

.contact-info-column .contact-icon{
  width:40px;
  height:40px;
  box-shadow:0 10px 24px rgba(10,45,88,.14);
}

.contact-info-column .contact-block h3{
  margin:0 0 10px;
  color:#102845;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
}

.contact-info-column .contact-frame,
.contact-info-column .contact-email,
.contact-info-column .contact-email-clean{
  min-height:74px;
  padding:16px 20px;
  border:1px solid #d9e2ee;
  border-radius:18px;
  background:#f7faff;
}

.contact-info-column .contact-frame p{
  color:#55657b;
  font-size:16px;
  line-height:1.55;
}

.contact-info-column .contact-action-link{
  color:#123b63;
  font-size:17px;
  line-height:1.45;
  font-weight:500;
}

.contact-info-column .contact-email-list{
  gap:12px;
}

@media(max-width:900px){
  .contact-main-section .panel{
    padding:26px 20px;
  }

  .contact-main-section .contact-two-col{
    gap:32px;
    grid-template-columns:1fr;
  }

  .contact-form-column,
  .contact-info-column{
    gap:18px;
  }

  .contact-section-intro{
    margin:-6px 0 0;
  }

  .contact-submit-btn{
    width:100%;
  }
}

/* v95: mobile hero title breathing room under header */
@media (max-width: 768px){
  .hero-redesign{
    padding-top: 14px !important;
  }
}


/* v100: while another top menu item is hovered, do not keep the current Products page pill highlighted */
@media (min-width: 901px){
  body.menu-hovering .menu > li:not(.hovering) > a.active,
  body.menu-hovering .menu > li:not(.hovering).active-parent > a,
  body.menu-hovering .menu > li:not(.hovering):has(.drop a.active) > a{
    background: transparent !important;
    color: #142033 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.menu-hovering .menu > li.hovering > a,
  body.menu-hovering .menu > li.dropdown-open > a,
  body.menu-hovering .menu > li:focus-within > a{
    color: #ffffff !important;
    background: #123b63 !important;
    border-color: #123b63 !important;
    box-shadow: 0 12px 28px rgba(8,34,68,.24) !important;
  }
}


/* SEO content blocks added in v104 */
.seo-content-section{background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%)}
.seo-content{max-width:1120px;margin:0 auto;color:#1a2433}
.seo-content h2{font-size:clamp(28px,3vw,44px);line-height:1.1;margin:0 0 18px;color:#111827}
.seo-content h2+ p,.seo-content p{font-size:17px;line-height:1.75;color:#4b5563;margin:0 0 18px}
.seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 34px}
.seo-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.seo-grid article{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:22px;padding:22px;box-shadow:0 18px 45px rgba(16,24,40,.06)}
.seo-grid h3{margin:0 0 10px;font-size:20px;color:#111827}
.seo-grid article p{font-size:15px;line-height:1.65;margin:0;color:#5b6575}
.seo-table-wrap{overflow-x:auto;background:#fff;border-radius:22px;border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 45px rgba(16,24,40,.06)}
.seo-compare-table{width:100%;border-collapse:collapse;min-width:720px}
.seo-compare-table th,.seo-compare-table td{padding:16px 18px;text-align:left;border-bottom:1px solid rgba(17,24,39,.08);vertical-align:top}
.seo-compare-table th{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#667085;background:#f8fbff}
.seo-compare-table td{font-size:15px;color:#344054}
.seo-compare-table tr:last-child td{border-bottom:0}
@media (max-width: 820px){.seo-grid,.seo-grid.compact{grid-template-columns:1fr}.seo-content p{font-size:16px}.seo-grid article{padding:18px}}
