.zy-homepage {
      position: relative;
      isolation: isolate;
      overflow-x: hidden;
      min-width: 320px;
      --surface: #E8CEC8;
      --surface-soft: #F1DCD7;
      --lavender: #C8B8D9;
      --lavender-strong: #A990BF;
      --aqua: #9CD9C9;
      --aqua-deep: #2B665D;
      --brand-blue: #205F8F;
      --brand-blue-soft: rgba(32, 95, 143, 0.16);
      --brand-orange: #E87545;
      --brand-orange-soft: rgba(232, 117, 69, 0.18);
      --text: #332D3A;
      --text-soft: #5F5368;
      --muted: #766B78;
      --card: rgba(255, 255, 255, 0.38);
      --card-strong: rgba(255, 255, 255, 0.56);
      --stroke: rgba(51, 45, 58, 0.14);
      --stroke-strong: rgba(32, 95, 143, 0.24);
      --radius: 8px;
      --ease: cubic-bezier(0.22, 1, 0.36, 1);
      --shadow: 0 24px 70px rgba(67, 52, 72, 0.13);
      color-scheme: light;
    }

.zy-homepage * {
      box-sizing: border-box;
    }

.zy-homepage {
      scroll-behavior: smooth;
      background: var(--surface);
    }

.zy-homepage {
      margin: 0;
      min-width: 320px;
      color: var(--text);
      font-family: "Aptos Display", "Segoe UI", Arial, sans-serif;
      background:
        radial-gradient(circle at 18% 8%, rgba(156, 217, 201, 0.38), transparent 31%),
        radial-gradient(circle at 88% 12%, rgba(200, 184, 217, 0.48), transparent 34%),
        linear-gradient(135deg, rgba(232, 117, 69, 0.09), transparent 34%),
        linear-gradient(180deg, #F3DEDA 0%, var(--surface) 44%, #E4CAC4 100%);
      line-height: 1.68;
      overflow-x: hidden;
      text-rendering: geometricPrecision;
    }

.zy-homepage::before,
.zy-homepage::after {
      content: "";
      position: fixed;
      inset: -18vmax;
      z-index: 0;
      pointer-events: none;
      will-change: transform, opacity;
    }

.zy-homepage::before {
      background:
        conic-gradient(from 220deg at 30% 45%, transparent 0deg, rgba(32, 95, 143, 0.2) 52deg, transparent 116deg, rgba(200, 184, 217, 0.32) 182deg, transparent 252deg, rgba(232, 117, 69, 0.16) 318deg, transparent 360deg);
      filter: blur(110px);
      opacity: 0.78;
      transform: translate3d(calc(var(--mx, 0) * -18px), calc(var(--my, 0) * -14px), 0) scale(1.05);
      animation: breatheField 12s var(--ease) infinite alternate;
    }

.zy-homepage::after {
      background:
        linear-gradient(110deg, transparent 8%, rgba(156, 217, 201, 0.18) 32%, transparent 52%),
        linear-gradient(290deg, transparent 12%, rgba(200, 184, 217, 0.22) 40%, transparent 64%);
      filter: blur(76px);
      opacity: 0.5;
      transform: translate3d(calc(var(--mx, 0) * 10px), calc(var(--my, 0) * 16px), 0);
      animation: driftField 16s var(--ease) infinite alternate;
    }

.zy-homepage a {
      color: inherit;
      text-decoration: none;
    }

.zy-homepage button,
.zy-homepage input,
.zy-homepage select,
.zy-homepage textarea {
      font: inherit;
    }

.zy-homepage .site-shell {
      position: relative;
      isolation: isolate;
      min-height: 100vh;
    }

.zy-homepage .particle-layer {
      position: fixed;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      opacity: 0.38;
    }

.zy-homepage .grid-layer {
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        linear-gradient(rgba(32, 95, 143, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(32, 95, 143, 0.045) 1px, transparent 1px);
      background-size: 84px 84px;
      mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.52), transparent 82%);
    }

.zy-homepage .nav {
      position: sticky;
      top: 0;
      z-index: 20;
      border-bottom: 1px solid rgba(32, 95, 143, 0.16);
      background: rgba(200, 184, 217, 0.82);
      color: var(--text);
      backdrop-filter: blur(24px) saturate(150%);
      -webkit-backdrop-filter: blur(24px) saturate(150%);
    }

