/* Reference layout repairs. Buttons remain in document flow after their copy. */
@media (min-width:901px) {
  .about-design-section .about-copy { position:absolute; left:8.33%; top:16.4%; width:39.2%; }
  .about-design-section .about-copy p:has(> .module-cta) { margin-top:min(3.125vw,60px); }
  .about-design-section .about-copy .module-cta,
  .brand-design-section .brand-copy-panel .module-cta,
  .news-design-section > header .module-cta {
    position:static; inset:auto; display:inline-flex; align-items:center; justify-content:center;
    width:min(11.98vw,230px); min-height:min(3.23vw,62px); height:auto;
    margin:0; padding:min(.83vw,16px) min(1.04vw,20px); box-sizing:border-box;
    border:0; border-radius:min(.52vw,10px); background:#079bd3; color:#fff;
    font-size:min(1.1458vw,22px); font-weight:650; line-height:1.2; text-decoration:none;
    transition:background-color .2s,color .2s;
  }
  .about-design-section .about-copy .module-cta:hover,
  .about-design-section .about-copy .module-cta:focus-visible,
  .brand-design-section .brand-copy-panel .module-cta:hover,
  .brand-design-section .brand-copy-panel .module-cta:focus-visible,
  .news-design-section > header .module-cta:hover,
  .news-design-section > header .module-cta:focus-visible { background:#e62129; color:#fff; transform:none; filter:none; }
  .brand-design-section {
    height:min(40.625vw,780px); overflow:visible; isolation:isolate; background:none;
  }
  .brand-design-section::before {
    content:""; position:absolute; inset:0 0 auto; height:91.54%; z-index:-1;
    background-image:linear-gradient(rgba(9,27,40,.18),rgba(9,27,40,.28)),url("assets/images/brand-section-background.png");
    /* Match the reference crop while preserving the logo cards and copy grid. */
    background-size:100% 100%,122% auto;
    background-position:center,40% 65%;
    background-repeat:no-repeat;
  }
  .brand-design-section::after { content:none; }
  .brand-design-section .brand-hit { width:16.1979%; height:27.05%; }
  .brand-design-section .brand-hit:is(.b1,.b2,.b3) { top:19.1%; }
  .brand-design-section .brand-hit:is(.b4,.b5,.b6) { top:50.77%; }
  .brand-design-section .brand-copy-panel {
    position:absolute; left:64.74%; top:15.38%; width:29.8%; height:84.62%; padding:min(2.6vw,50px) min(3.39vw,65px) min(2.6vw,50px) min(2.8646vw,55px);
    box-sizing:border-box; color:#fff; background:rgba(25,25,25,.65);
    clip-path:polygon(0 0,100% 0,100% 100%,30% 100%,0 78%);
  }
  .brand-design-section .brand-copy-panel h2 { font-size:min(2.5vw,48px); line-height:1.05; margin:0; }
  .brand-design-section .brand-copy-panel p { font-size:min(1.0417vw,20px); line-height:1.4; margin:min(1.15vw,22px) 0 0; }
  .brand-design-section .brand-copy-panel p:has(> .module-cta) { margin-top:min(3.75vw,72px); }
  .brand-design-section .brand-copy-panel .module-cta { width:min(13.125vw,252px); }
  .news-design-section > header { align-items:center; }
  .news-design-section > header > p { margin:0; flex:none; }
}

/* One shared footer with real text, category links and a vector stripe. */
.reference-footer.desktop-footer {
  position:relative; isolation:isolate; display:block; height:auto; min-height:0; overflow:hidden;
  background:#fff; line-height:1.4;
}
.reference-footer.desktop-footer::before {
  content:""; position:absolute; z-index:-1; left:0; top:min(5.2vw,100px); bottom:min(3.28vw,63px);
  width:40.208%; height:auto;
  background:linear-gradient(90deg,#ffffff30 0%,#ffffff90 45%,white 90%),linear-gradient(#ffffff90,#ffffff90),url("assets/images/footer-background.png") right top/119.43% 100% no-repeat;
}
.reference-footer.desktop-footer::after {
  content:""; position:absolute; z-index:1; left:0; top:min(2.4vw,46px); width:28.90625%; height:min(2.7083vw,52px);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 555 52'%3E%3Cpath fill='%230393d2' d='M0 0H504L436 52H0Z'/%3E%3Cpath fill='%23e62129' d='M514 0H555L491 52H448Z'/%3E%3C/svg%3E") left top/100% 100% no-repeat;
  pointer-events:none;
}
.reference-footer .footer-inner {
  margin-left:21.927%; margin-right:8.28%; padding:min(9.2vw,177px) 0 min(3vw,58px);
  display:grid; grid-template-columns:39% 52%; column-gap:9%; row-gap:min(2.1vw,40px); align-items:start;
}
.reference-footer .footer-contact { position:static; grid-column:1; grid-row:1/3; width:auto; height:auto; min-width:0; }
.reference-footer .footer-contact > img { position:static; width:54%; height:auto; display:block; margin:0 0 min(2vw,38px); }
.reference-footer .footer-contact p {
  position:relative; inset:auto; display:grid; grid-template-columns:min(1.56vw,30px) minmax(0,1fr); gap:min(.52vw,10px);
  margin:min(1.25vw,24px) 0 0 min(2.1vw,40px); padding:0; font-size:min(.9375vw,18px); line-height:1.45;
}
.reference-footer .footer-contact p > img { position:static; width:100%; height:min(1.56vw,30px); object-fit:contain; }
.reference-footer .footer-contact p span,.reference-footer .footer-contact p a { overflow-wrap:anywhere; }
.reference-footer .footer-links-overlay {
  position:static; grid-column:2; grid-row:2; width:auto; min-width:0; display:grid;
  grid-template-columns:1.55fr 1fr; gap:12%; background:transparent;
}
.reference-footer .footer-links-overlay nav { gap:min(1.02vw,19.6px); }
.reference-footer .footer-links-overlay h3 { font-size:min(1.4583vw,28px); line-height:1.2; }
.reference-footer .footer-links-overlay a { font-size:min(.83333vw,16px); line-height:1.4; white-space:nowrap; }
.reference-footer .footer-socials { position:static; grid-column:2; grid-row:1; width:auto; min-height:min(4.2vw,81px); justify-content:flex-end; gap:min(.73vw,14px); background:transparent; }
.reference-footer .footer-socials strong { font-size:min(1.25vw,24px); font-weight:600; margin:0; white-space:nowrap; }
.reference-footer .footer-socials a { display:grid; place-items:center; width:min(1.875vw,36px); height:min(1.875vw,36px); border-radius:50%; flex:none; }
.reference-footer .footer-socials a img { width:70%; height:70%; object-fit:contain; }
.reference-footer .footer-copyright { position:static; height:auto; min-height:min(3.28vw,63px); padding:12px 16px; font-size:min(.85vw,16px); text-align:center; }
.reference-footer + .mobile-footer { display:none; }
@media (max-width:900px) {
  .reference-footer.desktop-footer::after { width:55%; top:24px; height:28px; }
  .reference-footer.desktop-footer::before { width:100%; top:50px; bottom:50px; opacity:.45; }
  .reference-footer .footer-inner { margin:0 24px; padding:85px 0 32px; grid-template-columns:minmax(0,1fr); gap:28px; }
  .reference-footer .footer-contact,.reference-footer .footer-socials,.reference-footer .footer-links-overlay { grid-column:auto; grid-row:auto; }
  .reference-footer .footer-contact > img { width:190px; margin-bottom:24px; }
  .reference-footer .footer-contact p { grid-template-columns:24px minmax(0,1fr); gap:12px; margin:18px 0 0; font-size:14px; }
  .reference-footer .footer-contact p > img { height:24px; }
  .reference-footer .footer-socials { justify-content:flex-start; min-height:36px; gap:12px; }
  .reference-footer .footer-socials strong { font-size:15px; }
  .reference-footer .footer-socials a { width:30px; height:30px; }
  .reference-footer .footer-links-overlay { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
  .reference-footer .footer-links-overlay nav { gap:12px; }
  .reference-footer .footer-links-overlay h3 { font-size:19px; }
  .reference-footer .footer-links-overlay a { font-size:13px; white-space:normal; }
  .reference-footer .footer-copyright { min-height:50px; font-size:12px; }
}
@media (max-width:420px) {
  .reference-footer .footer-inner { margin-inline:18px; }
  .reference-footer .footer-links-overlay { grid-template-columns:minmax(0,1fr); }
}

/* Reviewed homepage spacing and responsive presentation, 2026-09-10. */
/* Homepage spacing: content flow, with equal gaps around the product row. */
@media (min-width: 901px) {
  .recommended-design-section {
    --product-row-gap: min(4.375vw, 84px);
    height: auto;
    padding: min(4.9479vw, 95px) 0 min(5.2083vw, 100px);
  }
  .recommended-design-section > header {
    position: relative;
    inset: auto !important;
    margin: 0 8.33%;
  }
  .recommended-design-section .recommended-carousel {
    position: relative;
    inset: auto;
    height: min(22.4479vw, 431px);
    margin: var(--product-row-gap) 0;
  }
  .recommended-design-section .recommended-card {
    top: 0 !important;
    height: 100%;
  }
  .recommended-design-section .recommended-carousel .carousel-arrow {
    top: 50% !important;
    height: min(3.0729vw, 59px);
    margin-top: max(-1.53645vw, -29.5px);
  }
  .recommended-design-section > p { margin: 0; line-height: 0; text-align: center; }
  .recommended-design-section .recommended-more {
    position: relative;
    inset: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: min(3.28125vw, 63px);
    margin: 0;
    padding: 0 3.2%;
    transform: none;
    line-height: 1.2;
  }
  .recommended-design-section .recommended-more:hover { transform: translateY(-3px); }
}
.custom-design-section .custom-copy > .module-cta {
  position: static;
  inset: auto !important;
  margin-top: min(3.75vw, 72px);
}
/* Custom panel: full-height image and a red diagonal separator. */
@media (min-width: 901px) {
  .custom-design-section { height: min(40.6771vw, 781px); isolation: isolate; }
  .custom-design-section .custom-copy {
    width: 57.2%; height: 100%; padding-top: min(7.1vw, 136px);
    background: #0393d2; clip-path: polygon(0 0,100% 0,80.5% 100%,0 100%);
  }
  .custom-design-section .custom-photo { width: 54%; height: 100%; }
  .custom-design-section::before {
    content: ""; position: absolute; left: 0; top: 0; bottom: 0;
    width: calc(57.2% + min(.625vw, 12px)); background: #c32429;
    clip-path: polygon(0 0,100% 0,80.5% 100%,0 100%);
    z-index: 1; pointer-events: none;
  }
}
/* Reference footer background starts at the lower edge of its ribbon. */
@media (min-width: 901px) {
  .reference-footer.desktop-footer { --footer-ribbon-top: min(6.25vw,120px); --footer-ribbon-height: min(2.7083vw,52px); background:#fff; }
  .reference-footer.desktop-footer::after { left:0!important; top:var(--footer-ribbon-top)!important; width:28.90625%!important; height:var(--footer-ribbon-height); }
  .reference-footer.desktop-footer::before { top:calc(var(--footer-ribbon-top) + var(--footer-ribbon-height)); }
  .reference-footer .footer-inner { padding-top:min(12.9167vw,248px); }
  .reference-footer .footer-copyright { background:#0393d2; }
}
/* Two-line headline ellipsis; the full title remains in the DOM. */
.news-design-section .desktop-news-list > a > span { min-width:0; }
.news-design-section .news-photo-hit > span > b,
.news-design-section .desktop-news-list > a > span > em,
.news-mobile .news-feature h3,
.news-mobile .news-list a {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden; text-overflow:ellipsis; white-space:normal; line-height:1.35;
  max-height:2.7em; overflow-wrap:anywhere;
}
.news-design-section .desktop-news-list > a > span > b {
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.35;
}
@media (max-width:900px) {
  .reference-footer.desktop-footer::after { left:0!important; top:24px!important; width:55%!important; }
  .split-feature { background:#0393d2; }
  .split-feature > img { border-top:6px solid #c32429; }
  .split-feature .split-copy .light-button { margin-top:32px; }
  .recommend-grid { margin-top:32px; }
  .recommend-grid + .center-button,
  .recommend-grid + p .center-button { margin-top:32px; }
  .news-mobile .news-feature h3 { padding-bottom:0; }
  .news-mobile .news-list a { max-height:calc(2.7em + 32px); }
  .reference-footer .footer-links-overlay { min-width:0; }
  .reference-footer .footer-links-overlay a { white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width:480px) {
  .reference-footer .footer-links-overlay { grid-template-columns:minmax(0,1fr); gap:28px; }
  .reference-footer .footer-socials { flex-wrap:wrap; justify-content:flex-start; }
  .reference-footer .footer-socials strong { white-space:normal; }
}
@media (min-width:901px) {
  .russia-design-section>header { top:min(6.5625vw,126px)!important; }
  .russia-design-section .russia-slot.rs1,
  .russia-design-section .russia-slot.rs4 { top:30.8%!important; }
  .russia-design-section .russia-slot.rs2,
  .russia-design-section .russia-slot.rs3 { top:28.1%!important; }
  .russia-design-section .russia-carousel .prev,
  .russia-design-section .russia-carousel .next { top:47%!important; }
}
@media (max-width:900px) {
  .russia-design-section>header { margin-bottom:28px; }
}
/* Match reference spacing: keep service icons clearly separated below gallery. */
.russia-design-section .russia-services { top:82%!important; }
@media (max-width:900px){.russia-design-section .russia-services { top:79%!important; }}
/* Match reference neutral background between adjacent home sections. */
.russia-design-section { background:#fff!important; }
.process-design-section { background:#f3f8fc!important; }
.process-design-section,.news-design-section{background:#fff!important}
/* Remove visible separator between adjacent home modules; match reference white canvas. */
.home main, .home .design-section, .home .site-main { background:#fff!important; }
.product-page .content-head h2,.product-page .sidebar h2{color:var(--blue)!important}
.product-page .content-head:after{content:"▦";font-size:30px;color:#0b3d7a;line-height:1}

/* About categories and contact: use the site's shared wide content grid. */
.page-id-44 .about-categories > .cp-wrap,
.contact-page .contact-page-grid {
  width:var(--page-width);
  max-width:none;
  margin-inline:auto;
}
.page-id-44 .about-categories .cp-heading { text-align:center; margin-inline:auto; }
.page-id-44 .about-categories .cp-heading > p { margin-inline:auto; }
.page-id-44 .about-categories-grid {
  --category-gap:clamp(20px,2vw,32px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--category-gap);
}
.page-id-44 .about-category-card {
  display:flex;
  flex-direction:column;
  box-shadow:0 12px 30px rgb(18 49 67 / 7%);
}
.page-id-44 .about-category-card:last-child:nth-child(odd) {
  grid-column:1 / -1;
  width:calc((100% - var(--category-gap)) / 2);
  justify-self:center;
}
.page-id-44 .about-category-image {
  display:block;
  aspect-ratio:380 / 213;
  padding:clamp(18px,2vw,32px);
  background:var(--ice,#f2f8fc);
}
.page-id-44 .about-category-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.page-id-44 .about-category-foot {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  flex:1;
  gap:16px;
  padding:clamp(18px,1.65vw,28px);
}
.page-id-44 .about-category-foot h3 {
  min-height:0;
  margin:0;
  color:var(--blue,#079bd3);
  font-size:clamp(18px,1.3vw,25px);
  line-height:1.35;
  overflow-wrap:anywhere;
}
.page-id-44 .about-category-foot .module-cta {
  gap:8px;
  min-height:48px;
  padding:12px 20px;
  font-size:16px;
  line-height:1.25;
  white-space:nowrap;
}
.page-id-44 .about-category-card a:focus-visible {
  outline:3px solid var(--blue-dark,#087ba9);
  outline-offset:3px;
}
.contact-page .contact-page-grid {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(24px,3vw,56px);
}
.contact-page .contact-page-grid > div { min-width:0; }
.contact-page .contact-form-panel .wpcf7,
.contact-page .contact-form-panel .contact-form { width:100%; min-width:0; }
.contact-page .contact-form-panel :is(input,textarea,select) { max-width:100%; }
.contact-page .contact-form-panel .contact-form { display:block; }
.contact-page .contact-form > p {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:18px;
  margin:0;
}
.contact-page .contact-form > p > br { display:none; }
.contact-page .contact-form :is(.cf-field,.wpcf7-form-control-wrap) { display:block; min-width:0; }
.contact-page .contact-form :is(.cf-phone,.cf-message,.cf-submit,.cf-note) { grid-column:1 / -1; }
.contact-page .contact-form .cf-field :is(input,textarea) { width:100%; margin:0; }
.contact-page .contact-form .cf-message textarea { height:180px; min-height:160px; resize:vertical; }
.contact-page .contact-form .cf-captcha-image { align-self:center; }
.contact-page .contact-form .cf-captcha-image img { display:block; width:auto; height:32px; }
.contact-page .contact-form .cf-submit { display:flex; align-items:center; }
.contact-page .contact-form .cf-submit input { width:auto; min-height:48px; cursor:pointer; }
.contact-page .contact-form .cf-submit input:is(:hover,:focus-visible) { background:var(--button-hover,#e62129); }
.contact-page .contact-form .cf-note { color:var(--muted,#68747d); line-height:1.6; }
@media (min-width:701px) and (max-width:1100px) {
  .page-id-44 .about-category-foot { grid-template-columns:minmax(0,1fr); }
  .page-id-44 .about-category-foot .module-cta { justify-self:start; }
}
@media (max-width:900px) {
  .contact-page .contact-page-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px) {
  .page-id-44 .about-categories-grid { grid-template-columns:minmax(0,1fr); }
  .page-id-44 .about-category-card:last-child:nth-child(odd) { grid-column:auto; width:100%; }
  .page-id-44 .about-category-foot { gap:12px; padding:18px; }
  .page-id-44 .about-category-foot .module-cta { padding-inline:14px; font-size:14px; }
}
@media (max-width:600px) {
  .contact-page .contact-form > p { grid-template-columns:minmax(0,1fr); gap:16px; }
  .contact-page .contact-form .cf-submit { display:block; }
  .contact-page .contact-form .cf-submit input { width:100%; }
}
@media (max-width:359px) {
  .page-id-44 .about-category-foot { grid-template-columns:minmax(0,1fr); }
  .page-id-44 .about-category-foot .module-cta { justify-self:start; }
}
@media (prefers-reduced-motion:reduce) {
  .page-id-44 .about-category-card,
  .page-id-44 .about-category-image img,
  .page-id-44 .about-category-foot .module-cta { transition:none; transform:none; }
}

/* WordPress toolbar scrolls away at <=600px; the sticky mobile header follows it. */
@media (max-width:600px) {
  .logged-in.admin-bar .mobile-header { top:0; }
}
/* Above the touch-toolbar breakpoint, the persistent toolbar is 32px tall. */
@media (min-width:783px) {
  .logged-in.admin-bar .mobile-header { top:32px; }
}

/* About video: translucent black circle with a white play triangle. */
.page-id-44 .about-profile-video > span {
  width:clamp(64px,6vw,92px);
  height:clamp(64px,6vw,92px);
  min-height:0;
  border-radius:50%;
  background:rgb(0 0 0 / 50%);
  box-shadow:0 4px 20px rgb(0 0 0 / 12%);
}
.page-id-44 .about-profile-video > span::before {
  content:"";
  display:block;
  width:0;
  height:0;
  border-top:clamp(10px,1vw,15px) solid transparent;
  border-bottom:clamp(10px,1vw,15px) solid transparent;
  border-left:clamp(17px,1.5vw,24px) solid #fff;
  font-size:0;
  position:absolute;
  top:50%;
  left:50%;
  margin:0;
  transform:translate(-50%,-50%);
}
.page-id-44 .about-profile-video:is(:hover,:focus-visible) > span {
  background:rgb(0 0 0 / 65%);
}
.page-id-44 .about-profile-video:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }

/* Complete borders, banner continuity and backend-managed modules. */
/* Draw the complete cut-corner outline instead of clipping a rectangular border. */
.advantage-design-section .desktop-advantage-grid article {
  border-color:transparent;
}
.advantage-design-section .desktop-advantage-grid article::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath d='M1.5 1H998.5V849L729 999H1.5Z' fill='none' stroke='%23dce7ec' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
/* Only remove empty WordPress paragraphs at the header-to-main boundary. */
body:not(.home) > .mobile-header + p:empty,
body:not(.home) > main > p:first-child:empty {
  display:none; margin:0; padding:0;
}
.custom-copy > .managed-custom-description {
  display:block; margin-top:5%; font-size:clamp(10px,1.03vw,20px);
  line-height:1.45; color:rgba(255,255,255,.86);
}
.managed-custom-description > p { margin:0 0 .75em; }
.managed-custom-description > p:last-child { margin-bottom:0; }
.reference-footer .footer-socials .footer-social-icon {
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px;
  width:28px; height:28px; border-radius:50%; background:transparent; overflow:hidden;
}
.reference-footer .footer-socials .footer-social-icon img {
  display:block; width:28px; height:28px; max-width:none; filter:none; object-fit:contain;
}
.reference-footer .footer-socials a.footer-social-icon:hover img { filter:brightness(.8) sepia(1) saturate(8) hue-rotate(150deg); }
.reference-footer .footer-socials .is-unconfigured { cursor:default; }
/* Reviewed Russia module spacing: title and image row follow the reference composition. */
@media (min-width:901px) {
  .russia-design-section>header { top:min(6.5625vw,126px)!important; }
  .russia-design-section .russia-slot.rs1,
  .russia-design-section .russia-slot.rs4 { top:30.8%!important; }
  .russia-design-section .russia-slot.rs2,
  .russia-design-section .russia-slot.rs3 { top:28.1%!important; }
  .russia-design-section .russia-carousel .prev,
  .russia-design-section .russia-carousel .next { top:47%!important; }
}
@media (max-width:900px) { .russia-design-section>header { margin-bottom:28px; } }
/* PSD verification, 2026-09-12. Scoped to the homepage only.
 * Coordinates use the original 1920px PSD; existing content and JS stay intact.
 */
@media (min-width: 901px) {
  /* The banner continues 135px behind the search card, without moving its copy. */
  .home .hero {
    --search-overlap: min(7.03125vw, 135px);
    height: calc(min(40.052083vw, 769px) + var(--search-overlap));
    min-height: 0;
  }
  .home .hero .hero-content { height: min(40.052083vw, 769px); }
  .home .hero .hero-dots { bottom: calc(var(--search-overlap) + min(1.5625vw, 30px)); }
  .home .desktop-stream > .search-design-section {
    margin-top: max(-7.03125vw, -135px);
    background: transparent !important;
    z-index: 5;
  }

  /* PSD ABOUT map layer: (-218,3163)-(1080,3676), opacity 38/255. */
  .home .about-design-section { margin-top: min(2.34375vw, 45px); }
  .home .about-design-section::before {
    left: -11.354167%; top: 0; width: 67.604167%; height: 42.857143%;
    background: url('assets/images/home-about-world-map.png') center / 100% 100% no-repeat;
    opacity: .1490196; mask-image: none; pointer-events: none;
  }
  .home .about-design-section .about-copy h2 { max-width: min(22.916667vw, 440px); }
  .home .about-design-section .about-photo-hit {
    box-shadow: min(.46875vw,9px) min(.520833vw,10px) min(.520833vw,10px) rgb(0 0 0 / 20%);
  }
  .home .about-design-section .about-photo-hit > img,
  .home .custom-design-section .custom-photo > img,
  .home .russia-design-section .russia-slot > img {
    display: block; width: 100%; height: 100%; max-height: none; object-fit: cover;
  }

  /* PSD background starts 364px into the 762px advantages module. */
  .home .advantage-design-section {
    background: linear-gradient(to bottom, #fff 0 47.769029%, #f6faff 47.769029% 100%) !important;
  }
  .home .advantage-design-section .desktop-advantage-grid {
    filter: drop-shadow(2px 3px 2px rgb(0 0 0 / 14%));
  }
  .home .advantage-design-section .desktop-advantage-grid article {
    padding: min(6.666667vw,128px) min(1.71875vw,33px) min(1.979167vw,38px) !important;
  }
  .home .advantage-design-section .desktop-advantage-grid b {
    top: min(3.75vw,72px) !important; left: min(1.71875vw,33px);
  }
  .home .advantage-design-section .desktop-advantage-grid article p {
    margin-top: min(2.083333vw,40px) !important;
  }

  /* Both halves have the same height; a generic .home img rule must not shrink the photo. */
  .home .custom-design-section .custom-photo { height: 100%; }

  /* A single coordinate system prevents nested percentage offsets in the carousel. */
  .home .russia-design-section { height: min(56.770833vw,1090px); }
  .home .russia-design-section > header { top: min(6.5625vw,126px) !important; }
  .home .russia-design-section > header > p { max-width: 70.833333%; margin-inline: auto; }
  .home .russia-design-section .russia-carousel {
    position: absolute !important; inset: 0 !important; height: 100% !important;
  }
  .home .russia-design-section .russia-slot.rs2,
  .home .russia-design-section .russia-slot.rs3 {
    top: 28.807339% !important; height: 41.651376% !important;
  }
  .home .russia-design-section .russia-slot.rs1,
  .home .russia-design-section .russia-slot.rs4 {
    top: 31.376147% !important; height: 36.605505% !important;
  }
  .home .russia-design-section .russia-carousel .carousel-arrow {
    top: 46.972477% !important; height: 5.412844% !important;
  }
  .home .russia-design-section .russia-services {
    top: 79.908257% !important; height: 9.082569%;
  }

  /* Keep two title lines inside each card and center the CTA without a <p> wrapper. */
  .home .recommended-design-section > header { grid-template-columns: 1fr 1fr; align-items: end; }
  .home .recommended-design-section .recommended-carousel { margin-top: min(3.125vw,60px); margin-bottom: min(4.270833vw,82px); }
  .home .recommended-design-section .recommended-card {
    display: grid; grid-template-rows: minmax(0,302fr) minmax(0,105fr);
    padding: min(.625vw,12px); min-height: 0;
  }
  .home .recommended-design-section .recommended-card > img {
    width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 18%;
  }
  .home .recommended-design-section .recommended-card > b {
    min-height: 0; max-height: none; padding: min(1.666667vw,32px) 5% 0;
    font-size: min(1.171875vw,22.5px); line-height: 1.25;
  }
  .home .recommended-design-section .recommended-more {
    display: flex; width: min(19.010417vw,365px); max-width: 90%;
    margin: 0 auto; padding: 0 min(1.041667vw,20px); text-align: center;
  }
}

@media (max-width: 900px) {
  .home .mobile-content .mobile-search,
  .home .mobile-content .mobile-section { padding-inline: clamp(18px,4vw,28px); }
  .home .mobile-content .about-mobile {
    background: url('assets/images/home-about-world-map.png') center top / 100% auto no-repeat;
    background-blend-mode: screen; background-color: rgb(255 255 255 / 86%);
  }
  .home .mobile-content .about-mobile > img {
    width: 100%; max-width: 100%; height: auto; margin-inline: 0;
    box-shadow: 4px 5px 10px rgb(0 0 0 / 14%);
  }
  .home .mobile-content .mobile-section:has(> .advantage-grid) {
    background: linear-gradient(#fff 0 30%,#f6faff 30%);
  }
  .home .mobile-content .advantage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home .mobile-content .advantage-grid article { background: #fff; }
  .home .mobile-content .split-feature > img { display: block; width: 100%; height: auto; max-height: none; }
  .home .mobile-content .wide-photo { display: block; width: 100%; max-width: 100%; height: auto; margin-inline: 0; }
  .home .mobile-content .center-button { display: table; max-width: 100%; margin-inline: auto; text-align: center; }
  .home .mobile-content .recommend-grid article { min-width: 0; }
  .home .mobile-content .recommend-grid h3 { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  .home .mobile-content .advantage-grid { grid-template-columns: minmax(0,1fr); }
}@media (min-width:901px) {
  .home .custom-design-section .custom-photo {
    left:43.0%; right:auto; width:65.52%; top:min(-.416667vw,-8px);
    height:calc(100% + min(1.041667vw,20px));
  }
}
@media (min-width:901px) {
  /* PSD process group is Y=6993..7747 (754px at 1920px). */
  .home .process-design-section { height: min(39.270833vw,754px) !important; }
  /* PSD recommended title begins at Y=7857, 110px into the module. */
  .home .recommended-design-section { padding-top: min(5.729167vw,110px); }
}
@media (max-width:900px) {
  .home .mobile-content h2,
  .home .mobile-content h3,
  .home .mobile-content p { max-width:100%; overflow-wrap:anywhere; }
}

/* Text clamp must be inside the padded grid item, not on the grid item itself. */
.home .recommended-design-section .recommended-card > b {
  display:block; -webkit-line-clamp:unset; overflow:hidden;
}
.home .recommended-card-title {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  line-height:1.25; max-height:2.5em; overflow:hidden; text-overflow:ellipsis;
  white-space:normal; overflow-wrap:anywhere;
}
.home .mobile-content .recommend-grid h3 {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  line-height:1.3; max-height:2.6em; overflow:hidden; text-overflow:ellipsis;
}
.home .hero-slide > .hero-slide-image {
  position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:center; pointer-events:none;
}

/* PSD header: 1920px canvas, logo (160,31)-(423,108), 45px + 92px rows.
 * Ribbon vertices are derived from the PSD vector paths, not viewport percentages.
 * The original embedded logo supplies enough pixels for high-density screens. */
@media (min-width:1101px) {
  body .desktop-header {
    --header-logo-width:clamp(200px,13.697917vw,263px);
    --header-shell:min(1600px,calc(100% - 48px));
    --header-column:min(926px,calc(var(--header-shell) - var(--header-logo-width) - 48px));
    --header-side:calc((100% - var(--header-shell)) / 2);
    --header-nav-start:calc(100% - var(--header-side) - var(--header-column));
    display:block;
    animation:none;
  }
  body .mobile-header { display:none; }
  body .desktop-header .header-top {
    height:45px;
    background:#0393d2;
    overflow:visible;
    transition:none;
  }
  body .desktop-header .header-top::before {
    display:block;
    content:"";
    left:0; top:0;
    width:calc(var(--header-nav-start) - 18px);
    height:100%;
    background:#fff;
    clip-path:polygon(0 0,calc(100% - 67px) 0,100% 100%,0 100%);
    pointer-events:none;
  }
  body .desktop-header .header-top::after {
    display:block;
    content:"";
    left:calc(var(--header-nav-start) - 151.8px); top:0;
    width:120.8px; height:100%;
    background:#e62129;
    clip-path:polygon(0 0,55.5px 0,100% 100%,63.8px 100%);
    pointer-events:none;
  }
  body .desktop-header .header-top-inner,
  body .desktop-header .header-nav-row {
    width:min(1600px,calc(100% - 48px));
    max-width:1600px;
    margin:0 auto;
    padding:0;
    display:flex;
    justify-content:flex-end;
    gap:0;
  }
  body .desktop-header .header-nav-row { position:static; height:92px; transition:none; }
  body .desktop-header .desktop-logo {
    position:absolute;
    z-index:21;
    left:max(24px,calc((100% - 1600px) / 2));
    top:calc((137px - var(--header-logo-width) * 77 / 263) / 2 + 1px);
    width:var(--header-logo-width);
    height:auto;
    aspect-ratio:263 / 77;
    margin:0;
    transition:none;
  }
  body .desktop-header .desktop-logo img { width:100%; height:100%; object-fit:fill; }
  body .desktop-header .header-info {
    width:min(874px,calc(100% - var(--header-logo-width) - 48px));
    height:100%;
    display:grid;
    grid-template-columns:155px 1px 252px 1px 104px 1px 46px;
    justify-content:space-between;
    align-items:center;
    gap:0;
    font-size:17px;
    line-height:1.4;
    font-weight:400;
  }
  body .desktop-header .header-info > * { flex-shrink:0; }
  body .desktop-header .header-contact-link {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#fff;
    white-space:nowrap;
  }
  body .desktop-header .header-contact-icon { width:12px; height:16px; object-fit:contain; }
  body .desktop-header .header-contact-link:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  body .desktop-header .header-contact-icon.email { width:14px; height:10px; margin-right:3px; }
  body .desktop-header .header-info > i { width:1px; height:18px; background:#ffffffa6; }
  body .desktop-header .header-socials { display:flex; gap:8px; padding:0; }
  body .desktop-header .header-socials a { width:20px; height:20px; }
  body .desktop-header .header-socials a img { width:12px; height:12px; }
  body .desktop-header .desktop-language > button { padding:0; gap:9px; font-size:15px; }
  body .desktop-header .desktop-language > button > img { width:17px; height:17px; }
  body .desktop-header .desktop-hotspots {
    width:min(926px,calc(100% - var(--header-logo-width) - 48px));
    flex:none;
    margin-left:auto;
    display:flex;
    justify-content:space-between;
    gap:0;
    transition:none;
  }
  body .desktop-header .desktop-hotspots > * { flex:0 0 auto; }
  body .desktop-header .desktop-hotspots > a,
  body .desktop-header .desktop-hotspots > .nav-item > a {
    font-size:18px;
    line-height:24px;
    font-weight:400;
    color:#191919;
    padding:0 0 11px;
  }
  body .desktop-header .desktop-hotspots > a::after,
  body .desktop-header .desktop-hotspots > .nav-item > a::after {
    bottom:31px;
    height:4px;
    border-radius:0;
    background:#e62129;
  }
  body .desktop-header .desktop-hotspots > a:hover,
  body .desktop-header .desktop-hotspots > .nav-item > a:hover { color:#0393d2; }
  /* Scrolled rows share exactly the same content column and equal menu gaps. */
  body .desktop-header.is-compact .header-top { height:34px; }
  body .desktop-header.is-compact .header-top::before,
  body .desktop-header.is-compact .header-top::after { display:none; }
  body .desktop-header.is-compact .header-nav-row { height:68px; }
  body .desktop-header.is-compact .desktop-logo {
    width:200px;
    top:39px;
  }
  body .desktop-header.is-compact .header-info {
    width:min(926px,calc(100% - var(--header-logo-width) - 48px));
  }
  body .desktop-header.is-compact .desktop-hotspots > a,
  body .desktop-header.is-compact .desktop-hotspots > .nav-item > a { font-size:18px; }
  body .desktop-header.is-compact .desktop-hotspots > a::after,
  body .desktop-header.is-compact .desktop-hotspots > .nav-item > a::after { bottom:18px; }
}
@media (min-width:1101px) and (max-width:1399px) {
  body .desktop-header .header-info { font-size:14px; }
  body .desktop-header .desktop-language > button { font-size:14px; }
  body .desktop-header .desktop-hotspots > a,
  body .desktop-header .desktop-hotspots > .nav-item > a,
  body .desktop-header.is-compact .desktop-hotspots > a,
  body .desktop-header.is-compact .desktop-hotspots > .nav-item > a { font-size:16px; }
}
/* Switch the entire shared header to its touch layout before desktop items collide. */
@media (max-width:1100px) {
  body .desktop-header { display:none; }
  body .mobile-header {
    display:flex; position:sticky; z-index:120; top:0;
    height:72px; width:100%; max-width:100%;
    padding:12px clamp(16px,3vw,28px);
    align-items:center; gap:12px;
    background:#fff;
  }
  body .mobile-header .mobile-logo { flex:0 1 180px; min-width:0; margin-right:auto; }
  body .mobile-header .mobile-logo img { width:100%; height:auto; aspect-ratio:263 / 77; }
  body .mobile-header .mobile-language { flex:none; margin:0; color:#26333c; }
  body .mobile-header .mobile-language > button { height:44px; padding:0 6px; background:transparent; color:inherit; font-size:13px; }
  body .mobile-header .mobile-language > button > img { width:23px; height:23px; filter:brightness(0); opacity:.8; }
  body .mobile-header .menu-button { flex:none; width:44px; height:44px; padding:9px; display:grid; align-content:center; gap:5px; background:transparent; border:0; cursor:pointer; }
  body .mobile-header .menu-button span { display:block; width:26px; height:2px; background:#14212a; transition:.25s; }
  body .mobile-header .menu-button.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  body .mobile-header .menu-button.is-open span:nth-child(2) { opacity:0; }
  body .mobile-header .menu-button.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  body .mobile-header .mobile-menu {
    display:grid; position:absolute; left:0; right:0; top:100%;
    padding:10px 20px 22px; margin:0;
    background:#fff; max-height:calc(100dvh - 72px); overflow-y:auto;
    opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px);
  }
  body .mobile-header .mobile-menu.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  body .mobile-header .mobile-menu a { min-height:44px; padding:13px 4px; color:#18222b; }
}
@media (max-width:360px) {
  body .mobile-header { gap:6px; }
  body .mobile-header .mobile-logo { flex-basis:150px; }
}


/* Static first Hero from PSD: no rotation, fade, or pagination dots. */
.hero-static .hero-slide,
.hero-static .hero-slide.is-active { opacity:1; transform:none; animation:none; transition:none; }
.hero-static .hero-content,
.hero-static .hero-content h1,
.hero-static .hero-content > p,
.hero-static .hero-parts,
.hero-static .hero-cta { opacity:1; transform:none; animation:none; transition:none; }
.hero-static .hero-dots { display:none !important; }
.hero-static .hero-parts { display:flex; }
.hero-static .hero-parts a { flex:0 0 auto; }
.home .hero-static .hero-parts img { width:100%; height:100%; object-fit:contain; }
@media (min-width:901px) {
  .home .hero-static .hero-content { width:83.333333%; }
  .home .hero-static .hero-parts { gap:min(2.864583vw,55px); bottom:min(4.427083vw,85px); }
  .home .hero-static .hero-slide > .hero-slide-image {
    inset:auto; left:-2.395833%; top:-6.30531%;
    width:109.53125%; height:108.849558%; max-width:none; object-fit:fill;
  }
}
@media (max-width:900px) {
  .home .hero.hero-static { height:auto; min-height:600px; }
  .home .hero-static .hero-content {
    width:auto; height:auto; min-height:600px; margin:0 clamp(18px,4vw,32px);
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
    padding:clamp(56px,12vw,96px) 0 48px;
  }
  .home .hero-static .hero-content h1 {
    position:static; margin:0 0 18px; max-width:100%;
    font-size:clamp(27px,6.8vw,36px); line-height:1.14; overflow-wrap:anywhere;
  }
  .home .hero-static .hero-content > p:first-of-type {
    position:static; width:100%; margin:0 0 28px; font-size:14px; line-height:1.55;
  }
  .home .hero-static .hero-content h1 br,
  .home .hero-static .hero-content > p:first-of-type br { display:none; }
  .home .hero-static .hero-parts {
    position:static; width:min(100%,360px); margin:0 0 24px;
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;
  }
  .home .hero-static .hero-parts a { width:100%; height:auto; aspect-ratio:1; min-width:0; min-height:0; max-width:none; max-height:none; }
  .home .hero-static .hero-content > p:last-of-type {
    position:static; width:100%; height:auto; margin:0; display:flex;
    justify-content:flex-end; pointer-events:auto;
  }
  .home .hero-static .hero-content .hero-cta {
    position:static; display:inline-flex; width:min(100%,260px); height:52px; margin:0;
    font-size:14px;
  }
}

/* Homepage about: PSD 1920px coordinates, responsive full-width module. */
@media (min-width: 901px) {
  .home .about-design-section {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    height: auto;
    min-height: 62.34375vw;
    container-type: inline-size;
  }
  .home .about-design-section .about-copy {
    left: 8.333333%; top: 10.208333vw; width: 39.114583%;
  }
  .home .about-design-section .about-copy h2 {
    max-width: 22.916667vw;
    font-size: 2.916667vw; line-height: 1.06;
  }
  .home .about-design-section .about-copy p {
    margin: 1.041667vw 0 0;
    font-size: 1.041667vw; line-height: 1.45;
  }
  .home .about-design-section .about-copy p + p { margin-top: 1.5625vw; }
  .home .about-design-section .about-copy > .module-cta {
    margin-top: 3.125vw !important;
    width: 11.979167vw; height: 3.28125vw; padding: 0;
    font-size: 1.145833vw;
  }
  .home .about-design-section .about-photo-hit {
    left: 54.427083%; top: 7.65625vw; width: 45.572917%; height: 31.25vw;
  }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .home .about-design-section { min-height: 0; padding-top: 7.65625vw; }
  .home .about-design-section .about-copy { position: relative; top: auto; padding-top: 2.552083vw; }
  .home .about-design-section .about-copy p { font-size: 14px; }
  .home .about-design-section .about-copy > .module-cta { width: 160px; height: 44px; font-size: 16px; }
  .home .about-design-section .factory-gallery { position: relative; inset: auto; height: 20vw; margin: 48px 0; }
  .home .about-design-section .factory-thumb { top: 0; height: 100%; }
  .home .about-design-section .factory-strip-prev,
  .home .about-design-section .factory-strip-next { top: 40%; height: 20%; }
}
@media (max-width: 900px) {
  .home .about-mobile { overflow-wrap: anywhere; }
  .home .about-mobile > img { display: block; height: auto; object-fit: contain; }
}

/* Full source image, reduced only to fit the available viewport. */
.home .lightbox { grid-template-columns: 56px minmax(0,1fr) 56px; }
.home .lightbox figure { min-width: 0; }
.home .lightbox figure img {
  width: auto; height: auto; max-width: 100%;
  max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px);
  object-fit: contain;
}
@media(max-width:600px) {
  .home .lightbox { grid-template-columns: 44px minmax(0,1fr) 44px; }
  .home .lightbox button { font-size: 42px; min-height: 44px; }
  .home .lightbox-close { right: 12px; top: 8px; }
}

/* Russia module: requested single-line desktop summary and PSD service type. */
.home .russia-caption { display: none !important; }
.home .russia-carousel .carousel-arrow { background: #8b8b8b !important; color: #fff !important; }
.home .russia-carousel .carousel-arrow:hover,
.home .russia-carousel .carousel-arrow:focus-visible { background: #0393d2 !important; }
@media (min-width:901px) {
  .home .russia-design-section > header > p {
    max-width: 96%; width: max-content; margin-inline: auto;
    font-size: min(1.02vw,19.5px); white-space: nowrap;
  }
  .home .russia-design-section .russia-services { left: 8.2%; right: 8.3%; grid-template-columns: 28.6% 35.65% 35.75%; }
  .home .russia-design-section .russia-services article { padding: 0 6%; gap: 5%; min-width: 0; }
  .home .russia-design-section .russia-services article:first-child { padding-left: 0; }
  .home .russia-design-section .russia-services article:last-child { padding-right: 0; }
  .home .russia-design-section .russia-services article b { font-size: min(1.458333vw,28px); line-height: 1.14; white-space: nowrap; }
  .home .russia-design-section .russia-services article img { flex: 0 0 auto; max-width: 20%; }
}

/* PSD process module: 1920 x 754; cards 631 x 180, gaps 48 x 30. */
.home .process-design-section,
.home .mobile-content .process-mobile { background: #f6faff !important; }
.home .process-design-section { container-type: inline-size; }
.home .process-design-section::before {
  inset: auto; left: 7.083333%; top: 11.93634%; width: 85.78125%; height: 106.6313%;
  background: #24457e; opacity: .4;
  mask: url('assets/images/process-world-map.png') center / 100% 100% no-repeat;
  pointer-events: none;
}
.home .desktop-process-grid article > h3 { display: none; }
@media (min-width:901px) {
  .home .process-design-section { height: auto !important; min-height: min(39.270833vw,754px); padding: min(13.854167vw,266px) 0 min(5.104167vw,98px); }
  .home .process-design-section > header { top: 3.125cqw; }
  .home .process-design-section > header h2 { font-size: 2.916667cqw; line-height: 1.15; }
  .home .process-design-section > header p { font-size: 1.041667cqw; line-height: 1.4; margin-top: 1.041667cqw; }
  .home .process-design-section .desktop-process-grid {
    position: relative; left: auto; right: auto; top: auto;
    width: 68.229167%; margin: 0 auto;
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5625cqw 2.5cqw;
  }
  .home .desktop-process-grid article {
    min-height: 9.375cqw; padding: 1.354167cqw 1.770833cqw;
    border-left-width: .572917cqw; justify-content: flex-start;
    box-shadow: 2px 3px 4px rgb(0 0 0 / 12%);
  }
  .home .desktop-process-grid article b { font-size: 1.666667cqw; line-height: 1.15; font-weight: 500; }
  .home .desktop-process-grid article p { margin: .416667cqw 0 0; font-size: 1.041667cqw; line-height: 1.4; color: #505050; }
}
@media(min-width:901px) and (max-width:1200px) {
  .home .process-design-section .desktop-process-grid { width: 84%; }
  .home .desktop-process-grid article { min-height: 140px; }
  .home .desktop-process-grid article b { font-size: 22px; }
  .home .desktop-process-grid article p { font-size: 14px; }
}
@media(max-width:900px) {
  .home .mobile-content .process-mobile { position: relative; isolation: isolate; }
  .home .mobile-content .process-mobile::before {
    content: ''; position: absolute; inset: 0; z-index: -1; background: #24457e; opacity: .4;
    mask: url('assets/images/process-world-map.png') center / cover no-repeat; pointer-events: none;
  }
  .home .process-mobile > .eyebrow { display: none; }
  .home .process-mobile .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .home .process-mobile .process-grid article { min-width: 0; border-left-width: 5px; }
  .home .process-mobile .process-grid article:nth-child(1),
  .home .process-mobile .process-grid article:nth-child(4) { border-left-color: var(--red); }
  .home .process-mobile .process-grid b { font-size: 22px; }
}
@media(max-width:600px) {
  .home .process-mobile .process-grid { grid-template-columns: minmax(0,1fr); }
}

/* PSD: hovered cards have shadow but no visible outline; summary aligns right. */
.home .recommended-card:hover,
.home .recommended-card:focus-visible { border-color: transparent; }
.home .recommended-design-section > header > p { text-align: right; justify-self: end; }

/* Viewport-fixed image, clipped to the contact section; form stays in flow. */
.home .contact-design-section,
.home .mobile-contact {
  clip-path: inset(0); isolation: isolate; transform: none !important;
  position: relative; background: #fff !important;
}
.home .contact-design-section::before,
.home .mobile-contact::before {
  content: ''; position: absolute; inset: auto 0; top: var(--contact-bg-offset, 0px); width: 100%; height: 100vh; height: 100lvh;
  z-index: -2; pointer-events: none;
  background: linear-gradient(#0008,#0008), url('assets/images/contact-background.png') center / cover no-repeat;
  background-attachment: scroll;
}
.home .contact-design-section::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  left: 0; right: 0; top: min(31.979167vw,614px); bottom: 0; height: auto; background: #fff; opacity: 1;
}
.home .mobile-contact-inner > .eyebrow { display: none; }
/* PSD: summary block ends at the right guide, with left-aligned lines inside. */
.home .recommended-design-section > header > p {
  text-align: left; justify-self: end; width: 100%; max-width: none;
}
@media(min-width:901px) {
  .home .recommended-design-section > header h2 { font-size: min(3.073285vw,59.00707px); }
  .home .recommended-design-section > header p { font-size: min(1.145833vw,22px); line-height: 1.27; }
}

/* Cover the fractional-pixel blue seam below the white ribbon mask. */
@media(min-width:1101px) {
  body .desktop-header:not(.is-compact) .header-top::before { height: calc(100% + 1px); }
}

/* PSD ribbon: top 58px, width 555px and height 52px at 1920px. */
@media(min-width:901px) {
  .reference-footer.desktop-footer { --footer-ribbon-top:min(3.020833vw,58px); --footer-ribbon-height:min(2.708333vw,52px); }
  .reference-footer.desktop-footer::after { width:min(28.90625vw,555px)!important; }
}
.reference-footer .footer-contact p:first-of-type:is(:hover,:focus-within) span,
.reference-footer .footer-contact p:last-of-type:is(:hover,:focus-within) span { color:inherit; }
.reference-footer .footer-socials .footer-social-icon {
  background-position:center; background-size:100% 100%; background-repeat:no-repeat;
  transition:transform .22s ease,box-shadow .22s ease;
}
.reference-footer .footer-socials .footer-social-icon:is(:hover,:focus-visible) {
  transform:translateY(-3px) scale(1.08); box-shadow:0 5px 12px rgb(3 147 210 / 22%);
}
.reference-footer .footer-socials .footer-social-icon:is(:hover,:focus-visible) img { opacity:0; }
.reference-footer .footer-social-icon[aria-label='Facebook']:is(:hover,:focus-visible) { background-image:url('design-icons/footer-facebook-hover.svg'); }
.reference-footer .footer-social-icon[aria-label='Instagram']:is(:hover,:focus-visible) { background-image:url('design-icons/footer-instagram-hover.svg'); }
.reference-footer .footer-social-icon[aria-label='YouTube']:is(:hover,:focus-visible) { background-image:url('design-icons/footer-youtube-hover.svg'); }
.reference-footer .footer-social-icon[aria-label='VK']:is(:hover,:focus-visible) { background-image:url('design-icons/footer-vk-hover.svg'); }
@media(prefers-reduced-motion:reduce) {
  .reference-footer .footer-socials .footer-social-icon { transition:none; }
  .reference-footer .footer-socials .footer-social-icon:is(:hover,:focus-visible) { transform:none; }
}
/* Remove the standalone circular back-to-top control requested in the screenshot. */
.back-to-top { display:none!important; }

/* PSD footer: preserve the original image scale and its -150px placement. */
@media (min-width: 901px) {
  .reference-footer .footer-inner {
    padding-top: min(9.791667vw, 188px);
    padding-bottom: min(2.552083vw, 49px);
  }
  .reference-footer .footer-contact p:first-of-type {
    margin-top: min(1.614583vw, 31px);
  }
}
.reference-footer.desktop-footer {
  --footer-ribbon-top: min(3.020833vw, 58px);
  --footer-ribbon-height: min(2.708333vw, 52px);
}
.reference-footer.desktop-footer::after {
  left: 0 !important;
  top: var(--footer-ribbon-top) !important;
  width: min(28.90625vw, 555px) !important;
  height: var(--footer-ribbon-height) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 555 52' preserveAspectRatio='none'%3E%3Cpath fill='%230393d2' d='M0 0H504L436 52H0Z'/%3E%3Cpath fill='%23e62129' d='M514 0H555L491 52H448Z'/%3E%3C/svg%3E") !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: left top !important;
}
.reference-footer.desktop-footer::before {
  left: 0 !important;
  top: calc(var(--footer-ribbon-top) + var(--footer-ribbon-height) - 1px) !important;
  bottom: min(3.28vw, 63px) !important;
  width: min(48.020833vw, 922px) !important;
  height: auto !important;
  opacity: 1 !important;
  pointer-events: none;
  background-color: transparent !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.64) 0%, rgba(255,255,255,.75) 28%, rgba(255,255,255,.91) 62%, #fff 84%),
    url("assets/images/footer-background.png") !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100%, min(48.020833vw, 922px) min(30.520833vw, 586px) !important;
  background-position: 0 0, calc(-1 * min(7.8125vw, 150px)) calc(-1 * min(1.822917vw, 35px)) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
@media (max-width: 900px) {
  .reference-footer.desktop-footer {
    --footer-ribbon-top: 16px;
    --footer-ribbon-height: 26px;
  }
  .reference-footer.desktop-footer::after {
    width: min(72vw, 300px) !important;
  }
  .reference-footer.desktop-footer::before {
    top: calc(var(--footer-ribbon-top) + var(--footer-ribbon-height)) !important;
    bottom: auto !important;
    width: 100% !important;
    height: clamp(220px, 44vw, 330px) !important;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.82) 45%, #fff 100%),
      url("assets/images/footer-background.png") !important;
    background-size: 100% 100%, auto 100% !important;
    background-position: 0 0, left top !important;
  }
}

/* Preloaded SVG layers keep the icon visible when the circle turns blue. */
.reference-footer .footer-socials .footer-social-icon {
  background-image: none !important;
}
.reference-footer .footer-socials .footer-social-art {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.reference-footer .footer-socials .footer-social-icon img.footer-social-default,
.reference-footer .footer-socials .footer-social-icon img.footer-social-hover {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  filter: none;
  transition: opacity .15s ease;
}
.reference-footer .footer-socials .footer-social-icon img.footer-social-hover {
  opacity: 0;
}
.reference-footer .footer-socials .footer-social-icon:is(:hover,:focus-visible) img.footer-social-default {
  opacity: 0 !important;
}
.reference-footer .footer-socials .footer-social-icon:is(:hover,:focus-visible) img.footer-social-hover {
  opacity: 1 !important;
}
.reference-footer .footer-socials a.footer-social-icon:focus-visible {
  outline: 2px solid #0393d2;
  outline-offset: 3px;
}

/* Product archive banner follows the reference image, crop, height and title. */
.product-page .product-archive-hero {
  display: block;
  position: relative;
  height: min(45vw, 720px);
  min-height: 0;
  background: #082c6b url("product-assets/banner.jpg") center center / cover no-repeat;
}
.product-page .product-archive-hero > .wrap {
  width: min(1200px, 94%);
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 0;
  display: flex;
  align-items: center;
  color: #fff;
}
.product-page .product-archive-hero h1 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding-left: 60px;
  color: #fff;
  font-size: 60px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}
.product-page .product-archive-hero h1::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 45px;
  transform: translateY(-50%);
  background: #c32429;
}
@media (max-width: 1024px) {
  .product-page .product-archive-hero { height: 42vw; }
  .product-page .product-archive-hero > .wrap { padding-top: 0; }
  .product-page .product-archive-hero h1 { font-size: clamp(34px, 5vw, 52px); }
}
@media (max-width: 680px) {
  .product-page .product-archive-hero { height: 64vw; }
  .product-page .product-archive-hero h1 {
    padding-left: clamp(30px, 8vw, 45px);
    font-size: clamp(25px, 7.7vw, 40px);
    overflow-wrap: anywhere;
  }
  .product-page .product-archive-hero h1::before {
    width: clamp(14px, 3.8vw, 20px);
    height: .75em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reference-footer .footer-socials .footer-social-icon img { transition: none; }
}

/* Product archive content follows the reference catalog proportions. */
body:is(.post-type-archive-product, .tax-product_category).product-page .catalog {
  --catalog-unit: clamp(12px, 1vw, 16px);
  width: min(1600px, 94%);
  margin: calc(8.5 * var(--catalog-unit)) auto;
  display: grid;
  grid-template-columns: calc(23 * var(--catalog-unit)) minmax(0, 1fr);
  column-gap: calc(2 * var(--catalog-unit));
  align-items: start;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .sidebar {
  position: sticky;
  top: var(--header-offset);
  width: 100%;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  background: #fff;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .content {
  width: 100%;
  max-width: calc(72 * var(--catalog-unit));
  min-width: 0;
  justify-self: end;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .content-head { display: none !important; }
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-heading {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0 0 calc(1.25 * var(--catalog-unit));
  border-bottom: 1px solid #ccc;
  color: #079bd3 !important;
  font-size: calc(1.75 * var(--catalog-unit)) !important;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-heading::before { content: none !important; }
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-heading::after {
  content: '' !important;
  display: block;
  flex: 0 0 calc(1.75 * var(--catalog-unit));
  width: calc(1.75 * var(--catalog-unit));
  height: calc(1.75 * var(--catalog-unit));
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23079bd3' stroke-width='1.6'%3E%3Crect x='2' y='2' width='10' height='10' rx='1.5'/%3E%3Crect x='19' y='2' width='10' height='10' rx='1.5'/%3E%3Crect x='2' y='19' width='10' height='10' rx='1.5'/%3E%3Ccircle cx='23.5' cy='23.5' r='4.5'/%3E%3Cpath d='m27 27 4 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories {
  margin: calc(.5 * var(--catalog-unit)) 0 0;
  padding: 0;
  border-top: 0;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li {
  padding: calc(1 * var(--catalog-unit)) 28px calc(1 * var(--catalog-unit)) 0;
  border-bottom: 1px solid #ccc;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li > a {
  width: 100%;
  padding: 0;
  color: #18222b !important;
  font-size: calc(1.375 * var(--catalog-unit));
  font-weight: 600 !important;
  line-height: 1.25;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li > a:hover,
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li.current-cat > a { color: #079bd3 !important; }
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li > a::after { color: #18222b !important; }
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li > a:hover::after,
body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-categories > li.current-cat > a::after { color: #079bd3 !important; }
body:is(.post-type-archive-product, .tax-product_category) .catalog .products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(4 * var(--catalog-unit)) calc(2.25 * var(--catalog-unit));
  align-items: stretch;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card {
  box-sizing: border-box;
  height: calc(28.875 * var(--catalog-unit));
  min-height: 0;
  padding: calc(2 * var(--catalog-unit));
  border: 1px solid #dbdbdb;
  border-radius: calc(.5 * var(--catalog-unit));
  background: #fff;
  box-shadow: none;
  transform: none;
  overflow: hidden;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card:hover,
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card:focus-visible {
  border-color: #7a9cc5;
  box-shadow: 0 8px 22px rgb(8 44 107 / 10%);
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-img {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  height: calc(18.25 * var(--catalog-unit)) !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin: 0 0 calc(.75 * var(--catalog-unit));
  padding: var(--catalog-unit) !important;
  background: #fff !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: transform .25s ease;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card:hover .card-img img { transform: scale(1.04); }
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-body {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  width: 100%;
  max-height: 3.75em;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  color: #18222b;
  font-size: calc(1.45 * var(--catalog-unit));
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
}
@media (max-width: 1024px) {
  body:is(.post-type-archive-product, .tax-product_category).product-page .catalog {
    width: 94%;
    margin-top: 20px;
    margin-bottom: calc(3 * var(--catalog-unit));
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .sidebar {
    position: relative;
    top: auto;
    z-index: 12;
    max-height: none;
    overflow: visible;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .content { max-width: none; }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-heading { display: none !important; }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 70px;
    min-height: 55px;
    padding: 0;
    border: 0;
    background: linear-gradient(270deg, #fff 72%, rgb(255 255 255 / 88%));
    color: #079bd3;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle > span:first-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-icon { width: 40px; height: 40px; }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle[aria-expanded=true] .catalog-filter-icon i { display: none; }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle[aria-expanded=true] .catalog-filter-icon::before,
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle[aria-expanded=true] .catalog-filter-icon::after {
    content: '';
    position: absolute;
    left: 8px;
    top: 19px;
    width: 24px;
    height: 2px;
    background: #079bd3;
    transform: rotate(45deg);
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .catalog-filter-toggle[aria-expanded=true] .catalog-filter-icon::after { transform: rotate(-45deg); }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories:not(.is-open) {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    height: 55px;
    margin: 0;
    padding: 0 70px 0 4px;
    border: 1px solid #e2e5e8;
    border-radius: 2px;
    background: #fff;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories:not(.is-open) > li {
    flex: 0 0 auto;
    display: block;
    padding: 0;
    border: 0;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories:not(.is-open) > li > a {
    display: block;
    width: auto;
    padding: 0 12px;
    font-size: 15px;
    line-height: 53px;
    white-space: nowrap;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories:not(.is-open) > li > a::after,
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories:not(.is-open) > li > ul { display: none !important; }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories.is-open {
    position: absolute;
    top: 63px;
    left: 0;
    right: 0;
    z-index: 3;
    display: block !important;
    max-height: min(65dvh, 600px);
    margin: 0;
    padding: 8px 16px;
    border: 1px solid #e2e5e8;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 10px 24px rgb(8 44 107 / 14%);
    overflow-y: auto;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories.is-open > li {
    display: block;
    padding: 0;
    border-bottom: 1px solid #e2e5e8;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories.is-open > li > a {
    width: 100%;
    padding: 14px 28px 14px 0;
    font-size: 18px;
    line-height: 1.3;
    white-space: normal;
  }
  body:is(.post-type-archive-product, .tax-product_category).catalog-categories-ready .catalog .catalog-categories.is-open ul { display: block !important; }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(2.5 * var(--catalog-unit)) calc(2.25 * var(--catalog-unit));
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card {
    height: auto;
    padding: calc(1.5 * var(--catalog-unit)) var(--catalog-unit);
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-img {
    height: 41vw !important;
    margin-bottom: 0;
    padding: calc(1.5 * var(--catalog-unit)) !important;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-body {
    flex: 0 0 80px;
    min-height: 80px;
  }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card h3 { font-size: calc(1.5 * var(--catalog-unit)); }
}
@media (max-width: 680px) {
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products { grid-template-columns: minmax(0, 1fr); }
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-img { height: 87vw !important; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.post-type-archive-product, .tax-product_category) .catalog .products .card-img img { transition: none; }
}

/* Empty product categories retain the same framed content area. */
body.tax-product_category .catalog .content > p {
  display: grid;
  place-items: center;
  min-height: calc(28.875 * var(--catalog-unit));
  margin: 0;
  padding: 32px;
  border: 1px solid #dbdbdb;
  border-radius: calc(.5 * var(--catalog-unit));
  color: #68747d;
  font-size: calc(1.25 * var(--catalog-unit));
  text-align: center;
}
@media (max-width: 1024px) {
  body.tax-product_category .catalog .content > p { min-height: 220px; }
}

/* Product detail: reference banner, gallery, content columns and mobile flow. */
body.single-product .product-detail-page {
  --detail-unit: clamp(12px, 1vw, 16px);
  min-width: 0;
  background: #f6faff;
  color: #191919;
}
body.single-product .product-detail-page .detail-banner.product-archive-hero {
  height: min(45vw, 720px);
  min-height: 0;
  margin: 0;
  padding: 0;
  background: #079bd3 url("product-assets/banner.jpg") center / cover no-repeat;
}
body.single-product .product-detail-page .detail-banner > .wrap {
  display: flex;
  align-items: center;
  width: min(1200px, 94%);
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 0;
  color: #fff;
}
body.single-product .product-detail-page .detail-banner-label {
  position: relative;
  width: 100%;
  margin: 0;
  padding-left: 1em;
  color: #fff;
  font-size: calc(3.75 * var(--detail-unit));
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
  opacity: 1;
}
body.single-product .product-detail-page .detail-banner-label::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: .5em;
  height: .75em;
  transform: translateY(-50%);
  background: #c32429;
}
body.single-product .product-detail-breadcrumb {
  background: #f6faff;
  color: #26221f;
  font-size: calc(1.125 * var(--detail-unit));
}
body.single-product .product-detail-breadcrumb > .product-wide-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(.75 * var(--detail-unit));
  width: min(1600px, 94%);
  max-width: none;
  min-height: calc(3.5 * var(--detail-unit));
  margin: 0 auto;
  padding: calc(.5 * var(--detail-unit)) 0;
}
body.single-product .product-detail-breadcrumb a { color: #26221f; text-decoration: none; }
body.single-product .product-detail-breadcrumb a:hover,
body.single-product .product-detail-breadcrumb > div > span:last-child { color: #079bd3; }
body.single-product .breadcrumb-home-icon { font-size: 1.5em; line-height: 1; }
body.single-product.product-page .product-detail-page .product-detail-content {
  width: min(1600px, 94%);
  max-width: none;
  margin: 0 auto;
  padding: calc(8.5 * var(--detail-unit)) 0 calc(7 * var(--detail-unit));
  background: transparent;
}
body.single-product .product-detail-page .product-header-two-col {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: calc(1.5 * var(--detail-unit));
  margin: 0;
}
body.single-product .product-detail-page .product-media-column {
  flex: 0 0 calc(53.5 * var(--detail-unit));
  display: grid;
  grid-template-columns: calc(43.5 * var(--detail-unit)) calc(8.5 * var(--detail-unit));
  gap: calc(1.5 * var(--detail-unit));
  width: calc(53.5 * var(--detail-unit));
  min-width: 0;
}
body.single-product .product-detail-page .product-main-media {
  grid-column: 1;
  grid-row: 1;
  box-sizing: border-box;
  width: calc(43.5 * var(--detail-unit));
  height: calc(43.5 * var(--detail-unit));
  padding: calc(4 * var(--detail-unit));
  border: 1px solid #e5e5e5;
  border-radius: 0;
  background: #fff;
  aspect-ratio: auto;
  overflow: hidden;
}
body.single-product .product-detail-page .product-main-media img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
body.single-product .product-detail-page .product-main-media .gallery-prev,
body.single-product .product-detail-page .product-main-media .gallery-next {
  width: calc(2.5 * var(--detail-unit));
  height: calc(2.5 * var(--detail-unit));
  margin-top: calc(-1.25 * var(--detail-unit));
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #202630;
  font-size: calc(2 * var(--detail-unit));
}
body.single-product .product-detail-page .product-main-media .gallery-prev { left: 0; }
body.single-product .product-detail-page .product-main-media .gallery-next { right: 0; }
body.single-product .product-detail-page .product-thumbs {
  grid-column: 2;
  grid-row: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: calc(.75 * var(--detail-unit));
  width: calc(8.5 * var(--detail-unit));
  height: calc(43.5 * var(--detail-unit));
  padding: calc(3.625 * var(--detail-unit)) 0 calc(2.875 * var(--detail-unit));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}
body.single-product .product-detail-page .product-thumbs .thumb {
  box-sizing: border-box;
  flex: 0 0 calc(8.5 * var(--detail-unit));
  width: 100%;
  height: calc(8.5 * var(--detail-unit));
  padding: 0;
  border: 1px solid #e1e1e1;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
body.single-product .product-detail-page .product-thumbs .thumb[aria-pressed='true'] {
  border: 2px solid #a7b1bf;
  box-shadow: none;
}
body.single-product .product-detail-page .product-info-panel {
  flex: 0 0 min(calc(40.5 * var(--detail-unit)), calc(100% - 55 * var(--detail-unit)));
  width: min(calc(40.5 * var(--detail-unit)), calc(100% - 55 * var(--detail-unit)));
  max-width: calc(40.5 * var(--detail-unit));
  min-width: 0;
  padding-top: calc(3.625 * var(--detail-unit));
}
body.single-product .product-detail-page .product-category-label {
  margin: 0 0 calc(.25 * var(--detail-unit));
  padding: 0;
  border-radius: 0;
  background: none;
  color: #333;
  font-size: calc(1.625 * var(--detail-unit));
  font-weight: 400;
}
body.single-product .product-detail-page .product-summary-title {
  width: 100%;
  margin: 0;
  padding: 0 0 calc(.75 * var(--detail-unit));
  border-bottom: 1px solid #d3d2d1;
  color: #079bd3;
  font-size: calc(2.75 * var(--detail-unit));
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
body.single-product .product-detail-page .product-part-number-inline {
  width: 100%;
  margin: 0;
  padding: calc(.9 * var(--detail-unit)) 0;
  border-bottom: 1px solid #d3d2d1;
  color: #526070;
  font-size: var(--detail-unit);
}
body.single-product .product-detail-page .product-summary-text {
  margin: 0;
  padding: calc(.9 * var(--detail-unit)) 0;
  border-bottom: 1px solid #d3d2d1;
  color: #333;
  font-size: calc(1.125 * var(--detail-unit));
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.single-product .product-detail-page .product-summary-text p { margin: 0; }
body.single-product .product-detail-page .product-actions {
  width: 100%;
  margin: calc(2 * var(--detail-unit)) 0;
  padding: 0;
}
body.single-product .product-detail-page .product-quote-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(3 * var(--detail-unit));
  padding: calc(.5 * var(--detail-unit)) calc(1.25 * var(--detail-unit));
  border-radius: calc(.5 * var(--detail-unit));
  background: #079bd3;
  color: #fff;
  font-size: calc(1.5 * var(--detail-unit));
  font-weight: 600;
}
body.single-product .product-detail-page .product-quote-btn:hover { background: #0393d2; }
body.single-product .product-detail-page .product-specs-inline {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid #d3d2d1;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-title {
  padding: calc(.75 * var(--detail-unit)) 0;
  background: transparent;
  color: #079bd3;
  font-size: calc(1.125 * var(--detail-unit));
  font-weight: 600;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap {
  width: 100%;
  max-width: 100%;
  max-height: none;
  overflow-x: auto;
  overflow-y: auto;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap table {
  width: 100%;
  min-width: 560px;
  font-size: calc(.875 * var(--detail-unit));
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap td {
  padding: calc(.5 * var(--detail-unit));
  background: transparent;
  color: #333;
  text-align: left;
}
body.single-product .product-detail-page .product-detail-body {
  display: grid;
  grid-template-columns: minmax(0, min(calc(70.5 * var(--detail-unit)), calc(100% - 22 * var(--detail-unit)))) calc(20 * var(--detail-unit));
  justify-content: space-between;
  align-items: start;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
body.single-product .product-detail-page .product-detail-section-title {
  grid-column: 1 / -1;
  position: relative;
  width: 100%;
  margin: 0 0 calc(1.25 * 3 * var(--detail-unit));
  padding-left: 1.25em;
  color: #079bd3;
  font-size: calc(3 * var(--detail-unit));
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
}
body.single-product .product-detail-page .product-detail-section-title::before {
  content: '';
  position: absolute;
  top: .125em;
  left: 0;
  width: .6em;
  height: 1em;
  background: #079bd3;
}
body.single-product .product-detail-page .product-detail-main {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}
body.single-product .product-detail-page .product-detail-full-content {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
body.single-product .product-detail-page .product-content-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 0 0 calc(2.5 * var(--detail-unit));
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #333;
  font-size: calc(1.125 * var(--detail-unit));
  line-height: 1.55;
  overflow-x: auto;
  overflow-wrap: anywhere;
}
body.single-product .product-detail-page .product-content-wrap :is(h2,h3,h4) {
  position: relative;
  margin: calc(2 * var(--detail-unit)) 0 calc(.75 * var(--detail-unit));
  padding-left: 1em;
  color: #079bd3;
  font-size: calc(2 * var(--detail-unit));
  font-weight: 600;
  line-height: 1.25;
}
body.single-product .product-detail-page .product-content-wrap :is(h2,h3,h4)::before {
  content: '';
  position: absolute;
  top: .375em;
  left: 0;
  width: .5em;
  height: .5em;
  border-radius: 50%;
  background: #079bd3;
}
body.single-product .product-detail-page .product-content-wrap p { margin: 0 0 .75em; }
body.single-product .product-detail-page .product-content-wrap img {
  display: block;
  width: auto;
  max-width: 100% !important;
  height: auto !important;
  margin: calc(1 * var(--detail-unit)) auto;
  border-radius: 0;
}
body.single-product .product-detail-page .product-content-wrap table {
  width: 100%;
  min-width: 760px;
  margin: calc(1 * var(--detail-unit)) 0;
}
body.single-product .product-detail-page .product-content-wrap table td {
  padding: calc(.75 * var(--detail-unit));
  border-color: #d3d2d1;
}
body.single-product .product-detail-page .product-content-wrap table td:first-child {
  background: transparent;
  color: #079bd3;
}
body.single-product .product-detail-page .resources {
  margin: calc(3 * var(--detail-unit)) 0 0;
  padding: 0;
  border: 0;
}
body.single-product .product-detail-page .resources h2 {
  color: #079bd3;
  font-weight: 600;
}
body.single-product .product-detail-page .product-resource-grid { min-width: 0; }
body.single-product .product-detail-page .product-resource-grid .article {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.single-product .product-detail-page .product-sidebar {
  grid-column: 2;
  grid-row: 2;
  position: static;
  width: 100%;
  min-width: 0;
}
body.single-product .product-detail-page .sidebar-categories,
body.single-product .product-detail-page .sidebar-hot-products {
  margin: 0 0 calc(3 * var(--detail-unit));
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
body.single-product .product-detail-page .sidebar-title,
body.single-product .product-detail-page .sidebar-hot-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 0 0 calc(.5 * var(--detail-unit));
  border: 0;
  border-bottom: 1px solid #ccc;
  background: transparent;
  color: #079bd3;
  font-size: calc(1.75 * var(--detail-unit));
  font-weight: 600;
}
body.single-product .product-detail-page .sidebar-hot-title { font-size: calc(1.5 * var(--detail-unit)); }
body.single-product .product-detail-page .sidebar-menu-icon { font-size: calc(1.5 * var(--detail-unit)); opacity: 1; }
body.single-product .product-detail-page .hot-icon { display: none; }
body.single-product .product-detail-page .sidebar-category-list li { border-bottom: 1px solid #ccc; }
body.single-product .product-detail-page .sidebar-category-list li a {
  padding: calc(.9 * var(--detail-unit)) 0;
  background: transparent;
  color: #18222b;
  font-size: calc(1.25 * var(--detail-unit));
  font-weight: 600;
  line-height: 1.25;
}
body.single-product .product-detail-page .sidebar-category-list li a:hover,
body.single-product .product-detail-page .sidebar-category-list li.active a {
  padding-left: 0;
  border: 0;
  background: transparent;
  color: #079bd3;
}
body.single-product .product-detail-page .category-arrow { color: #18222b; }
body.single-product .product-detail-page .sidebar-category-list li:hover .category-arrow,
body.single-product .product-detail-page .sidebar-category-list li.active .category-arrow { color: #079bd3; }
body.single-product .product-detail-page .sidebar-hot-list li { margin: 0; border-bottom: 1px solid #e1e1e1; }
body.single-product .product-detail-page .sidebar-hot-list li a {
  padding: calc(.75 * var(--detail-unit)) 0;
  color: #666;
  font-size: var(--detail-unit);
}
body.single-product .product-detail-page .sidebar-hot-list li img {
  width: calc(4 * var(--detail-unit));
  height: calc(4 * var(--detail-unit));
  border-radius: 0;
  background: #fff;
}
body.single-product .product-detail-page .product-prev-next-nav {
  margin-top: calc(4 * var(--detail-unit));
  padding-top: calc(2 * var(--detail-unit));
  border-top: 1px solid #d3d2d1;
}
@media (max-width: 1024px) {
  body.single-product .product-detail-page .detail-banner.product-archive-hero { height: 42vw; }
  body.single-product .product-detail-page .detail-banner > .wrap { padding-top: 0; }
  body.single-product.product-page .product-detail-page .product-detail-content { padding-top: calc(6 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-header-two-col { flex-direction: column; gap: calc(2.5 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-media-column {
    flex: none;
    grid-template-columns: 76vw 17vw;
    gap: 1vw;
    width: 100%;
  }
  body.single-product .product-detail-page .product-main-media { width: 76vw; height: 76vw; padding: 0; }
  body.single-product .product-detail-page .product-thumbs { width: 17vw; height: 76vw; padding: 3.25vw 0 2.75vw; }
  body.single-product .product-detail-page .product-thumbs .thumb { flex-basis: 17vw; height: 17vw; }
  body.single-product .product-detail-page .product-info-panel { flex: none; width: 100%; max-width: none; padding-top: calc(2.5 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-detail-body { display: flex; flex-direction: column; gap: 0; }
  body.single-product .product-detail-page .product-detail-section-title { margin-bottom: calc(3 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-detail-main { order: 1; width: 100%; }
  body.single-product .product-detail-page .product-sidebar { order: 2; width: 100%; margin-top: calc(3 * var(--detail-unit)); }
}
@media (max-width: 680px) {
  body.single-product .product-detail-page .detail-banner.product-archive-hero { height: 64vw; }
  body.single-product .product-detail-page .detail-banner > .wrap { width: 94%; }
  body.single-product .product-detail-page .detail-banner-label {
    padding-left: clamp(30px, 8vw, 45px);
    font-size: clamp(25px, 7.7vw, 40px);
  }
  body.single-product .product-detail-page .detail-banner-label::before { width: clamp(14px, 3.8vw, 20px); }
  body.single-product.product-page .product-detail-page .product-detail-content {
    padding-top: calc(4.75 * var(--detail-unit));
    padding-bottom: calc(4 * var(--detail-unit));
  }
  body.single-product .product-detail-page .product-header-two-col {
    box-sizing: border-box;
    padding: 4vw 4vw 8vw;
  }
  body.single-product .product-detail-page .product-media-column {
    display: flex;
    flex-direction: column;
    gap: 3vw;
    width: 100%;
  }
  body.single-product .product-detail-page .product-main-media {
    width: 100%;
    height: 75.8vw;
    padding: 0;
  }
  body.single-product .product-detail-page .product-main-media { overflow: visible; }
  body.single-product .product-detail-page .product-main-media .gallery-prev,
  body.single-product .product-detail-page .product-main-media .gallery-next {
    top: calc(100% + 12.5vw);
    z-index: 4;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    background: transparent;
    font-size: 24px;
  }
  body.single-product .product-detail-page .product-thumbs {
    flex-direction: row;
    flex: none;
    gap: 4vw;
    width: 100%;
    height: 19vw;
    padding: 0 4.5vw;
    overflow-x: auto;
    overflow-y: hidden;
  }
  body.single-product .product-detail-page .product-thumbs .thumb {
    flex: 0 0 21.5vw;
    width: 21.5vw;
    height: 19vw;
  }
  body.single-product .product-detail-page .product-info-panel { padding-top: calc(2.5 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-category-label { font-size: calc(1.5 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-summary-title { font-size: calc(2.5 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-content-wrap { padding-left: 0; }
  body.single-product .product-detail-page .product-content-wrap table { min-width: 600px; }
  body.single-product .product-detail-page .product-detail-section-title { font-size: calc(2.375 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-sidebar { margin-top: calc(3 * var(--detail-unit)); }
  body.single-product .product-detail-page .product-prev-next-nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .product-detail-page .product-main-media img,
  body.single-product .product-detail-page .product-thumbs .thumb { transition: none; }
}

/* Product detail integrity: show one featured image and keep every specification visible. */
body.single-product .product-detail-page .product-media-column.product-main-only {
  display: block;
}
body.single-product .product-detail-page .product-media-column.product-main-only .product-main-media {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap {
  max-height: none;
  overflow: visible;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap td {
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap td:first-child {
  width: 45%;
}
body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap tr:last-child td {
  border-bottom: 1px solid #dce7ec;
}

/* Hot-product names: full source text, visually clamped to two lines. */
body.single-product .product-detail-page .sidebar-hot-list li a > span {
  display: -webkit-box;
  flex: 1 1 auto;
  min-width: 0;
  max-height: 2.8em;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Previous/next product names must remain complete at every viewport width. */
body.single-product .product-detail-page .product-nav .nav-title {
  display: block;
  max-height: none;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
}

@media (max-width: 680px) {
  body.single-product .side-actions {
    display: none;
  }
  body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap td {
    padding: 8px 7px;
  }
  body.single-product .product-detail-page .product-specs-inline .product-specs-table-wrap td:first-child {
    width: 44%;
  }
}

/* Customization services: Holder-style list and media panels. */
body.page-id-43 .cp-hotel-services {
  padding: clamp(64px, 7vw, 134px) 0 !important;
  background: #fff !important;
}
body.page-id-43 .cp-hotel-services > .cp-wrap {
  width: min(1600px, 92%);
}
body.page-id-43 .cp-hotel-services > .cp-wrap > .cp-heading {
  max-width: none;
  margin: 0 0 clamp(46px, 4vw, 78px);
}
body.page-id-43 .cp-hotel-services > .cp-wrap > .cp-heading h2 {
  margin: 0;
  color: #191919;
  font-size: clamp(34px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 0;
}
body.page-id-43 .cp-hotel-services .cp-tabs {
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 53%);
  gap: 7%;
  align-items: start;
}
body.page-id-43 .cp-hotel-services .cp-tablist {
  display: grid;
  overflow: visible;
  gap: 0;
  padding: 0;
}
body.page-id-43 .cp-hotel-services .cp-tablist button {
  box-sizing: border-box;
  width: 100%;
  min-height: clamp(78px, 5.7vw, 110px);
  padding: 20px 8px;
  border: 0;
  border-bottom: 1px solid #d8d8d8;
  display: flex;
  align-items: center;
  gap: 18px;
  background: transparent !important;
  color: #191919;
  font-size: clamp(18px, 1.45vw, 28px);
  line-height: 1.25;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: color .25s ease, padding-left .25s ease, border-color .25s ease;
}
body.page-id-43 .cp-hotel-services .cp-tablist button > span {
  flex: 0 0 auto;
  color: #191919;
  font-size: 13px;
  font-weight: 500;
  transition: color .25s ease;
}
body.page-id-43 .cp-hotel-services .cp-tablist button > b {
  display: block;
  margin-left: auto;
  color: #191919;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 400;
  transition: color .25s ease, transform .25s ease;
}
body.page-id-43 .cp-hotel-services .cp-tablist button:hover,
body.page-id-43 .cp-hotel-services .cp-tablist button:focus-visible,
body.page-id-43 .cp-hotel-services .cp-tablist button[aria-selected='true'] {
  padding-left: 18px;
  border-bottom-color: #079bd3;
  background: transparent !important;
  color: #079bd3 !important;
}
body.page-id-43 .cp-hotel-services .cp-tablist button:hover > span,
body.page-id-43 .cp-hotel-services .cp-tablist button:hover > b,
body.page-id-43 .cp-hotel-services .cp-tablist button:focus-visible > span,
body.page-id-43 .cp-hotel-services .cp-tablist button:focus-visible > b,
body.page-id-43 .cp-hotel-services .cp-tablist button[aria-selected='true'] > span,
body.page-id-43 .cp-hotel-services .cp-tablist button[aria-selected='true'] > b {
  color: #079bd3 !important;
}
body.page-id-43 .cp-hotel-services .cp-tablist button:hover > b,
body.page-id-43 .cp-hotel-services .cp-tablist button:focus-visible > b,
body.page-id-43 .cp-hotel-services .cp-tablist button[aria-selected='true'] > b {
  transform: translate(3px, -3px);
}
body.page-id-43 .cp-hotel-services .cp-tabpanels {
  min-width: 0;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels > section {
  animation: holderServicePanelIn .5s ease both;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels > section[hidden] {
  display: none;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels > section > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6;
  object-fit: cover;
  background: #eef4f8;
  transition: transform .6s ease, filter .35s ease;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels > section:hover > img {
  transform: scale(1.015);
  filter: brightness(.95);
}
body.page-id-43 .cp-hotel-services .cp-tabpanels > section > div {
  padding: clamp(24px, 2.2vw, 42px) 0 0;
  border: 0;
  background: transparent;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels h3 {
  margin: 0 0 14px;
  color: #191919;
  font-size: clamp(24px, 1.9vw, 36px);
  line-height: 1.25;
  font-weight: 500;
}
body.page-id-43 .cp-hotel-services .cp-tabpanels p {
  margin: 0;
  color: #5f6569;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.65;
}
@keyframes holderServicePanelIn {
  from { opacity: 0; transform: translateX(22px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  body.page-id-43 .cp-hotel-services .cp-tabs {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }
  body.page-id-43 .cp-hotel-services .cp-tabpanels {
    order: 1;
  }
  body.page-id-43 .cp-hotel-services .cp-tablist {
    order: 2;
    display: grid;
    overflow: visible;
    gap: 0;
    padding: 0;
  }
  body.page-id-43 .cp-hotel-services .cp-tablist button {
    flex: none;
    min-height: 72px;
    padding: 16px 4px;
    border-width: 0 0 1px;
    font-size: 18px;
  }
  body.page-id-43 .cp-hotel-services .cp-tablist button > b {
    display: block;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-43 .cp-hotel-services .cp-tabpanels > section {
    animation: none;
  }
  body.page-id-43 .cp-hotel-services .cp-tabpanels > section > img,
  body.page-id-43 .cp-hotel-services .cp-tablist button,
  body.page-id-43 .cp-hotel-services .cp-tablist button > b {
    transition: none;
  }
}

/* Customization quality process: Hanyatt-style textured 2x2 cards. */
body.page-id-43 .quality-process {
  position: relative;
  padding: clamp(64px, 6.25vw, 120px) 0 !important;
  background: #f3f1ed url("content-assets/hanyatt-quality-bg.jpg") center / cover no-repeat !important;
  overflow: hidden;
}
body.page-id-43 .quality-process > .cp-wrap {
  width: min(1536px, 92%);
}
body.page-id-43 .quality-process .cp-heading {
  max-width: 900px;
  margin: 0 auto clamp(48px, 4.1vw, 78px);
  text-align: center;
}
body.page-id-43 .quality-process .cp-heading h2 {
  margin: 0 0 18px;
  color: #191919;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 3.15vw, 60px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: 0;
}
body.page-id-43 .quality-process .cp-heading p {
  margin: 0 auto;
  color: #191919;
  font-size: clamp(15px, 1.15vw, 20px);
  line-height: 1.45;
}
body.page-id-43 .quality-process .quality-process-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
body.page-id-43 .quality-process .quality-process-card {
  position: relative;
  display: block !important;
  grid-template-columns: none !important;
  min-height: clamp(300px, 19.8vw, 380px);
  overflow: hidden;
  border: 0 !important;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
  opacity: 1 !important;
  transform: none !important;
  transition: opacity .6s ease, transform .6s ease, box-shadow .35s ease;
}
body.page-id-43 .quality-process.is-visible .quality-process-card {
  opacity: 1;
  transform: none;
}
body.page-id-43 .quality-process .quality-process-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  opacity: 0;
  transition: opacity .45s ease;
}
body.page-id-43 .quality-process .quality-process-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.55);
  transform: scale(1.04);
  transition: transform .7s ease;
}
body.page-id-43 .quality-process .quality-process-copy {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  min-height: inherit;
  height: 100%;
  padding: clamp(30px, 3vw, 58px);
  border: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: #fff;
  color: #191919;
  text-align: center;
  transition: background-color .45s ease, color .45s ease;
}
body.page-id-43 .quality-process .quality-process-copy > span {
  box-sizing: border-box;
  width: 76px;
  height: 76px;
  margin: 0;
  border: 2px solid #191919;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #191919;
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
  transition: border-color .45s ease, color .45s ease;
}
body.page-id-43 .quality-process .quality-process-copy > div {
  max-width: 560px;
}
body.page-id-43 .quality-process .quality-process-copy h3 {
  margin: 0;
  color: inherit;
  font-size: clamp(22px, 1.65vw, 32px);
  line-height: 1.25;
  font-weight: 500;
}
body.page-id-43 .quality-process .quality-process-copy p {
  margin: 12px 0 0;
  color: #5f6569;
  font-size: clamp(14px, .9vw, 17px);
  line-height: 1.55;
  transition: color .45s ease;
}
body.page-id-43 .quality-process .quality-process-card:hover,
body.page-id-43 .quality-process .quality-process-card:focus-within {
  box-shadow: 0 20px 46px rgba(0, 0, 0, .2);
  transform: translateY(-6px) !important;
}
body.page-id-43 .quality-process .quality-process-card:hover .quality-process-image,
body.page-id-43 .quality-process .quality-process-card:focus-within .quality-process-image {
  opacity: 1;
}
body.page-id-43 .quality-process .quality-process-card:hover .quality-process-image img,
body.page-id-43 .quality-process .quality-process-card:focus-within .quality-process-image img {
  transform: scale(1);
}
body.page-id-43 .quality-process .quality-process-card:hover .quality-process-copy,
body.page-id-43 .quality-process .quality-process-card:focus-within .quality-process-copy {
  background: rgba(0, 0, 0, .28) !important;
  color: #fff;
}
body.page-id-43 .quality-process .quality-process-card:hover .quality-process-copy > span,
body.page-id-43 .quality-process .quality-process-card:focus-within .quality-process-copy > span {
  border-color: #fff;
  color: #fff;
}
body.page-id-43 .quality-process .quality-process-card:hover .quality-process-copy p,
body.page-id-43 .quality-process .quality-process-card:focus-within .quality-process-copy p {
  color: rgba(255, 255, 255, .88);
}
@media (max-width: 767px) {
  body.page-id-43 .quality-process > .cp-wrap {
    width: 92%;
  }
  body.page-id-43 .quality-process .quality-process-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  body.page-id-43 .quality-process .quality-process-card {
    min-height: 280px;
  }
  body.page-id-43 .quality-process .quality-process-copy > span {
    width: 62px;
    height: 62px;
    font-size: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-43 .quality-process .quality-process-card,
  body.page-id-43 .quality-process .quality-process-image,
  body.page-id-43 .quality-process .quality-process-image img,
  body.page-id-43 .quality-process .quality-process-copy {
    transition: none;
  }
}

/* Customization hero follows the product archive banner system. */
body.page-id-43.product-page .cp-banner {
  display: block;
  position: relative;
  height: min(45vw, 720px);
  min-height: 0;
  overflow: hidden;
}
body.page-id-43.product-page .cp-banner > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
body.page-id-43.product-page .cp-banner::after {
  display: none;
}
body.page-id-43.product-page .cp-banner > .cp-wrap {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: min(1200px, 94%);
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 0;
}
body.page-id-43.product-page .cp-banner .cp-crumb,
body.page-id-43.product-page .cp-banner .cp-eyebrow {
  display: none;
}
body.page-id-43.product-page .cp-banner h1 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding-left: 60px;
  color: #fff;
  font-size: 60px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.page-id-43.product-page .cp-banner h1::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 45px;
  transform: translateY(-50%);
  background: #c32429;
}
@media (max-width: 1024px) {
  body.page-id-43.product-page .cp-banner {
    height: 42vw;
  }
  body.page-id-43.product-page .cp-banner > .cp-wrap {
    padding-top: 0;
  }
  body.page-id-43.product-page .cp-banner h1 {
    font-size: clamp(34px, 5vw, 52px);
  }
}
@media (max-width: 680px) {
  body.page-id-43 .side-actions {
    display: none;
  }
  body.page-id-43.product-page .cp-banner {
    height: 64vw;
  }
  body.page-id-43.product-page .cp-banner h1 {
    padding-left: clamp(30px, 8vw, 45px);
    font-size: clamp(25px, 7.7vw, 40px);
  }
  body.page-id-43.product-page .cp-banner h1::before {
    width: clamp(14px, 3.8vw, 20px);
    height: .75em;
  }
}

/* Customization intro: match the Holder hotel-solution split layout. */
body.page-id-43 .cp-hotel-intro {
  --holder-intro-gutter: calc((100vw - min(1600px, 94vw)) / 2);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 46% 47%;
  column-gap: 7%;
  align-items: start;
  width: min(1600px, 94%);
  max-width: none;
  margin: 0 auto;
  padding: 140px 0 !important;
  overflow: visible;
}
body.page-id-43 .cp-hotel-intro .cp-customization-image {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: calc(100% + var(--holder-intro-gutter) - 1px);
  height: min(40vw, 640px);
  margin: 0 0 0 calc(-1 * var(--holder-intro-gutter) + 1px);
  aspect-ratio: auto;
  overflow: visible;
  background: transparent;
}
body.page-id-43 .cp-hotel-intro .cp-customization-image::before {
  content: '';
  position: absolute;
  z-index: 0;
  left: clamp(12px, 2vw, 32px);
  right: calc(-1 * clamp(12px, 2vw, 32px));
  top: clamp(12px, 2vw, 32px);
  bottom: calc(-1 * clamp(12px, 2vw, 32px));
  background: #efefef;
}
body.page-id-43 .cp-hotel-intro .cp-customization-image img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
}
body.page-id-43 .cp-hotel-intro .cp-customization-image:hover img {
  transform: none;
}
body.page-id-43 .cp-hotel-intro .cp-customization-copy {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: min(41vw, 656px);
}
body.page-id-43 .cp-hotel-intro .cp-customization-copy .cp-heading {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-43 .cp-hotel-intro .cp-customization-copy .cp-eyebrow {
  display: none;
}
body.page-id-43 .cp-hotel-intro .cp-customization-copy h2 {
  margin: 0 0 clamp(11.25px, 1.75vw, 28px);
  color: #191919;
  font-size: clamp(30px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 0;
}
body.page-id-43 .cp-hotel-intro .managed-solution-description {
  margin: 0;
  color: #191919;
}
body.page-id-43 .cp-hotel-intro .managed-solution-description p {
  margin: 0;
  color: #191919;
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.75;
}
body.page-id-43 .cp-hotel-intro .managed-solution-description::after {
  content: '';
  display: block;
  width: clamp(48px, 4vw, 64px);
  height: clamp(9px, .75vw, 12px);
  margin-top: clamp(30px, 2.5vw, 40px);
  background: #e52228;
}
@media (min-width: 1201px) and (max-width: 1600px) {
  body.page-id-43 .cp-hotel-intro {
    padding-block: 8.75vw !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  body.page-id-43 .cp-hotel-intro {
    grid-template-columns: 46% 49%;
    column-gap: 5%;
    padding-block: 60px !important;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-image {
    height: 480px;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-image::before {
    left: 12px;
    right: -12px;
    top: 12px;
    bottom: -12px;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-copy {
    min-height: 492px;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-copy h2 {
    margin-bottom: 11.25px;
    font-size: 30px;
    line-height: 1.15;
  }
  body.page-id-43 .cp-hotel-intro .managed-solution-description p {
    font-size: 15px;
    line-height: 1.75;
  }
  body.page-id-43 .cp-hotel-intro .managed-solution-description::after {
    width: 48px;
    height: 9px;
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  body.page-id-43 .cp-hotel-intro {
    --holder-intro-gutter: 0px;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: 92%;
    padding-block: 60px !important;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-image {
    width: 100%;
    height: auto;
    margin: 0 0 36px;
    aspect-ratio: 3 / 2;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-image::before {
    left: 12px;
    right: -12px;
    top: 12px;
    bottom: -12px;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-copy {
    display: block;
    min-height: 0;
  }
  body.page-id-43 .cp-hotel-intro .cp-customization-copy h2 {
    margin-bottom: 11.25px;
    font-size: 30px;
    line-height: 1.15;
  }
  body.page-id-43 .cp-hotel-intro .managed-solution-description p {
    font-size: 15px;
    line-height: 1.75;
  }
  body.page-id-43 .cp-hotel-intro .managed-solution-description::after {
    width: 48px;
    height: 9px;
    margin-top: 30px;
  }
}

/* Customization audience: Holder-style dark backdrop and translucent cards. */
body.page-id-43 .cp-hotel-audience {
  position: relative;
  padding: clamp(57px, 4vw, 76px) 0 !important;
  background:
    linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .6)),
    var(--cp-backdrop) center / cover fixed no-repeat !important;
  overflow: hidden;
}
body.page-id-43 .cp-hotel-audience > .cp-wrap {
  position: relative;
  z-index: 1;
  width: min(1600px, 94%);
}
body.page-id-43 .cp-hotel-audience .cp-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: none;
  margin: 0;
  text-align: center;
}
body.page-id-43 .cp-hotel-audience .cp-heading h2 {
  order: 1;
  margin: 0 0 clamp(30px, 3.1vw, 49.5px);
  color: #fff;
  font-size: clamp(30px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 0;
}
body.page-id-43 .cp-hotel-audience .cp-heading .cp-eyebrow {
  display: none !important;
  order: 2;
  width: min(684px, 100%);
  margin: 0 auto clamp(30px, 3.1vw, 49.5px);
  color: #fff;
  font-size: clamp(15px, 1.125vw, 18px);
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
body.page-id-43 .cp-hotel-audience .cp-requirements-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
body.page-id-43 .cp-hotel-audience .cp-number-card {
  position: relative;
  box-sizing: border-box;
  min-height: 423px;
  padding: 56px 24px 64px;
  border: 0;
  background: rgba(255, 255, 255, .8);
  box-shadow: none;
  color: #191919;
  transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}
body.page-id-43 .cp-hotel-audience .cp-number-card::after {
  content: '';
  position: absolute;
  left: 24px;
  bottom: 64px;
  width: 36px;
  height: 6px;
  background: #e52228;
}
body.page-id-43 .cp-hotel-audience .cp-number-card > b {
  display: block;
  margin: 0 0 15px;
  color: #191919;
  font-size: 40px;
  line-height: 1.35;
  font-weight: 600;
  font-style: italic;
}
body.page-id-43 .cp-hotel-audience .cp-number-card > h3 {
  margin: 0 0 14px;
  color: #191919;
  font-size: clamp(20px, 1.46vw, 28px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-43 .cp-hotel-audience .cp-number-card > p {
  margin: 0;
  color: #191919;
  font-size: clamp(15px, .94vw, 18px);
  line-height: 1.35;
}
body.page-id-43 .cp-hotel-audience .cp-number-card:hover,
body.page-id-43 .cp-hotel-audience .cp-number-card:focus-within {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
}
@media (max-width: 1200px) {
  body.page-id-43 .cp-hotel-audience {
    background-attachment: scroll !important;
  }
  body.page-id-43 .cp-hotel-audience .cp-requirements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 2%;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card {
    min-height: 320px;
    padding: 36px 22px 54px;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card::after {
    left: 22px;
    bottom: 42px;
    width: 30px;
    height: 5px;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card > b {
    margin-bottom: 12px;
    font-size: 34px;
  }
}
@media (max-width: 600px) {
  body.page-id-43 .cp-hotel-audience .cp-requirements-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card {
    min-height: 279px;
    padding: 30px 18px;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card::after {
    left: 18px;
    bottom: 30px;
    width: 27px;
    height: 4.5px;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card > b {
    margin-bottom: 11.25px;
    font-size: 30px;
    line-height: 1.35;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card > h3 {
    margin-bottom: 10.5px;
    font-size: 21px;
    line-height: 1.25;
  }
  body.page-id-43 .cp-hotel-audience .cp-number-card > p {
    font-size: 15px;
    line-height: 1.35;
  }
}

/* Customization projects: Holder-style centered coverflow carousel. */
body.page-id-43 .project-cases-carousel {
  --case-main-width: min(824px, 43vw);
  --case-main-height: min(456px, 23.8vw);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(60px, 7.08vw, 136px) 0 !important;
  overflow: hidden;
  background: #fff;
}
body.page-id-43 .project-cases-carousel > .cp-heading {
  width: min(1600px, 94%);
  max-width: none;
  margin: 0 auto clamp(50px, 4.2vw, 80px);
  text-align: center;
}
body.page-id-43 .project-cases-carousel > .cp-heading h2 {
  margin: 0 0 clamp(11.25px, 1.75vw, 28px);
  color: #191919;
  font-size: clamp(30px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 0;
}
body.page-id-43 .project-cases-carousel > .cp-heading p {
  margin: 0;
  color: #191919;
  font-size: clamp(15px, 1.125vw, 18px);
  line-height: 1.35;
}
body.page-id-43 .project-cases-carousel .project-cases-viewport {
  position: relative;
  width: 100%;
  height: var(--case-main-height);
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
}
body.page-id-43 .project-cases-carousel .project-cases-viewport:active {
  cursor: grabbing;
}
body.page-id-43 .project-cases-carousel .project-cases-track {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform: none !important;
}
body.page-id-43 .project-cases-carousel .project-cases-card {
  position: absolute;
  inset: 0 auto auto 0;
  box-sizing: border-box;
  width: var(--case-main-width);
  height: var(--case-main-height);
  min-width: 0;
  border: 0;
  background: #111;
  overflow: hidden;
  cursor: pointer;
  transform-origin: left center;
  transition: transform .55s cubic-bezier(.22,.61,.36,1), opacity .45s ease, filter .45s ease;
  will-change: transform, opacity;
}
body.page-id-43 .project-cases-carousel .project-cases-card > img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  transition: transform .65s ease, filter .45s ease;
}
body.page-id-43 .project-cases-carousel .project-cases-card > div {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  min-height: 34%;
  padding: clamp(18px, 2vw, 38px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  border: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, .78));
  color: #fff;
  opacity: 0;
  transition: opacity .4s ease;
}
body.page-id-43 .project-cases-carousel .project-cases-card h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(18px, 1.55vw, 30px);
  line-height: 1.25;
  font-weight: 500;
  text-align: center;
}
body.page-id-43 .project-cases-carousel .project-cases-card h3::before,
body.page-id-43 .project-cases-carousel .project-cases-card h3::after {
  content: '–';
  display: inline-block;
  margin-inline: .45em;
}
body.page-id-43 .project-cases-carousel .project-cases-card.is-active > div {
  opacity: 1;
}
body.page-id-43 .project-cases-carousel .project-cases-card.is-previous > img,
body.page-id-43 .project-cases-carousel .project-cases-card.is-next > img {
  filter: brightness(.86);
}
body.page-id-43 .project-cases-carousel .project-cases-card:hover > img {
  transform: scale(1.035);
}
body.page-id-43 .project-cases-carousel .project-cases-controls {
  position: absolute;
  z-index: 6;
  inset: 0;
  display: block;
  margin: 0;
  pointer-events: none;
}
body.page-id-43 .project-cases-carousel .project-cases-controls button {
  position: absolute;
  top: 50%;
  width: 54px;
  height: 64px;
  margin-top: -32px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: rgba(80, 80, 80, .58);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color .25s ease, transform .25s ease;
}
body.page-id-43 .project-cases-carousel .project-cases-prev {
  left: calc(50% - var(--case-main-width) / 2 - 27px);
}
body.page-id-43 .project-cases-carousel .project-cases-next {
  right: calc(50% - var(--case-main-width) / 2 - 27px);
}
body.page-id-43 .project-cases-carousel .project-cases-controls button:hover,
body.page-id-43 .project-cases-carousel .project-cases-controls button:focus-visible {
  background: #079bd3;
  transform: scale(1.05);
}
@media (min-width: 768px) and (max-width: 1200px) {
  body.page-id-43 .project-cases-carousel {
    --case-main-width: 80vw;
    --case-main-height: 44.27vw;
  }
}
@media (max-width: 767px) {
  body.page-id-43 .project-cases-carousel {
    --case-main-width: 92vw;
    --case-main-height: 50.91vw;
  }
  body.page-id-43 .project-cases-carousel > .cp-heading {
    margin-bottom: 30px;
  }
  body.page-id-43 .project-cases-carousel .project-cases-card.is-previous,
  body.page-id-43 .project-cases-carousel .project-cases-card.is-next {
    opacity: 0 !important;
    pointer-events: none;
  }
  body.page-id-43 .project-cases-carousel .project-cases-controls button {
    width: 42px;
    height: 52px;
    margin-top: -26px;
    border-radius: 6px;
    font-size: 23px;
  }
  body.page-id-43 .project-cases-carousel .project-cases-prev {
    left: 4vw;
  }
  body.page-id-43 .project-cases-carousel .project-cases-next {
    right: 4vw;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-43 .project-cases-carousel .project-cases-card,
  body.page-id-43 .project-cases-carousel .project-cases-card > img {
    transition: none;
  }
}
/* About page: product-list hero + BORUI-inspired profile. */
.page-id-44 .cp-banner {
  min-height:280px;
  align-items:flex-end;
}
.page-id-44 .cp-banner::before {
  background:linear-gradient(90deg,rgba(8,29,43,.78),rgba(8,29,43,.25));
}
.page-id-44 .cp-banner::after { display:none; }
.page-id-44 .cp-banner > .cp-wrap {
  width:min(1200px,92%);
  padding:70px 0 42px;
}
.page-id-44 .cp-banner .cp-crumb,
.page-id-44 .cp-banner .cp-eyebrow { display:none; }
.page-id-44 .cp-banner h1 {
  max-width:none;
  margin:0 0 10px;
  font-size:clamp(38px,6vw,76px);
  letter-spacing:-.04em;
}

.page-id-44 .about-profile {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(44px,5vw,96px);
  align-items:start;
  padding-top:clamp(96px,7.1vw,136px);
  padding-bottom:clamp(88px,6.25vw,120px);
}
.page-id-44 .about-profile::before {
  content:"";
  position:absolute;
  z-index:-2;
  top:0;
  left:calc(0px - max(var(--page-gutter),calc((100vw - 1600px)/2)));
  width:min(1298px,78vw);
  height:min(513px,31vw);
  background:url('assets/images/home-about-world-map.png') left top/contain no-repeat;
  opacity:.38;
  pointer-events:none;
}
.page-id-44 .about-profile::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:clamp(36px,3.6vw,69px);
  right:calc(0px - max(var(--page-gutter),calc((100vw - 1600px)/2)));
  width:calc(50% + max(var(--page-gutter),calc((100vw - 1600px)/2)));
  height:clamp(410px,35.6vw,684px);
  background:#e6e6e6;
  pointer-events:none;
}
.page-id-44 .about-profile-copy {
  position:relative;
  z-index:1;
  padding-top:clamp(16px,2vw,38px);
}
.page-id-44 .about-profile .cp-heading { margin-bottom:clamp(28px,2.1vw,40px); }
.page-id-44 .about-profile .cp-heading .cp-eyebrow {
  margin-bottom:12px;
  color:var(--red);
  font-size:clamp(14px,1.25vw,24px);
  font-weight:700;
  letter-spacing:0;
}
.page-id-44 .about-profile .cp-heading h2 {
  color:#073777;
  font-size:clamp(38px,3vw,58px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:.01em;
}
.page-id-44 .about-profile-body p {
  margin:0 0 clamp(18px,1.5vw,29px);
  color:#17212a;
  font-size:clamp(16px,1.08vw,21px);
  line-height:1.5;
}
.page-id-44 .about-profile-video {
  position:relative;
  z-index:1;
  width:calc(100% + max(var(--page-gutter),calc((100vw - 1600px)/2)));
  height:clamp(440px,35.2vw,676px);
  margin:0;
  overflow:hidden;
  background:#e6e6e6;
  box-shadow:-4px 4px 16px rgba(0,0,0,.3);
}
.page-id-44 .about-profile-video > img {
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}
.page-id-44 .about-profile-video::after { background:rgba(8,29,43,.08); }
.page-id-44 .about-profile-video > span {
  width:clamp(62px,4.2vw,82px);
  height:clamp(62px,4.2vw,82px);
  border:1px solid rgba(255,255,255,.38);
  background:rgba(0,0,0,.5);
  box-shadow:0 0 0 12px rgba(255,255,255,.16);
}
.page-id-44 .about-profile-video > span::before {
  content:"";
  width:0;
  height:0;
  margin-left:6px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:18px solid #fff;
  transform:none;
}
.page-id-44 .about-profile-video:is(:hover,:focus-visible) > span {
  background:rgba(0,0,0,.68);
  transform:translate(-50%,-50%) scale(1.06)!important;
}

@media(max-width:900px) {
  .page-id-44 .cp-banner > .cp-wrap { padding:60px 0 32px; }
  .page-id-44 .about-profile {
    grid-template-columns:minmax(0,1fr);
    gap:36px;
    padding-top:64px;
    padding-bottom:64px;
  }
  .page-id-44 .about-profile::before {
    left:calc(0px - var(--page-gutter));
    width:calc(100% + var(--page-gutter) + var(--page-gutter));
    height:320px;
    background-size:auto 100%;
    opacity:.2;
  }
  .page-id-44 .about-profile::after { display:none; }
  .page-id-44 .about-profile-copy { padding-top:0; }
  .page-id-44 .about-profile-video {
    width:100%;
    height:auto;
    aspect-ratio:1.25;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
  }
}

@media(max-width:560px) {
  .page-id-44 .cp-banner { min-height:220px; }
  .page-id-44 .cp-banner h1 { font-size:clamp(32px,10vw,42px); }
  .page-id-44 .about-profile {
    gap:28px;
    padding-top:50px;
    padding-bottom:50px;
  }
  .page-id-44 .about-profile .cp-heading h2 { font-size:clamp(31px,9vw,38px); }
  .page-id-44 .about-profile-body p { font-size:16px; }
  .page-id-44 .about-profile-video { aspect-ratio:4/3; }
  .page-id-44 .about-profile-video > span {
    width:60px;
    height:60px;
    box-shadow:0 0 0 9px rgba(255,255,255,.16);
  }
}
/* About stats: match the compact, elevated counter panel used by the reference page. */
.page-id-44 .about-profile {
  padding-bottom:clamp(36px,3.8vw,72px);
}
.page-id-44 .about-stats {
  position:relative;
  z-index:1;
  margin-top:0;
  margin-bottom:clamp(48px,5vw,96px);
  padding:clamp(22px,1.7vw,32px) clamp(22px,2.5vw,40px);
  background:var(--ice,#f3f8fb);
  border-radius:10px;
  box-shadow:0 10px 18px rgba(18,49,67,.2);
}
.page-id-44 .about-stats > div {
  min-height:80px;
  padding:8px clamp(16px,1.8vw,30px);
  border-right:1px solid #c9d4dc;
}
.page-id-44 .about-stats > div:last-child { border-right:0; }
.page-id-44 .about-stats strong {
  display:block;
  color:#073777;
  font-size:clamp(20px,1.65vw,31px);
  font-weight:700;
  line-height:1.25;
}
@media(max-width:700px) {
  .page-id-44 .about-stats {
    margin-bottom:clamp(40px,10vw,64px);
    padding:12px 18px;
  }
  .page-id-44 .about-stats > div {
    min-height:0;
    padding:18px 12px;
    border-right:0;
    border-bottom:1px solid #c9d4dc;
  }
  .page-id-44 .about-stats > div:last-child { border-bottom:0; }
  .page-id-44 .about-stats strong { font-size:clamp(19px,5.4vw,25px); }
}
/* About hero/profile refinement: match the product-page composition and reference rhythm. */
.page-id-44 .cp-banner {
  min-height:clamp(420px,37.5vw,720px);
  align-items:center;
}
.page-id-44 .cp-banner > .cp-wrap {
  width:min(1200px,92%);
  padding:0;
}
.page-id-44 .cp-banner h1 {
  display:flex;
  align-items:center;
  gap:clamp(16px,1.6vw,30px);
  margin:0;
  font-size:clamp(42px,5.1vw,88px);
  line-height:1.1;
  letter-spacing:-.035em;
}
.page-id-44 .cp-banner h1::before {
  content:"";
  flex:0 0 auto;
  width:clamp(18px,2.1vw,32px);
  height:clamp(18px,2.1vw,32px);
  background:#e62129;
}

.page-id-44 .about-profile {
  padding-top:clamp(140px,11vw,210px);
}
.page-id-44 .about-profile::before {
  top:clamp(96px,7.1vw,136px);
}
.page-id-44 .about-profile::after {
  top:clamp(145px,10vw,195px);
}
.page-id-44 .about-profile-copy {
  padding-top:clamp(8px,.5vw,10px);
}

@media(max-width:900px) {
  .page-id-44 .cp-banner {
    min-height:clamp(300px,58vw,520px);
  }
  .page-id-44 .cp-banner > .cp-wrap { padding:0; }
  .page-id-44 .cp-banner h1 {
    gap:16px;
    font-size:clamp(34px,7vw,58px);
  }
  .page-id-44 .cp-banner h1::before {
    width:clamp(18px,3.4vw,26px);
    height:clamp(18px,3.4vw,26px);
  }
  .page-id-44 .about-profile {
    padding-top:64px;
  }
  .page-id-44 .about-profile::before { top:20px; }
  .page-id-44 .about-profile::after { top:0; }
  .page-id-44 .about-profile-copy { padding-top:0; }
}

@media(max-width:560px) {
  .page-id-44 .cp-banner { min-height:300px; }
  .page-id-44 .cp-banner h1 {
    gap:12px;
    font-size:clamp(30px,9vw,42px);
  }
  .page-id-44 .cp-banner h1::before {
    width:18px;
    height:18px;
  }
}
/* About profile: align the content block with the BORUI reference composition. */
.page-id-44 .about-profile {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(40px,4.4vw,84px);
  padding-top:clamp(64px,4.5vw,88px);
  padding-bottom:clamp(64px,6vw,112px);
}
.page-id-44 .about-profile::before {
  top:clamp(24px,5vw,80px);
  left:calc(0px - max(var(--page-gutter),calc((100vw - 1600px)/2)));
  width:100vw;
  height:clamp(300px,26.5vw,508px);
  background:url('assets/images/page-about-bg.jpg') left top/auto 100% no-repeat;
  opacity:1;
}
.page-id-44 .about-profile::after {
  top:clamp(-38px,-2vw,-12px);
  right:calc(0px - max(var(--page-gutter),calc((100vw - 1600px)/2)));
  width:clamp(560px,34vw,680px);
  height:clamp(410px,35.6vw,684px);
}
.page-id-44 .about-profile-copy { padding-top:0; }
.page-id-44 .about-profile .cp-heading h2 {
  color:var(--blue,#079bd3)!important;
}
.page-id-44 .about-profile-video {
  width:calc(100% + max(var(--page-gutter),calc((100vw - 1600px)/2)) + max(var(--page-gutter),calc((100vw - 1600px)/2)));
  margin-right:calc(0px - max(var(--page-gutter),calc((100vw - 1600px)/2)));
}
@media(max-width:900px) {
  .page-id-44 .about-profile {
    grid-template-columns:minmax(0,1fr);
    gap:36px;
    padding-top:56px;
    padding-bottom:64px;
  }
  .page-id-44 .about-profile::before {
    top:0;
    left:calc(0px - var(--page-gutter));
    width:calc(100% + var(--page-gutter) + var(--page-gutter));
    height:320px;
    background-size:auto 100%;
    opacity:.9;
  }
  .page-id-44 .about-profile::after { display:none; }
  .page-id-44 .about-profile-video {
    width:100%;
    margin-right:0;
  }
}
@media(max-width:560px) {
  .page-id-44 .about-profile {
    gap:28px;
    padding-top:50px;
    padding-bottom:50px;
  }
  .page-id-44 .about-profile .cp-heading h2 { font-size:clamp(31px,9vw,38px); }
  .page-id-44 .about-profile-video { aspect-ratio:4/3; }
}

/* codex-about-profile-borui-20260918 */
/* About company profile: mirror BORUI's map-backed split layout while keeping KOVAX content. */
body.page-id-44 .about-profile {
  position: relative;
  isolation: isolate;
  width: min(1600px, 94%);
  max-width: none;
  margin-inline: auto;
  padding: clamp(187.2px, 10.8334vw, 208px) 0 clamp(88px, 5.1042vw, 98px);
  display: grid;
  grid-template-columns: 50% minmax(0, 1fr);
  gap: clamp(74.7px, 4.6094vw, 88.5px);
  align-items: start;
  overflow: visible;
}
body.page-id-44 .cp-about {
  overflow-x: hidden;
}
body.page-id-44 .about-profile::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  width: auto;
  height: auto;
  opacity: 1;
  background-color: #fff;
  background-image: url("/wp-content/themes/kovax/assets/images/page-about-bg.jpg");
  background-repeat: no-repeat;
  background-position: 0 clamp(115.2px, 6.6667vw, 128px);
  background-size: auto clamp(457.2px, 26.4584vw, 508px);
  pointer-events: none;
}
body.page-id-44 .about-profile::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(126px, 7.2917vw, 140px);
  right: calc(50% - 50vw);
  width: clamp(599.4px, 34.6875vw, 666px);
  height: clamp(513px, 29.6875vw, 570px);
  background: #e6e6e6;
  pointer-events: none;
}
body.page-id-44 .about-profile-copy,
body.page-id-44 .about-profile-video {
  position: relative;
  z-index: 1;
  min-width: 0;
}
body.page-id-44 .about-profile-copy {
  padding-top: 0;
}
body.page-id-44 .about-profile .cp-heading {
  max-width: none;
  margin: 0 0 clamp(45px, 2.6042vw, 50px);
}
body.page-id-44 .about-profile .cp-heading .cp-eyebrow {
  display: block;
  margin: 0 0 15px;
  color: #c81920;
  font-size: clamp(21.6px, 1.25vw, 24px);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
}
body.page-id-44 .about-profile .cp-heading h2 {
  margin: 0;
  color: #079bd3 !important;
  font-size: clamp(43.2px, 3vw, 48px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .about-profile-body p {
  margin: 0 0 30px;
  color: #191919;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
}
body.page-id-44 .about-profile-body p:last-child {
  margin-bottom: 0;
}
body.page-id-44 .about-profile-video {
  width: calc(100% + max(4.425vw, calc((100vw - 1600px) / 2 + 24px)));
  max-width: none;
  height: clamp(608.4px, 35.2084vw, 676px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: block;
  overflow: hidden;
  background: transparent;
  aspect-ratio: auto;
  box-shadow: -4px 4px 16px rgba(0, 0, 0, .3);
}
body.page-id-44 .about-profile-video > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
}
body.page-id-44 .about-profile-video::after {
  background: transparent;
}

/* The four about-page business directions use KOVAX's primary blue. */
body.page-id-44 .about-stats strong {
  color: #079bd3 !important;
}

@media (max-width: 1200px) {
  body.page-id-44 .about-profile {
    width: 94%;
    padding: 72px 0 36px;
    display: block;
  }
  body.page-id-44 .about-profile::before {
    top: 0;
    bottom: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    width: auto;
    height: auto;
    opacity: 1;
    background-position: 0 96px;
    background-size: auto 381px;
  }
  body.page-id-44 .about-profile::after {
    display: none;
  }
  body.page-id-44 .about-profile .cp-heading {
    margin-bottom: 45px;
  }
  body.page-id-44 .about-profile .cp-heading .cp-eyebrow {
    font-size: 18px;
  }
  body.page-id-44 .about-profile .cp-heading h2 {
    font-size: 36px;
  }
  body.page-id-44 .about-profile-body p {
    font-size: 18px;
    line-height: 1.5;
  }
  body.page-id-44 .about-profile-video {
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: auto;
  }
  body.page-id-44 .about-profile-video > img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
  }
}
@media (max-width: 600px) {
  body.page-id-44 .about-profile {
    padding-top: 57px;
    padding-bottom: 34px;
  }
  body.page-id-44 .about-profile .cp-heading {
    margin-bottom: 22.5px;
  }
  body.page-id-44 .about-profile .cp-heading .cp-eyebrow {
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.2;
  }
  body.page-id-44 .about-profile .cp-heading h2 {
    font-size: 30px;
    line-height: 1.25;
  }
  body.page-id-44 .about-profile-body p {
    margin-bottom: 22.5px;
    font-size: 15px;
    line-height: 1.5;
  }
}

/* codex-about-play-and-factory-borui-20260918 */

body.page-id-44 {
  --borui-unit: 12px;
}
@media (min-width: 1201px) and (max-width: 1679px) {
  body.page-id-44 { --borui-unit: 1vw; }
}
@media (min-width: 1680px) {
  body.page-id-44 { --borui-unit: calc(100vw / 120); }
}

/* About video control: exact BORUI translucent disc, SVG silhouette and pulse. */
body.page-id-44 .about-profile-video > span {
  width: calc(3.75 * var(--borui-unit));
  height: calc(3.75 * var(--borui-unit));
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid !important;
  place-items: center;
  overflow: visible;
  background: rgba(255, 255, 255, .5);
  box-shadow: none;
  color: #191919 !important;
  font-size: 0 !important;
  transition: background-color .35s ease;
}
body.page-id-44 .about-profile-video > span::before {
  content: "";
  position: relative !important;
  z-index: 1;
  left: calc(.125 * var(--borui-unit)) !important;
  top: auto !important;
  width: calc(1.5 * var(--borui-unit));
  height: calc(1.5 * var(--borui-unit));
  margin: 0;
  border: 0 !important;
  display: block;
  background: currentColor;
  transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.page-id-44 .about-profile-video > span::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  animation: kovax-video-pulse-outside 2s ease-out infinite;
  pointer-events: none;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span {
  background: #082c6b;
  color: #fff !important;
  transform: translate(-50%, -50%) !important;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span::after {
  background: #082c6b;
}
@keyframes kovax-video-pulse-outside {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}

/* About factory rail: BORUI page-verified sizing, placement and switching rhythm. */
body.page-id-44 .cp-factory {
  --factory-container: min(94vw, calc(100 * var(--borui-unit)));
  --factory-gutter: calc((100vw - var(--factory-container)) / 2);
  --factory-small-width: calc(33.25 * var(--borui-unit));
  --factory-small-height: calc(23.375 * var(--borui-unit));
  --factory-large-width: calc(40 * var(--borui-unit));
  --factory-large-height: calc(30.25 * var(--borui-unit));
  --factory-base-left: calc(var(--factory-gutter) + 20 * var(--borui-unit));
  --factory-active-top: calc(-9.25 * var(--borui-unit));
  --factory-space: 22.5px;
  position: relative;
  box-sizing: border-box;
  padding: calc(5.75 * var(--borui-unit)) 0 calc(8 * var(--borui-unit));
  overflow: hidden;
  background-color: #fff;
  background-image: linear-gradient(0deg, rgba(8, 44, 107, .2) 0%, rgba(8, 44, 107, .1) 20%, rgba(8, 44, 107, 0) 60%, rgba(8, 44, 107, 0) 100%);
}
body.page-id-44 .cp-factory > .cp-wrap {
  width: 94%;
  max-width: calc(100 * var(--borui-unit));
  margin-inline: auto;
}
body.page-id-44 .cp-factory .cp-heading {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-44 .cp-factory .cp-heading h2 {
  width: 100%;
  margin: 0;
  color: #079bd3 !important;
  font-size: calc(3 * var(--borui-unit));
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
  box-sizing: border-box;
  width: min(100%, calc(49 * var(--borui-unit)));
  max-width: none;
  margin: 0;
  padding: calc(.75 * var(--borui-unit)) 0 calc(1.5 * var(--borui-unit));
  color: #191919;
  font-size: calc(1.25 * var(--borui-unit));
  line-height: 1.35;
  font-weight: 400;
}
body.page-id-44 .cp-factory .cp-rail {
  min-width: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls {
  position: relative;
  z-index: 4;
  width: calc(8 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls button {
  position: relative;
  box-sizing: border-box;
  width: calc(2.75 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  padding: calc(.75 * var(--borui-unit));
  border: 1px solid #191919;
  border-radius: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: transparent;
  color: #191919;
  font-size: 0;
  line-height: 1;
  transform: none;
  transition: background-color .5s, border-color .5s, color .5s;
}
body.page-id-44 .cp-factory .cp-rail-controls button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
body.page-id-44 .cp-factory .cp-rail-controls button:first-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:last-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:is(:hover, :focus-visible) {
  border-color: #079bd3;
  background: #079bd3;
  color: #fff;
  transform: none;
}
body.page-id-44 .cp-factory .cp-rail-track {
  position: relative;
  display: block;
  width: 100vw;
  max-width: none;
  height: var(--factory-small-height);
  margin: calc(5 * var(--borui-unit)) 0 0 calc(50% - 50vw);
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
body.page-id-44 .cp-factory .cp-rail-track > a {
  position: absolute;
  top: 0 !important;
  left: var(--factory-base-left) !important;
  width: var(--factory-small-width) !important;
  height: var(--factory-small-height) !important;
  min-width: 0;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: center center;
  z-index: 1 !important;
  pointer-events: auto !important;
  box-shadow: none;
  transition: left .5s, top .5s, width .5s, height .5s, opacity .5s, box-shadow .5s;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-after {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-previous {
  left: var(--factory-base-left) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
  top: var(--factory-active-top) !important;
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space)) !important;
  width: var(--factory-large-width) !important;
  height: var(--factory-large-height) !important;
  z-index: 3 !important;
  box-shadow: calc(.25 * var(--borui-unit)) calc(.25 * var(--borui-unit)) calc(1 * var(--borui-unit)) rgba(0, 0, 0, .2);
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-next {
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space) + var(--factory-large-width) + var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-before {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space) - var(--factory-small-width) - var(--factory-space)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
  background: #fff;
  transition: .5s;
}

@media (min-width: 681px) and (max-width: 1180px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 33vw;
    --factory-small-height: 23vw;
    --factory-large-width: 40vw;
    --factory-large-height: 30vw;
    --factory-base-left: calc(var(--factory-gutter) + 20vw);
    --factory-active-top: -9vw;
  }
}
@media (max-width: 1024px) {
  body.page-id-44 .cp-factory {
    padding-top: calc(3.75 * var(--borui-unit));
    padding-bottom: calc(6 * var(--borui-unit));
  }
}
@media (max-width: 680px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 94vw;
    --factory-small-height: 64vw;
    --factory-large-width: 94vw;
    --factory-large-height: 64vw;
    --factory-base-left: 3vw;
    --factory-active-top: 0px;
    padding-bottom: calc(4.75 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading h2 {
    font-size: calc(2.5 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
    width: 100%;
  }
  body.page-id-44 .cp-factory .cp-rail-track {
    height: 64vw;
    margin-top: calc(3 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    top: 0 !important;
    left: 3vw !important;
    width: 94vw !important;
    height: 64vw !important;
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    box-shadow: none;
  }
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-44 .about-profile-video > span::after { animation: none; opacity: 0; }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a img,
  body.page-id-44 .cp-factory .cp-rail-controls button { transition: none; }
}

/* codex-about-clients-rd-20260919: align the about modules with BORUI's split-list and 2x2 card layouts. */
body.page-id-44 .about-clients {
  width: min(1600px, 94%);
  max-width: none;
  margin-inline: auto;
  padding: clamp(72px, 7vw, 132px) 0;
  background: #fff;
}
body.page-id-44 .about-clients > .cp-heading {
  max-width: none;
  margin: 0 0 clamp(42px, 4vw, 72px);
}
body.page-id-44 .about-clients > .cp-heading h2 {
  margin: 0;
  color: #079bd3 !important;
  font-size: clamp(34px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .about-clients .cp-tabs {
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 53%);
  gap: 7%;
  align-items: start;
}
body.page-id-44 .about-clients .cp-tablist {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: visible;
}
body.page-id-44 .about-clients .cp-tablist button {
  box-sizing: border-box;
  width: 100%;
  min-height: clamp(78px, 5.7vw, 110px);
  padding: 20px 8px;
  border: 0;
  border-bottom: 1px solid #d8d8d8;
  display: flex;
  align-items: center;
  gap: 18px;
  background: transparent !important;
  color: #191919;
  font-size: clamp(18px, 1.45vw, 28px);
  line-height: 1.25;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: color .25s ease, padding-left .25s ease, border-color .25s ease;
}
body.page-id-44 .about-clients .cp-tablist button > span {
  flex: 0 0 auto;
  color: #191919;
  font-size: 13px;
  font-weight: 500;
  transition: color .25s ease;
}
body.page-id-44 .about-clients .cp-tablist button > b {
  display: block;
  margin-left: auto;
  color: #191919;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 400;
  transition: color .25s ease, transform .25s ease;
}
body.page-id-44 .about-clients .cp-tablist button:hover,
body.page-id-44 .about-clients .cp-tablist button:focus-visible,
body.page-id-44 .about-clients .cp-tablist button[aria-selected='true'] {
  padding-left: 18px;
  border-bottom-color: #079bd3;
  background: transparent !important;
  color: #079bd3 !important;
}
body.page-id-44 .about-clients .cp-tablist button:hover > span,
body.page-id-44 .about-clients .cp-tablist button:hover > b,
body.page-id-44 .about-clients .cp-tablist button:focus-visible > span,
body.page-id-44 .about-clients .cp-tablist button:focus-visible > b,
body.page-id-44 .about-clients .cp-tablist button[aria-selected='true'] > span,
body.page-id-44 .about-clients .cp-tablist button[aria-selected='true'] > b {
  color: #079bd3 !important;
}
body.page-id-44 .about-clients .cp-tablist button:hover > b,
body.page-id-44 .about-clients .cp-tablist button:focus-visible > b,
body.page-id-44 .about-clients .cp-tablist button[aria-selected='true'] > b {
  transform: translate(3px, -3px);
}
body.page-id-44 .about-clients .cp-tabpanels { min-width: 0; }
body.page-id-44 .about-clients .cp-tabpanels > section {
  animation: kovaxAboutClientPanelIn .5s ease both;
}
body.page-id-44 .about-clients .cp-tabpanels > section[hidden] { display: none; }
body.page-id-44 .about-clients .cp-tabpanels > section > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6;
  object-fit: cover;
  background: #eef4f8;
  transition: transform .6s ease, filter .35s ease;
}
body.page-id-44 .about-clients .cp-tabpanels > section:hover > img {
  transform: scale(1.015);
  filter: brightness(.95);
}
body.page-id-44 .about-clients .cp-tabpanels > section > div {
  padding: clamp(24px, 2.2vw, 42px) 0 0;
  border: 0;
  background: transparent;
}
body.page-id-44 .about-clients .cp-tabpanels h3 {
  margin: 0 0 14px;
  color: #079bd3;
  font-size: clamp(24px, 1.9vw, 36px);
  line-height: 1.25;
  font-weight: 600;
}
body.page-id-44 .about-clients .cp-tabpanels p {
  margin: 0;
  color: #5f6569;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.65;
}
@keyframes kovaxAboutClientPanelIn {
  from { opacity: 0; transform: translateX(22px); }
  to { opacity: 1; transform: none; }
}

body.page-id-44 .about-rd {
  width: 100%;
  max-width: none;
  padding: clamp(72px, 7vw, 132px) 0;
  background: #fff;
}
body.page-id-44 .about-rd > .cp-wrap { width: min(1600px, 94%); }
body.page-id-44 .about-rd > .cp-wrap > .cp-heading {
  max-width: none;
  margin: 0 0 clamp(44px, 4.5vw, 78px);
  text-align: center;
}
body.page-id-44 .about-rd > .cp-wrap > .cp-heading h2 {
  margin: 0;
  color: #079bd3 !important;
  font-size: clamp(34px, 3.5vw, 56px);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .about-rd .about-rd-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(42px, 4.5vw, 82px) clamp(56px, 6vw, 108px);
}
body.page-id-44 .about-rd .about-rd-card {
  box-sizing: border-box;
  min-height: 206px;
  padding: clamp(28px, 2.4vw, 42px) clamp(32px, 3.2vw, 58px);
  border: 0;
  border-left: 8px solid #082c6b;
  border-radius: 0;
  background: #f3f8fc;
  box-shadow: none;
  transition: transform .3s ease, box-shadow .3s ease;
}
body.page-id-44 .about-rd .about-rd-card:nth-child(4n + 1),
body.page-id-44 .about-rd .about-rd-card:nth-child(4n + 4) {
  border-left-color: #d6222d;
}
body.page-id-44 .about-rd .about-rd-card:hover,
body.page-id-44 .about-rd .about-rd-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgb(8 44 107 / 12%);
}
body.page-id-44 .about-rd .about-rd-image { display: none; }
body.page-id-44 .about-rd .about-rd-card > b {
  /* The source keeps the sequence marker for editors; BORUI's capability cards do not render it. */
  display: none;
}
body.page-id-44 .about-rd .about-rd-card > h3 {
  margin: 0 0 12px;
  color: #082c6b;
  font-size: clamp(20px, 1.65vw, 30px);
  line-height: 1.25;
  font-weight: 600;
}
body.page-id-44 .about-rd .about-rd-card > p {
  margin: 0;
  color: #191919;
  font-size: clamp(15px, 1.08vw, 19px);
  line-height: 1.45;
}

@media (max-width: 900px) {
  body.page-id-44 .about-clients .cp-tabs {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }
  body.page-id-44 .about-clients .cp-tabpanels { order: 1; }
  body.page-id-44 .about-clients .cp-tablist {
    order: 2;
    display: grid;
    overflow: visible;
  }
  body.page-id-44 .about-clients .cp-tablist button {
    min-height: 72px;
    padding: 16px 4px;
    font-size: 18px;
  }
  body.page-id-44 .about-clients .cp-tablist button > b { display: block; }
}
@media (max-width: 680px) {
  body.page-id-44 .about-clients,
  body.page-id-44 .about-rd { padding-block: 58px; }
  body.page-id-44 .about-rd .about-rd-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.page-id-44 .about-rd .about-rd-card { min-height: 0; padding: 28px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-44 .about-clients .cp-tabpanels > section,
  body.page-id-44 .about-clients .cp-tabpanels > section > img,
  body.page-id-44 .about-clients .cp-tablist button,
  body.page-id-44 .about-clients .cp-tablist button > b,
  body.page-id-44 .about-rd .about-rd-card { transition: none; animation: none; }
}

/* codex-about-play-and-factory-borui-20260918 */

body.page-id-44 {
  --borui-unit: 12px;
}
@media (min-width: 1201px) and (max-width: 1679px) {
  body.page-id-44 { --borui-unit: 1vw; }
}
@media (min-width: 1680px) {
  body.page-id-44 { --borui-unit: calc(100vw / 120); }
}

/* About video control: exact BORUI translucent disc, SVG silhouette and pulse. */
body.page-id-44 .about-profile-video > span {
  width: calc(3.75 * var(--borui-unit));
  height: calc(3.75 * var(--borui-unit));
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid !important;
  place-items: center;
  overflow: visible;
  background: rgba(255, 255, 255, .5);
  box-shadow: none;
  color: #191919 !important;
  font-size: 0 !important;
  transition: background-color .35s ease;
}
body.page-id-44 .about-profile-video > span::before {
  content: "";
  position: relative !important;
  z-index: 1;
  left: 0 !important;
  top: auto !important;
  width: calc(1.5 * var(--borui-unit));
  height: calc(1.5 * var(--borui-unit));
  margin: 0;
  border: 0 !important;
  display: block;
  background: currentColor;
  transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.page-id-44 .about-profile-video > span::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  animation: kovax-video-pulse-outside 2s ease-out infinite;
  pointer-events: none;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span {
  background: #082c6b;
  color: #fff !important;
  transform: translate(-50%, -50%) !important;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span::after {
  background: #082c6b;
}
@keyframes kovax-video-pulse-outside {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}

/* About factory rail: BORUI page-verified sizing, placement and switching rhythm. */
body.page-id-44 .cp-factory {
  --factory-container: min(94vw, calc(100 * var(--borui-unit)));
  --factory-gutter: calc((100vw - var(--factory-container)) / 2);
  --factory-small-width: calc(33.25 * var(--borui-unit));
  --factory-small-height: calc(23.375 * var(--borui-unit));
  --factory-large-width: calc(40 * var(--borui-unit));
  --factory-large-height: calc(30.25 * var(--borui-unit));
  --factory-base-left: calc(var(--factory-gutter) + 20 * var(--borui-unit));
  --factory-active-top: calc(-9.25 * var(--borui-unit));
  --factory-space: 22.5px;
  position: relative;
  box-sizing: border-box;
  padding: calc(5.75 * var(--borui-unit)) 0 calc(8 * var(--borui-unit));
  overflow: hidden;
  background-color: #fff;
  background-image: linear-gradient(0deg, rgba(8, 44, 107, .2) 0%, rgba(8, 44, 107, .1) 20%, rgba(8, 44, 107, 0) 60%, rgba(8, 44, 107, 0) 100%);
}
body.page-id-44 .cp-factory > .cp-wrap {
  width: 94%;
  max-width: calc(100 * var(--borui-unit));
  margin-inline: auto;
}
body.page-id-44 .cp-factory .cp-heading {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-44 .cp-factory .cp-heading h2 {
  width: 100%;
  margin: 0;
  color: #079bd3 !important;
  font-size: calc(3 * var(--borui-unit));
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
  box-sizing: border-box;
  width: min(100%, calc(49 * var(--borui-unit)));
  max-width: none;
  margin: 0;
  padding: calc(.75 * var(--borui-unit)) 0 calc(1.5 * var(--borui-unit));
  color: #191919;
  font-size: calc(1.25 * var(--borui-unit));
  line-height: 1.35;
  font-weight: 400;
}
body.page-id-44 .cp-factory .cp-rail {
  min-width: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls {
  position: relative;
  z-index: 4;
  width: calc(8 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls button {
  position: relative;
  box-sizing: border-box;
  width: calc(2.75 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  padding: calc(.75 * var(--borui-unit));
  border: 1px solid #191919;
  border-radius: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: transparent;
  color: #191919;
  font-size: 0;
  line-height: 1;
  transform: none;
  transition: background-color .5s, border-color .5s, color .5s;
}
body.page-id-44 .cp-factory .cp-rail-controls button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
body.page-id-44 .cp-factory .cp-rail-controls button:first-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:last-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:is(:hover, :focus-visible) {
  border-color: #079bd3;
  background: #079bd3;
  color: #fff;
  transform: none;
}
body.page-id-44 .cp-factory .cp-rail-track {
  position: relative;
  display: block;
  width: 100vw;
  max-width: none;
  height: var(--factory-small-height);
  margin: calc(5 * var(--borui-unit)) 0 0 calc(50% - 50vw);
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
body.page-id-44 .cp-factory .cp-rail-track > a {
  position: absolute;
  top: 0 !important;
  left: var(--factory-base-left) !important;
  width: var(--factory-small-width) !important;
  height: var(--factory-small-height) !important;
  min-width: 0;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: center center;
  z-index: 1 !important;
  pointer-events: auto !important;
  box-shadow: none;
  transition: left .28s cubic-bezier(.22,.61,.36,1), width .28s cubic-bezier(.22,.61,.36,1), height 0s, top 0s, opacity .28s ease, box-shadow .28s ease;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-after {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-previous {
  left: var(--factory-base-left) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
  top: var(--factory-active-top) !important;
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space)) !important;
  width: var(--factory-large-width) !important;
  height: var(--factory-large-height) !important;
  z-index: 3 !important;
  box-shadow: calc(.25 * var(--borui-unit)) calc(.25 * var(--borui-unit)) calc(1 * var(--borui-unit)) rgba(0, 0, 0, .2);
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-next {
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space) + var(--factory-large-width) + var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-before {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space) - var(--factory-small-width) - var(--factory-space)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
  background: #fff;
  transition: .5s;
}

@media (min-width: 681px) and (max-width: 1180px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 33vw;
    --factory-small-height: 23vw;
    --factory-large-width: 40vw;
    --factory-large-height: 30vw;
    --factory-base-left: calc(var(--factory-gutter) + 20vw);
    --factory-active-top: -9vw;
  }
}
@media (max-width: 1024px) {
  body.page-id-44 .cp-factory {
    padding-top: calc(3.75 * var(--borui-unit));
    padding-bottom: calc(6 * var(--borui-unit));
  }
}
@media (max-width: 680px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 94vw;
    --factory-small-height: 64vw;
    --factory-large-width: 94vw;
    --factory-large-height: 64vw;
    --factory-base-left: 3vw;
    --factory-active-top: 0px;
    padding-bottom: calc(4.75 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading h2 {
    font-size: calc(2.5 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
    width: 100%;
  }
  body.page-id-44 .cp-factory .cp-rail-track {
    height: 64vw;
    margin-top: calc(3 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    top: 0 !important;
    left: 3vw !important;
    width: 94vw !important;
    height: 64vw !important;
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    box-shadow: none;
  }
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-44 .about-profile-video > span::after { animation: none; opacity: 0; }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a img,
  body.page-id-44 .cp-factory .cp-rail-controls button { transition: none; }
}

/* codex-about-play-and-factory-borui-20260918 */

body.page-id-44 {
  --borui-unit: 12px;
}
@media (min-width: 1201px) and (max-width: 1679px) {
  body.page-id-44 { --borui-unit: 1vw; }
}
@media (min-width: 1680px) {
  body.page-id-44 { --borui-unit: calc(100vw / 120); }
}

/* About video control: exact BORUI translucent disc, SVG silhouette and pulse. */
body.page-id-44 .about-profile-video > span {
  width: calc(3.75 * var(--borui-unit));
  height: calc(3.75 * var(--borui-unit));
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid !important;
  place-items: center;
  overflow: visible;
  background: rgba(255, 255, 255, .5);
  box-shadow: none;
  color: #191919 !important;
  font-size: 0 !important;
  transition: background-color .35s ease;
}
body.page-id-44 .about-profile-video > span::before {
  content: "";
  position: relative !important;
  z-index: 1;
  left: 0 !important;
  top: auto !important;
  width: calc(1.5 * var(--borui-unit));
  height: calc(1.5 * var(--borui-unit));
  margin: 0;
  border: 0 !important;
  display: block;
  background: currentColor;
  transform: none !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M882.734114 459.147258l0.024559-0.024559L244.016061 21.12718l-0.199545 0.188288C230.582097 8.748245 212.62819 1.014096 192.840518 1.014096c-40.704051 0-73.699536 32.66905-73.699536 72.996524 0 22.148439-0.954745 65.513086 0 64.572668l0 373.422851 0 393.071354c0 0.325411 0 25.249057 0 44.935422 0 40.302915 32.995485 72.972988 73.699536 72.972988 19.862373 0 37.892005-7.78429 51.125401-20.466124l0.050142 0.025583 638.742613-437.982216-0.024559-0.038886c13.886265-13.270235 22.549575-31.889291 22.549575-52.531424 0-0.050142 0-0.088004 0-0.150426 0-0.050142 0-0.11154 0-0.149403C905.28369 491.048829 896.620379 472.41647 882.734114 459.147258z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.page-id-44 .about-profile-video > span::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .5);
  animation: kovax-video-pulse-outside 2s ease-out infinite;
  pointer-events: none;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span {
  background: #082c6b;
  color: #fff !important;
  transform: translate(-50%, -50%) !important;
}
body.page-id-44 .about-profile-video:is(:hover, :focus-visible) > span::after {
  background: #082c6b;
}
@keyframes kovax-video-pulse-outside {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2); opacity: 0; }
}

/* About factory rail: BORUI page-verified sizing, placement and switching rhythm. */
body.page-id-44 .cp-factory {
  --factory-container: min(94vw, calc(100 * var(--borui-unit)));
  --factory-gutter: calc((100vw - var(--factory-container)) / 2);
  --factory-small-width: calc(33.25 * var(--borui-unit));
  --factory-small-height: calc(23.375 * var(--borui-unit));
  --factory-large-width: calc(40 * var(--borui-unit));
  --factory-large-height: calc(30.25 * var(--borui-unit));
  --factory-base-left: calc(var(--factory-gutter) + 20 * var(--borui-unit));
  --factory-active-top: calc(-9.25 * var(--borui-unit));
  --factory-space: 22.5px;
  position: relative;
  box-sizing: border-box;
  padding: calc(5.75 * var(--borui-unit)) 0 calc(8 * var(--borui-unit));
  overflow: hidden;
  background-color: #fff;
  background-image: linear-gradient(0deg, rgba(8, 44, 107, .2) 0%, rgba(8, 44, 107, .1) 20%, rgba(8, 44, 107, 0) 60%, rgba(8, 44, 107, 0) 100%);
}
body.page-id-44 .cp-factory > .cp-wrap {
  width: 94%;
  max-width: calc(100 * var(--borui-unit));
  margin-inline: auto;
}
body.page-id-44 .cp-factory .cp-heading {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-44 .cp-factory .cp-heading h2 {
  width: 100%;
  margin: 0;
  color: #079bd3 !important;
  font-size: calc(3 * var(--borui-unit));
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
}
body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
  box-sizing: border-box;
  width: min(100%, calc(49 * var(--borui-unit)));
  max-width: none;
  margin: 0;
  padding: calc(.75 * var(--borui-unit)) 0 calc(1.5 * var(--borui-unit));
  color: #191919;
  font-size: calc(1.25 * var(--borui-unit));
  line-height: 1.35;
  font-weight: 400;
}
body.page-id-44 .cp-factory .cp-rail {
  min-width: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls {
  position: relative;
  z-index: 4;
  width: calc(8 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
body.page-id-44 .cp-factory .cp-rail-controls button {
  position: relative;
  box-sizing: border-box;
  width: calc(2.75 * var(--borui-unit));
  height: calc(2.75 * var(--borui-unit));
  padding: calc(.75 * var(--borui-unit));
  border: 1px solid #191919;
  border-radius: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: transparent;
  color: #191919;
  font-size: 0;
  line-height: 1;
  transform: none;
  transition: background-color .5s, border-color .5s, color .5s;
}
body.page-id-44 .cp-factory .cp-rail-controls button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}
body.page-id-44 .cp-factory .cp-rail-controls button:first-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M701.056 50.3936l81.4592 81.4592L402.3552 512l380.16 380.1472-81.4592 81.4592L239.4496 512 701.056 50.3936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:last-child::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M322.9568 973.5936l-81.4592-81.4592L621.6448 512 241.4976 131.8528l81.4592-81.4592L784.5632 512 322.944 973.5936z'/%3E%3C/svg%3E");
}
body.page-id-44 .cp-factory .cp-rail-controls button:is(:hover, :focus-visible) {
  border-color: #079bd3;
  background: #079bd3;
  color: #fff;
  transform: none;
}
body.page-id-44 .cp-factory .cp-rail-track {
  position: relative;
  display: block;
  width: 100vw;
  max-width: none;
  height: var(--factory-small-height);
  margin: calc(5 * var(--borui-unit)) 0 0 calc(50% - 50vw);
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
body.page-id-44 .cp-factory .cp-rail-track > a {
  position: absolute;
  top: 0 !important;
  left: var(--factory-base-left) !important;
  width: var(--factory-small-width) !important;
  height: var(--factory-small-height) !important;
  min-width: 0;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: center center;
  z-index: 1 !important;
  pointer-events: auto !important;
  box-shadow: none;
  transition: left .3s cubic-bezier(.18,.55,.32,1), width .3s cubic-bezier(.18,.55,.32,1), height 0s, top 0s, opacity .3s ease, box-shadow .3s ease;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-after {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-previous {
  left: var(--factory-base-left) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
  top: var(--factory-active-top) !important;
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space)) !important;
  width: var(--factory-large-width) !important;
  height: var(--factory-large-height) !important;
  z-index: 3 !important;
  box-shadow: calc(.25 * var(--borui-unit)) calc(.25 * var(--borui-unit)) calc(1 * var(--borui-unit)) rgba(0, 0, 0, .2);
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-next {
  left: calc(var(--factory-base-left) + var(--factory-small-width) + var(--factory-space) + var(--factory-large-width) + var(--factory-space)) !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a.is-before {
  left: calc(var(--factory-base-left) - var(--factory-small-width) - var(--factory-space) - var(--factory-small-width) - var(--factory-space)) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.page-id-44 .cp-factory .cp-rail-track > a img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
  background: #fff;
  transition: .5s;
}

@media (min-width: 681px) and (max-width: 1180px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 33vw;
    --factory-small-height: 23vw;
    --factory-large-width: 40vw;
    --factory-large-height: 30vw;
    --factory-base-left: calc(var(--factory-gutter) + 20vw);
    --factory-active-top: -9vw;
  }
}
@media (max-width: 1024px) {
  body.page-id-44 .cp-factory {
    padding-top: calc(3.75 * var(--borui-unit));
    padding-bottom: calc(6 * var(--borui-unit));
  }
}
@media (max-width: 680px) {
  body.page-id-44 .cp-factory {
    --factory-small-width: 94vw;
    --factory-small-height: 64vw;
    --factory-large-width: 94vw;
    --factory-large-height: 64vw;
    --factory-base-left: 3vw;
    --factory-active-top: 0px;
    padding-bottom: calc(4.75 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading h2 {
    font-size: calc(2.5 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-heading p:not(.cp-eyebrow) {
    width: 100%;
  }
  body.page-id-44 .cp-factory .cp-rail-track {
    height: 64vw;
    margin-top: calc(3 * var(--borui-unit));
  }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    top: 0 !important;
    left: 3vw !important;
    width: 94vw !important;
    height: 64vw !important;
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
    box-shadow: none;
  }
  body.page-id-44 .cp-factory .cp-rail-track > a.is-active {
    opacity: 1 !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-44 .about-profile-video > span::after { animation: none; opacity: 0; }
  body.page-id-44 .cp-factory .cp-rail-track > a,
  body.page-id-44 .cp-factory .cp-rail-track > a img,
  body.page-id-44 .cp-factory .cp-rail-controls button { transition: none; }
}

/* About video: center the mask independently of the hidden text grid row. */
body.page-id-44 .about-profile-video > span::before {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
}


/* Factory gallery: continuous Swiper track, matching BORUI's next-slide emphasis. */
body.page-id-44 .cp-factory .cp-rail-track.kovax-factory-swiper {
  width: var(--factory-small-width);
  height: var(--factory-small-height);
  margin: calc(5 * var(--borui-unit)) 0 0 calc(20 * var(--borui-unit));
  overflow: visible;
  touch-action: pan-y;
  user-select: none;
}
body.page-id-44 .kovax-factory-swiper > .swiper-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  z-index: 1;
  transition-property: transform;
  transition-timing-function: ease;
}
body.page-id-44 .kovax-factory-swiper .swiper-slide {
  display: block;
  position: relative;
  top: 0;
  left: auto;
  flex-shrink: 0;
  width: var(--factory-small-width);
  height: 100%;
  opacity: 1;
  transform: none;
  transition: all .5s;
  box-shadow: none;
  -webkit-user-drag: none;
}
body.page-id-44 .kovax-factory-swiper .swiper-slide-next {
  width: var(--factory-large-width) !important;
  height: var(--factory-large-height);
  top: var(--factory-active-top);
  box-shadow: calc(.25 * var(--borui-unit)) calc(.25 * var(--borui-unit)) calc(1 * var(--borui-unit)) rgb(0 0 0 / 20%);
}
body.page-id-44 .kovax-factory-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: auto;
  pointer-events: none;
  -webkit-user-drag: none;
}
body.page-id-44 .kovax-factory-swiper .swiper-notification {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
@media (min-width: 681px) and (max-width: 1180px) {
  body.page-id-44 .cp-factory .cp-rail-track.kovax-factory-swiper { margin-left: 20vw; }
}
@media (max-width: 680px) {
  body.page-id-44 .cp-factory .cp-rail-track.kovax-factory-swiper {
    width: 100%;
    margin: calc(3 * var(--borui-unit)) 0 0;
  }
  body.page-id-44 .kovax-factory-swiper .swiper-slide-next {
    width: 100% !important;
    height: 100%;
    top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-44 .kovax-factory-swiper .swiper-slide { transition: none; }
}

/* codex-news-contact-hero-map-20260919 */

/* News and contact banners use the same product archive hero composition. */
body.blog .cp-banner,
body.page-id-46 .contact-hero {
  display: block;
  position: relative;
  height: min(45vw, 720px);
  min-height: 0;
  overflow: hidden;
  background: #082c6b url("/wp-content/themes/kovax/product-assets/banner.jpg") center / cover no-repeat;
}
body.blog .cp-banner > img { display: none; }
body.blog .cp-banner::before,
body.page-id-46 .contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(8, 29, 43, .78), rgba(8, 29, 43, .25));
  pointer-events: none;
}
body.blog .cp-banner::after,
body.page-id-46 .contact-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 33%;
  height: 6px;
  background: linear-gradient(110deg, #079bd3 0 87%, #fff 87% 89%, #ef2733 89%);
}
body.blog .cp-banner > .cp-wrap,
body.page-id-46 .contact-hero > .contact-wrap {
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: min(1200px, 92%);
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 0;
}
body.blog .cp-banner .cp-crumb,
body.blog .cp-banner .cp-eyebrow,
body.page-id-46 .contact-hero > .contact-wrap > p,
body.page-id-46 .contact-hero > .contact-wrap > div {
  display: none !important;
}
body.blog .cp-banner h1,
body.page-id-46 .contact-hero h1 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding-left: 60px;
  color: #fff;
  font-size: 60px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.blog .cp-banner h1::before,
body.page-id-46 .contact-hero h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 45px;
  transform: translateY(-50%);
  background: #e62129;
}

/* Contact map: full-bleed horizontal strip with no heading. */
body.page-id-46 .contact-map-section {
  width: 100%;
  padding: 0;
  background: #fff;
}
body.page-id-46 .contact-map-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-46 .contact-map-wrap h2 { display: none; }
body.page-id-46 .contact-map-wrap iframe {
  display: block;
  width: 100%;
  height: clamp(320px, 38vw, 640px);
  border: 0;
  box-shadow: none;
}

@media (max-width: 1024px) {
  body.blog .cp-banner,
  body.page-id-46 .contact-hero { height: 42vw; }
  body.blog .cp-banner > .cp-wrap,
  body.page-id-46 .contact-hero > .contact-wrap { padding-top: 0; }
  body.blog .cp-banner h1,
  body.page-id-46 .contact-hero h1 { font-size: clamp(34px, 5vw, 52px); }
  body.blog .cp-banner h1::before,
  body.page-id-46 .contact-hero h1::before { width: 24px; height: .78em; }
}
@media (max-width: 680px) {
  body.blog .cp-banner,
  body.page-id-46 .contact-hero { height: 64vw; }
  body.blog .cp-banner h1,
  body.page-id-46 .contact-hero h1 {
    padding-left: clamp(30px, 8vw, 45px);
    font-size: clamp(25px, 7.7vw, 40px);
  }
  body.blog .cp-banner h1::before,
  body.page-id-46 .contact-hero h1::before {
    width: clamp(14px, 3.8vw, 20px);
    height: .75em;
  }
  body.page-id-46 .contact-map-wrap iframe { height: min(88vw, 360px); }
}

/* codex-brands-directory-20260919 */

/* Brand directory: keep the product-catalog composition while exposing hierarchical filters. */
.product-page .brand-categories { list-style: none; margin: 0; padding: 0; }
.product-page .brand-category-item { margin: 0; padding: 0; border-bottom: 1px solid #dce7ec; }
.product-page .brand-category-item details { margin: 0; }
.product-page .brand-category-item summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 0;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.product-page .brand-category-item summary::-webkit-details-marker { display: none; }
.product-page .brand-category-item summary::after {
  content: '›';
  margin-left: auto;
  color: var(--blue);
  font-size: 22px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
}
.product-page .brand-category-item details[open] > summary::after { transform: rotate(90deg); }
.product-page .brand-category-name { min-width: 0; font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.product-page .brand-category-select {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
}
.product-page .brand-category-select:hover,
.product-page .brand-category-select[aria-current='page'] { color: var(--blue); }
.product-page .brand-category-children {
  display: grid;
  gap: 0;
  margin: 0 0 8px;
  padding: 0 0 0 13px;
  border-left: 2px solid #cde8f3;
  list-style: none;
}
.product-page .brand-category-children .brand-category-item { border: 0; }
.product-page .brand-category-children .brand-category-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  padding: 6px 4px;
  color: #68747d;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
}
.product-page .brand-category-link b { color: var(--blue); font-size: 18px; font-weight: 400; }
.product-page .brand-category-link b { display: none; }
.product-page .brand-category-link:hover,
.product-page .brand-category-link.is-selected { color: var(--blue); }
.product-page .brand-product-card { cursor: default; }
.product-page .brand-product-card .card-body { min-height: 100px; }
.product-page .brand-product-card .card-body h3 { overflow-wrap: anywhere; }
.product-page .brand-empty { padding: 28px 0; color: var(--muted); }
@media (max-width: 900px) {
  .product-page .brand-category-item summary { min-height: 48px; }
  .product-page .brand-category-name { font-size: 14px; }
  .product-page .brand-category-select { padding-right: 4px; }
}
@media (max-width: 560px) {
  .product-page .brand-product-card .card-body { min-height: 76px; }
  .product-page .brand-category-children { padding-left: 10px; }
}

/* codex-news-contact-hero-map-20260919 */

/* News and contact banners use the same product archive hero composition. */
body.blog .cp-banner,
body.single-post .cp-banner,
body.page-id-46 .contact-hero {
  display: block;
  position: relative;
  height: min(45vw, 720px);
  min-height: 0;
  overflow: hidden;
  background: #082c6b url("/wp-content/themes/kovax/product-assets/banner.jpg") center / cover no-repeat;
}
body.blog .cp-banner > img { display: none; }
body.single-post .cp-banner > img { display: none; }
body.blog .cp-banner::before,
body.single-post .cp-banner::before,
body.page-id-46 .contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(8, 29, 43, .78), rgba(8, 29, 43, .25));
  pointer-events: none;
}
body.blog .cp-banner::after,
body.single-post .cp-banner::after,
body.page-id-46 .contact-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 33%;
  height: 6px;
  background: linear-gradient(110deg, #079bd3 0 87%, #fff 87% 89%, #ef2733 89%);
}
body.blog .cp-banner > .cp-wrap,
body.single-post .cp-banner > .cp-wrap,
body.page-id-46 .contact-hero > .contact-wrap {
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  width: min(1200px, 92%);
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 0;
}
body.blog .cp-banner .cp-crumb,
body.blog .cp-banner .cp-eyebrow,
body.single-post .cp-banner .cp-crumb,
body.single-post .cp-banner .cp-eyebrow,
body.page-id-46 .contact-hero > .contact-wrap > p,
body.page-id-46 .contact-hero > .contact-wrap > div {
  display: none !important;
}
body.blog .cp-banner h1,
body.single-post .cp-banner h1,
body.page-id-46 .contact-hero h1 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding-left: 60px;
  color: #fff;
  font-size: 60px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
body.blog .cp-banner h1::before,
body.single-post .cp-banner h1::before,
body.page-id-46 .contact-hero h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 45px;
  transform: translateY(-50%);
  background: #e62129;
}

/* Contact map: full-bleed horizontal strip with no heading. */
body.page-id-46 .contact-map-section {
  width: 100%;
  padding: 0;
  background: #fff;
}
body.page-id-46 .contact-map-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-id-46 .contact-map-wrap h2 { display: none; }
body.page-id-46 .contact-map-wrap iframe {
  display: block;
  width: 100%;
  height: clamp(320px, 38vw, 640px);
  border: 0;
  box-shadow: none;
}

@media (max-width: 1024px) {
  body.blog .cp-banner,
  body.single-post .cp-banner,
  body.page-id-46 .contact-hero { height: 42vw; }
  body.blog .cp-banner > .cp-wrap,
  body.single-post .cp-banner > .cp-wrap,
  body.page-id-46 .contact-hero > .contact-wrap { padding-top: 0; }
  body.blog .cp-banner h1,
  body.single-post .cp-banner h1,
  body.page-id-46 .contact-hero h1 { font-size: clamp(34px, 5vw, 52px); }
  body.blog .cp-banner h1::before,
  body.single-post .cp-banner h1::before,
  body.page-id-46 .contact-hero h1::before { width: 24px; height: .78em; }
}
@media (max-width: 680px) {
  body.blog .cp-banner,
  body.single-post .cp-banner,
  body.page-id-46 .contact-hero { height: 64vw; }
  body.blog .cp-banner h1,
  body.single-post .cp-banner h1,
  body.page-id-46 .contact-hero h1 {
    padding-left: clamp(30px, 8vw, 45px);
    font-size: clamp(25px, 7.7vw, 40px);
  }
  body.blog .cp-banner h1::before,
  body.single-post .cp-banner h1::before,
  body.page-id-46 .contact-hero h1::before {
    width: clamp(14px, 3.8vw, 20px);
    height: .75em;
  }
  body.page-id-46 .contact-map-wrap iframe { height: min(88vw, 360px); }
}

/* codex-brands-sidebar-style-20260919 */

/* Brand directory: keep the product-catalog composition while exposing hierarchical filters. */
.product-page .brand-categories { list-style: none; margin: 0; padding: 0; }
.product-page .brand-category-item { margin: 0; padding: 0; border-bottom: 1px solid #dce7ec; }
.product-page .brand-category-item details { margin: 0; }
.product-page .brand-category-item summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 0;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.product-page .brand-category-item summary::-webkit-details-marker { display: none; }
.product-page .brand-category-item summary::after {
  content: '›';
  margin-left: auto;
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
}
.product-page .brand-category-parent summary .brand-category-root-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  color: var(--ink);
  text-decoration: none;
}
.product-page .brand-category-parent summary .brand-category-name {
  display: block;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.35;
  font-weight: 600;
  color: var(--ink);
}
.product-page .brand-category-item details[open] > summary::after { transform: rotate(90deg); }
.product-page .brand-category-name { min-width: 0; font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.product-page .brand-category-select {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
}
.product-page .brand-category-select:hover,
.product-page .brand-category-select[aria-current='page'] { color: var(--blue); }
.product-page .brand-category-children {
  display: grid;
  gap: 0;
  margin: 0 0 8px;
  padding: 0 0 0 13px;
  border-left: 2px solid #cde8f3;
  list-style: none;
}
.product-page .brand-category-children .brand-category-item { border: 0; }
.product-page .brand-category-children .brand-category-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  padding: 6px 4px;
  color: #68747d;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
}
.product-page .brand-category-link b { color: var(--blue); font-size: 18px; font-weight: 400; }
.product-page .brand-category-link b { display: none; }
.product-page .brand-categories > .brand-category-item > .brand-category-link,
.product-page .brand-categories > .brand-category-item > details > summary {
  box-sizing: border-box;
  width: 100%;
  min-height: 53px;
  padding: 0 12px;
  border-bottom: 1px solid #ccc;
  color: var(--ink);
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.35;
  font-weight: 600;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link::after {
  color: var(--ink) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
}
.product-page .brand-categories > .brand-category-item > details > summary::after {
  color: var(--ink);
  font-size: 22px;
  font-weight: 600;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link:hover,
.product-page .brand-categories > .brand-category-item > .brand-category-link.is-selected,
.product-page .brand-categories > .brand-category-item > details > summary:hover .brand-category-name {
  color: var(--ink);
}
.product-page .brand-category-link:hover,
.product-page .brand-category-link.is-selected { color: var(--blue); }
.product-page .brand-product-card { cursor: default; }
.product-page .brand-product-card .card-body { min-height: 100px; }
.product-page .brand-product-card .card-body h3 { overflow-wrap: anywhere; }
.product-page .brand-empty { padding: 28px 0; color: var(--muted); }
@media (max-width: 900px) {
  .product-page .brand-category-item summary { min-height: 48px; }
  .product-page .brand-category-name { font-size: 14px; }
  .product-page .brand-category-select { padding-right: 4px; }
}
@media (max-width: 560px) {
  .product-page .brand-product-card .card-body { min-height: 76px; }
  .product-page .brand-category-children { padding-left: 10px; }
}

/* codex-brands-sidebar-style2-20260919 */

/* Brand directory: keep the product-catalog composition while exposing hierarchical filters. */
.product-page .brand-categories { list-style: none; margin: 0; padding: 0; }
.product-page .brand-category-item { margin: 0; padding: 0; border-bottom: 1px solid #dce7ec; }
.product-page .brand-category-item details { margin: 0; }
.product-page .brand-category-item summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 0;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.product-page .brand-category-item summary::-webkit-details-marker { display: none; }
.product-page .brand-category-item summary::after {
  content: '›';
  margin-left: auto;
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
}
.product-page .brand-category-parent summary .brand-category-root-select {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  color: var(--ink);
  text-decoration: none;
}
.product-page .brand-category-parent summary .brand-category-name {
  display: block;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.35;
  font-weight: 600;
  color: var(--ink);
}
.product-page .brand-category-item details[open] > summary::after { transform: rotate(90deg); }
.product-page .brand-category-name { min-width: 0; font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
.product-page .brand-category-select {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
}
.product-page .brand-category-select:hover,
.product-page .brand-category-select[aria-current='page'] { color: var(--blue); }
.product-page .brand-category-children {
  display: grid;
  gap: 0;
  margin: 0 0 8px;
  padding: 0 0 0 13px;
  border-left: 2px solid #cde8f3;
  list-style: none;
}
.product-page .brand-category-children .brand-category-item { border: 0; }
.product-page .brand-category-children .brand-category-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  padding: 6px 4px;
  color: #68747d;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
}
.product-page .brand-category-link b { color: var(--blue); font-size: 18px; font-weight: 400; }
.product-page .brand-category-link b { display: none; }
.product-page .brand-categories > .brand-category-item > .brand-category-link,
.product-page .brand-categories > .brand-category-item > details > summary {
  box-sizing: border-box;
  width: 100%;
  min-height: 53px;
  padding: 0 12px;
  border-bottom: 1px solid #ccc;
  color: var(--ink) !important;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.35;
  font-weight: 600;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link::after {
  color: var(--ink) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
}
.product-page .brand-categories > .brand-category-item > details > summary::after {
  color: var(--ink);
  font-size: 22px;
  font-weight: 600;
}
.product-page .brand-categories > .brand-category-item > .brand-category-link:hover,
.product-page .brand-categories > .brand-category-item > .brand-category-link.is-selected,
.product-page .brand-categories > .brand-category-item > details > summary:hover .brand-category-name {
  color: var(--ink) !important;
}
.product-page .brand-category-link:hover,
.product-page .brand-category-link.is-selected { color: var(--blue); }
.product-page .brand-product-card { cursor: default; }
.product-page .brand-product-card .card-body { min-height: 100px; }
.product-page .brand-product-card .card-body h3 { overflow-wrap: anywhere; }
.product-page .brand-empty { padding: 28px 0; color: var(--muted); }
@media (max-width: 900px) {
  .product-page .brand-category-item summary { min-height: 48px; }
  .product-page .brand-category-name { font-size: 14px; }
  .product-page .brand-category-select { padding-right: 4px; }
}
@media (max-width: 560px) {
  .product-page .brand-product-card .card-body { min-height: 76px; }
  .product-page .brand-category-children { padding-left: 10px; }
}
