/* ═══════════════════════════════════════════════════
   KEMION Theme — main.css v1.3.0
   ═══════════════════════════════════════════════════ */

/* ─── Tokens ─── */
:root {
    --d:      #062725;
    --d2:     #0b403b;
    --m:      #d9f1e9;
    --a:      #75cbbb;
    --bg:     #f5f8f5;
    --ink:    #0c2d2b;
    --mut:    #617674;
    --line:   #dce8e4;
    --radius: 24px;
}

/* ─── Reset ─── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, Arial, sans-serif; color: var(--ink); background: var(--bg); line-height: 1.55; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; }
.container { width: min(1180px, calc(100% - 36px)); margin: auto; }

/* ─── Utility ─── */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--a); font-weight: 800; }
.section-title { font-size: clamp(30px, 3.5vw, 46px); line-height: 1.08; letter-spacing: -.035em; margin: 10px 0 18px; }
.lead { color: var(--mut); max-width: 700px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.center { justify-content: center; }
.btn { display: inline-flex; align-items: center; gap: 8px; background: var(--m); color: var(--ink); padding: 12px 21px; border-radius: 30px; font-weight: 750; font-size: 13px; border: 1px solid transparent; transition: .2s; }
.btn:hover { background: #c2eadb; }
.btn.alt { background: transparent; color: #fff; border-color: #ffffff70; }
.btn.alt:hover { border-color: #fff; }
.dark-btn { background: var(--d); color: #fff; }
.dark-btn:hover { background: var(--d2); }

/* ─── Sections ─── */
.section { padding: 88px 0; }
.section--light { background: #fff; }
.section--dark { background: var(--d); color: #fff; }


/* ═══════════════════════════════════════
   1. HEADER + MENU
   ═══════════════════════════════════════ */
.site-header {
    position: absolute; z-index: 20;
    top: 0; left: 0; right: 0;
    color: #fff;
    background: linear-gradient(#031b19dd, transparent);
}
.nav-wrap {
    height: 76px;
    display: flex; align-items: center; gap: 30px;
}
.site-logo {
    display: flex; align-items: center; gap: 8px;
    font-size: 58px; font-weight: 800; letter-spacing: .13em; color: #fff;
}
.custom-logo-link img { max-height: 120px; width: auto; }
.logo-mark { color: var(--a); font-size: 25px; }

/* ── Desktop menu ── */
.site-navigation { margin-left: auto; }
.menu-list {
    display: flex; gap: 0; list-style: none;
    margin: 0; padding: 0; font-size: 11px;
    align-items: center;
}
.menu-list li { position: relative; }

/* Dividers between items */
.menu-list li + li::before {
    content: '';
    display: block;
    width: 1px; height: 12px;
    background: rgba(255,255,255,.22);
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
}

.menu-list a {
    display: block;
    padding: 7px 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    position: relative;
    transition: color .25s ease;
    color: rgba(255,255,255,.85);
    white-space: nowrap;
}
.menu-list a:hover { color: var(--a); }
.menu-list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 8px;
    min-width: 190px;
    padding: 8px;
    margin: 0;
    list-style: none;
    background: rgba(32,78,72,.58);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    border: 1px solid rgba(170,235,220,.2);
    border-radius: 14px;
    box-shadow: 0 15px 35px rgba(0,0,0,.2);
}
.menu-list > li:hover::after,
.menu-list > li:focus-within::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 8px;
}
.menu-list li:hover > .sub-menu,
.menu-list li:focus-within > .sub-menu { display: block; }
.submenu-toggle { display: none; }
.menu-list .sub-menu li + li::before { display: none; }
.menu-list .sub-menu a { padding: 9px 11px; white-space: nowrap; }
.menu-list .sub-menu a::after { left: 11px; right: 11px; }

/* Underline animation */
.menu-list a::after {
    content: '';
    position: absolute;
    bottom: 2px; left: 13px; right: 13px;
    height: 2px;
    background: var(--a);
    border-radius: 1px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.menu-list a:hover::after {
    transform: scaleX(1);
}

/* Click pulse */
.menu-list a.is-clicked {
    animation: menu-pulse .35s ease-out;
}
@keyframes menu-pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(.94); }
    100% { transform: scale(1); }
}

/* Header phone */
.header-phone {
    position: relative; display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto;
    min-height: 38px; padding: 7px 13px 7px 9px; border-radius: 999px;
    color: #effffb; font-size: 13px; font-weight: 750; letter-spacing: .035em; white-space: nowrap;
    background: linear-gradient(135deg, rgba(32,116,102,.92), rgba(18,82,74,.92));
    border: 1px solid rgba(143,232,210,.45); box-shadow: 0 7px 22px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.08);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.header-phone:hover { color: #fff; transform: translateY(-2px); border-color: rgba(168,245,226,.8); box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 0 3px rgba(104,201,176,.10); }
.header-phone-icon { position: relative; width: 25px; height: 25px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(138,226,205,.18); }
.header-phone-icon::before { content: ''; position: absolute; inset: -4px; border: 1px solid rgba(138,226,205,.48); border-radius: 50%; animation: header-phone-ring 2.2s ease-out infinite; }
.header-phone-icon svg { width: 14px; height: 14px; fill: #a8f1df; }
@keyframes header-phone-ring { 0%,35% { transform: scale(.82); opacity: 0; } 48% { opacity: .8; } 78%,100% { transform: scale(1.35); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .header-phone-icon::before { animation: none; } }

/* ── Mobile toggle (hamburger ↔ X) ── */
.mobile-toggle {
    display: none; margin-left: auto;
    background: none; border: 0; color: #fff;
    width: 38px; height: 38px;
    cursor: pointer; position: relative;
}
.mobile-toggle span {
    display: block; height: 2px; background: #fff;
    position: absolute; left: 6px; right: 6px;
    transition: transform .35s ease, opacity .25s ease;
}
.mobile-toggle span:nth-child(1) { top: 10px; }
.mobile-toggle span:nth-child(2) { top: 18px; }
.mobile-toggle span:nth-child(3) { top: 26px; }

.mobile-toggle.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.mobile-toggle.is-active span:nth-child(2) { opacity: 0; }
.mobile-toggle.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }


/* ═══════════════════════════════════════
   2. HERO
   ═══════════════════════════════════════ */
.hero {
    min-height: 700px; color: #fff;
    background: radial-gradient(circle at 80% 55%, #68c9b040, transparent 28%),
                linear-gradient(110deg, #082d2a, #0c433e 55%, #102f2c);
    background-size: cover; background-position: center;
    position: relative; overflow: hidden;
}
.hero-grid {
    min-height: 700px;
    display: grid; grid-template-columns: 1.05fr .95fr;
    align-items: center; gap: 40px;
    padding-top: 76px;
    position: relative; z-index: 1;
}
.hero-grid--copy-only {
    display: block;
    padding-top: 150px;
    padding-bottom: 100px;
}
.hero-grid--copy-only .hero-copy {
    max-width: 620px;
}
.hero h1 { font-size: clamp(42px, 5.5vw, 70px); line-height: 1.02; letter-spacing: -.045em; margin: 16px 0; }
.hero p { font-size: 18px; color: #d8ebe7; max-width: 590px; }

.hero-visual {
    display: flex; align-items: center; justify-content: center;
    min-height: 420px; position: relative;
}

/* Device image wrapper — shimmer overlay */
.hero-device-wrap {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    border-radius: 22px;
}
.hero-device-img {
    display: block;
    max-width: 100%; max-height: 480px;
    width: auto; height: auto;
    object-fit: contain;
    border-radius: 20px;
    filter: blur(1.5px);
    animation: device-float 7s ease-in-out infinite;
}
/* Shimmer sweep */
.hero-device-wrap::after {
    content: '';
    position: absolute;
    top: 0; left: -120%;
    width: 60%; height: 100%;
    background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.1) 50%, transparent 70%);
    animation: shimmer-sweep 6s ease-in-out infinite 1.5s;
    pointer-events: none;
}
@keyframes device-float {
    0%, 100% { transform: translateY(0); filter: blur(1.5px) brightness(1); }
    50%      { transform: translateY(-10px); filter: blur(2px) brightness(1.06); }
}
@keyframes shimmer-sweep {
    0%   { left: -120%; }
    45%  { left: 140%; }
    100% { left: 140%; }
}
.hero-device-ph { width: min(460px, 100%); min-height: 380px; }


/* ═══════════════════════════════════════
   3. SCIENCE ON LIGHT BG
   ═══════════════════════════════════════ */
.section--science-light { background: #fff; }
.science-grid-light {
    display: grid; grid-template-columns: minmax(0, var(--research-image-column, 60%)) minmax(0, 1fr);
    gap: 65px; align-items: stretch;
}
.science-visual-light { position: relative; display: flex; align-self: stretch; min-width: 0; min-height: 520px; }
.science-visual-light img {
    display: block; width: 100%; max-width: 100%; height: 100%; min-height: 520px; object-fit: cover;
    margin-left: auto; margin-right: auto;
    border-radius: var(--radius);
}
.ion-art-light {
    height: 300px; width: 100%;
    border-radius: var(--radius);
    background: radial-gradient(circle, #75cbbb25, transparent 38%),
                linear-gradient(145deg, #e4f2ed, #c8ddd5);
    display: grid; place-items: center;
    font-size: 90px; color: #176d62;
}
.science-copy-light .section-title { color: var(--ink); }
.science-copy-light .lead { color: var(--mut); }


/* ── Video articles ── */
.video-articles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}
.video-article-card {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f7fbf8;
    text-decoration: none;
    color: inherit;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease, background .3s ease;
    opacity: 0;
    animation: va-appear .5s cubic-bezier(.2,.8,.2,1) forwards;
    animation-delay: calc(var(--va-i, 0) * .12s);
}
@keyframes va-appear {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.video-article-card:hover {
    transform: translateY(-3px);
    border-color: var(--a);
    box-shadow: 0 12px 32px rgba(6,39,37,.1), 0 0 0 1px rgba(117,203,187,.2);
    background: #f0f9f5;
}
.va-play {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--d), var(--d2));
    color: var(--a);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
    box-shadow: 0 4px 12px rgba(6,39,37,.15);
    position: relative;
    overflow: hidden;
}
.va-play::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(117,203,187,.3), transparent 70%);
    opacity: 0;
    transition: opacity .3s ease;
}
.video-article-card:hover .va-play {
    transform: scale(1.1);
    background: linear-gradient(145deg, #0d4a44, #176d62);
    box-shadow: 0 6px 20px rgba(6,39,37,.25), 0 0 15px rgba(117,203,187,.15);
}
.video-article-card:hover .va-play::after { opacity: 1; }
.va-play svg { position: relative; z-index: 1; margin-left: 2px; }
.va-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.va-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.3;
    transition: color .25s ease;
}
.video-article-card:hover .va-title { color: #176d62; }
.va-desc {
    font-size: 12px;
    color: var(--mut);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* ── People intro ── */
.people-intro {
    border-top: 1px solid var(--line);
    margin-top: 38px;
    padding-top: 28px;
    max-width: 780px;
}
.people-intro p { color: var(--mut); max-width: 680px; margin: 8px 0 0; }


/* ── Person card v2 (photo right, info left) ── */
.people-grid-v2 {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}
.person-card-v2 {
    display: block;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #f7fbf8;
    min-width: 0;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
    opacity: 0;
    animation: pc-appear .5s cubic-bezier(.2,.8,.2,1) forwards;
    animation-delay: calc(var(--pc-i, 0) * .15s);
}
@keyframes pc-appear {
    from { opacity: 0; transform: translateX(-16px); }
    to   { opacity: 1; transform: translateX(0); }
}
.person-card-v2:hover {
    transform: translateY(-4px);
    border-color: rgba(117,203,187,.5);
    box-shadow: 0 18px 40px rgba(6,39,37,.08), 0 0 0 1px rgba(117,203,187,.15);
}
.pc-info {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}
.pc-info h3 {
    margin: 0;
    font-size: var(--pc-name-size, 15px);
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -.02em;
}
.pc-role {
    display: block;
    font-size: var(--pc-role-size, 10px);
    color: var(--a);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 4px;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}
.pc-bio {
    color: var(--mut);
    font-size: var(--pc-bio-size, 11px);
    line-height: 1.55;
    margin: 8px 0 0;
}
.pc-points {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.pc-points li {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(117,203,187,.12);
    color: var(--ink);
    font-size: var(--pc-points-size, 10px);
    line-height: 1.3;
    font-weight: 600;
    transition: background .25s ease, transform .25s ease;
}
.pc-points li::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--a);
    flex-shrink: 0;
}
.pc-points li:hover {
    background: rgba(117,203,187,.22);
    transform: translateY(-1px);
}
.pc-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 11px;
    font-weight: 750;
    color: #17796d;
    text-decoration: none;
    transition: color .25s ease;
}
.pc-link span { transition: transform .25s ease; }
.pc-link:hover { color: var(--d2); }
.pc-link:hover span { transform: translateX(4px); }
.pc-link::before {
    content: '';
    position: absolute;
    inset: -7px -12px;
    border: 1px solid rgba(117,203,187,.32);
    border-radius: 999px;
    opacity: 0;
    transform: scale(.9);
    transition: opacity .25s ease, transform .25s ease, background .25s ease;
}
.pc-link { position: relative; padding: 5px 9px; border-radius: 999px; background: rgba(117,203,187,.12); }
.pc-link:hover::before { opacity: 1; transform: scale(1); }
.pc-link:hover { background: rgba(117,203,187,.22); }
.pc-photo {
    float: right;
    width: 48px;
    height: 48px;
    margin: 0 0 8px 10px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(145deg, var(--d), var(--d2));
    position: relative;
}
.person-card-v2::after {
    content: '';
    display: table;
    clear: both;
}
.pc-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.person-card-v2:hover .pc-photo img { transform: scale(1.06); }
.pc-photo-fallback {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: var(--a);
    font-size: 18px;
    font-weight: 800;
}

/* Carousel people v2 */
.kemion-carousel--people .person-card-v2 {
    margin: 0;
    height: 100%;
    animation: none;
    opacity: 1;
}
.kemion-carousel--people .kemion-carousel-track { align-items: stretch; }
.kemion-carousel--people .kemion-carousel-slide { display: flex; }


/* ═══════════════════════════════════════
   4. DEVICE SHOWCASE ON DARK BG
   Image height = features column height.
   ═══════════════════════════════════════ */
.section--device-dark { background: var(--d); color: #fff; }
.section--device-dark .section-title { color: #fff; }

.device-showcase-dark {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 50px;
    align-items: stretch;   /* key: both columns same height */
    margin-top: 40px;
}
.device-image-wrap-dark {
    border-radius: var(--radius);
    overflow: hidden;
    background: linear-gradient(145deg, #0e3c38, #071f1d);
    display: flex; align-items: center; justify-content: center;
    position: relative;
    min-height: 0;   /* let grid stretch it */
}
.device-video-trigger {
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--play-size, 52px);
    height: var(--play-size, 52px);
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    border: 1px solid rgba(217,241,233,.6);
    border-radius: 50%;
    background: rgba(6,39,37,var(--play-opacity, .72));
    color: #fff;
    cursor: pointer;
    z-index: 2;
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.device-video-trigger:hover { transform: translate(-50%, -50%) scale(1.06); background: rgba(117,203,187,.9); border-color: #d9f1e9; color: var(--d); }
.device-video-play { font-size: calc(var(--play-size, 52px) * .34); margin-left: 3px; line-height: 1; }
.device-image-wrap-dark img {
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: var(--radius);
}
.device-main-ph-dark { min-height: 0; }

.device-features-dark { display: grid; gap: 14px; align-content: stretch; }

.device-feature-dark {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 14px; align-items: start;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    transition: .25s;
}
.device-feature-dark:hover {
    border-color: rgba(117,203,187,.35);
    background: rgba(117,203,187,.07);
}
.device-feature-dark h3 { font-size: 15px; margin: 0 0 4px; color: #fff; }
.device-feature-dark p { font-size: 13px; color: #b0ccc7; margin: 0; }
.feature-icon-wrap {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(117,203,187,.15);
    color: var(--a);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    overflow: hidden;
    font-size: 20px;
    font-weight: 800;
}
.feature-icon-wrap img,
.step-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Icon placeholder on dark */
.section--device-dark .kemion-icon-ph {
    background: rgba(117,203,187,.15);
}
.section--device-dark .icon-symbol { color: var(--a); }
.section--device-dark .icon-label { color: #8eb5ae; }


/* ═══════════════════════════════════════
   5. STEPS
   ═══════════════════════════════════════ */
.section--steps { background: #eef5f1; }
.tech-scheme-image { margin: 35px 0 40px; border-radius: var(--radius); overflow: hidden; }
.tech-scheme-image img { display: block; width: 100%; height: 360px; object-fit: cover; background: #dfeee8; }
.tech-scheme-image { overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--a) transparent; }
.tech-scheme-ph { min-height: 200px; margin: 35px 0 40px; }
.steps-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 35px; }
.step {
    position: relative;
    isolation: isolate;
    background: #fff;
    padding: 24px 18px 21px;
    border: 1px solid rgba(117,203,187,.28);
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(6,39,37,.06);
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.step::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(145deg, rgba(117,203,187,.1), transparent 58%);
    opacity: 0;
    transition: opacity .35s ease;
}
.step:hover {
    transform: translateY(-4px);
    border-color: rgba(117,203,187,.7);
    box-shadow: 0 16px 30px rgba(6,39,37,.12), 0 3px 8px rgba(117,203,187,.1);
}
.step:hover::after { opacity: 1; }
.step-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 17px;
    border-radius: 50%;
    background: var(--m);
    color: #176d62;
    font-size: 17px;
    font-weight: 800;
    overflow: hidden;
}
.num { color: #469f91; font-weight: 800; font-size: 12px; }
.step h3 { font-size: 15px; line-height: 1.25; margin: 0 0 9px; }
.step p { font-size: 13px; line-height: 1.55; color: var(--mut); margin: 0; }


/* ═══════════════════════════════════════
   6. LIFESTYLE
   ═══════════════════════════════════════ */
.section--lifestyle {
    color: #fff;
    background: linear-gradient(180deg, #0b3d38, #062725);
    background-size: cover; background-position: center;
    padding: 100px 0;
    min-height: 620px;
    display: flex;
    align-items: center;
}
.lifestyle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.section--lifestyle.has-background .lifestyle-grid { grid-template-columns: 1fr 1fr; }
.section--lifestyle.has-background .lifestyle-copy { max-width: none; }
.section--lifestyle.has-background .lifestyle-visual { display: flex; }
.section--lifestyle .section-title { color: #fff; }
.section--lifestyle .lead { color: #c5ddd8; }
.lifestyle-visual { display: flex; align-items: center; justify-content: center; min-height: 340px; }
.lifestyle-image-pan {
    position: relative;
    width: 100%;
    height: 340px;
    overflow: hidden;
    border-radius: var(--radius);
    background: rgba(6,39,37,.3);
    cursor: crosshair;
}
.lifestyle-inner-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08) translate3d(0, 0, 0);
    transform-origin: center;
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
    will-change: transform;
}
.lifestyle-image-pan:hover .lifestyle-inner-image { transition-duration: .08s; }
.lifestyle-pan-hint {
    position: absolute;
    left: 16px;
    bottom: 14px;
    padding: 7px 11px;
    border: 1px solid rgba(217,241,233,.35);
    border-radius: 20px;
    background: rgba(6,39,37,.58);
    color: #d9f1e9;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    pointer-events: none;
    opacity: 0;
    transition: opacity .25s ease;
}
.lifestyle-image-pan:hover .lifestyle-pan-hint { opacity: 1; }
.lifestyle-ph { min-height: 340px; }

.checks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 25px; }
.checks > div::before {
    content: '✓';
    display: inline-grid; place-items: center;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: rgba(117,203,187,.2);
    color: var(--a);
    margin-right: 8px; font-size: 11px;
}

/* ═══════════════════════════════════════
   7. PRODUCT FORMATS
   ═══════════════════════════════════════ */
/* Product showcase: deliberately light, but visually distinct from the pure-white articles section. */
.section--products {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 50% 68%, rgba(89, 211, 184, .16) 0%, rgba(89, 211, 184, .07) 28%, rgba(89, 211, 184, 0) 62%),
        linear-gradient(180deg, #e7f3ee 0%, #edf7f3 54%, #f3faf7 100%);
    border-top: 1px solid rgba(77, 183, 160, .20);
    border-bottom: 1px solid rgba(11, 78, 70, .07);
}
.section--products::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: min(920px, 78vw);
    height: 360px;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(64, 205, 174, .17) 0%, rgba(64, 205, 174, .07) 40%, transparent 72%);
    filter: blur(26px);
    pointer-events: none;
}
.section--products > .container { position: relative; z-index: 1; }
.section--products > .container > .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #178777;
}
.section--products > .container > .eyebrow::before {
    content: '';
    width: 28px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #43cdb0, #178777);
    box-shadow: 0 0 12px rgba(67, 205, 176, .35);
}
.section--products .section-title { color: #083f3a; }
.section--products > .container > .lead { color: #5f7974; }
.section--modern-research { background: #fff; }
.section--products > .container { width: min(var(--pc-width, 900px), calc(100% - 36px)); max-width: var(--pc-width, 900px); }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: var(--pc-height, 420px); align-items: stretch; gap: 22px; margin-top: 34px; max-width: 100%; width: 100%; }
.product-grid--center { margin-left: auto; margin-right: auto; }
.product-card { position: relative; overflow: hidden; width: 100%; min-width: 0; height: var(--pc-height, 420px); min-height: var(--pc-height, 420px); max-height: var(--pc-height, 420px); border-radius: var(--radius); background: #0e3c38; box-shadow: 0 12px 34px rgba(6,39,37,.17), 0 3px 10px rgba(6,39,37,.08); }
.product-card-link { display: block; color: #fff; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; width: 100%; height: 100%; min-height: 0; max-height: 100%; }
.product-card-link:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 44px rgba(6,39,37,.22), 0 4px 12px rgba(6,39,37,.10); }
.product-card-media { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(145deg, #0e3c38, #071f1d); }
.product-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-grid .product-card-link { display: block; }
.product-card-link:hover .product-card-media img { transform: scale(1.04); }
.product-card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,34,30,.5) 0%, rgba(8,34,30,.18) 35%, transparent 65%); transition: opacity .35s ease; pointer-events: none; }
.product-card-link:hover .product-card-media::after { opacity: 1; }
.product-ph { width: 100%; height: 100%; min-height: 0; border: 0; border-radius: 0; }
.product-card-body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; margin: 0; padding: 22px 26px 24px; box-sizing: border-box; height: var(--pc-body-height, 40%); min-height: 0; max-height: 100%; overflow: hidden; background: rgba(14,60,56,var(--pc-bg-opacity, .18)); backdrop-filter: blur(var(--bc-blur, 4px)); -webkit-backdrop-filter: blur(var(--bc-blur, 4px)); border-top: 1px solid rgba(108,200,170,.08); transition: background .35s ease, backdrop-filter .35s ease; }
.section--products[style*="--pc-bg-zero:1"] .product-card-body { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-top-color: transparent; }
.product-card-link:hover .product-card-body { background: rgba(14,60,56,var(--pc-bg-hover, .58)); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-top-color: rgba(108,200,170,.18); }
.product-card-body .eyebrow { color: rgba(108,200,170,.85); font-size: 11px; }
.product-card-body h3 { margin: 5px 0 6px; font-size: var(--pc-title-size, 22px); line-height: 1.15; letter-spacing: -.02em; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,.3); }
.product-card-body p { color: rgba(255,255,255,.8); text-shadow: 0 1px 3px rgba(0,0,0,.25); font-size: var(--pc-desc-size, 14px); line-height: 1.45; }
.product-link { display: inline-flex; margin-top: 10px; color: #6cc8aa; font-weight: 800; font-size: 13px; text-shadow: none; }
.kemion-carousel--products { margin-top: 34px; overflow: hidden; max-width: 100%; margin-left: auto; margin-right: auto; }
.kemion-carousel--products .kemion-carousel-slide { padding: 0 8px; }
.kemion-carousel--products .kemion-carousel-slide:first-child { padding-left: 0; }
.kemion-carousel--products .kemion-carousel-slide:last-child { padding-right: 0; }
.kemion-carousel--products .kemion-carousel-slide { display: flex; height: var(--pc-height, 420px); min-height: 0; max-height: var(--pc-height, 420px); }
.kemion-carousel--products .product-card,
.kemion-carousel--products .product-card-link { height: 100%; min-height: 0; max-height: 100%; }
.blog-actions { margin-top: 28px; }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: #17796d; font-size: 13px; font-weight: 800; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }

/* ═══════════════════════════════════════
   BUSINESS SECTION
   ═══════════════════════════════════════ */
.section--business { background: var(--d); color: #fff; }
.business-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; }
.business-visual { min-height: 430px; border-radius: var(--radius); overflow: hidden; background: linear-gradient(145deg, #0e3c38, #071f1d); }
.business-visual img { display: block; width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.business-ph { height: 100%; min-height: 430px; }
.business-copy { align-self: center; }
.business-copy .section-title { color: #fff; }
.business-copy .lead { color: #c5ddd8; }
.business-points { display: grid; gap: 11px; margin-top: 28px; }
.business-points div { display: flex; gap: 10px; align-items: center; color: #d9f1e9; font-size: 14px; }
.business-points span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: var(--d); background: var(--a); font-weight: 800; }


/* ═══════════════════════════════════════
   7. BLOG
   ═══════════════════════════════════════ */
.section--modern-research { background: #fff; }
.section--modern-research { --bc-height: 285px; --bc-title-size: 18px; --bc-desc-size: 13px; --bc-bg-opacity: .18; --bc-bg-hover: .58; --bc-body-height: 48%; --bc-bg-zero: 0; --bc-mob-height: 285px; --bc-mob-title-size: 18px; --bc-mob-desc-size: 13px; --bc-mob-bg-opacity: .32; --bc-mob-bg-hover: .58; --bc-mob-body-height: 48%; --bc-mob-bg-zero: 0; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: var(--bc-height); gap: 18px; margin-top: 30px; }
.post-card { position: relative; height: var(--bc-height); min-height: var(--bc-height); max-height: var(--bc-height); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: #0e3c38; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 15px 35px #0b403b26; border-color: #bfd8d1; }
.post-card-link { position: relative; display: block; width: 100%; height: 100%; color: #fff; }
.post-card-media { position: absolute; inset: 0; overflow: hidden; }
.post-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--post-image-x, 50%) var(--post-image-y, 50%); transition: transform .45s ease; }
.post-card:hover .post-card-media img { transform: scale(1.04); }
.post-card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,30,27,.72) 0%, rgba(5,30,27,.22) 48%, rgba(5,30,27,0) 76%); pointer-events: none; }
.post-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, #153e39, #90c6b5); }
.post-body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; height: var(--bc-body-height); box-sizing: border-box; overflow: hidden; padding: 14px 20px 16px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; background: rgba(14,60,56,var(--bc-bg-opacity)); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-top: 1px solid rgba(255,255,255,.12); transition: background .28s ease, backdrop-filter .28s ease, -webkit-backdrop-filter .28s ease; }
:root[style*="--bc-bg-zero:1"] .post-body, .section--modern-research[style*="--bc-bg-zero:1"] .post-body { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-top-color: transparent; }
.post-card:hover .post-body { background: rgba(14,60,56,var(--bc-bg-hover)); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-top-color: rgba(255,255,255,.12); }
.post-body small { color: #d1e4df; }
.post-body h3 { color: #fff; font-size: var(--bc-title-size); line-height: 1.2; margin: 0 0 8px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.post-body p { flex: 0 0 calc(2.8em); height: calc(2.8em); min-height: calc(2.8em); margin: 0; font-size: var(--bc-desc-size); line-height: 1.4; color: #d7e8e4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; }


/* ═══════════════════════════════════════
   8. CTA
   ═══════════════════════════════════════ */
.section--cta {
    text-align: center;
    background: linear-gradient(135deg, #0b403a, #082a27);
    background-size: cover; background-position: center;
    color: #fff; padding: 100px 0;
}
.cta-inner { max-width: 780px; margin: auto; }
.section--cta p { max-width: 650px; margin: 12px auto 0; color: #bad1cc; }
.cta-ph { min-height: 180px; margin: 30px auto; max-width: 400px; }


/* ═══════════════════════════════════════
   PLACEHOLDERS
   ═══════════════════════════════════════ */
.kemion-img-ph {
    border: 2px dashed rgba(117,203,187,.35);
    border-radius: var(--radius);
    background: rgba(117,203,187,.06);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 8px; padding: 30px 20px;
    text-align: center; min-height: 220px;
}
.ph-slot { font-size: 11px; letter-spacing: .16em; font-weight: 800; color: #8ed9c8; }
.ph-hint { font-size: 12px; color: #a9c4be; max-width: 280px; }
.section--dark .kemion-img-ph,
.section--lifestyle .kemion-img-ph,
.section--cta .kemion-img-ph,
.hero .kemion-img-ph {
    border-color: rgba(117,203,187,.25);
    background: rgba(117,203,187,.08);
}
.kemion-icon-ph {
    width: 46px; height: 46px; border-radius: 50%;
    background: var(--m);
    display: grid; place-items: center;
    position: relative; flex-shrink: 0;
}
.icon-symbol { color: #176d62; font-size: 20px; font-weight: 800; }
.icon-label {
    position: absolute; bottom: -16px; left: 50%;
    transform: translateX(-50%);
    font-size: 7px; letter-spacing: .1em;
    color: var(--mut); white-space: nowrap; opacity: .6;
}
.kemion-media-placeholder {
    border: 2px dashed var(--line); border-radius: var(--radius);
    min-height: 200px; display: grid; place-items: center; color: var(--mut);
}


/* ═══════════════════════════════════════
   PARTICLES CANVAS
   ═══════════════════════════════════════ */
.kemion-particles-canvas {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    pointer-events: none;
    z-index: 4;
}
.kemion-fog-canvas {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    pointer-events: none;
    z-index: 3;
    opacity: .9;
    filter: blur(2px);
}


/* ═══════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════ */
.site-footer { background: #061d1b; color: #b5cbc6; padding: 50px 0 20px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 30px; }
.footer-logo { font-size: 20px; }
.footer-logo .custom-logo-link { display: flex; align-items: center; }
.footer-logo .custom-logo { display: block; width: auto; max-width: 260px; max-height: 70px; object-fit: contain; }
.footer-grid h3 { color: #fff; font-size: 15px; }
.footer-grid a { display: block; font-size: 13px; margin: 7px 0; }
.footer-copy { border-top: 1px solid #ffffff15; margin-top: 30px; padding-top: 18px; font-size: 12px; display: flex; justify-content: space-between; }


/* ═══════════════════════════════════════
   INNER PAGES
   ═══════════════════════════════════════ */
.inner-hero { min-height: 430px; padding: 112px 0 48px; background: radial-gradient(circle at 78% 50%, #69d8c530, transparent 25%), linear-gradient(110deg, #082d2a, #0c433e 58%, #102f2c); color: #fff; overflow: hidden; }
.inner-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 45px; align-items: center; min-height: 315px; }
.inner-hero-copy h1 { font-size: clamp(36px, 4.5vw, 58px); line-height: 1.04; letter-spacing: -.045em; max-width: 760px; margin: 12px 0 15px; }
.inner-hero-copy p { color: #d0e5e0; max-width: 650px; font-size: 17px; margin: 0; }
.inner-hero-visual { height: 310px; display: flex; align-items: center; justify-content: center; position: relative; }
.inner-hero-visual img { display: block; max-width: 100%; max-height: 310px; width: auto; height: auto; object-fit: contain; border-radius: 22px; box-shadow: 0 25px 60px #0007; }
.inner-device-placeholder { width: min(430px, 100%); height: 270px; border: 1px solid #ffffff25; border-radius: 26px; background: linear-gradient(145deg, #173f3a, #071e1c); box-shadow: 0 25px 60px #0005; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.media-label { font-size: 11px; letter-spacing: .16em; color: #8ed9c8; font-weight: 800; }
.media-hint { font-size: 12px; color: #a9c4be; }
.error-number { font-size: clamp(76px, 11vw, 125px); font-weight: 800; line-height: 1; letter-spacing: -.08em; color: #8ed9c8; }
.inner-hero-article .inner-hero-visual img { width: 100%; height: 270px; object-fit: cover; }
.article-meta { font-size: 13px; color: #a9c7c0; margin-top: 18px; }
.article-meta { display: inline-flex; align-items: center; gap: 9px; }
.article-author-mark { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--a); color: var(--d); font-size: 12px; font-weight: 800; }
.article-author-mark img { width: 100%; height: 100%; object-fit: cover; display: block; }

.archive-main { padding-top: 76px; }
.archive-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); padding-bottom: 22px; }
.compact-title { margin-bottom: 0; }
.archive-count { font-size: 13px; color: var(--mut); white-space: nowrap; }
.archive-grid { margin-top: 30px; }
.pagination-wrap { margin-top: 45px; }
.pagination-wrap .page-numbers { list-style: none; display: flex; justify-content: center; gap: 8px; padding: 0; margin: 0; }
.pagination-wrap .page-numbers a, .pagination-wrap .page-numbers span { min-width: 38px; height: 38px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 20px; font-size: 13px; }
.pagination-wrap .page-numbers .current { background: var(--d); color: #fff; border-color: var(--d); }

.empty-state { padding: 70px 25px; text-align: center; border: 1px dashed #c8d9d4; border-radius: 24px; background: #fbfdfc; }
.empty-state h2 { margin: 10px 0 8px; font-size: 28px; }
.empty-state p { color: var(--mut); max-width: 560px; margin: 0 auto 24px; }
.empty-icon { width: 58px; height: 58px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: #176d62; font-weight: 800; font-size: 23px; }

.article-page { padding-top: 78px; }
.article-layout, .page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 65px; align-items: start; }
.article-content-wrap { min-width: 0; }
.article-content { font-size: 18px; color: #183b38; }
.article-content > p:first-child { font-size: 21px; line-height: 1.65; color: #31514d; }
.article-content h2 { font-size: 32px; line-height: 1.15; margin: 48px 0 17px; color: var(--ink); }
.article-content h3 { font-size: 22px; margin: 34px 0 12px; color: var(--ink); }
.article-content a { color: #17796d; text-decoration: underline; text-underline-offset: 3px; }
.article-content ul, .article-content ol { padding-left: 25px; }
.article-content blockquote { margin: 35px 0; padding: 25px 28px; border-left: 3px solid var(--a); background: #eef7f3; border-radius: 0 18px 18px 0; color: #31514d; }
.article-content img { max-width: 100%; height: auto; border-radius: 18px; }
.article-content table { width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px; }
.article-content th, .article-content td { padding: 12px; border: 1px solid var(--line); text-align: left; }
.article-content code { background: #eef4f2; padding: 2px 5px; border-radius: 5px; font-size: .9em; }
.article-bottom-meta { margin-top: 45px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; gap: 20px; flex-wrap: wrap; font-size: 13px; color: var(--mut); }

.article-aside, .page-aside { position: sticky; top: 25px; display: grid; gap: 14px; }
.aside-card { border: 1px solid var(--line); border-radius: 20px; padding: 22px; background: #fff; }
.aside-card h3 { font-size: 16px; margin: 12px 0 7px; }
.aside-card p { font-size: 13px; color: var(--mut); margin: 0; }
.icon-placeholder { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--m); color: #176d62; font-weight: 800; font-size: 20px; }
.media-placeholder-small { min-height: 150px; border: 1px dashed #bfd2cc; border-radius: 20px; background: #f2f7f5; display: grid; place-items: center; text-align: center; padding: 20px; color: #76908b; font-size: 10px; letter-spacing: .12em; font-weight: 800; }
.article-category-nav ul { list-style: none; padding: 0; margin: 14px 0 0; }
.article-category-nav li { border-top: 1px solid var(--line); }
.article-category-nav a { display: block; padding: 9px 0; color: var(--ink); font-size: 13px; }
.article-category-nav a:hover { color: #17796d; }
.article-meta a { color: var(--a); text-decoration: underline; text-underline-offset: 3px; }
.article-context-card { background: linear-gradient(145deg, #eef7f3, #f9fcfa); }
.article-context-card .icon-placeholder { background: var(--d); color: var(--a); }
.article-context-card p { margin-bottom: 0; }
.article-related-nav ul { list-style: none; padding: 0; margin: 14px 0 0; }
.article-related-nav li { border-top: 1px solid var(--line); }
.article-related-nav a { display: block; padding: 9px 0; color: var(--ink); font-size: 13px; }
.article-related-nav a:hover { color: #17796d; }
.comments-area { margin-top: 50px; padding-top: 32px; border-top: 1px solid var(--line); }
.comments-heading h2 { margin: 8px 0 22px; font-size: 28px; }
.comment-body { background: #f7fbf8; border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; }
.comment-author { font-weight: 800; color: var(--ink); }
.comment-meta { font-size: 12px; color: var(--mut); margin: 3px 0 10px; }
.comment-content { color: #31514d; font-size: 14px; }
.comment-reply-link { color: #17796d; font-size: 12px; font-weight: 700; }
.comment-form-wrap { margin-top: 34px; padding: 24px; border-radius: 20px; background: #eef7f3; }
.comment-form-wrap .comment-reply-title { margin: 8px 0 16px; font-size: 22px; }
.comment-form-wrap label { display: block; font-size: 12px; color: var(--mut); margin-bottom: 5px; }
.comment-form-wrap input:not([type="submit"]), .comment-form-wrap textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 11px 13px; background: #fff; font: inherit; }
.comment-form-wrap textarea { min-height: 130px; resize: vertical; }
.comment-form-wrap .form-submit { margin-bottom: 0; }

.related-section { background: #eef5f1; }

.search-panel { max-width: 850px; margin-bottom: 20px; }
.search-summary { font-size: 13px; color: var(--mut); margin-top: 12px; }
.search-form { display: flex; gap: 10px; margin: 25px 0; }
.search-form input { width: 100%; padding: 13px 16px; border: 1px solid var(--line); border-radius: 30px; background: #fff; }

.error-links { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.error-link-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.error-link-grid a { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; transition: .2s; }
.error-link-grid a:hover { border-color: #a9c9c1; transform: translateX(3px); }
.error-link-grid span { grid-row: span 2; color: #5a9d91; font-size: 12px; font-weight: 800; }
.error-link-grid strong { font-size: 16px; }
.error-link-grid small { color: var(--mut); font-size: 12px; margin-top: 3px; }
.attachment-viewer img { display: block; max-width: 100%; height: auto; border-radius: 24px; margin: auto; }


/* ═══════════════════════════════════════
   RESPONSIVE — tablet (≤ 900px)
   ═══════════════════════════════════════ */
@media (max-width: 900px) {
    /* Header */
    .site-navigation {
        display: block;
        position: absolute; top: 68px; left: 18px; right: 18px;
        background: #062725f5; border-radius: 18px; padding: 0 18px;
        max-height: 0; overflow: hidden; opacity: 0;
        pointer-events: none;
        transition: max-height .45s ease, opacity .3s ease, padding .35s ease;
    }
    .site-navigation.is-open {
        max-height: 80vh; opacity: 1; padding: 18px;
        overflow-y: auto; pointer-events: auto;
    }
    .menu-list { display: flex; flex-direction: column; gap: 0; }
    .menu-list li + li::before {
        width: 100%; height: 1px;
        position: static; transform: none;
        margin: 6px 0;
    }
    .menu-list a { padding: 10px 0; }
    .menu-list a { letter-spacing: .12em; }
    .menu-list a::after { bottom: 0; left: 0; right: 0; }
    .menu-list li:hover > .sub-menu,
    .menu-list li:focus-within > .sub-menu { display: none; }
    .menu-list .sub-menu {
        display: none;
        position: static;
        min-width: 0;
        padding: 6px 12px 6px 18px;
        margin: 6px 0 2px;
        list-style: none;
        background: rgba(55,112,102,.32);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        border: 1px solid rgba(170,235,220,.18);
        border-left: 2px solid rgba(150,225,208,.42);
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0,0,0,.12);
    }
    .menu-list li > .sub-menu.is-open { display: block; }
    .menu-list .sub-menu a { padding: 8px 0; font-size: 11px; white-space: normal; }
    .menu-list .menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; }
    .submenu-toggle {
        display: inline-flex; align-items: center; justify-content: center;
        width: 28px; height: 28px; margin-left: 8px;
        background: rgba(117,203,187,.15); border: 1px solid rgba(117,203,187,.25);
        border-radius: 8px; color: var(--a); font-size: 14px;
        cursor: pointer; transition: transform .3s ease, background .2s ease;
        flex-shrink: 0;
    }
    .submenu-toggle:hover { background: rgba(117,203,187,.25); }
    .submenu-toggle.is-open { transform: rotate(90deg); }
    .header-phone { margin-left: auto; min-height: 36px; padding: 6px 10px 6px 7px; }
    .header-phone-number { font-size: 12px; }
    .mobile-toggle { display: block; margin-left: 0; }

    /* Hero */
    .hero { min-height: auto; }
    .hero-grid { grid-template-columns: 1fr; min-height: auto; padding: 115px 0 65px; }
    .hero-visual { order: -1; min-height: 280px; }
    .hero-device-img { max-height: 340px; }
    .hero-device-ph { min-height: 260px; }

    /* Science light */
    .science-grid-light { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .science-visual-light { order: -1; min-height: 320px; width: 100%; max-width: 100%; overflow: hidden; }
    .science-visual-light img { height: 320px; min-height: 0; width: 100%; max-width: 100%; object-fit: cover; }
    .people-grid { grid-template-columns: 1fr; }

    /* Device dark */
    .device-showcase-dark { grid-template-columns: 1fr; gap: 30px; }
    .device-image-wrap-dark { min-height: 300px; }
    .device-features-dark { grid-template-columns: 1fr 1fr; }

    /* Steps */
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
    .steps-grid .step:last-child { grid-column: 1 / -1; }
    .steps-grid .step:not(:last-child)::before { display: none; }

    /* Lifestyle */
    .lifestyle-grid,
    .section--lifestyle.has-background .lifestyle-grid { grid-template-columns: 1fr; gap: 30px; }
    .lifestyle-visual { order: -1; }

    /* Blog */
    .posts-grid { grid-template-columns: 1fr 1fr; }
    .section--products > .container { width: calc(100% - 28px); max-width: 100%; }
    .product-grid { grid-template-columns: 1fr; grid-auto-rows: var(--pc-height, 300px); gap: 16px; max-width: 100%; }
    .business-grid { grid-template-columns: 1fr; gap: 30px; }
    .business-visual { min-height: 300px; }
    .business-visual img, .business-ph { min-height: 300px; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr 1fr; }

    /* Inner pages */
    .inner-hero { padding-top: 105px; }
    .inner-hero-grid { grid-template-columns: 1fr; gap: 15px; }
    .inner-hero-visual { order: -1; height: 235px; }
    .inner-hero-visual img { max-height: 225px; }
    .inner-device-placeholder { height: 215px; }
    .inner-hero-copy h1 { font-size: 42px; }
    .article-layout, .page-layout, .error-links { grid-template-columns: 1fr; gap: 35px; }
    .article-aside, .page-aside { position: static; grid-template-columns: 1fr 1fr; }
    .error-links { gap: 25px; }

    /* Science block mobile */
    .science-grid-light { grid-template-columns: 1fr; gap: 35px; }
    .science-visual-light { min-height: 280px; }
    .science-visual-light img { min-height: 280px; }

    /* Person card v2 mobile */
    .person-card-v2 { padding: 12px; }
    .pc-photo { width: 40px; height: 40px; border-radius: 50%; }
    .pc-info h3 { font-size: 14px; }
    .pc-points li { font-size: 9px; }

    /* Video articles mobile */
    .video-articles { grid-template-columns: 1fr; }
    .video-article-card { grid-template-columns: 36px 1fr; gap: 10px; padding: 13px 14px; }
    .va-play { width: 36px; height: 36px; }
    .va-play svg { width: 14px; height: 14px; }
    .va-title { font-size: 13px; }

}


/* ═══════════════════════════════════════
   RESPONSIVE — mobile (≤ 600px)
   ═══════════════════════════════════════ */
@media (max-width: 600px) {
    .container { width: calc(100% - 28px); }
    .site-logo { font-size: 42px; }
    .custom-logo-link img { max-height: 88px; }
    .section { padding: 62px 0; }

    .hero h1 { font-size: 40px; }
    .hero p { font-size: 16px; }
    .hero-visual { min-height: 220px; }
    .science-visual-light { min-height: 240px; width: 100%; max-width: 100%; }
    .science-visual-light img { height: 240px; min-height: 0; width: 100%; max-width: 100%; object-fit: cover; }
    .science-visual-light { overflow: hidden; }
    .hero-device-img { max-height: 260px; }
    .hero-device-ph { min-height: 200px; }

    .ion-art-light { height: 200px; font-size: 60px; }
    .research-list-light { grid-template-columns: 1fr; }
    .hero-grid--copy-only { padding-top: 120px; padding-bottom: 75px; }

    .device-features-dark { grid-template-columns: 1fr; }
    .device-image-wrap-dark { min-height: 240px; }

    .steps-grid { grid-template-columns: 1fr; }
    .steps-grid .step:last-child { grid-column: auto; }
    .step:hover { transform: none; box-shadow: 0 8px 20px rgba(6,39,37,.06); }
    .tech-scheme-ph { min-height: 150px; }

    .section--lifestyle { padding: 70px 0; }
    .checks { grid-template-columns: 1fr; }
    .lifestyle-ph { min-height: 220px; }

    :root, .section--modern-research { --bc-height: var(--bc-mob-height); --bc-title-size: var(--bc-mob-title-size); --bc-desc-size: var(--bc-mob-desc-size); --bc-bg-opacity: var(--bc-mob-bg-opacity); --bc-bg-hover: var(--bc-mob-bg-hover); --bc-body-height: var(--bc-mob-body-height); --bc-bg-zero: var(--bc-mob-bg-zero); --bc-blur: var(--bc-mob-blur); }
    .posts-grid { grid-template-columns: 1fr; }
    .business-visual { min-height: 240px; }
    .business-visual img, .business-ph { min-height: 240px; }
    .section--products {
        --pc-height: var(--pc-mob-height, 300px);
        --pc-title-size: var(--pc-mob-title-size, 19px);
        --pc-desc-size: var(--pc-mob-desc-size, 13px);
        --pc-bg-opacity: var(--pc-mob-bg-opacity, .32);
        --pc-bg-hover: var(--pc-mob-bg-hover, .58);
        --pc-width: var(--pc-mob-width, 400px);
        --pc-body-height: var(--pc-mob-body-height, 45%);
    }
    .section--products::before { width: 130vw; height: 420px; bottom: 70px; filter: blur(34px); opacity: .72; }
    .section--products > .container > .eyebrow::before { width: 22px; }
    .product-card { min-height: var(--pc-height, 300px); max-height: var(--pc-height, 300px); }
    .kemion-carousel--products .kemion-carousel-slide { height: var(--pc-height, 300px); max-height: var(--pc-height, 300px); }
    .product-card-body { padding: 18px 20px 20px; }
    .section--products[style*="--pc-mob-bg-zero:1"] .product-card-body { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-top-color: transparent; }
    .product-card-body h3 { margin: 4px 0 5px; }
    .product-card-body p { line-height: 1.4; min-height: 0; }
    .product-link { font-size: 12px; margin-top: 8px; }
    .tech-scheme-image { overflow-x: auto; overflow-y: hidden; }
    .tech-scheme-image img { width: auto; min-width: 620px; max-width: none; height: 240px; object-fit: contain; }
    .lifestyle-image-pan { height: 280px; cursor: default; }
    .lifestyle-inner-image { transform: none; transition: none; }
    .lifestyle-pan-hint { display: none; }

    .footer-grid { grid-template-columns: 1fr; }
    .footer-copy { display: block; }
    .footer-copy span { display: block; margin-top: 8px; }

    .inner-hero { min-height: 0; padding: 95px 0 45px; }
    .inner-hero-grid { min-height: 0; }
    .inner-hero-copy h1 { font-size: 36px; }
    .inner-hero-copy p { font-size: 15px; }
    .inner-hero-visual { height: 190px; }
    .inner-hero-visual img { max-height: 185px; }
    .inner-device-placeholder { height: 175px; }
    .inner-hero-article .inner-hero-visual img { height: 175px; }
    .archive-toolbar { align-items: start; flex-direction: column; gap: 10px; }
    .article-content { font-size: 16px; }
    .article-content > p:first-child { font-size: 18px; }
    .article-content h2 { font-size: 27px; }
    .article-aside, .page-aside { grid-template-columns: 1fr; }
    .error-link-grid a { padding: 16px; }
    .pagination-wrap .page-numbers { gap: 5px; }

    .kemion-img-ph { min-height: 160px; padding: 20px 15px; }
    .cta-ph { min-height: 120px; }

    /* Fewer particles on small screens handled via JS */

    /* Person card v2 small mobile */
    .person-card-v2 { padding: 10px; }
    .pc-photo { width: 40px; height: 40px; border-radius: 50%; order: 0; }
    .people-grid-v2 { gap: 14px; }

}
/* v1.9.1 logo sizing override: readable in the dark header */
.site-header .site-logo .custom-logo,
.site-header .custom-logo-link img { max-height: 120px; width: auto; }
.site-header .site-logo { font-size: 58px; line-height: 1; }
@media (max-width: 600px) {
    .site-header .site-logo .custom-logo,
    .site-header .custom-logo-link img { max-height: 88px; }
    .site-header .site-logo { font-size: 42px; }
}
/* v3.0 CSS smoke: soft overlapping vapor, no per-frame canvas work */
.kemion-smoke-layer {
    position: fixed;
    inset: -18vh -18vw;
    pointer-events: none;
    z-index: 3;
    opacity: .09;
    filter: blur(var(--smoke-blur, 6px));
    mix-blend-mode: normal;
    transform: translate3d(0,0,0);
    background:
        radial-gradient(ellipse 18% 9% at 12% 72%, rgba(214,238,229,.36), transparent 72%),
        radial-gradient(ellipse 22% 12% at 31% 62%, rgba(203,232,220,.32), transparent 70%),
        radial-gradient(ellipse 16% 10% at 53% 76%, rgba(225,241,234,.30), transparent 72%),
        radial-gradient(ellipse 25% 12% at 74% 59%, rgba(200,229,217,.28), transparent 70%),
        radial-gradient(ellipse 19% 10% at 91% 73%, rgba(225,241,234,.32), transparent 72%);
    animation: kemion-smoke-drift var(--smoke-speed, 26s) ease-in-out infinite alternate;
}
.kemion-smoke-layer::before,
.kemion-smoke-layer::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 14% 8% at 20% 47%, rgba(225,243,235,.28), transparent 72%),
        radial-gradient(ellipse 20% 11% at 42% 57%, rgba(208,235,223,.26), transparent 70%),
        radial-gradient(ellipse 15% 9% at 67% 42%, rgba(225,243,235,.24), transparent 72%),
        radial-gradient(ellipse 24% 10% at 84% 55%, rgba(208,235,223,.24), transparent 72%);
    animation: kemion-smoke-rise calc(var(--smoke-speed, 26s) * .82) ease-in-out infinite alternate-reverse;
}
.kemion-smoke-layer::after { opacity: .55; transform: scale(1.15) translateX(4%); animation-delay: -7s; }
.kemion-uploaded-smoke {
    position: fixed;
    left: 50%;
    bottom: -12vh;
    width: min(120vw, 1800px);
    height: 120vh;
    max-height: none;
    object-fit: fill;
    transform: translateX(-50%) scale(var(--smoke-upload-scale, 1));
    opacity: var(--smoke-upload-opacity, .35);
    filter: blur(var(--smoke-upload-blur, 4px));
    pointer-events: none;
    z-index: 3;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.12) 13%, #000 29%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.12) 13%, #000 29%, #000 100%);
    animation: kemion-uploaded-smoke-drift var(--smoke-upload-speed, 22s) ease-in-out infinite alternate;
}

/* ═══════════════════════════════════════
   LOCAL VIDEO MODAL
   ═══════════════════════════════════════ */
body.kemion-video-open { overflow: hidden; }
.kemion-video-modal[hidden] { display: none; }
.kemion-video-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    place-items: center;
    padding: 22px;
}
.kemion-video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3,27,25,.82);
}
.kemion-video-dialog {
    position: relative;
    width: min(980px, 100%);
    padding: 12px;
    border: 1px solid rgba(117,203,187,.5);
    border-radius: 24px;
    background: #0b403b;
    box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.kemion-video-frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    background: #062725;
}
.kemion-video-frame video { display:block; width:100%; height:100%; border:0; background:#031b19; object-fit:contain; }
.kemion-video-close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(217,241,233,.65);
    border-radius: 50%;
    background: #d9f1e9;
    color: #062725;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}
.kemion-video-close:hover { background: #75cbbb; }
@keyframes kemion-uploaded-smoke-drift {
    from { transform: translateX(-53%) translateY(2%) scale(var(--smoke-upload-scale, 1)); }
    to { transform: translateX(-47%) translateY(-4%) scale(calc(var(--smoke-upload-scale, 1) + .04)); }
}
@keyframes kemion-smoke-drift { from { transform: translate3d(-2%, 2%, 0) scale(var(--smoke-size, 1)); } to { transform: translate3d(2%, -2%, 0) scale(calc(var(--smoke-size, 1) + .05)); } }
@keyframes kemion-smoke-rise { from { transform: translate3d(1%, 5%, 0) scale(1.02); } to { transform: translate3d(-2%, -5%, 0) scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .kemion-smoke-layer, .kemion-smoke-layer::before, .kemion-smoke-layer::after { animation: none; } }


/* ═══════════════════════════════════════
   CAROUSEL — v3.3.0
   ═══════════════════════════════════════ */
.kemion-carousel {
    position: relative;
    margin-top: 20px;
}
.kemion-carousel-viewport {
    overflow: hidden;
    border-radius: var(--radius);
}
.kemion-carousel-track {
    display: flex;
    transition: transform .45s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}
.kemion-carousel-slide {
    flex: 0 0 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Per-view: 2 on desktop */
.kemion-carousel[data-per-view="2"] .kemion-carousel-slide {
    flex: 0 0 50%;
    padding-right: 8px;
}
.kemion-carousel[data-per-view="2"] .kemion-carousel-slide:last-child {
    padding-right: 0;
}

/* Research carousel images */
.kemion-carousel--research .kemion-carousel-slide img {
    display: block;
    width: 100%;
    height: 520px;
    min-height: 0;
    object-fit: cover;
    border-radius: var(--radius);
}
.kemion-carousel--research .kemion-carousel-viewport {
    border-radius: var(--radius);
    height: 520px;
}

.kemion-carousel--people .kemion-carousel-slide {
    padding: 0 8px;
}
.kemion-carousel--people .kemion-carousel-slide:first-child {
    padding-left: 0;
}
.kemion-carousel--people .kemion-carousel-slide:last-child {
    padding-right: 0;
}
.kemion-carousel--people .kemion-carousel-viewport {
    border-radius: 0;
    overflow: hidden;
    clip-path: none;
    width: 100%;
    max-width: 100%;
}
.kemion-carousel--people {
    overflow: hidden;
}

/* Arrows */
.carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(117, 203, 187, .35);
    background: rgba(255, 255, 255, .92);
    color: var(--ink);
    display: grid;
    place-items: center;
    cursor: pointer;
    z-index: 3;
    transition: border-color .25s, background .25s, box-shadow .25s, opacity .25s;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    padding: 0;
}
.carousel-arrow:hover {
    border-color: var(--a);
    background: #fff;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
}
.carousel-arrow:active {
    transform: translateY(-50%) scale(.94);
}
.carousel-arrow[hidden] {
    opacity: 0;
    pointer-events: none;
}
.carousel-prev { left: 8px; }
.carousel-next { right: 8px; }

/* Arrows inside research (overlay) */
.kemion-carousel--research .carousel-prev { left: 12px; background: rgba(6, 39, 37, .65); color: #fff; border-color: rgba(255, 255, 255, .2); }
.kemion-carousel--research .carousel-next { right: 12px; background: rgba(6, 39, 37, .65); color: #fff; border-color: rgba(255, 255, 255, .2); }
.kemion-carousel--research .carousel-arrow:hover { background: rgba(6, 39, 37, .85); border-color: var(--a); }

/* Dots */
.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}
.carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid var(--a);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background .25s, transform .25s;
}
.carousel-dot.is-active {
    background: var(--a);
    transform: scale(1.2);
}
.carousel-dot:hover {
    background: rgba(117, 203, 187, .5);
}

/* Research dots */
.kemion-carousel--research .carousel-dots {
    position: absolute;
    bottom: 16px;
    left: 0;
    right: 0;
}
.kemion-carousel--research .carousel-dot {
    border-color: rgba(255, 255, 255, .6);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.kemion-carousel--research .carousel-dot.is-active {
    background: #fff;
}

/* ── Responsive carousel ── */
@media (max-width: 900px) {
    .kemion-carousel[data-per-view="2"] .kemion-carousel-slide {
        flex: 0 0 100%;
        padding-right: 0;
        padding: 0 4px;
    }
    .carousel-prev { left: 4px; }
    .carousel-next { right: 4px; }
    .kemion-carousel--research .kemion-carousel-slide img {
        height: 320px;
    }
    .kemion-carousel--research .kemion-carousel-viewport { height: 320px; }
}

@media (max-width: 600px) {
    .carousel-arrow {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }
    .kemion-carousel--research .kemion-carousel-slide img {
        height: 240px;
    }
    .kemion-carousel--research .kemion-carousel-viewport { height: 240px; }
    .kemion-carousel--people,
    .kemion-carousel--people .kemion-carousel-track,
    .kemion-carousel--people .kemion-carousel-slide { width: 100%; max-width: 100%; }
    .kemion-carousel--people .kemion-carousel-slide { flex-basis: 100%; padding: 0; }
}

@media (max-width: 520px) {
    .nav-wrap { gap: 10px; }
    .header-phone { width: 38px; height: 38px; min-height: 38px; padding: 0; justify-content: center; }
    .header-phone-number { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .header-phone-icon { width: 27px; height: 27px; }
}

/* ═══════════════════════════════════════
   CONTACT CENTER — v3.10.23
   ═══════════════════════════════════════ */
.header-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.contact-trigger { border:0; padding:0; cursor:pointer; color:#effffb; background:linear-gradient(145deg,#2b8f7d,#155c53); box-shadow:0 12px 32px rgba(3,35,31,.30), inset 0 1px rgba(255,255,255,.18); transition:transform .28s ease, box-shadow .28s ease, filter .28s ease; }
.contact-trigger:hover { transform:translateY(-3px) scale(1.04); filter:brightness(1.08); box-shadow:0 16px 38px rgba(3,35,31,.38),0 0 0 5px rgba(104,201,176,.12); }
.contact-trigger-icon { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.contact-trigger-icon svg { width:46%; height:46%; fill:#b9f5e7; }
.contact-trigger--mobile { display:none; width:40px; height:40px; border-radius:50%; }
.contact-trigger--floating { position:fixed; z-index:980; right:clamp(18px,2.2vw,36px); bottom:clamp(20px,3vw,42px); width:var(--contact-btn-size,58px); height:var(--contact-btn-size,58px); border-radius:50%; animation:contact-float-in .65s cubic-bezier(.2,.8,.2,1) both, contact-breathe 3.4s ease-in-out .8s infinite; }
.contact-trigger-pulse { position:absolute; inset:-1px; border:1px solid rgba(158,241,221,.6); border-radius:50%; animation:contact-ring 2.5s ease-out infinite; pointer-events:none; }
@keyframes contact-float-in { from { opacity:0; transform:translateY(-42px) scale(.8); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes contact-breathe { 0%,100% { box-shadow:0 12px 32px rgba(3,35,31,.30),inset 0 1px rgba(255,255,255,.18); } 50% { box-shadow:0 16px 38px rgba(3,35,31,.38),0 0 0 7px rgba(104,201,176,.09); } }
@keyframes contact-ring { 0%,45% { transform:scale(.86); opacity:0; } 58% { opacity:.75; } 100% { transform:scale(1.55); opacity:0; } }
.contact-modal { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding:24px; visibility:hidden; opacity:0; transition:opacity .28s ease,visibility .28s ease; }
.contact-modal.is-open { visibility:visible; opacity:1; }
.contact-modal-backdrop { position:absolute; inset:0; background:rgba(2,25,23,.62); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.contact-modal-panel { position:relative; z-index:1; width:min(520px,100%); max-height:min(720px,calc(100vh - 48px)); overflow:auto; padding:34px; border-radius:24px; color:#effffb; background:linear-gradient(155deg,rgba(10,61,56,.97),rgba(5,38,35,.98)); border:1px solid rgba(166,237,220,.22); box-shadow:0 30px 90px rgba(0,0,0,.42); transform:translateY(22px) scale(.96); transition:transform .34s cubic-bezier(.2,.8,.2,1); outline:none; }
.contact-modal.is-open .contact-modal-panel { transform:translateY(0) scale(1); }
.contact-modal-panel h2 { margin:6px 42px 4px 0; font-size:clamp(27px,4vw,38px); line-height:1.05; }
.contact-modal-lead { margin:0 0 22px; color:#b9d8d1; }
.contact-modal-close { position:absolute; top:18px; right:18px; width:38px; height:38px; border:1px solid rgba(179,239,225,.2); border-radius:50%; background:rgba(255,255,255,.06); color:#dffaf4; font-size:27px; line-height:32px; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.contact-modal-close:hover { transform:rotate(8deg); background:rgba(255,255,255,.12); }
.contact-list { display:grid; gap:10px; }
.contact-item { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; align-items:center; gap:13px; padding:12px 14px; border-radius:16px; color:#f4fffc; background:rgba(126,210,190,.075); border:1px solid rgba(155,230,212,.13); transition:transform .22s ease,background .22s ease,border-color .22s ease; }
.contact-item:hover { color:#fff; transform:translateX(4px); background:rgba(126,210,190,.14); border-color:rgba(155,230,212,.30); }
.contact-item-icon { width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:14px; background:linear-gradient(145deg,rgba(88,183,160,.28),rgba(58,137,120,.18)); color:#aaf0df; font-size:17px; font-weight:800; }
.contact-item-copy { min-width:0; display:block; }
.contact-item-copy strong,.contact-item-copy small { display:block; }
.contact-item-copy strong { font-size:15px; line-height:1.25; }
.contact-item-copy small { margin-top:3px; color:#a9c9c2; font-size:12px; line-height:1.35; }
.contact-item-arrow { color:#7ed4c0; font-size:27px; text-align:right; }
body.contact-modal-open { overflow:hidden; }
@media (max-width:900px) {
    .nav-wrap { gap:14px; }
    .header-actions { margin-left:auto; gap:4px; }
    .contact-trigger--mobile { display:block; flex:0 0 40px; }
    .contact-trigger--floating { display:none; }
    .mobile-toggle { margin-left:0 !important; flex:0 0 38px; }
}
@media (max-width:600px) {
    .contact-modal { padding:14px; align-items:flex-end; }
    .contact-modal-panel { width:100%; max-height:82vh; padding:28px 18px 20px; border-radius:22px; }
    .contact-item { grid-template-columns:44px minmax(0,1fr) 16px; padding:10px; gap:10px; }
    .contact-item-icon { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) { .contact-trigger--floating,.contact-trigger-pulse { animation:none; } .contact-modal,.contact-modal-panel,.contact-item,.contact-trigger { transition:none; } }
.contact-item-icon svg { width:23px; height:23px; fill:currentColor; }
.contact-icon-text { font-size:13px; font-weight:900; letter-spacing:-.03em; }


/* CONTACT CENTER refinements — v3.10.24 */
.contact-trigger-icon { transition:opacity .18s ease, transform .18s ease; }
.contact-trigger-icon.is-changing { opacity:0; transform:scale(.68) rotate(-12deg); }
.contact-trigger-icon .contact-icon-text { color:#b9f5e7; font-size:clamp(9px, calc(var(--contact-btn-size,58px) * .20), 15px); }
.contact-trigger-icon .contact-icon-max { letter-spacing:-.08em; font-weight:900; }
.business-contact-btn { position:relative; overflow:hidden; padding:13px 24px; color:#062725; background:linear-gradient(135deg,#a9ead8,#74cbb5); border:1px solid rgba(218,255,246,.48); box-shadow:0 10px 28px rgba(79,190,163,.18); }
.business-contact-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.38) 48%,transparent 70%); transform:translateX(-130%); transition:transform .65s ease; }
.business-contact-btn:hover { background:linear-gradient(135deg,#baf2e3,#83d5c0); transform:translateY(-2px); box-shadow:0 14px 34px rgba(79,190,163,.28); }
.business-contact-btn:hover::after { transform:translateX(130%); }
@media (max-width:900px) {
  .header-actions { flex-direction:row; }
  .mobile-toggle { order:1; }
  .contact-trigger--mobile { order:2; }
  .contact-trigger--mobile.is-floating-mobile { position:fixed; display:block; z-index:980; right:18px; bottom:20px; width:var(--contact-btn-size,58px); height:var(--contact-btn-size,58px); border-radius:50%; animation:contact-mobile-drop .45s cubic-bezier(.2,.8,.2,1) both, contact-breathe 3.4s ease-in-out .5s infinite; }
  .contact-trigger--mobile.is-floating-mobile .contact-trigger-icon svg { width:46%; height:46%; }
}
@keyframes contact-mobile-drop { from { opacity:0; transform:translateY(-35px) scale(.8); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion:reduce) { .contact-trigger-icon { transition:none; } .contact-trigger--mobile.is-floating-mobile { animation:none; } .business-contact-btn::after { display:none; } }


/* ─── Documents static page ─── */
.kemion-documents-content { max-width: 1180px; }
.kemion-docs-intro { max-width: 850px; margin: 0 0 34px; }
.kemion-docs-intro .lead { font-size: 20px; line-height: 1.55; color: #173d39; margin-bottom: 12px; }
.kemion-docs-intro p:not(.lead) { color: #60716e; line-height: 1.7; }
.kemion-docs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.kemion-doc-card { position: relative; min-height: 245px; padding: 26px; border: 1px solid rgba(12,67,62,.12); border-radius: 22px; background: linear-gradient(145deg,#fff 0%,#f4fbf8 100%); box-shadow: 0 16px 38px rgba(8,45,42,.07); display: flex; flex-direction: column; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; overflow: hidden; }
.kemion-doc-card::after { content: ''; position: absolute; width: 110px; height: 110px; border-radius: 50%; right: -42px; top: -42px; background: rgba(105,216,197,.13); }
.kemion-doc-card:hover { transform: translateY(-4px); border-color: rgba(39,161,142,.32); box-shadow: 0 22px 46px rgba(8,45,42,.11); }
.kemion-doc-type { color: #168c79; font-size: 12px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 17px; }
.kemion-doc-card h3 { color: #0a3733; font-size: 21px; line-height: 1.18; margin: 0 0 12px; }
.kemion-doc-card p { color: #60716e; line-height: 1.55; margin: 0 0 22px; }
.kemion-doc-status { margin-top: auto; align-self: flex-start; padding: 8px 12px; border-radius: 999px; background: rgba(21,142,121,.09); color: #137b6a; font-size: 12px; font-weight: 700; }
.kemion-docs-note { margin-top: 26px; padding: 20px 22px; border-radius: 16px; background: #edf8f5; border-left: 4px solid #31aa96; color: #46635e; line-height: 1.6; }
@media (max-width: 900px) { .kemion-docs-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .kemion-docs-grid { grid-template-columns: 1fr; } .kemion-doc-card { min-height: 0; } .kemion-docs-intro .lead { font-size: 18px; } }

/* ═══════════════════════════════════════
   v3.10.26 — static pages / documents
   ═══════════════════════════════════════ */
.page-hero { min-height: var(--page-hero-height,560px); background-size: cover; background-position: center; display:flex; align-items:center; }
.page-hero-grid { width:100%; padding-top:110px; padding-bottom:72px; position:relative; z-index:1; }
.page-hero .hero-copy { max-width:680px; }
.page-hero .hero-copy h1 { max-width:780px; }

.kemion-page-nav-aside { position:sticky; top:96px; }
.kemion-page-nav-card { padding:24px; overflow:hidden; position:relative; background:linear-gradient(145deg,#f7fcfa,#edf7f3); border-color:rgba(12,67,62,.12); box-shadow:0 16px 36px rgba(8,45,42,.07); }
.kemion-page-nav-card::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; right:-58px; top:-58px; background:rgba(105,216,197,.18); pointer-events:none; }
.kemion-page-nav-mark { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--d); color:var(--a); font-weight:900; margin-bottom:14px; }
.kemion-page-nav-kicker { display:block; color:#168c79; font-size:10px; line-height:1.2; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.kemion-page-nav-card h3 { font-size:20px; margin:5px 0 14px; color:var(--ink); }
.kemion-page-menu { list-style:none; padding:0; margin:0; }
.kemion-page-menu > li { border-top:1px solid rgba(12,67,62,.11); }
.kemion-page-menu a { position:relative; display:block; padding:11px 22px 11px 0; color:#214743; font-size:14px; font-weight:700; text-decoration:none; transition:color .2s ease,padding .2s ease; }
.kemion-page-menu a::after { content:"›"; position:absolute; right:2px; top:50%; transform:translateY(-50%); color:#3aa994; font-size:19px; font-weight:400; }
.kemion-page-menu a:hover { color:#13806f; padding-left:5px; }
.kemion-page-menu .sub-menu { list-style:none; padding:0 0 8px 12px; margin:0; }
.kemion-page-menu .sub-menu a { font-size:12px; font-weight:600; padding-top:6px; padding-bottom:6px; }

.kemion-documents-content { max-width:none; }
.kemion-docs-intro { max-width:820px; margin:0 0 32px; }
.kemion-docs-intro .lead { font-size:20px; line-height:1.55; color:#173d39; }
.kemion-docs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.kemion-doc-card { min-height:300px; padding:28px; align-items:center; justify-content:center; text-align:center; }
.kemion-doc-card::after { right:-45px; top:-45px; }
.kemion-doc-icon { width:54px; height:54px; border-radius:16px; display:grid; place-items:center; margin:0 auto 16px; background:#0c433e; color:#8ed9c8; font-size:14px; font-weight:900; letter-spacing:.04em; box-shadow:0 10px 24px rgba(8,45,42,.14); }
.kemion-doc-card--video .kemion-doc-icon { font-size:22px; }
.kemion-doc-card--image .kemion-doc-icon,.kemion-doc-card--link .kemion-doc-icon { font-size:24px; }
.kemion-doc-type { margin:0 0 10px; }
.kemion-doc-card h3 { margin:0 0 11px; }
.kemion-doc-card p { margin:0 auto 20px; max-width:420px; }
.kemion-doc-action,.kemion-doc-status { margin-top:auto; align-self:center; }
.kemion-doc-action { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 18px; border-radius:999px; background:#0c433e; color:#fff; text-decoration:none; font-size:13px; font-weight:800; box-shadow:0 9px 22px rgba(8,45,42,.13); transition:transform .2s ease,background .2s ease; }
.kemion-doc-action:hover { transform:translateY(-2px); background:#126258; color:#fff; }

@media (max-width:900px){
  .page-hero { min-height:var(--page-hero-mobile-height,430px); }
  .page-hero-grid { padding-top:115px; padding-bottom:55px; }
  .kemion-page-nav-aside { position:static; }
  .kemion-docs-grid { grid-template-columns:1fr; }
}
@media (max-width:600px){
  .page-hero { min-height:var(--page-hero-mobile-height,430px); }
  .page-hero-grid { padding-top:105px; padding-bottom:45px; }
  .page-hero .hero-copy h1 { font-size:38px; }
  .kemion-doc-card { min-height:260px; padding:24px 20px; }
}


/* ═══════════════════════════════════════
   v3.10.27 — static page layout / navigation fixes
   ═══════════════════════════════════════ */
.page-hero-grid.container {
    width: min(1180px, calc(100% - 36px));
    margin-left: auto;
    margin-right: auto;
}
.page-hero .hero-copy { margin: 0; }

.page-layout {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 48px;
}
.kemion-documents-page > .container { width: min(1280px, calc(100% - 36px)); }
.kemion-docs-intro { max-width: 900px; }

/* Sidebar is navigation, not a content card. */
.kemion-page-nav-aside { position: sticky; top: 96px; }
.kemion-page-nav-panel {
    padding: 6px 0 6px 24px;
    border-left: 1px solid rgba(12,67,62,.18);
    background: transparent;
}
.kemion-page-nav-kicker {
    display:block; margin:0 0 5px; color:#168c79; font-size:10px; line-height:1.2;
    font-weight:800; letter-spacing:.14em; text-transform:uppercase;
}
.kemion-page-nav-panel h3 { margin:0 0 18px; color:var(--ink); font-size:19px; }
.kemion-page-menu, .kemion-page-menu .sub-menu { list-style:none; padding:0; margin:0; }
.kemion-page-menu > li { position:relative; border-top:1px solid rgba(12,67,62,.10); }
.kemion-page-menu > li:last-child { border-bottom:1px solid rgba(12,67,62,.10); }
.kemion-page-menu li > a {
    display:block; position:relative; padding:12px 38px 12px 0; color:#244b47;
    font-size:14px; line-height:1.3; font-weight:700; text-decoration:none;
    transition:color .22s ease, transform .22s ease;
}
.kemion-page-menu li > a::after { content:none; }
.kemion-page-menu li > a:hover { color:#13806f; transform:translateX(4px); }
.kemion-page-menu .current-menu-item > a,
.kemion-page-menu .current-menu-ancestor > a { color:#0d7768; }
.kemion-page-menu .current-menu-item > a::before {
    content:""; position:absolute; left:-25px; top:50%; width:3px; height:22px;
    border-radius:4px; background:#35aa94; transform:translateY(-50%);
}
.kemion-page-sub-toggle {
    position:absolute; z-index:2; right:0; top:7px; width:30px; height:30px; padding:0;
    border:0; border-radius:50%; background:transparent; color:#188b79; cursor:pointer;
    display:grid; place-items:center; transition:background .2s ease, transform .25s ease;
}
.kemion-page-sub-toggle:hover { background:rgba(53,170,148,.10); }
.kemion-page-sub-toggle::before { content:"+"; font-size:20px; line-height:1; font-weight:400; }
.kemion-page-menu .is-submenu-open > .kemion-page-sub-toggle { transform:rotate(45deg); }
.kemion-page-menu .sub-menu {
    overflow:hidden; max-height:0; opacity:0; padding-left:13px;
    transition:max-height .34s ease, opacity .25s ease, padding-bottom .34s ease;
}
.kemion-page-menu .is-submenu-open > .sub-menu { opacity:1; padding-bottom:9px; }
.kemion-page-menu .sub-menu li > a { padding:7px 30px 7px 0; font-size:12.5px; font-weight:600; color:#52706c; }
.kemion-page-menu .sub-menu .kemion-page-sub-toggle { top:2px; }

@media (max-width:900px){
    .page-layout { grid-template-columns:1fr; gap:38px; }
    .kemion-page-nav-aside { position:static; }
    .kemion-page-nav-panel { padding:20px 0 0; border-left:0; border-top:1px solid rgba(12,67,62,.16); }
    .page-hero-grid.container { width:calc(100% - 28px); }
    .kemion-documents-page > .container { width:calc(100% - 28px); }
}


/* Documents media cards v3.10.29 */
.kemion-doc-card { padding:0; justify-content:flex-start; text-align:left; align-items:stretch; }
.kemion-doc-card-content { padding:24px 26px 26px; display:flex; flex-direction:column; flex:1; text-align:center; align-items:center; }
.kemion-doc-meta { width:100%; display:flex; align-items:center; justify-content:flex-start; gap:9px; margin:0 0 15px; position:relative; z-index:1; }
.kemion-doc-icon { flex:0 0 28px; width:28px; height:28px; margin:0; border-radius:8px; display:grid; place-items:center; background:#0c433e; color:#8ed9c8; box-shadow:none; }
.kemion-doc-icon svg { width:15px; height:15px; }
.kemion-doc-type { margin:0; text-align:left; font-size:11px; }
.kemion-doc-card-content h3 { margin:0 0 11px; }
.kemion-doc-card-content p { margin:0 auto 20px; }
.kemion-doc-preview { position:relative; display:block; width:100%; aspect-ratio:16/9; padding:0; border:0; overflow:hidden; background:#092f2b; cursor:pointer; }
.kemion-doc-preview img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.2,.75,.25,1),filter .3s ease; }
.kemion-doc-preview::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,35,31,.2),transparent 55%); transition:background .3s ease; }
.kemion-doc-preview:hover img { transform:scale(1.035); }
.kemion-doc-preview-play { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; border-radius:50%; display:grid; place-items:center; padding-left:3px; color:#062725; background:rgba(217,241,233,.92); box-shadow:0 10px 28px rgba(0,0,0,.24); transition:transform .25s ease,background .25s ease; }
.kemion-doc-preview:hover .kemion-doc-preview-play { transform:translate(-50%,-50%) scale(1.08); background:#75cbbb; }
.kemion-doc-card.has-preview { min-height:0; }
.kemion-doc-card.has-preview .kemion-doc-card-content { min-height:230px; }
body.kemion-image-open { overflow:hidden; }
.kemion-image-modal[hidden] { display:none; }
.kemion-image-modal { position:fixed; inset:0; z-index:1100; display:grid; place-items:center; padding:28px; }
.kemion-image-modal-backdrop { position:absolute; inset:0; background:rgba(3,27,25,.82); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.kemion-image-dialog { position:relative; z-index:1; max-width:min(1200px,94vw); max-height:90vh; padding:12px; border:1px solid rgba(117,203,187,.5); border-radius:24px; background:#0b403b; box-shadow:0 24px 80px rgba(0,0,0,.38); }
.kemion-image-dialog img { display:block; max-width:100%; max-height:calc(90vh - 70px); width:auto; height:auto; border-radius:16px; object-fit:contain; }
.kemion-image-close { position:absolute; top:-18px; right:-18px; z-index:2; width:38px; height:38px; border:1px solid rgba(217,241,233,.65); border-radius:50%; background:#d9f1e9; color:#062725; font-size:25px; line-height:1; cursor:pointer; }
.kemion-image-close:hover { background:#75cbbb; }
.kemion-image-modal-caption { color:#d9f1e9; text-align:center; font-size:13px; padding:8px 8px 2px; }
@media(max-width:600px){.kemion-doc-card-content{padding:20px}.kemion-image-modal{padding:18px}.kemion-image-close{top:8px;right:8px}}

/* v3.10.30 — compact document media galleries */
.kemion-doc-card { min-height: 0; }
.kemion-doc-card-content { padding: 26px; min-height: 280px; }
.kemion-doc-card-content p { margin-bottom: 18px; }
.kemion-doc-media-gallery { width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin:2px auto 20px; }
.kemion-doc-media-thumb { position:relative; width:112px; height:76px; flex:0 0 112px; padding:4px; border:1px solid rgba(22,140,121,.34); border-radius:12px; background:#f3faf7; box-shadow:0 5px 14px rgba(8,45,42,.08); overflow:hidden; cursor:pointer; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.kemion-doc-media-thumb img { width:100%; height:100%; display:block; object-fit:cover; border-radius:8px; transition:transform .3s ease; }
.kemion-doc-media-thumb:hover { transform:translateY(-3px); border-color:#35aa94; box-shadow:0 9px 20px rgba(8,45,42,.13); }
.kemion-doc-media-thumb:hover img { transform:scale(1.04); }
.kemion-doc-media-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:30px; height:30px; display:grid; place-items:center; padding-left:2px; border-radius:50%; background:rgba(225,246,239,.94); color:#0b433d; font-size:11px; box-shadow:0 4px 12px rgba(0,0,0,.2); }
.kemion-doc-media-empty { width:100%;height:100%;display:grid;place-items:center;border-radius:8px;background:#0c433e;color:#8ed9c8;font-size:10px;font-weight:800;letter-spacing:.12em; }
@media(max-width:600px){.kemion-doc-media-thumb{width:96px;height:66px;flex-basis:96px}.kemion-doc-card-content{padding:22px 18px}}


/* v3.10.31 — deterministic document previews and aligned card geometry */
.kemion-doc-card-content h3 {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden;
    width:100%; min-height:2.8em; line-height:1.4; margin-bottom:10px;
}
.kemion-doc-card-content > p {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden;
    width:100%; min-height:4.65em; max-height:4.65em; line-height:1.55; margin:0 auto 18px;
}
.kemion-doc-media-gallery {
    min-height:var(--kemion-doc-thumb-h,76px); margin-top:0; align-content:center;
}
.kemion-doc-media-thumb {
    width:var(--kemion-doc-thumb-w,112px); height:var(--kemion-doc-thumb-h,76px);
    flex:0 0 var(--kemion-doc-thumb-w,112px);
}
@media(max-width:600px){
    .kemion-doc-media-thumb{width:var(--kemion-doc-thumb-w,112px);height:var(--kemion-doc-thumb-h,76px);flex-basis:var(--kemion-doc-thumb-w,112px)}
}

/* v3.10.35 — local video previews */
.video-article-card .va-thumb{width:54px;height:42px;border-radius:9px;overflow:hidden;border:1px solid rgba(117,203,187,.42);display:block}
.video-article-card .va-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.video-article-card:has(.va-thumb){grid-template-columns:54px 34px 1fr}
@media(max-width:900px){.video-article-card:has(.va-thumb){grid-template-columns:48px 30px 1fr}.video-article-card .va-thumb{width:48px;height:38px}}

/* v3.10.36 — two-step local video loading: poster first, MP4 only after Play */
.kemion-video-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#062725;overflow:hidden;cursor:pointer;display:block;color:#062725}
.kemion-video-poster[hidden]{display:none}
.kemion-video-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;transition:transform .45s cubic-bezier(.2,.75,.25,1),filter .3s ease}
.kemion-video-poster.has-image img{display:block}
.kemion-video-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,27,25,.08),rgba(3,27,25,.34));transition:background .3s ease}
.kemion-video-poster:hover img{transform:scale(1.025)}
.kemion-video-poster-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(217,241,233,.42);font-size:clamp(28px,5vw,64px);font-weight:700;letter-spacing:.18em}
.kemion-video-poster.has-image .kemion-video-poster-fallback{display:none}
.kemion-video-poster-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;display:grid;place-items:center;padding-left:5px;background:rgba(217,241,233,.94);border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 42px rgba(0,0,0,.3),0 0 0 0 rgba(117,203,187,.36);font-size:25px;transition:transform .25s ease,background .25s ease,box-shadow .25s ease;animation:kemionVideoPosterPulse 2.8s ease-out infinite}
.kemion-video-poster:hover .kemion-video-poster-play{transform:translate(-50%,-50%) scale(1.08);background:#75cbbb}
.kemion-video-frame video[hidden]{display:none}
@keyframes kemionVideoPosterPulse{0%,55%{box-shadow:0 16px 42px rgba(0,0,0,.3),0 0 0 0 rgba(117,203,187,.34)}85%,100%{box-shadow:0 16px 42px rgba(0,0,0,.3),0 0 0 22px rgba(117,203,187,0)}}
@media(max-width:600px){.kemion-video-poster-play{width:62px;height:62px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.kemion-video-poster-play{animation:none}.kemion-video-poster img{transition:none}}
/* Restore the original compact research-video cards: no thumbnail column on the homepage. */
.video-article-card:has(.va-thumb){grid-template-columns:36px 1fr}

/* KEMION 4.3.1 — compact product model pages */
.model-page{background:#f7fbf9;color:#103c37}.model-hero{padding:clamp(44px,5.5vw,76px) 0;background:radial-gradient(circle at 78% 45%,rgba(77,190,167,.14),transparent 30%),linear-gradient(135deg,#082f2c,#0d4942);color:#fff}.model-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.85fr);gap:clamp(28px,4vw,58px);align-items:center}.model-hero h1{font-size:clamp(38px,4.35vw,64px);line-height:1.02;max-width:720px;margin:10px 0 16px}.model-hero-copy p{font-size:clamp(15px,1.4vw,18px);line-height:1.55;max-width:600px;color:#d8ebe6;margin:0 0 22px}.model-visual{height:clamp(300px,32vw,440px);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.05);box-shadow:0 22px 55px rgba(0,0,0,.18)}.model-visual img,.model-media img,.model-media video{width:100%;height:100%;object-fit:cover;display:block}.model-placeholder{width:100%;height:100%;min-height:170px;display:grid;place-content:center;text-align:center;gap:6px;background:radial-gradient(circle,rgba(96,207,184,.14),transparent 42%),linear-gradient(145deg,#0b3d38,#082d2a);color:#dff4ee}.model-placeholder span{font-size:10px;letter-spacing:.26em;color:#73c9b7}.model-placeholder b{font-size:15px}.model-section{padding:clamp(42px,5vw,68px) 0}.model-section:nth-of-type(2n+1){background:#fff}.model-section .narrow,.model-page .narrow{max-width:820px}.model-intro{text-align:center}.model-intro h2,.section-head h2{font-size:clamp(28px,3vw,42px);line-height:1.1;margin:6px 0 12px}.model-intro p{font-size:16px;line-height:1.65;color:#496963;margin:0 auto;max-width:760px}.section-head{margin-bottom:24px}.model-section-head-row{display:flex;align-items:end;justify-content:space-between;gap:20px}.model-gallery-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,52%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 10px}.model-gallery-carousel::-webkit-scrollbar{display:none}.model-media{height:clamp(245px,27vw,350px);border-radius:18px;overflow:hidden;background:#0b3d38;scroll-snap-align:start}.model-gallery-nav{display:flex;gap:8px}.model-gallery-nav button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(12,67,62,.16);background:#fff;color:#164b44;font-size:24px;line-height:1;cursor:pointer;transition:.2s}.model-gallery-nav button:hover{transform:translateY(-1px);background:#eaf5f1}.model-gallery-dots{display:flex;justify-content:center;gap:6px;margin-top:4px}.model-gallery-dots i{display:block;width:6px;height:6px;border-radius:50%;background:rgba(13,73,66,.2)}.model-gallery-dots i.is-active{width:18px;border-radius:8px;background:#36a991}.model-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.model-info-card{padding:20px 20px 18px;border:1px solid rgba(12,67,62,.1);border-radius:15px;background:#fff;box-shadow:0 9px 26px rgba(10,55,50,.045)}.model-info-card>span{font-size:10px;color:#36a991;font-weight:800}.model-info-card h3{font-size:18px;line-height:1.25;margin:14px 0 7px}.model-info-card p{font-size:14px;color:#58716d;line-height:1.5;margin:0}.model-spec-table{border-top:1px solid rgba(12,67,62,.13)}.model-spec-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:12px 3px;border-bottom:1px solid rgba(12,67,62,.1);font-size:14px}.model-spec-row span{color:#66807b}.model-doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.model-doc{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#eaf5f1;color:#123f39;text-decoration:none;font-size:14px}.model-doc span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#0d4942;color:#9ce0d1;font-size:9px;font-weight:800}.model-faq details{border-bottom:1px solid rgba(12,67,62,.13);padding:0}.model-faq summary{cursor:pointer;padding:15px 0;font-size:15px;font-weight:700}.model-faq details p{padding:0 0 16px;color:#58716d;line-height:1.55;font-size:14px}.model-cta{padding:30px 0;background:#0b3d38;color:#fff}.model-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:28px}.model-cta h2{font-size:clamp(24px,2.6vw,36px);line-height:1.12;margin:5px 0 5px}.model-cta p{font-size:14px;color:#cce5df;margin:0}.model-cta .btn{white-space:nowrap}.model-page .eyebrow{font-size:10px}.model-page .btn{padding-top:11px;padding-bottom:11px}
@media(max-width:900px){.model-hero-grid{grid-template-columns:1fr 1fr}.model-visual{height:330px}.model-gallery-carousel{grid-auto-columns:70%}.model-card-grid{grid-template-columns:1fr 1fr}.model-cta>.container{gap:20px}}
@media(max-width:720px){.model-hero-grid{grid-template-columns:1fr}.model-hero-copy{max-width:620px}.model-visual{height:330px}.model-gallery-carousel{grid-auto-columns:84%}.model-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.model-hero{padding:38px 0 42px}.model-hero h1{font-size:38px}.model-hero-copy p{font-size:15px}.model-visual{height:285px;border-radius:17px}.model-section{padding:38px 0}.model-section-head-row{align-items:center}.model-gallery-nav{display:none}.model-gallery-carousel{grid-auto-columns:88%;gap:10px}.model-media{height:245px;border-radius:15px}.model-card-grid,.model-doc-grid{grid-template-columns:1fr}.model-info-card{padding:17px}.model-spec-row{grid-template-columns:1fr;gap:4px;padding:10px 2px}.model-cta{padding:24px 0}.model-cta>.container{align-items:flex-start;flex-direction:column;gap:14px}.model-cta h2{font-size:25px}.model-cta p{font-size:13px}.section-head{margin-bottom:18px}}


/* KEMION 4.3.2 — compact product dashboard */
.model-page-compact{background:#f8fbfa;color:#123f39}.model-page-compact .model-icon{width:24px;height:24px;display:block}.model-product-hero{padding:38px 0 40px;background:linear-gradient(180deg,#f9fcfb,#f5faf8);border-bottom:1px solid rgba(13,73,66,.06)}.model-product-hero-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(470px,1.22fr);gap:46px;align-items:center}.model-product-copy h1{font-size:clamp(42px,4.6vw,66px);line-height:.98;margin:10px 0 14px;color:#073d37;letter-spacing:-.035em}.model-product-lead{font-size:15px;line-height:1.55;color:#476b65;max-width:520px;margin:0 0 20px}.model-product-actions{display:flex;gap:10px;flex-wrap:wrap}.model-product-actions .btn{padding:12px 20px}.model-btn-outline{background:transparent!important;color:#0b5148!important;border:1px solid #0b655a!important}.model-quick-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.model-quick-point{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;line-height:1.25;color:#174d46}.model-quick-point .model-icon{width:29px;height:29px;padding:6px;border:1px solid rgba(13,99,88,.32);border-radius:50%;flex:0 0 29px}.model-hero-gallery{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:9px;height:390px}.model-hero-main{position:relative;border-radius:16px;overflow:hidden;background:#0b423c}.model-hero-main>img,.model-hero-main>video{width:100%;height:100%;object-fit:cover;display:block}.model-hero-main .model-placeholder{min-height:0}.model-expand{position:absolute;right:12px;top:12px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#0c544b;cursor:pointer}.model-expand .model-icon{width:17px;height:17px}.model-hero-arrows{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}.model-hero-arrows button{width:32px;height:32px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(4,48,43,.62);color:#fff;font-size:20px;cursor:pointer}.model-hero-thumbs{display:grid;grid-template-rows:repeat(4,1fr);gap:8px;min-height:0}.model-hero-thumb{padding:0;border:0;border-radius:12px;overflow:hidden;background:#0b423c;cursor:pointer;opacity:.82;transition:.2s;min-height:0}.model-hero-thumb:hover,.model-hero-thumb.is-active{opacity:1;box-shadow:0 0 0 2px rgba(52,169,145,.38)}.model-hero-thumb img,.model-hero-thumb .model-placeholder{width:100%;height:100%;object-fit:cover}.model-placeholder-compact{min-height:0!important;background:radial-gradient(circle at 50% 45%,rgba(77,190,167,.14),transparent 34%),linear-gradient(145deg,#0b4841,#07342f);gap:4px}.model-placeholder-compact .model-icon{width:23px;height:23px;margin:0 auto;color:#8dd6c7}.model-placeholder-compact span{font-size:8px}.model-placeholder-compact b{font-size:10px;font-weight:600}.model-dashboard{padding:26px 0 34px;background:#fff}.model-dashboard>.container{display:grid;gap:14px}.model-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.model-dashboard-top{grid-template-columns:.92fr 1.08fr}.model-panel{background:linear-gradient(145deg,#f6fbf9,#fbfdfc);border:1px solid rgba(12,67,62,.075);border-radius:16px;padding:20px 21px;box-shadow:0 8px 28px rgba(11,65,58,.035);min-width:0}.model-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.model-panel-title>.model-icon{width:25px;height:25px;color:#0b5a50}.model-panel-title h2{font-size:22px;line-height:1.1;margin:0;color:#103f39}.model-about-body{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:20px;align-items:stretch}.model-about-body p{font-size:14px;line-height:1.55;color:#486a65;margin:0}.model-about-visual{height:142px;border-radius:12px;overflow:hidden}.model-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.model-benefit-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(12,67,62,.08);border-radius:11px;background:rgba(255,255,255,.72);min-height:70px}.model-benefit-item>.model-icon{width:25px;height:25px;color:#0b6257;flex:0 0 25px}.model-benefit-item strong{font-size:13px;line-height:1.25;display:block}.model-benefit-item small{display:block;font-size:11px;line-height:1.35;color:#6a827e;margin-top:4px}.model-page-compact .model-spec-table{border-top:1px solid rgba(12,67,62,.1)}.model-page-compact .model-spec-row{grid-template-columns:1fr 1fr;padding:8px 2px;font-size:12px;gap:16px}.model-kit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.model-kit-image{height:92px;border-radius:10px;overflow:hidden;margin-bottom:8px}.model-kit-item strong{font-size:11px;line-height:1.25;display:block}.model-doc-list{display:grid;gap:8px}.model-doc-row{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(12,67,62,.1);border-radius:10px;background:#fff;color:#173f3a;text-decoration:none}.model-pdf{display:grid;place-items:center;width:30px;height:34px;border-radius:6px;background:#0d5c52;color:#fff;font-size:8px;font-weight:800}.model-doc-row strong{font-size:12px}.model-download{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(12,67,62,.12);border-radius:8px}.model-download .model-icon{width:15px;height:15px}.model-faq-list{display:grid;gap:7px}.model-faq-list details{border:1px solid rgba(12,67,62,.1);border-radius:9px;background:#fff;overflow:hidden}.model-faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:10px;cursor:pointer;padding:10px 11px;font-size:12px;font-weight:600}.model-faq-list summary::-webkit-details-marker{display:none}.model-faq-list details p{font-size:11px;line-height:1.45;color:#607b76;padding:0 11px 11px;margin:0}.model-compact-cta{min-height:116px;border-radius:16px;padding:22px 26px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:20px;background:radial-gradient(circle at 80% 30%,rgba(70,184,162,.2),transparent 28%),linear-gradient(120deg,#0a493f,#07362f);color:#fff;overflow:hidden}.model-cta-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}.model-cta-icon .model-icon{width:27px;height:27px}.model-cta-copy h2{font-size:23px;line-height:1.1;margin:0 0 5px}.model-cta-copy p{font-size:12px;color:#cbe4de;margin:0}.model-cta-button{background:#fff!important;color:#0a493f!important;padding:11px 19px!important;white-space:nowrap}.model-page-compact .eyebrow{color:#2ca58d;font-size:9px;letter-spacing:.18em}.model-page-compact+.site-footer{margin-top:0}
@media(max-width:980px){.model-product-hero-grid{grid-template-columns:.9fr 1.1fr;gap:26px}.model-hero-gallery{height:340px;grid-template-columns:minmax(0,1fr) 82px}.model-product-copy h1{font-size:44px}.model-dashboard-grid,.model-dashboard-top{grid-template-columns:1fr 1fr}.model-kit-grid{grid-template-columns:1fr 1fr}.model-kit-image{height:78px}.model-about-body{grid-template-columns:1fr}.model-about-visual{display:none}}
@media(max-width:760px){.model-product-hero{padding:28px 0}.model-product-hero-grid{grid-template-columns:1fr}.model-product-copy h1{font-size:40px}.model-product-lead{font-size:14px}.model-quick-points{margin-top:18px}.model-hero-gallery{height:auto;grid-template-columns:1fr}.model-hero-main{height:300px}.model-hero-thumbs{grid-template-columns:repeat(4,1fr);grid-template-rows:none;height:72px}.model-dashboard-grid,.model-dashboard-top{grid-template-columns:1fr}.model-panel{padding:18px}.model-compact-cta{grid-template-columns:44px 1fr}.model-cta-icon{width:44px;height:44px}.model-cta-button{grid-column:2;justify-self:start}.model-about-body{grid-template-columns:1fr 110px}.model-about-visual{display:block;height:120px}}
@media(max-width:520px){.model-product-copy h1{font-size:35px}.model-product-actions{display:grid;grid-template-columns:1fr 1fr}.model-product-actions .btn{text-align:center;padding:11px 10px}.model-quick-points{grid-template-columns:1fr 1fr}.model-hero-main{height:260px}.model-hero-thumbs{height:58px}.model-dashboard{padding:16px 0 24px}.model-dashboard>.container{gap:10px}.model-dashboard-grid{gap:10px}.model-panel{padding:15px;border-radius:13px}.model-panel-title{margin-bottom:12px}.model-panel-title h2{font-size:19px}.model-benefit-grid{grid-template-columns:1fr}.model-benefit-item{min-height:0}.model-about-body{grid-template-columns:1fr}.model-about-visual{display:none}.model-kit-grid{grid-template-columns:repeat(2,1fr)}.model-compact-cta{padding:18px;gap:12px;grid-template-columns:1fr}.model-cta-icon{display:none}.model-cta-button{grid-column:1}.model-cta-copy h2{font-size:20px}}

/* KEMION 4.3.3 — model hero background + refined title scale */
.model-product-hero{position:relative;isolation:isolate;overflow:hidden}
.model-product-hero.has-hero-bg{background-image:linear-gradient(90deg,rgba(5,45,41,.91) 0%,rgba(7,58,52,.82) 46%,rgba(5,45,41,.70) 100%),var(--model-hero-bg);background-size:cover;background-position:center;color:#fff;border-bottom-color:rgba(255,255,255,.08)}
.model-product-hero.has-hero-bg:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 78% 45%,rgba(54,169,145,.14),transparent 34%);pointer-events:none}
.model-product-hero.has-hero-bg .model-product-copy h1{color:#fff}
.model-product-hero.has-hero-bg .model-product-lead{color:#d7e9e5}
.model-product-hero.has-hero-bg .model-quick-point{color:#f1faf7}
.model-product-hero.has-hero-bg .model-quick-point .model-icon{border-color:rgba(255,255,255,.38);color:#b9eee2}
.model-product-hero.has-hero-bg .model-btn-outline{color:#fff!important;border-color:rgba(255,255,255,.7)!important;background:rgba(5,45,41,.22)!important}
.model-product-hero.has-hero-bg .eyebrow{color:#75d5c1}
.model-product-copy h1{font-size:clamp(38px,4.05vw,58px);line-height:1.01}
@media(max-width:980px){.model-product-copy h1{font-size:41px}}
@media(max-width:760px){.model-product-copy h1{font-size:37px}.model-product-hero.has-hero-bg{background-position:38% center}}
@media(max-width:520px){.model-product-copy h1{font-size:33px}}
.model-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.model-image-button img{display:block;width:100%;height:100%;object-fit:cover}.model-hero-main>img{cursor:default}