.zy-homepage .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: min(1160px, calc(100% - 48px));
      min-height: 72px;
      margin: 0 auto;
      gap: 24px;
    }

.zy-homepage .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-size: 15px;
      font-weight: 850;
      letter-spacing: 0;
    }

.zy-homepage .brand-mark {
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      border: 1px solid rgba(255, 255, 255, 0.52);
      border-radius: var(--radius);
      background:
        linear-gradient(145deg, rgba(156, 217, 201, 0.88), rgba(200, 184, 217, 0.68)),
        var(--lavender);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52), 0 16px 34px rgba(32, 95, 143, 0.14);
      color: #1F3F43;
      font-size: 13px;
      font-weight: 950;
    }

.zy-homepage .nav-links {
      display: flex;
      align-items: center;
      gap: 26px;
      color: rgba(51, 45, 58, 0.76);
      font-size: 14px;
      font-weight: 750;
    }

.zy-homepage .nav-links a {
      opacity: 0.86;
      transition: color 220ms var(--ease), opacity 220ms var(--ease);
    }

.zy-homepage .nav-links a:hover {
      color: var(--brand-blue);
      opacity: 1;
    }

.zy-homepage .btn,
.zy-homepage .nav-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 24px;
      border: 1px solid rgba(232, 117, 69, 0.48);
      border-radius: 999px;
      background: linear-gradient(135deg, var(--brand-orange), #F0A46C 54%, #F2B484);
      color: #2D201A;
      font-size: 15px;
      font-weight: 900;
      line-height: 1;
      white-space: nowrap;
      cursor: pointer;
      box-shadow: 0 18px 44px rgba(232, 117, 69, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.52);
      transition: transform 220ms var(--ease), box-shadow 220ms var(--ease), border-color 220ms var(--ease), filter 220ms var(--ease);
    }

.zy-homepage .btn:hover,
.zy-homepage .nav-cta:hover {
      transform: translateY(-2px);
      filter: saturate(1.04);
      box-shadow: 0 24px 58px rgba(232, 117, 69, 0.28), 0 0 0 5px rgba(156, 217, 201, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.68);
    }

.zy-homepage .btn:active,
.zy-homepage .nav-cta:active {
      transform: translateY(1px) scale(0.99);
    }

.zy-homepage .btn.secondary {
      border-color: rgba(32, 95, 143, 0.24);
      background: linear-gradient(135deg, rgba(200, 184, 217, 0.9), rgba(156, 217, 201, 0.58));
      color: #143A59;
      box-shadow: 0 16px 36px rgba(32, 95, 143, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.38);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

.zy-homepage .hero {
      position: relative;
      min-height: calc(100dvh - 72px);
      padding: clamp(56px, 7vw, 96px) 0 clamp(70px, 8vw, 112px);
    }

.zy-homepage .hero-inner {
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(340px, 0.96fr);
      align-items: center;
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto;
      gap: clamp(44px, 6vw, 84px);
    }

.zy-homepage .eyebrow,
.zy-homepage .section-label {
      display: inline-flex;
      align-items: center;
      width: max-content;
      max-width: 100%;
      gap: 12px;
      color: var(--brand-blue);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.02em;
    }

.zy-homepage .eyebrow::before,
.zy-homepage .section-label::before {
      content: "";
      width: 38px;
      height: 2px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--brand-orange), var(--aqua));
    }

.zy-homepage h1,
.zy-homepage h2,
.zy-homepage h3,
.zy-homepage p {
      margin-top: 0;
    }

.zy-homepage h1 {
      max-width: 820px;
      margin: 24px 0 24px;
      font-size: clamp(46px, 6.2vw, 76px);
      line-height: 1.02;
      letter-spacing: 0;
      text-wrap: balance;
    }

.zy-homepage .gradient-text {
      background: linear-gradient(105deg, var(--brand-blue) 4%, var(--brand-orange) 36%, var(--aqua-deep) 72%, var(--text) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

.zy-homepage .hero-copy {
      max-width: 600px;
      margin-bottom: 36px;
      color: var(--text-soft);
      font-size: clamp(18px, 1.6vw, 21px);
      line-height: 1.72;
      text-wrap: pretty;
    }

.zy-homepage .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-bottom: 52px;
    }

.zy-homepage .hero-trust {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }

.zy-homepage .glass-card {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--stroke);
      border-radius: var(--radius);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.54), rgba(232, 206, 200, 0.5)),
        var(--card);
      box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, 0.32);
      backdrop-filter: blur(18px) saturate(145%);
      -webkit-backdrop-filter: blur(18px) saturate(145%);
      transform-style: preserve-3d;
      transition: transform 320ms var(--ease), border-color 320ms var(--ease), box-shadow 320ms var(--ease), background 320ms var(--ease);
      will-change: transform;
    }

