@font-face {
  font-family: "TERVONA-Light";
  src: url("assets/tervona-fonts/PoppinsLight.woff2") format("woff2");
  font-display: swap;
}

/* Visual page builder */
.cms-record-actions button.visual { background:#8855ff; color:#fff; border-color:#8855ff; }
.cms-visual-editor { --ve-purple:#7950f2; --ve-border:#e4e7ec; --ve-muted:#667085; position:fixed; inset:0; z-index:10000; background:#f2f4f7; color:#101828; font-family:Inter,Poppins,Arial,sans-serif; overflow:hidden; }
.cms-visual-editor button,.cms-visual-editor input,.cms-visual-editor select,.cms-visual-editor textarea { font:inherit; }
.cms-visual-toolbar { height:64px; display:grid; grid-template-columns:320px 1fr 420px; align-items:center; padding:0 16px; background:#fff; border-bottom:1px solid var(--ve-border); }
.cms-visual-page-name,.cms-visual-toolbar-actions,.cms-visual-devices { display:flex; align-items:center; gap:8px; }
.cms-visual-page-name button { width:34px; height:34px; border:1px solid var(--ve-border); border-radius:8px; background:#fff; font-size:22px; }
.cms-visual-page-name b { font-size:15px; }.cms-visual-page-name span { color:var(--ve-muted); font-size:12px; }
.cms-visual-devices { justify-content:center; }.cms-visual-devices button,.cms-visual-toolbar-actions button,.cms-visual-toolbar-actions a { height:36px; padding:0 14px; border:1px solid var(--ve-border); border-radius:8px; background:#fff; color:#344054; text-decoration:none; display:inline-flex; align-items:center; }
.cms-visual-devices button.active { color:var(--ve-purple); border-color:#b8a3ff; background:#f7f5ff; }
.cms-visual-toolbar-actions { justify-content:flex-end; }.cms-visual-toolbar-actions .primary { color:#fff; border-color:var(--ve-purple); background:var(--ve-purple); padding-inline:24px; font-weight:650; }
.cms-visual-body { height:calc(100vh - 64px); display:grid; grid-template-columns:292px minmax(480px,1fr) 240px; }
.cms-visual-inspector,.cms-visual-layers { background:#fff; overflow:auto; }
.cms-visual-inspector { border-right:1px solid var(--ve-border); }.cms-visual-layers { border-left:1px solid var(--ve-border); }
.cms-visual-tabs { height:62px; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--ve-border); }
.cms-visual-tabs button { border:0; border-bottom:2px solid transparent; background:#fff; color:#475467; font-size:13px; }.cms-visual-tabs button.active { color:var(--ve-purple); border-color:var(--ve-purple); }
.cms-visual-inspector-title { padding:17px 18px 13px; border-bottom:1px solid #f0f1f3; }.cms-visual-inspector-title span { display:block; font-size:11px; color:#98a2b3; margin-bottom:4px; }.cms-visual-inspector-title b { font-size:15px; }
.cms-visual-fields { padding:18px; display:grid; gap:17px; }.cms-visual-fields>label,.cms-visual-media-field { display:grid; gap:7px; font-size:12px; color:#475467; }
.cms-visual-fields input[type=text],.cms-visual-fields select,.cms-visual-fields textarea { width:100%; border:1px solid #d0d5dd; border-radius:7px; background:#fff; padding:9px 10px; color:#101828; outline:none; }
.cms-visual-fields textarea { min-height:74px; resize:vertical; line-height:1.5; }.cms-visual-fields input:focus,.cms-visual-fields select:focus,.cms-visual-fields textarea:focus { border-color:#9b7dff; box-shadow:0 0 0 3px #f0ebff; }
.cms-visual-range>div,.cms-visual-color>div { display:flex; align-items:center; gap:10px; }.cms-visual-range input { flex:1; accent-color:var(--ve-purple); }.cms-visual-range output { min-width:54px; padding:7px; text-align:center; border:1px solid #d0d5dd; border-radius:6px; color:#344054; }
.cms-visual-color input { width:42px; height:36px; padding:3px; border:1px solid #d0d5dd; border-radius:7px; background:#fff; }.cms-visual-color code { flex:1; padding:8px; border:1px solid #d0d5dd; border-radius:7px; }
.cms-visual-media-field img { width:100%; aspect-ratio:16/8; object-fit:cover; border-radius:8px; border:1px solid var(--ve-border); }.cms-visual-media-field>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.cms-visual-media-field button { min-height:36px; border:1px solid #a78bfa; border-radius:7px; color:var(--ve-purple); background:#fff; }
.cms-visual-note { padding:12px; border:1px solid #e9e3ff; border-radius:8px; background:#f8f6ff; color:#6941c6; font-size:12px; line-height:1.6; }
.cms-visual-canvas-wrap { position:relative; min-width:0; display:flex; flex-direction:column; overflow:hidden; background:#eef0f3; }
.cms-visual-canvas { width:min(100% - 44px,1200px); height:calc(100% - 48px); margin:20px auto 0; background:#fff; overflow:auto; box-shadow:0 3px 16px rgba(16,24,40,.12); transition:width .25s ease; }.cms-visual-canvas.tablet { width:min(760px,calc(100% - 44px)); }.cms-visual-canvas.mobile { width:min(390px,calc(100% - 44px)); }
.cms-visual-site-header { height:68px; padding:0 34px; display:flex; align-items:center; gap:28px; background:#fff; }.cms-visual-site-header img { width:76px; }.cms-visual-site-header nav { margin-left:auto; display:flex; gap:26px; font-size:12px; }.cms-visual-site-header>button { border:0; border-radius:999px; padding:10px 16px; background:#8855ff; color:#fff; font-size:12px; }
.cms-visual-canvas.mobile .cms-visual-site-header nav { display:none; }.cms-visual-canvas.mobile .cms-visual-site-header { padding:0 16px; }.cms-visual-canvas.mobile .cms-visual-site-header>button { margin-left:auto; }
.cms-visual-hero { position:relative; min-height:520px; display:flex; align-items:center; background-size:cover; background-position:center; cursor:pointer; }.cms-visual-canvas.mobile .cms-visual-hero { min-height:590px; }.cms-visual-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52) 64%,rgba(0,0,0,.2)); }
.cms-visual-hero-copy { position:relative; z-index:2; width:72%; padding:54px; }.cms-visual-canvas.mobile .cms-visual-hero-copy { width:100%; padding:28px; }.cms-visual-hero h1 { margin:0; font-family:Poppins,Arial,sans-serif; letter-spacing:-.045em; }.cms-visual-hero p { max-width:620px; margin:18px 0 26px; line-height:1.55; }
.cms-visual-selectable { position:relative; border:1px solid transparent; }.cms-visual-selectable:hover { outline:1px dashed #a78bfa; }.cms-visual-selectable.selected { outline:2px solid var(--ve-purple); outline-offset:8px; }.cms-visual-element-tools { display:none; position:absolute; left:50%; top:-48px; transform:translateX(-50%); padding:8px 12px; background:var(--ve-purple); color:#fff; border-radius:7px; white-space:nowrap; font-size:12px; }.cms-visual-selectable.selected .cms-visual-element-tools { display:block; }
.cms-visual-preview-cta { padding:12px 19px; border:0; border-radius:8px; background:#8855ff; color:#fff; }.cms-visual-image-handle { position:absolute; right:14px; top:14px; z-index:3; padding:8px 11px; border:1px solid rgba(255,255,255,.7); border-radius:7px; color:#fff; background:rgba(17,24,39,.65); }.cms-visual-image-handle.active { background:#8855ff; }
.cms-visual-next-section { min-height:220px; padding:38px 48px; display:grid; grid-template-columns:1.2fr 1fr; gap:30px; background:#fff; }.cms-visual-next-section span { color:#8855ff; font-size:10px; letter-spacing:.12em; }.cms-visual-next-section h2 { margin:8px 0; font-size:28px; line-height:1.12; }.cms-visual-placeholder-art { min-height:130px; border-radius:12px; background:linear-gradient(145deg,#e8edf4,#f8fafc); }
.cms-visual-status { height:36px; margin-top:auto; padding:0 16px; display:flex; align-items:center; gap:20px; border-top:1px solid var(--ve-border); background:#fff; color:#667085; font-size:11px; }.cms-visual-status b { margin-left:auto; color:#12b76a; font-weight:500; }
.cms-visual-layers-head { height:58px; padding:0 15px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ve-border); }.cms-visual-layers-head b { font-size:13px; }.cms-visual-layers-head span { color:#12b76a; font-size:10px; }
.cms-visual-layers>button { width:calc(100% - 20px); min-height:43px; margin:5px 10px 0; padding:0 10px; display:flex; align-items:center; justify-content:space-between; border:1px solid #e4e7ec; border-radius:7px; background:#fff; color:#344054; text-align:left; font-size:12px; }.cms-visual-layers>button.child { width:calc(100% - 34px); margin-left:24px; }.cms-visual-layers>button.active { color:#6941c6; border-color:#b8a3ff; background:#f5f2ff; }.cms-visual-layers em { color:#98a2b3; font-style:normal; }
.cms-visual-media-modal { display:none; position:absolute; z-index:8; left:4%; right:4%; bottom:42px; max-height:66%; border:1px solid #d0d5dd; border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(16,24,40,.25); overflow:hidden; }.cms-visual-media-modal.open { display:flex; flex-direction:column; }
.cms-visual-modal-head,.cms-visual-media-tools,.cms-visual-modal-foot { padding:14px 16px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ve-border); }.cms-visual-modal-head div { display:grid; gap:3px; }.cms-visual-modal-head b { font-size:15px; }.cms-visual-modal-head span,.cms-visual-modal-foot span { color:#667085; font-size:11px; }.cms-visual-modal-head>button { border:0; background:transparent; font-size:22px; }
.cms-visual-media-tools { gap:12px; }.cms-visual-media-tools nav { display:flex; gap:3px; }.cms-visual-media-tools button { padding:7px 11px; border:1px solid var(--ve-border); border-radius:6px; background:#fff; font-size:11px; }.cms-visual-media-tools nav button.active { color:#6941c6; border-color:#b8a3ff; }.cms-visual-media-tools input { min-width:180px; margin-left:auto; padding:8px 10px; border:1px solid #d0d5dd; border-radius:7px; }
.cms-visual-media-grid { padding:14px 16px; display:grid; grid-template-columns:repeat(5,minmax(90px,1fr)); gap:10px; overflow:auto; }.cms-visual-media-grid button { position:relative; padding:0; border:2px solid transparent; border-radius:8px; background:#f2f4f7; overflow:hidden; text-align:left; }.cms-visual-media-grid button.active { border-color:var(--ve-purple); }.cms-visual-media-grid img { width:100%; aspect-ratio:4/2.6; object-fit:cover; display:block; }.cms-visual-media-grid span { display:block; padding:6px 7px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:10px; }
.cms-visual-modal-foot { border-top:1px solid var(--ve-border); border-bottom:0; }.cms-visual-modal-foot .primary { padding:9px 17px; border:0; border-radius:7px; color:#fff; background:var(--ve-purple); }
@media (max-width:1180px) { .cms-visual-toolbar { grid-template-columns:260px 1fr 330px; }.cms-visual-body { grid-template-columns:260px minmax(400px,1fr); }.cms-visual-layers { display:none; }.cms-visual-toolbar-actions button:not(.primary) { display:none; }.cms-visual-site-header nav { gap:14px; }.cms-visual-media-grid { grid-template-columns:repeat(4,1fr); } }

@font-face {
  font-family: "TERVONA-Regular";
  src: url("assets/tervona-fonts/PoppinsRegular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "TERVONA-Medium";
  src: url("assets/tervona-fonts/PoppinsMedium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "TERVONA-SemiBold";
  src: url("assets/tervona-fonts/PoppinsSemiBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "TERVONA-Bold";
  src: url("assets/tervona-fonts/PoppinsBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "TERVONA-ManSemiBold";
  src: url("assets/tervona-fonts/Manrope-SemiBold.woff2") format("woff2");
  font-display: swap;
}

:root {
  --purple: #8655ff;
  --purple-soft: #c8b6ff;
  --ink: #121212;
  --muted: #666;
  --line: #ececf0;
  --white: #ffffff;
  --dark: #151515;
  --green: #25e577;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.12);
  --button-color: var(--purple);
  --button-text-color: #fff;
  --button-radius: 999px;
  --site-font-family: var(--font-regular);
  --heading-font-family: var(--font-semibold);
  --base-font-size: 19px;
  --body-font-weight: 400;
  --body-line-height: 1.55;
  --nav-font-size: 20px;
  --nav-font-weight: 400;
  --button-font-size: 19px;
  --button-font-weight: 700;
  --hero-title-size: clamp(52px, 6vw, 100px);
  --section-title-size: clamp(36px, 5vw, 64px);
  --card-title-size: 23px;
  --heading-font-weight: 600;
  --card-title-weight: 600;
  --font-light: "TERVONA-Light", "Poppins", "Microsoft YaHei", Arial, sans-serif;
  --font-regular: "TERVONA-Regular", "Poppins", "Microsoft YaHei", Arial, sans-serif;
  --font-medium: "TERVONA-Medium", "Poppins", "Microsoft YaHei", Arial, sans-serif;
  --font-semibold: "TERVONA-SemiBold", "Poppins", "Microsoft YaHei", Arial, sans-serif;
  --font-bold: "TERVONA-Bold", "Poppins", "Microsoft YaHei", Arial, sans-serif;
  --font-man: "TERVONA-ManSemiBold", "Manrope", "Poppins", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--white);
  font-family: var(--site-font-family);
  font-size: var(--base-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--heading-font-family);
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  cursor: pointer;
}

svg {
  width: 20px;
  height: 20px;
}

.topbar {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  height: 90px;
  color: #111;
  background: rgba(255, 255, 255, 0.96);
  transition: color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, transform 0.34s ease;
  backdrop-filter: blur(16px);
}

.topbar.hide {
  transform: translateY(-102%);
}

.topbar.solid,
.topbar:hover {
  color: #111;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(16px);
}

.topbar.topbar-overlay:not(.solid):not(:hover) {
  color: #fff;
  background: linear-gradient(180deg, rgba(5, 7, 18, 0.58), rgba(5, 7, 18, 0));
  box-shadow: none;
  backdrop-filter: none;
}

.topbar.topbar-overlay:not(.solid):not(:hover) .logo-light { opacity: 1; }
.topbar.topbar-overlay:not(.solid):not(:hover) .logo-dark { opacity: 0; }
.topbar.topbar-overlay:not(.solid):not(:hover) .logo-light {
  filter: brightness(0) invert(1);
}

@media (min-width: 1001px) {
  .topbar.topbar-overlay { height: 56px; }
  .topbar.topbar-overlay .main-nav { height: 56px; padding: 0 40px; gap: 32px; }
  .topbar.topbar-overlay .fox-logo { width: 148px; height: 48px; }
  .topbar.topbar-overlay .top-small { top: 6px; right: 204px; gap: 22px; font-size: 12px; }
  .topbar.topbar-overlay .nav-links { gap: 34px; padding-top: 28px; font-size: 17px; }
  .topbar.topbar-overlay .nav-item > a { padding-bottom: 4px; }
  .topbar.topbar-overlay .nav-item > a::after { margin-top: 2px; }
  .topbar.topbar-overlay .contact-pill { min-width: 110px; height: 34px; font-size: 15px; }
}

.top-small {
  position: absolute;
  top: 14px;
  right: 226px;
  display: flex;
  align-items: center;
  gap: 25px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
}

.region,
.mobile-menu {
  border: 0;
  color: inherit;
  background: transparent;
}

.region {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}

.language-switcher {
  position: relative;
}

.region i {
  font-style: normal;
}

.language-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 90;
  min-width: 178px;
  max-height: 320px;
  overflow-y: auto;
  display: grid;
  padding: 8px;
  border: 1px solid rgba(137, 85, 255, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 48px rgba(17, 8, 54, 0.14);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.language-switcher.open .language-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.language-menu button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #1d1235;
  background: transparent;
  text-align: left;
  font-size: 13px;
}

.language-menu button:hover,
.language-menu button.active {
  color: var(--purple);
  background: rgba(137, 85, 255, 0.08);
}

.goog-te-banner-frame,
.goog-te-gadget-icon,
.goog-logo-link {
  display: none !important;
}

#google_translate_element {
  position: fixed;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

body {
  top: 0 !important;
}

.main-nav {
  height: 90px;
  display: flex;
  align-items: center;
  padding: 0 58px;
  gap: 44px;
}

.fox-logo {
  position: relative;
  flex: 0 0 auto;
  width: 164px;
  height: 58px;
  display: block;
  overflow: hidden;
}

.fox-logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
  display: block;
  transition: opacity 0.2s ease;
}

.fox-logo .logo-dark {
  opacity: 0;
}

.topbar .logo-light {
  opacity: 0;
}

.topbar .logo-dark {
  opacity: 1;
}

.topbar.solid .logo-light,
.topbar:hover .logo-light {
  opacity: 0;
  filter: none;
}

.topbar.solid .logo-dark,
.topbar:hover .logo-dark {
  opacity: 1;
}

.nav-links {
  margin-left: auto;
  display: flex;
  align-items: flex-end;
  gap: 38px;
  height: 100%;
  padding-top: 50px;
  font-size: var(--nav-font-size);
  font-weight: var(--nav-font-weight);
}

.nav-item {
  height: 100%;
}

.nav-item > a {
  display: block;
  padding-bottom: 12px;
  white-space: nowrap;
}

.nav-item > a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  margin-top: 6px;
  background: var(--purple);
  transition: width 0.25s ease;
}

.nav-item:hover > a::after {
  width: 100%;
}

.contact-pill {
  min-width: 142px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  color: var(--button-text-color);
  background: var(--button-color);
  border-radius: var(--button-radius);
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
}

.mobile-menu {
  display: none;
}

.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  background: rgba(12, 0, 32, 0.46);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.26s ease;
}

.topbar.mobile-open .mobile-drawer {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.mobile-drawer-panel {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(88vw, 420px);
  height: 100%;
  padding: 20px 22px 28px;
  overflow-y: auto;
  color: #111;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.18);
  transform: translateX(100%);
  transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.topbar.mobile-open .mobile-drawer-panel {
  transform: translateX(0);
}

.mobile-drawer-head,
.mobile-drawer-item > div,
.mobile-drawer-tools {
  display: flex;
  align-items: center;
}

.mobile-drawer-head {
  justify-content: space-between;
  min-height: 58px;
}

.mobile-drawer-head button,
.mobile-drawer-item button {
  border: 0;
  background: transparent;
}

.mobile-drawer-head button {
  width: 42px;
  height: 42px;
  font-size: 30px;
  line-height: 1;
}

.mobile-drawer-tools {
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 22px;
  color: #5f35df;
  font-size: 13px;
}

.mobile-drawer-tools a,
.mobile-drawer-tools span,
.mobile-drawer-tools .region {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 11px;
  border: 1px solid #eee8ff;
  border-radius: 999px;
  background: #faf8ff;
}

.mobile-drawer-tools .language-switcher {
  width: 100%;
}

.mobile-drawer-tools .region {
  width: 100%;
  justify-content: space-between;
  color: #5f35df;
}

.mobile-drawer-tools .language-menu {
  position: static;
  width: 100%;
  max-height: 0;
  margin-top: 8px;
  padding: 0;
  overflow: hidden;
  border: 0;
  box-shadow: none;
  opacity: 1;
  pointer-events: none;
  transform: none;
}

.mobile-drawer-tools .language-switcher.open .language-menu {
  max-height: 260px;
  padding: 8px;
  border: 1px solid rgba(137, 85, 255, 0.14);
  pointer-events: auto;
}

.mobile-drawer-nav {
  border-top: 1px solid #eee;
}

.mobile-drawer-item {
  border-bottom: 1px solid #eee;
}

.mobile-drawer-item > div {
  min-height: 58px;
  justify-content: space-between;
  gap: 16px;
}

.mobile-drawer-item > div > a {
  font-family: var(--font-semibold);
  font-size: 21px;
}

.mobile-drawer-item button {
  width: 38px;
  height: 38px;
  color: var(--purple);
  font-size: 22px;
  transition: transform 0.2s ease;
}

.mobile-drawer-item.open button {
  transform: rotate(180deg);
}

.mobile-submenu {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.24s ease;
}

.mobile-drawer-item.open .mobile-submenu {
  max-height: 520px;
  padding-bottom: 12px;
}

.mobile-submenu a {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 4px 8px 14px;
  color: #444;
}

.mobile-submenu img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.mobile-contact {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 0 20px;
  color: var(--button-text-color);
  background: var(--button-color);
  border-radius: var(--button-radius);
  font-family: var(--font-semibold);
  font-size: var(--button-font-size);
  font-weight: var(--button-font-weight);
}

body.mobile-menu-lock {
  overflow: hidden;
}

.mega {
  position: fixed;
  z-index: 48;
  top: 90px;
  left: 0;
  right: 0;
  padding: 0 42px;
  color: #111;
  background: rgba(255, 255, 255, 0.98);
  border-top: 1px solid var(--line);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-16px);
  transition: opacity 0.24s ease, transform 0.24s ease;
}

.fox-dropdown {
  padding: 0;
}

.drop-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 0;
}

.drop-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 34px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e5e5e5;
}

.drop-top h3 {
  margin: 0 0 16px;
  color: #000;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.drop-top p {
  margin: 0;
  color: #666;
  font-size: 16px;
}

.all-products {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--purple);
  font-size: 16px;
  font-weight: 500;
}

.all-products span {
  width: 40px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--purple);
  border-radius: 999px;
}

.all-products svg {
  width: 17px;
  height: 17px;
}

.drop-grid {
  --gap-x: 20px;
  --gap-y: 30px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap-y) var(--gap-x);
}

.support-drop .drop-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.drop-pill {
  position: relative;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 8px 28px;
  overflow: hidden;
  color: #000;
  background: #fff;
  border: 1px solid #eee8ff;
  border-radius: 80px;
  transition: color 0.28s ease, background 0.28s ease, border 0.28s ease;
}

.drop-pill img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  filter: hue-rotate(235deg) saturate(1.5);
}

.drop-pill:hover {
  color: #fff;
  background: var(--purple);
  border-color: transparent;
}

.drop-pill:hover img {
  filter: brightness(0) invert(1);
}

.nav-item:hover .mega,
.nav-item:focus-within .mega,
.nav-item.open .mega {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mega-inner {
  max-width: 1280px;
  min-height: 310px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 0.9fr;
  gap: 34px;
  padding: 42px 0;
}

.mega-copy p,
.section-title span,
.energy-copy span {
  margin: 0 0 14px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
}

.mega-copy h3 {
  max-width: 360px;
  margin: 0 0 24px;
  font-size: 30px;
  line-height: 1.14;
  font-weight: 500;
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.mega-col h4 {
  margin: 4px 0 16px;
  font-size: 14px;
  color: var(--muted);
}

.mega-col a {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
}

.mega-card {
  padding: 22px;
  background: #f7f7fb;
  border-radius: 8px;
}

.mega-card img {
  width: 100%;
  height: 120px;
  object-fit: contain;
}

.mega-card strong,
.mega-card span {
  display: block;
}

.mega-card strong {
  margin: 12px 0 8px;
}

.mega-card span {
  color: var(--muted);
  line-height: 1.5;
}

.hero {
  position: relative;
  height: 100vh;
  min-height: 720px;
  overflow: hidden;
  background: #000;
}

.hero-track {
  height: 100%;
  display: flex;
  transition: transform 0.85s cubic-bezier(0.75, 0, 0.16, 1);
}

.hero-slide {
  position: relative;
  min-width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-slide picture,
.hero-slide img,
.hero-slide video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
}

.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.1) 58%, rgba(0, 0, 0, 0));
}

.hero-brand-mark {
  position: absolute;
  z-index: 10;
  top: 94px;
  right: 6vw;
  width: 155px;
  padding: 7px 12px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 5px 18px rgba(20, 20, 20, 0.08);
  pointer-events: none;
}

.hero-slide .hero-brand-mark img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

.hero-mobile-poster {
  display: none !important;
}

.hero-text {
  position: absolute;
  left: 5vw;
  bottom: 86px;
  max-width: 720px;
  color: #fff;
  display: none;
}

.hero-text h1 {
  margin: 0 0 24px;
  font-size: clamp(44px, 6vw, 84px);
  line-height: 0.96;
  font-weight: 800;
}

.hero-text p {
  max-width: 640px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.6;
}

.round-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.28);
  border: 0;
  border-radius: 50%;
}

.round-arrow.prev {
  left: 18px;
  transform: rotate(180deg);
}

.round-arrow.next {
  right: 18px;
}

.hero-lines {
  position: absolute;
  left: 50%;
  bottom: 42px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}

.hero-lines button {
  width: 52px;
  height: 2px;
  border: 0;
  background: rgba(255, 255, 255, 0.45);
}

.hero-lines button.active {
  background: #fff;
}

.solutions {
  position: relative;
  min-height: 210vh;
  background: #fff;
}

.scroll-progress {
  position: sticky;
  top: 92px;
  z-index: 3;
  width: calc(100% - 40px);
  height: 12px;
  margin: 0 auto;
  background: #f0f1f4;
  border-radius: 999px;
  transform: translateY(64px);
}

.scroll-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--purple), #e9efff);
  border-radius: inherit;
}

.solutions-stage {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  align-items: center;
  gap: 6vw;
  padding: 120px 6vw 70px;
  overflow: hidden;
}

.solution-media {
  position: relative;
  height: 62vh;
  min-height: 430px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.solution-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 0.55s ease, transform 0.75s ease;
}

.solution-media img.active {
  opacity: 1;
  transform: scale(1);
}

.solution-copy h2 {
  margin: 0 0 22px;
  font-size: clamp(34px, 4.2vw, 62px);
  line-height: 1.06;
  font-weight: 500;
}

.solution-copy p {
  max-width: 540px;
  color: var(--muted);
  line-height: 1.8;
}

.solution-tabs {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}

.solution-tabs button {
  padding: 18px 20px;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  transition: border 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.solution-tabs button.active {
  border-color: var(--purple);
  box-shadow: 0 14px 38px rgba(137, 85, 255, 0.14);
  transform: translateX(12px);
}

.solution-tabs strong,
.solution-tabs em {
  display: block;
}

.solution-tabs em {
  margin-top: 6px;
  color: var(--muted);
  font-style: normal;
  font-size: 14px;
}

.solutions {
  min-height: 285vh;
  padding: 0 20px;
  overflow: visible;
}

.solutions-pin {
  --solution-scale: 1.2;
  --solution-y: 0vh;
  --solution-radius: 18px;
  --solution-clip: 14%;
  --glass-opacity: 0.82;
  --glass-blur: 32px;
  --flow-opacity: 0.5;
  --day-opacity: 1;
  --solution-copy-opacity: 1;
  --solution-copy-y: 0px;
  --solution-marker-opacity: 0;
  --solution-marker-y: 26px;
  --solution-marker-events: none;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  border-radius: var(--solution-radius);
  clip-path: inset(var(--solution-clip) round var(--solution-radius));
  background: #f7f7f7;
  transition: border-radius 0.08s linear;
}

.solutions-pin .solution-copy,
.solutions-pin .solution-head,
.solutions-pin .solution-glass > p {
  opacity: var(--solution-copy-opacity);
  transform: translateY(var(--solution-copy-y));
  transition: opacity 0.08s linear, transform 0.08s linear;
}

.solution-bg {
  position: absolute;
  inset: 0;
  transform: scale(var(--solution-scale));
  transform-origin: center center;
  transition: transform 0.08s linear;
}

.solution-bg picture,
.solution-bg img,
.solution-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.solution-bg img {
  opacity: var(--day-opacity);
}

.solution-bg video {
  opacity: var(--flow-opacity);
  mix-blend-mode: screen;
  filter: saturate(1.15);
}

.solution-glass {
  position: absolute;
  z-index: 2;
  inset: 0;
  padding: 16.2vh 8.05vw 0;
  padding-left: max(8.05vw, calc(var(--solution-clip) + 32px));
  transform: translateY(var(--solution-y));
  background: rgba(255, 255, 255, var(--glass-opacity));
  backdrop-filter: blur(var(--glass-blur));
  transition: transform 0.08s linear, background 0.08s linear, backdrop-filter 0.08s linear;
}

.solution-head {
  max-width: min(1120px, 68vw);
}

.solution-head span,
.about-inner span,
.constant-card-copy span {
  display: block;
  margin-bottom: 8px;
  color: var(--purple);
  font-size: 18px;
  font-weight: 700;
}

.solution-head h2 {
  max-width: min(1120px, 68vw);
  margin: 0 0 30px;
  color: #000;
  font-size: clamp(38px, 4vw, 64px);
  line-height: 1.08;
  font-weight: 600;
}

.solution-glass > p {
  max-width: 590px;
  margin: 0 6.8vw 118px auto;
  color: #666;
  font-size: 16px;
  line-height: 1.7;
}

.solution-explore {
  display: none;
}

@media (min-width: 1200px) {
  .solutions {
    min-height: 231.5vh;
    margin-top: clamp(80px, calc(7.82vw - 20px), 130px);
    padding: 0;
  }

  .solutions-pin {
    --solution-side: 20px;
    --solution-info-y: 0%;
    --solution-head-opacity: 0;
    --solution-head-y: 19px;
    --solution-intro-opacity: 0;
    --solution-intro-y: 31px;
    --solution-mouse-opacity: 0;
    --solution-mouse-y: 31px;
    position: sticky;
    top: 5px;
    width: calc(100% - var(--solution-side) * 2);
    margin-inline: auto;
    height: auto;
    aspect-ratio: 2 / 1;
    max-height: calc(100vh - 10px);
    overflow: hidden;
    border-radius: 20px;
    clip-path: none;
    background: #dedde3;
    transition: none;
  }

  .solution-bg {
    transform: scale(var(--solution-scale));
    transition: none;
  }

  .solution-bg video {
    opacity: 1;
    mix-blend-mode: normal;
    filter: none;
  }

  .solution-glass {
    inset: 0 0 auto;
    height: 72.24%;
    padding: clamp(80px, calc(7.91vw - 21px), 130px) clamp(68px, calc(11.08vw - 73px), 139px) 0;
    transform: translateY(var(--solution-info-y));
    border-radius: 0 0 20px 20px;
    background:
      radial-gradient(circle at 0 0, rgba(167, 118, 255, 0.38), transparent 30%),
      radial-gradient(circle at 100% 100%, rgba(161, 111, 255, 0.34), transparent 31%),
      radial-gradient(circle at 38% 82%, rgba(255, 236, 207, 0.32), transparent 32%),
      rgba(245, 245, 249, 0.82);
    backdrop-filter: blur(34px);
    transition: none;
  }

  .solutions-pin .solution-head {
    opacity: var(--solution-head-opacity);
    transform: translateY(var(--solution-head-y));
    transition: none;
  }

  .solutions-pin .solution-glass > p {
    opacity: var(--solution-intro-opacity);
    transform: translateY(var(--solution-intro-y));
    transition: none;
  }

  .solution-head {
    max-width: min(1120px, 68vw);
  }

  .solution-head h2 {
    max-width: 830px;
    margin-bottom: 30px;
    font-size: 54px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 1.08px;
  }

  .solution-head span {
    position: relative;
    padding-left: 14px;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400;
    letter-spacing: -0.36px;
  }

  .solution-head span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 3px;
    height: 18px;
    border-radius: 999px;
    background: var(--purple);
  }

  .solution-glass > p {
    max-width: 540px;
    margin: 0 0 0 auto;
    line-height: 1.6;
    letter-spacing: 0.32px;
  }

  .solution-explore {
    position: absolute;
    left: 50%;
    bottom: 5.6vh;
    display: grid;
    justify-items: center;
    gap: 10px;
    color: var(--purple);
    font-size: 14px;
    opacity: var(--solution-mouse-opacity);
    transform: translate(-50%, var(--solution-mouse-y));
    transition: none;
  }

  .solution-explore i {
    position: relative;
    width: 16px;
    height: 29px;
    border: 1.5px solid currentColor;
    border-radius: 999px;
  }

  .solution-explore i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 5px;
    width: 2px;
    height: 7px;
    border-radius: 999px;
    background: currentColor;
    transform: translateX(-50%);
  }

}

@media (min-width: 1600px) {
  .solutions {
    min-height: 276.5vh;
  }

  .solution-glass {
    height: 69.45%;
  }
}

.solution-point {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  color: #fff;
  background: rgba(100, 68, 145, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 999px;
  font-weight: 700;
  backdrop-filter: blur(8px);
  opacity: var(--solution-marker-opacity);
  transform: translateY(var(--solution-marker-y));
  transition: opacity 0.08s linear, transform 0.08s linear;
  pointer-events: var(--solution-marker-events);
  z-index: 4;
  text-decoration: none;
}

.solution-scene-links {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}

.solution-point i {
  width: 20px;
  height: 20px;
  display: block;
  border: 6px solid rgba(137, 85, 255, 0.14);
  background: var(--purple);
  border-radius: 50%;
  animation: pulse 1.8s ease infinite;
}

.solution-line {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, rgba(137, 85, 255, 0), rgba(137, 85, 255, 0.95), rgba(137, 85, 255, 0));
  box-shadow: 0 0 18px rgba(137, 85, 255, 0.85);
  opacity: 0.8;
  animation: flowLine 2.4s linear infinite;
  opacity: var(--solution-marker-opacity);
  transform: translateY(var(--solution-marker-y));
  transition: opacity 0.08s linear, transform 0.08s linear;
  pointer-events: none;
}

.solution-line.l0 { right: 28%; bottom: 35%; width: 18vw; transform: rotate(0deg); }
.solution-line.l1 { left: 36%; bottom: 27%; width: 18vw; transform: rotate(-8deg); }
.solution-line.l2 { right: 17%; bottom: 26%; width: 15vw; transform: rotate(-2deg); }

.solution-point.p0 { right: 38%; bottom: 35%; }
.solution-point.p1 { left: 40%; bottom: 25%; }
.solution-point.p2 { right: 23%; bottom: 25%; }

.products {
  --product-mx: 0px;
  --product-my: 0px;
  min-height: auto;
  padding: 62px 3vw 290px;
  overflow: hidden;
  background: #fff;
  scroll-margin-top: 96px;
}

@media (max-width: 767px) {
  .solution-scene-links {
    display: none;
  }
}

@media (min-width: 1200px) {
  .products .section-title > span {
    position: relative;
    display: inline-block;
    padding-left: 13px;
    color: #26005f;
    font-size: 18px;
  }

  .products .section-title > span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 3px;
    height: 18px;
    border-radius: 999px;
    background: var(--purple);
  }

  .products .section-title h2 {
    max-width: 760px;
    margin: 10px auto 0;
    font-size: 54px;
    line-height: 1.28;
    font-weight: 500;
  }

  .products .section-title mark {
    background: linear-gradient(90deg, #874dff 0%, #7657ee 54%, #19c98d 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}

.products .section-title,
.product-cloud .main-product,
.product-cloud .hotspot,
.product-cloud .stat-card {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.78s cubic-bezier(0.2, 0.8, 0.2, 1),
    transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.products.in-view .section-title,
.products.in-view .product-cloud .main-product,
.products.in-view .product-cloud .hotspot,
.products.in-view .product-cloud .stat-card {
  opacity: 1;
  transform: translateY(0);
}

.products.in-view .product-cloud .main-product {
  transform: translate(calc(-50% + var(--product-mx)), calc(-50% + var(--product-my)));
}

.products.in-view .product-cloud .hotspot,
.products.in-view .product-cloud .stat-card {
  transition-delay: var(--product-delay, 0.08s);
}

.section-title {
  text-align: center;
}

.section-title.left {
  max-width: 780px;
  text-align: left;
}

.section-title h2 {
  margin: 0;
  font-size: var(--section-title-size);
  line-height: 1.14;
  font-weight: var(--heading-font-weight);
}

.section-title mark {
  color: var(--purple);
  background: transparent;
}

.product-cloud {
  position: relative;
  max-width: 1540px;
  height: 620px;
  margin: 44px auto 0;
}

.main-product {
  position: absolute;
  left: 51%;
  top: 47%;
  width: min(64vw, 1050px);
  transform: translate(calc(-50% + var(--product-mx)), calc(-50% + var(--product-my)));
  filter: drop-shadow(0 36px 50px rgba(90, 44, 180, 0.16));
  transition: opacity 0.78s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.16s ease-out;
  z-index: 1;
}

.hotspot {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px 8px 16px;
  color: var(--purple);
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(137, 85, 255, 0.18);
  border-radius: 999px;
  box-shadow: 0 14px 38px rgba(137, 85, 255, 0.1);
  backdrop-filter: blur(10px);
  z-index: 4;
  white-space: nowrap;
}

@media (min-width: 1200px) {
  .hotspot {
    width: 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
    font-size: 0;
    background: rgba(255, 255, 255, 0.84);
  }

  .hotspot span,
  .hotspot::before {
    display: none;
  }
}

.hotspot::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 170px;
  height: 1px;
  background: linear-gradient(90deg, rgba(137, 85, 255, 0), rgba(137, 85, 255, 0.46));
  transform: translateY(-50%);
  pointer-events: none;
}

.hotspot.h0::before,
.hotspot.h1::before {
  left: calc(100% - 8px);
  background: linear-gradient(90deg, rgba(137, 85, 255, 0.46), rgba(137, 85, 255, 0));
}

.hotspot.h2::before,
.hotspot.h3::before {
  right: calc(100% - 8px);
  background: linear-gradient(90deg, rgba(137, 85, 255, 0), rgba(137, 85, 255, 0.46));
}

.hotspot i {
  width: 15px;
  height: 15px;
  border: 4px solid #f0eaff;
  background: var(--purple);
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(137, 85, 255, 0.08);
  animation: pulse 1.8s ease infinite;
}

.h0 { left: 24%; top: 17%; --product-delay: 0.28s; }
.h1 { left: 25.5%; top: 51%; --product-delay: 0.34s; }
.h2 { right: 19%; top: 39%; --product-delay: 0.4s; }
.h3 { right: 13%; top: 70%; --product-delay: 0.46s; }

.stat-card {
  position: absolute;
  width: 238px;
  min-height: 299px;
  padding: 30px 25px;
  color: #6d6d76;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--purple);
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(137, 85, 255, 0.08);
  backdrop-filter: blur(10px);
  z-index: 3;
}

.stat-card strong {
  display: block;
  margin-bottom: 18px;
  color: #000;
  font-size: 42px;
  font-weight: 400;
}

.stat-card strong span {
  font: inherit;
}

.stat-card p {
  margin: 0 0 22px;
  line-height: 1.45;
  font-size: 13px;
}

.stat-card svg {
  color: #d2c5ff;
}

.s0 { left: 7%; top: -2%; --product-delay: 0.14s; }
.s1 { left: 0; bottom: -3%; width: 308px; min-height: 300px; --product-delay: 0.2s; }
.s2 { right: 0; top: 26%; width: 259px; min-height: 285px; background: var(--purple); color: #fff; border-color: var(--purple); --product-delay: 0.26s; }
.s2 strong { color: #fff; }
.s2 svg { color: #fff; }
.s3 { display: none; }

.about-unbox {
  position: relative;
  min-height: 118vh;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: #120034;
  margin-top: 0;
}

.about-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.about-bg picture,
.about-bg img,
.about-bg video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.about-bg video {
  opacity: 0.86;
  mix-blend-mode: screen;
  object-position: center bottom;
  transform: translateY(24%) scale(1.06);
  transform-origin: center bottom;
}

.about-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 45% 78%, rgba(123, 90, 255, 0.22), transparent 34%),
    linear-gradient(180deg, rgba(18, 0, 52, 0), rgba(18, 0, 52, 0.04) 24%, rgba(67, 163, 255, 0.25) 100%);
}

.about-inner {
  position: relative;
  z-index: 2;
  width: 85vw;
  max-width: 1600px;
  margin: 0 auto;
  min-height: 118vh;
  padding: 160px 0 0;
}

.about-inner::after {
  content: "";
  position: absolute;
  top: 321px;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.62);
}

.about-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 34px;
  color: #fff;
  font-size: 18px;
  line-height: 1.65;
  font-weight: 500;
  letter-spacing: -0.36px;
}

.about-kicker::before {
  content: "";
  width: 4px;
  height: 18px;
  display: block;
  border-radius: 4px;
  background: linear-gradient(180deg, #8b55ff, #26ebcf);
}

.about-inner h2 {
  max-width: 720px;
  margin: 0 0 43px;
  color: #fff;
  font-size: clamp(50px, 2.85vw, 56px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 1.08px;
}

.about-more {
  position: absolute;
  top: 66px;
  right: 0;
}

.about-inner p {
  width: 35%;
  max-width: 560px;
  margin: 68px 0 0;
  color: #fff;
  line-height: 1.6;
  font-size: clamp(16px, 1.04vw, 20px);
  font-weight: 400;
}

.mini-stats {
  position: absolute;
  right: 0;
  top: 426px;
  width: 30%;
  max-width: 480px;
}

.mini-stat {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 136px;
  padding: 14px 0 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.mini-stats b {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  color: #fff;
  font-size: clamp(82px, 5.25vw, 100px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: 2px;
  white-space: nowrap;
  text-align: right;
  min-width: 58%;
}

.mini-stats b span {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.about-unbox .mini-stats b > span[data-count] {
  display: inline;
  margin: 0;
  color: #fff;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.mini-stats em {
  color: #fff;
  font-style: normal;
  align-self: start;
  font-size: clamp(16px, 1.04vw, 20px);
  line-height: 1.4;
  font-weight: 600;
  max-width: 42.33%;
  padding-top: 10px;
}

.constant-sequence {
  position: relative;
  min-height: 390vh;
  padding: 0 20px;
  background: linear-gradient(135deg, #faf6ff 0%, #f9f6ff 62%, #d3fbff 100%);
}

.constant-sticky {
  --constant-clip-x: 20%;
  --constant-clip-y: 20%;
  --constant-round: 20px;
  --constant-card-opacity: 1;
  --constant-card-copy-opacity: 0;
  --constant-card-copy-y: 26px;
  --constant-logo-opacity: 0;
  --constant-logo-scale: 2.65;
  --constant-title-opacity: 0;
  --constant-title-y: 32px;
  position: sticky;
  top: 90px;
  height: calc(100vh - 90px);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.constant-card {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: var(--constant-round);
  clip-path: inset(var(--constant-clip-y) var(--constant-clip-x) round var(--constant-round));
  opacity: var(--constant-card-opacity);
  transition: opacity 0.05s linear;
}

.constant-card > img,
.constant-card > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.constant-card > video {
  z-index: 1;
}

.constant-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(18, 6, 27, 0.56);
}

.constant-card-copy {
  position: absolute;
  left: 8.5vw;
  bottom: 12.5vh;
  z-index: 3;
  max-width: 780px;
  color: #fff;
  opacity: var(--constant-card-copy-opacity);
  transform: translateY(var(--constant-card-copy-y));
  transition: opacity 0.08s linear, transform 0.08s linear;
}

.constant-card-copy span {
  color: #fff;
}

.constant-card-copy h2 {
  margin: 0;
  font-family: var(--font-semibold);
  font-size: clamp(38px, 3.08vw, 47px);
  line-height: 1.2;
  font-weight: 600;
}

.constant-logo-stage {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
}

.constant-mark {
  position: absolute;
  top: clamp(28px, 4vh, 48px);
  left: 50%;
  width: min(31vw, 430px);
  max-width: calc(100vw - 80px);
  height: auto;
  object-fit: contain;
  opacity: var(--constant-logo-opacity);
  transform: translateX(-50%) scale(var(--constant-logo-scale));
  transform-origin: center center;
  transition: opacity 0.05s linear, transform 0.05s linear;
}

.constant-logo-stage h2 {
  position: absolute;
  top: 46vh;
  left: 50%;
  width: min(1080px, calc(100% - 48px));
  max-width: 1080px;
  margin: 0;
  color: #000;
  text-align: center;
  font-family: var(--font-regular);
  font-size: clamp(36px, 3.85vw, 58px);
  line-height: 1.26;
  font-weight: 400;
  opacity: var(--constant-title-opacity);
  transform: translate(-50%, var(--constant-title-y));
  transition: opacity 0.05s linear, transform 0.05s linear;
}

.innovation-page-sequence {
  margin-top: 0;
}

.cases,
.news {
  overflow: hidden;
  padding: 96px 5vw;
  background: #fff;
}

.case-slider,
.news-track {
  display: flex;
  gap: 24px;
  margin-top: 42px;
  transition: transform 0.45s cubic-bezier(0.75, 0, 0.16, 1);
}

.case-card {
  min-width: 306px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.06);
}

.case-card img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 6px;
}

.case-card h3,
.news-card h3 {
  margin: 18px 0 10px;
  font-size: 20px;
  line-height: 1.28;
}

.case-card p,
.case-card span {
  display: block;
  margin: 0 0 8px;
  color: var(--muted);
}

.news {
  background: #f7f7fb;
}

.news-card {
  flex: 0 0 clamp(420px, 28.1vw, 540px);
  min-width: clamp(420px, 28.1vw, 540px);
  display: grid;
  grid-template-rows: 250px 352px;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
}

.news-card div {
  min-width: 0;
  padding: 32px 32px 26px;
}

.news-card time {
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
}

.news-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.slider-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 26px;
}

.slider-actions button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--purple);
  border: 0;
  border-radius: 50%;
}

.slider-actions button:first-child {
  transform: rotate(180deg);
}

.footer-cta {
  position: relative;
  min-height: 450px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  background: #08305a;
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.footer-cta.in-view {
  opacity: 1;
  transform: translateY(0);
}

.footer-cta > picture,
.footer-cta > picture img,
.footer-cta > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer-cta > picture img {
  display: block;
  transform: scale(1.06);
  transition: transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.footer-cta > video {
  opacity: 0;
  mix-blend-mode: screen;
  transition: opacity 0.9s ease 0.18s;
}

.footer-cta.in-view > picture img {
  transform: scale(1);
}

.footer-cta.in-view > video {
  opacity: 0.26;
}

.footer-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, rgba(2, 20, 32, 0.02), rgba(2, 18, 38, 0.18) 78%),
    linear-gradient(180deg, rgba(2, 18, 38, 0.04), rgba(2, 18, 38, 0.12));
}

.footer-cta div {
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s ease 0.12s, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.12s;
}

.footer-cta.in-view div {
  opacity: 1;
  transform: translateY(0);
}

.footer-cta h2 {
  margin: 0 0 34px;
  font-size: var(--section-title-size);
  line-height: 1.14;
  font-weight: var(--heading-font-weight);
}

.outline-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 28px 0 8px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  font-weight: 700;
}

.outline-cta svg {
  width: 40px;
  height: 40px;
  padding: 11px;
  border-radius: 999px;
  background: var(--purple);
}

.footer {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 46px;
  padding: 52px 5vw 70px;
  color: rgba(255, 255, 255, 0.72);
  background: #111;
}

.footer-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
}

.footer h4 {
  margin: 0 0 16px;
  color: #fff;
}

.footer a {
  display: block;
  margin: 0 0 10px;
}

.detail-page {
  padding-top: 58px;
}

.detail-hero {
  min-height: 620px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 6vw;
  padding: 80px 6vw;
  background: #f7f7fb;
}

.detail-hero img {
  width: 100%;
  max-height: 460px;
  object-fit: contain;
}

.detail-hero h1 {
  margin: 16px 0 20px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.04;
}

.detail-hero p,
.detail-content p {
  color: var(--muted);
  line-height: 1.75;
}

.back-link {
  color: var(--purple);
  font-weight: 700;
}

.detail-content {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 46px;
  padding: 80px 6vw;
}

.detail-content article,
.detail-content aside {
  padding: 34px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.05);
}

.detail-content aside span {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.inside-main {
  background: #fff;
}

.product-source-hero {
  position: relative;
  height: min(49vw, 940px);
  min-height: 620px;
  overflow: hidden;
  color: #fff;
}

.product-source-hero > img,
.product-source-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.product-source-hero > img {
  object-fit: cover;
}

.product-source-hero-shade {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.18));
}

.product-scroll-mark {
  position: absolute;
  left: 50%;
  bottom: 42px;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 9px;
  transform: translateX(-50%);
  font-size: 15px;
}

.product-scroll-mark span {
  width: 19px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 999px;
}

.product-scroll-mark span::after {
  content: "";
  display: block;
  width: 4px;
  height: 7px;
  margin: 6px auto 0;
  background: #fff;
  border-radius: 999px;
  animation: mouseDot 1.4s ease infinite;
}

.inside-hero {
  position: relative;
  min-height: 560px;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 150px 7vw 82px;
  color: #fff;
}

.inside-hero > img,
.inside-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.inside-hero > img {
  object-fit: cover;
}

.inside-hero-shade {
  background: linear-gradient(90deg, rgba(8, 2, 24, 0.72), rgba(8, 2, 24, 0.22) 52%, rgba(8, 2, 24, 0.06));
}

.inside-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 920px;
}

.inside-hero-copy span,
.product-system span,
.download-band span,
.series-hero-copy .back-link {
  color: var(--purple);
  font-weight: 700;
}

.inside-hero-copy h1 {
  margin: 14px 0 18px;
  font-size: var(--hero-title-size);
  line-height: 1.12;
  font-weight: var(--heading-font-weight);
}

.inside-hero-copy p {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.75;
}

.source-banner-hero {
  position: relative;
  height: 520px;
  min-height: 440px;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 0 7vw 24px;
  color: #fff;
}

.source-banner-innovation,
.source-banner-we-never-stop-exploring { height: 440px; }
.source-banner-a-global-leader-in-smart-renewable-energy-solutions { height: 600px; }

.source-banner-hero > img,
.source-banner-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.source-banner-hero > img {
  object-fit: cover;
}

.source-banner-shade {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.32)),
    linear-gradient(90deg, rgba(4, 2, 20, 0.58), rgba(4, 2, 20, 0.1) 62%, rgba(4, 2, 20, 0.02));
}

.source-banner-copy {
  position: relative;
  z-index: 1;
  align-self: stretch;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  padding-top: 56px;
}

.source-banner-copy h1 {
  max-width: 940px;
  margin: 0;
  font-size: clamp(40px, 3.8vw, 58px);
  line-height: 1.12;
  letter-spacing: 0;
  font-weight: var(--heading-font-weight);
  text-transform: uppercase;
}

.source-banner-long .source-banner-copy h1 {
  max-width: 1080px;
  font-size: clamp(40px, 3.8vw, 58px);
  line-height: 1.16;
}

.source-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 11px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.86);
}

.source-breadcrumb i {
  font-style: normal;
  color: rgba(255, 255, 255, 0.62);
}

.product-index,
.series-list-section,
.download-list,
.news-list-page,
.article-page,
.contact-layout,
.company-story,
.value-band,
.reference-grid,
.cms-layout {
  max-width: 1400px;
  margin: 0 auto;
  padding: 92px 5vw;
}

.product-category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 58px;
}

.product-hub-title { max-width: 880px; }
.product-hub-title > p { max-width: 740px; margin: 24px 0 0; color: var(--muted); line-height: 1.72; }
.product-hub-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 58px; }
.product-hub-category-card { position: relative; min-height: 470px; overflow: hidden; display: grid; align-items: end; padding: 38px; color: #17131f; border-radius: 8px; background: #f5f4f8; }
.product-hub-category-card > img { position: absolute; right: 0; bottom: 0; width: 54%; height: 88%; object-fit: cover; object-position: center; transition: transform .45s ease; }
.product-hub-category-card:hover > img { transform: scale(1.035); }
.product-hub-card-copy { position: relative; z-index: 1; align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; max-width: 52%; }
.product-hub-card-copy h3 { margin: 0 0 20px; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.1; }
.product-hub-card-copy p { margin: 0; color: #67616c; font-size: 15px; line-height: 1.65; }
.product-hub-card-copy > span { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; color: var(--purple); font-size: 14px; font-weight: 600; }
.product-hub-card-copy svg { width: 18px; height: 18px; }

.product-projects { max-width: 1400px; margin: 0 auto 100px; display: grid; grid-template-columns: .82fr 1.18fr; align-items: stretch; min-height: 470px; overflow: hidden; border-radius: 8px; background: #f4f3f7; }
.product-projects > div { align-self: center; padding: 58px; }
.product-projects > div > span,
.source-company-story span,
.company-image-band span,
.source-contact-layout > div > span { color: var(--purple); font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.product-projects h2,
.company-image-band h2 { margin: 14px 0 18px; font-size: clamp(34px, 3.3vw, 52px); line-height: 1.13; }
.product-projects p { color: var(--muted); line-height: 1.7; }
.product-projects > img { width: 100%; height: 100%; object-fit: cover; }

.source-company-story { grid-template-columns: .95fr 1.05fr; align-items: start; gap: 7vw; }
.source-company-story > p { margin: 30px 0 0; font-size: 18px; }
.company-image-band { position: relative; max-width: 1400px; min-height: 560px; margin: 0 auto 100px; overflow: hidden; border-radius: 8px; color: #fff; }
.company-image-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9, 5, 21, .72), rgba(9, 5, 21, .08)); }
.company-image-band > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.company-image-band > div { position: absolute; z-index: 1; left: 6vw; bottom: 64px; max-width: 720px; }

.innovation-overview { max-width: 1400px; margin: 0 auto; padding: 92px 5vw 70px; background: radial-gradient(circle at 80% 35%, rgba(81, 255, 205, .18), transparent 36%), radial-gradient(circle at 20% 80%, rgba(137, 85, 255, .18), transparent 40%); }
.innovation-overview header { display: grid; grid-template-columns: 1.35fr .65fr; gap: 6vw; align-items: end; }
.innovation-overview h2 { margin: 0; font-size: clamp(38px, 3.6vw, 56px); line-height: 1.13; text-transform: uppercase; }
.innovation-overview mark { color: var(--purple); background: transparent; }
.innovation-overview p { margin: 0 0 8px; color: #5e5864; line-height: 1.72; }
.innovation-overview video { width: 100%; margin-top: 48px; aspect-ratio: 2.08 / 1; object-fit: cover; border-radius: 22px; }
.innovation-stats { max-width: 1400px; margin: 0 auto 100px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #e5e1e8; border-bottom: 1px solid #e5e1e8; }
.innovation-stats article { display: grid; gap: 8px; padding: 50px 4vw; border-left: 1px solid #e5e1e8; }
.innovation-stats article:first-child { border-left: 0; }
.innovation-stats strong { color: var(--purple); font-size: clamp(42px, 4vw, 68px); line-height: 1; }
.innovation-stats span { color: #5e5864; }

.source-contact-layout { grid-template-columns: .65fr 1.35fr; align-items: start; }
.source-contact-layout form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
.source-contact-layout label { display: grid; gap: 9px; color: #27222b; font-size: 14px; }
.source-contact-layout input,
.source-contact-layout textarea { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #ddd7e1; border-radius: 2px; background: #fff; }
.source-contact-layout textarea { min-height: 150px; resize: vertical; }
.contact-message,
.contact-consent,
.contact-form-status { grid-column: 1 / -1; }
.source-contact-layout .contact-consent { display: flex; align-items: center; gap: 10px; }
.source-contact-layout .contact-consent input { width: 18px; min-height: 18px; }
.contact-consent a { color: var(--purple); text-decoration: underline; }
.contact-form-status { margin: 0; color: #397a55; }
.contact-honeypot { display: none !important; }
.contact-form-status.is-error { color: #b42318; }
.source-contact-layout button[type="submit"]:disabled { opacity: .55; cursor: wait; }

.product-category-card,
.series-card,
.download-card,
.reference-card,
.news-page-card,
.spec-panel article,
.value-band article,
.cms-table a {
  border: 1px solid #eee8ff;
  border-radius: 8px;
  background: #fff;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.product-category-card {
  min-height: 185px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 20px;
  padding: 28px;
}

.product-category-card:hover,
.series-card:hover,
.download-card:hover,
.reference-card:hover,
.news-page-card:hover,
.cms-table a:hover {
  transform: translateY(-6px);
  border-color: var(--purple);
  box-shadow: 0 24px 60px rgba(137, 85, 255, 0.14);
}

.product-category-card img {
  width: 36px;
  height: 36px;
}

.product-category-card h3,
.series-card h3,
.download-card h3,
.reference-card h3,
.news-page-card h3,
.value-band h3 {
  margin: 0 0 10px;
  font-size: var(--card-title-size);
  line-height: 1.25;
  font-weight: var(--card-title-weight);
}

.product-category-card p,
.series-card p,
.download-card p,
.reference-card p,
.article-page p,
.contact-layout p,
.company-story p,
.value-band p {
  color: var(--muted);
  line-height: 1.72;
}

.product-system,
.download-band {
  max-width: 1480px;
  margin: 0 auto 90px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 5vw;
  padding: 80px 6vw;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7f7fb, #fff);
  overflow: hidden;
}

.product-system h2,
.download-band h2,
.contact-layout h2,
.company-story h2,
.article-page h2 {
  margin: 10px 0 18px;
  font-size: clamp(34px, 3.4vw, 54px);
  line-height: 1.16;
}

.product-system img {
  width: 100%;
  filter: drop-shadow(0 30px 54px rgba(90, 44, 180, 0.16));
}

.category-tabs {
  max-width: 1400px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 42px auto 0;
  padding: 0 5vw;
}

.category-tabs a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 22px;
  border: 1px solid #eee8ff;
  border-radius: 999px;
  color: #222;
}

.category-tabs a.active,
.category-tabs a:hover {
  color: #fff;
  background: var(--purple);
  border-color: var(--purple);
}

.download-source-filters {
  width: min(85vw, 1600px);
  margin: 62px auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.download-source-filters div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
}

.download-source-filters span {
  color: #777;
  font-size: 16px;
}

.download-source-filters a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  color: #222;
  border: 1px solid #eee8ff;
  border-radius: 999px;
  background: #fff;
}

.download-source-filters a.active,
.download-source-filters a:hover {
  color: #fff;
  background: var(--purple);
  border-color: var(--purple);
}

.source-category-hero {
  --source-progress: 0;
  --source-inverse: 1;
  --source-main-opacity: 1;
  --source-hot-opacity: 0;
  --source-copy-opacity: 1;
  --source-case-opacity: 0;
  --source-clip-top: 0px;
  --source-clip-x: 0px;
  --source-clip-bottom: 0px;
  --source-clip-radius: 0px;
  --source-hot-scale: 1.04;
  --source-copy-y: 0px;
  --source-hot-y: 40px;
  position: relative;
  height: 235vh;
  overflow: visible;
  color: #fff;
  background: #fff;
}

.source-category-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  transform: translateZ(0);
}

.source-hero-panel {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.source-hero-panel picture,
.source-hero-panel picture img,
.source-category-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.source-hero-panel picture {
  clip-path: inset(var(--source-clip-top) var(--source-clip-x) var(--source-clip-bottom) var(--source-clip-x) round var(--source-clip-radius));
  overflow: hidden;
  contain: paint;
  will-change: clip-path, opacity;
}

.source-category-hero-shade {
  clip-path: inset(var(--source-clip-top) var(--source-clip-x) var(--source-clip-bottom) var(--source-clip-x) round var(--source-clip-radius));
  will-change: clip-path, opacity;
}

.source-hero-panel picture img {
  object-fit: cover;
  object-position: right center;
  animation: sourceScaleIn 2s ease both;
}

@keyframes sourceScaleIn {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}

.source-hero-panel-main {
  z-index: 2;
  opacity: var(--source-main-opacity);
  pointer-events: none;
}

.source-hero-panel-hot {
  z-index: 1;
  opacity: var(--source-hot-opacity);
  clip-path: inset(0);
  pointer-events: auto;
}

.source-hero-panel-hot picture img {
  animation: none;
  transform: scale(var(--source-hot-scale));
}

.source-category-hero-shade {
  background:
    linear-gradient(90deg, rgba(24, 2, 58, 0.78), rgba(24, 2, 58, 0.2) 46%, rgba(24, 2, 58, 0.03) 72%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.08) 54%, rgba(0, 0, 0, 0.24));
}

.source-category-hero-shade.hot {
  background:
    linear-gradient(90deg, rgba(31, 0, 74, 0.72), rgba(31, 0, 74, 0.16) 42%, rgba(31, 0, 74, 0.01) 70%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.1));
}

.tervona-category-banner {
  background: #eef7f7;
}

.tervona-category-banner .source-category-scene {
  z-index: 0;
  background: #eef7f7;
}

.tervona-category-banner .source-category-scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  mix-blend-mode: normal;
}

.tervona-category-banner .source-category-hero-shade.hot {
  z-index: 1;
  background: linear-gradient(90deg, rgba(240, 251, 251, 0.34) 0%, rgba(240, 251, 251, 0.12) 37%, rgba(240, 251, 251, 0) 58%);
}

.tervona-category-banner .source-category-product-art {
  position: absolute;
  z-index: 3;
  right: 2.5%;
  bottom: 4%;
  width: 50%;
  height: 76%;
  display: grid;
  place-items: end center;
  pointer-events: none;
  overflow: visible;
}

.tervona-category-banner .source-category-product-art img {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  mix-blend-mode: normal;
  filter: drop-shadow(0 28px 32px rgba(4, 38, 45, 0.28));
  transform: translateY(-50%);
}

.source-category-low-voltage-battery .source-category-product-art {
  right: 0.5%;
  bottom: 9%;
  width: 55%;
  height: 64%;
}

.source-category-hybrid-inverter .source-category-product-art,
.source-category-off-grid-inverter .source-category-product-art {
  right: 7%;
  width: 39%;
  height: 78%;
}

.source-category-all-in-one-ess .source-category-product-art {
  right: 5%;
  width: 43%;
  height: 80%;
}

.tervona-category-banner .source-hot-product {
  z-index: 4;
  top: 31vh;
  color: #072d38;
}

.tervona-category-banner .source-hot-product h1 {
  max-width: 720px;
  margin: 0 0 12px;
  font-size: clamp(46px, 4.3vw, 74px);
  line-height: 1.06;
  font-weight: 600;
}

.tervona-category-banner .source-hot-product p {
  color: rgba(7, 45, 56, 0.75);
}

.tervona-category-banner .source-hot-product .source-learn {
  color: #072d38;
  border-color: rgba(7, 45, 56, 0.3);
  background: rgba(255, 255, 255, 0.46);
}

.source-category-copy {
  position: absolute;
  left: 7.5vw;
  top: 28vh;
  z-index: 2;
  width: min(85vw, 1600px);
  margin: 0;
  padding-top: 0;
  opacity: var(--source-copy-opacity);
  transform: translateY(var(--source-copy-y));
  will-change: opacity, transform;
}

.source-category-copy h1 {
  max-width: 780px;
  margin: 0 0 18px;
  font-size: clamp(54px, 5vw, 86px);
  line-height: 1.08;
  font-weight: 600;
}

.source-category-copy p {
  max-width: 660px;
  margin: 0 0 52px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.72;
}

.source-category-copy .source-breadcrumb {
  font-size: 15px;
}

.source-category-copy .source-breadcrumb a,
.source-category-copy .source-breadcrumb span {
  color: #fff;
}

.source-hot-product {
  position: absolute;
  z-index: 2;
  left: 7.5vw;
  top: 36vh;
  width: min(46vw, 760px);
  opacity: var(--source-case-opacity);
  transform: translateY(var(--source-hot-y));
  will-change: opacity, transform;
  pointer-events: auto;
}

.source-hot-product span,
.source-product-top span,
.source-resource-band span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
}

.source-hot-product h2 {
  margin: 10px 0 8px;
  font-size: clamp(44px, 4.4vw, 72px);
  line-height: 1.05;
  font-weight: 600;
}

.source-hot-product p {
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 500;
}

.source-learn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 999px;
  color: #fff;
  font-weight: 600;
}

.source-learn svg {
  width: 16px;
  height: 16px;
}

.source-learn.dark {
  color: #111;
  border-color: rgba(17, 17, 17, 0.22);
}

.source-category-tabs {
  margin-top: 0;
  padding-top: 54px;
}

.source-product-list {
  width: min(85vw, 1600px);
  margin: 0 auto;
  padding: 86px 0 118px;
}

.source-product-row {
  position: relative;
  display: grid;
  grid-template-columns: 38% 56%;
  align-items: center;
  justify-content: space-between;
  gap: 6%;
  min-height: 470px;
  margin-bottom: 128px;
  isolation: isolate;
  overflow: hidden;
  opacity: 0;
  transform: translateY(58px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.source-product-row.in-view,
.source-resource-band.in-view {
  opacity: 1;
  transform: translateY(0);
}

.source-product-row:last-child {
  margin-bottom: 0;
}

.source-product-media {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  position: relative;
  z-index: 2;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.source-product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 24px 28px rgba(13, 28, 34, 0.18));
  transform: translateY(22px) scale(0.96);
  opacity: 0;
  transition: opacity 0.95s ease 0.08s, transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.08s;
}

.source-product-row.in-view .source-product-media img {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.source-product-info {
  display: grid;
  gap: 20px;
  position: relative;
  z-index: 3;
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 0.85s ease 0.14s, transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.14s;
}

.source-product-row.in-view .source-product-info {
  opacity: 1;
  transform: translateY(0);
}

.source-product-top {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.8fr);
  gap: 28px;
  padding: 42px 50px 30px;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(245, 247, 250, 0.72);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.78);
}

.source-product-top::before,
.source-feature-slider section::before,
.source-detail-link::before,
.source-resource-band > div::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.06) 52%, rgba(162, 126, 255, 0.14)),
    linear-gradient(145deg, #f8f9ff, #ffffff);
  z-index: -1;
}

.source-product-top span {
  color: #9d9d9d;
}

.source-product-top h2,
.source-product-top h3 {
  margin: 8px 0 0;
  color: #111;
  font-size: clamp(30px, 2.7vw, 48px);
  line-height: 1.08;
  font-weight: 600;
}

.source-product-bottom {
  display: grid;
  grid-template-columns: 55.83% 41.67%;
  gap: 2.5%;
}

.source-feature-slider {
  position: relative;
  min-height: 178px;
  overflow: hidden;
  border-radius: 20px;
}

.source-feature-slider section {
  position: relative;
  min-height: 178px;
  padding: 30px 34px 56px;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(245, 247, 250, 0.76);
}

.source-feature-slider section:not(.active) {
  display: none;
}

.source-feature-slider b {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--purple);
}

.source-feature-slider svg {
  width: 17px;
  height: 17px;
}

.source-feature-slider h4 {
  margin: 0 0 8px;
  color: #1b1b1f;
  font-size: 18px;
  line-height: 1.22;
  font-weight: 600;
}

.source-feature-slider p {
  margin: 0;
  color: #777;
  font-size: 14px;
  line-height: 1.6;
}

.source-feature-slider small {
  position: absolute;
  left: 34px;
  bottom: 18px;
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: var(--purple);
  font-size: 17px;
  font-weight: 600;
}

.source-feature-slider small span {
  color: #c8c1df;
  font-size: 13px;
}

.source-detail-link {
  position: relative;
  min-height: 100%;
  display: grid;
  place-items: center;
  gap: 14px;
  padding: 28px;
  border-radius: 20px;
  overflow: hidden;
  color: #111;
  font-weight: 600;
}

.source-detail-link svg {
  width: 28px;
  height: 28px;
  color: var(--purple);
}

@media (min-width: 1021px) {
  .source-product-top {
    grid-template-columns: 55.83% 41.67%;
    gap: 2.5%;
    padding: 42px 0 30px;
  }

  .source-product-top > div {
    min-width: 0;
  }

  .source-product-top > div:first-child {
    padding: 0 28px 0 34px;
  }

  .source-product-top > div:nth-child(2) {
    padding: 0 32px;
  }

  .source-detail-link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    padding: 30px 32px 24px;
    text-align: left;
  }

  .source-detail-link svg {
    align-self: flex-end;
  }
}

.source-product-marquee {
  position: absolute;
  left: 0;
  top: 29%;
  z-index: 1;
  width: 120%;
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  color: transparent;
  font-size: clamp(72px, 9vw, 168px);
  line-height: 1.1;
  font-weight: 600;
  opacity: 0.045;
  pointer-events: none;
  transform: translateX(46px);
  transition: opacity 1s ease 0.22s, transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.22s;
}

.source-product-row:not(.in-view) .source-product-marquee {
  opacity: 0;
}

.source-product-row.in-view .source-product-marquee {
  transform: translateX(0);
  animation: sourceProductMarquee 22s linear infinite;
}

.source-product-marquee span {
  flex: none;
  padding-right: 0.7em;
  -webkit-text-stroke: 1px rgba(117, 76, 255, 0.5);
}

@keyframes sourceProductMarquee {
  from { translate: 0 0; }
  to { translate: -33.333% 0; }
}

.source-resource-band {
  position: relative;
  width: min(85vw, 1600px);
  margin: 0 auto 118px;
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  align-items: center;
  gap: 0;
  padding: 78px 0;
  opacity: 0;
  transform: translateY(56px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.source-resource-band > img {
  width: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center center;
  border-radius: 40px;
  box-shadow: 0 28px 72px rgba(24, 6, 79, 0.1);
}

.source-resource-band > div {
  position: relative;
  margin-left: -110px;
  padding: 58px 66px;
  border-radius: 40px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 30px 90px rgba(23, 0, 74, 0.12);
}

.source-resource-band::before {
  content: "";
  position: absolute;
  inset: 0 -7.5vw;
  z-index: -1;
  background: linear-gradient(135deg, #eef9f9, #f7f5ff 55%, #e6f4f5);
  opacity: 0.68;
}

.source-resource-band span {
  color: var(--purple);
}

.source-resource-band > div > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #26005e;
  font-weight: 600;
}

.source-resource-band > div > span::before {
  content: "";
  width: 4px;
  height: 18px;
  display: inline-block;
  border-radius: 999px;
  background: linear-gradient(180deg, #19e3db, var(--purple));
}

.source-resource-band h2 {
  margin: 14px 0 18px;
  color: #111;
  font-size: clamp(34px, 3.2vw, 54px);
  line-height: 1.12;
  font-weight: 600;
}

.mobile-drawer-item.open .mobile-product-submenu {
  display: block;
  max-height: 70vh;
  overflow-y: auto;
}

.mobile-drawer-item > .mobile-product-submenu {
  display: block;
  width: 100%;
}

.mobile-product-category {
  margin: 8px 4px;
  border: 1px solid #e1ebeb;
  border-radius: 12px;
  background: #f8fbfb;
}

.mobile-product-category summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  color: #1d2b2c;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-semibold);
  font-size: 14px;
}

.mobile-product-category summary::-webkit-details-marker {
  display: none;
}

.mobile-product-category summary b {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #087d82;
  background: #e4f7f7;
  border-radius: 50%;
  font-size: 10px;
}

.mobile-product-category[open] summary {
  color: #fff;
  background: #18aeb2;
  border-radius: 11px 11px 0 0;
}

.mobile-product-category[open] summary b {
  color: #087d82;
  background: #fff;
}

.mobile-product-category > div {
  padding: 8px 12px 14px;
}

.mobile-product-category .mobile-product-category-link {
  min-height: 38px;
  justify-content: space-between;
  padding: 4px 0 8px;
  color: #087d82;
  font-family: var(--font-semibold);
  font-size: 12px;
}

.mobile-product-category .mobile-product-category-link svg {
  width: 15px;
  height: 15px;
}

.mobile-product-category .product-taxonomy-panel > .product-taxonomy-level,
.mobile-product-category > div > .product-taxonomy-level {
  display: grid;
  gap: 8px;
}

.mobile-product-category .product-taxonomy-level > li {
  min-width: 0;
}

.mobile-product-category .product-taxonomy-node {
  font-size: 12px;
}

.product-taxonomy-drop {
  max-height: calc(100vh - 90px);
  overflow-y: auto;
  background: #fff;
}

.product-taxonomy-drop .drop-inner {
  padding: 28px 0 34px;
}

.product-taxonomy-drop .drop-top {
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 18px;
}

.product-taxonomy-drop .drop-top h3 {
  margin-bottom: 8px;
}

.product-taxonomy-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.product-taxonomy-tab {
  position: relative;
  min-width: 0;
  min-height: 176px;
  display: grid;
  grid-template-rows: 88px auto;
  align-content: start;
  gap: 12px;
  padding: 10px 10px 14px;
  overflow: hidden;
  color: #20282a;
  background: #fff;
  border: 1px solid #dfe9e9;
  border-radius: 16px;
  text-align: left;
  cursor: pointer;
  transition: color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.product-taxonomy-tab-media {
  width: 100%;
  height: 88px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #068f94;
  background: linear-gradient(145deg, #f3fbfb 0%, #e2f5f5 100%);
  border-radius: 11px;
}

.product-taxonomy-tab-media img {
  --product-visual-scale: 1.25;
  --product-visual-scale-active: 1.32;
  width: 92%;
  height: 82px;
  display: block;
  object-fit: contain;
  transform: scale(var(--product-visual-scale));
  transition: transform 0.24s ease;
}

.product-taxonomy-tab[data-product-category-tab="battery-pack"] img {
  --product-visual-scale: 2.05;
  --product-visual-scale-active: 2.14;
}

.product-taxonomy-tab[data-product-category-tab="hybrid-inverter"] img {
  --product-visual-scale: 1.4;
  --product-visual-scale-active: 1.48;
}

.product-taxonomy-tab[data-product-category-tab="off-grid-inverter"] img {
  --product-visual-scale: 1.35;
  --product-visual-scale-active: 1.43;
}

.product-taxonomy-tab-media svg {
  width: 52px;
  height: 48px;
}

.product-taxonomy-tab-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 0 4px;
}

.product-taxonomy-tab-copy strong {
  font-family: var(--font-semibold);
  font-size: 15px;
  line-height: 1.25;
}

.product-taxonomy-tab-copy small {
  color: #68787a;
  font-size: 12px;
  line-height: 1.45;
}

.product-taxonomy-tab-arrow {
  display: none !important;
}

.product-taxonomy-tab:hover,
.product-taxonomy-tab:focus-visible {
  border-color: #18aeb2;
  box-shadow: 0 14px 32px rgba(13, 118, 123, 0.12);
  transform: translateY(-2px);
  outline: none;
}

.product-taxonomy-tab:hover .product-taxonomy-tab-media img,
.product-taxonomy-tab:focus-visible .product-taxonomy-tab-media img,
.product-taxonomy-tab.active .product-taxonomy-tab-media img {
  transform: scale(var(--product-visual-scale-active));
}

.product-taxonomy-tab.active {
  color: #0c5558;
  background: #fff;
  border-color: #18aeb2;
  box-shadow: 0 14px 34px rgba(13, 118, 123, 0.16);
}

.product-taxonomy-tab.active::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 18px;
  right: 18px;
  height: 3px;
  background: #18aeb2;
  border-radius: 0 0 999px 999px;
}

.product-taxonomy-panels {
  margin-top: 16px;
}

.product-taxonomy-panel {
  display: none;
  min-height: 116px;
  padding: 22px 24px 24px;
  background: #f6fafa;
  border: 1px solid #e1eded;
  border-radius: 18px;
}

.product-taxonomy-panel.active {
  display: block;
}

.product-taxonomy-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

.product-taxonomy-panel > header small {
  display: block;
  margin-bottom: 3px;
  color: #6f7f81;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-taxonomy-panel > header h4 {
  margin: 0;
  color: #122526;
  font-size: 20px;
}

.product-taxonomy-panel > header p {
  margin: 4px 0 0;
  color: #647476;
  font-size: 13px;
}

.product-taxonomy-panel > header a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #058e94;
  font-family: var(--font-semibold);
  font-size: 14px;
}

.product-taxonomy-panel > header a svg {
  width: 16px;
  height: 16px;
}

.product-taxonomy-level {
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-taxonomy-panel > .product-taxonomy-level {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.product-taxonomy-panel > .product-taxonomy-level > li {
  min-width: 0;
  padding: 13px 14px;
  background: #fff;
  border: 1px solid #e3ebeb;
  border-radius: 12px;
}

.product-taxonomy-node {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #172627;
  font-size: 13px;
  line-height: 1.35;
}

.product-taxonomy-level > li > .product-taxonomy-node {
  font-family: var(--font-semibold);
}

.product-taxonomy-node a {
  color: inherit;
}

.product-taxonomy-node em {
  flex: 0 0 auto;
  padding: 3px 7px;
  color: #087d82;
  background: #e5f8f8;
  border-radius: 999px;
  font-size: 9px;
  font-style: normal;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-taxonomy-level .product-taxonomy-level {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  padding-left: 12px;
  border-left: 1px solid #cce3e3;
}

.product-taxonomy-level .product-taxonomy-level .product-taxonomy-node {
  font-family: var(--font-regular);
  font-size: 12px;
}

.product-taxonomy-level .product-taxonomy-level .product-taxonomy-level {
  margin-top: 7px;
  padding-left: 10px;
  border-left-style: dashed;
}

.product-taxonomy-level .product-taxonomy-level .product-taxonomy-level .product-taxonomy-node {
  color: #5a6a6c;
  font-size: 11px;
}

.source-resource-band > div > p {
  max-width: 620px;
  margin: 0 0 30px;
  color: #68616f;
  font-size: 16px;
  line-height: 1.7;
}

.source-resource-band .source-learn.dark {
  min-height: 52px;
  gap: 22px;
  padding: 0 28px 0 8px;
  color: #fff;
  border-color: transparent;
  background: var(--purple);
  box-shadow: 0 18px 42px rgba(137, 85, 255, 0.28);
}

.source-resource-band .source-learn.dark svg {
  width: 42px;
  height: 42px;
  padding: 12px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
}

.source-resource-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: start;
  gap: 0;
  margin: 34px 0 40px;
}

.source-resource-links a {
  position: relative;
  min-height: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: #26005e;
  text-align: center;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 500;
}

.source-resource-links a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 1px;
  height: 20px;
  background: rgba(117, 76, 255, 0.16);
}

.source-resource-links img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.source-resource-links span {
  color: #26005e;
  text-transform: none;
}

.source-resource-band p {
  max-width: 560px;
  margin: 0 0 30px;
  color: #666;
  line-height: 1.72;
}

.series-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 50px;
}

.series-card {
  overflow: hidden;
}

.series-card-media {
  min-height: 260px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 20%, #f0eaff, #fff 62%);
}

.series-card-media img {
  width: 92%;
}

.series-card-copy {
  padding: 28px;
}

.series-card-copy span,
.download-card b,
.news-page-card time {
  display: block;
  margin-bottom: 12px;
  color: var(--purple);
}

.download-band {
  grid-template-columns: 1fr auto;
  color: #fff;
  background: linear-gradient(125deg, #21005e, #8753ff 60%, #22c98a);
}

.download-band h2,
.download-band p {
  color: #fff;
}

.news-featured {
  max-width: 1600px;
  margin: 0 auto;
  padding: 120px 5vw 80px;
}

.news-featured-link {
  position: relative;
  min-height: 520px;
  display: flex;
  justify-content: flex-end;
  color: #111;
}

.news-featured-media {
  position: absolute;
  left: 0;
  top: 0;
  width: 56%;
  height: 430px;
  overflow: hidden;
  border-radius: 20px;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.82s ease, transform 0.82s cubic-bezier(0.22, 1, 0.36, 1);
}

.news-featured-media.in-view {
  opacity: 1;
  transform: translateY(0);
}

.news-featured-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.news-featured-link:hover .news-featured-media img {
  transform: scale(1.045);
}

.news-featured-copy {
  position: relative;
  z-index: 1;
  width: 51%;
  margin-top: 190px;
  min-height: 315px;
  padding: 40px 112px 40px 58px;
  border-radius: 20px;
  overflow: hidden;
  background:
    linear-gradient(to top left, rgba(134, 85, 255, 0.2) 0%, rgba(245, 247, 250, 0.82) 25%),
    rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(15px);
  box-shadow: 0 22px 70px rgba(36, 35, 37, 0.08);
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.82s ease 0.08s, transform 0.82s cubic-bezier(0.22, 1, 0.36, 1) 0.08s;
}

.news-featured-copy.in-view {
  opacity: 1;
  transform: translateY(0);
}

.news-featured-copy time {
  display: block;
  margin-bottom: 10px;
  color: #666;
  font-size: 16px;
  line-height: 1.6;
}

.news-featured-copy h2 {
  margin: 0 0 24px;
  color: #000;
  font-family: var(--font-semibold);
  font-size: clamp(28px, 1.85vw, 36px);
  line-height: 1.28;
  font-weight: 600;
}

.news-featured-copy p {
  max-height: 3.2em;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #666;
  font-size: 16px;
  line-height: 1.6;
}

.news-featured-copy .news-page-arrow {
  opacity: 1;
  right: 58px;
  bottom: 40px;
  transform: none;
  color: var(--purple);
  border-color: rgba(134, 85, 255, 0.18);
  background: #fff;
}

.news-featured-link:hover .news-featured-copy .news-page-arrow {
  color: #fff;
  background: var(--purple);
}

.series-main {
  background: #fff;
}

.series-hero {
  --detail-mx: 0px;
  --detail-my: 0px;
  --detail-bg-scale: 1.045;
  --detail-bg-inset: -18px;
  --detail-bg-radius: 0px;
  --detail-stats-opacity: 0;
  --detail-stats-y: 34px;
  position: relative;
  min-height: 940px;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  padding: 428px 8.35vw 160px;
  color: #fff;
  background: #2e0059;
}

.series-hero::after {
  content: "";
  position: absolute;
  inset: var(--detail-bg-inset);
  z-index: 1;
  pointer-events: none;
  border-radius: var(--detail-bg-radius);
  background:
    radial-gradient(circle at calc(26% + var(--detail-mx)) calc(34% + var(--detail-my)), rgba(134, 85, 255, 0.34), transparent 24%),
    linear-gradient(90deg, rgba(20, 0, 48, 0.76), rgba(20, 0, 48, 0.22) 49%, rgba(20, 0, 48, 0.02) 76%),
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(28, 0, 68, 0.1));
  transition: inset 0.12s linear, border-radius 0.12s linear;
}

.series-hero-bg {
  position: absolute;
  inset: var(--detail-bg-inset);
  z-index: 0;
  overflow: hidden;
  border-radius: var(--detail-bg-radius);
  transform: translate(var(--detail-mx), var(--detail-my)) scale(var(--detail-bg-scale));
  transform-origin: center center;
  transition: transform 0.16s ease-out, inset 0.12s linear, border-radius 0.12s linear;
  will-change: transform, inset, border-radius;
}

.series-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.series-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 620px;
}

.series-hero-copy .back-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 5px 14px 5px;
  border-radius: 999px;
  color: #fff;
  font-family: var(--font-semibold);
  background: linear-gradient(112deg, rgba(134,85,255,0.9), rgba(37,229,119,0.95));
  border: 0;
  backdrop-filter: blur(15px);
  font-size: 17px;
}

.series-hero-copy h1 {
  margin: 20px 0 30px;
  font-family: var(--heading-font-family);
  font-size: var(--hero-title-size);
  line-height: 1.16;
  color: #fff;
  letter-spacing: 0;
  font-weight: var(--heading-font-weight);
}

.series-hero-copy p {
  max-width: 580px;
  margin: 0;
  color: rgba(255, 255, 255, 0.96);
  line-height: 1.46;
  font-family: var(--font-semibold);
  font-size: 22px;
}

.series-hero-stats {
  position: absolute;
  left: 8.35vw;
  bottom: 70px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 380px);
  gap: 16px;
  max-width: calc(100vw - 16.7vw);
  opacity: var(--detail-stats-opacity);
  transform: translateY(var(--detail-stats-y));
  transition: opacity 0.14s linear, transform 0.14s linear;
  will-change: opacity, transform;
}

.series-hero-stat {
  position: relative;
  min-height: 154px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.36);
  backdrop-filter: blur(15px);
}

.series-hero-stat::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(140deg, rgba(255,255,255,0.48), rgba(255,255,255,0) 52%, rgba(255,255,255,0.42));
  opacity: 0.34;
  pointer-events: none;
}

