/* ===== Base ===== */
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: Arial, sans-serif;
  background-color: var(--bg);
  color: var(--text);
  position: relative;
}
.skip-link{
  position:fixed !important;
  top:12px;
  left:12px;
  z-index:2147483647 !important;
  padding:10px 14px;
  border:2px solid var(--accent);
  border-radius:8px;
  background:var(--surface);
  color:var(--text);
  font-weight:800;
  text-decoration:none;
  transform:translateY(calc(-100% - 24px));
  transition:transform 160ms ease;
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:translateY(0);
}
:where(a, button, input, select, textarea, [tabindex]):focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
  box-shadow:0 0 0 2px var(--surface);
}
body::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background-image:
    var(--geo-shape-1),
    var(--geo-shape-2),
    var(--geo-shape-3),
    var(--geo-grid);
  background-size:
    900px 900px,
    760px 760px,
    620px 620px,
    46px 46px;
  background-position:
    -220px -300px,
    calc(100% + 200px) 22%,
    18% calc(100% + 180px),
    0 0;
  opacity: .18;
  mix-blend-mode: multiply;
}
body > *{
  position: relative;
  z-index: 1;
}
.corpiva-screenshot-shield{
  position:fixed !important;
  inset:0;
  z-index:2147483647 !important;
  display:block;
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  background:#000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.corpiva-screenshot-shield::backdrop{ background:#000; }
.corpiva-screenshot-shield:not([open]){ display:none; }
.corpiva-screenshot-shield.is-visible{
  opacity:1;
  visibility:visible;
}
html.corpiva-capture-active,
html.corpiva-capture-active body{
  overflow:hidden !important;
  background:#000 !important;
  scrollbar-color:#000 #000;
}
html.corpiva-capture-active::-webkit-scrollbar,
html.corpiva-capture-active body::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}
html.corpiva-security-locked,
html.corpiva-security-locked body{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
html.corpiva-security-locked body > *:not(#corpivaScreenshotShield):not(#corpivaDevToolsNotice){
  pointer-events:none !important;
  user-select:none !important;
}
html.corpiva-security-locked body *{
  animation-play-state:paused !important;
  scroll-behavior:auto !important;
}
.corpiva-devtools-notice{
  position:fixed !important;
  inset:0;
  z-index:2147483646 !important;
  display:grid;
  place-items:center;
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:20px;
  border:0;
  background:rgba(2,6,23,.72);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 160ms ease, visibility 0s linear 160ms;
}
.corpiva-devtools-notice::backdrop{ background:rgba(2,6,23,.72); }
.corpiva-devtools-notice:not([open]){ display:none; }
.corpiva-devtools-notice.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 160ms ease;
}
.corpiva-devtools-card{
  width:min(430px, 100%);
  padding:30px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:linear-gradient(145deg, #191d2b, #0d1019);
  color:#f8fafc;
  box-shadow:0 28px 64px rgba(0,0,0,.42);
  text-align:center;
}
.corpiva-devtools-kicker{
  display:inline-block;
  color:#ff9f43;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.corpiva-devtools-card h2{ margin:12px 0 8px; color:#fff; font-size:28px; }
.corpiva-devtools-card p{ margin:0; color:#cbd5e1; line-height:1.6; }
.corpiva-devtools-card button{
  margin-top:22px;
  min-height:44px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  background:#e10606;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
@media print{
  body > *:not(#corpivaScreenshotShield){ visibility:hidden !important; }
  #corpivaScreenshotShield{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    background:#000 !important;
  }
}
main > section:not(.corpiva-hero){
  content-visibility: auto;
  contain-intrinsic-size: auto 760px;
}
[data-theme="dark"] body::before{
  mix-blend-mode: screen;
  opacity: .24;
}
@media (max-width: 768px){
  body::before{
    display: none;
  }
  main > section:not(.corpiva-hero){
    contain-intrinsic-size: auto 620px;
  }
}
/* ===== Chatbot ===== */
.corpiva-chatbot{
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 9998;
  font-family: inherit;
}
.corpiva-chatbot-fab{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  cursor: pointer;
  padding: 12px 14px;
  border-radius: 999px;
  background: var(--accent);
  color: var(--accent-contrast);
  font-weight: 800;
  box-shadow: 0 18px 38px rgba(15,23,42,.25);
}
.corpiva-chatbot-fab-label{ letter-spacing: .4px; }
.corpiva-chatbot-fab-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 0 4px rgba(255,255,255,.18);
}
.corpiva-chatbot-panel{
  width: min(380px, calc(100vw - 36px));
  height: min(540px, calc(100vh - 120px));
  display: none;
  flex-direction: column;
  margin-top: 10px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--surface);
  box-shadow: 0 24px 56px rgba(15,23,42,.28);
}
.corpiva-chatbot.is-open .corpiva-chatbot-panel{ display: flex; }
.corpiva-chatbot-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px;
  background: linear-gradient(135deg, rgba(225,6,6,.14), rgba(148,163,184,.10));
  border-bottom: 1px solid var(--border);
}
.corpiva-chatbot-title{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.corpiva-chatbot-badge{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: var(--accent-contrast);
  font-weight: 900;
  letter-spacing: .6px;
}
.corpiva-chatbot-name{
  font-weight: 900;
  color: var(--text);
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.corpiva-chatbot-sub{
  font-size: 12px;
  color: var(--muted);
}
.corpiva-chatbot-close{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.6);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  color: var(--text);
}
[data-theme="dark"] .corpiva-chatbot-close{
  background: rgba(20,22,36,.6);
}
.corpiva-chatbot-body{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.corpiva-chatbot-prechat{
  padding: 12px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(225,6,6,.05), rgba(148,163,184,.06));
}
.corpiva-chatbot-prechat-title{
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
}
.corpiva-chatbot-prechat-form{
  display: grid;
  gap: 8px;
}
.corpiva-chatbot-prechat-input{
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 9px 10px;
  font-size: 13px;
  background: var(--surface);
  color: var(--text);
  outline: none;
}
.corpiva-chatbot-prechat-input:focus{
  border-color: rgba(225,6,6,.45);
  box-shadow: 0 0 0 3px rgba(225,6,6,.10);
}
.corpiva-chatbot-prechat-text{
  min-height: 72px;
  resize: vertical;
}
.corpiva-chatbot-prechat-send{
  height: 38px;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  background: var(--accent);
  color: var(--accent-contrast);
  font-weight: 900;
}
.corpiva-chatbot-prechat-note{
  margin: 0;
  font-size: 11px;
  color: var(--muted);
}
.corpiva-chatbot-messages{
  flex: 1;
  overflow: auto;
  padding: 12px;
  background:
    radial-gradient(circle at 10% 10%, rgba(225,6,6,.06), transparent 42%),
    radial-gradient(circle at 90% 12%, rgba(14,165,233,.06), transparent 40%),
    var(--surface);
}
.corpiva-chatbot-msg{
  display: flex;
  margin: 10px 0;
}
.corpiva-chatbot-msg .bubble{
  max-width: 88%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.92);
  color: var(--text);
}
[data-theme="dark"] .corpiva-chatbot-msg .bubble{
  background: rgba(20,22,36,.92);
}
.corpiva-chatbot-msg .bubble p{ margin: 0; font-size: 14px; line-height: 1.35; }
.corpiva-chatbot-msg.is-thinking .bubble p{
  color: var(--muted);
  font-style: italic;
}
.corpiva-chatbot-msg .bubble .kbq{
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--muted);
}
.corpiva-chatbot-msg .bubble a{ color: var(--accent); font-weight: 800; text-decoration: none; }
.corpiva-chatbot-msg .bubble a:hover{ text-decoration: underline; }
.corpiva-chatbot-msg.is-user{ justify-content: flex-end; }
.corpiva-chatbot-msg.is-user .bubble{
  background: rgba(225,6,6,.12);
  border-color: rgba(225,6,6,.22);
}
.corpiva-chatbot-quick{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-top: 1px solid var(--border);
  background: var(--surface);
}
.corpiva-chatbot-chip{
  border: 1px solid var(--border);
  background: rgba(148,163,184,.10);
  color: var(--text);
  border-radius: 999px;
  padding: 8px 10px;
  cursor: pointer;
  font-weight: 800;
  font-size: 12px;
}
.corpiva-chatbot-chip:hover{
  border-color: rgba(225,6,6,.35);
  background: rgba(225,6,6,.10);
}
.corpiva-chatbot-form{
  display: flex;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid var(--border);
  background: var(--surface);
}
.corpiva-chatbot-input{
  flex: 1;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--border);
  padding: 0 12px;
  outline: none;
  background: transparent;
  color: var(--text);
}
.corpiva-chatbot-input:focus{
  border-color: rgba(225,6,6,.45);
  box-shadow: 0 0 0 4px rgba(225,6,6,.12);
}
.corpiva-chatbot-send{
  height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  background: var(--accent);
  color: var(--accent-contrast);
  font-weight: 900;
}
.corpiva-chatbot-send:disabled{
  opacity: .6;
  cursor: not-allowed;
}
@media (max-width: 900px){
  .corpiva-chatbot{ left: 14px; bottom: 14px; }
  .corpiva-chatbot-panel{ height: min(520px, calc(100vh - 110px)); }
}

/* ===== Theme ===== */
:root{
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --text: #111827;
  --muted: #475569;
  --border: rgba(15,23,42,.08);
  --topbar-bg: #0b0b18;
  --topbar-text: #cbd5e1;
  --accent: #e10606;
  --accent-contrast: #ffffff;
  --logo-filter: none;
  --scroll-track: #ffffff;
  --geo-shape-1:
    conic-gradient(from 18deg at 32% 36%, rgba(225,6,6,.08) 0deg 52deg, transparent 52deg 360deg);
  --geo-shape-2:
    radial-gradient(circle at 62% 40%, rgba(14,165,233,.12) 0%, rgba(14,165,233,.12) 12%, transparent 12.2%);
  --geo-shape-3:
    linear-gradient(140deg, rgba(15,23,42,.08) 0 24%, transparent 24.2% 100%);
  --geo-grid:
    repeating-linear-gradient(45deg, rgba(15,23,42,.035) 0 1px, transparent 1px 14px);
}
[data-theme="dark"]{
  --bg: #0a0b12;
  --surface: #141624;
  --surface-2: #0f111c;
  --text: #e2e8f0;
  --muted: #9aa4b2;
  --border: rgba(148,163,184,.18);
  --topbar-bg: #05060c;
  --topbar-text: #cbd5e1;
  --accent: #ff3b00;
  --accent-contrast: #0b0b18;
  --logo-filter: brightness(0) invert(1);
  --scroll-track: #0f111c;
  --scroll-fill: #ffffff;
  --scroll-ring: #ffffff;
  --geo-shape-1:
    conic-gradient(from 18deg at 32% 36%, rgba(255,59,0,.14) 0deg 52deg, transparent 52deg 360deg);
  --geo-shape-2:
    radial-gradient(circle at 62% 40%, rgba(56,189,248,.14) 0%, rgba(56,189,248,.14) 12%, transparent 12.2%);
  --geo-shape-3:
    linear-gradient(140deg, rgba(148,163,184,.14) 0 24%, transparent 24.2% 100%);
  --geo-grid:
    repeating-linear-gradient(45deg, rgba(148,163,184,.08) 0 1px, transparent 1px 14px);
}

.corpiva-topbar{
  background: var(--topbar-bg);
  color: var(--topbar-text);
}
.sep{ background: rgba(255,255,255,.2); }
.corpiva-social{ border-color: rgba(255,255,255,.15); }

.corpiva-nav{
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.corpiva-logo-text{ color: var(--text); }
.corpiva-menu a{ color: var(--text); }
.corpiva-submenu{
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 12px 24px rgba(15,23,42,.2);
}
.corpiva-submenu a{ color: var(--text); }

.corpiva-tiles{ background: var(--surface-2); }
.corpiva-tile{
  background: var(--surface);
  border:1px solid var(--border);
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
}
.corpiva-tile-mark{ color: var(--text); }
.corpiva-tile-title{ color: var(--text); }
.corpiva-tile-text{ color: var(--muted); }
.corpiva-tile-divider{ background: var(--border); }

.corpiva-overview{ background: var(--surface); }
.overview-photo{
  background: linear-gradient(135deg, rgba(226,232,240,.2), rgba(248,250,252,.08));
  border: 1px solid var(--border);
}
.overview-stat{
  background: var(--surface);
  border:1px solid var(--border);
}
.overview-stat .value{ color: var(--text); }
.overview-stat .label{ color: var(--muted); }
.overview-bars span{ background: rgba(255,255,255,.08); }
.overview-content{ color: var(--text); }
.overview-pill{ color: var(--accent); background: rgba(225,6,6,.12); }
.overview-title{ color: var(--text); }
.overview-text{ color: var(--muted); }
.overview-card{
  background: var(--surface);
  border:1px solid var(--border);
  box-shadow: 0 12px 26px rgba(15,23,42,.18);
}
.overview-card .number{ color: var(--text); }
.overview-card .label{ color: var(--muted); }

.corpiva-products{ background: var(--surface-2); }
.corpiva-products-title{ color: var(--text); }
.corpiva-products-desc{ color: var(--muted); }
.corpiva-product-card{
  background: var(--surface);
  border:1px solid var(--border);
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
}
.product-title{ color: var(--text); }
.product-thumb{ background: transparent; color: var(--muted); }
.product-price{ color: var(--accent); }
.product-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.product-card-link:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
  border-radius:14px;
}
.product-card-actions{
  margin-top:12px;
}
.product-quote-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-weight:800;
  text-decoration:none;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}
.product-quote-btn:hover{
  border-color: rgba(225,6,6,.35);
  color: var(--accent);
}
.product-quote-btn-primary{
  background: var(--accent);
  color: var(--accent-contrast);
  border-color: transparent;
}
.product-quote-btn-primary:hover{
  color: var(--accent-contrast);
  filter: brightness(1.05);
}

/* Holloware page: product mark inside the large tile circle */
.holloware-command{
  max-width:1200px;
  margin:0 auto 34px;
  padding:0 18px;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:22px;
  align-items:stretch;
}
.holloware-command-copy,
.holloware-command-specs{
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 20px 46px rgba(15,23,42,.12);
}
.holloware-command-copy{
  border-radius:18px;
  padding:30px;
}
.holloware-command-copy h2{
  margin:12px 0 12px;
  color:var(--text);
  font-size:clamp(30px, 4vw, 54px);
  line-height:1;
  letter-spacing:0;
  max-width:820px;
}
.holloware-command-copy p{
  color:var(--muted);
  line-height:1.75;
  margin:0;
  max-width:760px;
}
.holloware-command-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.certifications-page-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(15,23,42,.08);
  transition:transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.certifications-page-cta:hover,