.zy-homepage .glass-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.38), transparent 30%, transparent 72%, rgba(156, 217, 201, 0.2)),
        linear-gradient(90deg, transparent, rgba(232, 117, 69, 0.14), transparent);
      opacity: 0;
      transform: translateX(-80%);
      transition: opacity 260ms var(--ease), transform 760ms var(--ease);
    }

.zy-homepage .glass-card.is-visible {
      border-color: rgba(32, 95, 143, 0.22);
    }

.zy-homepage .glass-card.is-visible::before {
      opacity: 1;
      transform: translateX(85%);
    }

.zy-homepage .tilt-card:hover {
      border-color: rgba(232, 117, 69, 0.28);
      box-shadow: 0 28px 78px rgba(67, 52, 72, 0.16), 0 0 0 1px rgba(156, 217, 201, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.36);
    }

.zy-homepage .trust-chip {
      min-height: 136px;
      padding: 22px;
    }

.zy-homepage .trust-chip strong {
      display: block;
      margin-bottom: 9px;
      color: var(--text);
      font-size: 15px;
      line-height: 1.32;
    }

.zy-homepage .trust-chip span {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.55;
    }

.zy-homepage .ops-panel {
      padding: clamp(24px, 3vw, 34px);
      transform: perspective(900px) rotateX(1.4deg) rotateY(-3.4deg);
    }

.zy-homepage .ops-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 28px;
    }

.zy-homepage .ops-title {
      color: var(--brand-blue);
      font-size: 12px;
      font-weight: 950;
      letter-spacing: 0.08em;
    }

.zy-homepage .status-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 34px;
      padding: 0 13px;
      border: 1px solid rgba(156, 217, 201, 0.64);
      border-radius: 999px;
      color: var(--aqua-deep);
      background: rgba(156, 217, 201, 0.28);
      font-size: 12px;
      font-weight: 900;
    }

.zy-homepage .status-pill::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 99px;
      background: var(--aqua);
      box-shadow: 0 0 18px rgba(156, 217, 201, 0.85);
      animation: pulse 1.9s var(--ease) infinite;
    }

.zy-homepage .route-stack {
      display: grid;
      gap: 14px;
    }

.zy-homepage .route-card {
      position: relative;
      padding: 20px;
      border: 1px solid rgba(32, 95, 143, 0.12);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.32);
    }

.zy-homepage .route-card small {
      display: block;
      margin-bottom: 10px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

.zy-homepage .route-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }

.zy-homepage .route-title {
      color: var(--text);
      font-weight: 850;
      line-height: 1.42;
    }

.zy-homepage .route-tag {
      flex: 0 0 auto;
      padding: 7px 11px;
      border-radius: 999px;
      background: rgba(32, 95, 143, 0.12);
      color: var(--brand-blue);
      font-size: 12px;
      font-weight: 900;
    }

.zy-homepage .ops-metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 22px;
    }

.zy-homepage .metric {
      min-height: 92px;
      padding: 16px;
      border: 1px solid rgba(32, 95, 143, 0.12);
      border-radius: var(--radius);
      background: rgba(232, 206, 200, 0.5);
    }

.zy-homepage .metric strong {
      display: block;
      color: var(--brand-orange);
      font-size: 13px;
      line-height: 1.35;
    }

.zy-homepage .metric span {
      color: var(--muted);
      font-size: 12px;
    }

.zy-homepage section {
      position: relative;
      padding: clamp(88px, 10vw, 132px) 0;
    }

.zy-homepage .section-inner {
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto;
    }

.zy-homepage .section-head {
      max-width: 790px;
      margin-bottom: clamp(42px, 5vw, 64px);
    }

.zy-homepage .section-label {
      margin-bottom: 18px;
    }

.zy-homepage h2 {
      max-width: 820px;
      margin-bottom: 20px;
      color: var(--text);
      font-size: clamp(38px, 4.6vw, 58px);
      line-height: 1.06;
      letter-spacing: 0;
      text-wrap: balance;
    }

