/* Final sales-readiness layer. No funnel form, legal page or story overrides. */
.zty-sector-visual { margin:0; position:relative; min-width:0; overflow:hidden; border:1px solid #ffffff1c; border-radius:6px; background:#080b12; }
.zty-sector-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.zty-hero-visual { align-self:center; }
.zty-hero-visual figcaption { padding:18px 22px; color:#ccd6e4; font-size:13px; line-height:1.6; border-top:1px solid #ffffff1c; }
.hero-grid > .hero-copy { min-width:0; }
.hero-actions { flex-wrap:wrap; }
.hero-actions .button,.analysis-section .button,.contact-aside .button { white-space:normal; text-align:center; gap:16px; max-width:100%; }
.zty-flow-section { padding-block:30px 50px; }
#zty-flow-title { scroll-margin-top:120px; }
.zty-acquisition-flow { list-style:none; padding:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:16px; margin:32px 0 24px; }
.zty-acquisition-flow li { position:relative; border-top:2px solid #5aa7ff; background:#101620; border-bottom:1px solid #ffffff1c; padding:24px 12px; display:flex; align-items:center; min-height:112px; color:#f3f5f8; font-size:14px; line-height:1.5; }
.zty-flow-arrow { position:absolute; right:-13px; color:#5aa7ff; z-index:1; }
.zty-acquisition-flow li:last-child .zty-flow-arrow { display:none; }
.zty-flow-feedback { padding:16px 0; border-top:1px solid #41546d; color:#bacce2; }
.zty-visual-caption { color:#b9c4d3; font-size:13px; line-height:1.6; }
.zty-solutions-context { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-bottom:48px; }
.zty-solutions-context h2 { margin-bottom:24px; }
.zty-solutions-context p:not(.eyebrow) { color:#bcc7d6; line-height:1.65; }
/* Contrast-safe white text on blue, including hover. */
.button { background:#0069d9; border-color:#0069d9; }
.button:hover { background:#075cba; border-color:#075cba; }
.button:focus-visible,.text-link:focus-visible,.stage-nav a:focus-visible { outline:2px solid #91c4ff; outline-offset:4px; }
.site-header .button-small { white-space:nowrap; }
.site-footer .footer-legal a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:1100px) {
  .zty-acquisition-flow { grid-template-columns:1fr; gap:16px; }
  .zty-acquisition-flow li { min-height:64px; padding:20px; font-size:16px; }
  .zty-acquisition-flow .zty-flow-arrow { transform:rotate(90deg); right:24px; bottom:-18px; }
  .zty-solutions-context { gap:32px; }
}
@media(max-width:900px) {
  .zty-solutions-context { grid-template-columns:1fr; }
  .zty-acquisition-flow { grid-template-columns:1fr; gap:16px; }
  .zty-acquisition-flow li { min-height:64px; padding:20px; }
  .zty-acquisition-flow .zty-flow-arrow,.zty-acquisition-flow li:nth-child(4) .zty-flow-arrow { right:24px; bottom:-18px; transform:rotate(90deg); }
}
@media(max-width:640px) {
  .zty-front-page .hero { padding-bottom:0; }
  .zty-front-page .hero-grid { gap:30px; }
  .zty-front-page .hero h1 { font-size:clamp(36px,10vw,50px); }
  :is(.zty-front-page,.zty-template-page) :is(.hero-description,.page-intro,.problem-copy,.difference-description,.case-copy > p,.method-body > p,.method-heading > p,.solution-detail > p,.solution-connection > p,.prose > p,.principles-grid article > p,.analysis-inner > p:not(.eyebrow),.contact-aside > p:not(.eyebrow)) { font-size:18px; line-height:1.6; color:#bcc7d6; }
  :is(.zty-front-page,.zty-template-page) .section { padding-block:60px; }
  :is(.zty-front-page,.zty-template-page) :is(.solution > p,.system-steps li > p) { font-size:17px; line-height:1.6; color:#bcc7d6; }
  .zty-front-page .hero-note,.zty-front-page .focus-strip p,.zty-front-page .focus-strip > span:first-child { font-size:12px; line-height:1.6; }
  .zty-front-page .focus-strip { flex-wrap:wrap; }
  .button { min-height:48px; }
  .text-link { min-height:44px; align-items:center; }
  .stage-nav a { min-height:44px; display:flex; align-items:center; }
  .zty-hero-visual figcaption { font-size:13px; padding:14px 18px; }
  .zty-solutions-context p:not(.eyebrow) { font-size:18px; line-height:1.6; }
  .zty-flow-section { padding-bottom:30px; }
  .zty-acquisition-flow li { font-size:17px; }
  .zty-template-page .article-body :is(p,li) { font-size:18px; line-height:1.65; }
  .site-header .button-small { white-space:normal; }
  .site-footer .footer-legal { font-size:13px; }
}

/* v1.1.7: only the home photo hero and solutions pricing component. */
.zty-front-page .zty-photo-hero { position:relative; isolation:isolate; background:#0b0f17; padding-bottom:0; }
.zty-photo-hero .zty-hero-background { position:absolute; inset:0; z-index:-2; display:block; }
.zty-photo-hero .zty-hero-background img { width:100%; height:100%; object-fit:cover; object-position:65% center; display:block; }
.zty-front-page .zty-photo-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,11,18,.97) 0%,rgba(8,11,18,.9) 28%,rgba(8,11,18,.65) 48%,rgba(8,11,18,.12) 75%,rgba(8,11,18,.05) 100%); }
.zty-front-page .zty-photo-hero .hero-grid { display:flex; align-items:center; min-height:clamp(650px,calc(100svh - 90px),1000px); padding-block:72px; }
.zty-photo-hero .hero-copy { width:100%; max-width:660px; }
.zty-photo-hero .hero-description { max-width:520px; color:#e0e7ef; font-size:18px; line-height:1.65; }
.zty-photo-hero .hero-copy .eyebrow { color:#d8e3ef; }
.zty-photo-hero .hero-note { color:#cad6e2; font-size:13px; }
.zty-photo-hero .text-link { color:#f5f7fa; }
.zty-photo-hero .zty-focus-band { position:relative; width:100%; background:#080b12cc; border-top:1px solid #ffffff26; }
.zty-photo-hero .zty-focus-band .focus-strip { position:relative; background:transparent; border-top:0; margin-top:0; }
.zty-photo-hero .focus-strip p,.zty-photo-hero .focus-strip > span:first-child { color:#dbe4ee; }
.zty-pricing { background:linear-gradient(180deg,#0b0f17,#080b12); }
.zty-pricing-heading { max-width:760px; margin-bottom:48px; }
#zty-pricing-title { scroll-margin-top:125px; }
.zty-pricing-heading h2 { font-size:clamp(32px,3.4vw,48px); line-height:1.15; }
.zty-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.zty-price-card { min-width:0; display:flex; flex-direction:column; padding:36px 28px; border:1px solid #63799188; border-radius:8px; background:linear-gradient(145deg,#172334,#0d1420); box-shadow:0 12px 35px #00000020; }
.zty-price-card-growth { border-color:#74b4ff; background:linear-gradient(145deg,#1b2e46,#101b2a); box-shadow:0 0 30px #297add0c; }
.zty-price-card h3 { color:#e2ebf5; font-size:18px; letter-spacing:.12em; margin:0 0 24px; }
.zty-price-card .zty-package-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin:0 0 28px; color:#f7f9fc; }
.zty-package-price strong { font-size:clamp(36px,3.4vw,50px); line-height:1.1; letter-spacing:-.045em; }
.zty-package-price span { color:#c4d2e2; font-size:16px; white-space:nowrap; }
.zty-price-card ul { list-style:none; padding:0; margin:0 0 32px; flex:1; }
.zty-price-card li { position:relative; padding:10px 0 10px 22px; border-bottom:1px solid #a0b7d016; color:#dce5ef; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.zty-price-card li::before { content:""; position:absolute; top:21px; left:0; width:6px; height:6px; border-radius:50%; background:#7bb7ff; }
.zty-price-card .zty-package-cta { width:100%; max-width:100%; min-height:64px; font-size:14px; line-height:1.5; white-space:normal; text-align:center; gap:12px; padding:16px; }
.zty-pricing-terms { margin-top:32px; padding:24px 28px; border-left:2px solid #5881ad; background:#101824; }
.zty-pricing-terms ul { margin:0; padding-left:20px; display:grid; grid-template-columns:1fr 1fr; gap:12px 32px; }
.zty-pricing-terms li { color:#c2cfdf; font-size:15px; line-height:1.65; }
@media(max-width:1050px) {
  .zty-pricing-grid { gap:16px; }
  .zty-price-card { padding:28px 20px; }
  .zty-package-price strong { font-size:38px; }
}
@media(max-width:800px) {
  .zty-pricing-grid { grid-template-columns:1fr; gap:24px; }
  .zty-price-card { padding:32px; }
  .zty-package-price strong { font-size:48px; }
  .zty-pricing-terms ul { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .zty-front-page .zty-photo-hero .hero-grid { min-height:0; padding-block:64px 42px; }
  .zty-photo-hero .zty-hero-background img { object-position:66% center; }
  .zty-front-page .zty-photo-hero::before { background:linear-gradient(90deg,rgba(8,11,18,.88),rgba(8,11,18,.65)),linear-gradient(0deg,rgba(8,11,18,.35),transparent 65%); }
  .zty-photo-hero .hero-copy { max-width:none; }
  .zty-photo-hero .hero-description { color:#e0e7ef; font-size:18px; line-height:1.6; margin-top:22px; }
  .zty-photo-hero .hero-copy .eyebrow { font-size:11px; letter-spacing:.12em; margin-bottom:22px; }
  .zty-photo-hero .hero-actions { gap:22px; margin-top:26px; }
  .zty-photo-hero .hero-note { margin-top:22px; }
  .zty-price-card { padding:28px 24px; }
  .zty-price-card li { font-size:17px; }
  .zty-pricing-heading { margin-bottom:32px; }
  .zty-pricing-terms { padding:22px; }
}
