/* Zavoxt home page — deliberately shadow-free */
.cp-home {
    overflow: hidden;
    color: var(--mz-text-main);
}

.cp-home * { box-sizing: border-box; }

.cp-home h1,
.cp-home h2,
.cp-home h3,
.cp-home p { margin-top: 0; }

.cp-hero {
    position: relative;
    width: min(1320px, calc(100% - 40px));
    margin: 28px auto 0;
    padding: 70px 0;
    background:
        linear-gradient(115deg, rgba(0, 137, 138, .10), transparent 43%),
        linear-gradient(180deg, #ffffff 0%, #f7f9f9 100%);
    border: 1px solid #dce6e6;
    border-radius: 12px;
    isolation: isolate;
}

.cp-hero::after {
    position: absolute;
    right: -70px;
    bottom: -120px;
    width: 360px;
    height: 260px;
    border: 1px solid rgba(0, 137, 138, .15);
    transform: skewY(-24deg);
    content: '';
    pointer-events: none;
}

.cp-hero-grid,
.cp-approach-grid,
.cp-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: clamp(40px, 8vw, 112px);
    align-items: center;
}

.cp-hero-grid { grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr); }

.cp-hero-grid { grid-template-areas: "copy panel" "domain domain"; column-gap: clamp(40px, 8vw, 112px); row-gap: 34px; }

.cp-hero-copy { position: relative; z-index: 1; grid-area: copy; }