.certifications-page-cta:focus-visible{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  transform:scale(1.04);
  box-shadow:0 18px 32px rgba(225,6,6,.3);
}
.home-certificates{
  max-width:1240px;
  margin:0 auto;
  padding:38px 24px;
}
.home-certificates-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.home-certificates-head h2{
  margin:10px 0 0;
  color:var(--text);
  font-size:clamp(25px,3vw,40px);
  line-height:1.08;
}
.home-certificates-head > a{
  flex:0 0 auto;
  color:var(--accent);
  font-weight:900;
  text-decoration:none;
}
.home-certificate-logos{
  display:grid;
  grid-template-columns:repeat(7,minmax(112px,1fr));
  gap:10px;
}
.home-certificate-logo{
  min-height:112px;
  padding:15px 9px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  text-align:center;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.home-certificate-logo:hover,
.home-certificate-logo:focus-visible{
  transform:translateY(-4px);
  border-color:var(--accent);
  box-shadow:0 18px 34px rgba(15,23,42,.13);
}
.home-certificate-logo strong{
  color:var(--accent);
  font-size:clamp(21px,2.1vw,30px);
  line-height:1;
  letter-spacing:-.04em;
}
.home-certificate-logo strong small{
  margin-left:3px;
  font-size:.55em;
  letter-spacing:0;
}
.home-certificate-logo span{
  margin-top:9px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.05em;
}
@media (max-width:900px){
  .home-certificate-logos{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    padding:2px 2px 12px;
  }
  .home-certificate-logo{
    flex:0 0 132px;
    scroll-snap-align:start;
  }
}
@media (max-width:560px){
  .home-certificates{padding:30px 18px;}
  .home-certificates-head{align-items:flex-start;flex-direction:column;gap:12px;}
}
.holloware-command-specs{
  border-radius:18px;
  padding:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.holloware-command-specs div{
  min-height:112px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(148,163,184,.08);
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.holloware-command-specs span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.holloware-command-specs strong{
  color:var(--text);
  font-size:20px;
  line-height:1.15;
}
.corpiva-holloware-page .corpiva-tile-icon .holloware-mark-img{
  width: 54px;
  height: 54px;
  display: block;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
  color: inherit;
}
.corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon .holloware-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.12));
  color: inherit;
}
.corpiva-holloware-page .corpiva-tiles-grid{
  gap: 26px;
}
.corpiva-holloware-page .corpiva-tile{
  min-height: 302px;
  padding: 30px 30px 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
    var(--surface);
}
.corpiva-holloware-page .corpiva-tile::before{
  content: "";
  position: absolute;
  inset: auto -34px -44px auto;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(96,165,250,.07) 0%, rgba(96,165,250,.03) 48%, rgba(96,165,250,0) 72%);
  pointer-events: none;
}
.corpiva-holloware-page .corpiva-tile-icon{
  width: 62px;
  height: 62px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: transparent;
  box-shadow: none;
}
.corpiva-holloware-page .corpiva-tile-icon::after{
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}
.corpiva-holloware-page .corpiva-tile-icon img{
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
  transition: filter 180ms ease, transform 180ms ease;
}
.corpiva-holloware-page .corpiva-tile-icon .holloware-mark-img{
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
  transition: filter 180ms ease, transform 180ms ease;
}
.corpiva-holloware-page .corpiva-tile-mark{
  top: 22px;
  right: 26px;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .08em;
  opacity: .78;
}
.corpiva-holloware-page .corpiva-tile-title{
  max-width: calc(100% - 120px);
  margin: 0 0 18px;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.08;
  letter-spacing: -.02em;
}
.corpiva-holloware-page .corpiva-tile-divider{
  margin: 0 0 22px;
}
.corpiva-holloware-page .corpiva-tile-text{
  max-width: 74%;
  font-size: 15px;
  line-height: 1.7;
}
.corpiva-holloware-page .corpiva-tile:hover{
  background:var(--accent);
  transform:scale(1.04);
  box-shadow:0 22px 44px rgba(225,6,6,.25);
}
.corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon{
  background:#fff;
  border-color:rgba(255,255,255,.9);
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}
.corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon img,
.corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon .holloware-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.12));
  transform: translateY(-1px);
}
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile-icon{
  background: #ffffff;
  border-color: rgba(255,255,255,.86);
  box-shadow:
    0 12px 22px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.92);
}
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile-icon::after{
  border-color: rgba(15,23,42,.08);
}
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile-icon img,
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile-icon .holloware-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
}
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon{
  background: #ffffff;
  border-color: rgba(255,255,255,.92);
  box-shadow:
    0 14px 24px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.92);
}
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon img,
[data-theme="dark"] .corpiva-holloware-page .corpiva-tile:hover .corpiva-tile-icon .holloware-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.12));
}
@media (max-width: 900px){
  .holloware-command{
    grid-template-columns:1fr;
  }
  .holloware-command-copy{
    padding:24px;
  }
  .holloware-command-specs{
    grid-template-columns:1fr 1fr;
  }
  .corpiva-holloware-page .corpiva-tile{
    min-height: 270px;
    padding: 26px 24px 24px;
  }
  .corpiva-holloware-page .corpiva-tile-title,
  .corpiva-holloware-page .corpiva-tile-text{
    max-width: 100%;
  }
  .corpiva-holloware-page .corpiva-tile-mark{
    right: 22px;
  }
}
@media (max-width: 560px){
  .holloware-command{
    margin-bottom:24px;
  }
  .holloware-command-specs{
    grid-template-columns:1fr;
  }
  .holloware-command-specs div{
    min-height:88px;
  }
}
.product-detail-actions{
  margin-top:18px;
  display:flex;
  justify-content:center;
}
.product-meta{
  margin:0 0 14px 0;
  color: var(--muted);
  line-height:1.6;
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-weight:700;
  cursor:pointer;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}
.theme-toggle:hover{
  transform: translateY(-1px);
  border-color: rgba(225,6,6,.35);
  background: rgba(225,6,6,.08);
  color: var(--accent);
}
.theme-toggle-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:inline-grid;
  place-items:center;
  position:relative;
  line-height:1;
}
.theme-toggle-icon .theme-icon-svg{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.theme-toggle-icon[data-icon="sun"] .theme-icon-moon,
.theme-toggle-icon[data-icon="moon"] .theme-icon-sun{
  display:none;
}
.theme-toggle-icon[data-icon="moon"] .theme-icon-moon{
  transform:rotate(-8deg);
}
.theme-toggle-floating{
  position:fixed;
  right:22px;
  bottom:82px;
  z-index:9998;
  box-shadow: 0 14px 26px rgba(15,23,42,.2);
}

/* ===== Loader (PIC 1) ===== */
.corpiva-loader{
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 99999;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: opacity 300ms ease, visibility 300ms ease;
}
.corpiva-loader-inner{ text-align:center; transform: translateY(-10px); }

.corpiva-ring{
  width: 160px; height: 160px;
  border-radius: 50%;
  border: 4px solid #d9d9d9;
  border-top-color: #e10606;
  animation: corpivaSpin 1s linear infinite;
  margin: 0 auto 24px auto;
}
@keyframes corpivaSpin{ to{ transform: rotate(360deg); } }
@keyframes corpivaLineSweep{
  0%{ transform: translateX(0); opacity: 0; }
  15%{ opacity: 1; }
  50%{ transform: translateX(260%); opacity: .7; }
  100%{ transform: translateX(260%); opacity: 0; }
}
@keyframes corpivaLetterWaveIdle{
  0%, 100%{ transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  14%{ transform: translate3d(0, -2px, 0) rotate(-1deg) scale(1.008); }
  28%{ transform: translate3d(0, -8px, 0) rotate(-4deg) scale(1.05); }
  42%{ transform: translate3d(0, -3px, 0) rotate(-1.4deg) scale(1.014); }
  56%{ transform: translate3d(0, 4px, 0) rotate(2deg) scale(.99); }
  70%{ transform: translate3d(0, 2px, 0) rotate(.8deg) scale(.996); }
  84%{ transform: translate3d(0, -1px, 0) rotate(-.4deg) scale(1.003); }
}
.corpiva-brand{ font-size: 64px; font-weight: 800; letter-spacing: 1px; line-height:1; }
.corpiva-brand-dark{ color:#111827; }
.corpiva-brand-red{ color:#e10606; }
.corpiva-loading{ margin-top:10px; font-size:18px; letter-spacing:10px; color:#e10606; font-weight:600; }

/* ===== Top bar ===== */
.corpiva-topbar{
  background: var(--topbar-bg);
  color: var(--topbar-text);
  font-size:14px; padding:10px 18px;
  display:flex; justify-content:space-between; gap:12px;
}
.corpiva-topbar-left, .corpiva-topbar-right{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.sep{ width:1px; height:14px; background:rgba(255,255,255,.2); display:inline-block; }
.corpiva-social{
  width:24px; height:24px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  color:inherit;
  font-size:12px; opacity:.9;
  text-decoration:none;
  transition:opacity 160ms ease,border-color 160ms ease,background-color 160ms ease,transform 160ms ease;
}
.corpiva-social:hover,
.corpiva-social:focus-visible{
  opacity:1;
  color:#fff;
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.12);
  transform:translateY(-1px);
}
.corpiva-social svg{
  width:14px;
  height:14px;
  fill: currentColor;
  display:block;
}

/* ===== Nav ===== */
.corpiva-nav{
  background: var(--surface);
  border-bottom:1px solid var(--border);
  padding:14px 18px;
  display:flex; align-items:center; justify-content:space-between;
  gap:18px;
  position:relative;
  z-index:20;
}
.corpiva-logo{ display:flex; align-items:center; gap:10px; min-width:170px; text-decoration:none; }
.corpiva-logo-icon{ width:52px; height:52px; border-radius:999px; background:transparent; }
.corpiva-logo-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:999px;
  display:block;
  filter: var(--logo-filter);
}
.corpiva-logo-text{ font-weight:900; letter-spacing:1px; color: var(--text); }

.nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-weight:700;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  background: currentColor;
  position:relative;
}
.nav-toggle span::before,
.nav-toggle span::after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background: currentColor;
}
.nav-toggle span::before{ top:-6px; }
.nav-toggle span::after{ top:6px; }

.corpiva-menu{ display:flex; gap:18px; flex-wrap:wrap; }
.corpiva-menu a{
  text-decoration:none; color: var(--text);
  font-weight:600; padding:6px 2px;
  border-bottom:2px solid transparent;
}
.corpiva-menu-item{ position:relative; display:flex; align-items:center; }
.corpiva-menu-item > a{ display:inline-flex; align-items:center; gap:6px; }
.corpiva-menu-item.has-submenu > a::after{
  content:"\25BE";
  font-size:11px;
  color:#6b7280;
  margin-top:2px;
}
.corpiva-submenu{
  position:absolute;
  top:100%;
  left:-6px;
  min-width:160px;
  background: var(--surface);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow: 0 12px 24px rgba(15,23,42,.2);
  padding:8px;
  display:none !important;
  z-index:10;
}
.corpiva-submenu a{
  display:block;
  padding:8px 10px;
  border-radius:8px;
  border-bottom:none;
  color: var(--text);
}
.corpiva-submenu-item{ position:relative; }
.corpiva-submenu-item > a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.corpiva-submenu-item.has-submenu > a::after{
  content:"\25B8";
  font-size:11px;
  color:#6b7280;
}
.corpiva-submenu .corpiva-submenu{ display:none; }
.corpiva-submenu .corpiva-submenu{
  top:0;
  left:100%;
  margin-left:6px;
}
.corpiva-menu-item.has-submenu:hover > .corpiva-submenu,
.corpiva-menu-item.has-submenu:focus-within > .corpiva-submenu{ display:block !important; }
.corpiva-submenu-item.has-submenu:hover > .corpiva-submenu,
.corpiva-submenu-item.has-submenu:focus-within > .corpiva-submenu{ display:block !important; }
.corpiva-submenu-item.has-submenu > a{
  position:relative;
}
.corpiva-submenu-item.has-submenu > a::before{
  content:"";
  position:absolute;
  top:0;
  right:-10px;
  width:10px;
  height:100%;
}
.corpiva-submenu a:hover{ background: rgba(255,255,255,.06); color: var(--accent); }

/* ===== Hero Slider ===== */
.corpiva-hero{
  position:relative;
  min-height:560px;
  overflow:hidden;
}
.corpiva-hero-bg{
  position:absolute;
  inset:0;
  background-image: url("../images/heroes/hero1.webp?v=2026072601");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
@media (max-width: 767px), (pointer: coarse) and (max-width: 900px){
  .corpiva-hero-bg{
    background-image: url("../images/mobile/hero1.webp?v=2026072601");
  }
}
.corpiva-hero-bg.animate{
  animation: heroFadeLeft 700ms ease both;
}
.corpiva-hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.2) 100%);
}
.corpiva-hero-content{
  position:relative; z-index:2;
  padding:90px 18px 70px 18px;
  max-width:900px;
}
@keyframes heroFadeLeft{
  0%{ opacity:0; transform: translateX(-28px); }
  100%{ opacity:1; transform: translateX(0); }
}
.corpiva-pill{
  display:inline-block;
  background: rgba(255,255,255,.12);
  color:#fff; padding:10px 14px;
  border-radius:8px; font-weight:700;
  margin-bottom:18px;
}
.corpiva-title{
  color:#fff; font-weight:900;
  font-size:64px; line-height:1.05;
  margin:0 0 18px 0;
}
.corpiva-desc{
  color: rgba(255,255,255,.85);
  font-size:18px; max-width:720px;
  margin:0 0 26px 0;
}
.corpiva-cta{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.cta-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#e10606;
  color:#fff;
  border:none;
  height:46px;
  padding:0 22px;
  border-radius:12px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  box-shadow: 0 14px 26px rgba(225,6,6,.32);
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
.cta-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(225,6,6,.38);
}
.corpiva-arrow{
  position:absolute; top:50%;
  transform: translateY(-50%);
  width:56px; height:56px; border-radius:999px;
  border:none; z-index:3; cursor:pointer;
  font-size:34px; display:flex; align-items:center; justify-content:center;
}
.corpiva-arrow.left{ left:18px; background: rgba(255,255,255,.92); }
.corpiva-arrow.right{ right:18px; background:#e10606; color:#fff; }

@media (max-width: 900px){
  .corpiva-title{ font-size:44px; }
  .corpiva-submenu{ position:static; box-shadow:none; border:none; padding:0; }
  .corpiva-menu-item.has-submenu{ flex-direction:column; align-items:flex-start; }
  .corpiva-submenu .corpiva-submenu{ position:static; box-shadow:none; border:none; padding-left:12px; margin-left:0; }
  .corpiva-submenu-item.has-submenu > a::after{ content:""; }
}

@media (max-width: 900px){
  .corpiva-nav{ flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .nav-toggle{ display:inline-flex; order:1; margin-left:0; }
  .corpiva-logo{ order:2; margin-left:12px; }
  .corpiva-menu{ order:3; width:100%; display:none; flex-direction:column; }
  .corpiva-menu.is-open{ display:flex; }
}

@media (max-width: 760px){
  .corpiva-topbar{ display:none; }
  .corpiva-menu{ gap:12px; }
  .corpiva-hero{
    min-height: clamp(260px, 54vw, 320px);
  }
  .corpiva-hero-bg{
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #0b0b18;
  }
  .corpiva-hero-content{ padding:44px 16px 24px 16px; }
  .corpiva-title{ font-size:36px; }
  .corpiva-desc{ font-size:16px; }
  .corpiva-cta{ gap:10px; }
  .corpiva-tiles{ padding:50px 18px 70px 18px; }
}

@media (max-width: 640px){
  .corpiva-arrow{ width:44px; height:44px; font-size:26px; }
  .corpiva-products{ padding:60px 18px 70px 18px; }
  .corpiva-products-grid{ grid-template-columns: 1fr; }
  .corpiva-tiles-grid{ grid-template-columns: 1fr; }
  .overview-cards{ grid-template-columns: 1fr; }
  .corpiva-footer-title{ font-size:44px; letter-spacing:2px; }
}

@media (max-width: 520px){
  .corpiva-nav{ padding:12px 14px; }
  .corpiva-logo{ min-width:auto; }
  .corpiva-logo-text{ font-size:14px; letter-spacing:.6px; }
  .corpiva-menu a{ font-size:14px; }
  .corpiva-hero{ min-height: clamp(240px, 58vw, 300px); }
  .corpiva-hero-content{ padding:38px 14px 20px 14px; }
  .corpiva-title{ font-size:28px; }
  .corpiva-pill{ font-size:12px; }
  .corpiva-desc{ font-size:15px; margin-bottom:18px; }
  .theme-toggle-floating{ right:14px; bottom:74px; }
  .corpiva-scrolltop{ right:14px; bottom:18px; }
}

@media (max-width: 900px){
  .book-controls{ flex-direction:column; align-items:flex-start; gap:10px; }
  .book-pages{ flex-direction:column; }
  .book-page{ min-height:45vh; }
  .book-turn, .book-turn-back{ display:none; }
}

/* ===== Service Tiles ===== */
.corpiva-tiles{
  background: var(--surface-2);
  padding: 60px 18px 80px 18px;
}
.corpiva-tiles-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:22px;
}
.corpiva-tile{
  background: var(--surface);
  border-radius:18px;
  padding:26px 22px 22px 22px;
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
  border:1px solid var(--border);
  position:relative;
  min-height:240px;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.corpiva-tile-link{
  text-decoration:none;
  color:inherit;
  display:block;
}
.corpiva-tile-link:focus-visible{
  outline:2px solid #e10606;
  outline-offset:4px;
  border-radius:18px;
}
.corpiva-tile-mark{
  position:absolute;
  top:14px;
  right:18px;
  font-weight:800;
  color: var(--text);
  opacity:.7;
}
.corpiva-tile-icon{
  width:56px;
  height:56px;
  border-radius:999px;
  background: #f1f5f9;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
  position:relative;
}
.corpiva-tile-icon img{
  width:30px;
  height:30px;
  object-fit:contain;
  filter: drop-shadow(0 6px 12px rgba(225,6,6,.28));
  transition: filter 180ms ease;
}
.corpiva-tile-title{
  margin:0 0 10px 0;
  font-size:20px;
  font-weight:800;
  color: var(--text);
  transition: color 180ms ease;
}
.corpiva-tile-text{
  margin:0;
  color: var(--muted);
  line-height:1.6;
  transition: color 180ms ease;
}
.corpiva-tile:hover{
  background: var(--accent);
  transform: scale(1.04);
  box-shadow: 0 22px 44px rgba(225,6,6,.25);
}
.corpiva-tile:hover .corpiva-tile-title,
.corpiva-tile:hover .corpiva-tile-text{
  color:#fff;
}
.corpiva-tile:hover .corpiva-tile-divider{
  background: rgba(255,255,255,.45);
}
.corpiva-tile:hover .corpiva-tile-mark{
  color:#fff;
  opacity:.9;
}
.corpiva-tile:hover .corpiva-tile-icon{
  background: rgba(255,255,255,.18);
}
.corpiva-tile:hover .corpiva-tile-icon img{
  filter: brightness(0) invert(1) drop-shadow(0 6px 12px rgba(255,255,255,.28));
}
.corpiva-tile-divider{
  height:1px;
  background: var(--border);
  margin:14px 0 12px 0;
}
/* ===== Company Overview ===== */
.corpiva-overview{
  background: var(--surface);
  padding: 80px 18px;
  position: relative;
  overflow: hidden;
}
.corpiva-overview::before{
  content:"";
  position:absolute;
  inset:-10% -10% auto auto;
  width:520px;
  height:520px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(circle at 70% 60%, rgba(255,59,0,.18), transparent 65%);
  opacity:.6;
  pointer-events:none;
}
.corpiva-overview::after{
  content:"";
  position:absolute;
  left:-80px;
  top:140px;
  width:360px;
  height:240px;
  border-radius:32px;
  transform: rotate(-12deg);
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.corpiva-overview-inner{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:40px;
  align-items:center;
}
.overview-media{
  position:relative;
  min-height:420px;
}
.overview-photo{
  width:100%;
  height:420px;
  border-radius: 32px 120px 28px 120px;
  background:
    linear-gradient(135deg, rgba(15,23,42,.10), rgba(255,255,255,0)),
    url("../images/about/about-surgical-tools.webp?v=2026072601");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid var(--border);
  box-shadow: 0 24px 50px rgba(15,23,42,.18);
}
.overview-icon{
  position:absolute;
  top:-18px;
  right:40px;
  width:68px;
  height:68px;
  border-radius:999px;
  background:#e10606;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 16px 30px rgba(225,6,6,.35);
}
.overview-icon svg{
  width:30px;
  height:30px;
  fill:#fff;
}
.overview-stat{
  position:absolute;
  left:-12px;
  bottom:-18px;
  background: var(--surface);
  border-radius:16px;
  padding:18px 18px 14px 18px;
  box-shadow: 0 18px 36px rgba(15,23,42,.2);
  border:1px solid var(--border);
  min-width:180px;
}
.overview-stat .value{
  font-size:26px;
  font-weight:800;
  color: var(--text);
}
.overview-stat .label{
  color: var(--muted);
  font-size:13px;
  margin-top:4px;
}
.overview-bars{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.overview-bars span{
  display:block;
  width:10px;
  height:48px;
  background: rgba(255,255,255,.08);
  border-radius:999px;
  position:relative;
  overflow:hidden;
}
.overview-bars span::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:70%;
  background:#22c55e;
  border-radius:999px;
}
.overview-content{
  max-width:520px;
}
.overview-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 14px;
  border-radius:999px;
  background: rgba(225,6,6,.12);
  color: var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
}
.overview-title{
  font-size:38px;
  margin:16px 0 12px 0;
  font-weight:900;
  color: var(--text);
}
.overview-text{
  color: var(--muted);
  line-height:1.7;
  margin:0 0 18px 0;
}
.overview-cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
}
.overview-card{
  background: var(--surface);
  border-radius:14px;
  padding:16px;
  border:1px solid var(--border);
  box-shadow: 0 12px 26px rgba(15,23,42,.18);
  display:flex;
  gap:12px;
  align-items:center;
}
.overview-card .icon{
  width:44px;
  height:44px;
  border-radius:999px;
  background: rgba(225,6,6,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.overview-card svg{
  width:22px;
  height:22px;
  fill:#e10606;
}
.overview-card .number{
  font-weight:900;
  color: var(--text);
  font-size:22px;
}
.overview-card .label{
  color: var(--muted);
  font-size:13px;
}
@media (max-width: 980px){
  .corpiva-overview-inner{ grid-template-columns: 1fr; }
  .overview-content{ max-width:none; }
}

/* ===== Products ===== */
.corpiva-products{
  background: var(--surface-2);
  padding: 80px 18px 90px 18px;
}
.corpiva-products-head{
  text-align:center;
  max-width:720px;
  margin:0 auto 40px auto;
}
.corpiva-products-title{
  font-size:34px;
  margin:16px 0 10px 0;
  font-weight:900;
  color: var(--text);
}
.corpiva-products-desc{
  color: var(--muted);
  line-height:1.7;
  margin:0;
}
.corpiva-products-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:22px;
}
.corpiva-category-card{
  background: var(--surface);
  border-radius:18px;
  padding:22px;
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
  border:1px solid var(--border);
}
.corpiva-category-card h3{
  margin:12px 0 8px 0;
  font-size:22px;
  color: var(--text);
}
.corpiva-category-card p{
  margin:0 0 14px 0;
  color: var(--muted);
  line-height:1.6;
}
.corpiva-category-card h3 a,
.corpiva-category-card p a{
  color: inherit;
  text-decoration: none;
}
.corpiva-category-card p a:hover,
.corpiva-category-card h3 a:hover{
  color: var(--accent);
}
.corpiva-category-links{
  display:grid;
  gap:8px;
}
.corpiva-category-links a{
  text-decoration:none;
  color: var(--text);
  padding:8px 10px;
  border-radius:8px;
  background: rgba(148,163,184,.12);
  border:1px solid var(--border);
}
.corpiva-category-links a:hover{
  color: var(--accent);
  border-color: rgba(225,6,6,.35);
}
.corpiva-gallery-showcase{
  max-width:1200px;
  margin:0 auto 64px;
  padding:0 18px;
}
.corpiva-gallery-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:18px;
}
.corpiva-gallery-card{
  position:relative;
  display:block;
  min-height:260px;
  border-radius:18px;
  overflow:hidden;
  background: var(--surface);
  border:1px solid var(--border);
  box-shadow:0 18px 36px rgba(15,23,42,.16);
  text-decoration:none;
}
.corpiva-gallery-card img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
  transition: transform .25s ease;
}
.corpiva-gallery-card span{
  position:absolute;
  left:14px;
  bottom:14px;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:10px;
  background:rgba(15,23,42,.84);
  color:#fff;
  font-weight:900;
  font-size:13px;
  border:1px solid rgba(255,255,255,.18);
}
.corpiva-gallery-card:hover img{
  transform:scale(1.035);
}
.corpiva-gallery-credits{
  margin:18px 0 0;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  color:var(--muted);
  font-size:12px;
  line-height:1.75;
}
.corpiva-gallery-credits strong{
  color:var(--text);
}
.corpiva-gallery-credits a{
  color:var(--text);
  font-weight:700;
}
.corpiva-gallery-credits a:hover{
  color:var(--accent);
}
.corpiva-gallery-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.82);
}
.corpiva-gallery-modal.is-open{
  display:flex;
}
.corpiva-gallery-dialog{
  position:relative;
  width:min(980px, 100%);
  max-height:90vh;
  padding:14px;
  border-radius:18px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
}
.corpiva-gallery-dialog img{
  width:100%;
  max-height:72vh;
  object-fit:contain;
  display:block;
  border-radius:12px;
  background:rgba(148,163,184,.12);
}
.corpiva-gallery-caption{
  margin:12px 46px 0 2px;
  color:var(--text);
  font-weight:900;
}
.corpiva-gallery-close,
.corpiva-gallery-nav{
  border:0;
  cursor:pointer;
  background:var(--accent);
  color:var(--accent-contrast);
  font-weight:900;
}
.corpiva-gallery-close{
  position:absolute;
  right:14px;
  bottom:12px;
  width:36px;
  height:36px;
  border-radius:10px;
}
.corpiva-gallery-nav{
  position:absolute;
  top:50%;
  width:42px;
  height:42px;
  border-radius:999px;
  transform:translateY(-50%);
  box-shadow:0 12px 24px rgba(15,23,42,.28);
}
.corpiva-gallery-prev{ left:-18px; }
.corpiva-gallery-next{ right:-18px; }
.corpiva-product-card{
  background: var(--surface);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
  border:1px solid var(--border);
}
.corpiva-product-card .gallery-img{
  width:100%;
  height:240px;
  object-fit:contain;
  border-radius:14px;
  display:block;
}
.product-thumb{
  background: transparent;
  border-radius:14px;
  height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:18px;
  color: var(--muted);
  font-weight:700;
  margin-bottom:14px;
}
.product-thumb .gallery-img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.product-title{
  font-weight:800;
  color: var(--text);
  margin:0 0 8px 0;
}
.product-price{
  color: var(--accent);
  font-weight:900;
}
.corpiva-about-mini{
  background: var(--surface);
  padding: 56px 18px 80px 18px;
}
.corpiva-about-mini-inner{
  max-width: 900px;
  margin: 0 auto;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 18px 36px rgba(15,23,42,.14);
}
.corpiva-about-mini-head{
  margin-bottom: 10px;
}
.corpiva-about-mini .corpiva-products-title{
  margin-bottom: 12px;
}
.corpiva-about-mini .corpiva-products-desc{
  margin: 0 0 18px 0;
}
@media (max-width: 640px){
  .featured-products-section .featured-products-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1100px){
  .corpiva-products-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .corpiva-gallery-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px){
  .corpiva-gallery-grid{ grid-template-columns: 1fr; }
  .corpiva-gallery-card,
  .corpiva-gallery-card img{ min-height:220px; }
  .corpiva-gallery-nav{
    top:auto;
    bottom:12px;
    transform:none;
  }
  .corpiva-gallery-prev{ left:14px; }
  .corpiva-gallery-next{ right:60px; }
  .corpiva-about-mini-inner{ padding: 22px; }
}