.series-hero-stat span {
  position: relative;
  color: rgba(255, 255, 255, 0.86);
  font-family: var(--font-semibold);
  font-size: 17px;
  line-height: 1.35;
}

.series-hero-stat strong {
  position: absolute;
  top: 20px;
  right: 28px;
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  color: #fff;
  font-family: var(--font-man);
  font-size: 32px;
  line-height: 1;
  border: 3px solid rgba(37, 229, 119, 0.86);
  border-left-color: rgba(134, 85, 255, 0.56);
  border-radius: 50%;
}

.series-hero-stat strong.is-multiline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0 6px;
  text-align: center;
  font-size: 23px;
  letter-spacing: -0.04em;
}

.series-hero-stat strong.is-multiline small {
  font: inherit;
  font-size: 0.68em;
  letter-spacing: 0;
}

.series-hero-stat strong.is-compact {
  box-sizing: border-box;
  padding: 10px;
  text-align: center;
  font-size: 16px;
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

/* Every product detail page uses the same full-width Tervona banner. */
.series-hero.unified-product-banner {
  background:
    radial-gradient(circle at 76% 17%, rgba(24, 174, 178, 0.28), transparent 28%),
    linear-gradient(118deg, #f4fbfa 0%, #e4f5f4 46%, #ccebea 100%);
}

.series-hero.unified-product-banner::after {
  background:
    linear-gradient(90deg, rgba(244, 251, 250, 0.98) 0%, rgba(231, 246, 245, 0.92) 38%, rgba(222, 243, 242, 0.34) 58%, rgba(204, 235, 234, 0) 78%),
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(8, 92, 99, 0.08));
}

.series-hero.unified-product-banner .series-hero-bg {
  inset: 0;
  background: transparent;
}

.series-hero.unified-product-banner .series-hero-bg img {
  position: absolute;
  top: 7%;
  left: auto;
  right: 2%;
  width: min(54vw, 960px);
  max-width: none;
  height: 82%;
  padding: 0;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0;
  opacity: 1;
  mix-blend-mode: normal;
  -webkit-mask-image: none;
  mask-image: none;
  filter: drop-shadow(0 26px 30px rgba(5, 71, 79, 0.24));
}

.series-hero.unified-product-banner .back-link {
  background: rgba(24, 174, 178, 0.92);
}

.series-hero.unified-product-banner .series-hero-copy h1,
.series-hero.unified-product-banner .series-hero-copy p {
  color: #072d38;
}

.series-hero.unified-product-banner .series-hero-copy p {
  color: rgba(7, 45, 56, 0.82);
}

.series-hero.unified-product-banner .series-hero-stat {
  justify-content: center;
  padding: 28px clamp(124px, 36%, 152px) 28px 28px;
  color: #072d38;
  border-color: rgba(8, 92, 99, 0.18);
  background: rgba(255, 255, 255, 0.52);
}

.series-hero.unified-product-banner .series-hero-stat::before {
  opacity: 0.18;
}

.series-hero.unified-product-banner .series-hero-stat span,
.series-hero.unified-product-banner .series-hero-stat strong {
  color: #072d38;
}

.series-hero.unified-product-banner .series-hero-breadcrumb {
  color: rgba(7, 45, 56, 0.62);
  font-size: 17px;
}

.series-hero.unified-product-banner .series-hero-stat strong {
  border-color: rgba(24, 174, 178, 0.78);
  border-left-color: rgba(53, 126, 181, 0.68);
}

.series-effi {
  position: relative;
  z-index: 2;
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 700px);
  gap: clamp(44px, 7vw, 120px);
  align-items: center;
  margin: 0;
  padding: 120px 8.35vw 110px;
  overflow: visible;
  border-radius: 0;
  color: var(--ink);
  background: #fff;
}