.zy-homepage .section-copy {
      max-width: 690px;
      margin-bottom: 0;
      color: var(--text-soft);
      font-size: 17px;
      line-height: 1.72;
      text-wrap: pretty;
    }

.zy-homepage .audience-grid {
      display: grid;
      grid-template-columns: 1.05fr 0.9fr 1.15fr;
      gap: 22px;
      align-items: stretch;
    }

.zy-homepage .audience-card,
.zy-homepage .service-card,
.zy-homepage .why-item,
.zy-homepage .step-item,
.zy-homepage .trust-item {
      padding: clamp(26px, 3vw, 34px);
    }

.zy-homepage .audience-card:nth-child(2) {
      margin-top: 58px;
    }

.zy-homepage .audience-card:nth-child(3) {
      margin-top: 18px;
    }

.zy-homepage .card-index,
.zy-homepage .why-number {
      display: inline-grid;
      place-items: center;
      width: 40px;
      height: 40px;
      margin-bottom: 28px;
      border: 1px solid rgba(32, 95, 143, 0.2);
      border-radius: var(--radius);
      color: var(--brand-blue);
      background: linear-gradient(145deg, rgba(156, 217, 201, 0.42), rgba(200, 184, 217, 0.36));
      font-size: 13px;
      font-weight: 950;
      box-shadow: 0 14px 32px rgba(32, 95, 143, 0.08);
    }

.zy-homepage h3 {
      margin-bottom: 14px;
      color: var(--text);
      font-size: clamp(21px, 1.8vw, 24px);
      line-height: 1.2;
      letter-spacing: 0;
      text-wrap: balance;
    }

.zy-homepage .audience-card p,
.zy-homepage .service-card p,
.zy-homepage .why-item p,
.zy-homepage .step-item p,
.zy-homepage .trust-item p {
      margin-bottom: 0;
      color: var(--muted);
      line-height: 1.68;
    }

.zy-homepage .service-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 20px;
    }

.zy-homepage .service-card {
      min-height: 274px;
      grid-column: span 2;
    }

.zy-homepage .service-card:nth-child(1),
.zy-homepage .service-card:nth-child(6) {
      grid-column: span 3;
    }

.zy-homepage .service-icon {
      position: relative;
      width: 54px;
      height: 54px;
      margin-bottom: 28px;
      border: 1px solid rgba(32, 95, 143, 0.22);
      border-radius: var(--radius);
      background:
        linear-gradient(135deg, rgba(32, 95, 143, 0.18), rgba(200, 184, 217, 0.36)),
        rgba(156, 217, 201, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), 0 18px 34px rgba(32, 95, 143, 0.12);
    }

.zy-homepage .service-icon::before,
.zy-homepage .service-icon::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      background: var(--brand-blue);
    }

.zy-homepage .service-icon::before {
      width: 24px;
      height: 2px;
      left: 14px;
      top: 20px;
      box-shadow: 0 11px 0 rgba(32, 95, 143, 0.64);
    }

.zy-homepage .service-icon::after {
      width: 7px;
      height: 7px;
      right: 12px;
      top: 13px;
      background: var(--brand-orange);
      box-shadow: -18px 21px 0 rgba(156, 217, 201, 0.92);
    }

.zy-homepage .why-layout {
      display: grid;
      grid-template-columns: 0.92fr 1.08fr;
      gap: 34px;
      align-items: start;
    }

.zy-homepage .why-summary {
      position: sticky;
      top: 104px;
      padding: clamp(30px, 3.4vw, 42px);
    }

.zy-homepage .summary-line {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding: 17px 0;
      border-top: 1px solid rgba(32, 95, 143, 0.14);
      color: var(--text-soft);
      font-size: 14px;
      font-weight: 800;
    }

.zy-homepage .summary-line strong {
      color: var(--brand-orange);
    }

.zy-homepage .why-list {
      display: grid;
      gap: 18px;
    }

.zy-homepage .why-item {
      display: grid;
      grid-template-columns: 56px minmax(0, 1fr);
      gap: 20px;
      align-items: start;
    }

.zy-homepage .why-number {
      margin-bottom: 0;
    }

.zy-homepage .steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }

.zy-homepage .step-item {
      min-height: 332px;
    }

.zy-homepage .step-kicker {
      display: block;
      margin-bottom: 62px;
      color: rgba(32, 95, 143, 0.18);
      font-size: 52px;
      font-weight: 950;
      line-height: 0.9;
    }

