.product-hero,
.catalog-hero {
    position: relative;
    overflow: clip;
    background:
        radial-gradient(circle at 82% 16%, rgba(38,151,232,.10), transparent 24%),
        linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.product-hero { padding: clamp(5rem, 9vw, 8rem) 0; }
.catalog-hero { padding: clamp(5rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem); }

.product-hero__grid {
    display: grid;
    grid-template-columns: 1.03fr .97fr;
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}

.product-hero__copy { display: grid; gap: 1.5rem; }

.product-hero__copy h1,
.catalog-hero h1 {
    margin: 0;
    max-width: 980px;
    font-size: clamp(3rem, 7vw, 6rem);
    line-height: .96;
    letter-spacing: -.06em;
    text-wrap: balance;
}

.product-hero__copy > p:not(.kordyra-eyebrow),
.catalog-hero > .k-container > p:last-child {
    margin: 0;
    max-width: 780px;
    color: var(--k-text-secondary);
    font-size: clamp(1.08rem, 2vw, 1.38rem);
    line-height: 1.65;
}

.product-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.product-system-map {
    position: relative;
    min-height: 520px;
    border: 1px solid var(--k-border);
    border-radius: 40px;
    background:
        radial-gradient(circle at center, rgba(38,151,232,.14), transparent 26%),
        linear-gradient(145deg, #fff, #f6f9fc);
    box-shadow: var(--k-shadow-lg);
}

.product-system-map::before,
.product-system-map::after {
    content: "";
    position: absolute;
    left: 12%; right: 12%; top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--k-blue-400), transparent);
}
.product-system-map::before { transform: rotate(30deg); }
.product-system-map::after { transform: rotate(-30deg); }

.product-system-map__core {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 132px; aspect-ratio: 1;
    border-radius: 50%;
    display: grid; place-items: center;
    background: #fff;
    border: 2px solid var(--k-blue-500);
    box-shadow: 0 18px 45px rgba(38,151,232,.16);
    font-weight: var(--k-weight-bold);
}

.product-system-map__node {
    position: absolute;
    min-width: 112px;
    text-align: center;
    padding: .75rem;
    border: 1px solid var(--k-border);
    border-radius: 15px;
    background: rgba(255,255,255,.94);
    box-shadow: var(--k-shadow-sm);
    color: var(--k-ink-700);
    font-size: .76rem;
    font-weight: var(--k-weight-semibold);
}
.product-system-map__node::before {
    content:"";
    display:block;
    width:7px; height:7px;
    margin:0 auto .45rem;
    border-radius:50%;
    background:var(--k-blue-500);
}
.product-system-map__node--1 { left: 8%; top: 12%; }
.product-system-map__node--2 { right: 8%; top: 10%; }
.product-system-map__node--3 { left: 3%; top: 49%; }
.product-system-map__node--4 { right: 3%; top: 52%; }
.product-system-map__node--5 { left: 17%; bottom: 8%; }
.product-system-map__node--6 { right: 14%; bottom: 9%; }

.product-principle { padding: var(--k-section-space) 0; }
.product-principle__grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:clamp(3rem,8vw,8rem);
}
.product-principle h2 {
    margin:1rem 0 0;
    font-size:clamp(2.5rem,5vw,4.8rem);
    line-height:.98;
    letter-spacing:-.055em;
}
.product-principle__copy { display:grid; gap:1.5rem; }
.product-principle__copy p {
    margin:0;
    color:var(--k-text-secondary);
    font-size:clamp(1.05rem,2vw,1.3rem);
    line-height:1.7;
}

.product-journey {
    padding:var(--k-section-space) 0;
    background:var(--k-ink-050);
    border-block:1px solid var(--k-border);
}
.product-journey__track {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:1rem;
}
.product-journey__step {
    min-height:175px;
    padding:1.25rem;
    border:1px solid var(--k-border);
    border-radius:20px;
    background:#fff;
}
.product-journey__step > span {
    color:var(--k-blue-700);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.12em;
}
.product-journey__step strong {
    display:block;
    margin-top:.75rem;
    font-size:1.03rem;
}
.product-journey__step p {
    margin:.55rem 0 0;
    color:var(--k-text-secondary);
    font-size:.82rem;
    line-height:1.5;
}

.product-module-preview,
.module-catalog,
.feature-groups { padding:var(--k-section-space) 0; }