.series-effi-bg {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  aspect-ratio: 1.38 / 1;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 22px 70px rgba(15, 20, 40, 0.12);
}

.series-effi-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.series-effi.tervona-rack-effi .series-effi-bg {
  background:
    radial-gradient(circle at 62% 35%, rgba(24, 174, 178, 0.24), transparent 34%),
    linear-gradient(135deg, #f3fbfa, #d6eeee);
}

.series-effi.tervona-rack-effi .series-effi-bg img {
  padding: 6%;
  object-fit: contain;
  filter: drop-shadow(0 22px 28px rgba(5, 71, 79, 0.2));
}

.series-effi::after {
  content: none;
}

.series-effi-copy {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
  max-width: 620px;
  padding: 0;
}

.series-effi-copy h2 {
  margin: 16px 0 24px;
  font-family: var(--font-semibold);
  font-size: clamp(42px, 4vw, 58px);
  line-height: 1.1;
}

.series-effi-copy span {
  color: var(--purple);
  font-family: var(--font-semibold);
}

.series-effi-copy p {
  max-width: 520px;
  margin: 0;
  color: #666;
  font-size: 18px;
  line-height: 1.65;
}

.spec-panel,
.resource-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 96px 5vw;
}

.spec-panel article {
  padding: 30px;
  display: grid;
  grid-template-rows: 44px minmax(52px, auto) auto;
  align-content: start;
  gap: 20px;
}

.spec-panel b {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--purple);
  border-radius: 50%;
}

.spec-panel h3,
.spec-panel p {
  min-width: 0;
  margin: 0;
}

.spec-panel h3 {
  line-height: 1.3;
}

.resource-grid a {
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px;
  color: #fff;
  background: #160035;
  border-radius: 8px;
}

.product-models-section,
.product-technical-section,
.product-detail-contact {
  width: min(88vw, 1400px);
  margin: 0 auto;
}

.product-models-section,
.product-technical-section {
  padding: 102px 0;
}

.product-models-section > header,
.product-technical-section > header {
  max-width: 760px;
  margin-bottom: 44px;
}

.product-models-section > header span,
.product-technical-section > header span,
.product-detail-contact span {
  color: var(--purple);
  font-family: var(--font-semibold);
  font-size: 14px;
  letter-spacing: .08em;
}

.product-models-section > header h2,
.product-technical-section > header h2,
.product-detail-contact h2 {
  margin: 14px 0 0;
  font-family: var(--font-semibold);
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.1;
}

.product-models-table-wrap {
  overflow-x: auto;
  border: 1px solid #e9e3ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(27, 6, 72, .07);
}

.product-models-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  text-align: left;
}

.product-models-table th,
.product-models-table td {
  padding: 22px 24px;
  border-bottom: 1px solid #eee9f2;
  color: #615a67;
  font-size: 15px;
}

.product-models-table thead th {
  color: #fff;
  font-family: var(--font-semibold);
  background: #1d0738;
}

.product-models-table tbody th {
  color: #211b27;
  font-family: var(--font-semibold);
}

.product-models-table tbody tr:last-child th,
.product-models-table tbody tr:last-child td {
  border-bottom: 0;
}

.product-technical-section {
  width: 100%;
  max-width: none;
  padding: 110px max(6vw, calc((100vw - 1400px) / 2));
  background: #f7f6f9;
}

.product-technical-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.product-technical-grid article {
  overflow: hidden;
  border: 1px solid #e8e2ec;
  border-radius: 20px;
  background: #fff;
}

.product-technical-grid h3 {
  margin: 0;
  padding: 26px 30px;
  color: #fff;
  font-family: var(--font-semibold);
  font-size: 24px;
  background: linear-gradient(115deg, #26004f, #5d2b94);
}

.product-technical-grid dl {
  margin: 0;
  padding: 10px 30px 20px;
}

.product-technical-grid dl > div {
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(160px, 1.1fr);
  gap: 24px;
  padding: 17px 0;
  border-bottom: 1px solid #eee9f2;
}

.product-technical-grid dl > div:last-child {
  border-bottom: 0;
}

.product-technical-grid dt {
  color: #766e7c;
}

.product-technical-grid dd {
  margin: 0;
  color: #211b27;
  font-family: var(--font-semibold);
}

.product-detail-contact {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 60px;
  margin-top: 110px;
  margin-bottom: 110px;
  padding: 64px;
  border-radius: 24px;
  background: linear-gradient(135deg, #f1ecf8, #fff);
}

.product-detail-contact > div {
  max-width: 820px;
}

.product-detail-contact p {
  max-width: 680px;
  margin: 22px 0 0;
  color: #665f6d;
  font-size: 17px;
  line-height: 1.7;
}

.product-detail-contact .source-learn {
  flex: 0 0 auto;
}

.tervona-product-assist > img {
  object-fit: cover;
  background: #f4f1ef;
}

.download-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.download-filter button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  color: var(--purple);
  background: #fff;
  border: 1px solid #eee8ff;
  border-radius: 999px;
}

.download-filter h2 small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 500;
}

.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  color: var(--purple);
  background: #fff;
  border: 1px solid #eee8ff;
  border-radius: 999px;
}

.download-card-grid,
.news-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.44rem;
}

.source-news-list {
  max-width: 1600px;
  padding-top: 80px;
  border-top: 1px solid #efefef;
}

.download-card {
  min-height: 210px;
  padding: 28px;
  display: flex;
  flex-direction: column;
}

.download-card p {
  margin-bottom: 26px;
}

.download-card-actions {
  display: flex;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #eee8ff;
}

.download-card-actions a,
.download-card-actions span {
  flex: 1;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9d1e9;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.download-card-actions a:hover,
.download-card-actions a.primary {
  color: #fff;
  border-color: var(--purple);
  background: var(--purple);
}

.download-card-actions span {
  color: var(--muted);
  background: #f7f5fa;
}

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

.source-download-center {
  width: min(86vw, 1600px);
  margin: 0 auto;
  padding: 76px 0 110px;
}

.source-download-search {
  padding-bottom: 62px;
}

.source-download-search-row {
  max-width: 770px;
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(210px, 0.75fr);
  gap: 20px;
  margin-bottom: 26px;
}

.source-download-keyword,
.source-download-product {
  position: relative;
  display: block;
}

.source-download-keyword > span,
.source-download-product > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.source-download-keyword svg {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 18px;
  height: 18px;
  color: #8a8395;
  transform: translateY(-50%);
  pointer-events: none;
}

.source-download-keyword input,
.source-download-product select {
  width: 100%;
  height: 54px;
  padding: 0 48px 0 20px;
  color: #292531;
  border: 1px solid #e7e1ed;
  border-radius: 999px;
  background: #fff;
  outline: none;
}

.source-download-keyword input:focus,
.source-download-product select:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 3px rgba(137, 85, 255, 0.12);
}

.source-download-types {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px 30px;
  margin: 0;
  padding: 0;
  border: 0;
}

.source-download-types legend {
  float: left;
  color: #6f6977;
  line-height: 24px;
}

.source-download-types div {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 18px 28px;
}

.source-download-types label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #403a49;
  cursor: pointer;
}

.source-download-types input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--purple);
}

.source-download-submit {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  align-items: end;
  gap: 14px;
  margin-top: 30px;
}

.source-download-submit > span {
  grid-column: 1 / -1;
  color: #6f6977;
}

.source-download-submit button {
  min-width: 98px;
  min-height: 44px;
  padding: 0 24px;
  border: 1px solid #d9d1df;
  border-radius: 999px;
  background: #fff;
}

.source-download-submit button[type="submit"] {
  min-width: 150px;
  color: #fff;
  border-color: var(--purple);
  background: var(--purple);
}

.source-download-submit button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(137, 85, 255, 0.18);
}

.source-download-total {
  margin: 0 0 20px;
  color: #6f6977;
}

.source-download-total strong {
  color: var(--purple);
}

.source-download-table {
  display: grid;
  gap: 14px;
}

.source-download-row {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(260px, 1.8fr) minmax(160px, 1fr) minmax(150px, 0.9fr) 110px;
  align-items: center;
  gap: 24px;
  padding: 14px 30px;
  color: #625c6a;
  border-radius: 18px;
  background: #f7f7fb;
}

.source-download-row[hidden],
.source-download-empty[hidden] {
  display: none !important;
}

.source-download-row strong {
  color: #47414f;
  font-weight: 500;
}

.source-download-head {
  min-height: 62px;
  color: #fff;
  border-radius: 999px;
  background: linear-gradient(90deg, #6b35ee, #9355ff);
}

.source-download-head b {
  color: inherit;
  font-weight: 700;
}

.source-download-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.source-download-actions a {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--purple);
  border-radius: 50%;
}

.source-download-actions a:hover {
  color: #fff;
  background: var(--purple);
}

.source-download-actions svg {
  width: 19px;
  height: 19px;
}

.source-download-actions span {
  color: #948d9e;
  font-size: 13px;
}

.source-download-empty {
  padding: 48px 24px;
  color: #8b8493;
  text-align: center;
  border: 1px dashed #ded7e6;
  border-radius: 18px;
}

@media (max-width: 900px) {
  .source-download-types {
    grid-template-columns: 1fr;
  }

  .source-download-types div {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .source-download-row {
    grid-template-columns: 1.5fr 1fr 1fr 84px;
    gap: 12px;
    padding: 14px 18px;
  }
}

@media (max-width: 680px) {
  .source-download-center {
    width: min(92vw, 1600px);
    padding: 44px 0 72px;
  }

  .source-download-search-row {
    grid-template-columns: 1fr;
  }

  .source-download-types div {
    grid-template-columns: 1fr;
  }

  .source-download-head {
    display: none;
  }

  .source-download-row {
    grid-template-columns: 1fr auto;
    gap: 8px 16px;
    padding: 20px;
    border-radius: 14px;
  }

  .source-download-row strong {
    grid-column: 1 / -1;
    font-size: 16px;
  }

  .source-download-row > span {
    font-size: 13px;
  }

  .source-download-actions {
    grid-column: 2;
    grid-row: 2 / span 2;
  }
}

.reference-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.reference-card,
.news-page-card {
  overflow: hidden;
}

.reference-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.reference-card div {
  padding: 24px;
}

.news-page-card {
  position: relative;
  display: block;
  min-height: 438px;
  padding: 0 0 58px;
  border: 0;
  border-radius: 0;
  background: transparent;
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 0.75s ease var(--reveal-delay, 0s), transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0s);
}

.news-page-card.in-view {
  opacity: 1;
  transform: translateY(0);
}

.news-page-card:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: none;
}

.news-page-media {
  width: 100%;
  margin-bottom: 28px;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f7fa;
}

.news-page-media img {
  display: block;
  width: 100%;
  aspect-ratio: 1.52 / 1;
  height: auto;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.45s ease;
}

.news-page-card:hover .news-page-media img {
  transform: scale(1.045);
}

.news-page-card time {
  margin: 0 0 8px;
  color: #666;
  font-family: var(--font), Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.news-page-card h3 {
  max-height: 3em;
  margin: 0;
  overflow: hidden;
  color: #000;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-family: var(--heading-font-family);
  font-size: var(--card-title-size);
  line-height: 1.5;
  font-weight: var(--card-title-weight);
}

.news-page-arrow {
  position: absolute;
  right: 2px;
  bottom: 0;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 50%;
  color: #fff;
  background: var(--purple);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.news-page-arrow svg {
  width: 18px;
  height: 18px;
}

.news-page-card:hover .news-page-arrow {
  opacity: 1;
  transform: translateY(0);
}

.article-page {
  max-width: 960px;
  font-size: 18px;
}

/* Source-aligned shared news detail template. Every current and future article
   uses this structure; article records only provide content and media. */
.news-detail-template {
  width: min(1000px, calc(100% - 48px));
  margin: 0 auto;
  padding: 92px 0 98px;
}

.news-detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 48px;
  color: #aaa5ae;
  font-size: 15px;
}

.news-detail-breadcrumb a {
  color: inherit;
}

.news-detail-breadcrumb a:hover {
  color: var(--purple);
}

.news-detail-breadcrumb i {
  color: #d4d0d7;
  font-style: normal;
}

.news-detail-heading {
  padding-bottom: 24px;
  border-bottom: 1px solid #e7e3eb;
}

.news-detail-heading h1 {
  max-width: 970px;
  margin: 0 0 15px;
  color: #111;
  font-family: var(--heading-font-family);
  font-size: clamp(30px, 2.32vw, 44px);
  font-weight: var(--heading-font-weight);
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.news-detail-heading time,
.news-latest-card time {
  color: var(--purple);
  font-size: 15px;
  font-weight: 500;
}

.news-detail-body {
  padding-top: 28px;
  color: #68626d;
  font-size: 14.5px;
  line-height: 1.72;
}

.news-detail-body p {
  margin: 0 0 28px;
}

.news-detail-body h2,
.news-detail-body h3,
.news-detail-body h4,
.news-detail-body h5,
.news-detail-body h6 {
  margin: 46px 0 18px;
  color: #151217;
  font-family: var(--heading-font-family);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.4;
}

.news-detail-body img {
  display: block;
  width: 100%;
  height: auto;
  margin: 36px 0 42px;
}

.news-detail-body ul,
.news-detail-body ol {
  margin: 0 0 28px;
  padding-left: 24px;
}

.news-detail-body blockquote {
  margin: 34px 0;
  padding: 10px 0 10px 24px;
  border-left: 3px solid var(--purple);
  color: #454049;
}

.news-detail-body hr {
  height: 1px;
  margin: 46px 0 26px;
  border: 0;
  background: #e7e3eb;
}

.news-detail-toolbar {
  position: fixed;
  z-index: 42;
  left: 50%;
  bottom: 14px;
  width: min(1400px, calc(100% - 28px));
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 10px 20px;
  border: 1px solid rgba(34, 23, 48, 0.07);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 38px rgba(35, 22, 53, 0.13);
  transform: translateX(-50%);
  backdrop-filter: blur(14px);
}

.news-detail-nav,
.news-detail-share {
  display: flex;
  align-items: center;
}

.news-detail-nav a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  color: #68626d;
  border-left: 1px solid #e5e0e8;
  font-size: 14px;
}

.news-detail-nav a:first-child {
  padding-left: 0;
  border-left: 0;
}

.news-detail-nav a:hover {
  color: var(--purple);
}

.news-detail-nav svg {
  width: 18px;
  height: 18px;
}

.news-detail-share {
  gap: 9px;
}

.news-detail-share > span {
  margin-right: 14px;
  color: #68626d;
  font-size: 14px;
}

.news-detail-share a,
.news-detail-share button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #fff;
  border: 0;
  border-radius: 50%;
  background: var(--purple);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.news-detail-share a:nth-of-type(1) { background: #568cea; }
.news-detail-share a:nth-of-type(2) { background: #f04e4e; }
.news-detail-share a:nth-of-type(3) { background: #48a8cd; }
.news-detail-share a:nth-of-type(4) { background: #f1ae4b; }
.news-detail-share button { background: #8b63ef; }
.news-detail-share button.copied { background: #37a96b; }
.news-detail-share svg { width: 14px; height: 14px; }

.news-latest {
  max-width: 1400px;
  margin: 0 auto;
  padding: 82px 5vw 100px;
}

.news-latest > h2 {
  margin: 0 0 40px;
  color: #111;
  font-size: clamp(34px, 3.1vw, 48px);
  line-height: 1.12;
}

.news-latest-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.news-latest-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 13px;
  color: #151217;
}

.news-latest-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 6px;
}

.news-latest-card h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
}

.news-latest-card:hover h3 {
  color: var(--purple);
}

.page-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 46px 0 0;
}

.page-dots a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--purple);
  border: 1px solid #eee8ff;
  border-radius: 50%;
}

.page-dots a.active,
.page-dots a:hover {
  color: #fff;
  background: var(--purple);
  border-color: var(--purple);
}

.case-detail-page,
.sitemap-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 92px 5vw;
}

.case-detail-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 54px;
  align-items: center;
  margin-top: 34px;
}

.case-detail-grid img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.case-detail-grid span {
  color: var(--purple);
  font-weight: 700;
}

.case-detail-grid h2 {
  margin: 12px 0 20px;
  font-size: clamp(40px, 4vw, 70px);
  line-height: 1.04;
}

.sitemap-page {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.sitemap-page article {
  padding: 28px;
  border: 1px solid #eee8ff;
  border-radius: 8px;
}

.sitemap-page h2 {
  margin: 0 0 20px;
}

.sitemap-page a {
  display: grid;
  grid-template-columns: minmax(150px, 0.55fr) 1fr;
  gap: 18px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.sitemap-page span {
  color: var(--muted);
}

.company-story {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 6vw;
  align-items: start;
}

.company-numbers {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px 24px;
  padding: 32px;
  color: #fff;
  background: var(--purple);
  border-radius: 8px;
}

.company-numbers b {
  font-size: 64px;
  line-height: 1;
}

.company-numbers span {
  align-self: center;
  font-weight: 700;
}

.value-band {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.value-band article {
  padding: 30px;
}

.innovation-stage {
  min-height: 720px;
  display: grid;
  place-items: center;
  padding: 96px 5vw;
  text-align: center;
  background: linear-gradient(135deg, #faf6ff 0%, #f9f6ff 62%, #d3fbff 100%);
}

.innovation-stage img {
  width: min(360px, 48vw);
}

.innovation-stage h2 {
  max-width: 980px;
  margin: 34px auto 0;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.24;
}

.contact-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 5vw;
  align-items: start;
}

.contact-layout form {
  display: grid;
  gap: 16px;
}

.contact-layout input,
.contact-layout textarea,
.footer-subscribe input {
  width: 100%;
  border: 1px solid #eee8ff;
  border-radius: 999px;
  padding: 16px 18px;
  font: inherit;
}

.contact-layout textarea {
  min-height: 160px;
  border-radius: 16px;
  resize: vertical;
}

.cms-hero {
  padding: 150px 7vw 72px;
  color: #fff;
  background: linear-gradient(135deg, #17003e, #8753ff);
}

.cms-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(52px, 6vw, 96px);
}

.cms-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
}

.cms-layout aside {
  display: grid;
  align-content: start;
  gap: 10px;
}

.cms-layout aside button {
  padding: 14px 16px;
  border: 1px solid #eee8ff;
  border-radius: 999px;
  background: #fff;
}

.cms-layout aside button.active {
  color: #fff;
  background: var(--purple);
}

.cms-table {
  display: grid;
  gap: 12px;
}

.cms-table a {
  display: grid;
  grid-template-columns: 220px 260px 1fr;
  gap: 18px;
  padding: 18px;
}

.cms-table span,
.cms-table em {
  color: var(--muted);
  font-style: normal;
}

.cms-hero span,
.cms-section-head span,
.cms-manage-card > span,
.cms-schema-card span,
.cms-asset-grid span {
  display: block;
  margin-bottom: 10px;
  color: var(--purple);
  font-size: 14px;
  font-weight: 600;
}

.cms-hero p {
  max-width: 760px;
  margin: 0;
  font-size: 20px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82);
}

.cms-layout {
  align-items: start;
}

.cms-sidebar {
  position: sticky;
  top: 112px;
}

.cms-workspace {
  min-width: 0;
}

.cms-section {
  display: none;
}

.cms-section.active {
  display: block;
}

.cms-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.cms-section-head h2 {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 52px);
  line-height: 1.08;
}

.cms-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.cms-actions button,
.cms-actions a,
.cms-manage-card footer button,
.cms-editor-form button,
.cms-asset-grid button {
  min-height: 42px;
  border: 1px solid #e4d8ff;
  border-radius: 999px;
  padding: 0 18px;
  color: var(--purple);
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.cms-actions button,
.cms-editor-form button {
  color: #fff;
  border-color: var(--purple);
  background: var(--purple);
}

.cms-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.cms-kpis article,
.cms-schema-card,
.cms-manage-card,
.cms-editor-form,
.cms-record-list article,
.cms-asset-grid article,
.cms-note {
  border: 1px solid #eee8ff;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(47, 13, 102, 0.06);
}

.cms-kpis article {
  padding: 22px;
}

.cms-kpis span,
.cms-kpis em {
  display: block;
  color: var(--muted);
  font-style: normal;
}

.cms-kpis strong {
  display: block;
  margin: 8px 0 6px;
  font-size: 42px;
  line-height: 1;
}

.cms-schema-grid,
.cms-card-grid,
.cms-asset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cms-schema-card,
.cms-manage-card,
.cms-asset-grid article,
.cms-note {
  padding: 24px;
}

.cms-schema-card div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
}

.cms-schema-card b,
.cms-manage-card h3,
.cms-asset-grid b {
  color: #111;
}

.cms-schema-card p,
.cms-manage-card p,
.cms-note p {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.6;
}

.cms-schema-card dl {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 14px;
  margin: 0;
  font-size: 14px;
}

.cms-schema-card dt {
  color: var(--muted);
}

.cms-schema-card dd {
  margin: 0;
  color: #17121f;
}

.cms-manage-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
}

.cms-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-tags span {
  border: 1px solid #eee8ff;
  border-radius: 999px;
  padding: 7px 10px;
  color: #5b4d73;
  background: #fbf9ff;
  font-size: 13px;
}

.cms-manage-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
}

.cms-manage-card footer b {
  min-width: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.cms-editor-grid {
  display: grid;
  grid-template-columns: minmax(300px, 380px) 1fr;
  gap: 20px;
  align-items: start;
}

.cms-editor-form {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.cms-editor-form label {
  display: grid;
  gap: 8px;
  color: #17121f;
  font-size: 14px;
  font-weight: 600;
}

.cms-editor-form input,
.cms-editor-form select,
.cms-editor-form textarea {
  width: 100%;
  border: 1px solid #eee8ff;
  border-radius: 8px;
  padding: 12px 14px;
  color: #151119;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
}

.cms-editor-form textarea {
  min-height: 112px;
  resize: vertical;
}

.cms-record-list {
  display: grid;
  gap: 12px;
}

.cms-record-list.editable {
  max-height: 760px;
  overflow: auto;
  padding-right: 4px;
}

.cms-record-list article {
  padding: 18px;
}

.cms-record-list article > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cms-record-list img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.cms-record-main {
  min-width: 0;
}

.cms-record-main img {
  width: 54px;
  height: 54px;
  border: 1px solid #f0e8ff;
  border-radius: 8px;
  padding: 6px;
  background: #fbf9ff;
}

.cms-record-main > div {
  min-width: 0;
  flex: 1;
}

.cms-record-list span {
  flex: 1;
  font-weight: 700;
}

.cms-record-main p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.cms-record-list p {
  margin: 12px 0;
  color: var(--muted);
  line-height: 1.55;
}

.cms-record-list nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cms-record-list nav a,
.cms-record-list nav em {
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--purple);
  background: #f6f1ff;
  font-size: 13px;
  font-style: normal;
}

.cms-record-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.cms-record-summary span {
  border: 1px solid #eee8ff;
  border-radius: 999px;
  padding: 8px 11px;
  color: #5b4d73;
  background: #fff;
  font-size: 13px;
}

.cms-record-summary b {
  color: var(--purple);
}

.cms-record-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
}