/* ===== Footer (PIC 3) ===== */
.corpiva-footer{
  background: radial-gradient(circle at top left, #1b1b33 0%, #0b0b18 60%, #070712 100%);
  color:#cbd5e1;
  padding:60px 18px;
}
.corpiva-footer-title{
  font-size:84px; font-weight:900; letter-spacing:4px;
  background: linear-gradient(90deg, #ff3b00 0%, #ffa500 40%, #ff3b00 85%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; text-transform:uppercase;
  background-size: 200% 100%;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:flex-end;
  perspective: 900px;
}
.corpiva-footer-title .word{
  display:inline-flex;
  align-items:flex-end;
  gap:.01em;
  background: inherit;
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
  transform: scaleY(1.04);
  transform-origin: 50% 85%;
}
.corpiva-footer-title .wave-letter{
  display:inline-block;
  background: inherit;
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
  transform-origin: 50% 85%;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}
.corpiva-footer-title .wave-gap{
  display:inline-block;
  width:.22em;
}
.corpiva-footer-line{
  height:1px; background: rgba(225,6,6,.45);
  margin:18px 0 40px 0;
  position: relative;
  overflow: hidden;
}
.corpiva-footer-line::after{
  content:"";
  position:absolute;
  top:0; left:-30%;
  width:30%; height:100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,59,0,.9) 50%, transparent 100%);
}
@media (prefers-reduced-motion: no-preference){
  .corpiva-footer:hover .wave-letter{
    animation: corpivaLetterWaveIdle 1.75s cubic-bezier(.445, .05, .55, .95) infinite;
    animation-delay: calc(var(--wave-index, 0) * 58ms);
  }
  .corpiva-footer:hover .corpiva-footer-line::after{
    animation: corpivaLineSweep 3.5s ease-in-out infinite;
  }
}
.corpiva-footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:28px;
}
.footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-logo{ width:34px; height:34px; border-radius:999px; background:#e10606; }
.footer-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:999px;
  display:block;
  filter: brightness(0) invert(1);
}
.footer-name{ font-weight:900; color:#fff; letter-spacing:1px; }
.footer-head{ color:#fff; font-weight:900; font-size:18px; margin-bottom:14px; position:relative; }
.footer-head::after{
  content:""; display:block; width:34px; height:2px;
  background:#e10606; margin-top:8px;
}
.footer-text{ color: rgba(203,213,225,.75); line-height:1.7; }
.footer-info{ margin-top:12px; color: rgba(203,213,225,.9); }
.footer-phone{
  color:inherit;
  font-weight:800;
  text-decoration:none;
  transition:color .2s ease;
}
.footer-phone:hover{ color:#fff; }
.footer-phone:focus-visible{
  outline:3px solid rgba(225,6,6,.5);
  outline-offset:3px;
}
.footer-quote{
  margin-top:18px; background:#e10606; color:#fff;
  border:none; height:44px; padding:0 16px;
  border-radius:10px; font-weight:900; cursor:pointer;
}
.footer-contact-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.footer-contact-actions .footer-quote{ margin-top:0; }
.footer-whatsapp{
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(74,222,128,.45);
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(22,163,74,.16);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.footer-whatsapp::before{
  content:"";
  width:20px;
  height:20px;
  flex:0 0 20px;
  background:url("../images/icons/social/whatsapp-icon.png?v=2026061701") center/contain no-repeat;
}
.footer-whatsapp:hover{
  transform:translateY(-2px);
  background:rgba(22,163,74,.28);
  border-color:rgba(74,222,128,.72);
}
.footer-whatsapp:focus-visible{
  outline:3px solid rgba(74,222,128,.38);
  outline-offset:3px;
}
.footer-links{ display:grid; gap:10px; }
.footer-links a{ color: rgba(203,213,225,.8); text-decoration:none; }
.footer-links a:hover{ color:#fff; }

.footer-gallery{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 74px));
  gap:10px;
  align-items:start;
}
.footer-gallery img{
  width:100%;
  height:100%;
  aspect-ratio: 1/1;
  object-fit:cover;
  border-radius:12px;
  display:block;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.06);
}
.footer-gallery .gallery-cta{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  border-radius:12px;
  overflow:hidden;
}
.footer-gallery .gallery-cta img{
  border-radius:0;
  border:none;
}
.footer-gallery .gallery-cta-btn{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  background: rgba(15,23,42,.82);
  color:#fff;
  font-weight:800;
  font-size:13px;
  padding:8px 10px;
  border-radius:10px;
  text-align:center;
  border:1px solid rgba(255,255,255,.2);
  box-sizing:border-box;
}

/* ===== Certifications ===== */
.certifications-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(72px, 10vw, 126px) 18px 72px;
  background:
    radial-gradient(circle at 83% 18%, rgba(225,6,6,.23), transparent 24%),
    radial-gradient(circle at 75% 78%, rgba(255,166,0,.12), transparent 26%),
    linear-gradient(135deg, #111827 0%, #0b1020 48%, #11111f 100%);
}
.certifications-hero::before,
.certifications-hero::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  pointer-events:none;
}
.certifications-hero::before{ width:480px; height:480px; right:-155px; top:-260px; }
.certifications-hero::after{ width:330px; height:330px; right:20%; bottom:-245px; }
.certifications-hero-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(300px, .85fr);
  gap:32px;
  align-items:center;
  position:relative;
  z-index:1;
}
.certifications-hero-copy h1{
  max-width:760px;
  margin:16px 0;
  color:#f8fafc;
  font-size:clamp(42px, 6vw, 76px);
  line-height:.98;
  letter-spacing:-.045em;
}
.certifications-hero-copy p{
  max-width:680px;
  margin:0;
  color:rgba(226,232,240,.84);
  font-size:clamp(17px, 2vw, 20px);
  line-height:1.7;
}
.certifications-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.certifications-document-panel{
  min-height:300px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:linear-gradient(140deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
  box-shadow:0 26px 65px rgba(0,0,0,.23);
  backdrop-filter:blur(12px);
}
.certifications-panel-label,
.certification-status{
  color:#ff9f43;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
.certifications-document-panel strong{ margin-top:16px; color:#fff; font-size:clamp(24px, 3vw, 34px); line-height:1.12; }
.certifications-document-panel p{ margin:14px 0 0; color:rgba(226,232,240,.78); line-height:1.65; }
.certifications-panel-stats{ display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.certifications-panel-stats span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#dbeafe;
  font-size:11px;
  font-weight:900;
  letter-spacing:.09em;
}
.certifications-library{
  max-width:1200px;
  margin:0 auto;
  padding:clamp(64px, 9vw, 110px) 18px;
}
.certifications-section-head{ max-width:720px; }
.certifications-section-head h2,
.certifications-request h2{
  margin:15px 0 12px;
  color:#111827;
  font-size:clamp(32px, 4.4vw, 54px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.certifications-section-head p,
.certifications-request p{ margin:0; color:#64748b; font-size:17px; line-height:1.75; }
.certifications-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.certification-card{
  min-height:405px;
  padding:24px;
  display:flex;
  flex-direction:column;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 15px 34px rgba(15,23,42,.06);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.certification-card:hover{ transform:translateY(-5px); border-color:rgba(225,6,6,.34); box-shadow:0 22px 42px rgba(15,23,42,.12); }
.certification-card-top{ display:flex; justify-content:space-between; gap:12px; align-items:center; color:#94a3b8; font-size:13px; font-weight:900; }
.certification-status{ padding:7px 9px; border-radius:999px; background:#fff5ed; color:#d94b05; font-size:10px; white-space:nowrap; }
.certification-document-icon{
  width:60px;
  height:70px;
  margin:32px 0 23px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:9px;
  background:linear-gradient(145deg, #eff6ff, #dbeafe);
  color:#1d4ed8;
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
}
.certification-document-icon::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:18px;
  height:18px;
  border-left:1px solid rgba(29,78,216,.2);
  border-bottom:1px solid rgba(29,78,216,.2);
  background:rgba(255,255,255,.55);
  clip-path:polygon(0 0, 100% 100%, 0 100%);
}
.certification-card h3{ margin:0; color:#172033; font-size:23px; line-height:1.14; }
.certification-card p{ margin:12px 0 0; color:#64748b; line-height:1.65; }
.certification-card-meta{ display:grid; gap:7px; margin-top:20px; color:#64748b; font-size:13px; }
.certification-card-link{
  margin-top:auto;
  padding-top:22px;
  color:#c81e1e;
  font-weight:900;
  text-decoration:none;
}
.certification-card-link span{ display:inline-block; margin-left:5px; transition:transform .2s ease; }
.certification-card-link:hover span{ transform:translateX(4px); }
.certifications-request{
  max-width:1200px;
  margin:0 auto clamp(64px, 9vw, 110px);
  padding:clamp(28px, 5vw, 48px);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border-radius:22px;
  background:linear-gradient(130deg, #fff5ed, #fff 62%, #fef2f2);
  border:1px solid #fed7aa;
}
.certifications-request > div{ max-width:760px; }
.certifications-request .overview-pill{ color:#c2410c; background:rgba(255,255,255,.7); }
.certifications-request h2{ font-size:clamp(27px, 3.5vw, 42px); }
@media (max-width:1000px){
  .certifications-hero-inner{ grid-template-columns:1fr; }
  .certifications-document-panel{ min-height:0; }
  .certifications-grid{ grid-template-columns:1fr 1fr; }
  .certifications-request{ margin-left:18px; margin-right:18px; }
}
@media (max-width:620px){
  .certifications-hero{ padding-top:66px; }
  .certifications-grid{ grid-template-columns:1fr; }
  .certifications-request{ align-items:flex-start; flex-direction:column; }
  .certification-card{ min-height:360px; }
}
[data-theme="dark"] .certifications-section-head h2,
[data-theme="dark"] .certifications-request h2{
  color:#f8fafc;
}
[data-theme="dark"] .certifications-section-head p,
[data-theme="dark"] .certifications-request p{
  color:#aeb8c6;
}
[data-theme="dark"] .certification-card{
  border-color:rgba(148,163,184,.22);
  background:linear-gradient(145deg, #171b29, #10131e);
  box-shadow:0 16px 36px rgba(0,0,0,.24);
}
[data-theme="dark"] .certification-card:hover{
  border-color:rgba(255,107,71,.56);
  box-shadow:0 24px 46px rgba(0,0,0,.36);
}
[data-theme="dark"] .certification-card-top{ color:#94a3b8; }
[data-theme="dark"] .certification-status{
  color:#ffb779;
  background:rgba(234,88,12,.14);
}
[data-theme="dark"] .certification-document-icon{
  border:1px solid rgba(96,165,250,.2);
  background:linear-gradient(145deg, rgba(30,64,175,.42), rgba(30,41,59,.75));
  color:#bfdbfe;
}
[data-theme="dark"] .certification-document-icon::after{
  border-color:rgba(191,219,254,.22);
  background:rgba(191,219,254,.14);
}
[data-theme="dark"] .certification-card h3{ color:#f8fafc; }
[data-theme="dark"] .certification-card p,
[data-theme="dark"] .certification-card-meta{ color:#aeb8c6; }
[data-theme="dark"] .certification-card-link{ color:#ff896a; }
[data-theme="dark"] .certifications-request{
  border-color:rgba(251,146,60,.26);
  background:linear-gradient(130deg, #201914, #151721 62%, #211518);
}
[data-theme="dark"] .certifications-request .overview-pill{
  color:#fdba74;
  background:rgba(251,146,60,.12);
}

@media (max-width: 1100px){
  .corpiva-footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px){
  .corpiva-footer-grid{ grid-template-columns: 1fr; }
}

/* ===== Scroll To Top ===== */
.corpiva-scrolltop{
  position:fixed;
  right:22px;
  bottom:22px;
  width:46px;
  height:46px;
  border-radius:999px;
  background: var(--surface);
  border:2px solid var(--scroll-ring, var(--accent));
  color: var(--scroll-fill, var(--accent));
  font-size:18px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow: 0 14px 26px rgba(15,23,42,.2);
  opacity:0;
  transform: translateY(12px);
  pointer-events:none;
  transition: opacity 200ms ease, transform 200ms ease;
  z-index:9996;
}
.corpiva-scrolltop::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  background: conic-gradient(var(--scroll-fill, var(--accent)) var(--scroll-progress, 0%), var(--scroll-track) 0);
  z-index:0;
}
.corpiva-scrolltop::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:999px;
  background: var(--surface);
  z-index:1;
}
.scrolltop-icon{
  position:relative;
  z-index:2;
}
.corpiva-scrolltop.show{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}
html.corpiva-chatbot-open .corpiva-scrolltop,
body.corpiva-chatbot-open .corpiva-scrolltop,
.corpiva-scrolltop[hidden]{
  display:none !important;
  opacity:0 !important;
  transform: translateY(18px) !important;
  pointer-events:none !important;
}

/* ===== Catalogue Reader ===== */
.corpiva-catalogue-page{
  background:
    linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.98));
}
.catalogue-reader-main{
  min-height:calc(100vh - 86px);
}
.catalogue-reader-screen{
  min-height:calc(100vh - 86px);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.catalogue-reader-bar{
  width:min(1500px, 100%);
  margin:0 auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.catalogue-reader-bar h1{
  color:var(--text);
  font-size:clamp(34px, 4.5vw, 72px);
  line-height:.95;
  letter-spacing:0;
  margin:12px 0 10px;
}
.catalogue-reader-bar p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.catalogue-reader-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.catalogue-reader-link{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 15px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  text-decoration:none;
  font-weight:900;
}
.catalogue-reader-link-primary{
  background:var(--accent);
  color:var(--accent-contrast);
  border-color:transparent;
}
.catalogue-reader-stage{
  width:min(1500px, 100%);
  margin:0 auto;
  flex:1;
  height:calc(100vh - 190px);
  min-height:620px;
  display:flex;
}
.catalogue-launcher{
  flex:1;
  min-height:100%;
  display:grid;
  grid-template-columns:minmax(240px, .8fr) minmax(0, 1.2fr);
  align-items:center;
  gap:clamp(28px, 5vw, 72px);
  padding:clamp(28px, 5vw, 72px);
  border:1px solid var(--border);
  border-radius:18px;
  background:
    radial-gradient(circle at 18% 20%, rgba(225,6,6,.12), transparent 42%),
    var(--surface);
  box-shadow:0 24px 50px rgba(15,23,42,.14);
}
.catalogue-launcher-art{
  min-height:320px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg, #101827, #222f44);
  overflow:hidden;
}
.catalogue-launcher-art img{
  width:min(250px, 70%);
  height:auto;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.32));
}
.catalogue-launcher-copy{
  max-width:680px;
}
.catalogue-launcher-copy h2{
  margin:16px 0 14px;
  color:var(--text);
  font-size:clamp(30px, 4vw, 54px);
  line-height:1.04;
}
.catalogue-launcher-copy p{
  color:var(--muted);
  line-height:1.7;
}
.catalogue-launcher-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.catalogue-launcher-actions button{
  cursor:pointer;
  font:inherit;
}

/* ===== Book PDF Viewer ===== */
.catalogue-pdf-panel{
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:0 24px 50px rgba(15,23,42,.14);
}
.catalogue-pdf-toolbar{
  min-height:64px;
  padding:10px 14px 10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
}
.catalogue-pdf-toolbar strong,
.catalogue-pdf-toolbar span{display:block}
.catalogue-pdf-toolbar strong{color:var(--text)}
.catalogue-pdf-toolbar span{margin-top:3px;color:var(--muted);font-size:13px}
.catalogue-pdf-embed{
  display:block;
  width:100%;
  height:calc(100vh - 270px);
  min-height:620px;
  border:0;
  background:#e5e7eb;
}
.catalogue-pdf-fallback{
  min-height:620px;
  padding:40px 20px;
  display:grid;
  place-content:center;
  justify-items:center;
  text-align:center;
  color:var(--text);
}
.catalogue-pdf-fallback p{color:var(--muted)}

/* Stable, download-free single-page catalogue reader. */
.catalogue-simple-viewer{
  width:min(1040px, 100%);
  margin:0 auto;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:#dfe3e8;
  box-shadow:0 24px 50px rgba(15,23,42,.16);
}
.catalogue-simple-viewer[hidden]{display:none !important}
.catalogue-simple-toolbar{
  min-height:64px;
  padding:10px 14px;
  display:grid;
  grid-template-columns:auto minmax(120px, 1fr) auto;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.catalogue-simple-status{
  color:var(--text);
  text-align:center;
  font-weight:800;
}
.catalogue-simple-btn{
  min-height:42px;
  padding:0 18px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.catalogue-simple-btn:disabled{opacity:.42;cursor:not-allowed}
.catalogue-simple-page{
  position:relative;
  min-height:520px;
  padding:24px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}
.catalogue-simple-page canvas{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.2);
}
.catalogue-simple-watermark{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  color:rgba(225,6,6,.11);
  font-size:clamp(22px,5vw,56px);
  font-weight:900;
  letter-spacing:.12em;
  transform:rotate(-18deg);
}
[data-theme="dark"] .corpiva-catalogue-page{
  background:linear-gradient(180deg,#090b12,#111827);
}
[data-theme="dark"] .catalogue-simple-viewer{
  background:#080f1a;
  border-color:rgba(148,163,184,.3);
}
[data-theme="dark"] .catalogue-simple-toolbar{
  background:#111827;
  border-color:#334155;
}
[data-theme="dark"] .catalogue-simple-status{color:#f8fafc;}
[data-theme="dark"] .catalogue-simple-btn{
  background:#1e293b;
  border-color:#475569;
  color:#f8fafc;
}
.catalogue-pdf-shell{
  width:100%;
  height:clamp(680px,82vh,1080px);
  min-width:0;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:0 26px 70px rgba(15,23,42,.18);
  outline:none;
}
.catalogue-pdf-shell[hidden]{display:none !important;}
.catalogue-pdf-shell:focus-visible{box-shadow:0 0 0 3px rgba(225,6,6,.24),0 26px 70px rgba(15,23,42,.18);}
.catalogue-pdf-toolbar{
  min-height:82px;
  flex:0 0 auto;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
}
.catalogue-pdf-heading{min-width:0;}
.catalogue-pdf-heading h2{margin:6px 0 0;color:var(--text);font-size:clamp(20px,2.4vw,31px);line-height:1.1;}
.catalogue-pdf-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.catalogue-pdf-action{
  min-height:42px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.catalogue-pdf-action:hover,.catalogue-pdf-action:focus-visible{border-color:var(--accent);color:var(--accent);}
.catalogue-pdf-close{border-color:rgba(225,6,6,.32);}
.catalogue-document-toolbar{
  min-height:56px;
  flex:0 0 auto;
  padding:7px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.catalogue-page-controls,.catalogue-zoom-controls{display:flex;align-items:center;gap:7px;}
.catalogue-tool-button,.catalogue-zoom-select,.catalogue-page-field{
  min-height:38px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  font-size:13px;
  font-weight:800;
}
.catalogue-tool-button{min-width:38px;padding:0 11px;cursor:pointer;}
.catalogue-tool-button:hover:not(:disabled),.catalogue-tool-button:focus-visible,.catalogue-zoom-select:focus-visible{border-color:var(--accent);color:var(--accent);}
.catalogue-tool-button:disabled{opacity:.4;cursor:not-allowed;}
.catalogue-page-field{padding:0 10px;display:flex;align-items:center;gap:7px;}
.catalogue-page-field input{
  width:54px;
  height:28px;
  padding:0 5px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-weight:850;
  text-align:center;
}
.catalogue-zoom-select{min-width:112px;padding:0 30px 0 10px;cursor:pointer;}
.catalogue-pdf-frame-wrap{position:relative;min-height:0;flex:1 1 auto;display:flex;overflow:hidden;background:#cfd5df;}
.catalogue-canvas-stage{
  width:100%;
  min-width:0;
  height:100%;
  padding:18px;
  overflow:auto;
  display:grid;
  place-items:start center;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y pinch-zoom;
  outline:none;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.5),transparent 35%),
    #cfd5df;
}
.catalogue-canvas-stage:focus-visible{box-shadow:inset 0 0 0 3px rgba(225,6,6,.25);}
.catalogue-canvas-sheet{
  position:relative;
  min-width:1px;
  min-height:1px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.24);
}
.catalogue-canvas-sheet canvas{display:block;max-width:none;height:auto;background:#fff;}
.catalogue-canvas-watermark{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  color:rgba(127,29,29,.06);
  font-size:clamp(24px,5vw,68px);
  font-weight:950;
  letter-spacing:.13em;
  transform:rotate(-18deg);
  user-select:none;
}
.catalogue-pdf-loading{
  position:absolute;
  z-index:2;
  inset:0;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:10px;
  background:linear-gradient(145deg,#111827,#1f2937);
  color:#f8fafc;
  text-align:center;
}
.catalogue-pdf-loading[hidden]{display:none !important;}
.catalogue-pdf-loading > span:last-child{max-width:480px;color:#cbd5e1;font-size:14px;line-height:1.5;}
.catalogue-pdf-spinner{
  width:40px;
  height:40px;
  margin-bottom:6px;
  border:3px solid rgba(255,255,255,.25);
  border-top-color:#fff;
  border-radius:50%;
  animation:catalogueSpinner 800ms linear infinite;
}
@keyframes catalogueSpinner{to{transform:rotate(360deg);}}
.catalogue-pdf-shell:fullscreen{width:100vw;height:100vh;max-width:none;border:0;border-radius:0;}
.catalogue-native-wrap{
  min-height:0;
  flex:1 1 auto;
  background:#cfd5df;
  display:flex;
}
.catalogue-native-frame{
  display:block;
  width:100%;
  min-height:760px;
  flex:1 1 auto;
  border:0;
  background:#fff;
}
.catalogue-native-fallback{
  margin:auto;
  padding:24px;
  color:#172033;
  text-align:center;
}
.catalogue-native-fallback a{color:var(--accent);font-weight:900;}
[data-theme="dark"] .catalogue-pdf-shell{background:#080f1a;border-color:#334155;}
[data-theme="dark"] .catalogue-pdf-toolbar{background:#111827;border-color:#334155;}
[data-theme="dark"] .catalogue-pdf-action{background:#1e293b;border-color:#475569;color:#f8fafc;}
[data-theme="dark"] .catalogue-document-toolbar{background:#0f172a;border-color:#334155;}
[data-theme="dark"] .catalogue-tool-button,
[data-theme="dark"] .catalogue-zoom-select,
[data-theme="dark"] .catalogue-page-field{background:#1e293b;border-color:#475569;color:#f8fafc;color-scheme:dark;}
[data-theme="dark"] .catalogue-page-field input{background:#0f172a;border-color:#475569;color:#f8fafc;color-scheme:dark;}
@media (max-width:600px){
  .catalogue-simple-toolbar{grid-template-columns:1fr 1fr}
  .catalogue-simple-status{grid-column:1 / -1;grid-row:1}
  .catalogue-simple-page{min-height:360px;padding:10px}
  .catalogue-simple-btn{padding:0 12px}
  .catalogue-pdf-shell{height:calc(100svh - 18px);min-height:600px;border-radius:12px;}
  .catalogue-pdf-toolbar{min-height:0;padding:10px;align-items:stretch;flex-direction:column;gap:10px;}
  .catalogue-pdf-heading h2{font-size:20px;}
  .catalogue-pdf-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .catalogue-pdf-action{width:100%;min-width:0;padding:0 8px;}
  .catalogue-pdf-close{grid-column:1 / -1;}
  .catalogue-native-frame{min-height:calc(100svh - 190px);}
  .catalogue-document-toolbar{padding:7px;align-items:stretch;flex-direction:column;}
  .catalogue-page-controls,.catalogue-zoom-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
  .catalogue-zoom-controls{grid-template-columns:40px minmax(0,1fr) 40px minmax(72px,1fr);}
  .catalogue-tool-button{min-width:0;padding:0 5px;}
  .catalogue-page-field{min-width:0;padding:0 5px;justify-content:center;}
  .catalogue-page-field input{width:38px;}
  .catalogue-zoom-select{width:100%;min-width:0;}
  .catalogue-canvas-stage{padding:8px;}
  .catalogue-canvas-watermark{font-size:clamp(18px,8vw,34px);}
}
@media (max-width:700px){
  .catalogue-reader-stage{height:auto;min-height:0}
  .catalogue-pdf-toolbar{align-items:flex-start}
  .catalogue-pdf-toolbar .catalogue-reader-link{min-height:38px;padding:0 12px}
  .catalogue-pdf-embed{height:72vh;min-height:520px}
}
.corpiva-book-viewer{
  background: var(--surface);
  padding: 70px 18px 90px 18px;
}
.book-shell{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:22px;
  background:
    linear-gradient(90deg, rgba(15,23,42,.08) 0%, rgba(15,23,42,.02) 10%, rgba(255,255,255,.02) 48%, rgba(15,23,42,.02) 52%, rgba(15,23,42,.06) 100%),
    var(--surface-2);
  border-radius:18px;
  border:1px solid var(--border);
  box-shadow: 0 30px 60px rgba(15,23,42,.18);
}
.book-shell::before{
  content:"";
  position:absolute;
  top:16px;
  bottom:16px;
  left:50%;
  width:10px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(255,255,255,.06), rgba(0,0,0,.08));
  border-radius:999px;
  opacity:.6;
  pointer-events:none;
}
.book-frame{
  position:relative;
  background: var(--surface);
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.book-watermark{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:5;
  opacity:.16;
  background-image:
    repeating-linear-gradient(135deg, rgba(225,6,6,.25) 0 2px, transparent 2px 120px);
}
.book-watermark::after{
  content:"CRAY SURGICAL \00B7 HOLLOWARE CATALOGUE";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:900;
  letter-spacing:3px;
  color: rgba(225,6,6,.35);
  transform: rotate(-18deg);
  text-transform:uppercase;
  white-space:nowrap;
}
.book-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.05) 0%, rgba(255,255,255,0) 15%, rgba(255,255,255,0) 85%, rgba(0,0,0,.05) 100%);
  mix-blend-mode:multiply;
}
.book-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background: var(--surface-2);
  border-bottom:1px solid var(--border);
}
.book-controls .book-label{
  font-weight:700;
  color: var(--text);
}
.book-controls .book-actions{
  display:flex;
  gap:10px;
}
.book-btn{
  height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-weight:700;
  cursor:pointer;
}
.book-download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.book-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.book-pages{
  display:flex;
  gap:18px;
  padding:16px;
  background: var(--surface);
  position:relative;
  perspective:2200px;
  perspective-origin:center center;
  transform-style:preserve-3d;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
}
.book-pages:active{
  cursor: grabbing;
}
.corpiva-book-viewer:fullscreen{
  width:100vw;
  height:100vh;
  padding:0;
  background:#111827;
  overflow:hidden;
}
.corpiva-book-viewer:fullscreen .book-shell{
  width:100%;
  height:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#111827;
}
.corpiva-book-viewer:fullscreen .book-shell::before,
.corpiva-book-viewer:fullscreen .book-frame::after{
  display:none;
}
.corpiva-book-viewer:fullscreen .book-frame{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  display:flex;
  flex-direction:column;
  background:#111827;
}
.corpiva-book-viewer:fullscreen .book-controls{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(17,24,39,.96);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
}
.corpiva-book-viewer:fullscreen .book-controls .book-label,
.corpiva-book-viewer:fullscreen .book-mode{
  color:#fff;
}
.corpiva-book-viewer:fullscreen .book-btn{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.corpiva-book-viewer:fullscreen .book-pages{
  display:none;
}
.book-fullscreen-scroll{
  display:none;
}
.corpiva-book-viewer:fullscreen .book-fullscreen-scroll{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  width:100%;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:18px 14px 28px;
  background:#111827;
  touch-action:pan-y pinch-zoom;
}
.book-fullscreen-page{
  width:min(980px, 100%);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.book-fullscreen-page-label{
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.book-fullscreen-page canvas{
  width:100%;
  min-height:180px;
  height:auto;
  display:block;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.32);
}
.book-pages.is-cover-spread{
  background:
    linear-gradient(90deg, rgba(15,23,42,.04) 0%, rgba(15,23,42,.02) 18%, rgba(255,255,255,.02) 50%, rgba(15,23,42,.03) 82%, rgba(15,23,42,.08) 100%);
}
.book-page{
  flex:1;
  position:relative;
  background: var(--surface);
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:60vh;
  overflow:hidden;
  contain: layout paint;
  transform: translateZ(0);
  backface-visibility:hidden;
}
.book-page.is-blank{
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,247,247,.94));
}
.book-page.is-blank canvas{
  visibility:hidden;
}
.book-pages.is-cover-spread .book-page-left{
  background:
    linear-gradient(90deg, rgba(15,23,42,.08) 0%, rgba(255,255,255,.96) 26%, rgba(255,255,255,.98) 100%);
  border-color: rgba(15,23,42,.08);
  box-shadow:
    inset -32px 0 42px rgba(15,23,42,.06),
    inset 0 0 0 1px rgba(255,255,255,.72);
}
.book-pages.is-cover-spread .book-page-right{
  box-shadow:
    -22px 14px 32px rgba(15,23,42,.12),
    -10px 0 18px rgba(15,23,42,.08);
}
.book-pages.is-cover-spread .book-page-right::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:18px;
  background: linear-gradient(90deg, rgba(15,23,42,.14), rgba(15,23,42,0));
  pointer-events:none;
  z-index:2;
}
.book-page-left{ transform-origin: left center; }
.book-page-right{ transform-origin: right center; }
.book-turn{
  position:absolute;
  top:14px;
  bottom:14px;
  left:50%;
  width:calc(50% - 18px);
  transform-origin: left center;
  pointer-events:none;
  opacity:0;
  border-radius:12px;
  background:
    radial-gradient(circle at 0% 50%, rgba(0,0,0,.26), rgba(0,0,0,0) 62%),
    linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(255,255,255,.48) 18%, rgba(255,255,255,.98) 46%, rgba(255,255,255,.82) 66%, rgba(255,255,255,0) 100%);
  box-shadow:
    -18px 0 34px rgba(0,0,0,.26),
    -4px 0 0 rgba(255,255,255,.42) inset;
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility:hidden;
  z-index:4;
}
.book-turn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 28%, rgba(0,0,0,.14) 52%, rgba(0,0,0,.24) 100%);
  opacity:.82;
}
.book-turn-back{
  position:absolute;
  top:14px;
  bottom:14px;
  left:50%;
  width:calc(50% - 18px);
  transform-origin: left center;
  pointer-events:none;
  opacity:0;
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(252,252,252,.98) 0%, rgba(239,239,239,.94) 48%, rgba(224,224,224,.84) 100%);
  box-shadow:
    -14px 0 26px rgba(0,0,0,.18),
    -2px 0 0 rgba(255,255,255,.3) inset;
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility:hidden;
  z-index:3;
}
.book-turn-back::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:
    radial-gradient(circle at 100% 50%, rgba(0,0,0,.24), rgba(0,0,0,0) 58%),
    linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(255,255,255,0) 38%);
  opacity:.72;
}
.book-turn.turn-next{
  opacity:1;
  animation: bookTurnNext 1040ms cubic-bezier(.17,.74,.14,1) both;
}
.book-turn.turn-prev{
  opacity:1;
  left:14px;
  transform-origin: right center;
  background:
    radial-gradient(circle at 100% 50%, rgba(0,0,0,.26), rgba(0,0,0,0) 62%),
    linear-gradient(270deg, rgba(0,0,0,.28) 0%, rgba(255,255,255,.48) 18%, rgba(255,255,255,.98) 46%, rgba(255,255,255,.82) 66%, rgba(255,255,255,0) 100%);
  box-shadow:
    18px 0 34px rgba(0,0,0,.26),
    4px 0 0 rgba(255,255,255,.42) inset;
  animation: bookTurnPrev 1040ms cubic-bezier(.17,.74,.14,1) both;
}
.book-turn.turn-prev::after{
  background:
    linear-gradient(270deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 28%, rgba(0,0,0,.14) 52%, rgba(0,0,0,.24) 100%);
}
.book-turn-back.turn-next{
  opacity:1;
  animation: bookTurnBackNext 1040ms cubic-bezier(.17,.74,.14,1) both;
}
.book-turn-back.turn-prev{
  opacity:1;
  left:14px;
  transform-origin: right center;
  animation: bookTurnBackPrev 1040ms cubic-bezier(.17,.74,.14,1) both;
}
@keyframes bookTurnNext{
  0%{ transform: perspective(2200px) rotateY(0deg) translateZ(0); opacity:0; }
  8%{ opacity:1; }
  44%{ transform: perspective(2200px) rotateY(-92deg) skewY(-1.8deg) translateZ(20px); }
  84%{ transform: perspective(2200px) rotateY(-168deg) translateX(-14px) translateZ(4px); opacity:1; }
  100%{ transform: perspective(2200px) rotateY(-179deg) translateX(-16px) translateZ(0); opacity:0; }
}
@keyframes bookTurnPrev{
  0%{ transform: perspective(2200px) rotateY(0deg) translateZ(0); opacity:0; }
  8%{ opacity:1; }
  44%{ transform: perspective(2200px) rotateY(92deg) skewY(1.8deg) translateZ(20px); }
  84%{ transform: perspective(2200px) rotateY(168deg) translateX(14px) translateZ(4px); opacity:1; }
  100%{ transform: perspective(2200px) rotateY(179deg) translateX(16px) translateZ(0); opacity:0; }
}
@keyframes bookTurnBackNext{
  0%{ transform: perspective(2200px) rotateY(0deg) translateZ(0); opacity:0; }
  8%{ opacity:.92; }
  48%{ transform: perspective(2200px) rotateY(-74deg) translateZ(12px); }
  84%{ transform: perspective(2200px) rotateY(-146deg) translateX(-8px) translateZ(3px); opacity:.92; }
  100%{ transform: perspective(2200px) rotateY(-164deg) translateX(-10px) translateZ(0); opacity:0; }
}
@keyframes bookTurnBackPrev{
  0%{ transform: perspective(2200px) rotateY(0deg) translateZ(0); opacity:0; }
  8%{ opacity:.92; }
  48%{ transform: perspective(2200px) rotateY(74deg) translateZ(12px); }
  84%{ transform: perspective(2200px) rotateY(146deg) translateX(8px) translateZ(3px); opacity:.92; }
  100%{ transform: perspective(2200px) rotateY(164deg) translateX(10px) translateZ(0); opacity:0; }
}
.book-page canvas{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  backface-visibility:hidden;
  transform: translateZ(0);
}
.catalogue-reader-stage .corpiva-book-viewer{
  flex:1;
  display:flex;
  padding:0;
  background:transparent;
}
.catalogue-reader-stage .book-shell{
  width:100%;
  max-width:none;
  min-height:100%;
  display:flex;
  padding:16px;
  border-radius:18px;
}
.catalogue-reader-stage .book-frame{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.catalogue-reader-stage .book-controls{
  flex:0 0 auto;
}
.book-mode{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.catalogue-reader-stage .book-pages{
  flex:1;
  min-height:0;
  align-items:center;
}
.catalogue-reader-stage .book-page{
  min-height:0;
  height:100%;
}
.catalogue-reader-stage .book-page canvas{
  max-width:100%;
  max-height:100%;
}
.book-pages:fullscreen{
  width:100vw;
  height:100vh;
  padding:18px;
  background:var(--surface);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  perspective:2400px;
}
.book-pages:fullscreen .book-page{
  flex:1 1 0;
  height:calc(100vh - 36px);
  min-height:0;
  max-width:calc(50vw - 27px);
}
.book-pages:fullscreen .book-page canvas{
  max-width:100%;
  max-height:100%;
}
.book-pages:fullscreen.is-cover-spread .book-page-left{
  display:flex;
}
.book-pages:fullscreen .book-turn,
.book-pages:fullscreen .book-turn-back{
  top:18px;
  bottom:18px;
  width:calc(50% - 18px);
}
.book-pages:fullscreen .book-turn.turn-prev,
.book-pages:fullscreen .book-turn-back.turn-prev{
  left:18px;
}
.book-embed{
  width:100%;
  height:78vh;
  border:0;
  display:block;
}
.no-select{
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
@media (max-width: 900px){
  .catalogue-reader-screen{
    min-height:calc(100vh - 72px);
    padding:12px;
    gap:12px;
  }
  .catalogue-reader-bar{
    align-items:flex-start;
    flex-direction:column;
  }
  .catalogue-reader-bar h1{
    font-size:clamp(32px, 11vw, 52px);
  }
  .catalogue-reader-actions{
    width:100%;
    justify-content:flex-start;
  }
  .catalogue-reader-stage{
    height:auto;
    min-height:calc(100vh - 260px);
  }
  .catalogue-launcher{
    grid-template-columns:1fr;
    min-height:0;
    padding:22px;
  }
  .catalogue-launcher-art{
    min-height:220px;
  }
  .book-pages.is-cover-spread .book-page-left{ display:none; }
  .book-pages.is-cover-spread .book-page-right{
    box-shadow: none;
  }
  .corpiva-book-viewer.is-memo-mode .book-shell{
    padding:10px;
    border-radius:18px;
    background:
      linear-gradient(90deg, rgba(225,6,6,.10), rgba(255,255,255,0) 18%),
      var(--surface-2);
  }
  .corpiva-book-viewer.is-memo-mode .book-shell::before{
    left:22px;
    top:18px;
    bottom:18px;
    width:4px;
    transform:none;
    background:linear-gradient(180deg, rgba(225,6,6,.72), rgba(225,6,6,.18));
    opacity:1;
  }
  .corpiva-book-viewer.is-memo-mode .book-frame{
    border-radius:16px;
  }
  .corpiva-book-viewer.is-memo-mode .book-controls{
    align-items:flex-start;
    gap:10px;
  }
  .corpiva-book-viewer.is-memo-mode .book-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .corpiva-book-viewer.is-memo-mode .book-actions .book-btn[data-book-fullscreen]{
    grid-column:1 / -1;
  }
  .corpiva-book-viewer.is-memo-mode .book-pages{
    display:block;
    padding:14px 12px 16px 18px;
    background:
      repeating-linear-gradient(180deg, rgba(148,163,184,.10) 0 1px, transparent 1px 34px),
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  }
  .corpiva-book-viewer.is-memo-mode .book-page-left{
    display:none;
  }
  .corpiva-book-viewer.is-memo-mode .book-page-right{
    min-height:0;
    height:auto;
    border-radius:14px;
    border-color:rgba(15,23,42,.14);
    background:#fff;
    box-shadow:0 16px 34px rgba(15,23,42,.16);
  }
  .corpiva-book-viewer.is-memo-mode .book-page-right::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:8px;
    background:linear-gradient(180deg, rgba(225,6,6,.82), rgba(225,6,6,.18));
    pointer-events:none;
    z-index:3;
  }
  .corpiva-book-viewer.is-memo-mode .book-page canvas{
    width:100% !important;
    height:auto !important;
    max-height:none;
  }
  .corpiva-book-viewer.is-memo-mode .book-turn,
  .corpiva-book-viewer.is-memo-mode .book-turn-back{
    display:none;
  }
  .corpiva-book-viewer.is-memo-mode .book-watermark{
    opacity:.08;
  }
  .book-pages:fullscreen{
    display:block;
    padding:12px 12px 14px 18px;
    background:
      repeating-linear-gradient(180deg, rgba(148,163,184,.10) 0 1px, transparent 1px 34px),
      linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  }
  .book-pages:fullscreen .book-page-left{
    display:none;
  }
  .book-pages:fullscreen .book-page-right{
    width:100%;
    height:auto;
    max-width:none;
  }
  .book-pages:fullscreen .book-page canvas{
    width:100% !important;
    height:auto !important;
    max-height:none;
  }
}

.corpiva-book-viewer:fullscreen .book-pages,
.corpiva-book-viewer:fullscreen.is-memo-mode .book-pages{
  display:none !important;
}
.corpiva-book-viewer:fullscreen .book-fullscreen-scroll{
  display:flex !important;
}
html.book-faux-fullscreen-active,
html.book-faux-fullscreen-active body{
  overflow:hidden !important;
}
.corpiva-book-viewer.is-faux-fullscreen{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  z-index:1000001;
  padding:0;
  background:#111827;
  overflow:hidden;
}
.corpiva-book-viewer.is-faux-fullscreen .book-shell{
  width:100%;
  height:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#111827;
}
.corpiva-book-viewer.is-faux-fullscreen .book-shell::before,
.corpiva-book-viewer.is-faux-fullscreen .book-frame::after{
  display:none;
}
.corpiva-book-viewer.is-faux-fullscreen .book-frame{
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  display:flex;
  flex-direction:column;
  background:#111827;
}
.corpiva-book-viewer.is-faux-fullscreen .book-controls{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(17,24,39,.96);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
}
.corpiva-book-viewer.is-faux-fullscreen .book-controls .book-label,
.corpiva-book-viewer.is-faux-fullscreen .book-mode{
  color:#fff;
}
.corpiva-book-viewer.is-faux-fullscreen .book-btn{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.corpiva-book-viewer.is-faux-fullscreen .book-pages{
  display:none !important;
}
.corpiva-book-viewer.is-faux-fullscreen .book-fullscreen-scroll{
  flex:1;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:18px;
  width:100%;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:18px 14px 28px;
  background:#111827;
  touch-action:pan-y pinch-zoom;
}
@media (max-width: 560px){
  .corpiva-catalogue-page .corpiva-topbar{
    display:none;
  }
  .catalogue-reader-screen{
    padding:10px;
  }
  .catalogue-reader-link{
    flex:1 1 148px;
  }
  .catalogue-reader-stage{
    height:auto;
    min-height:calc(100vh - 250px);
  }
  .book-btn{
    min-width:0;
    width:100%;
  }
}
@media print{
  html,
  body{
    background:#000 !important;
  }
  body *{
    visibility:hidden !important;
  }
  body::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:2147483647;
    background:#000;
    visibility:visible !important;
  }
}

.corpiva-about-hero{
  background:
    radial-gradient(circle at 10% 20%, rgba(255,59,0,.18), transparent 45%),
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.22), transparent 35%),
    linear-gradient(135deg, rgba(15,23,42,.06), rgba(15,23,42,0));
  padding:90px 18px 70px 18px;
}
.about-hero-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.about-hero-text{
  color: var(--text);
}
.about-hero-title{
  font-size:44px;
  margin:18px 0 14px 0;
  font-weight:900;
  color: var(--text);
  line-height:1.1;
}
.about-hero-desc{
  margin:0 0 22px 0;
  color: var(--muted);
  line-height:1.7;
}
.about-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.about-hero-card{
  background: var(--surface);
  border-radius:22px;
  border:1px solid var(--border);
  padding:22px;
  box-shadow: 0 22px 44px rgba(15,23,42,.18);
  position:relative;
  overflow:hidden;
}
.about-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 20% 20%, rgba(255,59,0,.12), transparent 50%);
  pointer-events:none;
}
.about-hero-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background: rgba(255,59,0,.14);
  color: var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.about-hero-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
  margin-top:18px;
}
.about-hero-metric{
  font-size:28px;
  font-weight:900;
  color: var(--text);
}
.about-hero-label{
  color: var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
}
.about-hero-strip{
  margin-top:18px;
  background: var(--surface-2);
  border-radius:14px;
  padding:12px 14px;
  color: var(--muted);
  border:1px solid var(--border);
}
.corpiva-company-profile{
  padding:76px 18px;
  background:var(--surface-2);
}
.company-profile-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:28px;
  align-items:stretch;
}
.company-profile-copy{
  padding:34px;
  border:1px solid var(--border);
  border-radius:22px;
  background:var(--surface);
  box-shadow:0 20px 42px rgba(15,23,42,.13);
}
.company-profile-copy h2{
  margin:18px 0 16px;
  max-width:700px;
  color:var(--text);
  font-size:clamp(30px, 4vw, 44px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.company-profile-copy p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
}
.company-profile-copy p + p{ margin-top:14px; }
.company-profile-lead{
  color:var(--text) !important;
  font-size:18px !important;
}
.company-profile-promise{
  margin:26px 0 0;
  padding:20px 22px;
  border-left:4px solid var(--accent);
  border-radius:0 16px 16px 0;
  background:linear-gradient(135deg, rgba(225,6,6,.1), rgba(255,166,0,.05));
}
.company-profile-promise strong{
  display:block;
  margin-bottom:8px;
  color:var(--text);
  font-size:20px;
  line-height:1.35;
}
.company-profile-promise span{
  display:block;
  color:var(--muted);
  line-height:1.65;
}
.company-profile-snapshot{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0, rgba(255,59,0,.22), transparent 38%),
    linear-gradient(145deg, #1b1b33, #080812);
  color:#fff;
  box-shadow:0 24px 48px rgba(15,23,42,.24);
}
.company-profile-snapshot-head{
  padding:26px 26px 20px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.company-profile-snapshot-head span{
  display:block;
  margin-bottom:7px;
  color:#ff7a3d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.company-profile-snapshot-head strong{
  font-size:26px;
  line-height:1.2;
}
.company-profile-list{
  display:grid;
  gap:0;
  margin:0;
  padding:4px 26px 10px;
}
.company-profile-list div{
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.company-profile-list dt{
  margin-bottom:6px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.company-profile-list dd{
  margin:0;
  color:rgba(226,232,240,.78);
  font-size:14px;
  line-height:1.55;
}
.company-profile-link{
  margin:auto 26px 26px;
  min-height:46px;
  padding:0 16px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--accent);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  transition:transform .2s ease, filter .2s ease;
}
.company-profile-link:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}
.corpiva-about-story,
.corpiva-about-process,
.corpiva-about-standards{
  padding:70px 18px;
  background: var(--surface);
}
.corpiva-about-process{ background: var(--surface-2); }
.about-section-head{
  max-width:820px;
  margin:0 auto 36px auto;
  text-align:center;
}
.about-section-title{
  font-size:32px;
  font-weight:900;
  margin:16px 0 10px 0;
  color: var(--text);
}
.about-section-desc{
  color: var(--muted);
  line-height:1.7;
  margin:0;
}
.about-story-grid{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:20px;
}
.about-story-card{
  background: var(--surface);
  border-radius:18px;
  border:1px solid var(--border);
  padding:20px;
  box-shadow: 0 18px 36px rgba(15,23,42,.16);
}
.about-story-card h3{
  margin:0 0 10px 0;
  font-size:18px;
  color: var(--text);
}
.about-story-card p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
.about-process-steps{
  max-width:980px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.about-step{
  display:grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap:16px;
  background: var(--surface);
  border-radius:16px;
  border:1px solid var(--border);
  padding:16px;
  box-shadow: 0 16px 32px rgba(15,23,42,.12);
}
.about-step-num{
  width:52px;
  height:52px;
  border-radius:14px;
  background: rgba(255,59,0,.14);
  color: var(--accent);
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.about-step h3{
  margin:0 0 8px 0;
  color: var(--text);
  font-size:18px;
}
.about-step p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
.about-standards-grid{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:20px;
}
.about-standards-card{
  background: var(--surface);
  border-radius:18px;
  border:1px solid var(--border);
  padding:20px;
  box-shadow: 0 18px 36px rgba(15,23,42,.16);
}
.about-standards-card h3{
  margin:0 0 10px 0;
  color: var(--text);
  font-size:18px;
}
.about-standards-card p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
.corpiva-about-cta{
  background: var(--surface-2);
  padding:70px 18px 90px 18px;
}
.about-cta-card{
  max-width:980px;
  margin:0 auto;
  padding:28px;
  border-radius:20px;
  border:1px solid var(--border);
  background: var(--surface);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-shadow: 0 22px 40px rgba(15,23,42,.18);
}
.about-cta-card h2{
  margin:0 0 8px 0;
  font-size:26px;
  color: var(--text);
}
.about-cta-card p{
  margin:0;
  color: var(--muted);
  line-height:1.6;
}
@media (max-width: 980px){
  .about-hero-inner{ grid-template-columns: 1fr; }
  .company-profile-inner{ grid-template-columns:1fr; }
  .about-story-grid{ grid-template-columns: 1fr; }
  .about-standards-grid{ grid-template-columns: 1fr; }
  .about-cta-card{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 640px){
  .about-hero-title{ font-size:34px; }
  .corpiva-company-profile{ padding:56px 16px; }
  .company-profile-copy{ padding:24px; }
  .company-profile-snapshot-head,
  .company-profile-list{ padding-left:22px; padding-right:22px; }
  .company-profile-link{ margin-left:22px; margin-right:22px; }
  .about-step{ grid-template-columns: 1fr; }
}

.corpiva-contact-hero{
  background:
    radial-gradient(circle at 20% 20%, rgba(255,59,0,.18), transparent 45%),
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.2), transparent 40%),
    linear-gradient(135deg, rgba(15,23,42,.06), rgba(15,23,42,0));
  padding:110px 18px 84px 18px;
}
.contact-hero-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.contact-hero-title{
  font-size:52px;
  margin:18px 0 14px 0;
  font-weight:900;
  color: var(--text);
  line-height:1.1;
}
.contact-hero-desc{
  margin:0 0 20px 0;
  color: var(--muted);
  line-height:1.7;
}
.contact-hero-info{
  display:grid;
  gap:12px;
}
.contact-info-card{
  background: var(--surface);
  border-radius:14px;
  border:1px solid var(--border);
  padding:14px 16px;
  box-shadow: 0 14px 28px rgba(15,23,42,.14);
}
.contact-info-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color: var(--muted);
  margin-bottom:6px;
}
.contact-info-value{
  color: var(--text);
  font-weight:800;
  text-decoration:none;
}
.contact-info-value:hover{ color: var(--accent); }
.contact-hero-card{
  background: var(--surface);
  border-radius:22px;
  border:1px solid var(--border);
  padding:22px;
  box-shadow: 0 22px 44px rgba(15,23,42,.18);
}
.contact-hero-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background: rgba(255,59,0,.14);
  color: var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.contact-hero-metric{
  font-size:30px;
  font-weight:900;
  color: var(--text);
  margin:14px 0 8px 0;
}
.contact-hero-card p{
  margin:0 0 16px 0;
  color: var(--muted);
}
.contact-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.contact-cta{
  height:48px;
}
.contact-cta-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.16);
  background: rgba(255,255,255,.6);
  color: var(--text);
  text-decoration:none;
  font-weight:900;
  cursor:pointer;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}
.contact-cta-outline:hover{
  transform: translateY(-1px);
  border-color: rgba(225,6,6,.35);
  background: rgba(225,6,6,.08);
}
[data-theme="dark"] .contact-cta-outline{
  border-color: rgba(148,163,184,.22);
  background: rgba(20,22,36,.6);
}
[data-theme="dark"] .contact-cta-outline:hover{
  border-color: rgba(255,59,0,.35);
  background: rgba(255,59,0,.10);
}
.corpiva-contact-form{
  padding:84px 18px 110px 18px;
  background: var(--surface-2);
}
.contact-form-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.4fr .6fr;
  gap:24px;
}
.contact-form-card{
  background: var(--surface);
  border-radius:20px;
  border:1px solid var(--border);
  padding:24px;
  box-shadow: 0 20px 40px rgba(15,23,42,.16);
}
.contact-form-card h2{
  margin:0 0 8px 0;
  color: var(--text);
}
.contact-form-card p{
  margin:0 0 18px 0;
  color: var(--muted);
}
.contact-form{
  display:grid;
  gap:14px;
}
.contact-form label{
  display:grid;
  gap:8px;
  color: var(--text);
  font-weight:600;
}
.contact-form input,
.contact-form textarea,
.contact-form select{
  border-radius:12px;
  border:1px solid var(--border);
  padding:12px 14px;
  background: var(--surface-2);
  color: var(--text);
  font-family: inherit;
  font-size:14px;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:2px solid rgba(225,6,6,.25);
  border-color: rgba(225,6,6,.4);
}
.contact-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.contact-form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:4px;
}
.contact-send-wa{
  height:46px;
  padding:0 18px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.14);
  background: rgba(34,197,94,.14);
  color: var(--text);
  font-weight:900;
  cursor:pointer;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}
.contact-send-wa:hover{
  transform: translateY(-1px);
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.18);
}
.contact-form-note{
  flex-basis: 100%;
  font-size:12px;
  color: var(--muted);
}
.contact-form-aside{
  display:grid;
  gap:12px;
}
.contact-aside-card{
  background: var(--surface);
  border-radius:16px;
  border:1px solid var(--border);
  padding:16px;
  box-shadow: 0 16px 32px rgba(15,23,42,.14);
}
.contact-aside-card h3{
  margin:0 0 8px 0;
  color: var(--text);
}
.contact-aside-card p{
  margin:0;
  color: var(--muted);
}
.contact-aside-card a{ color: var(--text); text-decoration:none; }
.contact-aside-card a:hover{ color: var(--accent); }
@media (max-width: 980px){
  .contact-hero-inner{ grid-template-columns: 1fr; }
  .contact-form-inner{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .contact-hero-title{ font-size:36px; }
  .contact-grid{ grid-template-columns: 1fr; }
}

.product-detail{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap:40px;
  align-items:start;
  max-width:1280px;
  margin:0 auto;
  padding:38px;
  background: var(--surface);
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow: 0 24px 50px rgba(15,23,42,.16);
}
.product-detail-media{
  display:grid;
  gap:14px;
  align-content:start;
  max-width:600px;
  justify-self:start;
}
.product-detail-media img,
.product-detail-media .product-thumb{
  width:100%;
  max-width:100%;
  aspect-ratio: 5 / 4;
  height:auto;
  max-height:420px;
  object-fit:contain;
  background: #f8fafc;
  border:1px solid rgba(148,163,184,.25);
  border-radius:18px;
  padding:18px;
}
.product-detail-media .product-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight:900;
  line-height:1.2;
  color: var(--text);
  background:
    linear-gradient(135deg, rgba(225,6,6,.08), rgba(14,165,233,.08)),
    #f8fafc;
}
.product-detail-head{
  display:grid;
  gap:10px;
  margin-bottom:8px;
}
.product-detail-head .corpiva-products-title{
  font-size:42px;
  font-weight:900;
  line-height:1.1;
  margin:0;
  color: var(--text);
}
.product-detail-head .corpiva-products-desc{
  margin:0;
  color: var(--muted);
  font-size:18px;
  line-height:1.9;
}
.product-detail-title{
  margin-top:22px;
  font-size:20px;
}
.product-options{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
  margin:18px 0 10px 0;
}
.option-group{
  display:grid;
  gap:8px;
}
.option-group label{
  font-size:13px;
  font-weight:700;
  color: var(--muted);
  text-transform:uppercase;
  letter-spacing:.6px;
}
.option-group select{
  height:50px;
  border-radius:12px;
  border:1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  padding:0 12px;
  font-weight:600;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size:6px 6px;
  background-repeat:no-repeat;
}
.option-group select:focus{
  outline:2px solid rgba(225,6,6,.25);
  border-color: rgba(225,6,6,.4);
}
[data-theme="dark"] .option-group select,
[data-theme="dark"] .dental-detail-article-select{
  color-scheme:dark;
  background-color:#0f172a;
  border-color:#475569;
  color:#f8fafc;
}
[data-theme="dark"] .option-group select option,
[data-theme="dark"] .dental-detail-article-select option{
  background:#0f172a;
  color:#f8fafc;
}
.product-detail-caption{
  margin:0;
  color: var(--muted);
  font-size:15px;
  line-height:1.7;
}
.size-list{
  list-style:none;
  padding:0;
  margin:16px 0 0 0;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px 18px;
}
.size-list li{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  background: var(--surface-2);
  color: var(--text);
  font-size:14px;
  font-weight:600;
  display:flex;
  gap:8px;
  align-items:baseline;
}
.size-list .size-code{
  font-weight:700;
  color: var(--muted);
  font-size:12px;
  letter-spacing:.4px;
  text-transform:uppercase;
}
@media (max-width: 900px){
  .product-detail{
    grid-template-columns: 1fr;
    padding:24px;
  }
  .product-detail-media img,
  .product-detail-media .product-thumb{ max-height:240px; }
  .product-detail-head .corpiva-products-title{ font-size:28px; }
  .product-options{ grid-template-columns: 1fr; }
  .size-list{ grid-template-columns: 1fr; }
}

.product-page-shell{
  position: relative;
}
.product-page-shell::before{
  content:"";
  position:absolute;
  inset:10px 10px auto 10px;
  height:180px;
  border-radius:24px;
  background: linear-gradient(110deg, rgba(225,6,6,.09), rgba(14,165,233,.09));
  filter: blur(20px);
  z-index:0;
  pointer-events:none;
}
.product-page-shell > *{
  position:relative;
  z-index:1;
}
.product-detail-premium{
  position: relative;
  background:
    radial-gradient(120% 130% at 92% 10%, rgba(14,165,233,.08) 0%, transparent 46%),
    radial-gradient(85% 90% at 6% 95%, rgba(225,6,6,.08) 0%, transparent 52%),
    var(--surface);
  border-radius: 26px;
  border: 1px solid rgba(148,163,184,.28);
  box-shadow: 0 30px 70px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.75);
  overflow: hidden;
  isolation: isolate;
}
.product-detail-premium .product-detail-content{
  display: contents;
}
.product-detail-premium .product-detail-content > *{
  grid-column: 2;
}
.product-detail-premium .product-detail-content > .product-detail-title{
  display:none;
}
.product-detail-premium .product-detail-content > .product-highlight-row,
.product-detail-premium .product-detail-content > .product-options,
.product-detail-premium .product-detail-content > .product-spec-grid,
.product-detail-premium .product-detail-content > .product-deep-grid,
.product-detail-premium .product-detail-content > .product-detail-actions,
.product-detail-premium .product-detail-content > .product-about-panel{
  grid-column: 1 / -1;
}
.product-detail-premium .product-detail-content > .size-list{
  display:none;
}
.product-detail-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, rgba(148,163,184,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148,163,184,.08) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(circle at 50% 40%, black 22%, transparent 72%);
  pointer-events:none;
  z-index:-1;
}
.product-detail-premium::after{
  content:"";
  position:absolute;
  top:-80px;
  right:-80px;
  width:210px;
  height:210px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(14,165,233,.20), rgba(14,165,233,0));
  pointer-events:none;
}
.product-media-frame{
  background: linear-gradient(145deg, #ffffff, #eef2f7);
  border: 1px solid rgba(148,163,184,.3);
  border-radius: 20px;
  padding: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 14px 28px rgba(15,23,42,.1);
  position: relative;
}
.product-media-frame::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.55);
  pointer-events:none;
}
.product-detail-premium .product-detail-media img{
  background: transparent;
  border: 0;
  border-radius: 14px;
  padding: 0;
  max-height: 460px;
  transition: transform .45s ease, filter .45s ease;
}
.product-detail-premium .product-detail-media:hover img{
  transform: scale(1.04);
  filter: drop-shadow(0 8px 20px rgba(15,23,42,.25));
}
.product-media-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.product-media-tags span{
  border:1px solid rgba(148,163,184,.34);
  background: rgba(241,245,249,.75);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  padding: 7px 10px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(15,23,42,.08);
  position: relative;
}
.product-media-tags span::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background: var(--accent);
  display:inline-block;
  margin-right:8px;
  vertical-align:middle;
}
.product-kicker-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.product-stock{
  background: rgba(16,185,129,.12);
  border:1px solid rgba(16,185,129,.32);
  color:#0f766e;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .3px;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 4px 12px rgba(15,23,42,.08);
}
.product-detail-premium .product-detail-head .corpiva-products-title{
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -.6px;
  text-shadow: 0 8px 20px rgba(15,23,42,.12);
}
.product-highlight-row{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
  margin: 8px 0 6px 0;
}
.product-highlight{
  border:1px solid rgba(148,163,184,.26);
  border-radius: 14px;
  background: rgba(248,250,252,.82);
  padding: 11px 12px;
  display:grid;
  gap:4px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-highlight:hover{
  transform: translateY(-2px);
  border-color: rgba(225,6,6,.34);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.product-highlight strong{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .45px;
  text-transform: uppercase;
  color: var(--muted);
}
.product-highlight span{
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}
.product-highlight-select{
  align-content:start;
}
.product-spec-grid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.product-spec-card{
  border:1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  padding: 18px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  position: relative;
}
.product-spec-card:hover{
  transform: translateY(-3px);
  border-color: rgba(14,165,233,.3);
  box-shadow: 0 12px 24px rgba(15,23,42,.08);
}
.product-spec-card h3{
  margin:0 0 10px 0;
  font-size: 18px;
  line-height: 1.2;
  color: var(--text);
}
.product-spec-card p{
  margin:0;
  color: var(--muted);
  line-height: 1.75;
  font-size: 15px;
}
.product-detail-actions{
  margin-top: 20px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.product-about-panel{
  margin-top: 18px;
  border:1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(225,6,6,.04), rgba(14,165,233,.04)),
    rgba(248,250,252,.78);
  padding: 20px;
}
.product-about-panel h3{
  margin:0 0 10px 0;
  color: var(--text);
  font-size: 22px;
}
.product-about-panel p{
  margin:0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
}
.product-about-panel p + p{
  margin-top: 14px;
}
.product-deep-grid{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.product-deep-card{
  border:1px solid rgba(148,163,184,.28);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(225,6,6,.03), rgba(14,165,233,.04)),
    rgba(255,255,255,.84);
  padding: 18px;
}
.product-deep-card h3{
  margin:0 0 10px 0;
  font-size: 18px;
  color: var(--text);
}
.product-deep-card p{
  margin:0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
.product-deep-list{
  margin:0;
  padding-left: 18px;
  display:grid;
  gap:6px;
  color: var(--muted);
}
.product-deep-list li{
  line-height: 1.6;
}
[data-theme="dark"] .product-detail-premium{
  border-color: rgba(148,163,184,.22);
  box-shadow: 0 30px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
}
[data-theme="dark"] .product-media-frame{
  background:
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(10,11,18,.82)),
    var(--surface-2);
  border-color: rgba(148,163,184,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 16px 34px rgba(0,0,0,.28);
}
[data-theme="dark"] .product-media-frame::after{
  border-color: rgba(255,255,255,.08);
}
[data-theme="dark"] .product-media-tags span,
[data-theme="dark"] .product-highlight,
[data-theme="dark"] .product-spec-card,
[data-theme="dark"] .product-about-panel,
[data-theme="dark"] .product-deep-card{
  background:
    linear-gradient(135deg, rgba(225,59,0,.08), rgba(14,165,233,.07)),
    rgba(20,22,36,.88);
  border-color: rgba(148,163,184,.24);
  color: var(--text);
}
[data-theme="dark"] .product-highlight:hover,
[data-theme="dark"] .product-spec-card:hover{
  box-shadow: 0 12px 24px rgba(0,0,0,.25);
}
[data-theme="dark"] .product-about-panel h3,
[data-theme="dark"] .product-spec-card h3,
[data-theme="dark"] .product-deep-card h3,
[data-theme="dark"] .product-highlight span{
  color: #f8fafc;
}
[data-theme="dark"] .product-about-panel p,
[data-theme="dark"] .product-spec-card p,
[data-theme="dark"] .product-deep-card p,
[data-theme="dark"] .product-deep-list,
[data-theme="dark"] .product-highlight strong{
  color: #cbd5e1;
}
[data-theme="dark"] .product-stock{
  background: rgba(45,212,191,.12);
  border-color: rgba(45,212,191,.28);
  color: #99f6e4;
}
[data-theme="dark"] .similar-products-wrap .corpiva-product-card,
[data-theme="dark"] .similar-products-wrap .product-thumb{
  background:
    linear-gradient(135deg, rgba(225,59,0,.07), rgba(14,165,233,.06)),
    rgba(20,22,36,.84);
  border-color: rgba(148,163,184,.22);
}
.similar-products-wrap{
  margin-top: 30px;
  border-radius: 24px;
  border:1px solid rgba(148,163,184,.26);
  background:
    radial-gradient(90% 120% at 96% 8%, rgba(14,165,233,.07), transparent 48%),
    radial-gradient(85% 120% at 3% 90%, rgba(225,6,6,.06), transparent 50%),
    var(--surface);
  box-shadow: 0 22px 50px rgba(15,23,42,.12);
}
.similar-products-wrap .corpiva-products-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.similar-products-wrap .corpiva-product-card{
  border-radius:18px;
  border:1px solid rgba(148,163,184,.26);
  background: rgba(255,255,255,.86);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.similar-products-wrap .corpiva-product-card:hover{
  transform: translateY(-4px);
  border-color: rgba(225,6,6,.35);
  box-shadow: 0 16px 30px rgba(15,23,42,.1);
}
.similar-products-wrap .product-thumb{
  min-height: 150px;
  display:grid;
  place-items:center;
  font-weight:800;
  background:
    linear-gradient(135deg, rgba(225,6,6,.05), rgba(14,165,233,.06)),
    #eef2f7;
  border-bottom:1px solid rgba(148,163,184,.18);
  position:relative;
}
.similar-products-wrap .product-thumb::after{
  content:"";
  position:absolute;
  inset:auto 10% 8px 10%;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(148,163,184,.55), transparent);
}
.product-detail-actions .product-quote-btn{
  box-shadow: 0 8px 20px rgba(15,23,42,.12);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.product-detail-actions .product-quote-btn-primary{
  background: linear-gradient(135deg, #e10606, #ff3d3d);
  border: none;
}
.product-detail-actions .product-quote-btn-primary:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
}
.product-detail-actions .product-quote-btn:not(.product-quote-btn-primary):hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(15,23,42,.14);
}

.corpiva-quote-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}
.corpiva-quote-modal.is-open{
  display: block;
}
.corpiva-quote-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(2,8,23,.56);
  backdrop-filter: blur(3px);
}
.corpiva-quote-dialog{
  position: relative;
  width: min(920px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  margin: 14px auto;
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.35);
  box-shadow: 0 28px 60px rgba(15,23,42,.35);
  background:
    radial-gradient(120% 130% at 5% 0%, rgba(225,6,6,.09), transparent 56%),
    radial-gradient(120% 130% at 100% 0%, rgba(14,165,233,.08), transparent 54%),
    var(--surface);
  padding: 18px;
}
.corpiva-quote-close{
  position: sticky;
  top: 0;
  float: right;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(148,163,184,.4);
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  z-index: 1;
}
.corpiva-quote-head{
  clear: both;
  margin: 0 0 12px;
}
.corpiva-quote-head h2{
  margin: 0;
  font-size: clamp(26px, 3.3vw, 36px);
  line-height: 1.1;
  color: var(--text);
}
.corpiva-quote-head p{
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 15px;
}
.corpiva-quote-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.corpiva-quote-field{
  display: grid;
  gap: 6px;
}
.corpiva-quote-field-full{
  grid-column: 1 / -1;
}
.corpiva-quote-field label{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .2px;
  color: var(--text);
}
.corpiva-quote-field input,
.corpiva-quote-field select,
.corpiva-quote-field textarea{
  width: 100%;
  border: 1px solid rgba(148,163,184,.45);
  background: rgba(255,255,255,.9);
  color: var(--text);
  border-radius: 12px;
  padding: 11px 12px;
  font-size: 15px;
  font-family: inherit;
  outline: none;
}
.corpiva-quote-field select{
  appearance: none;
  min-height: 47px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
  padding-right: 38px;
}
.corpiva-quote-field textarea{
  resize: vertical;
  min-height: 110px;
}
.corpiva-quote-field input:focus,
.corpiva-quote-field select:focus,
.corpiva-quote-field textarea:focus{
  border-color: rgba(225,6,6,.5);
  box-shadow: 0 0 0 3px rgba(225,6,6,.12);
}
.corpiva-quote-actions{
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.corpiva-quote-submit,
.corpiva-quote-wa{
  height: 42px;
  padding: 0 18px;
  border-radius: 10px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .2px;
  cursor: pointer;
}
.corpiva-quote-submit{
  background: linear-gradient(135deg, #e10606, #ff3d3d);
  color: #fff;
}
.corpiva-quote-wa{
  border-color: rgba(22,163,74,.32);
  color: #15803d;
  background: rgba(240,253,244,.9);
}
.corpiva-quote-note{
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--muted);
}
.corpiva-quote-note.is-success{
  color: #15803d;
}
.corpiva-quote-note.is-error{
  color: #b91c1c;
}
[data-theme="dark"] .corpiva-quote-dialog{
  border-color: rgba(71,85,105,.52);
  box-shadow: 0 30px 66px rgba(2,6,23,.7);
}
[data-theme="dark"] .corpiva-quote-close,
[data-theme="dark"] .corpiva-quote-field input,
[data-theme="dark"] .corpiva-quote-field select,
[data-theme="dark"] .corpiva-quote-field textarea{
  background: rgba(15,23,42,.82);
  border-color: rgba(71,85,105,.7);
  color: var(--text);
}
[data-theme="dark"] .corpiva-quote-wa{
  background: rgba(20,83,45,.34);
  color: #86efac;
  border-color: rgba(74,222,128,.38);
}

@media (max-width: 900px){
  .product-detail-premium .product-detail-content{
    display:block;
  }
  .product-detail-premium .product-detail-content > *{
    grid-column:auto;
  }
  .product-detail-premium .product-detail-content > .product-highlight-row,
  .product-detail-premium .product-detail-content > .product-options,
  .product-detail-premium .product-detail-content > .product-spec-grid,
  .product-detail-premium .product-detail-content > .product-deep-grid,
  .product-detail-premium .product-detail-content > .product-detail-actions,
  .product-detail-premium .product-detail-content > .product-about-panel{
    grid-column:auto;
  }
  .product-detail-premium .product-detail-head .corpiva-products-title{
    font-size: clamp(30px, 9vw, 38px);
  }
  .product-kicker-row{
    align-items:flex-start;
    flex-direction: column;
  }
  .product-highlight-row{
    grid-template-columns: 1fr;
  }
  .product-spec-grid{
    grid-template-columns: 1fr;
  }
  .product-deep-grid{
    grid-template-columns: 1fr;
  }
  .similar-products-wrap .corpiva-products-grid{
    grid-template-columns: 1fr;
  }
  .corpiva-quote-dialog{
    width: calc(100vw - 16px);
    margin: 8px auto;
    padding: 14px;
    max-height: calc(100vh - 16px);
    border-radius: 14px;
  }
  .corpiva-quote-grid{
    grid-template-columns: 1fr;
  }
}

/* Mobile nav override: force menu to open downward below header */
@media (max-width: 900px){
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }
  .corpiva-nav{
    align-items:center;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:10px;
    row-gap:10px;
  }
  .nav-toggle{
    grid-column:1;
    margin:0;
  }
  .corpiva-logo{
    grid-column:2;
    margin:0;
    min-width:0;
  }
  .corpiva-menu{
    grid-column:1 / -1;
    order:10;
    flex:0 0 100%;
    width:100%;
    min-width:0;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--border);
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    max-width:100%;
    box-sizing:border-box;
  }
  .corpiva-menu.is-open{
    display:flex !important;
  }
  .corpiva-menu > a,
  .corpiva-menu-item{
    width:100%;
  }
  .corpiva-menu-item > a{
    display:block;
    width:100%;
  }
  .corpiva-menu .corpiva-submenu{
    position:static;
    left:auto;
    top:auto;
    min-width:0;
    width:100%;
    margin:6px 0 0 0;
    padding:0 0 0 12px;
    border:none;
    box-shadow:none;
    display:none !important;
    inset:auto !important;
    transform:none !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .corpiva-menu .corpiva-submenu .corpiva-submenu{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    transform:none !important;
  }
  .corpiva-menu .corpiva-submenu-item{width:100%;}
  .corpiva-menu .has-submenu.mobile-open > .corpiva-submenu{
    display:block !important;
  }
  .corpiva-menu .corpiva-submenu a{
    padding:8px 0;
  }
}








.corpiva-dental-page .corpiva-tile-icon .dental-mark-img{
  width: 54px;
  height: 54px;
  display: block;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
}
.corpiva-dental-page .corpiva-tiles-grid{
  gap: 26px;
}
.dental-category-tiles .corpiva-tile{
  min-height:0;
}
.dental-category-tiles .corpiva-tile ul{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.dental-category-tiles .corpiva-tile li{
  position:relative;
  padding-left:18px;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
}
.dental-category-tiles .corpiva-tile li::before{
  content:"";
  position:absolute;
  top:.62em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
}
.dental-category-tiles .corpiva-tile:hover li{
  color:#fff;
}
.dental-size-panel{
  margin-top:18px;
}
.dental-size-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 18px;
  margin:14px 0 12px;
  padding:0;
  list-style:none;
}
.dental-size-list li{
  position:relative;
  padding-left:18px;
  color:var(--muted);
  line-height:1.5;
}
.dental-size-list li::before{
  content:"";
  position:absolute;
  top:.62em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
}
.dental-size-source{
  display:inline-flex;
  margin-top:1rem;
  color:var(--accent);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}
.dental-size-source:hover,
.dental-size-source:focus-visible{
  text-decoration:underline;
  text-underline-offset:.2em;
}
@media (max-width: 620px){
  .dental-category-tiles .corpiva-tile ul{grid-template-columns:1fr;}
  .dental-size-list{grid-template-columns:1fr;}
}
.corpiva-dental-page .corpiva-tile{
  min-height: 302px;
  padding: 30px 30px 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)),
    var(--surface);
}
.corpiva-dental-page .corpiva-tile::before{
  content: "";
  position: absolute;
  inset: auto -34px -44px auto;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(96,165,250,.07) 0%, rgba(96,165,250,.03) 48%, rgba(96,165,250,0) 72%);
  pointer-events: none;
}
.corpiva-dental-page .corpiva-tile-icon{
  width: 62px;
  height: 62px;
  margin-bottom: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: transparent;
  box-shadow: none;
}
.corpiva-dental-page .corpiva-tile-icon::after{
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
}
.corpiva-dental-page .corpiva-tile-icon img,
.corpiva-dental-page .corpiva-tile-icon .dental-mark-img{
  width: 50px;
  height: 50px;
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
  transition: filter 180ms ease, transform 180ms ease;
}
.corpiva-dental-page .corpiva-tile-mark{
  top: 22px;
  right: 26px;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .08em;
  opacity: .78;
}
.corpiva-dental-page .corpiva-tile-title{
  max-width: calc(100% - 120px);
  margin: 0 0 18px;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.08;
  letter-spacing: -.02em;
}
.corpiva-dental-page .corpiva-tile-divider{
  margin: 0 0 22px;
}
.corpiva-dental-page .corpiva-tile-text{
  max-width: 74%;
  font-size: 15px;
  line-height: 1.7;
}
[data-theme="dark"] .corpiva-dental-page .corpiva-tile-icon{
  background: #ffffff;
  border-color: rgba(255,255,255,.86);
  box-shadow:
    0 12px 22px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.92);
}
[data-theme="dark"] .corpiva-dental-page .corpiva-tile-icon::after{
  border-color: rgba(15,23,42,.08);
}
[data-theme="dark"] .corpiva-dental-page .corpiva-tile-icon img,
[data-theme="dark"] .corpiva-dental-page .corpiva-tile-icon .dental-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.10));
}
[data-theme="dark"] .corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon{
  background: #ffffff;
  border-color: rgba(255,255,255,.92);
  box-shadow:
    0 14px 24px rgba(0,0,0,.2),
    inset 0 1px 0 rgba(255,255,255,.92);
}
[data-theme="dark"] .corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon img,
[data-theme="dark"] .corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon .dental-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.12));
}