.cp-eyebrow {
    margin-bottom: 14px;
    color: var(--mz-primary);
    font-family: var(--mz-font-bold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.4;
    text-transform: uppercase;
}

.cp-hero h1,
.cp-section-heading h2,
.cp-approach h2,
.cp-faq h2 {
    color: var(--mz-text-dark);
    font-family: var(--mz-font-bold);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.cp-hero h1 {
    max-width: 760px;
    margin-bottom: 22px;
    font-size: clamp(40px, 4.6vw, 64px);
}

.cp-hero-lead {
    max-width: 610px;
    margin-bottom: 24px;
    color: var(--mz-text-light);
    font-size: 18px;
    line-height: 1.8;
}


.cp-hero-domain { grid-area: domain; display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 34px; align-items: center; padding: 25px 28px; border: 1px solid #b9d6d6; border-radius: 9px; background: rgba(247, 252, 252, .82); }
.cp-hero-domain-copy h2 { margin: 0 0 8px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 24px; letter-spacing: -.02em; line-height: 1.25; }
.cp-hero-domain-copy > p:not(.cp-eyebrow) { margin: 0; color: var(--mz-text-light); font-size: 13px; line-height: 1.7; }
.cp-hero-domain-tool .mz-domain-checker-container { margin: 0; }
.cp-hero-domain-tool .mz-domain-pricing-badges { margin-top: 12px; }

.cp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
}

.cp-button,
.cp-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.cp-button {
    min-height: 48px;
    padding: 0 21px;
    border: 1px solid var(--mz-primary);
    border-radius: 5px;
    font-family: var(--mz-font-bold);
    font-size: 14px;
    font-weight: 700;
}

.cp-button-primary { background: var(--mz-primary); color: #fff; }
.cp-button-primary:hover { background: var(--mz-primary-hover); border-color: var(--mz-primary-hover); color: #fff; }
.cp-button-outline { border-color: #b7c9c9; background: transparent; color: var(--mz-primary); }
.cp-button-outline:hover { border-color: var(--mz-primary); background: var(--mz-primary-light); color: var(--mz-primary); }

.cp-text-link {
    gap: 8px;
    color: var(--mz-primary);
    font-family: var(--mz-font-bold);
    font-size: 14px;
    font-weight: 700;
}

.cp-text-link:hover { color: var(--mz-primary-hover); }
.cp-text-link span { font-size: 20px; line-height: 1; transition: transform .2s ease; }
.cp-text-link:hover span { transform: translateX(3px); }

.cp-hero-panel {
    grid-area: panel;
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid #cddcdc;
    border-radius: 10px;
    background: rgba(255, 255, 255, .72);
}

.cp-panel-topline {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    border-bottom: 1px solid #dce7e7;
    color: var(--mz-text-light);
    font-family: var(--mz-font-bold);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cp-panel-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mz-primary); }

.cp-panel-main { padding: 44px 38px 30px; background: linear-gradient(135deg, rgba(0, 137, 138, .10), transparent 60%); }
.cp-panel-label { display: block; margin-bottom: 16px; color: var(--mz-primary); font-size: 13px; font-weight: 700; }
.cp-panel-main strong { display: block; margin-bottom: 18px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(31px, 3.5vw, 48px); line-height: 1.04; letter-spacing: -.04em; }
.cp-panel-main p { max-width: 360px; margin: 0; color: var(--mz-text-light); line-height: 1.75; }
.cp-panel-flow { display: flex; align-items: center; gap: 8px; margin-top: 28px; padding-top: 18px; border-top: 1px solid #cde0e0; overflow: hidden; white-space: nowrap; }
.cp-panel-flow span { position: relative; z-index: 1; padding: 6px 8px; border: 1px solid #afd1d1; border-radius: 4px; background: rgba(255, 255, 255, .78); color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 10px; letter-spacing: .03em; }
.cp-panel-flow span:nth-of-type(2) { animation: cpNodeSignal 2.7s ease-in-out .45s infinite; }
.cp-panel-flow span:nth-of-type(3) { animation: cpNodeSignal 2.7s ease-in-out .9s infinite; }
.cp-panel-flow i { display: block; width: 18px; height: 1px; flex: 0 0 18px; background: var(--mz-primary); animation: cpDataPulse 1.8s ease-in-out infinite; }
@keyframes cpDataPulse { 0%,100% { opacity: .25; transform: scaleX(.55); transform-origin: left; } 50% { opacity: 1; transform: scaleX(1); } }
@keyframes cpNodeSignal { 0%,100% { border-color: #afd1d1; background: rgba(255, 255, 255, .78); } 50% { border-color: var(--mz-primary); background: #e7f5f5; } }

@media (prefers-reduced-motion: reduce) {
    .cp-hero-panel,
    .cp-panel-flow span,
    .cp-panel-flow i { animation: none; }
}

.cp-panel-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #dce7e7; }
.cp-panel-stats div { min-height: 96px; padding: 19px; border-right: 1px solid #dce7e7; }
.cp-panel-stats div:last-child { border-right: 0; }
.cp-panel-stats strong { display: block; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 18px; line-height: 1.2; }
.cp-panel-stats span { display: block; margin-top: 5px; color: var(--mz-text-light); font-size: 11px; line-height: 1.35; }

/* A compact, two-column homepage hero with an integrated domain search. */
.cp-signal-hero { width: min(1320px, calc(100% - 40px)); margin: 36px auto 0; }
.cp-signal-shell { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr); grid-template-areas: "copy field" "domain domain"; gap: 0; overflow: hidden; border: 1px solid #d5e3e3; border-radius: 10px; background: rgba(250, 252, 252, .86); }
.cp-signal-copy { grid-area: copy; padding: clamp(34px, 4vw, 48px); padding-left: 0; border-right: 1px solid #d5e3e3; }
.cp-signal-kicker { margin: 0 0 16px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.cp-signal-copy h1 { max-width: 610px; margin: 0 0 12px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(36px, 4vw, 52px); letter-spacing: -.05em; line-height: 1.08; }
.cp-signal-copy h2 { max-width: 510px; margin: 0 0 14px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(21px, 2.15vw, 29px); letter-spacing: -.03em; line-height: 1.2; }
.cp-signal-copy > p:not(.cp-signal-kicker) { max-width: 570px; margin: 0; color: var(--mz-text-light); font-size: 15px; line-height: 1.75; }
.cp-signal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; }
.cp-signal-field { position: relative; grid-area: field; min-height: 312px; overflow: hidden; padding: 26px; background: #f4f9f9; }
.cp-signal-field > p { position: relative; z-index: 2; margin: 0; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.cp-signal-lines { position: absolute; top: 50%; right: -30px; left: -30px; display: grid; gap: 18px; transform: translateY(-50%) skewY(-13deg); }
.cp-signal-lines i { display: block; height: 2px; background: linear-gradient(90deg, transparent 0 8%, rgba(0,137,138,.18) 8% 34%, var(--mz-primary) 34% 52%, rgba(0,137,138,.18) 52% 78%, transparent 78%); background-size: 320px 100%; animation: cpSignalFlow 3.4s linear infinite; }
.cp-signal-lines i:nth-child(2) { animation-delay: -.7s; opacity: .8; }.cp-signal-lines i:nth-child(3) { animation-delay: -1.4s; opacity: .62; }.cp-signal-lines i:nth-child(4) { animation-delay: -2.1s; opacity: .45; }.cp-signal-lines i:nth-child(5) { animation-delay: -2.8s; opacity: .3; }
@keyframes cpSignalFlow { from { background-position: -320px 0; } to { background-position: 320px 0; } }
.cp-signal-specs { position: absolute; right: 30px; bottom: 28px; left: 30px; display: flex; flex-wrap: wrap; gap: 8px; }
.cp-signal-specs span { padding: 7px 9px; border: 1px solid #bcd7d7; background: rgba(255,255,255,.72); color: var(--mz-text-main); font-family: var(--mz-font-bold); font-size: 11px; }
.cp-signal-domain { grid-area: domain; display: grid; grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr); gap: 26px; align-items: center; padding: 18px 28px; border-top: 1px solid #d5e3e3; }
.cp-signal-domain > div { min-width: 0; }
.cp-signal-domain > div:first-child p { margin: 0 0 5px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 10px; letter-spacing: .1em; }
.cp-signal-domain h2 { margin: 0; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 22px; line-height: 1.3; }
.cp-signal-domain .mz-domain-checker-container { margin: 0; }
.cp-signal-domain .mz-domain-pricing-badges { margin-top: 10px; }

@media (max-width: 850px) {
    .cp-signal-shell { grid-template-columns: 1fr; grid-template-areas: "copy" "field" "domain"; }
    .cp-signal-copy { border-right: 0; border-bottom: 1px solid #d5e3e3; }
    .cp-signal-domain { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .cp-signal-hero { width: 100%; margin: 20px 0 0; }
    .cp-signal-copy { padding: 30px 20px; }
    .cp-signal-copy h1 { font-size: 38px; }
    .cp-signal-field { min-height: 290px; }
    .cp-signal-domain { gap: 18px; padding: 22px; }
}

/* Mobile guardrails for the homepage layout. */
@media (max-width: 700px) {
    .cp-home { width: 100%; overflow-x: hidden; }
    .cp-home .mz-container { width: 100%; max-width: 100%; }
    .cp-signal-shell.mz-container { padding-right: 0; padding-left: 0; border-right: 0; border-left: 0; border-radius: 0; }
    .cp-signal-copy { min-width: 0; padding-top: 34px; padding-bottom: 34px; }
    .cp-signal-copy h1 { font-size: clamp(34px, 9vw, 42px); overflow-wrap: anywhere; }
    .cp-signal-copy h2 { font-size: 22px; }
    .cp-signal-copy > p:not(.cp-signal-kicker) { font-size: 15px; }
    .cp-signal-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
    .cp-signal-domain { min-width: 0; }
    .cp-signal-domain .mz-domain-checker-container,
    .cp-signal-domain .mz-domain-search-bar { min-width: 0; max-width: 100%; }
    .cp-signal-specs { right: 20px; left: 20px; }
    .cp-service-grid,
    .cp-journal-grid,
    .cp-topics-grid { width: 100%; }
    .cp-compare-table { overflow-x: auto; }
}

/* Homepage launch hero: an editorial Zavoxt layout, separate from the card-based sections below. */
.cp-launch-hero { width: min(1320px, calc(100% - 40px)); margin: 28px auto 0; border: 0; border-radius: 12px; overflow: hidden; background: #006f70; }
.cp-launch-shell { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr); min-height: 560px; padding: 0; }
.cp-launch-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 6vw, 74px); background: #f7fbfb; }
.cp-launch-kicker { margin: 0 0 17px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.cp-launch-copy h1 { max-width: 590px; margin: 0 0 21px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(42px, 4.5vw, 66px); letter-spacing: -.05em; line-height: 1.04; }
.cp-launch-copy > p:not(.cp-launch-kicker) { max-width: 530px; margin: 0; color: var(--mz-text-light); font-size: 17px; line-height: 1.82; }
.cp-launch-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 33px; }
.cp-launch-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--mz-primary); border-radius: 5px; background: var(--mz-primary); color: #fff; font-family: var(--mz-font-bold); font-size: 14px; text-decoration: none; }
.cp-launch-button:hover { border-color: var(--mz-primary-hover); background: var(--mz-primary-hover); color: #fff; }
.cp-launch-link { color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 14px; text-decoration: none; }
.cp-launch-link span { margin-left: 6px; font-size: 18px; }
.cp-launch-notes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.cp-launch-notes span { padding: 7px 9px; border: 1px solid #c8dddd; border-radius: 4px; color: var(--mz-text-light); font-family: var(--mz-font-bold); font-size: 11px; }
.cp-launch-domain { margin-top: 26px; padding-top: 22px; border-top: 1px solid #c8dddd; }
.cp-launch-domain > div:first-child p { margin: 0 0 5px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 10px; letter-spacing: .1em; }
.cp-launch-domain h2 { margin: 0 0 13px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 22px; line-height: 1.25; }
.cp-launch-domain .mz-domain-checker-container { margin: 0; }
.cp-launch-domain .mz-domain-pricing-badges { margin-top: 10px; }

.cp-launch-console { display: grid; grid-template-rows: auto 1fr; min-width: 0; background: linear-gradient(135deg, #007b7c, #005f60); color: #fff; }
.cp-console-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.78); font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.cp-console-head b { padding: 4px 7px; border: 1px solid rgba(255,255,255,.4); color: #fff; font-size: 10px; }
.cp-console-core { position: relative; overflow: hidden; padding: clamp(35px, 5vw, 64px); background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 48px 48px; }
.cp-console-core > p { margin: 0 0 15px; color: #cdeeee; font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .12em; }
.cp-console-core strong { position: relative; z-index: 1; display: block; color: #fff; font-family: var(--mz-font-bold); font-size: clamp(42px, 5vw, 72px); letter-spacing: -.055em; line-height: .96; }
.cp-console-bars { position: absolute; top: 50%; right: 0; left: 0; display: grid; gap: 10px; transform: translateY(38px) skewY(-15deg); opacity: .45; }
.cp-console-bars i { display: block; height: 12px; background: linear-gradient(90deg, transparent 0 8%, #b9eeee 8% 43%, transparent 43% 50%, #b9eeee 50% 85%, transparent 85%); animation: cpConsoleStream 3.6s linear infinite; }
.cp-console-bars i:nth-child(2) { animation-delay: -.9s; }.cp-console-bars i:nth-child(3) { animation-delay: -1.8s; }.cp-console-bars i:nth-child(4) { animation-delay: -2.7s; }
@keyframes cpConsoleStream { from { background-position: -260px 0; } to { background-position: 260px 0; } }
.cp-console-specs { position: absolute; right: 28px; bottom: 25px; left: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.cp-console-specs span { padding: 6px 8px; border: 1px solid rgba(255,255,255,.35); color: #fff; font-family: var(--mz-font-bold); font-size: 10px; }

@media (max-width: 900px) {
    .cp-launch-shell { grid-template-columns: 1fr; }
    .cp-launch-copy { padding: 54px 36px; }
    .cp-launch-console { min-height: 420px; }
}

@media (max-width: 560px) {
    .cp-launch-hero { width: min(100% - 24px, 1320px); margin-top: 16px; }
    .cp-launch-copy { padding: 42px 25px; }
    .cp-launch-copy h1 { font-size: 43px; }
    .cp-launch-console { min-height: 0; }
    .cp-console-core { min-height: 300px; padding: 36px 25px; }
}

.cp-signal-strip { border-bottom: 1px solid var(--mz-border); background: #fff; }
.cp-signal-items { display: grid; grid-template-columns: repeat(4, 1fr); }
.cp-signal-items span { position: relative; padding: 20px 20px 20px 28px; border-right: 1px solid var(--mz-border); color: var(--mz-text-light); font-size: 13px; line-height: 1.45; }
.cp-signal-items span:first-child { border-left: 1px solid var(--mz-border); }
.cp-signal-items span::before { position: absolute; top: 27px; left: 14px; width: 5px; height: 5px; border-radius: 50%; background: var(--mz-primary); content: ''; }

.cp-services,
.cp-approach,
.cp-faq { padding: 110px 0; }

.cp-section-heading { max-width: 650px; margin-bottom: 46px; }
.cp-section-heading h2,
.cp-approach h2,
.cp-faq h2 { margin-bottom: 18px; font-size: clamp(32px, 3.6vw, 51px); }
.cp-section-heading > p:last-child,
.cp-approach-title > p:last-child { margin-bottom: 0; color: var(--mz-text-light); font-size: 16px; line-height: 1.85; }

.cp-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cp-service-card { position: relative; padding: 34px; border: 1px solid #dce4e4; border-radius: 8px; background: #fff; }
.cp-service-card-accent { border-color: #9fc8c8; background: #f7fbfb; }
.cp-card-number { position: absolute; top: 24px; right: 28px; color: #8aa9a9; font-family: var(--mz-font-bold); font-size: 19px; letter-spacing: .06em; line-height: 1; }
.cp-service-icon { display: grid; width: 48px; height: 48px; margin-bottom: 28px; place-items: center; border: 1px solid #b8d5d5; border-radius: 7px; color: var(--mz-primary); }
.cp-service-icon svg { width: 25px; height: 25px; }
.cp-service-card h3 { margin-bottom: 13px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 25px; line-height: 1.3; }
.cp-service-card p { max-width: 470px; margin-bottom: 23px; color: var(--mz-text-light); line-height: 1.8; }
.cp-service-card ul { display: grid; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; }
.cp-service-card li { position: relative; padding-left: 20px; color: var(--mz-text-main); font-size: 13px; }
.cp-service-card li::before { position: absolute; top: 9px; left: 0; width: 7px; height: 7px; border: 1px solid var(--mz-primary); border-radius: 50%; content: ''; }

.cp-infrastructure { padding: 110px 0; background: transparent; }
.cp-infrastructure-grid { display: grid; grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr); gap: clamp(42px, 9vw, 125px); align-items: center; }
.cp-infrastructure-visual { overflow: hidden; border: 1px solid #b9d3d3; border-radius: 9px; background: #f2f8f8; }
.cp-rack-header { display: flex; align-items: center; gap: 6px; padding: 15px 18px; border-bottom: 1px solid #c7dddd; color: var(--mz-text-light); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.cp-rack-header span { width: 7px; height: 7px; border-radius: 50%; background: #a5bcbc; }
.cp-rack-header span:first-child { background: var(--mz-primary); }
.cp-rack-header b { margin-left: 7px; font-family: var(--mz-font-bold); font-size: 11px; }
.cp-rack-row { display: grid; grid-template-columns: 15px 1fr auto; gap: 13px; align-items: center; padding: 22px 21px; border-bottom: 1px solid #d5e6e6; }
.cp-rack-row i { width: 9px; height: 9px; border-radius: 50%; background: var(--mz-primary); }
.cp-rack-row em { color: var(--mz-text-light); font-size: 13px; font-style: normal; }
.cp-rack-row strong { color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 15px; }
.cp-rack-footer { padding: 18px 21px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 13px; }
.cp-infrastructure-copy h2 { max-width: 550px; margin-bottom: 18px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(32px, 3.6vw, 51px); letter-spacing: -.035em; line-height: 1.12; }
.cp-infrastructure-copy > p:not(.cp-eyebrow) { max-width: 600px; margin-bottom: 26px; color: var(--mz-text-light); font-size: 16px; line-height: 1.85; }
.cp-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; margin: 0 0 28px; }
.cp-check-grid span { position: relative; padding-left: 19px; color: var(--mz-text-main); font-size: 13px; }
.cp-check-grid span::before { position: absolute; top: 8px; left: 0; width: 8px; height: 4px; border-bottom: 1px solid var(--mz-primary); border-left: 1px solid var(--mz-primary); content: ''; transform: rotate(-45deg); }

.cp-start { padding: 110px 0; border-top: 1px solid #d8e5e5; background: #f6fafa; }
.cp-start-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #b9d4d4; }
.cp-start-grid article { min-height: 235px; padding: 27px 30px 25px 0; border-right: 1px solid #c9dddd; }
.cp-start-grid article + article { padding-left: 30px; }
.cp-start-grid article:last-child { border-right: 0; }
.cp-start-grid span { display: block; margin-bottom: 50px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 18px; letter-spacing: .06em; line-height: 1; }
.cp-start-grid h3 { margin-bottom: 10px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 20px; }
.cp-start-grid p { max-width: 280px; margin: 0; color: var(--mz-text-light); font-size: 13px; line-height: 1.75; }

.cp-approach { border-top: 1px solid #dce6e6; border-bottom: 1px solid #dce6e6; background: #eef6f6; }
.cp-principles { border-top: 1px solid #b7d2d2; }
.cp-principles article { display: grid; grid-template-columns: 46px 1fr; column-gap: 17px; padding: 24px 0; border-bottom: 1px solid #c8dddd; }
.cp-principles span { grid-row: span 2; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 17px; line-height: 1.2; }
.cp-principles h3 { margin: 0 0 7px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 17px; line-height: 1.35; }
.cp-principles p { margin: 0; color: var(--mz-text-light); font-size: 13px; line-height: 1.7; }

.cp-journal { padding: 110px 0; background: transparent; }
.cp-journal-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 42px; }
.cp-journal-head h2 { max-width: 620px; margin: 0; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(31px, 3.5vw, 48px); letter-spacing: -.035em; line-height: 1.15; }
.cp-journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cp-journal-card { position: relative; display: flex; min-height: 360px; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 29px; border: 1px solid #d9e4e4; border-radius: 8px; background: #fff; }
.cp-journal-image { display: block; width: calc(100% + 58px); margin: -29px -29px 25px; border-bottom: 1px solid #d9e4e4; background: #eef6f6; }
.cp-journal-image img { display: block; width: 100%; height: auto; }
.cp-journal-index { position: absolute; top: 23px; right: 27px; color: #8aa9a9; font-family: var(--mz-font-bold); font-size: 17px; letter-spacing: .07em; line-height: 1; }
.cp-journal-category { margin-bottom: 42px; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.cp-journal-card h3 { margin: 0 0 24px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 20px; line-height: 1.42; }
.cp-journal-card h3 a { color: inherit; text-decoration: none; }
.cp-journal-card h3 a:hover { color: var(--mz-primary); }
.cp-journal-card .cp-text-link { margin-top: auto; }
.cp-journal-empty { grid-column: 1 / -1; min-height: 180px; }

.cp-faq { background: transparent; }
.cp-faq-grid { align-items: start; }
.cp-faq h2 { max-width: 480px; }
.cp-faq-list { border-top: 1px solid #c5dada; }
.cp-faq-list details { border-bottom: 1px solid #d9e3e3; }
.cp-faq-list summary { position: relative; padding: 20px 32px 20px 0; color: var(--mz-text-dark); cursor: pointer; font-family: var(--mz-font-bold); font-size: 16px; font-weight: 700; line-height: 1.45; list-style: none; }
.cp-faq-list summary::-webkit-details-marker { display: none; }
.cp-faq-list summary::after { position: absolute; top: 18px; right: 1px; color: var(--mz-primary); content: '+'; font-size: 24px; font-weight: 400; }
.cp-faq-list details[open] summary::after { content: '−'; }
.cp-faq-list p { margin: -2px 0 20px; color: var(--mz-text-light); line-height: 1.75; }

.cp-topics { padding: 110px 0; background: transparent; }
.cp-topics-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 40px; }
.cp-topics-head h2 { max-width: 650px; margin: 0; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(31px, 3.5vw, 48px); letter-spacing: -.035em; line-height: 1.15; }
.cp-topics-head > p { max-width: 330px; margin: 0; color: var(--mz-text-light); font-size: 14px; line-height: 1.75; }
.cp-topics-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #bdd6d6; border-left: 1px solid #bdd6d6; }
.cp-topic-card { position: relative; display: flex; min-height: 168px; flex-direction: column; padding: 24px; border-right: 1px solid #bdd6d6; border-bottom: 1px solid #bdd6d6; color: inherit; text-decoration: none; }
.cp-topic-card:hover { background: rgba(237, 248, 248, .72); }
.cp-topic-number { margin-bottom: auto; color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 16px; }
.cp-topic-card strong { margin: 22px 0 8px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 20px; line-height: 1.3; }
.cp-topic-count { color: var(--mz-text-light); font-size: 13px; }
.cp-topic-count i { margin-left: 6px; color: var(--mz-primary); font-size: 18px; font-style: normal; vertical-align: -1px; }

.cp-details { padding: 110px 0; border-top: 1px solid #c8dddd; border-bottom: 1px solid #c8dddd; background: rgba(238, 246, 246, .56); }
.cp-details-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(42px, 9vw, 130px); align-items: start; }
.cp-details-intro h2 { margin: 0 0 18px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(31px, 3.5vw, 48px); letter-spacing: -.035em; line-height: 1.15; }
.cp-details-intro > p:not(.cp-eyebrow) { max-width: 480px; margin: 0; color: var(--mz-text-light); font-size: 16px; line-height: 1.85; }
.cp-details-list { border-top: 1px solid #a9cccc; }
.cp-details-list article { display: grid; grid-template-columns: 48px 1fr; gap: 17px; padding: 24px 0; border-bottom: 1px solid #c8dddd; }
.cp-details-list span { color: var(--mz-primary); font-family: var(--mz-font-bold); font-size: 17px; }
.cp-details-list h3 { margin: 0 0 7px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: 19px; line-height: 1.35; }
.cp-details-list p { margin: 0; color: var(--mz-text-light); font-size: 13px; line-height: 1.75; }

.cp-compare { padding: 110px 0; background: transparent; }
.cp-compare-head { max-width: 760px; margin-bottom: 40px; }
.cp-compare-head h2 { margin: 0 0 16px; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(31px, 3.5vw, 48px); letter-spacing: -.035em; line-height: 1.15; }
.cp-compare-head > p:not(.cp-eyebrow) { margin: 0; color: var(--mz-text-light); font-size: 15px; line-height: 1.8; }
.cp-compare-table { border-top: 1px solid #9fc5c5; border-left: 1px solid #c7dddd; }
.cp-compare-row { display: grid; grid-template-columns: .8fr 1fr 1fr; border-bottom: 1px solid #c7dddd; }
.cp-compare-row > * { min-height: 72px; padding: 18px 20px; border-right: 1px solid #c7dddd; color: var(--mz-text-main); font-size: 13px; line-height: 1.55; }
.cp-compare-row strong { background: rgba(224, 242, 241, .58); color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-weight: 700; }
.cp-compare-row-head > * { min-height: 52px; color: var(--mz-text-light); font-family: var(--mz-font-bold); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.cp-compare-row-head strong { color: var(--mz-primary); }
.cp-compare-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; color: var(--mz-text-light); font-size: 14px; }

.cp-crypto { position: relative; padding: 110px 0; overflow: hidden; background: transparent; }
.cp-crypto-inner { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 32px; align-items: center; overflow: hidden; padding: 48px; border: 1px solid #006f70; border-radius: 10px; background-color: #007b7c; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 54px 54px; }
.cp-crypto-inner::after { position: absolute; right: -100px; top: -140px; width: 340px; height: 340px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; content: ''; pointer-events: none; }
.cp-crypto-symbol { position: relative; z-index: 1; display: grid; width: 72px; height: 72px; place-items: center; border: 1px solid rgba(255, 255, 255, .68); border-radius: 50%; color: #fff; }
.cp-crypto-symbol::before { width: 52px; height: 52px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; content: ''; }
.cp-crypto-symbol span { position: absolute; color: #fff; font-family: Arial, sans-serif; font-size: 47px; font-weight: 700; line-height: 1; }
.cp-crypto-copy { position: relative; z-index: 1; }
.cp-crypto-copy .cp-eyebrow { margin-bottom: 9px; color: #d8f1f1; }
.cp-crypto-copy h2 { margin: 0 0 10px; color: #fff; font-family: var(--mz-font-bold); font-size: 29px; line-height: 1.25; }
.cp-crypto-copy > p:not(.cp-eyebrow) { max-width: 680px; margin: 0; color: rgba(255, 255, 255, .83); font-size: 14px; line-height: 1.8; }
.cp-crypto-inner .cp-button { position: relative; z-index: 1; border-color: rgba(255, 255, 255, .75); background: #fff; color: #006f70; white-space: nowrap; }
.cp-crypto-inner .cp-button:hover { border-color: #fff; background: #e8f6f6; color: #006f70; }

.cp-final-cta { padding: 0 0 100px; background: transparent; }
.cp-final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 48px 52px; border: 1px solid #a8caca; border-radius: 9px; background: linear-gradient(120deg, #edf8f8, #fff); }
.cp-final-cta h2 { max-width: 650px; margin: 0; color: var(--mz-text-dark); font-family: var(--mz-font-bold); font-size: clamp(29px, 3.3vw, 44px); letter-spacing: -.035em; line-height: 1.15; }
.cp-final-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }

@media (max-width: 800px) {
    .cp-hero { width: min(100% - 24px, 1320px); margin-top: 16px; padding: 58px 0; }
    .cp-hero-grid,
    .cp-approach-grid,
    .cp-faq-grid { grid-template-columns: 1fr; gap: 42px; }
    .cp-hero h1 { font-size: clamp(38px, 11vw, 58px); }
    .cp-infrastructure-grid { grid-template-columns: 1fr; gap: 42px; }
    .cp-hero-grid { grid-template-areas: "copy" "panel" "domain"; }
    .cp-hero-domain { grid-template-columns: 1fr; gap: 24px; }
    .cp-start-grid { grid-template-columns: 1fr; }
    .cp-start-grid article,
    .cp-start-grid article + article { min-height: 0; padding: 24px 0; border-right: 0; border-bottom: 1px solid #c9dddd; }
    .cp-start-grid article:last-child { border-bottom: 0; }
    .cp-start-grid span { margin-bottom: 16px; }
    .cp-journal-grid { grid-template-columns: 1fr; }
    .cp-final-cta-inner { align-items: flex-start; flex-direction: column; }
    .cp-topics-head { align-items: flex-start; flex-direction: column; }
    .cp-topics-grid { grid-template-columns: repeat(2, 1fr); }
    .cp-details-grid { grid-template-columns: 1fr; gap: 42px; }
    .cp-crypto-inner { grid-template-columns: auto minmax(0, 1fr); }
    .cp-crypto-inner .cp-button { grid-column: 2; justify-self: start; }
    .cp-signal-items { grid-template-columns: repeat(2, 1fr); }
    .cp-signal-items span:nth-child(3) { border-left: 1px solid var(--mz-border); }
    .cp-services,
    .cp-approach,
    .cp-faq { padding: 72px 0; }
}

@media (max-width: 560px) {
    .cp-hero-actions { align-items: stretch; flex-direction: column; gap: 17px; }
    .cp-button { width: 100%; }
    .cp-hero-panel { margin: 0 -2px; }
    .cp-panel-main { padding: 34px 25px 29px; }
    .cp-panel-stats div { padding: 14px 10px; }
    .cp-panel-stats strong { font-size: 15px; }
    .cp-signal-items { grid-template-columns: 1fr; }
    .cp-signal-items span,
    .cp-signal-items span:first-child,
    .cp-signal-items span:nth-child(3) { border-right: 0; border-left: 0; border-bottom: 1px solid var(--mz-border); }
    .cp-signal-items span:last-child { border-bottom: 0; }
    .cp-service-grid { grid-template-columns: 1fr; }
    .cp-hero-domain { padding: 22px; }
    .cp-check-grid { grid-template-columns: 1fr; }
    .cp-journal-head { align-items: flex-start; flex-direction: column; }
    .cp-final-cta { padding-bottom: 72px; }
    .cp-topics { padding: 72px 0; }
    .cp-topics-grid { grid-template-columns: 1fr; }
    .cp-details, .cp-compare { padding: 72px 0; }
    .cp-compare-row { grid-template-columns: 1fr; }
    .cp-compare-row > * { min-height: auto; border-right: 0; border-bottom: 1px solid #d7e6e6; }
    .cp-compare-row > *:last-child { border-bottom: 0; }
    .cp-compare-row-head { display: none; }
    .cp-compare-row strong::before { display: block; margin-bottom: 4px; color: var(--mz-primary); content: 'Zavoxt'; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
    .cp-compare-foot { align-items: flex-start; flex-direction: column; }
    .cp-final-cta-inner { padding: 34px 25px; }
    .cp-crypto { padding: 72px 0; }
    .cp-crypto-inner { grid-template-columns: 1fr; gap: 20px; padding: 36px 25px; }
    .cp-crypto-symbol { width: 62px; height: 62px; }
    .cp-crypto-inner .cp-button { grid-column: auto; justify-self: stretch; }
    .cp-service-card { padding: 28px 24px; }
    .cp-section-heading h2,
    .cp-approach h2,
    .cp-faq h2 { font-size: 34px; }
}