.cms-record-actions em {
  color: var(--muted);
  font-style: normal;
  font-size: 13px;
}

.cms-record-actions span {
  display: flex;
  flex: initial;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.cms-record-actions a,
.cms-record-actions button {
  min-height: 34px;
  border: 1px solid #e4d8ff;
  border-radius: 999px;
  padding: 0 12px;
  color: var(--purple);
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.cms-record-actions button.danger {
  color: #c0262d;
  border-color: #ffd7dc;
  background: #fff8f8;
}

.cms-empty-state {
  border: 1px dashed #d7c7ff;
  border-radius: 8px;
  padding: 34px;
  color: var(--muted);
  background: #fbf9ff;
}

.cms-empty-state h3 {
  margin: 0 0 8px;
  color: #111;
}

.cms-table.compact a {
  grid-template-columns: 128px 1fr 120px;
  padding: 16px;
}

.cms-asset-grid article {
  display: grid;
  gap: 10px;
}

.cms-asset-grid em {
  color: var(--muted);
  font-style: normal;
}

.cms-roadmap {
  display: grid;
  gap: 12px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  counter-reset: cms-step;
}

.cms-roadmap li {
  position: relative;
  min-height: 58px;
  padding: 18px 18px 18px 76px;
  border: 1px solid #eee8ff;
  border-radius: 8px;
  background: #fff;
  color: #17121f;
  line-height: 1.5;
  counter-increment: cms-step;
}

.cms-roadmap li::before {
  content: counter(cms-step);
  position: absolute;
  left: 18px;
  top: 16px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--purple);
  font-weight: 700;
}

.cms-admin-shell {
  min-height: 100vh;
  background: #f0f0f1;
  color: #1d2327;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cms-wp-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 32px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 14px;
  color: #f0f0f1;
  background: #1d2327;
  font-size: 13px;
}

.cms-wp-bar b {
  font-size: 13px;
}

.cms-wp-bar a,
.cms-wp-bar span {
  color: #c3c4c7;
}

.cms-wp-bar .cms-connection {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
}

.cms-wp-bar .cms-connection::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dcdcde;
}

.cms-wp-bar .cms-connection.connected::before {
  background: #46b450;
}

.cms-wp-bar .cms-connection.syncing::before {
  background: #dba617;
}

.cms-wp-bar .cms-connection.fallback::before {
  background: #d63638;
}

.cms-admin-shell .cms-hero {
  margin-left: 220px;
  padding: 28px 32px 18px;
  color: #1d2327;
  background: #f0f0f1;
}

.cms-admin-shell .cms-hero span {
  margin-bottom: 6px;
  color: #646970;
  font-size: 13px;
}

.cms-admin-shell .cms-hero h1 {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.cms-admin-shell .cms-hero p {
  max-width: 820px;
  color: #50575e;
  font-size: 15px;
  line-height: 1.55;
}

.cms-admin-shell .cms-layout {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
  min-height: calc(100vh - 32px);
}

.cms-admin-shell .cms-sidebar {
  position: fixed;
  left: 0;
  top: 32px;
  z-index: 30;
  width: 220px;
  height: calc(100vh - 32px);
  padding: 10px 0;
  overflow-y: auto;
  background: #1d2327;
}

.cms-admin-shell .cms-layout aside {
  gap: 0;
}

.cms-admin-shell .cms-layout aside button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 0;
  padding: 0 18px;
  color: #c3c4c7;
  background: transparent;
  text-align: left;
  font-size: 14px;
  font-weight: 400;
}

.cms-admin-shell .cms-layout aside button:hover,
.cms-admin-shell .cms-layout aside button.active {
  color: #fff;
  background: #2271b1;
}

.cms-admin-shell .cms-workspace {
  margin-left: 220px;
  padding: 24px 32px 56px;
}

.cms-admin-shell .cms-page-title {
  margin: 0 0 18px;
}

.cms-admin-shell .cms-page-title span {
  display: block;
  margin-bottom: 6px;
  color: #646970;
  font-size: 13px;
}

.cms-admin-shell .cms-page-title h1 {
  margin: 0 0 8px;
  color: #1d2327;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
}

.cms-admin-shell .cms-page-title p {
  margin: 0;
  color: #50575e;
  font-size: 15px;
}

.cms-admin-shell .cms-section-head {
  align-items: center;
  margin: 0 0 16px;
  padding: 0;
}

.cms-admin-shell .cms-section-head span {
  color: #646970;
  font-size: 13px;
}

.cms-admin-shell .cms-section-head h2 {
  font-size: 23px;
  font-weight: 400;
  line-height: 1.3;
}

.cms-admin-shell .cms-actions button,
.cms-admin-shell .cms-actions a,
.cms-admin-shell .cms-editor-form button,
.cms-admin-shell .cms-upload-panel button,
.cms-admin-shell .cms-media-grid button,
.cms-admin-shell .cms-asset-grid button,
.cms-admin-shell .cms-manage-card footer button {
  min-height: 32px;
  border-radius: 3px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
}

.cms-admin-shell .cms-actions button,
.cms-admin-shell .cms-editor-form button,
.cms-admin-shell .cms-upload-panel button {
  border-color: #2271b1;
  background: #2271b1;
}

.cms-admin-shell .cms-actions a,
.cms-admin-shell .cms-media-grid button,
.cms-admin-shell .cms-asset-grid button,
.cms-admin-shell .cms-manage-card footer button {
  color: #2271b1;
  border-color: #2271b1;
}

.cms-admin-shell .cms-kpis,
.cms-admin-shell .cms-schema-grid,
.cms-admin-shell .cms-card-grid,
.cms-admin-shell .cms-asset-grid {
  gap: 12px;
}

.cms-admin-shell .cms-kpis article,
.cms-admin-shell .cms-schema-card,
.cms-admin-shell .cms-manage-card,
.cms-admin-shell .cms-editor-form,
.cms-admin-shell .cms-record-list article,
.cms-admin-shell .cms-asset-grid article,
.cms-admin-shell .cms-note {
  border: 1px solid #c3c4c7;
  border-radius: 0;
  box-shadow: none;
}

.cms-admin-shell .cms-kpis article {
  padding: 14px 16px;
}

.cms-admin-shell .cms-kpis strong {
  color: #1d2327;
  font-size: 30px;
  font-weight: 400;
}

.cms-admin-shell .cms-editor-grid {
  grid-template-columns: minmax(280px, 360px) 1fr;
  gap: 16px;
}

.cms-admin-shell .cms-edit-panel {
  margin: 0 0 16px;
  border: 1px solid #c3c4c7;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
  scroll-margin-top: 48px;
}

.cms-admin-shell .cms-media-placement {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #dcdcde;
}

.cms-admin-shell .cms-media-placement img {
  width: 180px;
  height: 104px;
  object-fit: contain;
  border: 1px solid #dcdcde;
  background: #f6f7f7;
}

.cms-admin-shell .cms-media-placement b {
  display: block;
  margin-bottom: 6px;
}

.cms-admin-shell .cms-media-placement p {
  margin: 0;
  color: #50575e;
  font-size: 13px;
  line-height: 1.5;
}

.cms-admin-shell .cms-media-placement small {
  display: block;
  margin-top: 8px;
  color: #2271b1;
  font-size: 12px;
  line-height: 1.45;
}

.cms-admin-shell .cms-edit-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-bottom: 1px solid #dcdcde;
  background: #f6f7f7;
}

.cms-admin-shell .cms-edit-panel-head span {
  display: block;
  color: #646970;
  font-size: 12px;
}

.cms-admin-shell .cms-edit-panel-head h3 {
  margin: 2px 0 0;
  font-size: 18px;
  line-height: 1.3;
}

.cms-admin-shell .cms-edit-panel-head button {
  min-height: 30px;
  border: 1px solid #8c8f94;
  border-radius: 3px;
  padding: 0 10px;
  color: #2c3338;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
}

.cms-admin-shell .cms-editor-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  padding: 16px;
}

.cms-admin-shell .cms-edit-panel .cms-editor-form {
  border: 0;
  box-shadow: none;
}

.cms-admin-shell .cms-editor-form label {
  min-width: 0;
}

.cms-admin-shell .cms-editor-form label:nth-last-of-type(1) {
  grid-column: 1 / -1;
}

.cms-admin-shell .cms-editor-form input,
.cms-admin-shell .cms-editor-form select,
.cms-admin-shell .cms-editor-form textarea {
  border-color: #8c8f94;
  border-radius: 3px;
  padding: 8px 10px;
  font-size: 14px;
}

.cms-admin-shell .cms-record-list.editable {
  gap: 0;
  max-height: 740px;
  padding: 0;
  border: 1px solid #c3c4c7;
  background: #fff;
}

.cms-admin-shell .cms-record-list.editable article {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(120px, 170px) 96px 136px;
  align-items: center;
  gap: 16px;
  border: 0;
  border-bottom: 1px solid #c3c4c7;
  padding: 14px 16px;
}

.cms-admin-shell .cms-record-list.editable article:nth-child(even) {
  background: #f6f7f7;
}

.cms-admin-shell .cms-record-list.editable article.is-selected {
  background: #f0f6fc;
  box-shadow: inset 4px 0 0 #2271b1;
}

.cms-admin-shell .cms-record-list.editable article:last-child {
  border-bottom: 0;
}

.cms-admin-shell .cms-record-main {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.cms-admin-shell .cms-record-main img {
  flex: 0 0 auto;
  border-radius: 0;
  background: #fff;
}

.cms-admin-shell .cms-record-main span {
  display: block;
  color: #1d2327;
  font-weight: 600;
}

.cms-admin-shell .cms-record-main p,
.cms-admin-shell .cms-record-main small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #50575e;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-admin-shell .cms-record-main small {
  margin-top: 4px;
}

.cms-admin-shell .cms-record-meta {
  color: #50575e;
  font-size: 13px;
  font-style: normal;
}

.cms-admin-shell .cms-record-status {
  justify-self: start;
  border-radius: 999px;
  padding: 3px 8px;
  color: #1d2327;
  background: #f0f0f1;
  font-size: 12px;
  font-weight: 600;
}

.cms-admin-shell .cms-media-layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) 1fr;
  gap: 16px;
}

.cms-admin-shell .cms-upload-panel {
  display: grid;
  gap: 12px;
  align-self: start;
  border: 1px solid #c3c4c7;
  background: #fff;
  padding: 16px;
}

.cms-admin-shell .cms-upload-panel h3 {
  margin: 0;
  font-size: 18px;
}

.cms-admin-shell .cms-upload-panel label {
  display: grid;
  gap: 6px;
  color: #1d2327;
  font-size: 13px;
  font-weight: 600;
}

.cms-admin-shell .cms-upload-panel input,
.cms-admin-shell .cms-upload-panel select {
  min-width: 0;
  border: 1px solid #8c8f94;
  border-radius: 3px;
  padding: 8px 10px;
  font-size: 14px;
}

.cms-admin-shell .cms-upload-panel p {
  margin: 0;
  color: #646970;
  font-size: 12px;
  line-height: 1.5;
}

.cms-admin-shell .cms-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.cms-admin-shell .cms-media-grid article {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 10px;
  min-width: 0;
  border: 1px solid #c3c4c7;
  background: #fff;
  padding: 12px;
}