.product-module-preview__heading {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:clamp(2rem,6vw,6rem);
    align-items:end;
    margin-bottom:3rem;
}
.product-module-preview__heading h2 {
    margin:1rem 0 0;
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:1;
    letter-spacing:-.05em;
}
.product-module-preview__heading > p {
    margin:0;
    color:var(--k-text-secondary);
    font-size:1.1rem;
    line-height:1.65;
}
.product-module-preview__grid,
.module-catalog__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
}
.product-centered-action {
    display:flex;
    justify-content:center;
    margin-top:2rem;
}
.product-module-card {
    position:relative;
    padding:1.5rem;
    border:1px solid var(--k-border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--k-shadow-xs);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-module-card:hover {
    transform:translateY(-3px);
    box-shadow:var(--k-shadow-md);
    border-color:var(--k-blue-200);
}
.product-module-card__top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
}
.product-module-card__index {
    width:38px; height:38px;
    display:grid; place-items:center;
    border-radius:50%;
    background:var(--k-blue-050);
    border:1px solid var(--k-blue-200);
    color:var(--k-blue-700);
    font-size:.72rem;
    font-weight:700;
}
.product-module-card__category {
    color:var(--k-ink-500);
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.product-module-card h2 {
    margin:1.3rem 0 .55rem;
    font-size:1.45rem;
    letter-spacing:-.03em;
}
.product-module-card > p {
    margin:0;
    min-height:68px;
    color:var(--k-text-secondary);
    font-size:.9rem;
    line-height:1.55;
}
.product-module-card ul {
    list-style:none;
    padding:0;
    margin:1.2rem 0 0;
    display:grid;
    gap:.55rem;
}
.product-module-card li {
    display:flex;
    gap:.55rem;
    align-items:center;
    color:var(--k-ink-700);
    font-size:.8rem;
}
.product-module-card li::before {
    content:"";
    width:6px;height:6px;
    border-radius:50%;
    background:var(--k-blue-500);
    box-shadow:0 0 0 4px rgba(38,151,232,.06);
}

.catalog-hero .k-container {
    display:grid;
    gap:1.3rem;
}
.catalog-hero h1 { max-width:1000px; }

.module-continuity,
.feature-note { padding:0 0 var(--k-section-space); }
.module-continuity__panel,
.feature-note__panel {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:clamp(2rem,6vw,6rem);
    padding:clamp(2rem,5vw,4rem);
    border:1px solid var(--k-border);
    border-radius:32px;
    background:var(--k-ink-050);
}
.module-continuity__panel h2,
.feature-note__panel h2 {
    margin:1rem 0 0;
    font-size:clamp(2rem,4vw,3.6rem);
    line-height:1.05;
    letter-spacing:-.045em;
}
.module-continuity__panel > p,
.feature-note__panel > div:last-child > p {
    margin:0;
    color:var(--k-text-secondary);
    line-height:1.7;
    font-size:1.05rem;
}

.feature-groups__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.feature-group {
    padding:clamp(1.5rem,3vw,2rem);
    border:1px solid var(--k-border);
    border-radius:26px;
    background:#fff;
}
.feature-group__header > span {
    color:var(--k-blue-700);
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.feature-group h2 {
    margin:.8rem 0 .5rem;
    font-size:1.65rem;
    letter-spacing:-.03em;
}
.feature-group p {
    margin:0;
    color:var(--k-text-secondary);
    line-height:1.6;
}
.feature-group ul {
    list-style:none;
    padding:0;
    margin:1.4rem 0 0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
}
.feature-group li {
    border-top:1px solid var(--k-border);
    padding-top:.7rem;
    color:var(--k-ink-700);
    font-size:.86rem;
}
.feature-note__panel > div:last-child {
    display:grid;
    align-content:start;
    justify-items:start;
    gap:1.4rem;
}

.product-final { padding:0 0 var(--k-section-space); }
.product-final__panel {
    padding:clamp(2.5rem,6vw,5rem);
    border-radius:36px;
    background:linear-gradient(135deg,#101820,#163046 72%,#17507b);
    color:#fff;
}
.product-final__panel .kordyra-eyebrow { color:#7cc8f7; }
.product-final__panel h2 {
    margin:.8rem 0 0;
    max-width:860px;
    color:#fff;
    font-size:clamp(2.3rem,5vw,4.4rem);
    line-height:1;
    letter-spacing:-.05em;
}
.product-final__panel > p:not(.kordyra-eyebrow) {
    max-width:700px;
    color:rgba(255,255,255,.72);
    line-height:1.65;
}
.product-final__panel .k-button { margin-top:.5rem; }

@media(max-width:1020px){
    .product-hero__grid,
    .product-principle__grid,
    .product-module-preview__heading,
    .module-continuity__panel,
    .feature-note__panel { grid-template-columns:1fr; }
    .product-system-map { min-height:480px; }
    .product-journey__track { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .product-module-preview__grid,
    .module-catalog__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px){
    .product-system-map { min-height:390px; }
    .product-system-map__node { min-width:90px; font-size:.65rem; padding:.55rem; }
    .product-system-map__core { width:98px; font-size:.82rem; }
    .product-journey__track,
    .product-module-preview__grid,
    .module-catalog__grid,
    .feature-groups__grid { grid-template-columns:1fr; }
    .feature-group ul { grid-template-columns:1fr; }
    .product-module-card > p { min-height:auto; }
}