.corpiva-dental-page .corpiva-tiles-grid > a:hover .dental-mark-img{
  filter:
    brightness(0)
    invert(1)
    drop-shadow(0 6px 12px rgba(255,255,255,.18));
}

.corpiva-dental-page .corpiva-tile:hover{
  background:var(--accent);
  transform:scale(1.04);
  box-shadow:0 22px 44px rgba(225,6,6,.25);
}
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-title,
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-text,
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-mark{
  color:#fff;
}
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-divider{
  background: rgba(255,255,255,.35);
}
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon{
  background:#fff;
  border-color:rgba(255,255,255,.9);
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon .dental-mark-img{
  filter: drop-shadow(0 6px 12px rgba(15,23,42,.12));
}
.corpiva-dental-page .corpiva-tile:hover li::before{
  background:rgba(255,255,255,.78);
}
@media (max-width: 900px){
  .corpiva-dental-page .corpiva-tile{
    min-height: 270px;
    padding: 26px 24px 24px;
  }
  .corpiva-dental-page .corpiva-tile-title,
  .corpiva-dental-page .corpiva-tile-text{
    max-width: 100%;
  }
  .corpiva-dental-page .corpiva-tile-mark{
    right: 22px;
  }
}


.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
}

@media (min-width: 901px) {
  .corpiva-nav {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
  }
  .corpiva-logo {
    grid-column: 1;
    justify-self: start;
  }
  .corpiva-menu {
    grid-column: 2;
    justify-self: center;
  }
}