.zy-homepage .trust-band {
      padding-top: clamp(84px, 9vw, 120px);
    }

.zy-homepage .trust-list {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 14px;
    }

.zy-homepage .trust-item {
      min-height: 174px;
      font-weight: 800;
      line-height: 1.48;
    }

.zy-homepage .trust-item::before {
      content: "";
      display: block;
      width: 38px;
      height: 4px;
      margin-bottom: 26px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--brand-orange), var(--aqua), var(--brand-blue));
      box-shadow: 0 0 22px rgba(156, 217, 201, 0.22);
    }

.zy-homepage .quote-section {
      padding-bottom: clamp(110px, 10vw, 148px);
    }

.zy-homepage .quote-layout {
      display: grid;
      grid-template-columns: 0.82fr 1.18fr;
      gap: clamp(36px, 5vw, 58px);
      align-items: start;
    }

.zy-homepage .quote-copy {
      padding-top: 18px;
    }

.zy-homepage .quote-copy p {
      max-width: 540px;
      color: var(--text-soft);
      font-size: 18px;
      line-height: 1.72;
    }

.zy-homepage .contact-card {
      padding: clamp(28px, 3vw, 38px);
    }

.zy-homepage .form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }

.zy-homepage .field {
      display: grid;
      gap: 9px;
    }

.zy-homepage .field.full {
      grid-column: 1 / -1;
    }

.zy-homepage label {
      color: var(--text-soft);
      font-size: 13px;
      font-weight: 850;
    }

.zy-homepage input,
.zy-homepage select,
.zy-homepage textarea {
      width: 100%;
      min-height: 54px;
      border: 1px solid rgba(32, 95, 143, 0.18);
      border-radius: var(--radius);
      padding: 13px 15px;
      color: var(--text);
      background: rgba(255, 255, 255, 0.42);
      outline: none;
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
      transition: border-color 180ms var(--ease), box-shadow 180ms var(--ease), background 180ms var(--ease);
    }

.zy-homepage select {
      color-scheme: light;
    }

.zy-homepage textarea {
      min-height: 144px;
      resize: vertical;
    }

.zy-homepage input::placeholder,
.zy-homepage textarea::placeholder {
      color: rgba(51, 45, 58, 0.46);
    }

.zy-homepage input:focus,
.zy-homepage select:focus,
.zy-homepage textarea:focus {
      border-color: rgba(232, 117, 69, 0.56);
      background: rgba(255, 255, 255, 0.6);
      box-shadow: 0 0 0 4px rgba(156, 217, 201, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.26);
    }

.zy-homepage .submit-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      margin-top: 26px;
    }

.zy-homepage .form-note {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }

.zy-homepage .footer {
      padding: 38px 0;
      border-top: 1px solid rgba(32, 95, 143, 0.14);
      background: rgba(200, 184, 217, 0.86);
      color: rgba(51, 45, 58, 0.78);
      font-size: 14px;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }

.zy-homepage .footer-inner {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      width: min(1160px, calc(100% - 48px));
      margin: 0 auto;
    }

.zy-homepage .reveal {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity 760ms var(--ease), transform 760ms var(--ease);
    }

.zy-homepage .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

.zy-homepage .reveal:nth-child(2) {
      transition-delay: 80ms;
    }

.zy-homepage .reveal:nth-child(3) {
      transition-delay: 140ms;
    }

.zy-homepage .reveal:nth-child(4) {
      transition-delay: 200ms;
    }

.zy-homepage:focus-visible {
      outline: 3px solid rgba(32, 95, 143, 0.52);
      outline-offset: 3px;
    }

@keyframes breatheField {
      from {
        opacity: 0.62;
        transform: translate3d(calc(var(--mx, 0) * -12px), calc(var(--my, 0) * -10px), 0) scale(1);
      }
      to {
        opacity: 0.88;
        transform: translate3d(calc(var(--mx, 0) * -22px), calc(var(--my, 0) * -18px), 0) scale(1.12);
      }
    }

@keyframes driftField {
      from {
        transform: translate3d(calc(var(--mx, 0) * 7px), calc(var(--my, 0) * 12px), 0) rotate(0deg);
      }
      to {
        transform: translate3d(calc(var(--mx, 0) * 14px), calc(var(--my, 0) * 20px), 0) rotate(5deg);
      }
    }

@keyframes pulse {
      0%, 100% {
        opacity: 0.55;
        transform: scale(0.86);
      }
      50% {
        opacity: 1;
        transform: scale(1.08);
      }
    }

