:root {
  --zcy2-navy: #04172e;
  --zcy2-blue: #0757c9;
  --zcy2-violet: #633bc5;
  --zcy2-gold: #ffc400;
  --zcy2-ink: #061a32;
  --zcy2-muted: #536477;
  --zcy2-line: #d9e3ee;
  --zcy2-soft: #f4f8fc;
}

.zcy2-page { background: #fff; color: var(--zcy2-ink); overflow: hidden; }
.zcy2-page .container { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.zcy2-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--zcy2-blue); font: 500 11px/1 \"DM Mono\", monospace; letter-spacing: .12em; text-transform: uppercase; }
.zcy2-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--zcy2-gold); box-shadow: 0 0 0 7px rgba(255, 196, 0, .16); }

.zcy2-hero { position: relative; min-height: 650px; display: flex; align-items: center; isolation: isolate; color: #fff; overflow: hidden; background: var(--zcy2-navy); }
.zcy2-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 24, 72, .78); }
.zcy2-hero-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.zcy2-hero .container { position: relative; }
.zcy2-hero-inner { position: relative; padding: 84px 0; max-width: 760px; }
.zcy2-hero .zcy2-kicker { color: #fff; }
.zcy2-hero h1 { max-width: 720px; margin: 18px 0 26px; color: #fff; font: 800 clamp(48px, 7vw, 88px)/.94 var(--font-display, sans-serif); letter-spacing: -.08em; }
.zcy2-hero h1 span { color: #fff; }
.zcy2-hero p { max-width: 570px; margin: 0 0 34px; color: #e2edf8; font-size: 18px; line-height: 1.65; }
.zcy2-hero-cta { display: inline-flex; align-items: center; gap: 16px; padding: 16px 20px; color: var(--zcy2-ink); background: #fff; font: 800 14px/1 var(--font-display, sans-serif); text-decoration: none; transition: gap .2s ease, background .2s ease; }
.zcy2-hero-cta:hover { gap: 22px; background: var(--zcy2-gold); }
.zcy2-hero-cta span { font-size: 1.25rem; }
.zcy2-hero-index { position: absolute; right: 0; bottom: 42px; color: #fff; font: 500 .7rem/1 var(--font-display, sans-serif); letter-spacing: .14em; }
.zcy2-hero-index::before { content: ""; display: inline-block; width: 45px; margin: 0 12px 3px 0; border-top: 1px solid var(--zcy2-gold); }

.zcy2-benefits, .zcy2-services { padding: 96px 0; }
.zcy2-benefits { position: relative; overflow: hidden; background: radial-gradient(circle at 14% 35%, rgba(0,202,214,.17), transparent 24%), radial-gradient(circle at 84% 5%, rgba(111,62,209,.24), transparent 28%), #061b38; color: #fff; }
.zcy2-benefits::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .26; background-image: linear-gradient(rgba(86,224,239,.52) 1px, transparent 1px), linear-gradient(90deg, rgba(86,224,239,.52) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); }
.zcy2-benefits .container { position: relative; }
.zcy2-benefits .zcy2-kicker, .zcy2-benefits .zcy2-heading h2 { color: #fff; }
.zcy2-benefits .zcy2-heading p { color: #bbcee2; }
.zcy2-heading { max-width: 850px; margin: 0 auto 45px; text-align: center; }
.zcy2-heading h2 { margin: 17px 0 13px; font: 800 clamp(2rem, 3.5vw, 3.7rem)/1 var(--font-display, sans-serif); letter-spacing: -.055em; }
.zcy2-heading p { margin: 0 auto; max-width: 740px; color: var(--zcy2-muted); font-size: 1.04rem; line-height: 1.65; }
.zcy2-benefit-row { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(96,218,235,.34); background: rgba(3,17,37,.52); }
.zcy2-benefit-row article { min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px 20px; text-align: center; border-right: 1px solid rgba(96,218,235,.24); }
.zcy2-benefit-row article:last-child { border-right: 0; }
.zcy2-benefit-row img { width: 58px; height: 58px; object-fit: contain; margin-bottom: 17px; }
.zcy2-benefit-row b { color: #fff; font: 800 1rem/1.15 var(--font-display, sans-serif); }
.zcy2-benefit-row span { margin-top: 8px; color: #b7c9dc; font-size: .87rem; line-height: 1.45; }

.zcy2-services { background: linear-gradient(180deg, #f8fcff 0%, #eef5fc 100%); }
.zcy2-service-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.zcy2-service { --zcy2-accent: var(--zcy2-blue); display: flex; flex-direction: column; min-height: 525px; padding: 25px; border: 1px solid var(--zcy2-line); border-top: 4px solid var(--zcy2-accent); background: linear-gradient(145deg, #fff, #edf6ff); transition: transform .25s ease, border-color .25s ease; }
.zcy2-service:hover { transform: translateY(-7px); border-color: var(--zcy2-accent); box-shadow: 0 18px 36px rgba(5, 55, 120, .12); }
.zcy2-violet { --zcy2-accent: var(--zcy2-violet); background: linear-gradient(145deg, #fff, #f3efff); }.zcy2-green { --zcy2-accent: #008e70; background: linear-gradient(145deg, #fff, #eafaf5); }.zcy2-gold { --zcy2-accent: #d89100; background: linear-gradient(145deg, #fff, #fff7e4); }.zcy2-blue { --zcy2-accent: #1169b9; background: linear-gradient(145deg, #fff, #eaf4ff); }
.zcy2-service-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 26px; }
.zcy2-service-top img { width: 67px; height: 67px; object-fit: contain; }
.zcy2-service-top span { color: var(--zcy2-accent); font: 800 .88rem/1 var(--font-display, sans-serif); }
.zcy2-service h3 { margin: 0; color: var(--zcy2-ink); font: 800 clamp(1.26rem, 1.6vw, 1.65rem)/1.05 var(--font-display, sans-serif); letter-spacing: -.04em; }
.zcy2-service > p { min-height: 74px; margin: 18px 0; color: var(--zcy2-muted); font-size: .93rem; line-height: 1.5; }
.zcy2-service ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; color: #26394e; font-size: .87rem; line-height: 1.38; }
.zcy2-service li { position: relative; padding-left: 17px; }
.zcy2-service li::before { content: ""; position: absolute; top: .42em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--zcy2-accent); }
.zcy2-service strong { margin-top: auto; padding-top: 24px; color: var(--zcy2-accent); font: 800 .84rem/1.4 var(--font-display, sans-serif); }

.zcy2-approach { position: relative; overflow: hidden; padding: 88px 0; background: radial-gradient(circle at 82% 16%, rgba(0,194,204,.24), transparent 23%), radial-gradient(circle at 10% 90%, rgba(99,59,197,.24), transparent 28%), linear-gradient(135deg, #020d20, #062c5a); color: #fff; }
.zcy2-approach::before { content: ""; position: absolute; inset: 0; opacity: .24; pointer-events: none; background-image: radial-gradient(circle, #38d5e6 1px, transparent 1.5px); background-size: 23px 23px; mask-image: linear-gradient(90deg, transparent, #000 35%, #000 80%, transparent); }
.zcy2-approach .container { position: relative; }
.zcy2-approach-layout { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.45fr); gap: 70px; align-items: center; }
.zcy2-approach .zcy2-kicker, .zcy2-trust .zcy2-kicker, .zcy2-cta .zcy2-kicker { color: #fff; }
.zcy2-approach h2, .zcy2-trust h2, .zcy2-cta h2 { margin: 18px 0; font: 800 clamp(2rem, 3.3vw, 3.4rem)/1.02 var(--font-display, sans-serif); letter-spacing: -.055em; }
.zcy2-approach p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.65; }
.zcy2-approach-flow { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(255,255,255,.22); }
.zcy2-approach-flow article { position: relative; min-height: 250px; padding: 24px 18px; border-right: 1px solid rgba(255,255,255,.16); }
.zcy2-approach-flow article:last-child { border-right: 0; }
.zcy2-approach-flow span { color: var(--zcy2-gold); font: 800 .74rem/1 var(--font-display, sans-serif); }
.zcy2-approach-flow img { display: block; width: 50px; height: 50px; margin: 23px 0 20px; object-fit: contain; }
.zcy2-approach-flow h3 { margin: 0 0 8px; font: 800 1rem/1.15 var(--font-display, sans-serif); }.zcy2-approach-flow p { font-size: .83rem; line-height: 1.45; }

.zcy2-trust { padding: 78px 0; background: linear-gradient(135deg, #e7f5ff, #f5eeff); }
.zcy2-trust-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 58px; align-items: end; padding: 44px; border-left: 7px solid var(--zcy2-gold); background: linear-gradient(110deg, #061b38, #093c75); color: #fff; }
.zcy2-trust .zcy2-kicker { color: #fff; }.zcy2-trust h2 { margin-bottom: 0; color: #fff; }
.zcy2-trust-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.zcy2-trust-list span { padding: 19px; border-bottom: 2px solid #26c7d2; background: rgba(255,255,255,.09); font: 800 .94rem/1.3 var(--font-display, sans-serif); }

.zcy2-cta { padding: 76px 0; background: var(--zcy2-navy); color: #fff; }.zcy2-cta-shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.zcy2-cta h2 { max-width: 820px; margin-bottom: 0; }.zcy2-cta .button { flex: 0 0 auto; }

@media (max-width: 1200px) { .zcy2-service-grid { grid-template-columns: repeat(3, 1fr); }.zcy2-service { min-height: 460px; }.zcy2-approach-layout { gap: 35px; }.zcy2-approach-flow { grid-template-columns: repeat(3, 1fr); }.zcy2-approach-flow article:nth-child(3) { border-right: 0; }.zcy2-approach-flow article:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.16); } }
@media (max-width: 760px) { .zcy2-page .container { width: min(100% - 32px, 1200px); }.zcy2-hero { min-height: 580px; }.zcy2-hero::after { background: rgba(0, 24, 72, .82); }.zcy2-hero-inner { padding: 70px 0; }.zcy2-hero h1 { font-size: 54px; }.zcy2-hero p { font-size: 16px; }.zcy2-hero-index { right: 16px; bottom: 24px; }.zcy2-benefits, .zcy2-services { padding: 70px 0; }.zcy2-benefit-row { grid-template-columns: repeat(2, 1fr); }.zcy2-benefit-row article:nth-child(2n) { border-right: 0; }.zcy2-benefit-row article:nth-child(n+3) { border-top: 1px solid var(--zcy2-line); }.zcy2-benefit-row article:last-child { grid-column: 1 / -1; }.zcy2-service-grid { grid-template-columns: 1fr; }.zcy2-service { min-height: unset; }.zcy2-service > p { min-height: 0; }.zcy2-approach-layout, .zcy2-trust-shell { grid-template-columns: 1fr; gap: 30px; }.zcy2-approach { padding: 70px 0; }.zcy2-approach-flow { grid-template-columns: 1fr; }.zcy2-approach-flow article { min-height: unset; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }.zcy2-approach-flow article:last-child { border-bottom: 0; }.zcy2-approach-flow article:nth-child(n+4) { border-top: 0; }.zcy2-approach-flow img { margin: 15px 0; }.zcy2-trust { padding: 55px 0; }.zcy2-trust-shell { padding: 29px; }.zcy2-trust-list { grid-template-columns: 1fr; }.zcy2-cta { padding: 58px 0; }.zcy2-cta-shell { align-items: flex-start; flex-direction: column; gap: 26px; } }