/* Final mobile layout guard. Keep this after all component rules. */
@media (max-width: 900px) {
  html, body { width:100%; max-width:100%; overflow-x:hidden; }
  img, svg, video, canvas { max-width:100%; }
  .corpiva-topbar { display:none; }
  .corpiva-nav { position:relative; width:100%; padding:12px 16px; }
  .corpiva-logo { max-width:calc(100vw - 76px); }
  .corpiva-logo-text { white-space:normal; line-height:1.15; }
  .corpiva-menu { max-height:calc(100vh - 82px); overflow-y:auto; overscroll-behavior:contain; }
  .corpiva-menu .corpiva-submenu { max-width:100%; }
  .corpiva-hero-content { width:100%; max-width:100%; padding-left:16px; padding-right:16px; }
  .corpiva-title, .overview-title, .corpiva-products-title { overflow-wrap:anywhere; }
  .corpiva-tiles-grid,
  .corpiva-products-grid,
  .overview-cards,
  .corpiva-gallery-grid,
  .corpiva-footer-grid,
  .contact-grid,
  .certifications-grid { grid-template-columns:1fr; }
  .corpiva-tile,
  .corpiva-product-card,
  .corpiva-gallery-card,
  .product-detail,
  .product-detail-media,
  .product-detail-content { min-width:0; max-width:100%; }
  .product-page-shell,
  .corpiva-products,
  .corpiva-tiles,
  .corpiva-overview { overflow:hidden; }
  .product-detail { grid-template-columns:1fr; gap:22px; }
  .product-media-frame { min-height:260px; }
  .product-detail-actions,
  .corpiva-quote-actions { align-items:stretch; flex-direction:column; }
  .product-detail-actions > *,
  .corpiva-quote-actions > * { width:100%; }
  .corpiva-gallery-dialog { width:100%; max-width:100%; }
  .corpiva-footer-title { font-size:clamp(34px, 11vw, 52px); letter-spacing:1px; overflow-wrap:anywhere; }
}

