/* Product-page styles are intentionally scoped to .product-page. */
.product-page { --product-blue: #0878e8; --product-deep: #102d50; color: var(--product-deep); background: #fff; }
.product-page::before, .product-page::after { position: fixed; z-index: 2; top: 0; bottom: 0; width: 1px; content: ""; pointer-events: none; background: rgba(203, 216, 231, .88); }
.product-page::before { left: calc(50% - var(--page-line-offset)); }.product-page::after { right: calc(50% - var(--page-line-offset)); }
.product-page .site-header { border-bottom-color: rgba(216, 228, 242, .82); }
.product-grid { width: min(calc(var(--page-line-offset) * 2 - 100px), calc(100% - 40px)); margin: 0 auto; }
.product-loading-skeleton { display: none; min-height: max(690px, 100svh); padding: 168px 0 134px; box-sizing: border-box; background: linear-gradient(115deg, #f7f9fb, #fff 62%); }
.product-page.is-product-loading > .product-loading-skeleton { display: block; }
.product-page.is-product-loading > main, .product-page.is-product-loading > .site-footer { display: none; }
.product-loading-skeleton-grid { display: grid; grid-template-columns: minmax(0, .87fr) minmax(470px, 1.13fr); align-items: center; gap: 58px; }
.product-loading-skeleton-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.product-skeleton-line, .product-loading-skeleton-image { display: block; overflow: hidden; border-radius: 9px; background: #e1e6eb; box-shadow: inset 0 0 0 1px rgba(186, 197, 208, .12); animation: product-skeleton-breathe 2.4s ease-in-out infinite; }
.product-skeleton-line:nth-child(even) { animation-delay: -.65s; }
.product-skeleton-line:nth-child(3n) { animation-delay: -1.2s; }
.product-skeleton-eyebrow { width: 148px; height: 16px; margin-bottom: 23px; border-radius: 5px; }
.product-skeleton-title { width: min(100%, 470px); height: 62px; border-radius: 13px; }
.product-skeleton-title-short { width: min(72%, 340px); height: 62px; margin-top: 10px; border-radius: 13px; }
.product-skeleton-english { width: min(66%, 310px); height: 14px; margin-top: 22px; border-radius: 5px; }
.product-skeleton-body { width: min(100%, 520px); height: 18px; margin-top: 35px; border-radius: 6px; }
.product-skeleton-body-short { width: min(82%, 425px); height: 18px; margin-top: 12px; border-radius: 6px; }
.product-skeleton-button { width: 142px; height: 48px; margin-top: 35px; border-radius: 12px; }
.product-loading-skeleton-image { min-height: 480px; border-radius: 28px; background: #e5e9ed; animation-delay: -.9s; }
@keyframes product-skeleton-breathe { 0%, 100% { background-color: #dfe4e9; opacity: .72; } 50% { background-color: #f0f2f4; opacity: 1; } }
.product-page main > section:not(:first-child) { border-top: 1px solid rgba(210, 222, 235, .9); }
.product-hero { position: relative; z-index: 5; overflow: visible; min-height: 690px; padding: 168px 0 134px; background: linear-gradient(115deg, #f7fbff, #fff 62%); }
.product-hero::before, .product-hero::after { position: absolute; z-index: 3; top: 0; bottom: 0; width: 1px; content: ""; pointer-events: none; background: rgba(173, 184, 196, .8); }
.product-hero::before { left: calc(50% - var(--page-line-offset)); }.product-hero::after { right: calc(50% - var(--page-line-offset)); }
.product-hero-grid { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(0, .87fr) minmax(470px, 1.13fr); align-items: center; gap: 58px; }
.product-eyebrow { margin: 0 0 17px; color: var(--product-blue); font-size: 16px; font-weight: 850; letter-spacing: .11em; }
.product-hero h1, .product-intro h2, .product-section-heading h2, .product-cta h2 { margin: 0; color: var(--product-deep); font-weight: 850; letter-spacing: -.065em; }
.product-hero h1 { font-size: clamp(43px, calc(5.1vw - 4px), 72px); line-height: 1.01; }.product-hero-english { margin: 16px 0 0; color: #495c76; font-size: 16px; font-weight: 900; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.product-hero-copy > p:not(.product-eyebrow):not(.product-hero-english) { max-width: 530px; margin: 30px 0 0; color: #536a86; font-size: 18px; line-height: 1.6; }
.product-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 35px; }
.product-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 23px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #08a5ff, #0068de); box-shadow: 0 13px 30px rgba(0, 113, 226, .23); font-size: 15px; font-weight: 820; transition: transform .2s ease, box-shadow .2s ease; }
.product-button:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 17px 33px rgba(0, 113, 226, .3); }
.product-link { color: #0878e8; font-size: 15px; font-weight: 820; }
.product-link span { margin-left: 5px; }
.product-hero-visual { display: grid; min-height: 480px; place-items: center; overflow: visible; }
.product-hero-visual img { width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.product-hero-visual, .managed-product-hero-image { position: relative; box-sizing: border-box; padding-bottom: 64px; }
.product-hero-disclaimer { position: absolute; z-index: 8; right: 50%; bottom: 6px; width: max-content; max-width: min(520px, calc(100% - 24px)); box-sizing: border-box; margin: 0; padding: 8px 13px; border: 1px solid rgba(255, 255, 255, .82); border-radius: 10px; color: #405469; background: rgba(247, 251, 255, .2); box-shadow: 0 8px 24px rgba(29, 65, 103, .08); backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); transform: translateX(50%); font-size: 11px; font-weight: 650; line-height: 1.5; letter-spacing: .01em; text-align: center; white-space: pre-line; }
.product-wave {
  --wave-deep: #2445ff;
  --wave-flow: #55bfff;
  --wave-clash: #a58acb;
  --wave-pale: #b5ddff;
  --wave-deep-rgb: 36 69 255;
  --wave-flow-rgb: 85 191 255;
  --wave-clash-rgb: 165 138 203;
  --wave-pale-rgb: 181 221 255;
  --wave-sat-start: 1.08;
  --wave-sat-mid: 1.22;
  --wave-sat-end: 1.14;
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: -160px;
  left: 0;
  height: 540px;
  isolation: isolate;
  overflow: hidden;
  clip-path: polygon(0 65%, 100% 8%, 100% 48%, 0 100%);
  background:
    radial-gradient(ellipse 30% 56% at 7% 73%, rgb(var(--wave-clash-rgb) / .94) 0 16%, transparent 68%),
    radial-gradient(ellipse 38% 44% at 27% 38%, rgb(var(--wave-deep-rgb) / .98) 0 18%, transparent 70%),
    radial-gradient(ellipse 43% 48% at 49% 69%, rgb(var(--wave-flow-rgb) / .96) 0 19%, transparent 72%),
    radial-gradient(ellipse 36% 52% at 72% 30%, rgb(var(--wave-clash-rgb) / .88) 0 17%, transparent 69%),
    radial-gradient(ellipse 34% 45% at 94% 66%, rgb(var(--wave-flow-rgb) / .94) 0 17%, transparent 68%),
    linear-gradient(103deg, var(--wave-deep) 0%, var(--wave-clash) 19%, var(--wave-pale) 34%, var(--wave-flow) 51%, var(--wave-deep) 70%, var(--wave-clash) 86%, var(--wave-flow) 100%);
  background-size: 175% 190%, 195% 180%, 185% 210%, 205% 175%, 180% 205%, 240% 100%;
  box-shadow: inset 0 28px 70px rgb(var(--wave-clash-rgb) / .22), inset 0 -30px 80px rgb(var(--wave-deep-rgb) / .3);
  filter: saturate(1.35) contrast(1.08);
  opacity: .99;
  animation: product-wave-flow 8.5s cubic-bezier(.45, 0, .25, 1) infinite alternate;
}
.product-wave::before,
.product-wave::after {
  position: absolute;
  inset: -24%;
  content: "";
  pointer-events: none;
  mix-blend-mode: screen;
  will-change: transform, background-position;
}
.product-wave::before {
  background:
    radial-gradient(ellipse 30% 20% at 13% 65%, rgb(var(--wave-flow-rgb) / .92) 0 20%, transparent 74%),
    radial-gradient(ellipse 34% 22% at 38% 35%, rgb(var(--wave-clash-rgb) / .9) 0 18%, transparent 72%),
    radial-gradient(ellipse 38% 24% at 65% 67%, rgb(var(--wave-deep-rgb) / .88) 0 19%, transparent 74%),
    radial-gradient(ellipse 29% 19% at 91% 32%, rgb(var(--wave-flow-rgb) / .9) 0 18%, transparent 72%);
  background-size: 130% 150%;
  filter: blur(24px) saturate(1.3);
  animation: product-wave-eddy 6.6s ease-in-out infinite alternate;
}
.product-wave::after {
  opacity: .82;
  background:
    radial-gradient(ellipse 23% 13% at 22% 33%, rgb(var(--wave-clash-rgb) / .88) 0 18%, transparent 74%),
    radial-gradient(ellipse 30% 16% at 53% 72%, rgb(var(--wave-flow-rgb) / .9) 0 19%, transparent 75%),
    radial-gradient(ellipse 26% 14% at 80% 43%, rgb(var(--wave-deep-rgb) / .92) 0 19%, transparent 74%),
    linear-gradient(112deg, transparent 24%, rgb(var(--wave-pale-rgb, 139 239 255) / .28) 46%, transparent 65%);
  background-size: 155% 145%, 145% 160%, 160% 145%, 210% 100%;
  filter: blur(15px) saturate(1.45);
  animation: product-wave-prism 9.4s cubic-bezier(.36, 0, .2, 1) infinite alternate-reverse;
}
.product-page[data-product-wave="rose-violet"] .product-wave {
  --wave-deep: #7359bd;
  --wave-flow: #83bde8;
  --wave-clash: #d59abb;
  --wave-pale: #d4e2f2;
  --wave-deep-rgb: 115 89 189;
  --wave-flow-rgb: 131 189 232;
  --wave-clash-rgb: 213 154 187;
  --wave-pale-rgb: 212 226 242;
  --wave-sat-start: 1.01;
  --wave-sat-mid: 1.14;
  --wave-sat-end: 1.07;
}
.product-page[data-product-wave="orange-cyan"] .product-wave {
  --wave-deep: #f35a29;
  --wave-flow: #24ddd2;
  --wave-clash: #ff9f43;
  --wave-pale: #ffd58a;
  --wave-deep-rgb: 243 90 41;
  --wave-flow-rgb: 36 221 210;
  --wave-clash-rgb: 255 159 67;
  --wave-pale-rgb: 255 213 138;
  --wave-sat-start: 1.12;
  --wave-sat-mid: 1.28;
  --wave-sat-end: 1.18;
}
.product-page[data-product-wave="green-cyan"] .product-wave {
  --wave-deep: #087f66;
  --wave-flow: #59d9ff;
  --wave-clash: #d6ed38;
  --wave-pale: #bafbea;
  --wave-deep-rgb: 8 127 102;
  --wave-flow-rgb: 89 217 255;
  --wave-clash-rgb: 214 237 56;
  --wave-pale-rgb: 186 251 234;
}
@keyframes product-wave-flow {
  0% { background-position: 0% 42%, 14% 52%, 4% 38%, 22% 57%, 7% 46%, 0% 50%; filter: saturate(var(--wave-sat-start, 1.2)) contrast(1.04); }
  50% { background-position: 46% 58%, 55% 39%, 44% 65%, 62% 38%, 50% 58%, 48% 50%; filter: saturate(var(--wave-sat-mid, 1.45)) contrast(1.08); }
  100% { background-position: 100% 56%, 91% 61%, 100% 35%, 88% 64%, 98% 41%, 100% 50%; filter: saturate(var(--wave-sat-end, 1.3)) contrast(1.06); }
}
@keyframes product-wave-eddy {
  0% { transform: translate3d(-7%, 4%, 0) rotate(-1.5deg) scale(1.02); background-position: 0% 40%; }
  100% { transform: translate3d(8%, -6%, 0) rotate(2deg) scale(1.16); background-position: 100% 62%; }
}
@keyframes product-wave-prism {
  0% { transform: translate3d(6%, -4%, 0) skewX(-5deg) scale(1.03); background-position: 100% 42%; opacity: .68; }
  100% { transform: translate3d(-8%, 6%, 0) skewX(4deg) scale(1.18); background-position: 0% 62%; opacity: .92; }
}
.product-benefits { position: relative; z-index: 4; padding: 160px 0 100px; }.product-benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); }.product-benefit-grid article { min-height: 240px; padding: 15px 30px 10px; border-left: 1px dashed #d8e3ee; }.product-benefit-grid article:first-child { border-left: 0; padding-left: 0; }.product-icon { display: block; width: 35px; height: 35px; margin-bottom: 22px; border: 4px solid #13d8d7; border-radius: 50%; }.product-icon-cell { border-color: #0a89ef; box-shadow: 14px 0 0 -9px #16d7d1; }.product-icon-snow { border-style: dashed; border-color: #11c8db; }.product-icon-file { border-radius: 7px; border-color: #0a83eb; }.product-benefit-grid h2 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.035em; }.product-benefit-grid p { margin: 0; color: #60738b; font-size: 15px; line-height: 1.64; }
.product-highlights { padding: 80px 0; background: #f5f7fa; }.product-highlights > .product-grid > h2, .product-quality h2, .product-compare h2 { margin: 0; color: var(--product-deep); font-size: clamp(38px, 4.4vw, 58px); font-weight: 850; line-height: 1.07; letter-spacing: -.065em; }.product-highlight-grid { display: grid; grid-template-columns: 1.06fr 1fr 1fr; gap: 24px; margin-top: 50px; }.product-highlight-card { min-height: 510px; padding: 34px; border-radius: 28px; background: #fff; }.product-highlight-card h3 { margin: 30px 0 12px; color: #183a61; font-size: 23px; letter-spacing: -.04em; }.product-highlight-card p { max-width: 360px; margin: 0; color: #5e728b; font-size: 16px; line-height: 1.65; }.product-card-art { display: grid; height: 226px; place-items: center; overflow: hidden; border-radius: 19px; background: #f1f4f7; }.product-card-art-cells { position: relative; grid-template-columns: repeat(2, 66px); gap: 12px; background: radial-gradient(circle at 48% 55%, #d3fbfa, transparent 28%), #eef7fb; }.product-card-art-cells span { width: 61px; height: 61px; border: 9px solid #19c9d6; border-radius: 50%; background: rgba(255, 255, 255, .62); box-shadow: inset 0 0 0 9px rgba(8, 120, 232, .12); }.product-card-art-cells span:nth-child(2) { transform: translateY(-22px); border-color: #168bf0; }.product-card-art-cells span:nth-child(3) { transform: translate(19px, 9px); border-color: #1bdcd3; }.product-card-art-cells span:nth-child(4) { transform: translate(-17px, 21px); border-color: #0b73df; }.product-card-art-report { align-content: center; gap: 12px; padding: 34px 50px; }.product-card-art-report i { width: 100%; height: 12px; border-radius: 9px; background: linear-gradient(90deg, #10cfd6 0 22%, #dce6ef 22%); }.product-card-art-report i:nth-child(2) { background: linear-gradient(90deg, #0787ef 0 47%, #dce6ef 47%); }.product-card-art-report i:nth-child(3) { background: linear-gradient(90deg, #14d1c4 0 34%, #dce6ef 34%); }.product-card-art-report i:nth-child(4) { background: linear-gradient(90deg, #0b73df 0 66%, #dce6ef 66%); }.product-card-art-report i:nth-child(5) { background: linear-gradient(90deg, #0ebed6 0 55%, #dce6ef 55%); }.product-card-art-report i:nth-child(6) { background: linear-gradient(90deg, #0878e8 0 39%, #dce6ef 39%); }.product-card-art-assurance { background: radial-gradient(circle at center, #c5fbf7, transparent 35%), linear-gradient(145deg, #eaf7ff, #f4f6fb); }.product-card-art-assurance strong { color: #0878e8; font-size: clamp(66px, 7vw, 100px); font-weight: 850; letter-spacing: -.09em; }.product-card-art-assurance strong span { margin-left: 7px; color: #1a4f84; font-size: .33em; letter-spacing: 0; }
.product-highlights { position: relative; overflow: hidden; }
.product-highlights > .product-grid { position: relative; }
.product-highlight-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.product-highlight-heading h2 { margin: 0; color: var(--product-deep); font-size: clamp(38px, 4.4vw, 58px); font-weight: 850; line-height: 1.07; letter-spacing: -.065em; }
.product-highlight-description { max-width: 560px; margin: 24px 0 0; color: #5d728b; font-size: 18px; line-height: 1.62; }
.product-highlight-controls { display: flex; flex: 0 0 auto; gap: 10px; padding-bottom: 8px; }
.product-highlight-carousel { --highlight-edge-space: max(20px, calc(50vw - var(--page-line-offset) + 50px)); position: relative; z-index: 3; width: 100vw; margin-top: 50px; margin-left: calc(50% - 50vw); padding: 10px 0 38px; overflow-x: auto; overflow-y: visible; scroll-behavior: smooth; scroll-padding-inline: var(--highlight-edge-space); scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.product-highlight-carousel::-webkit-scrollbar { display: none; }
.product-highlight-grid { display: flex; width: max-content; margin: 0; padding-right: var(--highlight-edge-space); padding-left: var(--highlight-edge-space); gap: 24px; }
.product-highlight-card { position: relative; z-index: 2; display: flex; flex: 0 0 clamp(340px, 29vw, 460px); min-height: 0; aspect-ratio: 1; justify-content: flex-end; flex-direction: column; padding: 24px; overflow: hidden; border-radius: 28px; background: #eef3f7; scroll-snap-align: start; isolation: isolate; transition: transform .25s ease; }
.product-highlight-card:nth-child(3) { z-index: 4; }
.product-highlight-card:hover { transform: translateY(-6px); }
.product-highlight-card::after { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: 62%; content: ""; pointer-events: none; }
.product-highlight-card[data-text-tone="light"]::after { background: linear-gradient(180deg, transparent, rgba(4, 15, 26, .22) 28%, rgba(4, 15, 26, .82)); }
.product-highlight-card[data-text-tone="dark"]::after { background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .15) 30%, rgba(255, 255, 255, .88)); }
.product-highlight-card .product-card-art { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; padding: 0; border-radius: inherit; grid-template-columns: none; }
.product-highlight-card.has-managed-image .product-card-art { display: block; }
.product-highlight-card.has-managed-image .product-card-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-highlight-card h3, .product-highlight-card p { position: relative; z-index: 2; max-width: 92%; }
.product-highlight-card h3 { margin: 0 0 10px; font-size: clamp(24px, 2.1vw, 31px); line-height: 1.08; letter-spacing: -.045em; }
.product-highlight-card p { margin: 0; font-size: 15px; line-height: 1.55; }
.product-highlight-card[data-text-tone="light"] h3, .product-highlight-card[data-text-tone="light"] p { color: #fff; text-shadow: 0 2px 14px rgba(0, 0, 0, .68), 0 1px 2px rgba(0, 0, 0, .6); }
.product-highlight-card[data-text-tone="dark"] h3 { color: #102d4a; text-shadow: 0 1px 10px rgba(255, 255, 255, .72); }
.product-highlight-card[data-text-tone="dark"] p { color: #294762; text-shadow: 0 1px 8px rgba(255, 255, 255, .78); }
.product-quality { padding: 80px 0; }.product-quality-heading { display: block; max-width: 780px; }.product-quality-heading > p { max-width: 680px; margin: 24px 0 0; color: #5d728d; font-size: 18px; line-height: 1.65; }.product-quality-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 57px; border-top: 1px solid #d9e4ee; }.product-quality-grid article { min-height: 260px; padding: 28px 30px 0; border-left: 1px dashed #d8e1eb; }.product-quality-grid article:first-child { padding-left: 0; border-left: 0; }.product-quality-number { color: #11bdcf; font-size: 15px; font-weight: 850; }.product-quality-grid h3 { margin: 25px 0 13px; color: #163a62; font-size: 20px; line-height: 1.28; letter-spacing: -.035em; }.product-quality-grid p { margin: 0; color: #64778e; font-size: 15px; line-height: 1.65; }
.product-assurance { padding: 80px 0; background: #f4f7fa; }.product-assurance-heading { max-width: 780px; }.product-assurance-heading h2 { margin: 0; color: var(--product-deep); font-size: clamp(38px, 4.4vw, 58px); font-weight: 850; line-height: 1.08; letter-spacing: -.065em; }.product-assurance-heading > p:last-child { max-width: 530px; margin: 24px 0 0; color: #5d728b; font-size: 18px; line-height: 1.62; }.product-assurance-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 55px; border-top: 1px solid #d8e3ed; border-left: 1px solid #d8e3ed; }.product-assurance-grid article { min-height: 228px; padding: 25px 21px; border-right: 1px solid #d8e3ed; border-bottom: 1px solid #d8e3ed; background: rgba(255, 255, 255, .75); transition: background .2s ease, transform .2s ease; }.product-assurance-grid article:hover { background: #fff; transform: translateY(-3px); }.product-assurance-grid span { color: #14bdcf; font-size: 14px; font-weight: 850; }.product-assurance-grid h3 { margin: 20px 0 11px; color: #183c64; font-size: 19px; letter-spacing: -.035em; }.product-assurance-grid p { margin: 0; color: #64778f; font-size: 14px; line-height: 1.64; }
@media (min-width: 861px) { .product-assurance-grid[data-card-count="6"] { grid-template-columns: repeat(3, 1fr); }.product-assurance-grid[data-card-count="7"], .product-assurance-grid[data-card-count="8"] { grid-template-columns: repeat(4, 1fr); } }
.product-intro { padding: 80px 0; background: #fff; }.product-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }.product-intro h2 { margin: 0; color: var(--product-deep); font-size: clamp(38px, 4vw, 58px); font-weight: 850; line-height: 1.08; letter-spacing: -.065em; }.product-intro-copy { max-width: 505px; padding-top: 28px; }.product-intro-copy p { margin: 0 0 20px; color: #4e6682; font-size: 18px; line-height: 1.65; }.product-intro-panels { display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; margin-top: 62px; }.product-intro-panel { min-height: 330px; padding: 28px; border-radius: 28px; background: #f2f5f8; }.product-intro-panel-wide { grid-row: span 2; min-height: 684px; }.product-intro-panel h3 { margin: 22px 0 10px; color: #193d66; font-size: 22px; letter-spacing: -.04em; }.product-intro-panel p { max-width: 400px; margin: 0; color: #62758c; font-size: 15px; line-height: 1.62; }.product-intro-panel-art { position: relative; display: grid; min-height: 187px; place-items: center; overflow: hidden; border-radius: 18px; background: #fff; }.product-intro-panel-art-source { background: radial-gradient(circle at 50% 52%, #ccfbf4, transparent 20%), linear-gradient(145deg, #e9f5fb, #fff); }.product-intro-panel-art-source span { position: absolute; width: 120px; height: 120px; border: 17px solid #13cbd1; border-radius: 50%; box-shadow: inset 0 0 0 17px rgba(8, 120, 232, .13); }.product-intro-panel-art-source span:nth-child(2) { width: 76px; height: 76px; transform: translate(-118px, -73px); border-width: 12px; border-color: #0a85ec; }.product-intro-panel-art-source span:nth-child(3) { width: 91px; height: 91px; transform: translate(130px, 85px); border-width: 12px; border-color: #20dfd7; }.product-intro-panel-art-path { display: flex; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(125deg, #f8fbfd, #eaf7fb); }.product-intro-panel-art-path i { width: 36px; height: 36px; border-radius: 50%; background: #12c7d3; box-shadow: 48px 0 0 -4px #0a83e8, 96px 0 0 -4px #6fdfe2; }.product-intro-panel-art-path i:not(:first-child) { display: none; }.product-intro-panel-art-record { gap: 15px; background: linear-gradient(145deg, #eff7fb, #fff); }.product-intro-panel-art-record b { display: grid; width: 78px; height: 78px; place-items: center; border: 1px solid #b9d5e9; border-radius: 16px; color: #1376d8; background: #fff; font-size: 23px; letter-spacing: -.04em; }
.product-intro-panel.has-managed-image .product-intro-panel-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-intro-panel-wide.has-managed-image { padding: 0; overflow: hidden; border: 1px solid #e0e7ee; background: #fff; }
.product-intro-panel-wide.has-managed-image .product-intro-panel-art { width: 100%; height: 500px; min-height: 0; border-radius: 27px 27px 0 0; }
.product-intro-panel-wide.has-managed-image h3 { margin: 0; padding: 20px 24px 6px; }
.product-intro-panel-wide.has-managed-image p { max-width: none; padding: 0 24px 20px; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image { position: relative; display: flex; min-height: 330px; justify-content: flex-end; flex-direction: column; padding: 20px; overflow: hidden; isolation: isolate; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image .product-intro-panel-art { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; min-height: 0; border-radius: inherit; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image::after { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: 68%; content: ""; pointer-events: none; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="light"]::after { background: linear-gradient(180deg, transparent, rgba(5, 16, 28, .8)); }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="dark"]::after { background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .9)); }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image h3, .product-intro-panel:not(.product-intro-panel-wide).has-managed-image p { position: relative; z-index: 2; max-width: 92%; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image h3 { margin: 0 0 6px; }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="light"] h3, .product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="light"] p { color: #fff; text-shadow: 0 2px 13px rgba(0, 0, 0, .7), 0 1px 2px rgba(0, 0, 0, .55); }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="dark"] h3 { color: #102d4a; text-shadow: 0 1px 10px rgba(255, 255, 255, .82); }
.product-intro-panel:not(.product-intro-panel-wide).has-managed-image[data-text-tone="dark"] p { color: #294762; text-shadow: 0 1px 8px rgba(255, 255, 255, .86); }
.product-compare { padding: 80px 0; background: #f4f7fa; }.product-compare-heading { max-width: 75%; }.product-compare-heading > p:last-child { max-width: none; margin: 24px 0 0; color: #5c718a; font-size: 18px; line-height: 1.62; }.product-compare-table { --compare-plan-count: 2; display: grid; grid-template-columns: minmax(180px, .72fr) repeat(var(--compare-plan-count), minmax(0, 1fr)); gap: 0; width: 100%; max-width: 1120px; margin: 59px auto 0; border: 1px solid #dce5ee; border-radius: 24px; overflow: hidden; background: #fff; }.product-compare-labels { display: grid; grid-template-rows: 148px repeat(3, 68px); align-items: center; padding: 0 24px; color: #60748d; font-size: 14px; font-weight: 760; background: #f8fbfd; }.product-compare-labels strong { align-self: center; color: #214a73; font-size: 15px; }.product-compare-labels span { display: flex; align-items: center; align-self: stretch; border-top: 1px solid #e4ebf2; }.product-compare-table article { display: flex; min-width: 0; flex-direction: column; padding: 0 28px 26px; border-left: 1px solid #dce5ee; }.product-plan-head { display: flex; min-height: 148px; flex-direction: column; justify-content: center; }.product-plan-name { width: 100%; margin: 0; color: var(--product-blue); font-size: 27px; font-weight: 900; text-align: right; }.product-plan-head > strong { display: block; margin: 10px 0 0; color: #123d6c; font-size: 50px; line-height: 1; letter-spacing: -.07em; }.product-plan-head > strong small { font-size: 22px; letter-spacing: -.03em; }.product-compare-table dl { margin: 0 0 24px; }.product-compare-table dl div { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e4ebf2; }.product-compare-table dt { display: none; }.product-compare-table dd { min-width: 0; margin: 0; color: #1d426d; font-size: 15px; font-weight: 750; text-align: right; overflow-wrap: anywhere; }.product-compare-table .product-button { width: auto; margin: auto 0 0 auto; padding: 11px 20px; white-space: nowrap; }.product-compare-note { max-width: 1120px; margin: 18px auto 0; color: #74859a; font-size: 13px; line-height: 1.58; }
.product-highlight-heading { position: relative; }
.product-highlight-heading > div:first-child { width: 100%; }
.product-highlight-description,
.product-quality-heading > p,
.product-assurance-heading > p:last-child,
.product-compare-heading > p:last-child { width: 70%; max-width: none; }
.product-quality-heading,
.product-assurance-heading,
.product-compare-heading { max-width: none; }
.product-quality-heading > div,
.product-assurance-heading h2,
.product-compare-heading h2 { max-width: 780px; }
.product-highlight-controls { position: absolute; right: 0; bottom: 8px; }
.product-cta { padding: 70px 0; background: radial-gradient(circle at 86% 13%, rgba(86, 179, 241, .36), transparent 31%), radial-gradient(circle at 9% 92%, rgba(61, 192, 194, .2), transparent 35%), linear-gradient(123deg, #104f8b 0%, #1d6fac 50%, #3f8ec6 100%); }.product-cta-heading { max-width: 650px; }.product-cta .product-eyebrow { color: #d1fbf8; }.product-cta h2 { margin: 0; color: #f7fbff; font-size: clamp(38px, 4.2vw, 58px); font-weight: 850; line-height: 1.07; letter-spacing: -.065em; }.product-cta-layout { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 0; margin-top: 42px; border-top: 1px solid rgba(230, 245, 255, .48); }.product-cta-primary, .product-cta-item { min-height: 270px; padding: 30px 32px; }.product-cta-primary { border-right: 1px dashed rgba(230, 245, 255, .48); }.product-cta-primary p { max-width: 425px; margin: 0 0 24px; color: #e3f1fc; font-size: 18px; line-height: 1.62; }.product-cta .product-button { color: #06316f; background: linear-gradient(135deg, #f4ffff, #9decee); box-shadow: 0 13px 30px rgba(0, 10, 50, .18); }.product-cta .product-button:hover { color: #06316f; box-shadow: 0 17px 33px rgba(0, 10, 50, .28); }.product-cta-item { border-right: 1px dashed rgba(230, 245, 255, .48); }.product-cta-item:last-child { border-right: 0; }.product-cta-item > span { color: #d1fbf8; font-size: 15px; font-weight: 850; }.product-cta-item h3 { margin: 20px 0 10px; color: #f7fbff; font-size: 21px; letter-spacing: -.04em; }.product-cta-item p { min-height: 68px; margin: 0 0 18px; color: #dcecf9; font-size: 15px; line-height: 1.6; }.product-cta .product-link { color: #d5fbff; }

/* Admin-managed product layout. Existing static markup stays untouched until a product is saved with content blocks. */
.managed-product-hero { padding: 160px 0 110px; background: linear-gradient(120deg, #f5fbff, #fff 65%); }
.managed-product-hero .managed-product-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 70px; }
.managed-product-hero-copy h1 { margin: 0; color: var(--product-deep); font-size: clamp(44px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.065em; }
.managed-product-hero-copy > p:not(.product-eyebrow):not(.product-hero-english) { max-width: 570px; margin: 26px 0 0; color: #536a86; font-size: 18px; line-height: 1.65; }
.managed-product-hero-copy .product-button { margin-top: 32px; }
.managed-product-hero-image { display: grid; min-height: 460px; place-items: center; }
.managed-product-hero-image img { width: 100%; max-height: 560px; object-fit: contain; filter: drop-shadow(0 28px 24px rgba(9, 60, 112, .18)); }
.managed-product-section { padding: 90px 0; background: #fff; }.managed-product-section.is-tinted { background: #f4f7fa; }
.managed-product-section h2 { max-width: 800px; margin: 0; color: var(--product-deep); font-size: clamp(36px, 4.2vw, 58px); line-height: 1.08; letter-spacing: -.06em; }
.managed-product-intro { max-width: 660px; margin: 22px 0 0; color: #5b7089; font-size: 18px; line-height: 1.65; }
.managed-product-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-top: 48px; }
.managed-product-cards article { min-height: 250px; padding: 28px; border: 1px solid #dfe7ef; border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(31, 69, 112, .06); }
.managed-product-cards article > span { color: #0fbdca; font-size: 15px; font-weight: 850; }.managed-product-cards img { width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; object-fit: cover; }
.managed-product-cards h3 { margin: 25px 0 12px; color: #173a61; font-size: 21px; letter-spacing: -.04em; }.managed-product-cards p { margin: 0; color: #61748b; font-size: 15px; line-height: 1.65; }
.managed-product-split .managed-product-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 80px; }.managed-product-copy p { margin: 0 0 20px; color: #4f6681; font-size: 18px; line-height: 1.7; }
.managed-product-split-image { grid-column: 1 / -1; width: 100%; max-height: 690px; margin-top: 25px; border-radius: 26px; object-fit: cover; }
.managed-product-wide-image { width: 100%; max-height: 720px; margin-top: 42px; border-radius: 26px; object-fit: cover; }.managed-product-caption { margin: 13px 0 0; color: #75879a; font-size: 13px; }
.managed-product-cta { color: #fff; background: linear-gradient(125deg, #0d4787, #1774b9 60%, #27a5c4); }.managed-product-cta h2, .managed-product-cta .product-eyebrow { color: #fff; }.managed-product-cta .managed-product-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 80px; }.managed-product-cta .managed-product-copy p { color: #e2f2ff; }.managed-product-cta .product-button { color: #08366e; background: #fff; }
@media (max-width: 860px) { .product-loading-skeleton { padding: 122px 0 88px; }.product-loading-skeleton-grid { grid-template-columns: 1fr; gap: 45px; }.product-loading-skeleton-image { min-height: 340px; }.product-hero { min-height: auto; padding: 122px 0 88px; }.product-hero-grid, .product-intro-grid, .product-quality-heading { grid-template-columns: 1fr; gap: 45px; }.product-hero-visual { min-height: 360px; }.product-benefit-grid, .product-process-list, .product-quality-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 0; }.product-benefit-grid article:nth-child(odd), .product-process-list li:nth-child(odd), .product-quality-grid article:nth-child(odd) { border-left: 0; padding-left: 0; }.product-section-heading { align-items: flex-start; flex-direction: column; }.product-wave { bottom: -180px; height: 335px; }.product-benefits { padding-top: 236px; }.product-intro { padding: 78px 0; }.product-highlight-grid { grid-template-columns: 1fr; }.product-highlight-card { min-height: auto; }.product-assurance-grid { grid-template-columns: repeat(2, 1fr); }.product-intro-panels { grid-template-columns: 1fr 1fr; }.product-intro-panel-wide { grid-row: span 1; grid-column: span 2; min-height: 420px; }.product-compare-table, .product-cta-layout { grid-template-columns: repeat(2, 1fr); }.product-compare-labels { display: none; }.product-compare-table article:first-of-type { border-left: 0; }.product-cta-primary { grid-column: span 2; border-right: 0; border-bottom: 1px dashed #cfdce7; }.product-cta-item:last-child { border-right: 0; } }
@media (max-width: 860px) { .managed-product-hero .managed-product-grid, .managed-product-split .managed-product-grid, .managed-product-cta .managed-product-grid { grid-template-columns: 1fr; gap: 45px; }.managed-product-hero-image { min-height: 340px; } }
@media (max-width: 640px) { .product-loading-skeleton { min-height: 100svh; padding: 112px 0 74px; }.product-loading-skeleton-grid { gap: 38px; }.product-skeleton-eyebrow { width: 122px; height: 14px; margin-bottom: 20px; }.product-skeleton-title, .product-skeleton-title-short { height: 42px; }.product-skeleton-english { display: none; }.product-skeleton-body { margin-top: 30px; }.product-loading-skeleton-image { min-height: 280px; border-radius: 22px; }.product-grid { width: min(100% - 36px, 1180px); }.product-page::before, .product-page::after, .product-hero::before, .product-hero::after { display: none; }.product-hero h1 { font-size: 42px; }.product-benefit-grid, .product-process-list, .product-quality-grid, .product-compare-table, .product-assurance-grid, .product-intro-panels, .product-cta-layout { grid-template-columns: 1fr; }.product-benefit-grid article, .product-process-list li, .product-quality-grid article { min-height: auto; border-left: 0; padding: 0; }.product-benefit-grid { gap: 32px; padding-top: 214px; }.product-process-list, .product-quality-grid { gap: 30px; }.product-hero-visual { min-height: 310px; }.product-wave { bottom: -175px; height: 295px; }.product-highlights, .product-quality, .product-compare, .product-assurance, .product-cta { padding: 78px 0; }.product-highlight-card { padding: 25px; border-radius: 22px; }.product-assurance-grid article { min-height: auto; }.product-intro-panel-wide { grid-column: auto; min-height: auto; }.product-intro-panel { min-height: auto; }.product-intro-panel-art { min-height: 160px; }.product-compare-table article { border-top: 1px solid #dce5ee; border-left: 0; }.product-compare-table article:first-of-type { border-top: 0; }.product-compare-table dt { display: block; color: #728299; font-size: 13px; }.product-compare-table dd { text-align: right; }.product-cta-primary, .product-cta-item { min-height: auto; padding: 30px 0; border-right: 0; border-bottom: 1px dashed rgba(202, 228, 255, .35); }.product-cta-primary { grid-column: auto; }.product-cta-item:last-child { border-bottom: 0; }.product-cta-item p { min-height: auto; } }

@media (prefers-reduced-motion: reduce) { .product-skeleton-line, .product-loading-skeleton-image { animation: none; } }
@media (max-width: 640px) { .managed-product-hero { padding: 122px 0 74px; }.managed-product-hero-copy h1 { font-size: 42px; }.managed-product-section { padding: 70px 0; }.managed-product-cards { grid-template-columns: 1fr; }.managed-product-hero-image { min-height: 280px; }.managed-product-wide-image, .managed-product-split-image { border-radius: 18px; } }
@media (max-width: 860px) { .product-highlight-heading { align-items: flex-end; }.product-highlight-card { flex-basis: min(76vw, 420px); } }
@media (max-width: 640px) { .product-highlight-heading { align-items: flex-start; flex-direction: column; gap: 24px; }.product-highlight-controls { align-self: flex-end; padding: 0; }.product-highlight-carousel { --highlight-edge-space: 18px; margin-top: 30px; }.product-highlight-grid { gap: 16px; padding-right: 0; }.product-highlight-card { flex: 0 0 calc(100vw - 54px); min-height: 0; padding: 20px; border-radius: 22px; }.product-highlight-card:last-child { margin-right: var(--highlight-edge-space); }.product-highlight-card .product-card-art, .product-highlight-card.has-managed-image .product-card-art { width: 100%; height: 100%; aspect-ratio: auto; }.product-highlight-card h3 { font-size: 25px; }.product-highlight-card p { font-size: 14px; } }
@media (max-width: 640px) { .product-intro-panel-wide.has-managed-image .product-intro-panel-art { height: 290px; }.product-intro-panel:not(.product-intro-panel-wide).has-managed-image { min-height: 300px; } }
.product-compare-table .product-button { align-self: flex-end; }
@media (max-width: 860px) { .product-compare-heading { max-width: 100%; }.product-compare-table article:nth-of-type(n+3) { border-top: 1px solid #dce5ee; } }
@media (max-width: 860px) {
  .product-highlight-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .product-highlight-controls { position: static; align-self: flex-end; }
  .product-highlight-description,
  .product-quality-heading > p,
  .product-assurance-heading > p:last-child,
  .product-compare-heading > p:last-child { width: 100%; }
}
@media (max-width: 640px) {
  .product-hero,
  .managed-product-hero {
    padding-top: 112px;
  }

  .product-hero-english {
    display: none;
  }

  .product-hero-copy > p:not(.product-eyebrow):not(.product-hero-english) {
    margin-top: 26px;
  }

  .product-hero-actions {
    margin-top: 31px;
  }

  .managed-product-hero-copy > p:not(.product-eyebrow):not(.product-hero-english) {
    margin-top: 22px;
  }

  .managed-product-hero-copy .product-button {
    margin-top: 28px;
  }

  .product-highlights > .product-grid > h2,
  .product-highlight-heading h2,
  .product-quality h2,
  .product-assurance-heading h2,
  .product-intro h2,
  .product-section-heading h2,
  .product-compare h2,
  .product-cta h2 {
    font-size: 30px;
  }

  .managed-product-section h2 {
    font-size: 32px;
  }

  .product-hero-visual {
    position: relative;
    z-index: 5;
  }

  .product-page .product-hero-visual img {
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    max-height: 518px;
  }

  .product-wave {
    z-index: 4;
    bottom: -113px;
    height: 400px;
    clip-path: polygon(0 50%, 100% 15%, 100% 60%, 0 95%);
  }

  .product-benefits {
    margin-top: -46px;
    padding-top: 0;
  }

  .product-quality-grid {
    margin-top: 37px;
  }

  .product-quality-grid article:first-child {
    padding-top: 20px;
  }

  .product-intro-grid {
    gap: 15px;
  }

  .product-intro-panels {
    margin-top: 32px;
  }

  .product-assurance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-assurance-grid article {
    min-height: 0;
    aspect-ratio: 1 / 1.08;
    padding: 16px 12px;
  }

  .product-page .product-assurance-grid > article > span {
    font-size: 22px;
  }

  .product-assurance-grid h3 {
    margin: 10px 0 8px;
    font-size: 21px;
  }

  .product-assurance-grid p {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (prefers-reduced-motion: reduce) { .product-wave, .product-wave::before, .product-wave::after { animation: none; } }
.product-compare-table { --compare-parameter-count: 3; }
.product-compare-labels { grid-template-rows: 100px repeat(var(--compare-parameter-count), 68px); }
.product-plan-head { min-height: 100px; }

@media (min-width: 641px) {
  .product-page [data-product-block-title-size="custom"] {
    font-size: var(--product-block-title-size-desktop);
  }
}

@media (max-width: 640px) {
  .product-page .site-header.is-mobile-collapsed {
    border-bottom-color: transparent;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .product-page [data-product-block-title-size="custom"] {
    font-size: var(--product-block-title-size-mobile);
  }

  .product-hero-disclaimer {
    bottom: 4px;
    max-width: calc(100% - 12px);
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 10px;
    line-height: 1.45;
    white-space: normal;
  }

  .product-hero-visual,
  .managed-product-hero-image {
    padding-bottom: 76px;
  }
}

@media (min-width: 641px) {
  .product-intro[data-product-section="06"] h2 {
    font-size: clamp(34px, calc(4vw - 4px), 54px);
  }

  .managed-product-section[data-product-section="06"] h2 {
    font-size: clamp(32px, calc(4.2vw - 4px), 54px);
  }

  .product-page [data-product-section="06"] [data-product-block-title-size="custom"] {
    font-size: calc(var(--product-block-title-size-desktop) - 4px);
  }
}

@media (max-width: 640px) {
  .product-intro[data-product-section="06"] h2 {
    font-size: 26px;
  }

  .managed-product-section[data-product-section="06"] h2 {
    font-size: 28px;
  }

  .product-page [data-product-section="06"] [data-product-block-title-size="custom"] {
    font-size: calc(var(--product-block-title-size-mobile) - 4px);
  }
}