@media (prefers-reduced-motion: reduce) {
.zy-homepage {
        scroll-behavior: auto;
      }

.zy-homepage *,
.zy-homepage *::before,
.zy-homepage *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }

.zy-homepage .reveal {
        opacity: 1;
        transform: none;
      }
}

@supports not ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
.zy-homepage .glass-card,
.zy-homepage .btn.secondary {
        background: rgba(244, 226, 222, 0.96);
      }

.zy-homepage .nav,
.zy-homepage .footer {
        background: rgba(200, 184, 217, 0.98);
      }
}

@media (max-width: 1060px) {
.zy-homepage .hero-inner,
.zy-homepage .why-layout,
.zy-homepage .quote-layout {
        grid-template-columns: 1fr;
      }

.zy-homepage .ops-panel {
        max-width: 680px;
        transform: none;
      }

.zy-homepage .hero-trust,
.zy-homepage .audience-grid,
.zy-homepage .steps,
.zy-homepage .trust-list {
        grid-template-columns: repeat(2, 1fr);
      }

.zy-homepage .audience-card:nth-child(2),
.zy-homepage .audience-card:nth-child(3) {
        margin-top: 0;
      }

.zy-homepage .service-card,
.zy-homepage .service-card:nth-child(1),
.zy-homepage .service-card:nth-child(6) {
        grid-column: span 3;
      }

.zy-homepage .why-summary {
        position: static;
      }
}

@media (max-width: 760px) {
.zy-homepage .nav-inner,
.zy-homepage .section-inner,
.zy-homepage .hero-inner,
.zy-homepage .footer-inner {
        width: min(100% - 30px, 1160px);
      }

.zy-homepage .nav-links,
.zy-homepage .nav-cta {
        display: none;
      }

.zy-homepage .hero {
        padding: 54px 0 52px;
      }

.zy-homepage .hero-actions {
        margin-bottom: 34px;
      }

.zy-homepage section {
        padding: 78px 0;
      }

.zy-homepage .hero-trust,
.zy-homepage .audience-grid,
.zy-homepage .steps,
.zy-homepage .trust-list,
.zy-homepage .form-grid,
.zy-homepage .ops-metrics {
        grid-template-columns: 1fr;
      }

.zy-homepage .service-grid {
        grid-template-columns: 1fr;
      }

.zy-homepage .service-card,
.zy-homepage .service-card:nth-child(1),
.zy-homepage .service-card:nth-child(6) {
        grid-column: auto;
      }

.zy-homepage .why-item {
        grid-template-columns: 1fr;
      }

.zy-homepage .route-row,
.zy-homepage .submit-row,
.zy-homepage .footer-inner {
        align-items: flex-start;
        flex-direction: column;
      }
}

/* WordPress and Contact Form 7 integration layer */
.zy-homepage .zy-main {
  position: relative;
  z-index: 1;
}

.zy-homepage .zy-section-block {
  margin: 0;
}

.zy-homepage .cf7-shortcode-slot,
.zy-homepage .wpcf7 {
  width: 100%;
}

.zy-homepage .wpcf7 form {
  margin: 0;
}

.zy-homepage .wpcf7 p {
  margin: 0 0 16px;
}

.zy-homepage .wpcf7 label {
  display: grid;
  gap: 8px;
  color: var(--text-soft);
  font-size: 0.82rem;
  font-weight: 800;
}

.zy-homepage .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%;
  border: 1px solid rgba(51, 45, 58, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.45);
  color: var(--text);
  padding: 13px 14px;
  font: inherit;
  outline: none;
}

.zy-homepage .wpcf7-form-control:not(.wpcf7-submit):focus {
  border-color: rgba(32, 95, 143, 0.46);
  box-shadow: 0 0 0 4px rgba(32, 95, 143, 0.12);
}

.zy-homepage .wpcf7 textarea.wpcf7-form-control {
  min-height: 132px;
  resize: vertical;
}

.zy-homepage .wpcf7-submit {
  border: 0;
  cursor: pointer;
}

.zy-homepage .wpcf7-response-output {
  margin: 18px 0 0;
  border-radius: 8px;
  border-color: rgba(32, 95, 143, 0.28);
  color: var(--text);
}

.zy-homepage .wpcf7-not-valid-tip {
  color: #9f3a2f;
  font-size: 0.78rem;
  margin-top: 4px;
}