@media (max-width: 620px) {
  .corpiva-nav { grid-template-columns:44px minmax(0, 1fr); }
  .corpiva-logo-icon { flex:0 0 auto; }
  .corpiva-logo-text { font-size:13px; letter-spacing:.45px; }
  .corpiva-hero { min-height:300px; }
  .corpiva-hero-content { padding-top:40px; padding-bottom:34px; }
  .corpiva-title { max-width:100%; font-size:clamp(27px, 8.5vw, 36px); line-height:1.08; }
  .corpiva-desc { max-width:100%; }
  .corpiva-arrow { top:auto; bottom:18px; width:40px; height:40px; }
  .corpiva-arrow.left { left:auto; right:64px; }
  .corpiva-arrow.right { right:16px; }
  .corpiva-cta { padding-right:0; }
  .corpiva-tiles,
  .corpiva-products,
  .corpiva-overview,
  .corpiva-footer { padding-left:16px; padding-right:16px; }
  .corpiva-tile,
  .corpiva-product-card { padding-left:22px; padding-right:22px; }
  .product-highlight-row,
  .product-options,
  .product-spec-grid,
  .product-deep-grid,
  .size-list { grid-template-columns:1fr; }
  .product-detail { width:100%; padding:18px; }
  .product-detail-media { width:100%; justify-self:stretch; }
  .product-media-frame { width:100%; min-height:220px; padding:12px; }
  .product-detail-media img,
  .product-detail-media .product-thumb { display:block; width:100%; min-width:0; }
  .product-media-tags { gap:6px; }
  .product-media-tags span { font-size:11px; }
  .corpiva-gallery-modal { padding:8px; }
  .corpiva-gallery-dialog { padding:8px; border-radius:12px; }
  .corpiva-gallery-nav { width:36px; height:36px; }
  .corpiva-chatbot { left:8px; right:8px; bottom:8px; }
  .corpiva-chatbot-panel { width:100%; height:min(560px, calc(100dvh - 80px)); }
  .theme-toggle-floating { right:12px; bottom:70px; }
  .corpiva-scrolltop { right:12px; bottom:14px; }
}
.dental-article-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 18px;
  width: 100%;
}