.cms-admin-shell .cms-media-grid article[data-cms-edit-media] { cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.cms-admin-shell .cms-media-grid article[data-cms-edit-media]:hover,
.cms-admin-shell .cms-media-grid article[data-cms-edit-media]:focus-visible { border-color:#9a79f5;box-shadow:0 10px 30px rgba(54,27,99,.12);transform:translateY(-2px);outline:0; }
.cms-media-editor-backdrop { position:fixed;inset:0;z-index:1200;padding:22px;background:rgba(16,24,40,.62);display:grid;place-items:center;backdrop-filter:blur(3px); }
.cms-admin-shell .cms-section.active:has(.cms-media-editor-backdrop) { animation:none;transform:none; }
.cms-media-editor-dialog { width:min(1480px,96vw);height:min(860px,94vh);background:#fff;border-radius:14px;box-shadow:0 30px 90px rgba(16,24,40,.35);overflow:hidden;display:grid;grid-template-rows:auto 1fr; }
.cms-media-editor-dialog>header { min-height:58px;padding:0 20px;border-bottom:1px solid #e4e7ec;display:flex;align-items:center;justify-content:space-between; }
.cms-media-editor-dialog>header h2 { margin:0;font-size:20px; }
.cms-media-editor-dialog>header nav { display:flex;height:58px; }
.cms-media-editor-dialog>header nav button { width:52px;border:0;border-left:1px solid #e4e7ec;background:#fff;font-size:28px;color:#475467; }
.cms-media-editor-dialog>header nav button:hover:not(:disabled) { background:#f7f3ff;color:#6d35f2; }
.cms-media-editor-dialog>header nav button:disabled { opacity:.3; }
.cms-media-editor-body { min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(390px,.95fr); }
.cms-media-editor-preview { min-width:0;padding:28px;background:#f5f6f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:auto; }
.cms-media-editor-preview>img,.cms-media-editor-preview>video { display:block;max-width:100%;max-height:650px;object-fit:contain;background:#fff;box-shadow:0 1px 4px rgba(16,24,40,.1); }
.cms-media-file-preview { min-height:320px;width:min(520px,100%);display:grid;place-items:center;align-content:center;gap:18px;background:#fff;border:1px solid #e4e7ec; }
.cms-media-file-preview span { font-size:56px;font-weight:800;color:#6d35f2; }
.cms-media-preview-actions { display:flex;gap:10px; }
.cms-media-preview-actions a,.cms-media-preview-actions button { padding:9px 14px;border:1px solid #cfd4dc;border-radius:7px;background:#fff;color:#344054;font:inherit;text-decoration:none; }
.cms-media-detail-form { padding:26px 20px 32px;overflow:auto;display:grid;align-content:start;gap:17px;border-left:1px solid #e4e7ec; }
.cms-media-file-meta { padding-bottom:16px;border-bottom:1px solid #e4e7ec;display:grid;gap:5px; }
.cms-media-file-meta p { margin:0;display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:12px; }
.cms-media-file-meta span { color:#667085; }.cms-media-file-meta b { font-weight:500;overflow-wrap:anywhere; }
.cms-media-detail-form>label { display:grid;grid-template-columns:105px 1fr;gap:9px 12px;align-items:start;font-size:12px;color:#344054; }
.cms-media-detail-form>label>small { grid-column:2;color:#667085;line-height:1.45; }
.cms-media-detail-form input,.cms-media-detail-form textarea,.cms-media-detail-form select { width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #cfd4dc;border-radius:6px;background:#fff;font:inherit;resize:vertical; }
.cms-media-detail-form input:focus,.cms-media-detail-form textarea:focus,.cms-media-detail-form select:focus { outline:0;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(109,53,242,.1); }
.cms-media-url-field { display:grid;grid-template-columns:1fr auto;gap:8px; }.cms-media-url-field input { min-width:0;background:#f9fafb; }
.cms-media-url-field button { padding:0 12px;border:1px solid #cfd4dc;border-radius:6px;background:#fff;color:#475467; }
.cms-media-detail-form>footer { padding-top:16px;border-top:1px solid #e4e7ec;display:flex;align-items:center;justify-content:flex-end;gap:14px; }
.cms-media-detail-form>footer span { color:#16803c;font-size:12px; }.cms-media-detail-form>footer button { padding:10px 18px;border:0;border-radius:8px;background:#6d35f2;color:#fff;font-weight:700; }
@media(max-width:900px){.cms-media-editor-backdrop{padding:0}.cms-media-editor-dialog{width:100vw;height:100vh;border-radius:0}.cms-media-editor-body{grid-template-columns:1fr}.cms-media-editor-preview{min-height:300px;padding:18px}.cms-media-detail-form{border-left:0;border-top:1px solid #e4e7ec}.cms-media-editor-dialog{overflow:auto}.cms-media-editor-body{overflow:visible}.cms-media-detail-form{overflow:visible}}
.cms-menu-manager-toolbar { grid-column:1/-1;padding:16px 18px;border:1px solid #e4e7ec;border-radius:10px;background:#fbfafc;display:flex;align-items:center;justify-content:space-between;gap:18px; }
.cms-menu-manager-toolbar>div { display:grid;gap:4px; }.cms-menu-manager-toolbar span { color:#667085;font-size:12px; }
.cms-menu-manager-toolbar>button,.cms-submenu-head>button { padding:9px 13px;border:1px solid #6d35f2!important;border-radius:8px;background:#fff!important;color:#6d35f2!important;font-weight:700; }
.cms-menu-box-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.cms-menu-box-head h2 { margin:0; }.cms-menu-box-head .danger,.cms-submenu-row .danger { border-color:#f1b8b8!important;background:#fff!important;color:#b42318!important; }
.cms-submenu-editor { display:grid;gap:10px; }.cms-submenu-head { display:flex;align-items:center;justify-content:space-between; }
.cms-submenu-row { display:grid;grid-template-columns:1fr 1.15fr 1.15fr auto;gap:8px;align-items:center; }
.cms-submenu-row input { min-width:0; }.cms-submenu-row button { min-height:40px;padding:0 11px;border-radius:8px; }
.cms-submenu-empty { margin:0;padding:14px;border:1px dashed #d0d5dd;border-radius:8px;color:#667085;font-size:12px;text-align:center; }
@media(max-width:760px){.cms-menu-manager-toolbar{align-items:flex-start;flex-direction:column}.cms-submenu-row{grid-template-columns:1fr}.cms-submenu-row button{justify-self:start}}
.cms-download-category-manager { margin-top:20px;border:1px solid #e4e1e8;border-radius:12px;background:#fff;overflow:hidden; }
.cms-download-category-manager>header { min-height:66px;padding:0 18px;border-bottom:1px solid #ece9ef;display:flex;align-items:center;justify-content:space-between; }
.cms-download-category-manager>header div { display:grid;gap:3px; }.cms-download-category-manager>header span { color:#6d35f2;font-size:9px;letter-spacing:.1em;text-transform:uppercase; }
.cms-download-category-manager>header h3 { margin:0;font-size:16px; }.cms-download-category-manager>header button { border:0;background:transparent;color:#6d35f2;font-weight:700; }
.cms-download-category-manager>form { padding:16px 18px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;border-bottom:1px solid #ece9ef;background:#fbfafc; }
.cms-download-category-manager>form label { display:grid;gap:6px;font-size:11px;font-weight:600; }.cms-download-category-manager>form input { min-height:40px;padding:0 10px;border:1px solid #ddd9e2;border-radius:8px; }
.cms-download-category-manager>form button { min-height:40px;padding:0 16px;border:0;border-radius:8px;background:#6d35f2;color:#fff;font-weight:700; }
.cms-download-category-list article { min-height:58px;padding:9px 18px;border-bottom:1px solid #f0eef2;display:grid;grid-template-columns:1fr 90px auto;align-items:center;gap:14px; }
.cms-download-category-list article>div { display:grid;gap:3px; }.cms-download-category-list b { font-size:12px; }.cms-download-category-list code { color:#85808c;font-size:10px; }
.cms-download-category-list span { color:#77717e;font-size:10px; }.cms-download-category-list button { padding:7px 11px;border:1px solid #f1d9de;border-radius:7px;background:#fff;color:#bb4358; }
.cms-download-category-list button:disabled { opacity:.38;cursor:not-allowed; }.cms-download-category-manager>p { margin:0;padding:12px 18px;color:#77717e;background:#fbfafc;font-size:10px; }
@media(max-width:760px){.cms-download-category-manager>form{grid-template-columns:1fr}.cms-download-category-list article{grid-template-columns:1fr auto}.cms-download-category-list span{display:none}}

/* Lightweight page builder */
.cms-page-builder{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:64px 1fr;background:#eceaf0;color:#17131f;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lpb-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #dedbe4;background:#fff;box-shadow:0 2px 12px rgba(26,20,38,.06)}
.lpb-toolbar>div{display:flex;align-items:center;gap:10px;padding:0 16px}.lpb-toolbar>div:last-child{justify-content:flex-end}.lpb-toolbar button,.lpb-toolbar a{min-height:36px;border:1px solid #dedbe4;border-radius:8px;padding:0 13px;background:#fff;color:#38323f;font:600 11px inherit;text-decoration:none}.lpb-toolbar>div:first-child button{min-width:36px;padding:0;font-size:24px}.lpb-toolbar span{color:#8a8490;font-size:10px}.lpb-toolbar nav{display:flex;padding:3px;border-radius:9px;background:#f0eef2}.lpb-toolbar nav button{min-height:30px;border:0;background:transparent}.lpb-toolbar nav button.active{background:#fff;color:#6d35f2;box-shadow:0 2px 7px rgba(20,12,34,.1)}.lpb-toolbar .primary{border-color:#6d35f2;background:#6d35f2;color:#fff}
.lpb-body{min-height:0;display:grid;grid-template-columns:190px minmax(480px,1fr) 286px}.lpb-widgets,.lpb-inspector{min-height:0;overflow-y:auto;background:#fff}.lpb-widgets{padding:18px 12px;border-right:1px solid #dedbe4;display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px}.lpb-widgets h3,.lpb-widgets p{grid-column:1/-1;margin:0}.lpb-widgets h3{font-size:15px}.lpb-widgets p{margin-bottom:8px;color:#8a8490;font-size:10px}.lpb-widgets button{min-height:72px;border:1px solid #e3e0e7;border-radius:9px;background:#fff;display:grid;place-items:center;align-content:center;gap:6px;color:#5d5764;font:600 10px inherit}.lpb-widgets button:hover{border-color:#9674ef;color:#6d35f2;background:#faf8ff}.lpb-widgets i{font-size:20px;font-style:normal}
.lpb-stage{min-width:0;overflow:auto;padding:28px;display:flex;justify-content:center}.lpb-canvas{width:min(1120px,100%);min-height:calc(100vh - 120px);background:#fff;box-shadow:0 12px 45px rgba(27,17,44,.13);transition:width .2s ease}.lpb-canvas.tablet{width:760px}.lpb-canvas.mobile{width:390px}.lpb-page-header{min-height:56px;padding:0 24px;border-bottom:1px solid #ece9ef;display:flex;align-items:center;justify-content:space-between;font-size:10px}.lpb-page-header span{font-weight:800}.lpb-page-header nav{color:#756f7d}
.lpb-block{position:relative;padding:var(--block-padding) clamp(24px,7vw,84px);background:var(--block-bg);color:var(--block-color);outline:2px solid transparent;outline-offset:-2px;cursor:pointer}.lpb-block:hover{outline-color:#bfaaff}.lpb-block.selected{outline-color:#6d35f2}.lpb-block.dragging{opacity:.45}.lpb-block.drag-over{box-shadow:inset 0 4px 0 #6d35f2}.lpb-block h2{margin:0;font-size:clamp(30px,4vw,58px);line-height:1.08}.lpb-block h3{font-size:24px}.lpb-block p{max-width:800px;margin:12px 0 0;font-size:16px;line-height:1.7}.lpb-block-tools{position:absolute;z-index:5;left:12px;top:10px;display:none;align-items:center;border-radius:7px;background:#6d35f2;overflow:hidden;color:#fff}.lpb-block.selected .lpb-block-tools,.lpb-block:hover .lpb-block-tools{display:flex}.lpb-block-tools button{width:30px;height:30px;border:0;border-right:1px solid rgba(255,255,255,.2);background:transparent;color:#fff}.lpb-block-tools span{padding:0 9px;font-size:9px}
.lpb-image figure{margin:0}.lpb-image img{display:block;width:100%;max-height:560px;object-fit:cover}.lpb-image figcaption{margin-top:8px;color:#77717e;font-size:11px}.lpb-button{display:inline-flex;min-height:46px;align-items:center;border-radius:999px;padding:0 22px;background:#6d35f2;color:#fff;text-decoration:none;font-weight:700}.lpb-spacer{height:var(--block-padding);display:grid;place-items:center;border:1px dashed #c9c4d0;color:#9a95a0;font-size:10px}.lpb-columns{display:grid;grid-template-columns:1fr 1fr;gap:52px}.lpb-dynamic>div{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lpb-dynamic article{border:1px solid #ece9ef;border-radius:10px;overflow:hidden;background:#fff;color:#17131f}.lpb-dynamic article img{width:100%;aspect-ratio:16/9;object-fit:cover}.lpb-dynamic article b{display:block;padding:12px;font-size:12px}.lpb-cta{text-align:center}.lpb-cta p{margin-inline:auto}.lpb-cta a{display:inline-flex;margin-top:20px;min-height:44px;align-items:center;border-radius:999px;padding:0 20px;background:#6d35f2;color:#fff;text-decoration:none}.lpb-add-empty{display:block;margin:18px auto 40px;border:1px dashed #a99cb8;border-radius:8px;padding:12px 20px;background:#faf9fc;color:#6d35f2}
.lpb-inspector{border-left:1px solid #dedbe4}.lpb-inspector-form{padding:18px;display:grid;gap:13px}.lpb-inspector-title{padding-bottom:12px;border-bottom:1px solid #ece9ef;display:grid;gap:3px}.lpb-inspector-title span{color:#8a8490;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.lpb-inspector-form label{display:grid;gap:6px;font-size:10px;font-weight:700}.lpb-inspector-form input,.lpb-inspector-form textarea{width:100%;box-sizing:border-box;border:1px solid #dcd8e1;border-radius:8px;padding:9px;font:11px inherit;resize:vertical}.lpb-inspector-form button{min-height:38px;border:0;border-radius:8px;background:#6d35f2;color:#fff;font-weight:700}.lpb-layers{padding:16px 12px;border-top:1px solid #dedbe4}.lpb-layers h3{margin:0 6px 8px;font-size:12px}.lpb-layers button{width:100%;min-height:34px;border:0;border-radius:6px;padding:0 9px;background:transparent;display:flex;align-items:center;justify-content:space-between;color:#68616f;font-size:10px}.lpb-layers button.active{background:#f1ecff;color:#6d35f2}.lpb-layers em{font-style:normal}.lpb-empty{padding:24px;color:#8a8490;font-size:11px}
.lpb-public-page{padding-top:112px}.lpb-public-page .lpb-block{cursor:default}.lpb-public-page .lpb-block:hover{outline-color:transparent}
@media(max-width:900px){.lpb-body{grid-template-columns:74px minmax(320px,1fr) 240px}.lpb-widgets{grid-template-columns:1fr;padding-inline:8px}.lpb-widgets h3,.lpb-widgets p,.lpb-widgets button span{display:none}.lpb-widgets button{min-height:52px}.lpb-toolbar{grid-template-columns:1fr auto}.lpb-toolbar nav{display:none}.lpb-toolbar>div:first-child span{display:none}.lpb-columns{grid-template-columns:1fr}.lpb-dynamic>div{grid-template-columns:1fr}}

.cms-admin-shell .cms-media-thumb {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  border: 1px solid #dcdcde;
  background: #f6f7f7;
}

.cms-admin-shell .cms-media-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cms-admin-shell .cms-media-thumb span {
  color: #646970;
  font-weight: 700;
}

.cms-file-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background: #17121f;
  border-radius: 4px;
  font-family: var(--font-semibold);
}

.cms-menu-editor,
.cms-style-editor,
.cms-download-manager {
  display: grid;
  gap: 18px;
}

.cms-admin-shell .cms-media-grid h3 {
  margin: 0 0 5px;
  font-size: 14px;
}

.cms-admin-shell .cms-media-grid p {
  margin: 0 0 6px;
  overflow: hidden;
  color: #50575e;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-admin-shell .cms-media-grid em {
  color: #646970;
  font-size: 12px;
  font-style: normal;
}

.cms-admin-shell .cms-record-actions {
  justify-content: flex-end;
  margin: 0;
}

.cms-admin-shell .cms-record-actions span {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
}

.cms-admin-shell .cms-record-actions a,
.cms-admin-shell .cms-record-actions button {
  min-height: 28px;
  border: 0;
  border-radius: 0;
  padding: 0;
  color: #2271b1;
  background: transparent;
  font-size: 13px;
}

.cms-admin-shell .cms-record-actions button.danger {
  color: #b32d2e;
  border: 0;
  background: transparent;
}

.cms-admin-shell .cms-record-actions span {
  gap: 6px;
}

.cms-admin-shell .cms-record-actions a,
.cms-admin-shell .cms-record-actions button,
.cms-admin-shell .cms-manage-card footer button,
.cms-admin-shell .cms-media-grid button,
.cms-admin-shell .cms-actions button,
.cms-admin-shell .cms-actions a {
  display: inline-grid;
  place-items: center;
  min-width: 48px;
  min-height: 30px;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  padding: 0 10px;
  background: #fff;
  line-height: 1;
  text-decoration: none;
}

.cms-admin-shell .cms-actions button,
.cms-admin-shell .cms-editor-form button,
.cms-admin-shell .cms-upload-panel > button {
  color: #fff;
  border-color: #2271b1;
  background: #2271b1;
}

.cms-admin-shell .cms-record-actions a:hover,
.cms-admin-shell .cms-record-actions button:hover,
.cms-admin-shell .cms-manage-card footer button:hover,
.cms-admin-shell .cms-media-grid button:hover,
.cms-admin-shell .cms-actions a:hover {
  border-color: #2271b1;
  color: #135e96;
  background: #f0f6fc;
}

.cms-admin-shell .cms-record-actions button.danger {
  border: 1px solid #d63638;
  color: #b32d2e;
  background: #fff;
}

.cms-admin-shell .cms-record-actions button.danger:hover {
  color: #fff;
  background: #d63638;
}

.cms-admin-shell .cms-media-picker-field {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  border: 1px solid #dcdcde;
  padding: 12px;
  background: #f6f7f7;
}

.cms-admin-shell .cms-media-picker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cms-admin-shell .cms-media-picker-head b,
.cms-admin-shell .cms-selected-media-details b {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}

.cms-admin-shell .cms-media-picker-head p {
  margin: 0;
  color: #646970;
  font-size: 12px;
}

.cms-admin-shell .cms-slot-spec,
.cms-size-note {
  display: grid;
  gap: 5px;
  border: 1px solid #72aee6;
  border-left: 4px solid #2271b1;
  background: #f0f6fc;
  padding: 10px 12px;
}

.cms-admin-shell .cms-slot-spec span,
.cms-size-note b {
  color: #1d2327;
  font-size: 13px;
  font-weight: 700;
}

.cms-admin-shell .cms-slot-spec b,
.cms-size-note span {
  color: #135e96;
  font-size: 13px;
}

.cms-admin-shell .cms-slot-spec p,
.cms-admin-shell .cms-slot-spec em,
.cms-size-note em {
  margin: 0;
  color: #50575e;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.cms-admin-shell .cms-media-picker-head button {
  min-height: 30px;
  border: 1px solid #2271b1;
  border-radius: 3px;
  padding: 0 10px;
  color: #2271b1;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
}

.cms-admin-shell .cms-media-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
  max-height: 520px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 2px;
}

.cms-admin-shell .cms-media-picker button {
  appearance: none;
  display: grid;
  gap: 7px;
  align-content: start;
  height: 188px;
  min-width: 0;
  min-height: 188px;
  border: 1px solid #dcdcde;
  border-radius: 2px;
  padding: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.cms-admin-shell .cms-media-picker button:hover,
.cms-admin-shell .cms-media-picker button.active {
  border-color: #2271b1;
  box-shadow: 0 0 0 2px #72aee6;
}

.cms-admin-shell .cms-media-picker button > span {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border: 1px solid #dcdcde;
  background: #fff;
  color: #646970;
  font-size: 12px;
  font-weight: 700;
}

.cms-admin-shell .cms-media-picker img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cms-admin-shell .cms-media-picker b,
.cms-admin-shell .cms-media-picker small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-admin-shell .cms-media-picker b {
  color: #1d2327;
  font-size: 12px;
}

.cms-admin-shell .cms-media-picker small {
  color: #646970;
  font-size: 11px;
}

.cms-admin-shell .cms-selected-media-details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  border-top: 1px solid #dcdcde;
  padding-top: 10px;
}

.cms-admin-shell .cms-selected-media-details p {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 3px;
  margin: 0;
  min-width: 0;
}

.cms-admin-shell .cms-selected-media-details span,
.cms-admin-shell .cms-selected-media-details em {
  color: #646970;
  font-size: 12px;
  font-style: normal;
}

.cms-admin-shell .cms-selected-media-details code {
  overflow: visible;
  color: #1d2327;
  font-family: Consolas, monospace;
  font-size: 12px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.cms-admin-shell .cms-template-editor label {
  grid-column: span 1;
}

.cms-admin-shell .cms-template-editor label:nth-last-of-type(-n + 2) {
  grid-column: 1 / -1;
}

.cms-admin-shell .cms-manage-card.is-selected {
  border-color: #2271b1;
  box-shadow: inset 4px 0 0 #2271b1;
}

.cms-admin-shell .cms-media-layout {
  grid-template-columns: 1fr;
}

.cms-admin-shell .cms-media-layout.with-upload {
  grid-template-columns: minmax(260px, 340px) 1fr;
}

.cms-admin-shell .cms-upload-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cms-admin-shell .cms-upload-head button {
  min-height: 28px;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  padding: 0 9px;
  color: #2271b1;
  background: #fff;
  font-size: 12px;
  cursor: pointer;
}

.cms-admin-shell .cms-media-grid dl {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 3px 8px;
  margin: 8px 0 0;
  color: #646970;
  font-size: 12px;
}

.cms-admin-shell .cms-media-grid dt,
.cms-admin-shell .cms-media-grid dd {
  min-width: 0;
  margin: 0;
}

.cms-admin-shell .cms-media-grid dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms-live-shell {
  background: #f0f0f1;
}

.cms-live-editor {
  display: grid;
  grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
  min-height: calc(100vh - 32px);
  margin: 0;
}

.cms-live-fields {
  display: grid;
  align-content: start;
  gap: 14px;
  height: calc(100vh - 32px);
  overflow: auto;
  padding: 24px;
  border-right: 1px solid #c3c4c7;
  background: #f6f7f7;
}

.cms-live-title {
  display: grid;
  gap: 6px;
}

.cms-editor-back {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 34px;
  margin-bottom: 6px;
  border: 1px solid #d8d2e4;
  border-radius: 999px;
  padding: 0 13px;
  color: #4b2a87;
  background: #fff;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.cms-editor-back:hover {
  border-color: #8a63e8;
  background: #f8f5ff;
  transform: translateX(-2px);
}

.cms-live-title span,
.cms-live-toolbar span,
.cms-seo-preview span {
  color: #646970;
  font-size: 12px;
}

.cms-live-title h1 {
  margin: 0;
  color: #1d2327;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
}

.cms-live-title p {
  margin: 0;
  color: #50575e;
  font-size: 13px;
  line-height: 1.5;
}

.cms-editor-box {
  display: grid;
  gap: 12px;
  border: 1px solid #c3c4c7;
  background: #fff;
  padding: 16px;
}

.cms-editor-box h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.cms-help-text {
  margin: 0;
  color: #646970;
  font-size: 13px;
  line-height: 1.55;
}

.cms-editor-box label {
  display: grid;
  gap: 6px;
  color: #1d2327;
  font-size: 13px;
  font-weight: 600;
}

.cms-editor-box input,
.cms-editor-box select,
.cms-editor-box textarea {
  width: 100%;
  border: 1px solid #8c8f94;
  border-radius: 3px;
  padding: 8px 10px;
  color: #1d2327;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 400;
}

.cms-editor-box textarea {
  min-height: 92px;
  resize: vertical;
}

.cms-inline-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.cms-highlight-editor {
  display: grid;
  gap: 10px;
  border-top: 1px solid #dcdcde;
  padding-top: 12px;
}

.cms-highlight-editor:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.cms-seo-box {
  border-left: 4px solid #2271b1;
}

.cms-seo-preview {
  display: grid;
  gap: 5px;
  border: 1px solid #dcdcde;
  background: #f6f7f7;
  padding: 12px;
}

.cms-seo-preview b {
  color: #1a0dab;
  font-size: 17px;
  font-weight: 400;
}

.cms-seo-preview p {
  margin: 0;
  color: #4d5156;
  font-size: 13px;
  line-height: 1.45;
}

.cms-seo-preview em {
  color: #188038;
  font-size: 12px;
  font-style: normal;
}

.cms-live-preview {
  min-width: 0;
  height: calc(100vh - 32px);
  overflow: auto;
  background: #dcdcde;
}

.cms-live-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #c3c4c7;
  background: #fff;
  padding: 12px 16px;
}

.cms-live-toolbar b {
  display: block;
  margin-top: 2px;
  font-size: 18px;
}

.cms-live-toolbar button {
  min-height: 34px;
  border: 1px solid #2271b1;
  border-radius: 3px;
  padding: 0 16px;
  color: #fff;
  background: #2271b1;
  font-weight: 600;
  cursor: pointer;
}

.cms-preview-stage {
  --cms-preview-scale: 1;
  position: relative;
  width: 100%;
  min-height: calc(2350px * var(--cms-preview-scale) + 32px);
  padding: 16px;
  overflow: hidden;
}

.cms-preview-frame {
  width: 1440px;
  margin: 0;
  background: #fff;
  box-shadow: 0 3px 18px rgba(0, 0, 0, 0.16);
  transform: scale(var(--cms-preview-scale));
  transform-origin: top left;
}

.cms-preview-frame .series-hero {
  min-height: 720px;
  padding: 300px 8.35vw 120px;
}

.cms-preview-frame .series-hero-stats {
  opacity: 1;
  transform: none;
}

.cms-section-head.compact {
  margin-top: 28px;
}

.cms-section-head.compact a {
  align-self: center;
  padding: 8px 14px;
  color: #1d2327;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  background: #fff;
}

.cms-home-guide {
  margin: 24px 0 26px;
}

.cms-home-guide-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.cms-home-guide-grid article {
  padding: 18px;
  border: 1px solid #c3c4c7;
  border-radius: 3px;
  background: #fff;
}

.cms-home-guide-grid h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

.cms-home-guide-grid b,
.cms-home-guide-grid p,
.cms-home-guide-grid em {
  display: block;
  margin: 0 0 8px;
  color: #50575e;
  font-size: 13px;
  line-height: 1.45;
}

.cms-home-guide-grid b {
  color: #1d2327;
}

.cms-home-guide-grid em {
  margin: 0;
  font-style: normal;
}

.cms-preview-frame .series-effi,
.cms-preview-frame .spec-panel {
  margin: 0;
}

.cms-preview-frame .series-effi {
  min-height: 620px;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 700px);
  padding: 90px 8.35vw 90px;
}

.cms-preview-specs {
  padding: 36px;
}

.cms-live-empty {
  padding: 48px;
}

.cms-admin-shell .cms-record-summary span,
.cms-admin-shell .cms-tags span {
  border-color: #c3c4c7;
  border-radius: 3px;
  background: #fff;
}

.footer-subscribe {
  align-self: start;
}

.footer-subscribe {
  display: flex;
  gap: 8px;
  padding-top: 86px;
}

.footer-subscribe button {
  border: 0;
  padding: 0 18px;
  color: #fff;
  background: var(--purple);
  border-radius: 999px;
}

.footer {
  grid-template-columns: 190px minmax(260px, 390px) 1fr;
}

.footer-cols {
  grid-template-columns: repeat(4, 1fr);
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 8px rgba(137, 85, 255, 0.08); }
  50% { box-shadow: 0 0 0 16px rgba(137, 85, 255, 0.02); }
}

@keyframes flowLine {
  0% { background-position: -240px 0; }
  100% { background-position: 240px 0; }
}

@keyframes mouseDot {
  0% { opacity: 0; transform: translateY(0); }
  40% { opacity: 1; }
  100% { opacity: 0; transform: translateY(12px); }
}

@media (max-width: 1020px) {
  .topbar {
    height: 82px;
  }

  .main-nav {
    height: 82px;
    padding: 0 32px;
    gap: 20px;
  }

  .fox-logo {
    width: 146px;
    height: 52px;
  }

  .top-small,
  .nav-links,
  .contact-pill {
    display: none;
  }

  .mobile-menu {
    display: grid;
    margin-left: auto;
    color: inherit;
    width: 44px;
    height: 44px;
    place-items: center;
  }

  .solutions-stage,
  .detail-hero,
  .detail-content,
  .product-system,
  .download-band,
  .source-hot-product,
  .source-resource-band,
  .series-hero,
  .contact-layout,
  .company-story,
  .case-detail-grid,
  .sitemap-page,
  .cms-layout,
  .footer {
    grid-template-columns: 1fr;
  }

  .product-category-grid,
  .series-grid,
  .download-card-grid,
  .news-page-grid,
  .reference-grid,
  .spec-panel,
  .resource-grid,
  .value-band,
  .cms-kpis,
  .cms-schema-grid,
  .cms-card-grid,
  .cms-asset-grid,
  .cms-editor-grid,
  .footer-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cms-sidebar {
    position: static;
    display: flex;
    overflow-x: auto;
  }

  .cms-section-head {
    align-items: start;
    flex-direction: column;
  }

  .cms-actions {
    justify-content: flex-start;
  }

  .products {
    padding: 78px 18px 96px;
  }

  .series-hero {
    min-height: 840px;
    padding: 320px 32px 140px;
  }

  .series-hero-copy {
    max-width: 620px;
  }

  .series-hero.unified-product-banner .series-hero-bg img {
    top: 70px;
    right: 3%;
    width: 52%;
    height: 250px;
    object-position: center bottom;
  }

  .series-hero-stats {
    left: 32px;
    bottom: 70px;
    grid-template-columns: repeat(2, minmax(250px, 1fr));
    max-width: calc(100vw - 64px);
  }

  .series-effi {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 90px 32px;
  }

  .source-category-hero {
    height: 180vh;
  }

  .source-category-copy {
    left: 32px;
    top: 18vh;
    width: calc(100vw - 64px);
  }

  .source-category-copy h1 {
    max-width: 600px;
  }

  .source-category-copy p {
    max-width: 570px;
  }

  .source-hot-product {
    left: 32px;
    top: 38vh;
    width: calc(100vw - 64px);
  }

  .tervona-category-banner .source-hot-product {
    top: 24vh;
    width: min(58vw, 590px);
  }

  .tervona-category-banner .source-category-product-art {
    right: 2%;
    bottom: 6%;
    width: 53%;
    height: 58%;
  }

  .source-product-list,
  .source-resource-band {
    width: calc(100vw - 64px);
  }

  .source-product-row {
    grid-template-columns: 36% 60%;
    gap: 4%;
    min-height: 390px;
    margin-bottom: 92px;
  }

  .source-product-top {
    padding: 30px;
    border-radius: 14px;
  }

  .source-product-bottom {
    grid-template-columns: 1fr;
  }

  .source-detail-link {
    min-height: 88px;
    grid-template-columns: 1fr auto;
  }

  .source-feature-slider {
    min-height: 154px;
  }

  .source-feature-slider section {
    min-height: 154px;
    border-radius: 14px;
    padding: 22px 22px 50px;
  }

  .source-resource-band > div {
    margin-left: 0;
    margin-top: -78px;
  }

  .news-featured-link {
    min-height: auto;
    display: grid;
  }

  .news-featured-media,
  .news-featured-copy {
    position: relative;
    width: 100%;
    margin-top: 0;
  }

  .news-featured-copy {
    margin-top: -68px;
    padding-right: 84px;
  }

  .source-resource-links {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .series-effi-bg {
    grid-column: 1;
    grid-row: 2;
    max-width: 720px;
  }

  .series-effi-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .download-filter {
    align-items: flex-start;
    gap: 18px;
    flex-direction: column;
  }

  .energy-copy {
    position: relative;
    width: 100%;
    height: auto;
    padding: 90px 0 30px;
  }

  .sequence {
    position: sticky;
    margin-left: 0;
  }

  .sequence img {
    width: 90vw;
  }
}

@media (min-width: 721px) and (max-width: 1199px) {
  .about-unbox {
    min-height: 100vh;
    padding: 0;
  }

  .about-inner {
    width: 85%;
    min-height: 100vh;
    padding: 70px 0 0;
  }

  .about-inner::after {
    top: 170px;
  }

  .about-kicker {
    margin-bottom: 14px;
    font-size: 16px;
  }

  .about-inner h2 {
    max-width: 460px;
    font-size: 38px;
    line-height: 1.08;
  }

  .about-more {
    top: 68px;
  }

  .about-inner p {
    width: 48%;
    margin: 70px 0 0;
    font-size: 15px;
    line-height: 1.58;
  }

  .mini-stats {
    top: 170px;
    width: 43%;
    max-width: 360px;
  }

  .mini-stat {
    min-height: 64px;
    padding: 8px 0 14px;
  }

  .mini-stats b {
    min-width: 44%;
    font-size: 38px;
    letter-spacing: 0.5px;
  }

  .mini-stats em {
    max-width: 52%;
    padding-top: 8px;
    font-size: 16px;
  }
}

@media (max-width: 720px) {
  .topbar {
    height: 78px;
  }

  .main-nav {
    height: 78px;
    padding: 0 28px;
  }

  .fox-logo {
    width: 132px;
    height: 48px;
  }

  .hero-text {
    left: 24px;
    right: 24px;
  }

  .hero-text h1 {
    font-size: 40px;
  }

  .solutions-stage {
    display: block;
    padding: 120px 24px 60px;
  }

  .solution-media {
    height: 320px;
    min-height: 320px;
    margin-bottom: 28px;
  }

  .solutions {
    min-height: 230vh;
    padding: 110px 12px 0;
  }

  .solutions-pin {
    top: 72px;
    height: calc(100vh - 72px);
  }

  .news-featured {
    padding: 70px 24px 46px;
  }

  .news-featured-media {
    height: auto;
    aspect-ratio: 1.48 / 1;
    border-radius: 14px;
  }

  .news-featured-copy {
    margin-top: -34px;
    min-height: auto;
    padding: 28px 24px 82px;
    border-radius: 14px;
  }

  .news-featured-copy h2 {
    font-size: 25px;
  }

  .source-news-list {
    padding: 36px 24px 64px;
    overflow: hidden;
  }

  .source-news-list .news-page-grid {
    width: 100%;
    gap: 28px;
  }

  .source-news-list .news-page-card {
    width: 100%;
    min-height: 0;
    padding: 0 0 76px;
    border: 1px solid #eee8ff;
    border-radius: 14px;
    overflow: hidden;
    background:
      linear-gradient(to top left, rgba(134, 85, 255, 0.14) 0%, rgba(245, 247, 250, 0.9) 34%),
      #fff;
    box-shadow: 0 18px 50px rgba(36, 35, 37, 0.06);
  }

  .source-news-list .news-page-media {
    margin: 0 0 22px;
    border-radius: 14px 14px 0 0;
  }

  .source-news-list .news-page-media img {
    aspect-ratio: 1.44 / 1;
  }

  .source-news-list .news-page-card time,
  .source-news-list .news-page-card h3 {
    margin-left: 24px;
    margin-right: 24px;
  }

  .source-news-list .news-page-card time {
    margin-bottom: 14px;
    color: #555;
    font-size: 15px;
  }

  .source-news-list .news-page-card h3 {
    max-height: none;
    font-size: clamp(22px, 6.7vw, 26px);
    line-height: 1.22;
    -webkit-line-clamp: 4;
  }

  .source-news-list .news-page-arrow {
    right: 24px;
    bottom: 24px;
    width: 48px;
    height: 48px;
    color: var(--purple);
    border-color: rgba(134, 85, 255, 0.18);
    background: #fff;
    opacity: 1;
    transform: none;
  }

  .solution-glass {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 14px;
    padding: 54px 22px 0;
  }

  .solution-head h2 {
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 1.12;
  }

  .solution-glass > p {
    max-width: none;
    margin: 0;
    font-size: 14px;
    line-height: 1.62;
  }

  .solution-line {
    display: none;
  }

  .solution-point,
  .solution-point.p0,
  .solution-point.p1,
  .solution-point.p2 {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: max-content;
    max-width: 100%;
    padding: 9px 14px;
    font-size: 13px;
  }

  .solution-point.p0 {
    align-self: flex-start;
    margin-top: 8px;
  }

  .solution-point.p1 {
    align-self: center;
  }

  .solution-point.p2 {
    align-self: flex-end;
  }

  .about-unbox {
    min-height: auto;
    padding: 0;
  }

  .about-inner {
    width: calc(100% - 40px);
    min-height: auto;
    padding: 46px 0 70px;
  }

  .about-inner::after {
    top: 129px;
  }

  .about-kicker {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.45;
  }

  .about-inner h2 {
    max-width: 100%;
    font-size: 30px;
    line-height: 1.12;
    letter-spacing: 0;
  }

  .about-more {
    display: none;
  }

  .about-inner p {
    width: 100%;
    max-width: none;
    margin: 75px 0 28px;
    font-size: 16px;
    line-height: 1.55;
  }

  .mini-stats {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    margin-top: 22px;
  }

  .mini-stats b {
    min-width: 42%;
    font-size: 34px;
    letter-spacing: 0.3px;
  }

  .mini-stats em {
    max-width: 52%;
    font-size: 15px;
    padding-top: 4px;
  }

  .mini-stat {
    min-height: 62px;
    padding: 8px 0 12px;
  }

  .product-cloud {
    height: 760px;
  }

  .main-product {
    width: 95vw;
  }

  .stat-card {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    margin: 12px 0;
  }

  .hotspot {
    display: none;
  }

  .footer-cols {
    grid-template-columns: 1fr;
  }

  .source-banner-hero {
    min-height: 490px;
    height: auto;
    padding: 176px 24px 52px;
  }

  .source-banner-copy h1,
  .source-banner-long .source-banner-copy h1 {
    max-width: 100%;
    font-size: clamp(36px, 11vw, 44px);
    line-height: 1.08;
  }

  .product-source-hero {
    min-height: 620px;
    height: 82vh;
  }

  .product-index,
  .series-list-section,
  .download-list,
  .news-list-page,
  .article-page,
  .contact-layout,
  .company-story,
  .case-detail-page,
  .sitemap-page,
  .value-band,
  .reference-grid,
  .cms-layout,
  .spec-panel,
  .resource-grid {
    padding: 68px 24px;
  }

  .news-detail-template {
    width: min(100% - 40px, 1000px);
    padding: 96px 0 72px;
  }

  .news-detail-breadcrumb {
    margin-bottom: 34px;
    font-size: 13px;
  }

  .news-detail-heading h1 {
    font-size: clamp(28px, 8.5vw, 38px);
    line-height: 1.15;
  }

  .news-detail-body {
    font-size: 15px;
    line-height: 1.68;
  }

  .news-detail-toolbar {
    bottom: 8px;
    width: calc(100% - 16px);
    min-height: 54px;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 24px;
  }

  .news-detail-nav a {
    min-height: 32px;
    padding: 0 10px;
    font-size: 12px;
  }

  .news-detail-nav a:first-child {
    padding-left: 2px;
  }

  .news-detail-nav a:not(:first-child) {
    font-size: 0;
  }

  .news-detail-nav a:not(:first-child) svg {
    width: 18px;
    height: 18px;
  }

  .news-detail-share > span {
    display: none;
  }

  .news-detail-share a,
  .news-detail-share button {
    width: 28px;
    height: 28px;
  }

  .news-latest {
    padding: 62px 20px 78px;
    overflow: hidden;
  }

  .news-latest-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .news-latest-card {
    flex: 0 0 82vw;
    scroll-snap-align: start;
  }

  .product-category-grid,
  .series-grid,
  .download-card-grid,
  .news-page-grid,
  .reference-grid,
  .spec-panel,
  .resource-grid,
  .value-band,
  .cms-kpis,
  .cms-schema-grid,
  .cms-card-grid,
  .cms-asset-grid,
  .cms-editor-grid,
  .footer-cols {
    grid-template-columns: 1fr;
  }

  .download-source-filters {
    width: auto;
    margin: 42px 24px 0;
    flex-direction: column;
  }

  .download-source-filters div {
    gap: 10px;
  }

  .cms-table.compact a,
  .cms-table a {
    grid-template-columns: 1fr;
  }

  .cms-schema-card dl {
    grid-template-columns: 1fr;
  }

  .cms-admin-shell .cms-hero {
    margin-left: 0;
    padding: 24px;
  }

  .cms-admin-shell .cms-layout {
    grid-template-columns: 1fr;
  }

  .cms-admin-shell .cms-sidebar {
    position: sticky;
    top: 32px;
    z-index: 35;
    width: 100%;
    height: auto;
    min-height: 0;
    display: flex;
    overflow-x: auto;
    padding: 0;
  }

  .cms-admin-shell .cms-layout aside button {
    width: auto;
    min-width: max-content;
    padding: 0 14px;
  }

  .cms-admin-shell .cms-workspace {
    margin-left: 0;
    padding: 24px;
  }

  .cms-live-editor {
    grid-template-columns: 1fr;
  }

  .cms-live-fields,
  .cms-live-preview {
    height: auto;
    min-height: 0;
  }

  .cms-inline-fields {
    grid-template-columns: 1fr;
  }

  .product-system,
  .download-band {
    display: block;
    margin: 0 24px 68px;
    padding: 38px 24px;
  }

  .category-tabs {
    padding: 0 24px;
  }

  .source-category-hero {
    height: 168vh;
  }

  .source-category-copy {
    left: 24px;
    top: 128px;
    width: calc(100vw - 48px);
    padding: 0;
  }

  .source-category-copy h1 {
    font-size: 42px;
  }

  .source-category-copy p {
    margin-bottom: 26px;
    font-size: 15px;
    line-height: 1.65;
  }

  .source-hot-product {
    left: 24px;
    top: 40vh;
    width: calc(100vw - 48px);
  }

  .tervona-category-banner .source-hot-product {
    top: 15vh;
    width: calc(100vw - 48px);
  }

  .tervona-category-banner .source-hot-product h1 {
    max-width: 92%;
    font-size: clamp(34px, 10vw, 44px);
  }

  .tervona-category-banner .source-category-product-art,
  .source-category-low-voltage-battery .source-category-product-art,
  .source-category-hybrid-inverter .source-category-product-art,
  .source-category-off-grid-inverter .source-category-product-art,
  .source-category-all-in-one-ess .source-category-product-art {
    right: -5%;
    bottom: 5%;
    width: 92%;
    height: 48%;
  }

  .source-category-low-voltage-battery .source-category-product-art {
    bottom: 12%;
    width: 105%;
    height: 37%;
  }

  .source-hot-product h2 {
    font-size: 42px;
  }

  .source-hot-product p {
    font-size: 18px;
  }

  .source-category-tabs {
    padding-top: 36px;
  }

  .source-product-list {
    width: auto;
    padding: 58px 24px 80px;
  }

  .source-product-row {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    margin-bottom: 70px;
  }

  .source-product-media {
    max-width: 430px;
    margin: 0 auto;
  }

  .source-product-top {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px;
    border-radius: 10px;
  }

  .source-product-top h2,
  .source-product-top h3 {
    font-size: 30px;
  }

  .source-feature-slider section,
  .source-detail-link {
    border-radius: 10px;
  }

  .source-product-marquee {
    top: 18%;
    width: 100%;
    font-size: 44px;
  }

  .source-resource-band {
    width: auto;
    margin: 0 24px 76px;
    display: flex;
    flex-direction: column-reverse;
  }

  .source-resource-band > img {
    min-height: 260px;
    border-radius: 14px;
  }

  .source-resource-band > div {
    width: 100%;
    margin: 0 0 16px;
    padding: 30px 24px;
    border-radius: 14px;
  }

  .source-resource-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 0;
    margin: 24px 0 30px;
  }

  .source-resource-links a + a::before {
    display: none;
  }

  .category-tabs a {
    min-height: 42px;
    padding: 0 16px;
    font-size: 14px;
  }

  .series-hero {
    min-height: 760px;
    display: flex;
    align-items: flex-start;
    padding: 220px 24px 150px;
  }

  .series-hero.unified-product-banner .series-hero-bg img {
    top: 72px;
    right: 0;
    width: 100%;
    height: 165px;
    object-position: center bottom;
  }

  .series-hero-copy h1 {
    font-size: 44px;
  }

  .series-hero-copy p {
    font-size: 18px;
  }

  .series-hero-copy .back-link {
    font-size: 16px;
  }

  .series-hero.unified-product-banner .series-hero-breadcrumb {
    font-size: 15px;
  }

  .series-hero-stats {
    left: 24px;
    right: 24px;
    bottom: 42px;
    grid-template-columns: 1fr;
    max-width: none;
  }

  .series-hero-stat {
    min-height: 126px;
    padding: 22px;
  }

  .series-hero.unified-product-banner .series-hero-stat {
    justify-content: center;
    padding: 22px 116px 22px 22px;
  }

  .series-hero-stat strong {
    top: 18px;
    right: 22px;
    width: 88px;
    height: 88px;
    font-size: 24px;
  }

  .series-effi {
    padding: 72px 24px;
  }

  .series-effi-copy h2 {
    font-size: 40px;
  }

  .download-filter {
    display: grid;
  }

  .footer {
    grid-template-columns: 1fr;
    padding: 46px 24px 56px;
  }

  .sitemap-page a {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* Full-page visual editor extensions */
.cms-visual-body{min-height:0;overflow:hidden}.cms-visual-canvas-wrap{min-height:0}.cms-visual-canvas{height:calc(100% - 56px);min-height:0;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable}.cms-visual-source-tip{padding:10px 12px;border-radius:8px;background:#f0fdf4;color:#027a48;font-size:11px;line-height:1.55}
.cms-visual-page-section{position:relative;min-height:380px;padding:54px;border:3px solid transparent;cursor:pointer;overflow:hidden}.cms-visual-page-section:hover{border-color:#c4b5fd}.cms-visual-page-section.selected{border-color:#7c3aed}.cms-visual-page-section span{color:#7c3aed;font-size:10px;letter-spacing:.12em}.cms-visual-page-section h2{margin:8px 0 14px;font-size:32px;line-height:1.13}.cms-visual-page-section p{font-size:14px;line-height:1.65;color:#475467}
.cms-visual-solutions{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center;background:#fff}.cms-visual-solutions img{width:100%;height:250px;object-fit:cover;border-radius:14px}.cms-visual-products{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;align-items:center;background:#f8fafc}.cms-visual-products img{width:100%;max-height:260px;object-fit:contain}.cms-visual-products em,.cms-visual-news header em{display:block;margin-top:12px;color:#027a48;font-size:11px;font-style:normal}
.cms-visual-about{min-height:480px;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff}.cms-visual-about::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}.cms-visual-about>div{position:relative;z-index:1;width:58%}.cms-visual-about p{color:#fff}.cms-visual-about button,.cms-visual-footer-preview button{border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:10px 16px;background:transparent;color:#fff}
.cms-visual-innovation{min-height:440px;padding:0;display:grid;place-items:center;color:#fff}.cms-visual-innovation img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cms-visual-innovation::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}.cms-visual-innovation>div{position:relative;z-index:1;width:72%;text-align:center}.cms-visual-news{background:#fff}.cms-visual-news header{margin-bottom:28px}.cms-visual-news>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cms-visual-news article{min-width:0;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden}.cms-visual-news article img{width:100%;aspect-ratio:16/9;object-fit:cover}.cms-visual-news article b{display:block;padding:10px;font-size:11px;line-height:1.4}
.cms-visual-footer-preview{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-size:cover;background-position:center;color:#fff;text-align:center}.cms-visual-footer-preview::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}.cms-visual-footer-preview>*{position:relative;z-index:1}.cms-visual-footer-preview h2{font-size:42px}
.cms-visual-canvas.mobile .cms-visual-page-section{min-height:360px;padding:28px 22px;grid-template-columns:1fr}.cms-visual-canvas.mobile .cms-visual-solutions img,.cms-visual-canvas.mobile .cms-visual-products img{height:170px}.cms-visual-canvas.mobile .cms-visual-about>div,.cms-visual-canvas.mobile .cms-visual-innovation>div{width:100%}.cms-visual-canvas.mobile .cms-visual-news>div{grid-template-columns:1fr}
.cms-visual-fields input:not([type]),.cms-visual-fields input[type="text"]{width:100%;border:1px solid #d0d5dd;border-radius:7px;background:#fff;padding:9px 10px;color:#101828;outline:none}.cms-visual-visibility{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;padding:11px;border:1px solid #d1fadf;border-radius:8px;background:#f6fef9;color:#027a48!important}.cms-visual-visibility input{accent-color:#12b76a}.cms-visual-page-section.is-hidden-section{opacity:.42}.cms-visual-page-section.is-hidden-section::after{content:"此板块已隐藏，发布后不会在前台显示";position:absolute;inset:auto 18px 18px;z-index:5;padding:9px 12px;border-radius:7px;background:#344054;color:#fff;font-size:11px;text-align:center}
.cms-visual-canvas.tablet{width:760px!important;min-width:0!important;max-width:calc(100% - 44px);align-self:center}.cms-visual-canvas.mobile{width:390px!important;min-width:0!important;max-width:calc(100% - 44px);align-self:center}
.cms-visual-media-field video{width:100%;aspect-ratio:16/8;object-fit:cover;border:1px solid #e4e7ec;border-radius:8px;background:#101828}.cms-visual-media-grid video{width:100%;aspect-ratio:4/2.6;object-fit:cover;display:block;background:#101828}.cms-visual-media-grid button i{position:absolute;right:5px;top:5px;padding:3px 5px;border-radius:4px;background:#7c3aed;color:#fff;font-size:8px;font-style:normal}
.cms-visual-solutions video{width:100%;height:250px;object-fit:cover;border-radius:14px}.cms-visual-innovation>video,.cms-visual-about>video,.cms-visual-footer-preview>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cms-visual-about::before,.cms-visual-innovation::after,.cms-visual-footer-preview::before{z-index:1}.cms-visual-about>div,.cms-visual-innovation>div,.cms-visual-footer-preview>h2,.cms-visual-footer-preview>button{z-index:2}.cms-visual-footer-preview>video{z-index:0}
.cms-asset-handoff{margin-top:4px;border:1px solid #d6bbfb;border-radius:10px;background:#fafaff;overflow:hidden}.cms-asset-handoff header{padding:12px;display:flex;align-items:center;justify-content:space-between;background:#f4f0ff;border-bottom:1px solid #e9d7fe}.cms-asset-handoff header div{display:grid;gap:2px}.cms-asset-handoff header span{color:#7f56d9;font-size:9px;letter-spacing:.12em}.cms-asset-handoff header b{font-size:13px}.cms-asset-handoff header em{max-width:120px;padding:4px 7px;border-radius:999px;background:#7f56d9;color:#fff;font-size:9px;font-style:normal;text-align:center}.cms-asset-handoff dl{margin:0;padding:12px;display:grid;grid-template-columns:68px 1fr;gap:9px 8px;font-size:10px;line-height:1.5}.cms-asset-handoff dt{color:#7f56d9;font-weight:700}.cms-asset-handoff dd{margin:0;color:#344054}.cms-asset-handoff>p{margin:0;padding:10px 12px;border-top:1px solid #e9d7fe;background:#fff7ed;color:#b54708;font-size:10px;line-height:1.5}
.cms-visual-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cms-visual-hero-shade{z-index:1}.cms-visual-hero-copy,.cms-visual-image-handle{z-index:2}

/* Content Studio */
.cms-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 15%,rgba(125,72,255,.22),transparent 34%),linear-gradient(145deg,#100c1c,#19112b 58%,#25144a);font-family:Inter,"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cms-login-card{width:min(440px,100%);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:30px;background:rgba(255,255,255,.97);box-shadow:0 28px 90px rgba(0,0,0,.38)}.cms-login-card>header{display:flex;align-items:center;gap:13px}.cms-login-card>header>span{display:grid;place-items:center;width:112px;height:48px;border:1px solid #ebe8ee;border-radius:10px;background:#fff}.cms-login-card>header img{display:block;width:100px;height:40px;object-fit:contain}.cms-login-card>header div{display:grid;gap:3px}.cms-login-card>header b{font-size:17px}.cms-login-card>header small{color:#7c7585;font-size:11px}.cms-login-copy{margin:34px 0 24px}.cms-login-copy>span{color:#6d35f2;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.cms-login-copy h1{margin:7px 0 8px;font-size:34px;letter-spacing:-.045em}.cms-login-copy p{margin:0;color:#746e7b;font-size:13px}.cms-login-card form{display:grid;gap:15px}.cms-login-card form label{display:grid;gap:7px;color:#3a3440;font-size:11px;font-weight:700}.cms-login-card form input{min-height:46px;border:1px solid #ddd9e2;border-radius:10px;padding:0 13px;background:#fff;font:13px inherit;outline:0}.cms-login-card form input:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(109,53,242,.1)}.cms-login-card form button{min-height:48px;border:0;border-radius:10px;background:#6d35f2;color:#fff;font:700 13px inherit;box-shadow:0 12px 28px rgba(109,53,242,.24)}.cms-login-card form button:disabled{opacity:.65}.cms-login-error{margin:0;border-radius:8px;padding:10px 12px;background:#fff1f3;color:#b42318;font-size:11px;line-height:1.45}.cms-login-card>footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid #ece9ef;color:#8a8490;font-size:10px}.cms-login-card>footer a{color:#6d35f2;text-decoration:none}.cms-login-card.is-loading{text-align:center}.cms-login-card.is-loading>img{display:block;width:180px;height:72px;margin:0 auto 24px;object-fit:contain}.cms-login-card.is-loading h1{font-size:22px}.cms-login-card.is-loading p{color:#7c7585;font-size:12px}.cms-login-spinner{width:34px;height:34px;margin:0 auto 18px;border:3px solid #e8e1f8;border-top-color:#6d35f2;border-radius:50%;animation:cmsLoginSpin .8s linear infinite}@keyframes cmsLoginSpin{to{transform:rotate(360deg)}}
.cms-admin-shell{--ci:#17131f;--cm:#756f7d;--cl:#e9e7ed;--cs:#f8f7fa;--cp:#6d35f2;--cps:#f1ecff;min-height:100vh;padding:0!important;color:var(--ci);background:#fff;font-family:Inter,"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.cms-admin-shell *{box-sizing:border-box}
.cms-command-bar{position:fixed;inset:0 0 auto;z-index:40;display:grid;grid-template-columns:208px minmax(280px,1fr) auto;align-items:center;min-height:76px;border-bottom:1px solid var(--cl);background:rgba(255,255,255,.92);backdrop-filter:blur(24px) saturate(150%)}
.cms-command-brand{display:flex;align-items:center;gap:10px;height:100%;padding:0 16px;color:#fff;background:#26292c}.cms-command-brand b{font-size:12px}.cms-brand-logo{display:block;width:116px;height:44px;border-radius:7px;object-fit:contain;object-position:center;background:#fff}
.cms-global-search{justify-self:center;display:grid;grid-template-columns:auto minmax(160px,410px) auto;align-items:center;width:min(520px,calc(100% - 48px));min-height:42px;padding:0 12px;border:1px solid #dedbe4;border-radius:12px;background:#fbfbfc;color:#918c9a;transition:.18s ease}.cms-global-search:focus-within{border-color:#9a79f5;background:#fff;box-shadow:0 0 0 4px rgba(109,53,242,.08)}.cms-global-search input{min-width:0;border:0;outline:0;padding:0 10px;background:transparent;color:var(--ci);font:13px inherit}.cms-global-search kbd{border:0;border-radius:5px;padding:3px 6px;color:#8d8895;background:#efedf2;font:10px inherit}
.cms-command-actions{display:flex;align-items:center;gap:9px;padding:0 20px}.cms-command-actions a,.cms-command-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #dedbe4;border-radius:10px;padding:0 15px;color:#292432;background:#fff;font:600 12px inherit;text-decoration:none;cursor:pointer;transition:.18s ease}.cms-command-actions button{border-color:var(--cp);color:#fff;background:var(--cp);box-shadow:0 8px 20px rgba(109,53,242,.2)}.cms-command-actions button:hover{transform:translateY(-1px);background:#5f2ada}.cms-command-actions button.is-confirmed{border-color:#16865b;background:#16865b}.cms-command-actions .cms-connection{position:relative;padding-left:13px;color:#716c79;font-size:11px;white-space:nowrap}.cms-command-actions .cms-connection:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:#19a66f;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(25,166,111,.1)}
.cms-command-actions .cms-logout-button{border-color:#dedbe4;color:#5e5765;background:#fff;box-shadow:none}.cms-command-actions .cms-logout-button:hover{color:#b42318;background:#fff7f7}
.cms-admin-shell .cms-layout{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100vh;margin:0;padding-top:76px}.cms-admin-shell .cms-sidebar{position:fixed;inset:76px auto 0 0;z-index:30;display:flex;flex-direction:column;width:208px;padding:20px 10px 14px;border:0;background:#131022;color:#fff;overflow-y:auto}.cms-sidebar-label{padding:0 12px 9px;color:#777087;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cms-admin-shell .cms-sidebar button{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;width:100%;min-height:42px;border:0;border-radius:9px;padding:0 11px;color:#a9a3b4;background:transparent;font:500 12px inherit;text-align:left;cursor:pointer;transition:.15s ease}.cms-admin-shell .cms-sidebar button:hover{color:#fff;background:rgba(255,255,255,.06)}.cms-admin-shell .cms-sidebar button.active{color:#fff;background:linear-gradient(100deg,rgba(111,54,243,.56),rgba(111,54,243,.24));box-shadow:inset 0 0 0 1px rgba(169,132,255,.16)}.cms-admin-shell .cms-sidebar button i{position:relative;width:18px;height:18px;border:1.5px solid currentColor;border-radius:5px;opacity:.9}.cms-admin-shell .cms-sidebar button[data-icon=overview] i{border-radius:50%;box-shadow:inset 0 0 0 4px #131022;background:currentColor}.cms-admin-shell .cms-sidebar button[data-icon=menu] i{height:12px;border-width:1.5px 0;border-radius:0}.cms-admin-shell .cms-sidebar button[data-icon=menu] i:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px solid currentColor}.cms-admin-shell .cms-sidebar button[data-icon=settings] i{border-radius:50%;box-shadow:inset 0 0 0 4px #131022}.cms-admin-shell .cms-sidebar button em{min-width:22px;border-radius:99px;padding:2px 6px;color:#c9b7ff;background:rgba(132,85,255,.2);font-size:9px;font-style:normal;text-align:center}.cms-sidebar-account{display:flex;align-items:center;gap:10px;margin-top:auto;padding:16px 10px 2px;border-top:1px solid rgba(255,255,255,.08)}.cms-sidebar-account>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;color:#fff;background:#5f35bd;font-size:10px}.cms-sidebar-account div{display:grid;gap:2px}.cms-sidebar-account b{font-size:11px}.cms-sidebar-account small{color:#7f788b;font-size:9px}
.cms-admin-shell .cms-workspace{grid-column:2;min-width:0;min-height:calc(100vh - 76px);padding:34px clamp(28px,4vw,64px) 72px;background:#fff}.cms-admin-shell .cms-section{display:none;width:min(1240px,100%);margin:0 auto}.cms-admin-shell .cms-section.active{display:block;animation:cmsEnter .28s cubic-bezier(.2,.8,.2,1)}@keyframes cmsEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.cms-user-manager{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.35fr);gap:18px;align-items:start}.cms-user-create,.cms-user-list{border:1px solid #e5e2e9;border-radius:14px;background:#fff;overflow:hidden}.cms-user-create>header,.cms-user-list>header{min-height:72px;padding:0 20px;border-bottom:1px solid #ece9ef;display:flex;align-items:center;justify-content:space-between}.cms-user-create>header{display:grid;align-content:center;gap:4px}.cms-user-create>header span,.cms-user-list>header span{color:#6d35f2;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cms-user-create>header h3,.cms-user-list>header h3{margin:3px 0 0;font-size:16px}.cms-user-list>header>div{display:grid}.cms-user-list>header button{border:1px solid #dedbe4;border-radius:8px;padding:7px 11px;background:#fff;color:#5f5966;font:600 10px inherit}.cms-user-create>form{padding:20px;display:grid;gap:16px}.cms-user-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cms-user-create label,.cms-user-list form>div>label{display:grid;gap:6px;color:#45404a;font-size:10px;font-weight:700}.cms-user-create input,.cms-user-create select,.cms-user-list input,.cms-user-list select{width:100%;min-height:40px;border:1px solid #ddd9e2;border-radius:8px;padding:0 10px;background:#fff;font:11px inherit}.cms-field-label{display:block;margin-bottom:8px;color:#45404a;font-size:10px;font-weight:700}.cms-permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cms-permission-grid label{min-height:34px;border:1px solid #e6e2eb;border-radius:7px;padding:0 8px;display:flex!important;align-items:center;gap:7px!important;background:#faf9fb;font-weight:600!important}.cms-permission-grid input{width:14px!important;min-height:14px!important;accent-color:#6d35f2}.cms-user-create>form>button{min-height:42px;border:0;border-radius:8px;background:#6d35f2;color:#fff;font-weight:700}.cms-user-list{display:grid}.cms-user-list>article{border-bottom:1px solid #ece9ef;padding:18px 20px}.cms-user-list>article:last-child{border-bottom:0}.cms-user-list>article.is-disabled{background:#fafafa;opacity:.72}.cms-user-list article form{display:grid;gap:14px}.cms-user-list article form>header{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.cms-user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eee8ff;color:#6d35f2;font-size:11px;font-weight:800}.cms-user-list article form>header>div:nth-child(2){display:grid;gap:3px}.cms-user-list article form>header b{font-size:13px}.cms-user-list article form>header span{color:#817a88;font-size:9px}.cms-user-list article form>header em{border-radius:999px;padding:4px 8px;background:#ecfdf3;color:#16865b;font-size:9px;font-style:normal}.cms-user-active{display:flex!important;align-items:center;gap:8px!important;font-size:10px!important}.cms-user-active input{width:15px!important;min-height:15px!important;accent-color:#6d35f2}.cms-user-list article footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.cms-user-list article footer button{min-height:35px;border:1px solid #6d35f2;border-radius:8px;padding:0 12px;background:#6d35f2;color:#fff;font:700 10px inherit}.cms-user-list article footer .danger{border-color:#f0c7cd;background:#fff;color:#b42318}.cms-user-list article footer button:disabled{opacity:.4}.cms-users-message{margin:0;padding:18px;color:#77717e;font-size:11px}.cms-users-message.error{background:#fff4f5;color:#b42318}
.cms-submission-manager{border:1px solid #e5e2e9;border-radius:14px;background:#fff;overflow:hidden}.cms-submission-tools{min-height:62px;padding:0 18px;border-bottom:1px solid #ece9ef;display:flex;align-items:center;justify-content:space-between}.cms-submission-tools b{font-size:20px}.cms-submission-tools span{color:#77717e;font-size:11px}.cms-submission-tools button{border:1px solid #dedbe4;border-radius:8px;padding:7px 12px;background:#fff;color:#5f5966;font:600 10px inherit}.cms-submission-list{display:grid}.cms-submission-list>article{padding:18px 20px;border-bottom:1px solid #ece9ef;display:grid;gap:13px}.cms-submission-list>article:last-child{border-bottom:0}.cms-submission-list>article.is-new{border-left:3px solid #6d35f2;background:#fdfcff}.cms-submission-list article>header{display:flex;align-items:start;justify-content:space-between;gap:20px}.cms-submission-list article>header>div{display:grid;gap:4px}.cms-submission-list article>header strong{font-size:14px}.cms-submission-list article>header span,.cms-submission-list time{color:#817a88;font-size:10px}.cms-submission-contact{display:flex;flex-wrap:wrap;gap:8px 18px}.cms-submission-contact a,.cms-submission-contact span{color:#2271b1;font-size:11px}.cms-submission-list article>p{margin:0;max-width:900px;color:#413b45;font-size:12px;line-height:1.65;white-space:pre-wrap}.cms-submission-list article>footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cms-submission-list article>footer>a{color:#2271b1;font-size:10px}.cms-submission-list article>footer select{margin-left:auto;min-height:32px;border:1px solid #d9d5dd;border-radius:7px;padding:0 8px;background:#fff;font:10px inherit}.cms-submission-list article>footer button{min-height:32px;border:1px solid #f0c7cd;border-radius:7px;padding:0 10px;background:#fff;color:#b42318;font:600 10px inherit}.cms-submission-status,.cms-mail-status{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:700}.cms-submission-status.new{background:#eee8ff;color:#6d35f2}.cms-submission-status.read{background:#eef4ff;color:#175cd3}.cms-submission-status.handled,.cms-mail-status.sent{background:#ecfdf3;color:#16865b}.cms-mail-status.failed{background:#fff4e5;color:#b54708}.cms-empty-state{padding:52px 20px;text-align:center;color:#77717e}.cms-empty-state b{display:block;margin-bottom:7px;color:#302a34;font-size:15px}.cms-empty-state p{margin:0;font-size:11px}
.cms-mail-settings{margin:0 0 18px;border:1px solid #e5e2e9;border-radius:14px;background:#fff;overflow:hidden}.cms-mail-settings>header{min-height:68px;padding:0 20px;border-bottom:1px solid #ece9ef;display:flex;align-items:center;justify-content:space-between}.cms-mail-settings>header>div{display:grid;gap:3px}.cms-mail-settings>header span{color:#6d35f2;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cms-mail-settings>header h3{margin:0;font-size:16px}.cms-mail-settings>header em{border-radius:999px;padding:5px 9px;background:#fff4e5;color:#b54708;font-size:9px;font-style:normal}.cms-mail-settings>header em.is-ready{background:#ecfdf3;color:#16865b}.cms-mail-settings form{padding:20px;display:grid;gap:14px}.cms-mail-grid{display:grid;grid-template-columns:2fr .65fr .9fr 1.5fr 1.25fr 1.5fr;gap:10px}.cms-mail-grid label{display:grid;gap:6px;color:#45404a;font-size:10px;font-weight:700}.cms-mail-grid input,.cms-mail-grid select{width:100%;min-height:40px;border:1px solid #ddd9e2;border-radius:8px;padding:0 10px;background:#fff;font:11px inherit}.cms-mail-settings form>p{margin:0;color:#77717e;font-size:10px}.cms-mail-settings form>footer{display:flex;gap:8px}.cms-mail-settings form>footer button{min-height:36px;border:1px solid #6d35f2;border-radius:8px;padding:0 13px;background:#6d35f2;color:#fff;font:700 10px inherit}.cms-mail-settings form>footer button+button{background:#fff;color:#6d35f2}.cms-mail-settings form>footer button:disabled{opacity:.45}.cms-mail-message{border-radius:8px;padding:10px 12px;background:#ecfdf3;color:#16865b;font-size:10px}.cms-mail-message.is-error{background:#fff4f5;color:#b42318}
@media(max-width:1050px){.cms-user-manager{grid-template-columns:1fr}.cms-user-create,.cms-user-list{width:100%}.cms-mail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.cms-user-form-row,.cms-permission-grid,.cms-mail-grid{grid-template-columns:1fr}.cms-login-card{padding:22px}.cms-login-copy h1{font-size:29px}}
.cms-admin-shell .cms-page-title{margin:0 0 32px;padding:0;border:0}.cms-admin-shell .cms-page-title>span{color:var(--cp);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cms-admin-shell .cms-page-title h1{margin:7px 0 8px;color:var(--ci);font-size:clamp(30px,3vw,42px);font-weight:650;letter-spacing:-.04em;line-height:1.08}.cms-admin-shell .cms-page-title p{max-width:720px;margin:0;color:var(--cm);font-size:13px;line-height:1.65}.cms-admin-shell .cms-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 16px;padding:0;border:0;background:transparent}.cms-admin-shell .cms-section-head span{color:#888290;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.cms-admin-shell .cms-section-head h2{margin:4px 0 0;color:var(--ci);font-size:20px;font-weight:650;letter-spacing:-.025em}
.cms-admin-shell .cms-actions{display:flex;gap:8px}.cms-admin-shell .cms-actions button,.cms-admin-shell .cms-actions a{min-height:36px;border:1px solid #dedbe4;border-radius:9px;padding:0 13px;color:#38323f;background:#fff;font:600 11px inherit;text-decoration:none;box-shadow:none}.cms-admin-shell .cms-actions button{border-color:var(--cp);color:#fff;background:var(--cp)}
.cms-admin-shell .cms-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 26px;border:1px solid var(--cl);border-radius:14px;overflow:hidden}.cms-admin-shell .cms-kpis article{min-width:0;border:0;border-right:1px solid var(--cl);border-radius:0;padding:20px 22px;background:#fff}.cms-admin-shell .cms-kpis article:last-child{border-right:0}.cms-admin-shell .cms-kpis span{color:#85808c;font-size:11px}.cms-admin-shell .cms-kpis strong{display:block;margin:8px 0 5px;color:var(--ci);font-size:30px;font-weight:620;letter-spacing:-.04em}.cms-admin-shell .cms-kpis em{display:block;overflow:hidden;color:#88828f;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.cms-admin-shell .cms-kpis em.is-success{color:#17865b}.cms-admin-shell .cms-kpis em.is-warning{color:#b36a13}
.cms-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:18px}.cms-dashboard-panel{border:1px solid var(--cl);border-radius:14px;background:#fff;overflow:hidden}.cms-dashboard-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:0 20px;border-bottom:1px solid var(--cl)}.cms-dashboard-panel header span{color:#8b8592;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.cms-dashboard-panel header h3{margin:3px 0 0;font-size:15px}.cms-dashboard-panel header button{border:0;color:var(--cp);background:transparent;font:600 10px inherit;cursor:pointer}
.cms-content-table{overflow:hidden}.cms-content-row{display:grid;grid-template-columns:minmax(220px,1fr) 88px 96px 52px;align-items:center;gap:14px;min-height:62px;padding:10px 20px;border-bottom:1px solid #f0eef2;color:#5f5966;font-size:11px}.cms-content-row:last-child{border-bottom:0}.cms-content-row:hover:not(.cms-table-head){background:#faf9fc}.cms-content-row>div{min-width:0}.cms-content-row b{display:block;overflow:hidden;color:#25202c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cms-content-row small{display:block;margin-top:3px;overflow:hidden;color:#9a95a0;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.cms-table-head{min-height:36px;padding-block:0;color:#99939f;background:#fbfafc;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.cms-status-dot{position:relative;display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:99px;padding:4px 7px;color:#5f5966;background:#f2f0f4;font-size:9px}.cms-status-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#9c96a2}.cms-status-dot.published:before{background:#18a66e}.cms-status-dot.draft:before{background:#e0a222}
.cms-publish-summary{display:grid;place-items:center;padding:24px 20px 12px}.cms-publish-summary>div{position:relative;display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--cp) var(--value),#efedf2 0)}.cms-publish-summary>div:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.cms-publish-summary b,.cms-publish-summary span{position:relative;z-index:1}.cms-publish-summary b{font-size:27px}.cms-publish-summary span{margin-top:-25px;color:#928c98;font-size:9px}.cms-activity-panel ul{display:grid;margin:6px 0 0;padding:0 20px 18px;list-style:none}.cms-activity-panel li{display:flex;gap:10px;padding:11px 0;border-top:1px solid #f0eef2}.cms-activity-panel li>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#9c96a2}.cms-activity-panel li>i.live{background:#19a66f}.cms-activity-panel li>i.draft{background:#e0a222}.cms-activity-panel li span{display:grid;gap:2px}.cms-activity-panel li b{font-size:10px}.cms-activity-panel li small{color:#918b97;font-size:9px}
.cms-category-list{border:1px solid var(--cl);border-radius:14px;overflow:hidden}.cms-category-list article{display:grid;grid-template-columns:42px minmax(170px,.8fr) minmax(220px,1.4fr) 88px 82px 92px;align-items:center;gap:16px;min-height:76px;padding:12px 18px;border-bottom:1px solid var(--cl)}.cms-category-list article:last-child{border-bottom:0}.cms-category-list article:hover{background:#fbfaff}.cms-category-order{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--cp);background:var(--cps);font-size:9px;font-weight:700}.cms-category-list b{display:block;font-size:12px}.cms-category-list small{display:block;margin-top:3px;color:#96909c;font-size:9px}.cms-category-list p{margin:0;color:#77717e;font-size:10px;line-height:1.5}.cms-category-list strong{font-size:10px}.cms-category-list button{border:0;color:var(--cp);background:transparent;font:600 10px inherit;cursor:pointer}
.cms-seo-overview{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:24px;margin-bottom:18px;border:1px solid var(--cl);border-radius:14px;padding:20px}.cms-seo-overview>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 10px}.cms-seo-overview strong{font-size:30px}.cms-seo-overview span{color:#7f7985;font-size:10px}.cms-seo-overview i{grid-column:1/-1;height:5px;margin-top:10px;border-radius:99px;background:#efedf2;overflow:hidden}.cms-seo-overview i b{display:block;height:100%;border-radius:99px;background:var(--cp)}.cms-seo-overview p{margin:0;color:#756f7c;font-size:11px;line-height:1.65}.cms-seo-table{border:1px solid var(--cl);border-radius:14px}.cms-score{font-weight:700}.cms-score.good{color:#16865b}.cms-score.needs-work{color:#b36a13}
.cms-admin-shell .cms-edit-panel,.cms-admin-shell .cms-record-list.editable,.cms-admin-shell .cms-editor-form,.cms-admin-shell .cms-media-grid article,.cms-admin-shell .cms-manage-card,.cms-admin-shell .cms-upload-panel{border-color:var(--cl);border-radius:12px;box-shadow:none}.cms-admin-shell .cms-edit-panel-head{border-radius:12px 12px 0 0;border-color:var(--cl);background:#fbfafc}.cms-admin-shell .cms-editor-form input,.cms-admin-shell .cms-editor-form select,.cms-admin-shell .cms-editor-form textarea,.cms-admin-shell .cms-upload-panel input,.cms-admin-shell .cms-upload-panel select{min-height:40px;border:1px solid #ddd9e2;border-radius:9px;outline:0;transition:.16s ease}.cms-admin-shell .cms-editor-form input:focus,.cms-admin-shell .cms-editor-form select:focus,.cms-admin-shell .cms-editor-form textarea:focus{border-color:#9a79f5;box-shadow:0 0 0 4px rgba(109,53,242,.08)}.cms-admin-shell .cms-editor-form button,.cms-admin-shell .cms-upload-panel>button{border-radius:9px;border-color:var(--cp);background:var(--cp)}.cms-admin-shell .cms-record-list.editable article:nth-child(even){background:#fbfafc}.cms-admin-shell .cms-record-list.editable article.is-selected{background:#f7f3ff;box-shadow:inset 3px 0 0 var(--cp)}
@media(max-width:1100px){.cms-command-bar{grid-template-columns:176px 1fr auto}.cms-command-brand b{display:none}.cms-command-actions .cms-connection{display:none}.cms-admin-shell .cms-layout{grid-template-columns:176px 1fr}.cms-admin-shell .cms-sidebar{width:176px}.cms-admin-shell .cms-workspace{padding-inline:24px}.cms-admin-shell .cms-kpis{grid-template-columns:repeat(2,1fr)}.cms-dashboard-grid{grid-template-columns:1fr}.cms-category-list article{grid-template-columns:36px 1fr 90px 82px}.cms-category-list p,.cms-category-list button{display:none}}
@media(max-width:760px){.cms-command-bar{grid-template-columns:56px 1fr auto;min-height:64px}.cms-command-brand{justify-content:center;padding:0}.cms-brand-logo{width:44px;height:34px}.cms-command-brand b{display:none}.cms-global-search{width:calc(100% - 20px);min-height:38px}.cms-global-search kbd,.cms-command-actions a{display:none}.cms-command-actions{padding:0 8px}.cms-command-actions button{min-height:36px;padding:0 10px}.cms-admin-shell .cms-layout{grid-template-columns:56px 1fr;padding-top:64px}.cms-admin-shell .cms-sidebar{inset:64px auto 0;width:56px;padding-inline:7px}.cms-sidebar-label,.cms-admin-shell .cms-sidebar button span,.cms-admin-shell .cms-sidebar button em,.cms-sidebar-account div{display:none}.cms-admin-shell .cms-sidebar button{display:grid;place-items:center;padding:0}.cms-sidebar-account{justify-content:center;padding-inline:0}.cms-admin-shell .cms-workspace{padding:24px 14px 50px}.cms-admin-shell .cms-page-title h1{font-size:30px}.cms-admin-shell .cms-section-head{align-items:flex-start;flex-direction:column}.cms-admin-shell .cms-kpis{grid-template-columns:1fr 1fr}.cms-admin-shell .cms-kpis article{padding:16px}.cms-content-row{grid-template-columns:minmax(140px,1fr) 60px 68px}.cms-content-row>*:last-child{display:none}.cms-category-list article{grid-template-columns:32px 1fr 76px}.cms-category-list .cms-status-dot{display:none}.cms-seo-overview{grid-template-columns:1fr}.cms-admin-shell .cms-editor-form{grid-template-columns:1fr}.cms-admin-shell .cms-record-list.editable article{grid-template-columns:1fr;gap:8px}}
.cms-admin-shell .cms-layout aside.cms-sidebar button.active{border:0!important;outline:0!important;color:#fff!important;background:linear-gradient(100deg,rgba(111,54,243,.62),rgba(111,54,243,.25))!important;box-shadow:inset 0 0 0 1px rgba(169,132,255,.18)!important}
.cms-admin-shell .cms-layout aside.cms-sidebar button:focus-visible{outline:2px solid #bfaaff!important;outline-offset:2px!important}
.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{min-width:auto;min-height:30px;border-color:#e0dde5;border-radius:8px;padding:0 10px;color:#5f5966;background:#fff;font-size:10px}.cms-admin-shell .cms-record-actions a:hover,.cms-admin-shell .cms-record-actions button:hover{border-color:#ad95ee;color:var(--cp);background:#f8f5ff}.cms-admin-shell .cms-record-actions button.danger{border-color:#f1d9de;color:#bb4358;background:#fff}.cms-admin-shell .cms-record-status{border-radius:99px;padding:4px 8px;color:#3e765e;background:#edf8f2;font-size:9px}

@media (max-width: 760px) {
  .product-hub-category-grid,
  .product-projects,
  .source-company-story,
  .innovation-overview header,
  .innovation-stats,
  .source-contact-layout,
  .source-contact-layout form { grid-template-columns: 1fr; }
  .product-hub-category-card { min-height: 500px; padding: 28px; }
  .product-hub-card-copy { max-width: 75%; }
  .product-hub-category-card > img { width: 68%; height: 66%; }
  .product-projects,
  .company-image-band,
  .innovation-stats { margin-left: 20px; margin-right: 20px; }
  .product-projects > div { padding: 42px 28px; }
  .product-projects > img { min-height: 300px; }
  .company-image-band { min-height: 500px; }
  .innovation-overview { padding: 68px 24px 54px; }
  .innovation-overview h2 { font-size: clamp(34px, 10vw, 48px); }
  .innovation-stats article { border-left: 0; border-top: 1px solid #e5e1e8; }
  .innovation-stats article:first-child { border-top: 0; }
  .contact-message,
  .contact-consent,
  .contact-form-status { grid-column: auto; }
}

/* Tervona multi-form builder */
.source-contact-layout select{width:100%;min-height:52px;padding:13px 15px;border:1px solid #ddd7e1;border-radius:2px;background:#fff;color:#27222b}
.source-contact-layout .contact-field-full{grid-column:1/-1}.configured-form-empty{grid-column:1/-1;padding:40px;border:1px solid #e4e0e8;background:#fafafa}.configured-form-empty h2{margin:0 0 8px}.standalone-form-layout{min-height:560px}
.cms-form-builder{margin:0 0 22px;border:1px solid #dfe4e7;border-radius:16px;background:#f7fafb;overflow:hidden}.cms-form-builder-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-bottom:1px solid #e1e8e9;background:#fff}.cms-form-builder-head>div:first-child{display:grid;gap:4px}.cms-form-builder-head span,.cms-form-preview header span{color:#0b9299;font-size:9px;font-weight:800;letter-spacing:.14em}.cms-form-builder-head h3{margin:0;color:#1e2426;font-size:19px}.cms-form-builder-head p{max-width:720px;margin:2px 0 0;color:#6f787b;font-size:11px;line-height:1.55}.cms-form-builder-head>div:last-child{display:flex;gap:8px}.cms-form-builder-head button,.cms-form-builder-head a,.cms-form-fields-head button,.cms-form-editor-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;border:1px solid #13aab0;border-radius:9px;padding:0 13px;background:#13aab0;color:#fff;font:700 10px inherit;text-decoration:none;cursor:pointer}.cms-form-builder-head a{border-color:#d5dfe1;background:#fff;color:#364044}.cms-form-message{margin:0;padding:10px 24px;border-bottom:1px solid #d7edea;background:#edfaf8;color:#137b7f;font-size:10px}.cms-form-message.error{background:#fff1f2;color:#b42318}.cms-form-builder-grid{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:520px}.cms-form-list{border-right:1px solid #dfe7e9;background:#182228}.cms-form-list>div{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;color:#dfe9ea;font-size:11px}.cms-form-list>div span{display:grid;place-items:center;min-width:24px;height:22px;border-radius:99px;background:#28373e;color:#80dadd}.cms-form-list>button{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:10px;width:100%;min-height:64px;border:0;border-top:1px solid rgba(255,255,255,.05);padding:11px 13px;background:transparent;color:#c8d2d5;text-align:left;cursor:pointer}.cms-form-list>button:hover,.cms-form-list>button.active{background:#223039}.cms-form-list>button i{width:7px;height:7px;border-radius:50%;background:#5c6e75}.cms-form-list>button.active i{background:#21c0c5;box-shadow:0 0 0 4px rgba(33,192,197,.12)}.cms-form-list>button span{display:grid;gap:4px;min-width:0}.cms-form-list strong{overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cms-form-list small{color:#81939a;font-size:8px}.cms-form-list em{border-radius:99px;padding:4px 6px;background:#29383f;color:#91a1a6;font-size:8px;font-style:normal}.cms-form-list>button.active em{background:#16494b;color:#76e1df}.cms-form-editor{padding:22px;background:#fff}.cms-form-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cms-form-meta-grid label,.cms-form-field-main label,.cms-form-field-flags>label{display:grid;gap:6px;color:#445054;font-size:9px;font-weight:700}.cms-form-meta-grid label.full{grid-column:1/-1}.cms-form-meta-grid input,.cms-form-meta-grid select,.cms-form-meta-grid textarea,.cms-form-field-main input,.cms-form-field-main select,.cms-form-field-main textarea,.cms-form-field-flags select{width:100%;min-height:39px;border:1px solid #d9e1e3;border-radius:8px;padding:8px 10px;background:#fff;color:#273033;font:10px inherit;outline:0}.cms-form-meta-grid textarea{min-height:68px;resize:vertical}.cms-form-meta-grid input:focus,.cms-form-field-main input:focus,.cms-form-field-main select:focus,.cms-form-field-main textarea:focus{border-color:#13aab0;box-shadow:0 0 0 3px rgba(19,170,176,.1)}.cms-form-fields-head{display:flex;align-items:end;justify-content:space-between;margin:26px 0 10px}.cms-form-fields-head h4,.cms-form-preview h4{margin:4px 0 0;font-size:15px}.cms-form-field-row{display:grid;grid-template-columns:46px minmax(0,1fr) 122px;gap:12px;padding:14px 0;border-top:1px solid #e9edef}.cms-form-field-order{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:5px}.cms-form-field-order span{grid-column:1/-1;color:#7c898d;font-size:9px;text-align:center}.cms-form-field-order button{min-height:27px;border:1px solid #d9e1e3;border-radius:6px;background:#fff;color:#58676b;cursor:pointer}.cms-form-field-main{display:grid;grid-template-columns:1.25fr 1fr .8fr 1.25fr;gap:9px}.cms-form-field-main .cms-form-options{grid-column:1/-1}.cms-form-field-main textarea{min-height:60px;resize:vertical}.cms-form-field-flags{display:grid;align-content:start;gap:8px}.cms-form-field-flags>label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px;min-height:30px;border:1px solid #e0e6e7;border-radius:7px;padding:0 8px;background:#fafcfc}.cms-form-field-flags input[type=checkbox]{accent-color:#12a9ae}.cms-form-field-flags button.danger,.cms-form-editor-actions button.danger{min-height:32px;border:1px solid #f0ced2;border-radius:7px;background:#fff;color:#b42318;font:700 9px inherit;cursor:pointer}.cms-form-editor-actions{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e6ebec}.cms-form-editor-actions small{margin-left:auto;color:#7f8a8d;font-size:9px}.cms-form-preview{border-top:1px solid #dfe7e9;padding:22px 24px 28px;background:#eef4f5}.cms-form-preview>header{margin-bottom:12px}.cms-form-preview-canvas{max-width:900px;border:1px solid #d8e1e2;border-radius:12px;padding:20px;background:#fff;box-shadow:0 8px 30px rgba(27,44,49,.06)}.cms-form-preview-canvas form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cms-form-preview-canvas label{display:grid;gap:5px;color:#3e494c;font-size:9px}.cms-form-preview-canvas input,.cms-form-preview-canvas select,.cms-form-preview-canvas textarea{width:100%;min-height:36px;border:1px solid #dbe2e4;border-radius:7px;padding:7px 9px;background:#fff;font:9px inherit}.cms-form-preview-canvas .contact-message,.cms-form-preview-canvas .contact-consent,.cms-form-preview-canvas .contact-field-full{grid-column:1/-1}.cms-form-preview-canvas .contact-consent{display:flex;align-items:center}.cms-form-preview-canvas .contact-consent input{width:14px;min-height:14px}.cms-form-preview-canvas .contact-honeypot{display:none}.cms-form-preview-canvas button{justify-self:start;min-height:35px;border:0;border-radius:99px;padding:0 16px;background:#13aab0;color:#fff;font:700 9px inherit}.cms-form-preview-canvas .contact-form-status{margin:0}.cms-form-builder-loading{margin:0 0 20px;border:1px solid #dfe6e8;border-radius:12px;padding:28px;background:#f8fbfb;color:#607075;font-size:11px}.cms-submission-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid #e9e5ef;border-radius:10px;overflow:hidden}.cms-submission-values>div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #f0edf2}.cms-submission-values dt{color:#817a88;font-size:9px}.cms-submission-values dd{margin:0;color:#332d38;font-size:10px;font-weight:600;word-break:break-word}.cms-submission-message b{display:block;margin-bottom:6px;color:#5d5663;font-size:10px}.cms-submission-message p{margin:0;border-left:3px solid #18aeb2;border-radius:5px;padding:12px 14px;background:#effafa;color:#413b45;font-size:11px;line-height:1.6;white-space:pre-wrap}
@media(max-width:1400px){.cms-form-builder-grid{grid-template-columns:180px minmax(0,1fr)}.cms-form-field-main{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-submission-values{grid-template-columns:1fr}}
@media(max-width:760px){.source-contact-layout .contact-field-full{grid-column:auto}.cms-form-builder-head{align-items:flex-start;flex-direction:column}.cms-form-builder-grid{grid-template-columns:1fr}.cms-form-list{border-right:0}.cms-form-list>button{min-height:54px}.cms-form-editor{padding:16px}.cms-form-meta-grid,.cms-form-field-main{grid-template-columns:1fr}.cms-form-meta-grid label.full,.cms-form-field-main .cms-form-options{grid-column:auto}.cms-form-field-row{grid-template-columns:38px minmax(0,1fr)}.cms-form-field-flags{grid-column:2}.cms-form-preview-canvas form{grid-template-columns:1fr}.cms-form-preview-canvas .contact-message,.cms-form-preview-canvas .contact-consent,.cms-form-preview-canvas .contact-field-full{grid-column:auto}.cms-submission-values>div{grid-template-columns:90px 1fr}}

/* Inquiry-only review screen (local preview; not deployed) */
.cms-dashboard-welcome{display:flex;min-height:calc(100vh - 182px);flex-direction:column;align-items:center;justify-content:center;padding:48px 24px 12vh;text-align:center}.cms-dashboard-welcome h1{margin:0;color:#17131f;font-size:clamp(34px,4.2vw,56px);font-weight:750;letter-spacing:-.055em;line-height:1.08}.cms-dashboard-welcome p{margin:16px 0 0;color:#7b7581;font-size:13px;line-height:1.7}
@media(max-width:760px){.cms-dashboard-welcome{min-height:calc(100vh - 140px);padding:36px 18px 10vh}.cms-dashboard-welcome h1{font-size:34px}.cms-dashboard-welcome p{font-size:12px}}
.cms-inquiry-panel{border:1px solid #e4e7e9;border-radius:14px;background:#fff;overflow:hidden}.cms-inquiry-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0 20px;border-bottom:1px solid #eceff0}.cms-inquiry-toolbar>div{display:flex;align-items:baseline;gap:6px}.cms-inquiry-toolbar strong{color:#1d2528;font-size:24px;letter-spacing:-.04em}.cms-inquiry-toolbar span{color:#7b8589;font-size:11px}.cms-inquiry-toolbar button{min-height:34px;border:1px solid #d9dfe1;border-radius:8px;padding:0 12px;background:#fff;color:#435055;font:600 10px inherit;cursor:pointer}.cms-inquiry-toolbar button:hover{border-color:#17a8ad;color:#12888d}.cms-inquiry-feedback{margin:0;padding:15px 20px;color:#667277;font-size:11px}.cms-inquiry-feedback.error{color:#b42318;background:#fff3f4}.cms-inquiry-list{width:100%}.cms-inquiry-list-head,.cms-inquiry-row{display:grid;grid-template-columns:135px minmax(150px,.9fr) minmax(190px,1.15fr) minmax(260px,1.8fr) 24px;align-items:center;gap:18px;padding:0 20px}.cms-inquiry-list-head{min-height:38px;border-bottom:1px solid #eceff0;color:#8a9498;background:#fafbfb;font-size:9px;font-weight:700;letter-spacing:.06em}.cms-inquiry-row{position:relative;width:100%;min-height:78px;border:0;border-bottom:1px solid #edf0f1;background:#fff;color:#273136;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.cms-inquiry-row:last-child{border-bottom:0}.cms-inquiry-row:hover{background:#f5fbfb}.cms-inquiry-row:focus-visible{z-index:1;outline:2px solid #17a8ad;outline-offset:-2px}.cms-inquiry-row.is-new:before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;border-radius:50%;background:#18aeb2;transform:translateY(-50%)}.cms-inquiry-row time{display:grid;gap:3px}.cms-inquiry-row time b{font-size:11px;font-weight:650}.cms-inquiry-row time small{color:#8a9498;font-size:9px}.cms-inquiry-customer{display:flex;align-items:center;gap:10px;min-width:0}.cms-inquiry-customer i{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e8f8f7;color:#148d92;font-size:10px;font-style:normal;font-weight:800}.cms-inquiry-customer b,.cms-inquiry-email,.cms-inquiry-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-inquiry-customer b{font-size:11px}.cms-inquiry-email{color:#2671a8;font-size:10px}.cms-inquiry-preview{color:#687378;font-size:10px;line-height:1.5}.cms-inquiry-row>svg{width:18px;height:18px;fill:none;stroke:#99a2a6;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cms-inquiry-empty{padding:64px 20px;text-align:center}.cms-inquiry-empty b{font-size:14px}.cms-inquiry-empty p{margin:7px 0 0;color:#7c878b;font-size:10px}.cms-inquiry-detail-layer{position:fixed;inset:0;z-index:100;background:rgba(15,22,25,.34);backdrop-filter:blur(2px);animation:cmsInquiryFade .16s ease}.cms-inquiry-detail{position:absolute;inset:0 0 0 auto;width:min(520px,calc(100vw - 40px));padding:0;background:#fff;box-shadow:-18px 0 50px rgba(17,29,34,.16);overflow-y:auto;animation:cmsInquirySlide .2s ease}.cms-inquiry-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:30px 30px 24px;border-bottom:1px solid #e8ecee}.cms-inquiry-detail>header>div{display:grid;gap:5px}.cms-inquiry-detail>header span{color:#10939a;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.cms-inquiry-detail h2{margin:0;color:#1d2528;font-size:25px;letter-spacing:-.035em}.cms-inquiry-detail>header a{color:#2775aa;font-size:11px;text-decoration:none}.cms-inquiry-detail>header button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dde2e4;border-radius:50%;background:#fff;color:#536166;cursor:pointer}.cms-inquiry-detail>header svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.cms-inquiry-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 30px 0}.cms-inquiry-detail-meta span{display:grid;gap:4px;color:#3b474c;font-size:11px}.cms-inquiry-detail-meta b{color:#8a9498;font-size:9px;font-weight:600}.cms-inquiry-detail dl{margin:22px 30px 0;border-top:1px solid #edf0f1}.cms-inquiry-detail dl>div{display:grid;grid-template-columns:145px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #edf0f1}.cms-inquiry-detail dt{color:#7c878b;font-size:10px}.cms-inquiry-detail dd{margin:0;color:#273136;font-size:11px;font-weight:600;word-break:break-word}.cms-inquiry-detail>section{margin:26px 30px 0}.cms-inquiry-detail>section h3{margin:0 0 10px;font-size:13px}.cms-inquiry-detail>section p{margin:0;border-left:3px solid #18aeb2;border-radius:4px 10px 10px 4px;padding:17px 18px;background:#effafa;color:#354146;font-size:12px;line-height:1.7;white-space:pre-wrap}.cms-inquiry-detail>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px;padding-top:20px;border-top:1px solid #e8ecee}.cms-inquiry-detail>footer a{color:#2671a8;font-size:10px;text-decoration:none}.cms-inquiry-detail>footer button{min-height:36px;border:0;border-radius:8px;padding:0 16px;background:#17a8ad;color:#fff;font:700 10px inherit;cursor:pointer}@keyframes cmsInquiryFade{from{opacity:0}}@keyframes cmsInquirySlide{from{transform:translateX(24px);opacity:.6}}
@media(max-width:1050px){.cms-inquiry-list-head,.cms-inquiry-row{grid-template-columns:115px minmax(135px,.8fr) minmax(175px,1fr) minmax(200px,1.4fr) 20px;gap:12px;padding-inline:16px}}
@media(max-width:760px){.cms-inquiry-list-head{display:none}.cms-inquiry-row{grid-template-columns:82px 1fr 18px;gap:10px;min-height:94px;padding:14px}.cms-inquiry-customer{grid-column:2}.cms-inquiry-email{grid-column:2}.cms-inquiry-preview{grid-column:1/3;white-space:nowrap}.cms-inquiry-row>svg{grid-column:3;grid-row:1/3}.cms-inquiry-detail{width:100vw}.cms-inquiry-detail>header,.cms-inquiry-detail-meta,.cms-inquiry-detail dl,.cms-inquiry-detail>section{margin-left:0;margin-right:0}.cms-inquiry-detail>header{padding:24px 20px}.cms-inquiry-detail-meta{padding:20px}.cms-inquiry-detail dl,.cms-inquiry-detail>section{margin-inline:20px}.cms-inquiry-detail>footer{margin:24px 20px}.cms-inquiry-detail dl>div{grid-template-columns:110px 1fr}}
.cms-inquiry-detail>header>div{flex:1;min-width:0}.cms-inquiry-detail>header a{overflow-wrap:anywhere}.cms-inquiry-detail>header button{flex:0 0 34px!important;width:34px!important;min-width:34px!important;padding:0!important}.cms-inquiry-detail>footer button{flex:0 0 auto!important;width:auto!important;min-width:80px!important;border:0!important;padding:0 16px!important;background:#17a8ad!important;color:#fff!important}.cms-admin-shell .cms-section.active:has(.cms-inquiry-detail-layer){animation:none!important;transform:none!important}

/* CMS main content uses the browser scrollbar only. */
.cms-admin-shell,.cms-admin-shell .cms-layout,.cms-admin-shell .cms-workspace,.cms-admin-shell .cms-section{min-width:0;max-width:100%;overflow-x:clip}
.cms-admin-shell .cms-workspace{margin-left:0}
.cms-admin-shell .cms-record-list.editable{width:100%;max-width:980px;max-height:none;overflow:visible;padding-right:0}
.cms-admin-shell .cms-record-list.editable article{grid-template-columns:minmax(210px,1fr) minmax(80px,120px) 64px minmax(148px,170px);gap:12px;padding:13px 14px}
.cms-admin-shell .cms-record-actions{min-width:0}.cms-admin-shell .cms-record-actions span{max-width:100%;gap:5px;white-space:normal}.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{min-width:0;padding:0 7px;font-size:9px;white-space:nowrap}
.cms-admin-shell .cms-media-picker{max-height:none;overflow:visible}
@media(max-width:1050px){.cms-admin-shell .cms-record-list.editable article{grid-template-columns:minmax(180px,1fr) minmax(72px,100px) 60px minmax(140px,162px);gap:9px;padding-inline:12px}.cms-admin-shell .cms-record-main{gap:10px}.cms-admin-shell .cms-record-main img{width:46px;height:46px}}
@media(max-width:760px){.cms-admin-shell,.cms-admin-shell .cms-layout,.cms-admin-shell .cms-workspace,.cms-admin-shell .cms-section{overflow-x:hidden}.cms-admin-shell .cms-record-list.editable article{grid-template-columns:1fr;gap:8px}.cms-admin-shell .cms-record-actions{justify-content:flex-start}.cms-admin-shell .cms-record-actions span{justify-content:flex-start}}

/* Apple-inspired monochrome CMS chrome. */
.cms-admin-shell{--ci:#1d1d1f;--cm:#6e6e73;--cl:#d2d2d7;--cs:#f5f5f7;--cp:#1d1d1f;--cps:#ececef;color:#1d1d1f;background:#fff}
.cms-command-bar{border-bottom-color:#d2d2d7;background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.cms-command-brand{color:#fff;background:#1d1d1f}.cms-global-search{border-color:#d2d2d7;background:#f5f5f7;color:#86868b}.cms-global-search:focus-within{border-color:#86868b;box-shadow:0 0 0 4px rgba(0,0,0,.05)}
.cms-command-actions .cms-connection{color:#6e6e73}.cms-command-actions .cms-connection:before{background:#6e6e73;box-shadow:0 0 0 4px rgba(0,0,0,.06)}.cms-command-actions a,.cms-command-actions .cms-logout-button{border-color:#d2d2d7;color:#1d1d1f;background:#fff}.cms-command-actions button,.cms-command-actions button:hover{border-color:#1d1d1f;background:#1d1d1f;color:#fff;box-shadow:none}
.cms-admin-shell .cms-sidebar{border-right:1px solid #d2d2d7;background:#f5f5f7;color:#1d1d1f}.cms-sidebar-label{color:#86868b}.cms-admin-shell .cms-sidebar button{color:#6e6e73}.cms-admin-shell .cms-sidebar button:hover{color:#1d1d1f;background:#e8e8ed}.cms-admin-shell .cms-layout aside.cms-sidebar button.active{border:0!important;color:#1d1d1f!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.08),inset 0 0 0 1px #d2d2d7!important}.cms-admin-shell .cms-sidebar button em{color:#48484a;background:#e2e2e7}.cms-sidebar-account{border-top-color:#d2d2d7}.cms-sidebar-account>span{color:#fff;background:#48484a}.cms-sidebar-account small{color:#86868b}
.cms-nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cms-admin-shell .cms-sidebar button>i{display:none}
.cms-admin-shell .cms-page-title>span,.cms-admin-shell .cms-section-head span,.cms-user-create>header span,.cms-user-list>header span{color:#6e6e73}.cms-admin-shell .cms-page-title h1,.cms-admin-shell .cms-section-head h2{color:#1d1d1f}.cms-admin-shell .cms-page-title p{color:#6e6e73}
.cms-admin-shell .cms-actions button,.cms-admin-shell .cms-editor-form button,.cms-admin-shell .cms-upload-panel>button{border-color:#1d1d1f;background:#1d1d1f;color:#fff}.cms-admin-shell .cms-actions a{border-color:#d2d2d7;color:#1d1d1f;background:#fff}.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{border-color:#d2d2d7;color:#1d1d1f;background:#fff}.cms-admin-shell .cms-record-actions a:hover,.cms-admin-shell .cms-record-actions button:hover{border-color:#86868b;color:#000;background:#f5f5f7}
.cms-admin-shell .cms-record-list.editable,.cms-category-list,.cms-seo-table,.cms-inquiry-panel{border-color:#d2d2d7}.cms-admin-shell .cms-record-list.editable article:nth-child(even){background:#fafafa}.cms-admin-shell .cms-record-list.editable article.is-selected,.cms-admin-shell .cms-manage-card.is-selected{background:#f5f5f7;box-shadow:inset 3px 0 0 #1d1d1f}.cms-admin-shell .cms-record-status,.cms-status-dot{color:#48484a;background:#ececef}.cms-status-dot:before,.cms-status-dot.published:before{background:#86868b}
.cms-admin-shell .cms-editor-form input:focus,.cms-admin-shell .cms-editor-form select:focus,.cms-admin-shell .cms-editor-form textarea:focus{border-color:#86868b;box-shadow:0 0 0 4px rgba(0,0,0,.05)}.cms-inquiry-row.is-new:before{background:#48484a}.cms-inquiry-customer i{color:#1d1d1f;background:#ececef}.cms-inquiry-email,.cms-inquiry-detail>header a,.cms-inquiry-detail>footer a{color:#48484a}.cms-inquiry-detail>section p{border-left-color:#48484a;background:#f5f5f7}.cms-inquiry-detail>footer button{background:#1d1d1f!important}.cms-media-file-preview span,.cms-file-icon{color:#1d1d1f}
@media(max-width:1050px){.cms-admin-shell .cms-record-list.editable article{grid-template-columns:minmax(150px,1fr) 54px minmax(145px,160px);gap:9px}.cms-admin-shell .cms-record-list.editable .cms-record-meta{display:none}.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{padding-inline:6px;font-size:9px}}

/* Readable monochrome hierarchy: dark content, restrained secondary text. */
.cms-admin-shell .cms-layout aside.cms-sidebar button{color:#4b4b50;font-size:13px;font-weight:500}
.cms-admin-shell .cms-layout aside.cms-sidebar button.active{font-weight:650}
.cms-admin-shell .cms-layout aside.cms-sidebar button:focus-visible{outline:2px solid #6e6e73!important;outline-offset:2px!important}
.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{min-height:30px;padding-inline:9px;font-size:11px;line-height:1.2;font-weight:600}
.cms-admin-shell .cms-record-main b{color:#1d1d1f;font-size:14px;line-height:1.35}
.cms-admin-shell .cms-record-main p,.cms-admin-shell .cms-record-meta{color:#6e6e73;font-size:12px;line-height:1.5}
.cms-admin-shell .cms-record-status,.cms-admin-shell .cms-status-dot{min-height:22px;padding-inline:8px;font-size:10px;line-height:1.2}
@media(max-width:1050px){.cms-admin-shell .cms-record-list.editable article{grid-template-columns:minmax(150px,1fr) 60px minmax(174px,192px)}.cms-admin-shell .cms-record-actions a,.cms-admin-shell .cms-record-actions button{padding-inline:7px;font-size:11px}}

/* Remove non-semantic legacy accent colors from content-management controls. */
.cms-admin-shell .cms-record-summary span{border-color:#d2d2d7;color:#4b4b50;background:#fff}
.cms-admin-shell .cms-record-summary b{color:#1d1d1f}
.cms-admin-shell [data-cms-copy-media]{border-color:#d2d2d7!important;color:#1d1d1f!important;background:#fff!important}
.cms-admin-shell [data-cms-add-menu],.cms-admin-shell [data-cms-add-submenu]{border-color:#1d1d1f!important;color:#fff!important;background:#1d1d1f!important}
.cms-user-create>form>button,.cms-user-list article footer button{border-color:#1d1d1f;background:#1d1d1f;color:#fff}
.cms-user-avatar{color:#1d1d1f;background:#ececef}
.cms-user-list article form>header em{color:#48484a;background:#ececef}
.cms-permission-grid input,.cms-user-active input{accent-color:#1d1d1f}
.cms-admin-shell .cms-slot-spec,.cms-size-note{border-color:#d2d2d7;border-left-color:#48484a;background:#f5f5f7}
.cms-admin-shell .cms-slot-spec b,.cms-size-note span{color:#48484a}
.cms-admin-shell .cms-media-picker-head button{border-color:#86868b;color:#1d1d1f;background:#fff}
.cms-admin-shell .cms-media-picker button:hover,.cms-admin-shell .cms-media-picker button.active{border-color:#48484a;box-shadow:0 0 0 2px #d2d2d7}

/* Login belongs to the same quiet, high-contrast monochrome system. */
.cms-login-shell{background:#f5f5f7}
.cms-login-card{border-color:#d2d2d7;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(0,0,0,.12)}
.cms-login-copy>span,.cms-login-card>footer a{color:#48484a}
.cms-login-card form input:focus{border-color:#86868b;box-shadow:0 0 0 4px rgba(0,0,0,.05)}
.cms-login-card form button{background:#1d1d1f;box-shadow:none}
.cms-login-spinner{border-color:#d2d2d7;border-top-color:#1d1d1f}

/* Page-builder chrome is monochrome; page content keeps its own design colors. */
.cms-page-builder{background:#ececef;color:#1d1d1f}
.lpb-toolbar nav button.active{color:#1d1d1f}
.lpb-toolbar .primary{border-color:#1d1d1f;background:#1d1d1f}
.lpb-widgets button:hover{border-color:#86868b;color:#1d1d1f;background:#f5f5f7}
.lpb-block:hover,.lpb-block.selected{outline-color:#6e6e73}
.lpb-block.drag-over{box-shadow:inset 0 4px 0 #48484a}
.lpb-block-tools{background:#1d1d1f}
.lpb-add-empty{border-color:#86868b;color:#1d1d1f;background:#f5f5f7}
.lpb-inspector-form button{background:#1d1d1f}
.lpb-layers button.active{color:#1d1d1f;background:#ececef}
.lpb-layers button.active span,.lpb-layers button.active em{color:#1d1d1f}

/* Quiet Apple-style actions: controls support the content instead of competing with it. */
.cms-command-actions button:not(.cms-logout-button),
.cms-admin-shell .cms-actions button,
.cms-admin-shell .cms-editor-form button:not(.danger),
.cms-admin-shell .cms-upload-panel>button,
.cms-admin-shell [data-cms-add-menu],
.cms-admin-shell [data-cms-add-submenu],
.cms-user-create>form>button,
.cms-user-list article footer button:not(.danger),
.lpb-toolbar .primary,
.lpb-inspector-form button{
  border-color:#d2d2d7!important;
  color:#1d1d1f!important;
  background:#ececef!important;
  box-shadow:none!important;
}
.cms-command-actions button:not(.cms-logout-button){font-size:13px;font-weight:600}
.cms-command-actions button:not(.cms-logout-button):hover,
.cms-admin-shell .cms-actions button:hover,
.cms-admin-shell .cms-editor-form button:not(.danger):hover,
.cms-admin-shell .cms-upload-panel>button:hover,
.cms-admin-shell [data-cms-add-menu]:hover,
.cms-admin-shell [data-cms-add-submenu]:hover,
.cms-user-create>form>button:hover,
.cms-user-list article footer button:not(.danger):hover,
.lpb-toolbar .primary:hover,
.lpb-inspector-form button:hover{
  border-color:#c7c7cc!important;
  color:#000!important;
  background:#e2e2e7!important;
  transform:none!important;
}
.cms-command-actions button.is-confirmed{border-color:#c7c7cc!important;color:#1d1d1f!important;background:#dcdce1!important}

/* Transparent Tervona identity on a quiet light brand rail. */
.cms-command-brand{border-right:1px solid #d2d2d7;color:#1d1d1f;background:#f5f5f7}
.cms-brand-logo{border-radius:0;background:transparent}
.cms-login-card>header>span{border-color:transparent;background:transparent}
.cms-login-card>header img,.cms-login-card.is-loading>img{background:transparent}

/* Apple-inspired sidebar material: selection is tonal, never a saturated slab. */
.cms-admin-shell .cms-sidebar{
  box-sizing:border-box;
  height:auto;
  border-right:1px solid rgba(0,0,0,.10);
  background:rgba(245,245,247,.90);
  backdrop-filter:blur(24px) saturate(115%);
}
.cms-admin-shell .cms-layout aside.cms-sidebar button{
  border-radius:8px!important;
  color:#4b4b50!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:color .16s ease,background-color .16s ease;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button:hover{
  color:#1d1d1f!important;
  background:rgba(0,0,0,.045)!important;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button.active{
  color:#1d1d1f!important;
  background:rgba(0,0,0,.075)!important;
  box-shadow:none!important;
  font-weight:650;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button em{
  color:#48484a!important;
  background:rgba(0,0,0,.065)!important;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button.active em{
  color:#1d1d1f!important;
  background:rgba(0,0,0,.10)!important;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button:focus-visible{
  outline:2px solid rgba(29,29,31,.48)!important;
  outline-offset:2px!important;
}
.cms-admin-shell .cms-layout aside.cms-sidebar button.active:focus-visible{outline:none!important}

/* Keep the CMS task-focused: no tutorial copy or global search chrome. */
.cms-command-bar{grid-template-columns:208px minmax(0,1fr) auto}
.cms-command-actions{grid-column:3}
.cms-admin-shell .cms-page-title>span,
.cms-admin-shell .cms-page-title>p,
.cms-admin-shell .cms-section-head>div:first-child:not(.cms-actions){display:none!important}
.cms-admin-shell .cms-page-title{margin-bottom:22px}
.cms-admin-shell .cms-page-title h1{margin:0}
.cms-admin-shell .cms-section-head{min-height:0;align-items:center;justify-content:flex-end;margin-bottom:14px}
.cms-admin-shell .cms-section-head:not(:has(.cms-actions)){display:none}
.cms-admin-shell .cms-section-head .cms-actions{margin-left:auto}

/* The signed-in account stays legible at the bottom of the navigation rail. */
.cms-sidebar-account{
  position:sticky;
  bottom:0;
  z-index:2;
  flex:0 0 auto;
  min-height:64px;
  margin-top:auto;
  padding:14px 10px 10px;
  border-top:1px solid #d2d2d7;
  background:#f5f5f7;
  box-shadow:0 -8px 18px rgba(245,245,247,.94);
}
.cms-sidebar-account div{min-width:0}
.cms-sidebar-account b{display:block;max-width:130px;overflow:hidden;color:#1d1d1f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.cms-sidebar-account small{display:block;color:#6e6e73;font-size:10px;line-height:1.4;white-space:nowrap}
@media(max-width:1100px){.cms-command-bar{grid-template-columns:176px minmax(0,1fr) auto}}
@media(max-width:760px){
  .cms-command-bar{grid-template-columns:56px minmax(0,1fr) auto}
  .cms-admin-shell .cms-section-head{align-items:flex-end;flex-direction:row}
  .cms-sidebar-account{min-height:56px;padding:10px 0;justify-content:center}
}

/* Relaxed two-level public navigation on desktop. */
@media(min-width:1021px){
  .topbar,
  .topbar.topbar-overlay{
    height:94px;
  }
  .main-nav,
  .topbar.topbar-overlay .main-nav{
    height:94px;
    padding:0 clamp(40px,4.5vw,64px);
    gap:clamp(26px,3vw,40px);
  }
  .fox-logo,
  .topbar.topbar-overlay .fox-logo{
    width:164px;
    height:58px;
  }
  .top-small,
  .topbar.topbar-overlay .top-small{
    top:12px;
    right:clamp(200px,20vw,250px);
    gap:clamp(20px,2.2vw,28px);
    font-size:12px;
  }
  .nav-links,
  .topbar.topbar-overlay .nav-links{
    gap:clamp(26px,2.8vw,42px);
    padding-top:52px;
    font-size:16px;
  }
  .nav-item>a,
  .topbar.topbar-overlay .nav-item>a{
    padding-bottom:12px;
  }
  .nav-item>a::after,
  .topbar.topbar-overlay .nav-item>a::after{
    margin-top:4px;
  }
  .contact-pill,
  .topbar.topbar-overlay .contact-pill{
    min-width:130px;
    height:40px;
    font-size:14px;
    transform:translateY(15px);
  }
}

/* Product hub follows the source site's long-form visual rhythm. */
.product-hub-source{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:82px clamp(44px,7vw,120px) 130px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 0,rgba(153,107,255,.13),transparent 34%),
    radial-gradient(circle at 82% 2%,rgba(48,225,211,.12),transparent 32%),
    #fff;
}
.product-hub-source .product-hub-title{
  max-width:820px;
  margin:0 auto;
  text-align:center;
}
@keyframes productHubFadeUp{
  from{opacity:0;transform:translate3d(0,34px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes productHubCueFadeUp{
  from{opacity:0;transform:translate3d(0,34px,0) rotate(90deg)}
  to{opacity:1;transform:translate3d(0,0,0) rotate(90deg)}
}
.product-hub-source .product-hub-title>span{animation:productHubFadeUp .8s ease-in-out .2s both}
.product-hub-source .product-hub-title>h2{animation:productHubFadeUp .8s ease-in-out .3s both}
.product-hub-source .product-hub-title>p{animation:productHubFadeUp .8s ease-in-out .4s both}
.product-hub-source .product-hub-scroll-cue{animation:productHubCueFadeUp .8s ease-in-out .4s both}
.product-hub-source .product-hub-title>span,
.product-reference-heading>span,
.product-download-panel>span,
.product-monitoring-copy>span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#29252f;
  font-size:14px;
  font-weight:650;
}
.product-hub-source .product-hub-title>span::before,
.product-reference-heading>span::before,
.product-download-panel>span::before,
.product-monitoring-copy>span::before{
  content:"";
  width:4px;
  height:19px;
  border-radius:9px;
  background:linear-gradient(180deg,var(--purple),#37e2ce);
}
.product-hub-source .product-hub-title h2{
  margin:14px auto 18px;
  font-size:clamp(36px,3.7vw,54px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.025em;
}
.product-hub-source .product-hub-title h2 mark,
.product-reference-heading mark{
  color:transparent;
  background:linear-gradient(90deg,var(--purple),#31d9c7);
  -webkit-background-clip:text;
  background-clip:text;
}
.product-hub-source .product-hub-title>p{
  max-width:730px;
  margin:0 auto;
  color:#69636e;
  font-size:16px;
  line-height:1.65;
}
.product-hub-scroll-cue{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:30px auto 0;
  border:1px dashed color-mix(in srgb,var(--purple) 50%,transparent);
  border-radius:50%;
  color:var(--purple);
  font-style:normal;
  transform:rotate(90deg);
}
.product-hub-scroll-cue svg{width:18px;height:18px}
.product-hub-source .product-hub-category-grid{
  --product-line-height:0px;
  --product-line-opacity:0;
  position:relative;
  z-index:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,408px));
  justify-content:space-between;
  gap:64px clamp(96px,13vw,220px);
  max-width:1120px;
  margin:72px auto 0;
  background:linear-gradient(#e5e5e5,#e5e5e5) center -64px/2px calc(100% + 26px) no-repeat;
}
.product-hub-source .product-hub-category-grid::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-64px;
  height:var(--product-line-height);
  left:50%;
  width:2px;
  background:linear-gradient(180deg,transparent,rgba(130,94,255,.62) 15%,rgba(61,219,204,.46) 62%,transparent);
  transform:translateX(-50%);
}
.product-hub-source .product-hub-category-grid::after{
  content:"";
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(-64px + var(--product-line-height));
  width:9px;
  height:9px;
  border:6px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:var(--purple);
  box-shadow:0 0 0 1px rgba(115,72,255,.2);
  opacity:var(--product-line-opacity);
  transform:translate(-50%,-50%);
}
.product-hub-source .product-hub-category-card{
  --hub-base-y:0px;
  --hub-motion-x:-50px;
  --hub-motion-y:50px;
  --hub-opacity:0;
  position:relative;
  z-index:1;
  min-height:430px;
  overflow:hidden;
  display:block;
  padding:0;
  border-radius:10px;
  color:#fff;
  background:#2f175e;
  box-shadow:0 18px 44px rgba(37,16,80,.09);
  opacity:var(--hub-opacity);
  transform:translate3d(var(--hub-motion-x),calc(var(--hub-base-y) + var(--hub-motion-y)),0);
  will-change:transform,opacity;
  transition:box-shadow .45s ease;
}
.product-hub-source .product-hub-category-card:nth-child(even){--hub-base-y:-64px;--hub-motion-x:50px}
.product-hub-source .product-hub-category-card:hover{box-shadow:0 28px 64px rgba(37,16,80,.16)}
.product-hub-source .product-hub-category-card>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.product-hub-source .product-hub-category-card:hover>img{transform:scale(1.035)}
.product-hub-source .product-hub-category-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(20,8,48,.24),transparent 50%,rgba(20,8,48,.12));
  pointer-events:none;
}
.product-hub-source .product-hub-card-copy{
  position:relative;
  z-index:2;
  width:100%;
  max-width:none;
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:28px 26px 20px;
}
.product-hub-source .product-hub-card-copy h3{
  margin:0 0 15px;
  color:#fff;
  font-size:22px;
  font-weight:650;
  line-height:1.15;
  text-shadow:0 1px 10px rgba(20,8,48,.18);
}
.product-hub-source .product-hub-card-copy p{
  max-width:340px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:13px;
  line-height:1.58;
  text-shadow:0 1px 10px rgba(20,8,48,.18);
}
.product-hub-source .product-hub-card-copy>span{
  display:grid;
  place-items:center;
  width:48px;
  height:31px;
  margin:auto 0 0 auto;
  border:1px solid rgba(255,255,255,.76);
  border-radius:999px;
  color:#fff;
  background:rgba(28,9,62,.08);
  backdrop-filter:blur(8px);
}
.product-hub-source .product-hub-card-copy>span svg{width:16px;height:16px}

.product-reference-source{
  position:relative;
  min-height:820px;
  overflow:hidden;
  padding:92px 0 100px;
  background:
    radial-gradient(circle at 50% 100%,rgba(154,111,255,.12),transparent 42%),
    #fff;
}
.product-reference-heading{text-align:center}
.product-reference-heading h2{
  margin:14px 0 0;
  color:#111;
  font-size:clamp(32px,2.62vw,50px);
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.02em;
}
.product-reference-stage{
  --reference-slide-width:min(51.2vw,1040px);
  --reference-slide-height:min(31.84vw,647px);
  --reference-slide-step:calc(var(--reference-slide-width) + min(10.94vw,220px));
  position:relative;
  margin-top:48px;
}
.product-reference-track{
  position:relative;
  width:100%;
  height:var(--reference-slide-height);
}
.product-reference-card{
  position:absolute;
  z-index:1;
  top:0;
  left:50%;
  width:var(--reference-slide-width);
  height:var(--reference-slide-height);
  opacity:0;
  color:#111;
  text-decoration:none;
  pointer-events:none;
  transform:translateX(-50%) scale(.86);
  transform-origin:center;
  transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .36s ease;
  will-change:transform;
}
.product-reference-card.is-active{
  z-index:3;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) scale(1);
}
.product-reference-card.is-prev{
  z-index:2;
  opacity:1;
  transform:translateX(calc(-50% - var(--reference-slide-step))) scale(.86);
}
.product-reference-card.is-next{
  z-index:2;
  opacity:1;
  transform:translateX(calc(-50% + var(--reference-slide-step))) scale(.86);
}
.product-reference-card.is-resetting{transition:none}
.product-reference-card>img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:12px;
}
.product-reference-card>div{
  position:absolute;
  left:-3%;
  bottom:-1.6vw;
  width:47.3%;
  min-height:35.7%;
  padding:clamp(16px,1.45vw,28px);
  border-radius:10px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(29,18,58,.08);
  backdrop-filter:blur(12px);
}
.product-reference-card h3{margin:0 0 clamp(14px,1.8vw,28px);font-size:clamp(16px,1.26vw,24px);font-weight:600}
.product-reference-card p{display:grid;gap:11px;margin:0;color:#57545d;font-size:clamp(12px,1.06vw,20px)}
.product-reference-card p span{display:flex;align-items:center;gap:10px;min-width:0}
.product-reference-card p svg{flex:0 0 auto;width:20px;height:20px;color:var(--purple)}
.product-reference-card p em{font-style:normal}
.product-reference-card p b{overflow:hidden;color:#333;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.product-reference-controls{
  position:absolute;
  z-index:5;
  top:61%;
  left:50%;
  display:flex;
  justify-content:space-between;
  width:min(68vw,1350px);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.product-reference-controls button{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  padding:0;
  border:1px dashed rgba(112,78,210,.28);
  border-radius:50%;
  background:rgba(255,255,255,.65);
  color:var(--purple);
  cursor:pointer;
  pointer-events:auto;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.product-reference-controls button:hover{border-color:currentColor;background:#fff;transform:scale(1.06)}
.product-reference-controls button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.product-reference-controls .is-prev{transform:rotate(180deg)}
.product-reference-controls .is-prev:hover{transform:rotate(180deg) scale(1.06)}
.product-reference-controls svg{width:17px;height:17px}
.product-reference-link{
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  min-height:42px;
  margin:44px auto 0;
  padding:4px 20px 4px 5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--purple),#925cff);
  color:#fff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(91,58,193,.2);
}
.product-reference-link i{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.65);border-radius:50%}
.product-reference-link svg{width:15px;height:15px}

.product-monitoring-source{
  position:relative;
  min-height:640px;
  overflow:hidden;
  color:#fff;
  background:#131527;
}
@keyframes productMonitorFadeUp{
  from{opacity:0;transform:translate3d(0,60px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes productMonitorPhoneIn{
  from{opacity:0;transform:translate3d(10vw,10vw,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
.product-monitoring-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-monitoring-phone{
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  width:min(66vw,900px);
  height:96%;
  object-fit:contain;
  object-position:right bottom;
  opacity:0;
  transform:translate3d(10vw,10vw,0);
}
.product-monitoring-phone.in-view{animation:productMonitorPhoneIn 2s ease-in-out both}
.product-monitoring-copy{
  position:relative;
  z-index:2;
  width:min(1400px,86vw);
  margin:0 auto;
  padding:78px 0 58px;
}
.product-monitoring-copy>span{color:#fff}
.product-monitoring-copy>span,
.product-monitoring-copy>em,
.product-monitoring-copy>h2,
.product-monitoring-copy>p,
.product-monitoring-downloads article{opacity:0;transform:translate3d(0,60px,0)}
.product-monitoring-copy>span.in-view{animation:productMonitorFadeUp .8s ease-in-out .2s both}
.product-monitoring-copy>em.in-view{animation:productMonitorFadeUp .8s ease-in-out .3s both}
.product-monitoring-copy>h2.in-view{animation:productMonitorFadeUp .8s ease-in-out .4s both}
.product-monitoring-copy>p.in-view{animation:productMonitorFadeUp .8s ease-in-out .5s both}
.product-monitoring-downloads article.in-view{animation:productMonitorFadeUp .8s ease-in-out .6s both}
.product-monitoring-copy>em{
  display:block;
  margin:14px 0 2px;
  color:#8b66ff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:700;
}
.product-monitoring-copy h2{margin:0;font-size:clamp(34px,3.6vw,54px);font-weight:600;line-height:1.08}
.product-monitoring-copy>p{max-width:360px;margin:12px 0 0;font-size:18px}
.product-monitoring-downloads{display:grid;gap:12px;width:334px;margin-top:70px}
.product-monitoring-downloads article{
  min-height:104px;
  display:grid;
  grid-template-columns:48px 1fr 88px;
  align-items:center;
  gap:12px;
  padding:10px 12px 10px 18px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:12px;
  background:rgba(27,25,58,.22);
  backdrop-filter:blur(5px);
}
.product-monitoring-downloads article>img:first-child{width:30px;height:30px;object-fit:contain}
.product-monitoring-downloads article>img:last-child{width:86px;height:86px;border-radius:6px;object-fit:cover}
.product-monitoring-downloads article span{font-size:16px;line-height:1.42}

.product-download-source{
  position:relative;
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(480px,.98fr);
  align-items:center;
  gap:0;
  padding:68px clamp(44px,7vw,110px);
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 38%,rgba(149,105,255,.15),transparent 32%),
    radial-gradient(circle at 75% 20%,rgba(51,224,205,.12),transparent 30%),
    #fff;
}
.product-download-visual{
  width:100%;
  max-height:410px;
  object-fit:contain;
  transform:translateX(3%);
}
.product-download-panel{
  position:relative;
  z-index:2;
  margin-left:-60px;
  padding:42px 38px 34px;
  border:1px solid rgba(121,95,174,.12);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 24px 70px rgba(47,24,92,.10);
  backdrop-filter:blur(18px);
}
.product-download-panel h2{margin:12px 0 24px;font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.1}
.product-download-panel nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:28px}
.product-download-panel nav a{display:grid;justify-items:start;gap:8px;color:#555;text-decoration:none}
.product-download-panel nav img{width:25px;height:25px;object-fit:contain}
.product-download-panel nav b{font-size:11px;font-weight:500;line-height:1.25}
.product-download-more{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:0 20px 0 6px;
  border-radius:999px;
  color:#fff;
  background:var(--purple);
}
.product-download-more svg{width:34px;height:34px;padding:9px;border:1px solid rgba(255,255,255,.72);border-radius:50%}
.product-download-more b{font-size:14px}

.product-life-source{
  position:relative;
  min-height:320px;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff;
  text-align:center;
}
.product-life-source::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,22,44,.12),rgba(0,15,30,.5))}
.product-life-source>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-life-source>div{position:relative;z-index:1}
.product-life-source h2{margin:0;font-size:clamp(38px,4vw,58px);font-weight:600}
.product-life-source p{margin:8px 0 24px;font-size:18px}
.product-life-source a{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 22px;border:1px solid rgba(255,255,255,.68);border-radius:999px;color:#fff}
.product-life-source a svg{width:17px;height:17px}

@media(max-width:1020px){
  .product-hub-source{padding:70px 28px 96px}
  .product-hub-source .product-hub-category-grid{grid-template-columns:1fr;gap:28px;max-width:620px;background:none}
  .product-hub-source .product-hub-category-grid::before,.product-hub-source .product-hub-category-grid::after{display:none}
  .product-hub-source .product-hub-category-card,.product-hub-source .product-hub-category-card:nth-child(even){--hub-base-y:0px;--hub-motion-x:0px;--hub-motion-y:0px;--hub-opacity:1;min-height:500px;transform:none;opacity:1}
  .product-hub-source .product-hub-card-copy{min-height:500px}
  .product-reference-source{min-height:auto;padding:76px 0 90px}
  .product-reference-stage{--reference-slide-width:min(76vw,620px);--reference-slide-height:min(50vw,420px);--reference-slide-step:calc(var(--reference-slide-width) + 52px);margin-top:58px}
  .product-reference-controls{width:min(88vw,700px)}
  .product-monitoring-source{min-height:850px}
  .product-monitoring-phone{width:100%;height:64%;opacity:.78}
  .product-monitoring-copy{width:calc(100% - 48px);padding-top:64px}
  .product-monitoring-downloads{margin-top:38px}
  .product-download-source{grid-template-columns:1fr;padding:62px 24px 76px}
  .product-download-visual{max-height:360px;transform:none}
  .product-download-panel{margin:-54px auto 0;width:min(680px,100%)}
}
@media(prefers-reduced-motion:reduce){
  .product-hub-source .product-hub-title>*{animation:none!important}
  .product-hub-source .product-hub-category-card{--hub-motion-x:0px!important;--hub-motion-y:0px!important;--hub-opacity:1!important;opacity:1}
  .product-monitoring-phone,
  .product-monitoring-copy>span,
  .product-monitoring-copy>em,
  .product-monitoring-copy>h2,
  .product-monitoring-copy>p,
  .product-monitoring-downloads article{animation:none!important;opacity:1!important;transform:none!important}
}
@media(max-width:620px){
  .product-hub-source .product-hub-title h2{font-size:36px}
  .product-hub-source .product-hub-category-card,.product-hub-source .product-hub-card-copy{min-height:410px}
  .product-hub-source .product-hub-card-copy{padding:24px 22px 18px}
  .product-hub-source .product-hub-card-copy p{font-size:12px}
  .product-reference-heading h2{font-size:34px}
  .product-reference-stage{--reference-slide-width:84vw;--reference-slide-height:72vw;--reference-slide-step:calc(var(--reference-slide-width) + 34px)}
  .product-reference-card>div{left:0;bottom:-34px;width:82%;min-height:116px;padding:18px}
  .product-reference-card h3{margin-bottom:12px}
  .product-reference-card p{gap:5px}
  .product-reference-controls{top:46%;width:94vw}
  .product-reference-controls button{width:44px;height:44px}
  .product-reference-link{margin-top:58px}
  .product-monitoring-source{min-height:780px}
  .product-monitoring-copy{width:calc(100% - 36px);padding-top:48px}
  .product-monitoring-copy h2{font-size:36px}
  .product-monitoring-copy>p{font-size:15px}
  .product-monitoring-downloads{width:100%}
  .product-monitoring-phone{height:50%;opacity:.58}
  .product-download-panel{padding:30px 22px}
  .product-download-panel h2{font-size:30px}
  .product-download-panel nav{grid-template-columns:repeat(2,1fr);gap:18px}
  .product-download-panel nav a:last-child{grid-column:1/-1}
  .product-life-source{min-height:290px}
}

@media (max-width: 900px) {
  .product-technical-grid {
    grid-template-columns: 1fr;
  }

  .product-detail-contact {
    align-items: flex-start;
    flex-direction: column;
    padding: 44px;
  }
}

/* Tervona product hub: complete residential scene and protected product-card media zones. */
.product-source-hero{
  height:clamp(650px,54vw,880px);
  min-height:650px;
  background:#dceeed;
}
.product-source-hero>img{
  object-position:center 58%;
}
.product-source-hero-shade{
  background:
    linear-gradient(90deg,rgba(3,30,42,.66) 0%,rgba(3,30,42,.38) 28%,rgba(3,30,42,.06) 58%,rgba(3,30,42,.02) 100%),
    linear-gradient(180deg,rgba(0,22,32,.22),transparent 36%,rgba(0,22,32,.13));
}
.product-source-hero-copy{
  position:absolute;
  z-index:2;
  top:50%;
  left:clamp(32px,7vw,128px);
  width:min(590px,42vw);
  transform:translateY(-43%);
}
.product-source-hero-copy>span{
  color:#66e0dc;
  font-size:13px;
  font-weight:750;
  letter-spacing:.16em;
}
.product-source-hero-copy h1{
  margin:15px 0 18px;
  color:#fff;
  font-size:clamp(46px,4.8vw,82px);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:.98;
}
.product-source-hero-copy p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.65;
}
.product-hub-source .product-hub-category-card{
  min-height:510px;
  display:grid;
  grid-template-rows:minmax(148px,auto) minmax(296px,1fr);
  overflow:hidden;
  padding:0;
  border:1px solid #d9e8e9;
  border-radius:14px;
  color:#082b36;
  background:
    radial-gradient(circle at 50% 72%,rgba(58,211,207,.2),transparent 43%),
    linear-gradient(180deg,#fff 0%,#fbfefe 34%,#f3fbfb 58%,#edf9f8 100%);
  box-shadow:0 18px 44px rgba(18,68,76,.08);
}
.product-hub-source .product-hub-category-card::after{display:none}
.product-hub-source .product-hub-card-copy{
  position:relative;
  z-index:2;
  width:100%;
  min-height:148px;
  display:block;
  padding:30px 32px 12px;
  background:transparent;
}
.product-hub-source .product-hub-card-copy h3{
  margin:0 0 12px;
  color:#082b36;
  font-size:25px;
  font-weight:650;
  line-height:1.15;
  text-shadow:none;
}
.product-hub-source .product-hub-card-copy p{
  max-width:340px;
  margin:0;
  color:#536b72;
  font-size:13px;
  line-height:1.58;
  text-shadow:none;
}
.product-hub-source .product-hub-card-media{
  position:relative;
  z-index:1;
  min-height:296px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:0 36px 34px;
  background:transparent;
}
.product-hub-source .product-hub-card-media img{
  display:block;
  width:100%;
  height:100%;
  max-height:300px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 24px 25px rgba(20,61,67,.16));
  transition:transform .45s ease;
}
.product-hub-source .product-hub-category-card:hover .product-hub-card-media img{transform:translateY(-4px) scale(1.025)}
.product-hub-source .product-hub-card-arrow{
  position:absolute;
  right:22px;
  bottom:20px;
  z-index:3;
  display:grid;
  place-items:center;
  width:46px;
  height:34px;
  border:1px solid rgba(11,151,156,.5);
  border-radius:999px;
  color:#098f95;
  background:rgba(255,255,255,.86);
}
.product-hub-source .product-hub-card-arrow svg{width:17px;height:17px}

/* Partner page */
.partner-page{background:#fff}
.partner-hero{
  position:relative;
  height:clamp(660px,55vw,900px);
  min-height:660px;
  overflow:hidden;
  color:#082b36;
  background:#e9f7f6;
}
.partner-hero>img,.partner-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.partner-hero>img{object-fit:cover;object-position:center}
.partner-hero-shade{
  background:linear-gradient(90deg,rgba(245,253,252,.98) 0%,rgba(245,253,252,.9) 30%,rgba(245,253,252,.38) 48%,transparent 67%);
}
.partner-hero-copy{
  position:absolute;
  z-index:2;
  top:50%;
  left:clamp(32px,7vw,128px);
  width:min(630px,44vw);
  transform:translateY(-42%);
}
.partner-hero-copy>span,.partner-models>header>span,.partner-application-copy>span{
  color:#109da3;
  font-size:13px;
  font-weight:750;
  letter-spacing:.15em;
}
.partner-hero-copy h1{
  margin:16px 0 22px;
  color:#082b36;
  font-size:clamp(48px,5.2vw,86px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.98;
}
.partner-hero-copy p{
  max-width:540px;
  margin:0;
  color:#375863;
  font-size:18px;
  line-height:1.65;
}
.partner-models{
  max-width:1440px;
  margin:0 auto;
  padding:104px 5vw 110px;
}
.partner-models>header{margin-bottom:48px}
.partner-models h2,.partner-application-copy h2{
  margin:12px 0 0;
  color:#082b36;
  font-size:clamp(38px,4vw,62px);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:1.05;
}
.partner-model-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #d7e7e8;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.partner-model-grid button{
  min-height:300px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:28px;
  border:0;
  border-right:1px solid #d7e7e8;
  padding:34px 20px;
  color:#082b36;
  background:#fff;
  font:inherit;
  cursor:pointer;
  transition:background .22s ease,color .22s ease,box-shadow .22s ease;
}
.partner-model-grid button:last-child{border-right:0}
.partner-model-grid button:hover,.partner-model-grid button.is-selected{background:#effafa;box-shadow:inset 0 3px #1cb9bd}
.partner-model-grid i{
  display:grid;
  place-items:center;
  width:106px;
  height:106px;
  border:1.5px solid #23b9bd;
  border-radius:50%;
  color:#14abb0;
  background:#f7fdfd;
}
.partner-model-grid svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.partner-model-grid strong{font-size:24px;font-weight:650}
.partner-application{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);
  gap:clamp(54px,8vw,130px);
  max-width:1440px;
  margin:0 auto 110px;
  padding:86px clamp(28px,6vw,92px);
  border-radius:22px;
  background:linear-gradient(135deg,#effafa,#f9fdfd 48%,#eef7f7);
}
.partner-application-copy{padding-top:12px}
.partner-application-copy p{max-width:460px;margin:24px 0 0;color:#536b72;font-size:16px;line-height:1.7}
.partner-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 18px;
}
.partner-form>label{display:grid;gap:8px;color:#243e46;font-size:13px;font-weight:600}
.partner-form input,.partner-form textarea{
  width:100%;
  min-height:54px;
  border:1px solid #cadbdd;
  border-radius:8px;
  padding:13px 15px;
  color:#173741;
  background:#fff;
  font:inherit;
}
.partner-form textarea{min-height:146px;resize:vertical}
.partner-form-models{grid-column:1/-1;margin:0;border:0;padding:0}
.partner-form-models legend{margin-bottom:9px;color:#243e46;font-size:13px;font-weight:650}
.partner-form-models>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.partner-form-models label{position:relative;cursor:pointer}
.partner-form-models input{position:absolute;opacity:0;pointer-events:none}
.partner-form-models span{min-height:48px;display:grid;place-items:center;border:1px solid #cadbdd;border-radius:8px;color:#47616a;background:#fff;font-size:12px;font-weight:650;text-align:center}
.partner-form-models input:checked+span{border-color:#18aeb2;color:#087f84;background:#e9f9f8;box-shadow:inset 0 0 0 1px #18aeb2}
.partner-form-models input:focus-visible+span{outline:2px solid #18aeb2;outline-offset:2px}
.partner-form .contact-message,.partner-form .contact-consent,.partner-form .contact-form-status{grid-column:1/-1}
.partner-form .contact-consent{display:flex;align-items:center;gap:10px;font-weight:400}
.partner-form .contact-consent input{width:18px;min-height:18px;padding:0}
.partner-form button[type="submit"]{justify-self:start;min-width:190px;border:0}

/* Verified public company identity. */
.company-facts{
  max-width:1400px;
  margin:0 auto 92px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid #dfe9ea;
  border-radius:14px;
  overflow:hidden;
}
.company-facts article{min-height:160px;display:grid;align-content:center;gap:10px;padding:32px;border-right:1px solid #dfe9ea}
.company-facts article:last-child{border-right:0}
.company-facts span{color:#668087;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.company-facts strong{color:#082b36;font-size:clamp(23px,2vw,31px);font-weight:600;line-height:1.2}
.contact-office{display:grid;gap:7px;margin:36px 0 0;padding:24px;border-left:3px solid #18aeb2;color:#536b72;background:#f2fafa;font-style:normal;line-height:1.55}
.contact-office b{color:#11989e;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.contact-office strong{color:#163a45;font-size:14px}
.footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;line-height:1.55}
.footer-legal strong{color:rgba(255,255,255,.86)}
.footer-legal span{max-width:760px;text-align:right}

/* Public footer: verified Tervona identity and real website destinations. */
.tervona-footer{
  grid-template-columns:minmax(240px,1.05fr) minmax(620px,2fr);
  gap:clamp(48px,6vw,110px);
  padding:68px clamp(32px,6vw,116px) 34px;
  background:#0b1113;
}
.footer-brand{display:flex;align-items:flex-start;flex-direction:column;max-width:360px}
.footer-brand-logo{display:block;width:190px;margin:0 0 26px}
.footer-brand-logo img{display:block;width:100%;height:auto;object-fit:contain;filter:brightness(1.8)}
.footer-brand>strong{color:#fff;font-size:15px;font-weight:650;line-height:1.45}
.footer-brand>p{max-width:330px;margin:10px 0 24px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.7}
.footer-contact-link{min-height:42px!important;display:inline-flex!important;align-items:center;gap:10px;margin:0!important;border:1px solid rgba(85,215,214,.54);border-radius:999px;padding:0 18px 0 8px;color:#fff!important;font-size:12px;font-weight:700}
.footer-contact-link svg{width:30px;height:30px;padding:8px;border-radius:50%;background:#1baeb3}
.tervona-footer .footer-cols{grid-template-columns:1.22fr .9fr .9fr .82fr;gap:clamp(28px,3.3vw,62px)}
.tervona-footer h4{margin-bottom:20px;color:#fff;font-size:14px;font-weight:700}
.tervona-footer .footer-cols a{margin-bottom:12px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.45;transition:color .2s ease,transform .2s ease}
.tervona-footer .footer-cols a:hover{color:#59d7d5;transform:translateX(2px)}
.tervona-footer .footer-legal{grid-column:1/-1;margin-top:18px;color:rgba(255,255,255,.48)}

@media(max-width:1100px){
  .tervona-footer{grid-template-columns:1fr;padding-inline:40px}
  .footer-brand{max-width:520px}
}

@media(max-width:1020px){
  .product-source-hero-copy,.partner-hero-copy{width:min(590px,56vw)}
  .product-hub-source .product-hub-category-card,.product-hub-source .product-hub-category-card:nth-child(even){min-height:510px}
  .product-hub-source .product-hub-card-copy{min-height:164px}
  .partner-model-grid{grid-template-columns:repeat(2,1fr)}
  .partner-model-grid button:nth-child(2){border-right:0}
  .partner-model-grid button:nth-child(-n+2){border-bottom:1px solid #d7e7e8}
  .partner-application{grid-template-columns:1fr;margin-inline:24px}
  .company-facts{margin-inline:24px}
}
@media(max-width:700px){
  .product-source-hero,.partner-hero{height:760px;min-height:760px}
  .product-source-hero{background:#0b3a46}
  .partner-hero{background:#effafa}
  .product-source-hero>img,.partner-hero>img{inset:auto 0 0;height:55%;object-fit:cover}
  .product-source-hero>img{object-position:64% center}
  .partner-hero>img{object-position:69% center}
  .product-source-hero-shade{background:linear-gradient(180deg,#0b3a46 0%,#0b3a46 43%,rgba(11,58,70,.18) 63%,rgba(11,58,70,.12))}
  .partner-hero-shade{background:linear-gradient(180deg,#effafa 0%,#effafa 43%,rgba(239,250,250,.2) 64%,transparent)}
  .product-source-hero-copy,.partner-hero-copy{top:95px;left:24px;width:calc(100% - 48px);transform:none}
  .product-source-hero-copy h1,.partner-hero-copy h1{font-size:45px}
  .product-source-hero-copy p,.partner-hero-copy p{font-size:15px}
  .product-hub-source .product-hub-category-card,.product-hub-source .product-hub-category-card:nth-child(even){min-height:460px}
  .product-hub-source .product-hub-card-copy{min-height:150px;padding:26px 24px 18px}
  .product-hub-source .product-hub-card-media{min-height:270px;padding:10px 26px 32px}
  .partner-models{padding:76px 24px}
  .partner-model-grid{grid-template-columns:1fr 1fr}
  .partner-model-grid button{min-height:210px;gap:18px;padding:26px 12px}
  .partner-model-grid i{width:82px;height:82px}
  .partner-model-grid svg{width:43px;height:43px}
  .partner-model-grid strong{font-size:18px}
  .partner-application{margin:0 16px 76px;padding:52px 20px;gap:42px}
  .partner-form{grid-template-columns:1fr}
  .partner-form-models>div{grid-template-columns:1fr 1fr}
  .partner-form>label,.partner-form-models,.partner-form .contact-message,.partner-form .contact-consent,.partner-form .contact-form-status{grid-column:1}
  .company-facts{grid-template-columns:1fr;margin:0 24px 68px}
  .company-facts article{min-height:130px;border-right:0;border-bottom:1px solid #dfe9ea}
  .company-facts article:last-child{border-bottom:0}
  .footer-legal{display:grid}
  .footer-legal span{text-align:left}
  .tervona-footer{gap:42px;padding:54px 24px 30px}
  .footer-brand-logo{width:170px;margin-bottom:22px}
  .tervona-footer .footer-cols{grid-template-columns:1fr 1fr;gap:34px 22px}
  .tervona-footer .footer-legal{margin-top:8px}
}

@media (max-width: 620px) {
  .product-models-section,
  .product-technical-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .product-models-section,
  .product-detail-contact {
    width: calc(100vw - 48px);
  }

  .product-technical-section {
    padding-right: 24px;
    padding-left: 24px;
  }

  .product-models-table th,
  .product-models-table td {
    padding: 18px;
  }

  .product-technical-grid h3 {
    padding: 22px;
    font-size: 21px;
  }

  .product-technical-grid dl {
    padding: 8px 22px 16px;
  }

  .product-technical-grid dl > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .product-detail-contact {
    gap: 34px;
    margin-top: 72px;
    margin-bottom: 72px;
    padding: 30px 24px;
  }

  .product-detail-contact h2 {
    font-size: 34px;
  }
}

/* Product detail: image-led core advantages inspired by the supplied reference. */
.product-advantages {
  width: min(88vw, 1500px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(440px, 1.04fr);
  gap: clamp(48px, 5vw, 82px);
  align-items: start;
  padding: clamp(92px, 8vw, 132px) 0;
  background: #fff;
}

.product-advantages-content > h2 {
  margin: 26px 0 0;
  color: #121212;
  font-size: clamp(42px, 3.3vw, 58px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.08;
}

.product-advantages-grid {
  margin-top: clamp(60px, 6vw, 90px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.product-advantages-grid article {
  min-height: 216px;
  display: grid;
  grid-template-rows: 48px auto 1fr;
  align-content: start;
  gap: 16px;
  padding: 28px 26px;
  border: 0;
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 100%, rgba(134, 85, 255, .13), transparent 56%),
    linear-gradient(135deg, #fcfcfe 0%, #f8f6fc 100%);
}

.product-advantages-grid b {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #7558ee;
  border: 3px solid #0fc3b5;
  border-left-color: #7965f4;
  border-radius: 50%;
}

.product-advantages-grid b::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 5px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
}

.product-advantages-grid b svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.product-advantages-grid h3,
.product-advantages-grid p {
  min-width: 0;
  margin: 0;
}

.product-advantages-grid h3 {
  color: #25115d;
  font-size: 20px;
  line-height: 1.32;
}

.product-advantages-grid p {
  color: #6f6b76;
  font-size: 17px;
  line-height: 1.65;
}

.product-advantages-scene {
  position: relative;
  min-height: 0;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  background: #e7f1ef;
}

.product-advantages-scene > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 70% center;
}

.product-advantages-cta {
  position: absolute;
  right: 5%;
  bottom: 14%;
  width: min(260px, 42%);
  min-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 25px 18px 16px 24px;
  color: #fff;
  background: #8251f4;
  border-radius: 20px;
  transition: transform .25s ease, background .25s ease;
}

.product-advantages-cta:hover {
  transform: translateY(-4px);
  background: #7140e7;
}

.product-advantages-cta:focus-visible {
  outline: 3px solid #15c3b8;
  outline-offset: 4px;
}

.product-advantages-cta span {
  font-size: 20px;
  font-weight: 600;
}

.product-advantages-cta i {
  width: 62px;
  height: 40px;
  display: grid;
  place-items: center;
  align-self: flex-end;
  color: #7240ea;
  background: #fff;
  border-radius: 999px;
}

.product-advantages-cta i svg {
  width: 18px;
  height: 18px;
}

.product-downloads {
  width: min(88vw, 1500px);
  margin: 0 auto;
  padding: 12px 0 104px;
}

.product-downloads > h2 {
  margin: 0 0 42px;
  color: #121212;
  font-size: clamp(40px, 3vw, 54px);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.1;
}

.product-downloads .resource-grid {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Public-site readability pass: slightly larger supporting copy and controls. */
.product-hub-card-copy p,
.source-feature-slider p,
.series-card p,
.news-page-card p,
.product-detail-contact p,
.partner-hero-copy p,
.product-source-hero-copy p {
  font-size: 18px;
}

.source-product-top span,
.source-contact-layout label,
.product-hub-card-copy > span {
  font-size: 17px;
}

.tervona-footer .footer-brand > p,
.tervona-footer .footer-cols a {
  font-size: 16px;
}

.tervona-footer h4 {
  font-size: 17px;
}

.tervona-footer .footer-contact-link,
.tervona-footer .footer-legal {
  font-size: 15px;
}

@media (max-width: 1120px) {
  .product-advantages {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .product-advantages-content > h2 {
    margin-top: 0;
  }

  .product-advantages-grid {
    margin-top: 48px;
  }

  .product-advantages-scene {
    aspect-ratio: 16 / 10;
  }

  .product-advantages-scene > img {
    object-position: 68% center;
  }
}

@media (max-width: 620px) {
  .product-advantages {
    width: calc(100vw - 48px);
    gap: 38px;
    padding: 72px 0;
  }

  .product-advantages-content > h2 {
    font-size: 38px;
  }

  .product-advantages-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 38px;
  }

  .product-advantages-grid article {
    min-height: 190px;
    padding: 25px 24px;
  }

  .product-advantages-scene {
    aspect-ratio: 4 / 5;
    border-radius: 20px;
  }

  .product-advantages-scene > img {
    object-position: 73% center;
  }

  .product-advantages-cta {
    right: 18px;
    bottom: 20px;
    width: 190px;
    min-height: 112px;
    padding: 20px 14px 13px 18px;
    border-radius: 16px;
  }

  .product-advantages-cta span {
    font-size: 17px;
  }

  .product-advantages-cta i {
    width: 52px;
    height: 34px;
  }

  .product-downloads {
    width: calc(100vw - 48px);
    padding: 0 0 76px;
  }

  .product-downloads > h2 {
    margin-bottom: 30px;
    font-size: 38px;
  }

  .product-downloads .resource-grid {
    padding: 0;
  }
}

/* Public typography guardrails: readable supporting copy without flattening hierarchy. */
.top-small,
.topbar.topbar-overlay .top-small,
.region {
  font-size: 14px;
}

.language-menu button,
.topbar .contact-pill,
.topbar.topbar-overlay .contact-pill {
  font-size: 16px;
}

.product-taxonomy-tab-copy strong {
  font-size: 16px;
}

.product-taxonomy-tab-copy small {
  font-size: 15px;
  line-height: 1.5;
}

.product-taxonomy-panel > header small {
  font-size: 13px;
}

.product-taxonomy-panel > header h4 {
  font-size: 22px;
}

.product-taxonomy-panel > header p,
.product-taxonomy-node,
.product-taxonomy-level .product-taxonomy-level .product-taxonomy-node {
  font-size: 15px;
}

.product-taxonomy-panel > header a {
  font-size: 16px;
}

.product-taxonomy-level .product-taxonomy-level .product-taxonomy-level .product-taxonomy-node,
.product-taxonomy-node em {
  font-size: 14px;
}

.mobile-product-category summary {
  font-size: 16px;
}

.mobile-product-category summary b {
  font-size: 13px;
}

.mobile-product-category .mobile-product-category-link,
.mobile-product-category .product-taxonomy-node {
  font-size: 15px;
}

.stat-card p,
.product-hub-source .product-hub-card-copy p,
.source-download-row > span,
.source-download-actions span,
.download-card-actions a,
.download-card-actions span,
.source-resource-links a {
  font-size: 16px;
}

.product-reference-card p {
  font-size: clamp(15px, 1.06vw, 20px);
}

.product-download-panel nav b {
  font-size: 15px;
}

.product-download-more b {
  font-size: 16px;
}

.product-source-hero-copy > span,
.partner-hero-copy > span,
.partner-models > header > span,
.partner-application-copy > span,
.company-facts span {
  font-size: 14px;
}

.partner-form > label,
.partner-form-models legend,
.partner-form-models span {
  font-size: 16px;
}

.contact-office b {
  font-size: 14px;
}

.contact-office strong {
  font-size: 16px;
}

.source-banner-downloads > img {
  object-position: center center;
}

@media (max-width: 760px) {
  .topbar .contact-pill,
  .topbar.topbar-overlay .contact-pill {
    font-size: 15px;
  }

  .product-taxonomy-tab-copy small,
  .product-source-hero-copy > span,
  .partner-hero-copy > span,
  .partner-models > header > span,
  .partner-application-copy > span {
    font-size: 15px;
  }

  .product-hub-source .product-hub-card-copy p,
  .partner-form > label,
  .partner-form-models legend,
  .partner-form-models span {
    font-size: 15px;
  }
}

/* Tervona brand refresh: product downloads and the global footer. */
.product-downloads {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-bottom: 104px;
  padding: clamp(48px, 5vw, 72px);
  border: 1px solid #d6e9e9;
  border-radius: 30px;
  background:
    radial-gradient(circle at 92% 12%, rgba(34, 191, 188, .16), transparent 31%),
    linear-gradient(135deg, #f7fcfc 0%, #edf8f8 54%, #f8fcfc 100%);
  box-shadow: 0 24px 70px rgba(6, 52, 62, .07);
}

.product-downloads::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -105px;
  bottom: -165px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(24, 174, 178, .2);
  border-radius: 50%;
  box-shadow:
    0 0 0 48px rgba(24, 174, 178, .045),
    0 0 0 96px rgba(24, 174, 178, .025);
}

.product-downloads > h2 {
  position: relative;
  margin-bottom: clamp(34px, 3vw, 48px);
  padding-left: 24px;
  color: #082f3a;
  font-family: var(--font-semibold);
  font-weight: 600;
  letter-spacing: -.035em;
}

.product-downloads > h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .12em;
  bottom: .1em;
  width: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #1dc5c1, #118d99);
}

.product-downloads .resource-grid {
  position: relative;
  z-index: 1;
  gap: clamp(14px, 1.4vw, 22px);
}

.product-downloads .resource-grid a {
  position: relative;
  overflow: hidden;
  min-height: 168px;
  padding: 28px 24px 24px 28px;
  color: #0a3540;
  border: 1px solid rgba(16, 129, 139, .2);
  border-radius: 20px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 34px rgba(10, 72, 82, .055);
  transition: color .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.product-downloads .resource-grid a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #16b7b7, #7edbd6 64%, transparent);
}

.product-downloads .resource-grid a > span {
  position: relative;
  z-index: 1;
  max-width: calc(100% - 68px);
  font-family: var(--font-semibold);
  font-size: clamp(17px, 1.15vw, 20px);
  font-weight: 600;
  line-height: 1.35;
}

.product-downloads .resource-grid a > svg {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  padding: 14px;
  color: #078c94;
  border: 1px solid rgba(10, 151, 158, .3);
  border-radius: 50%;
  background: #effafa;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.product-downloads .resource-grid a:hover {
  color: #fff;
  border-color: #0c7782;
  background: linear-gradient(135deg, #0a3a45, #0c5b65);
  box-shadow: 0 20px 42px rgba(4, 61, 72, .18);
  transform: translateY(-4px);
}

.product-downloads .resource-grid a:hover > svg {
  color: #073b45;
  background: #8ae3dc;
  transform: translateX(3px);
}

.product-downloads .resource-grid a:focus-visible {
  outline: 3px solid #18aeb2;
  outline-offset: 4px;
}

.tervona-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: clamp(72px, 7vw, 104px);
  padding-bottom: 38px;
  color: rgba(238, 250, 250, .78);
  border-top: 0;
  background:
    radial-gradient(circle at 9% 12%, rgba(24, 174, 178, .17), transparent 28%),
    radial-gradient(circle at 88% 94%, rgba(20, 121, 132, .13), transparent 30%),
    linear-gradient(135deg, #061b22 0%, #071419 52%, #08181d 100%);
}

.tervona-footer::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #0ba4ac 0%, #50d6cf 43%, rgba(80, 214, 207, .12) 76%, transparent 100%);
}

.tervona-footer::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 52px;
  left: clamp(32px, 6vw, 116px);
  width: 210px;
  height: 210px;
  border: 1px solid rgba(87, 213, 211, .11);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(87, 213, 211, .025);
}

.tervona-footer .footer-brand {
  position: relative;
  z-index: 1;
  max-width: 390px;
}

.tervona-footer .footer-brand-logo {
  width: 204px;
  margin-bottom: 30px;
}

.tervona-footer .footer-brand-logo img {
  filter: brightness(0) invert(1);
  opacity: .92;
}

.tervona-footer .footer-brand > strong {
  color: #f5ffff;
  font-size: 17px;
}

.tervona-footer .footer-brand > p {
  max-width: 360px;
  margin: 13px 0 28px;
  color: rgba(229, 247, 247, .68);
  line-height: 1.65;
}

.tervona-footer .footer-contact-link {
  min-height: 50px !important;
  gap: 12px;
  padding: 0 22px 0 8px;
  color: #052e37 !important;
  border: 0;
  background: linear-gradient(90deg, #72ddd7, #34c5c3);
  box-shadow: 0 12px 28px rgba(25, 192, 190, .14);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.tervona-footer .footer-contact-link svg {
  width: 36px;
  height: 36px;
  padding: 10px;
  color: #fff;
  background: #087f8a;
}

.tervona-footer .footer-contact-link:hover {
  color: #052e37 !important;
  background: linear-gradient(90deg, #8ae7e0, #48ceca);
  box-shadow: 0 16px 34px rgba(25, 192, 190, .22);
  transform: translateY(-2px);
}

.tervona-footer .footer-cols {
  position: relative;
  z-index: 1;
  gap: clamp(26px, 3vw, 54px);
}

.tervona-footer .footer-cols > div {
  min-width: 0;
  padding-left: clamp(16px, 1.5vw, 24px);
  border-left: 1px solid rgba(117, 218, 215, .16);
}

.tervona-footer h4 {
  position: relative;
  margin-bottom: 26px;
  padding-bottom: 13px;
  color: #f6ffff;
  font-size: 18px;
  letter-spacing: -.01em;
}

.tervona-footer h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 32px;
  height: 3px;
  border-radius: 999px;
  background: #39cac6;
}

.tervona-footer .footer-cols a {
  margin-bottom: 13px;
  color: rgba(232, 247, 247, .72);
  line-height: 1.5;
}

.tervona-footer .footer-cols a:hover {
  color: #75ded8;
}

.tervona-footer .footer-legal {
  position: relative;
  z-index: 1;
  align-items: center;
  margin-top: 30px;
  padding: 22px 24px;
  color: rgba(226, 244, 244, .57);
  border: 1px solid rgba(111, 209, 207, .13);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.tervona-footer .footer-legal strong {
  color: rgba(246, 255, 255, .9);
}

@media (max-width: 1120px) {
  .product-downloads .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tervona-footer .footer-cols > div {
    padding-left: 20px;
  }
}

@media (max-width: 700px) {
  .product-downloads {
    width: calc(100vw - 32px);
    margin-bottom: 76px;
    padding: 42px 18px 22px;
    border-radius: 24px;
  }

  .product-downloads > h2 {
    margin-bottom: 30px;
    padding-left: 18px;
    font-size: 38px;
  }

  .product-downloads > h2::before {
    width: 5px;
  }

  .product-downloads .resource-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .product-downloads .resource-grid a {
    min-height: 112px;
    padding: 22px 18px 18px 22px;
    border-radius: 16px;
  }

  .product-downloads .resource-grid a > span {
    font-size: 17px;
  }

  .product-downloads .resource-grid a > svg {
    width: 42px;
    height: 42px;
    padding: 12px;
  }

  .tervona-footer {
    gap: 48px;
    padding: 68px 22px 24px;
  }

  .tervona-footer .footer-brand-logo {
    width: 184px;
  }

  .tervona-footer .footer-cols {
    gap: 36px 18px;
  }

  .tervona-footer .footer-cols > div {
    padding-left: 15px;
  }

  .tervona-footer h4 {
    margin-bottom: 21px;
    font-size: 17px;
  }

  .tervona-footer .footer-cols a {
    font-size: 15px;
  }

  .tervona-footer .footer-legal {
    gap: 12px;
    margin-top: 4px;
    padding: 20px;
    font-size: 14px;
  }
}

/* Premium industrial minimalism: one restrained public-site system. */
:root {
  --brand-accent: #00a7aa;
  --brand-ink: #0b1113;
  --brand-muted: #5f696d;
  --brand-surface: #f5f6f7;
  --brand-line: #d7dcde;
  --purple: var(--brand-accent);
  --purple-soft: #a8d9da;
  --line: var(--brand-line);
  --dark: var(--brand-ink);
  --button-color: var(--brand-ink);
  --shadow: 0 18px 48px rgba(11, 17, 19, .08);
}

.product-advantages-grid article {
  border: 1px solid #e1e5e6;
  border-radius: 16px;
  background: #f7f8f8;
}

.product-advantages-grid b {
  color: #007f83;
  border: 1px solid #b9dfe0;
  background: #fff;
}

.product-advantages-grid b::after {
  display: none;
}

.product-advantages-grid h3 {
  color: var(--brand-ink);
}

.product-advantages-grid p {
  color: var(--brand-muted);
}

.product-advantages-cta {
  color: #fff;
  border-radius: 16px;
  background: var(--brand-ink);
  box-shadow: 0 18px 40px rgba(4, 18, 21, .18);
}

.product-advantages-cta:hover {
  background: #183035;
}

.product-advantages-cta i {
  color: #007f83;
}

.product-downloads {
  width: 100%;
  max-width: none;
  isolation: auto;
  overflow: visible;
  margin: 0;
  padding: clamp(78px, 7vw, 112px) max(6vw, calc((100vw - 1500px) / 2)) clamp(86px, 7vw, 116px);
  border: 0;
  border-radius: 0;
  background: var(--brand-surface);
  box-shadow: none;
}

.product-downloads::before {
  display: none;
}

.product-downloads > h2 {
  margin: 0 0 clamp(42px, 4vw, 60px);
  padding: 0;
  color: var(--brand-ink);
  font-family: var(--font-medium);
  font-size: clamp(46px, 4vw, 64px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.05;
}

.product-downloads > h2::before {
  display: none;
}

.product-downloads .resource-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #cbd1d3;
  border-bottom: 1px solid #cbd1d3;
}

.product-downloads .resource-grid a {
  min-height: 180px;
  padding: 34px 30px 28px;
  color: var(--brand-ink);
  border: 0;
  border-right: 1px solid #cbd1d3;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: color .22s ease, background .22s ease;
}

.product-downloads .resource-grid a:last-child {
  border-right: 0;
}

.product-downloads .resource-grid a::before {
  display: none;
}

.product-downloads .resource-grid a > span {
  max-width: calc(100% - 48px);
  font-family: var(--font-medium);
  font-size: clamp(18px, 1.18vw, 21px);
  font-weight: 500;
  letter-spacing: -.015em;
}

.product-downloads .resource-grid a > svg {
  align-self: flex-end;
  width: 26px;
  height: 26px;
  padding: 0;
  color: var(--brand-accent);
  border: 0;
  border-radius: 0;
  background: transparent;
  stroke-width: 1.7;
  transition: transform .22s ease;
}

.product-downloads .resource-grid a:hover {
  color: var(--brand-ink);
  border-color: #cbd1d3;
  background: #fff;
  box-shadow: none;
  transform: none;
}

.product-downloads .resource-grid a:hover > svg {
  color: var(--brand-accent);
  background: transparent;
  transform: translateX(5px);
}

.tervona-footer {
  overflow: visible;
  grid-template-columns: minmax(280px, 1.02fr) minmax(600px, 1.72fr);
  gap: clamp(64px, 7vw, 126px);
  padding: clamp(76px, 7vw, 104px) clamp(32px, 6vw, 116px) 38px;
  color: rgba(255, 255, 255, .66);
  background: #0b1113;
}

.tervona-footer::before,
.tervona-footer::after {
  display: none;
}

.tervona-footer .footer-brand {
  max-width: 390px;
}

.tervona-footer .footer-brand-logo {
  width: 210px;
  margin-bottom: 34px;
}

.tervona-footer .footer-brand-logo img {
  filter: brightness(2.15) saturate(.9);
  opacity: 1;
}

.tervona-footer .footer-brand > strong {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
}

.tervona-footer .footer-brand > p {
  margin: 14px 0 34px;
  color: rgba(255, 255, 255, .6);
  font-size: 17px;
  line-height: 1.7;
}

.tervona-footer .footer-contact-link {
  min-height: 42px !important;
  gap: 13px;
  margin: 0 !important;
  padding: 0 0 10px;
  color: #fff !important;
  border: 0;
  border-bottom: 1px solid var(--brand-accent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: color .2s ease, border-color .2s ease;
}

.tervona-footer .footer-contact-link svg {
  width: 23px;
  height: 23px;
  padding: 0;
  color: var(--brand-accent);
  border-radius: 0;
  background: transparent;
  transition: transform .2s ease;
}

.tervona-footer .footer-contact-link:hover {
  color: #fff !important;
  border-color: #fff;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.tervona-footer .footer-contact-link:hover svg {
  transform: translateX(4px);
}

.tervona-footer .footer-cols {
  grid-template-columns: minmax(220px, 1.18fr) minmax(160px, .82fr) minmax(210px, 1fr);
  gap: clamp(32px, 3vw, 56px);
}

.tervona-footer .footer-cols > div {
  padding-left: 0;
  border-left: 0;
}

.tervona-footer h4 {
  margin: 0 0 28px;
  padding: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}

.tervona-footer h4::after {
  display: none;
}

.tervona-footer .footer-cols a {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, .62);
  font-size: 17px;
  line-height: 1.5;
  transform: none;
}

.tervona-footer .footer-cols a:hover {
  color: #fff;
  transform: none;
}

.tervona-footer .footer-link-list {
  display: grid;
  align-content: start;
}

.tervona-footer .footer-legal {
  align-items: flex-start;
  margin-top: 42px;
  padding: 30px 0 0;
  color: rgba(255, 255, 255, .48);
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .2);
  border-radius: 0;
  background: transparent;
}

.tervona-footer .footer-legal strong {
  color: rgba(255, 255, 255, .76);
}

@media (max-width: 1120px) {
  .product-downloads .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-downloads .resource-grid a:nth-child(2) {
    border-right: 0;
  }

  .product-downloads .resource-grid a:nth-child(-n + 2) {
    border-bottom: 1px solid #cbd1d3;
  }

  .tervona-footer {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .product-downloads {
    width: 100%;
    margin: 0;
    padding: 72px 24px 82px;
    border-radius: 0;
  }

  .product-downloads > h2 {
    margin-bottom: 38px;
    padding: 0;
    font-size: 42px;
  }

  .product-downloads .resource-grid {
    grid-template-columns: 1fr;
  }

  .product-downloads .resource-grid a,
  .product-downloads .resource-grid a:nth-child(2) {
    min-height: 112px;
    padding: 24px 12px 20px;
    border-right: 0;
    border-bottom: 1px solid #cbd1d3;
    border-radius: 0;
  }

  .product-downloads .resource-grid a:last-child {
    border-bottom: 0;
  }

  .product-downloads .resource-grid a > span {
    font-size: 18px;
  }

  .product-downloads .resource-grid a > svg {
    width: 24px;
    height: 24px;
  }

  .tervona-footer {
    gap: 56px;
    padding: 68px 24px 28px;
  }

  .tervona-footer .footer-brand-logo {
    width: 188px;
  }

  .tervona-footer .footer-cols {
    grid-template-columns: 1fr 1fr;
    gap: 42px 22px;
  }

  .tervona-footer .footer-company {
    grid-column: 1 / -1;
  }

  .tervona-footer .footer-company .footer-link-list {
    grid-template-columns: 1fr 1fr;
    column-gap: 22px;
  }

  .tervona-footer h4 {
    margin-bottom: 22px;
    font-size: 17px;
  }

  .tervona-footer .footer-cols a {
    font-size: 15px;
  }

  .tervona-footer .footer-legal {
    gap: 13px;
    margin-top: 6px;
    padding: 25px 0 0;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .tervona-footer .footer-cols,
  .tervona-footer .footer-company .footer-link-list {
    grid-template-columns: 1fr;
  }

  .tervona-footer .footer-company {
    grid-column: auto;
  }
}

/* Reference-aligned full-screen mobile navigation and home-hero media fixes. */
@media (max-width: 1020px) {
  .mobile-drawer {
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    background: #f1f1f1;
  }

  .mobile-drawer-panel {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    padding: 0 20px 30px;
    color: #8d8d8d;
    background: #f1f1f1;
    box-shadow: none;
    transform: none;
    overscroll-behavior: contain;
  }

  .mobile-drawer-head {
    position: sticky;
    top: 0;
    z-index: 10;
    height: 56px;
    min-height: 56px;
    display: grid;
    grid-template-columns: 56px 1fr 56px;
    align-items: center;
    margin: 0 -20px;
    padding: 0 20px;
    background: #fff;
    border-bottom: 1px solid #d9d9d9;
  }

  .mobile-drawer-head .fox-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 122px;
    height: 48px;
    transform: translate(-50%, -50%);
  }

  .mobile-drawer-head .logo-light {
    opacity: 0 !important;
  }

  .mobile-drawer-head .logo-dark {
    opacity: 1 !important;
    filter: none !important;
  }

  .mobile-drawer-head .mobile-drawer-close {
    grid-column: 1;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    justify-self: start;
    padding: 0;
    color: #111;
  }

  .mobile-drawer-close svg {
    width: 24px;
    height: 24px;
    stroke-width: 1.8;
  }

  .mobile-drawer-head-language {
    grid-column: 3;
    justify-self: end;
  }

  .mobile-drawer-head-language .region {
    width: 54px;
    min-height: 44px;
    justify-content: flex-end;
    gap: 6px;
    padding: 0;
    color: #333;
  }

  .mobile-drawer-head-language .region svg {
    width: 22px;
    height: 22px;
  }

  .mobile-drawer-head-language .region > span {
    display: none;
  }

  .mobile-drawer-head-language .region i {
    color: #888;
    font-size: 16px;
  }

  .mobile-drawer-head-language .language-menu {
    top: calc(100% + 2px);
    right: 0;
  }

  .mobile-drawer-nav {
    border-top: 0;
  }

  .mobile-drawer-item {
    border-bottom: 1px solid #d7d7d7;
  }

  .mobile-drawer-item > div:not(.mobile-submenu) {
    min-height: 53px;
  }

  .mobile-drawer-item > div > a,
  .mobile-drawer-item button.mobile-drawer-section-toggle {
    width: 100% !important;
    min-height: 53px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    color: #919191;
    font-family: var(--font-regular);
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.25;
    text-align: left;
    transform: none !important;
  }

  .mobile-drawer-item button.mobile-drawer-section-toggle {
    height: 53px !important;
  }

  .mobile-drawer-item > .mobile-submenu {
    min-height: 0;
  }

  .mobile-drawer-section-toggle i {
    width: 28px;
    height: 53px;
    display: grid;
    place-items: center;
    color: #b1b1b1;
    font-size: 25px;
    font-style: normal;
    font-weight: 300;
    transition: none;
  }

  .mobile-drawer-item.open .mobile-drawer-section-toggle {
    transform: none !important;
  }

  .mobile-drawer-item.open .mobile-drawer-section-toggle i {
    font-size: 0;
    transform: none;
  }

  .mobile-drawer-item.open .mobile-drawer-section-toggle i::before {
    content: "−";
    font-size: 24px;
  }

  .mobile-drawer-item.open .mobile-product-submenu {
    max-height: 520px;
    padding: 0 14px;
    overflow: hidden;
  }

  .mobile-product-category-link,
  .mobile-product-submenu > a {
    min-height: 49px;
    display: flex;
    align-items: center;
    padding: 0;
    color: #919191;
    border-bottom: 1px solid #d7d7d7;
    font-family: var(--font-regular);
    font-size: 16px;
  }

  .mobile-product-submenu > a:last-child {
    border-bottom: 0;
  }

  .mobile-drawer-utility {
    display: block;
  }

  .mobile-contact {
    min-height: 34px;
    margin-top: 30px;
    padding: 0 16px;
    color: var(--button-text-color);
    border-radius: 999px;
    font-family: var(--font-regular);
    font-size: 14px;
    font-weight: 400;
  }
}

@media (max-width: 767px) {
  .hero-slide > .hero-desktop-video {
    display: none;
  }

  .hero-slide > .hero-mobile-poster {
    display: block !important;
  }

  .hero-slide > .hero-mobile-poster img {
    object-fit: contain;
    object-position: center;
  }

  .innovation-overview header,
  .innovation-overview h2 {
    min-width: 0;
    max-width: 100%;
  }

  .innovation-overview h2 {
    font-size: clamp(32px, 8.5vw, 38px);
    overflow-wrap: anywhere;
  }
}