.dental-article-card {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(128, 128, 128, .22);
  border-radius: 14px;
  background: var(--corpiva-card, #fff);
}

.dental-article-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
}

.dental-article-card figcaption {
  padding: 11px 14px;
  font-size: .84rem;
  text-align: center;
}

.dental-product-detail .product-detail-media,
.product-page-shell .product-detail-media {
  min-width: 0;
}

.product-card-meta {
  margin: 6px 0 0;
  color: var(--corpiva-muted, #6b7280);
  font-size: .82rem;
}

.dental-generated-category-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.dental-generated-category-grid .corpiva-tile{height:100%;min-height:320px;padding:22px;}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile-icon{
  width:62px;
  height:62px;
  margin-bottom:22px;
}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile-icon{
  overflow:hidden;
  background:#fff;
  border-color:rgba(148,163,184,.34);
  transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease;
}
.corpiva-dental-page .dental-generated-category-grid .dental-instrument-icon{
  width:56px;
  height:56px;
  display:block;
  object-fit:contain;
  object-position:center;
  filter:grayscale(1) contrast(1.55) brightness(.96) drop-shadow(0 2px 2px rgba(15,23,42,.22));
  image-rendering:auto;
  mix-blend-mode:multiply;
  transform:scale(1.18);
  transform-origin:50% 43%;
  transition:transform 180ms ease,filter 180ms ease;
}
.corpiva-dental-page .dental-generated-category-grid .dental-instrument-icon-10{
  transform:scale(1.1);
}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile:hover .corpiva-tile-icon{
  background:#fff;
  border-color:rgba(255,255,255,.94);
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile:hover .dental-instrument-icon{
  filter:grayscale(1) contrast(1.68) brightness(.94) drop-shadow(0 3px 4px rgba(15,23,42,.3));
  transform:scale(2);
}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile:hover .dental-instrument-icon-10{
  transform:scale(1.52);
}
.corpiva-dental-page .dental-generated-category-grid .corpiva-tile:hover{
  transform:scale(1.04);
}
.corpiva-dental-page .product-thumb-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(1);
  transition:transform 220ms ease;
  will-change:transform;
}
.product-thumb-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(1);
  transition:transform 220ms ease;
}
.featured-products-wrap .corpiva-product-card:hover .product-thumb-image img,
.featured-products-wrap .corpiva-product-card:focus-within .product-thumb-image img,
.instruments-mixed-grid .corpiva-product-card:hover .product-thumb-image img,
.instruments-mixed-grid .corpiva-product-card:focus-within .product-thumb-image img{
  transform:scale(1.06);
}
.instruments-mixed-grid .corpiva-product-card{height:100%;}
.instruments-mixed-grid .product-card-link{display:flex;height:100%;flex-direction:column;}
.instruments-mixed-grid .product-title{flex:1;}
.corpiva-dental-page .corpiva-product-card:hover .product-thumb-image img,
.corpiva-dental-page .corpiva-product-card:focus-within .product-thumb-image img{
  transform:scale(1.07);
}
.dental-generated-category-grid .corpiva-tile-text{margin-top:10px;}
.dental-article-picker{position:relative;margin-top:14px;}
.dental-article-picker-summary{
  cursor:pointer;list-style:none;padding:11px 14px;border:1px solid rgba(128,128,128,.28);
  border-radius:9px;font-weight:700;text-align:center;
}
.dental-article-picker-summary::-webkit-details-marker{display:none;}
.dental-article-picker-menu{
  position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);max-height:250px;overflow:auto;
  padding:7px;border:1px solid rgba(128,128,128,.25);border-radius:10px;background:var(--corpiva-card,#fff);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.dental-article-picker-link{display:block;padding:9px 11px;border-radius:7px;color:inherit;text-decoration:none;}
.dental-article-picker-link:hover,.dental-article-picker-link:focus-visible{background:#b32025;color:#fff;}
.dental-detail-article-field{display:grid;gap:7px;margin:14px 0 0;font-weight:700;}
.dental-detail-article-select{
  width:100%;padding:11px 38px 11px 12px;border:1px solid rgba(128,128,128,.3);border-radius:9px;
  background:var(--corpiva-card,#fff);color:inherit;font:inherit;
}
.dental-selected-article-image{display:block;width:100%;max-height:680px;object-fit:contain;background:transparent;border-radius:12px;}
.dental-selected-article-code{display:block;margin-top:12px;text-align:center;}
.corpiva-submenu .dental-nav-menu{
  width:min(760px,calc(100vw - 500px));
  max-width:calc(100vw - 32px);
  max-height:calc(100vh - 130px);
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.corpiva-submenu-item.has-submenu:hover > .dental-nav-menu,
.corpiva-submenu-item.has-submenu:focus-within > .dental-nav-menu{display:grid !important;}
.dental-nav-menu a{white-space:normal;line-height:1.3;}
.corpiva-dental-page .corpiva-tiles-grid > a:hover .dental-mark-img,
.corpiva-dental-page .corpiva-tile:hover .corpiva-tile-icon .dental-mark-img{filter:none;}
.corpiva-dental-page .corpiva-products-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;}
.corpiva-dental-page .corpiva-product-card{height:100%;}
.corpiva-dental-page .corpiva-product-card .product-card-link{display:flex;height:100%;flex-direction:column;}
.corpiva-dental-page .corpiva-product-card .product-title{flex:1;}
@media (max-width:1100px){
  .dental-generated-category-grid,.corpiva-dental-page .corpiva-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:901px) and (max-width:1350px){
  .corpiva-submenu .dental-nav-menu{width:min(570px,calc(100vw - 400px));grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (min-width:901px) and (max-width:1080px){
  .corpiva-submenu .dental-nav-menu{width:min(420px,calc(100vw - 330px));grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .corpiva-menu .dental-nav-menu{
    width:100%;max-width:100%;max-height:55vh;grid-template-columns:1fr;
    gap:0;overflow-y:auto;padding-left:16px;
  }
  .corpiva-menu .has-submenu.mobile-open > .dental-nav-menu{display:grid !important;}
}
@media (max-width:640px){
  .dental-generated-category-grid,.corpiva-dental-page .corpiva-products-grid{grid-template-columns:1fr;}
}

@media (max-width:700px){
  .corpiva-catalogue-page .catalogue-reader-screen{
    width:100%;
    padding:8px;
    overflow-x:hidden;
  }
  .corpiva-catalogue-page .catalogue-reader-bar h1{
    font-size:clamp(28px,9vw,40px);
    line-height:1.02;
  }
  .corpiva-catalogue-page .catalogue-reader-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .corpiva-catalogue-page .catalogue-reader-link{
    width:100%;
    min-width:0;
    padding:0 10px;
    text-align:center;
  }
  .corpiva-catalogue-page .catalogue-launcher{
    padding:16px;
    gap:18px;
  }
  .corpiva-catalogue-page .catalogue-launcher-art{min-height:160px;}
  .corpiva-catalogue-page .catalogue-simple-viewer{
    width:100%;
    min-width:0;
    border-radius:12px;
  }
  .corpiva-catalogue-page .catalogue-simple-toolbar{
    min-height:0;
    padding:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .corpiva-catalogue-page .catalogue-simple-status{
    grid-column:1 / -1;
    grid-row:1;
    font-size:14px;
  }
  .corpiva-catalogue-page .catalogue-simple-btn{
    width:100%;
    min-width:0;
    min-height:40px;
    padding:0 8px;
  }
  .corpiva-catalogue-page .catalogue-simple-page{
    width:100%;
    min-width:0;
    min-height:0;
    padding:6px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y pinch-zoom;
  }
  .corpiva-catalogue-page .catalogue-simple-page canvas{
    max-width:100%;
    height:auto;
  }
  .corpiva-catalogue-page .catalogue-simple-watermark{
    font-size:clamp(16px,7vw,30px);
    letter-spacing:.08em;
  }
}
