/* Stranice za tvrtke ? scoped under .szt-page */
.szt-page {
  color: var(--ink, #111016);
  background: var(--night, #09080f);
  font-family: var(--font-body, Inter, system-ui, sans-serif);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip; /* clip keeps sticky working; hidden breaks it */
  overflow-y: visible;
}
.szt-page *,
.szt-page *::before,
.szt-page *::after { box-sizing: border-box; }
.szt-page img,
.szt-page svg { display: block; max-width: 100%; }
.szt-page a { color: inherit; text-decoration: none; }
.szt-page button,
.szt-page input,
.szt-page textarea,
.szt-page select { font: inherit; }
.szt-page button { cursor: pointer; }
.szt-page ::selection { background: var(--violet-pale); color: var(--ink); }
.szt-page .sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap;
}
/* Clear fixed theme header */
.szt-page .hero { padding-top: 140px; }
@media (max-width: 820px) {
  .szt-page .hero { padding-top: 120px; }
}
@media (max-width: 560px) {
  .szt-page .hero { padding-top: 110px; }
}

.szt-page {
  --ink: #111016;
  --ink-soft: #5f5d67;
  --night: #0c0b12;
  --night-2: #15131d;
  --paper: #f6f4ef;
  --paper-2: #ece9e2;
  --white: #ffffff;
  --line: rgba(17, 16, 22, .14);
  --line-light: rgba(255, 255, 255, .14);
  --violet: #8a68ff;
  --violet-deep: #6d4df2;
  --violet-pale: #d9ceff;
  --mint: #bfe8d3;
  --radius: 24px;
  --radius-sm: 14px;
  --container: 1240px;
  --shadow: 0 24px 70px rgba(14, 12, 22, .16);
  --font-display: "Space Grotesk", Inter, system-ui, sans-serif;
  --font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}





.szt-page img, .szt-page svg { display: block; max-width: 100%; }





.szt-page .container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.szt-page .section-dark { position: relative; color: var(--white); background: var(--night); }
.szt-page .section-light { background: var(--paper); }
.szt-page .section-soft { background: var(--paper-2); }
.szt-page .section-accent { color: var(--white); background: var(--violet-deep); }



.szt-page .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }












.szt-page .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 24px;
  border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 700; line-height: 1; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.szt-page .button:hover { transform: translateY(-2px); }
.szt-page .button-small { min-height: 43px; padding-inline: 18px; font-size: 13px; }
.szt-page .button-primary { color: var(--white); background: var(--violet-deep); box-shadow: 0 14px 30px rgba(109,77,242,.26); }
.szt-page .button-primary:hover { background: var(--violet); }
.szt-page .button-light { color: var(--night); background: var(--white); }
.szt-page .button-dark { color: var(--white); background: var(--night); }
.szt-page .button-white { color: var(--violet-deep); background: var(--white); }
.szt-page .text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; }
.szt-page .text-link span { transition: transform .2s ease; }
.szt-page .text-link:hover span { transform: translate(3px, 3px); }
.szt-page .dark-link { color: var(--ink); }

.szt-page .eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: rgba(255,255,255,.58); font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.szt-page .eyebrow span { width: 24px; height: 1px; background: var(--violet); }
.szt-page .eyebrow.dark { color: #72707a; }
.szt-page .centered-eyebrow { justify-content: center; }

.szt-page h1, .szt-page h2, .szt-page h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.045em;
  color: var(--white);
}
.szt-page h1 { max-width: 780px; font-size: clamp(4rem, 7.2vw, 7.4rem); }
.szt-page h2 { max-width: 780px; font-size: clamp(3rem, 5.2vw, 5.7rem); }
.szt-page h1 em, .szt-page h2 em, .szt-page h3 em { color: var(--violet-pale); font-style: normal; }
.szt-page .section-light h2 em, .szt-page .section-soft h2 em, .szt-page .project-card h3 em { color: var(--violet-deep); }

.szt-page .hero { min-height: 850px; padding: 172px 0 56px; overflow: visible; }
.szt-page .hero::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: var(--line-light); }
.szt-page .hero-glow { position: absolute; border-radius: 50%; filter: blur(12px); pointer-events: none; }
.szt-page .hero-glow-one { width: 620px; height: 620px; right: -250px; top: 80px; background: radial-gradient(circle, rgba(122,88,255,.18), transparent 68%); }
.szt-page .hero-glow-two { width: 480px; height: 480px; left: -300px; bottom: -230px; background: radial-gradient(circle, rgba(192,233,212,.08), transparent 67%); }
.szt-page .hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 54px; }
.szt-page .hero-copy { padding-bottom: 18px; }
.szt-page .hero-copy h1 { font-size: clamp(4rem, 6.7vw, 7rem); }
.szt-page .hero-copy h1 em { display: block; }
.szt-page .hero-lead { max-width: 655px; margin: 30px 0 34px; color: rgba(255,255,255,.68); font-size: clamp(1.04rem, 1.5vw, 1.28rem); line-height: 1.65; }
.szt-page .hero-actions { display: flex; align-items: center; gap: 27px; flex-wrap: wrap; }
.szt-page .trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 680px; margin-top: 55px; padding-top: 25px; border-top: 1px solid var(--line-light); }
.szt-page .trust-row div { display: flex; flex-direction: column; gap: 3px; padding-right: 20px; }
.szt-page .trust-row div + div { padding-left: 22px; border-left: 1px solid var(--line-light); }
.szt-page .trust-row strong { font: 600 14px/1.3 var(--font-display); }
.szt-page .trust-row span { color: rgba(255,255,255,.46); font-size: 11px; }

.szt-page .hero-visual { position: relative; min-width: 0; }
.szt-page .comparison-card { position: relative; z-index: 2; padding: 10px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; box-shadow: 0 42px 90px rgba(0,0,0,.34); backdrop-filter: blur(20px); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); }
.szt-page .comparison-toolbar { display: grid; grid-template-columns: 80px 1fr 80px; align-items: center; height: 45px; padding: 0 7px; }
.szt-page .browser-dots { display: flex; gap: 6px; }
.szt-page .browser-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.28); }
.szt-page .browser-address { justify-self: center; min-width: 190px; padding: 6px 18px; text-align: center; color: rgba(255,255,255,.42); background: rgba(255,255,255,.05); border-radius: 999px; font-size: 9px; letter-spacing: .04em; }
.szt-page .comparison-label { justify-self: end; color: rgba(255,255,255,.42); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.szt-page .comparison-stage { position: relative; height: 490px; overflow: hidden; background: #e8e4dc; border-radius: 15px; user-select: none; }
.szt-page .site-preview { position: absolute; inset: 0; overflow: hidden; }
.szt-page .comparison-before { position: absolute; z-index: 3; inset: 0 auto 0 0; width: 48%; overflow: hidden; border-right: 1px solid rgba(255,255,255,.9); }
.szt-page .site-preview-before { width: 100%; min-width: 560px; color: #333; background: #f2f1ee; font-family: Arial, sans-serif; }
.szt-page .preview-nav { display: flex; align-items: center; justify-content: space-between; }
.szt-page .old-nav { height: 62px; padding: 0 26px; color: #1b5d7a; background: #fff; font-size: 8px; }
.szt-page .old-nav b { font-size: 14px; }
.szt-page .old-banner { padding: 44px 30px; color: #fff; background: #287da1; text-align: center; font-size: 22px; font-weight: 700; }
.szt-page .old-content { padding: 35px 32px 25px; }
.szt-page .old-content h3 { margin-bottom: 16px; font: 700 25px/1.1 Georgia, serif; letter-spacing: 0; }
.szt-page .old-content p { max-width: 430px; font-size: 12px; line-height: 1.6; }
.szt-page .old-button { display: inline-block; margin-top: 8px; padding: 10px 16px; color: #fff; background: #287da1; font-size: 9px; }
.szt-page .old-boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 18px 32px; }
.szt-page .old-boxes span { height: 74px; padding-top: 27px; color: #fff; background: #777; text-align: center; font-size: 10px; }
.szt-page .site-preview-after { min-width: 560px; color: #10211c; background: #f5f1e9; }
.szt-page .modern-nav { height: 66px; padding: 0 28px; border-bottom: 1px solid rgba(16,33,28,.11); font-size: 9px; }
.szt-page .modern-nav b { font: 700 18px/1 var(--font-display); letter-spacing: .11em; }
.szt-page .modern-nav i { width: 26px; height: 26px; border-radius: 50%; background: #16372d; }
.szt-page .modern-hero { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 335px; padding: 34px 28px 22px; }
.szt-page .modern-copy { padding-top: 30px; }
.szt-page .modern-copy small { color: #8a6d50; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.szt-page .modern-copy h3 { margin: 13px 0 18px; font-size: 35px; line-height: .98; }
.szt-page .modern-copy h3 em { color: #87715f; }
.szt-page .modern-copy p { max-width: 220px; color: #65716d; font-size: 10px; }
.szt-page .modern-copy button { margin-top: 12px; padding: 11px 16px; color: white; background: #16372d; border: 0; border-radius: 999px; font-size: 8px; }
.szt-page .modern-image { position: relative; min-height: 280px; overflow: hidden; background: linear-gradient(150deg, #ddcbbb, #b9d7c8); border-radius: 150px 150px 20px 20px; }
.szt-page .modern-image::before { content: ""; position: absolute; width: 145px; height: 230px; left: 50%; bottom: -8px; transform: translateX(-50%); background: linear-gradient(180deg, #f5d7bf 0 24%, #e6b795 25% 39%, #f3efe9 40%); border-radius: 80px 80px 10px 10px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.04); }
.szt-page .modern-image::after { content: ""; position: absolute; width: 82px; height: 82px; left: 50%; top: 36px; transform: translateX(-50%); background: #543c34; border-radius: 46% 48% 42% 45%; }
.szt-page .image-orbit { position: absolute; width: 225px; height: 225px; left: 50%; top: 18px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; }
.szt-page .image-pill { position: absolute; right: 9px; bottom: 17px; padding: 8px 11px; background: rgba(255,255,255,.78); border-radius: 9px; font-size: 8px; backdrop-filter: blur(6px); }
.szt-page .image-pill b { color: #b38b54; font-size: 6px; letter-spacing: .02em; }
.szt-page .modern-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; padding: 0 28px; }
.szt-page .modern-cards span { height: 56px; background: rgba(22,55,45,.07); border: 1px solid rgba(22,55,45,.08); border-radius: 8px; }
.szt-page .comparison-handle { position: absolute; z-index: 4; top: 50%; left: 48%; width: 42px; height: 42px; transform: translate(-50%,-50%); display: grid; place-items: center; color: var(--night); background: white; border-radius: 50%; box-shadow: 0 8px 30px rgba(0,0,0,.23); font-size: 16px; }
.szt-page .comparison-range { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.szt-page .floating-note { position: absolute; z-index: 5; display: flex; align-items: center; gap: 8px; padding: 10px 13px; color: var(--night); background: rgba(255,255,255,.92); border-radius: 999px; box-shadow: var(--shadow); font-size: 10px; font-weight: 700; backdrop-filter: blur(10px); }
.szt-page .floating-note span { display: grid; place-items: center; width: 17px; height: 17px; color: #245d49; background: var(--mint); border-radius: 50%; font-size: 9px; }
.szt-page .note-one { right: -22px; top: 90px; }
.szt-page .note-two { left: -30px; bottom: 60px; }
.szt-page .audience-strip { position: relative; z-index: 3; display: grid; grid-template-columns: 135px 1fr; align-items: center; gap: 30px; margin-top: 80px; padding-top: 29px; border-top: 1px solid var(--line-light); }
.szt-page .audience-strip > span { color: rgba(255,255,255,.38); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.szt-page .audience-list { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; overflow: visible; }
.szt-page .audience-list b { flex: 0 0 auto; color: rgba(255,255,255,.55); font: 600 11px/1 var(--font-display); letter-spacing: .08em; }
.szt-page .audience-list i { flex: 0 0 auto; width: 4px; height: 4px; background: var(--violet); border-radius: 50%; }

.szt-page .problem { padding: 145px 0 125px; }
.szt-page .split-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; }
.szt-page .section-heading h2 { max-width: 680px; }
.szt-page .problem-copy { padding-top: 34px; }
.szt-page .problem-copy p { margin: 0 0 22px; color: var(--ink-soft); font-size: 18px; line-height: 1.75; }
.szt-page .problem-copy .text-link { margin-top: 8px; }
.szt-page .diagnosis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 92px; }
.szt-page .diagnosis-card { position: relative; min-height: 365px; padding: 35px; background: rgba(255,255,255,.65); border: 1px solid var(--line); border-radius: var(--radius); transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.szt-page .diagnosis-card:hover { transform: translateY(-6px); background: #fff; box-shadow: 0 24px 50px rgba(15,13,22,.08); }
.szt-page .card-index { position: absolute; top: 28px; right: 29px; color: #9b98a2; font: 600 11px/1 var(--font-display); }
.szt-page .diagnosis-card svg { width: 53px; height: 53px; margin-bottom: 66px; fill: none; stroke: var(--violet-deep); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.szt-page .diagnosis-card h3 { margin-bottom: 18px; font-size: 26px; line-height: 1.08; letter-spacing: -.03em; }
.szt-page .diagnosis-card p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }

.szt-page .work { padding: 140px 0 130px; }
.szt-page .section-heading.centered { max-width: 850px; margin-inline: auto; text-align: center; }
.szt-page .section-heading.centered h2 { max-width: 850px; }
.szt-page .section-heading.centered > p { max-width: 650px; margin: 26px auto 0; color: var(--ink-soft); font-size: 17px; }
.szt-page .project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 72px; }
.szt-page .project-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.szt-page .project-large { grid-column: 1 / -1; }
.szt-page .project-preview { position: relative; overflow: hidden; }
.szt-page .project-large .project-preview { height: 620px; }
.szt-page .project-card:not(.project-large) .project-preview { height: 430px; }
.szt-page .project-meta { display: grid; grid-template-columns: 1fr 310px; align-items: end; gap: 50px; padding: 30px 33px 34px; border-top: 1px solid var(--line); }
.szt-page .project-meta.stacked { grid-template-columns: 1fr; gap: 10px; }
.szt-page .project-meta span { display: block; margin-bottom: 9px; color: var(--violet-deep); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.szt-page .project-meta h3 { font-size: 24px; line-height: 1.08; letter-spacing: -.03em; }
.szt-page .project-meta p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.szt-page .clinic-preview { color: #193c31; background: #e8e0d6; }
.szt-page .mini-topbar { position: absolute; z-index: 4; top: 0; left: 0; right: 0; height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 52px; background: rgba(248,246,241,.78); border-bottom: 1px solid rgba(25,60,49,.12); backdrop-filter: blur(12px); font-size: 10px; }
.szt-page .mini-topbar b { font: 700 20px/1 var(--font-display); letter-spacing: .12em; }
.szt-page .mini-topbar i { width: 30px; height: 30px; background: #193c31; border-radius: 50%; }
.szt-page .clinic-copy { position: absolute; z-index: 3; left: 7%; top: 32%; }
.szt-page .clinic-copy small { color: #887260; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.szt-page .clinic-copy h3 { margin: 19px 0 28px; font-size: clamp(38px, 5.1vw, 72px); line-height: .95; }
.szt-page .clinic-copy h3 em { color: #957d69; }
.szt-page .clinic-copy button, .szt-page .advisory-grid button { padding: 13px 18px; color: white; background: #193c31; border: 0; border-radius: 999px; font-size: 10px; }
.szt-page .clinic-photo { position: absolute; right: 5%; bottom: -4%; width: 41%; height: 83%; overflow: hidden; background: linear-gradient(145deg, #d7bfa8, #98bdad); border-radius: 220px 220px 28px 28px; }
.szt-page .clinic-photo::before { content: ""; position: absolute; width: 44%; height: 57%; left: 28%; bottom: 0; background: linear-gradient(180deg, #dcb290 0 24%, #f2efe9 24%); border-radius: 90px 90px 0 0; }
.szt-page .clinic-photo::after { content: ""; position: absolute; width: 24%; height: 23%; left: 38%; top: 17%; background: #513930; border-radius: 48% 48% 42% 44%; }
.szt-page .clinic-photo > span { position: absolute; width: 61%; aspect-ratio: 1; left: 19%; top: 8%; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; }
.szt-page .clinic-photo > b { position: absolute; z-index: 3; right: 5%; bottom: 7%; padding: 13px 16px; color: #193c31; background: rgba(255,255,255,.76); border-radius: 14px; font: 700 15px/1.1 var(--font-display); backdrop-filter: blur(12px); }
.szt-page .clinic-photo > b small { font: 400 8px/1 var(--font-body); }
.szt-page .wellness-preview { padding: 36px 42px; color: #392b2f; background: #efd8db; }
.szt-page .wellness-nav { display: flex; justify-content: space-between; align-items: center; }
.szt-page .wellness-nav b { font: 700 18px/1 var(--font-display); letter-spacing: .16em; }
.szt-page .wellness-nav i { width: 30px; height: 1px; background: #392b2f; box-shadow: 0 7px 0 #392b2f; }
.szt-page .wellness-orb { position: absolute; width: 260px; height: 260px; right: -20px; top: 65px; background: #dfb4ba; border-radius: 50%; }
.szt-page .wellness-orb::before, .szt-page .wellness-orb::after { content: ""; position: absolute; border: 1px solid rgba(57,43,47,.26); border-radius: 50%; }
.szt-page .wellness-orb::before { inset: 24px; }
.szt-page .wellness-orb::after { inset: 54px; }
.szt-page .wellness-orb span { position: absolute; width: 84px; height: 170px; left: 88px; top: 45px; background: linear-gradient(180deg, #e5c3a8 0 20%, #f7eae3 20% 35%, #a46069 35%); border-radius: 40px 40px 18px 18px; }
.szt-page .wellness-preview > small { position: absolute; left: 42px; top: 145px; color: #92626a; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.szt-page .wellness-preview h3 { position: absolute; left: 42px; bottom: 65px; font-size: 42px; line-height: .96; }
.szt-page .wellness-preview h3 em { color: #a05d68; }
.szt-page .wellness-line { position: absolute; left: 42px; right: 42px; bottom: 34px; height: 1px; background: rgba(57,43,47,.2); }
.szt-page .advisory-preview { padding: 34px 39px; color: #eef4f2; background: #172522; }
.szt-page .advisory-nav { display: flex; justify-content: space-between; align-items: center; }
.szt-page .advisory-nav b { font: 700 18px/1 var(--font-display); letter-spacing: .18em; }
.szt-page .advisory-nav span { color: rgba(255,255,255,.5); font-size: 8px; }
.szt-page .advisory-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; height: calc(100% - 35px); }
.szt-page .advisory-grid small { color: #99b9af; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.szt-page .advisory-grid h3 { margin: 17px 0 25px; font-size: 39px; line-height: .98; }
.szt-page .advisory-grid h3 em { color: #b7dbd0; }
.szt-page .advisory-grid button { color: #172522; background: #d5ebe4; }
.szt-page .advisory-shape { position: relative; width: 225px; aspect-ratio: 1; margin-left: auto; border: 1px solid rgba(213,235,228,.32); border-radius: 50%; }
.szt-page .advisory-shape::before, .szt-page .advisory-shape::after { content: ""; position: absolute; border: 1px solid rgba(213,235,228,.2); border-radius: 50%; }
.szt-page .advisory-shape::before { inset: 27px; }
.szt-page .advisory-shape::after { inset: 56px; }
.szt-page .advisory-shape span, .szt-page .advisory-shape i { position: absolute; background: #b7dbd0; border-radius: 50%; }
.szt-page .advisory-shape span { width: 24px; height: 24px; left: 23px; top: 48px; }
.szt-page .advisory-shape i { width: 10px; height: 10px; right: 48px; bottom: 23px; }
.szt-page .project-note { max-width: 780px; margin: 25px auto 0; color: #77747e; text-align: center; font-size: 11px; }

.szt-page .deliverables { padding: 140px 0; }
.szt-page .deliverables-intro { align-items: end; }
.szt-page .light-copy p { color: rgba(255,255,255,.63); }
.szt-page .deliverables-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 76px; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.szt-page .deliverable { min-height: 265px; padding: 30px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.szt-page .deliverable > span { color: var(--violet); font: 600 10px/1 var(--font-display); }
.szt-page .deliverable h3 { margin: 72px 0 14px; font-size: 25px; line-height: 1.05; letter-spacing: -.03em; }
.szt-page .deliverable p { max-width: 310px; margin: 0; color: rgba(255,255,255,.5); font-size: 13px; }

.szt-page .process { padding: 145px 0; }
.szt-page .process-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 120px; align-items: start; }
.szt-page .process-sticky { position: sticky; top: 130px; }
.szt-page .process-sticky h2 { margin-bottom: 24px; font-size: clamp(3.3rem, 5vw, 5.2rem); }
.szt-page .process-sticky p { max-width: 430px; margin-bottom: 30px; color: var(--ink-soft); font-size: 16px; }
.szt-page .process-step { display: grid; grid-template-columns: 86px 1fr; gap: 28px; padding: 10px 0 58px; border-bottom: 1px solid var(--line); }
.szt-page .process-step + .process-step { padding-top: 55px; }
.szt-page .step-number { display: grid; place-items: center; width: 62px; height: 62px; color: var(--violet-deep); border: 1px solid rgba(109,77,242,.3); border-radius: 50%; font: 600 12px/1 var(--font-display); }
.szt-page .process-step span { color: #88858f; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.szt-page .process-step h3 { max-width: 650px; margin: 13px 0 16px; font-size: 31px; line-height: 1.08; letter-spacing: -.035em; }
.szt-page .process-step p { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: 14px; }

.szt-page .investment { padding: 120px 0; }
.szt-page .investment-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 95px; align-items: center; }
.szt-page .investment-copy h2 { margin-bottom: 28px; font-size: clamp(3rem, 5vw, 5.5rem); }
.szt-page .investment-copy h2 em { color: #ddd4ff; }
.szt-page .investment-copy p { max-width: 650px; margin: 0 0 17px; color: rgba(255,255,255,.72); font-size: 17px; }
.szt-page .investment-copy strong { color: #fff; }
.szt-page .investment-card { padding: 42px; color: var(--ink); background: #fff; border-radius: var(--radius); box-shadow: 0 32px 70px rgba(39,20,100,.22); }
.szt-page .investment-card > span { color: #7c7985; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.szt-page .investment-card ul { display: grid; gap: 14px; margin: 28px 0 32px; padding: 0; list-style: none; }
.szt-page .investment-card li { display: flex; gap: 11px; padding-bottom: 13px; border-bottom: 1px solid var(--line); font-size: 14px; }
.szt-page .investment-card li i { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; color: var(--violet-deep); background: #eee9ff; border-radius: 50%; font-style: normal; font-size: 10px; }
.szt-page .investment-card .button { width: 100%; }
.szt-page .investment-card small { display: block; margin-top: 13px; color: #88858f; text-align: center; font-size: 10px; }

.szt-page .difference { padding: 145px 0; }
.szt-page .difference-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 125px; align-items: center; }
.szt-page .difference-visual { position: relative; aspect-ratio: 1; max-width: 540px; }
.szt-page .focus-orbit { position: absolute; inset: 9%; border: 1px solid rgba(109,77,242,.22); border-radius: 50%; }
.szt-page .orbit-two { inset: 25%; }
.szt-page .focus-core { position: absolute; inset: 39%; display: grid; place-items: center; color: white; background: var(--violet-deep); border-radius: 50%; box-shadow: 0 0 0 18px rgba(109,77,242,.08), 0 30px 60px rgba(109,77,242,.25); }
.szt-page .focus-core svg { width: 38px; fill: currentColor; }
.szt-page .focus-label { position: absolute; padding: 10px 15px; background: white; border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 12px 30px rgba(15,13,22,.08); font-size: 11px; font-weight: 700; }
.szt-page .label-strategy { left: 4%; top: 21%; }
.szt-page .label-design { right: 2%; top: 28%; }
.szt-page .label-development { left: 0; bottom: 22%; }
.szt-page .label-support { right: 8%; bottom: 11%; }
.szt-page .difference-copy h2 { margin-bottom: 28px; }
.szt-page .difference-copy > p { max-width: 650px; color: var(--ink-soft); font-size: 18px; }
.szt-page .difference-points { margin-top: 36px; }
.szt-page .difference-points div { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid var(--line); }
.szt-page .difference-points div:last-child { border-bottom: 1px solid var(--line); }
.szt-page .difference-points span { color: var(--violet-deep); font: 600 10px/1.7 var(--font-display); }
.szt-page .difference-points p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.szt-page .difference-points strong { color: var(--ink); }

.szt-page .faq { padding: 140px 0; }
.szt-page .faq-grid { display: grid; grid-template-columns: .74fr 1.26fr; gap: 100px; }
.szt-page .faq .section-heading h2 { font-size: clamp(3.2rem, 5vw, 5.3rem); }
.szt-page .faq .section-heading > p { max-width: 330px; color: var(--ink-soft); }
.szt-page .accordion { border-top: 1px solid var(--line); }
.szt-page .faq-item { border-bottom: 1px solid var(--line); }
.szt-page .faq-item button { width: 100%; min-height: 87px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0; color: var(--ink); background: transparent; border: 0; text-align: left; font: 600 19px/1.25 var(--font-display); }
.szt-page .faq-item button i { position: relative; flex: 0 0 22px; width: 22px; height: 22px; }
.szt-page .faq-item button i::before, .szt-page .faq-item button i::after { content: ""; position: absolute; left: 3px; top: 10px; width: 16px; height: 1px; background: currentColor; transition: transform .25s ease; }
.szt-page .faq-item button i::after { transform: rotate(90deg); }
.szt-page .faq-item.is-open button i::after { transform: rotate(0); }
.szt-page .faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s ease; }
.szt-page .faq-answer p { min-height: 0; overflow: hidden; margin: 0; color: var(--ink-soft); font-size: 14px; }
.szt-page .faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.szt-page .faq-item.is-open .faq-answer p { padding: 0 58px 28px 0; }

.szt-page .contact { padding: 140px 0; overflow: hidden; }
.szt-page .contact-glow { position: absolute; width: 700px; height: 700px; right: -320px; top: -250px; background: radial-gradient(circle, rgba(122,88,255,.2), transparent 65%); border-radius: 50%; }
.szt-page .contact-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.szt-page .contact-copy h2 { margin-bottom: 28px; font-size: clamp(3.2rem, 5vw, 5.5rem); }
.szt-page .contact-copy > p { max-width: 530px; color: rgba(255,255,255,.62); font-size: 17px; }
.szt-page .contact-direct { display: flex; flex-direction: column; margin-top: 43px; }
.szt-page .contact-direct span { color: rgba(255,255,255,.4); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.szt-page .contact-direct a { margin-top: 6px; font: 600 22px/1.2 var(--font-display); }
.szt-page .availability { display: flex; align-items: center; gap: 9px; margin-top: 25px; color: rgba(255,255,255,.53); font-size: 11px; }
.szt-page .availability i { width: 8px; height: 8px; background: #70d9a4; border-radius: 50%; box-shadow: 0 0 0 6px rgba(112,217,164,.09); }
.szt-page .contact-form { padding: 37px; color: var(--ink); background: #fff; border-radius: var(--radius); }
.szt-page .form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.szt-page .contact-form label { display: block; margin-bottom: 17px; font-size: 11px; font-weight: 700; }
.szt-page .contact-form input, .szt-page .contact-form textarea { width: 100%; margin-top: 8px; padding: 14px 15px; color: var(--ink); background: #f4f2ed; border: 1px solid transparent; border-radius: 10px; outline: none; font-size: 14px; transition: border-color .2s ease, background .2s ease; }
.szt-page .contact-form input { height: 50px; }
.szt-page .contact-form textarea { resize: vertical; min-height: 118px; }
.szt-page .contact-form input:focus, .szt-page .contact-form textarea:focus { background: #fff; border-color: var(--violet-deep); }
.szt-page .contact-form [aria-invalid="true"] { border-color: #c64141; }
.szt-page .form-footer { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; margin-top: 5px; }
.szt-page .form-footer p { margin: 0; color: #8c8993; font-size: 9px; line-height: 1.55; }
.szt-page .form-status { min-height: 20px; margin-top: 12px; color: var(--violet-deep); font-size: 12px; font-weight: 600; }









.szt-page .reveal { opacity: 1; transform: none; }
html.js .szt-page .reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.75,.25,1); transition-delay: var(--delay, 0ms); }
html.js .szt-page .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .szt-page .hero-grid { grid-template-columns: 1fr; }
  .szt-page .hero-copy { max-width: 880px; }
  .szt-page .hero-visual { width: min(750px, 100%); margin-top: 25px; }
  .szt-page .hero-copy h1 em { display: inline; }
  .szt-page .audience-strip { grid-template-columns: 1fr; gap: 14px; }
  .szt-page .audience-list { justify-content: flex-start; flex-wrap: wrap; overflow: visible; }
  .szt-page .split-layout, .szt-page .investment-grid, .szt-page .contact-grid { gap: 60px; }
  .szt-page .difference-grid { gap: 65px; }
  .szt-page .process-layout { gap: 70px; }
  .szt-page .project-large .project-preview { height: 540px; }
  
  
}

@media (max-width: 820px) {
  .szt-page .container { width: min(calc(100% - 32px), var(--container)); }
  
  
  
  
  
  
  
  
  .szt-page .hero { padding-top: 130px; }
  .szt-page .hero-copy h1 { font-size: clamp(3.5rem, 13vw, 5.6rem); }
  .szt-page .trust-row { grid-template-columns: 1fr; }
  .szt-page .trust-row div { padding: 13px 0; }
  .szt-page .trust-row div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-light); }
  .szt-page .split-layout, .szt-page .investment-grid, .szt-page .difference-grid, .szt-page .faq-grid, .szt-page .contact-grid { grid-template-columns: 1fr; }
  .szt-page .diagnosis-grid, .szt-page .deliverables-grid { grid-template-columns: 1fr; }
  .szt-page .deliverables-grid { border-left: 1px solid var(--line-light); }
  .szt-page .process-layout { grid-template-columns: 1fr; }
  .szt-page .process-sticky { position: static; }
  .szt-page .project-grid { grid-template-columns: 1fr; }
  .szt-page .project-large { grid-column: auto; }
  .szt-page .project-large .project-preview, .szt-page .project-card:not(.project-large) .project-preview { height: 460px; }
  .szt-page .project-meta { grid-template-columns: 1fr; gap: 12px; }
  .szt-page .clinic-photo { right: -7%; width: 52%; }
  .szt-page .clinic-copy { left: 6%; }
  .szt-page .clinic-copy h3 { font-size: 46px; }
  .szt-page .difference-visual { width: min(520px, 100%); margin-inline: auto; }
  
  
}

@media (max-width: 560px) {
  .szt-page h2 { font-size: 3rem; }
  .szt-page .button { width: 100%; }
  .szt-page .hero { min-height: auto; padding: 115px 0 44px; }
  .szt-page .hero-copy h1 { font-size: 3.65rem; }
  .szt-page .hero-lead { font-size: 1rem; }
  .szt-page .hero-actions { align-items: stretch; }
  .szt-page .hero-actions .text-link { justify-content: center; padding: 8px; }
  .szt-page .comparison-card { transform: none; margin-inline: -10px; }
  .szt-page .comparison-toolbar { grid-template-columns: 54px 1fr 54px; }
  .szt-page .comparison-stage { height: 360px; }
  .szt-page .site-preview-after, .szt-page .site-preview-before { min-width: 430px; }
  .szt-page .modern-hero { min-height: 255px; padding: 24px 18px 16px; }
  .szt-page .modern-copy { padding-top: 17px; }
  .szt-page .modern-copy h3 { font-size: 28px; }
  .szt-page .modern-image { min-height: 205px; }
  .szt-page .modern-nav { padding: 0 18px; }
  .szt-page .modern-cards { padding: 0 18px; }
  .szt-page .old-banner { padding: 32px 24px; font-size: 18px; }
  .szt-page .floating-note { display: none; }
  .szt-page .audience-strip { margin-top: 50px; }
  .szt-page .problem, .szt-page .work, .szt-page .deliverables, .szt-page .process, .szt-page .difference, .szt-page .faq, .szt-page .contact { padding: 95px 0; }
  .szt-page .diagnosis-grid { margin-top: 55px; }
  .szt-page .diagnosis-card { min-height: 310px; }
  .szt-page .diagnosis-card svg { margin-bottom: 45px; }
  .szt-page .project-large .project-preview, .szt-page .project-card:not(.project-large) .project-preview { height: 390px; }
  .szt-page .mini-topbar { padding: 0 20px; }
  .szt-page .mini-topbar span { display: none; }
  .szt-page .clinic-copy { top: 25%; left: 7%; }
  .szt-page .clinic-copy h3 { font-size: 35px; }
  .szt-page .clinic-photo { right: -23%; width: 66%; height: 73%; }
  .szt-page .wellness-preview { padding: 28px; }
  .szt-page .wellness-preview > small, .szt-page .wellness-preview h3 { left: 28px; }
  .szt-page .wellness-preview h3 { font-size: 34px; }
  .szt-page .wellness-orb { right: -90px; }
  .szt-page .advisory-preview { padding: 28px; }
  .szt-page .advisory-grid { grid-template-columns: 1fr; }
  .szt-page .advisory-grid h3 { font-size: 33px; }
  .szt-page .advisory-shape { position: absolute; width: 180px; right: -60px; bottom: -30px; opacity: .45; }
  .szt-page .deliverable { min-height: 220px; }
  .szt-page .deliverable h3 { margin-top: 44px; }
  .szt-page .process-step { grid-template-columns: 1fr; gap: 18px; }
  .szt-page .process-step h3 { font-size: 26px; }
  .szt-page .investment-card, .szt-page .contact-form { padding: 28px 22px; }
  .szt-page .form-row, .szt-page .form-footer { grid-template-columns: 1fr; }
  .szt-page .form-footer p { text-align: center; }
  .szt-page .difference-copy > p { font-size: 16px; }
  .szt-page .focus-label { font-size: 9px; padding: 8px 10px; }
  .szt-page .faq-item button { min-height: 76px; font-size: 17px; }
  .szt-page .faq-item.is-open .faq-answer p { padding-right: 15px; }
  
}

@media (prefers-reduced-motion: reduce) {
  
  .szt-page *::before, .szt-page *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .szt-page .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   NORVARIS DARK EDITION ? 70?80% dark / 20?30% light
   ========================================================= */
.szt-page {
  --night: #09080f;
  --night-2: #12101a;
  --night-3: #181521;
  --paper: #f5f3ee;
  --paper-2: #ebe8e1;
  --violet: #987cff;
  --violet-deep: #7356f3;
  --violet-pale: #d8ceff;
  --line-light: rgba(255, 255, 255, .12);
}


.szt-page .section-night-soft {
  background:
    radial-gradient(circle at 78% 5%, rgba(115,86,243,.09), transparent 30%),
    var(--night-2);
}

/* Dark section typography helpers */
.szt-page .problem, .szt-page .process, .szt-page .faq { color: var(--white); }
.szt-page .problem .eyebrow.dark, .szt-page .process .eyebrow.dark, .szt-page .faq .eyebrow.dark { color: rgba(255,255,255,.54); }
.szt-page .problem .eyebrow.dark span, .szt-page .process .eyebrow.dark span, .szt-page .faq .eyebrow.dark span { background: var(--violet); }
.szt-page .problem h2 em, .szt-page .process h2 em, .szt-page .faq h2 em { color: var(--violet-pale); }
.szt-page .problem .problem-copy p, .szt-page .process .process-sticky p, .szt-page .faq .section-heading > p { color: rgba(255,255,255,.61); }
.szt-page .problem .dark-link { color: var(--white); }

/* Header and hero feel closer to core Norvaris */

.szt-page .hero {
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 24%),
    radial-gradient(circle at 72% 32%, rgba(115,86,243,.12), transparent 31%),
    var(--night);
}
.szt-page .hero::after { background: rgba(255,255,255,.09); }
.szt-page .comparison-card { border-color: rgba(216,206,255,.18); }

/* Problem / diagnosis ? dark cards, not generic white agency cards */
.szt-page .problem { border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.szt-page .diagnosis-card {
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border-color: rgba(255,255,255,.11);
  box-shadow: none;
}
.szt-page .diagnosis-card:hover {
  background: linear-gradient(145deg, rgba(152,124,255,.12), rgba(255,255,255,.035));
  border-color: rgba(152,124,255,.34);
  box-shadow: 0 28px 65px rgba(0,0,0,.22);
}
.szt-page .diagnosis-card .card-index { color: rgba(255,255,255,.35); }
.szt-page .diagnosis-card svg { stroke: var(--violet); }
.szt-page .diagnosis-card p { color: rgba(255,255,255,.53); }

/* The portfolio remains the key light contrast zone */
.szt-page .work {
  background:
    linear-gradient(180deg, #f5f3ee 0%, #ece9e2 100%);
  border-bottom: 1px solid rgba(17,16,22,.12);
}
.szt-page .work .section-heading > p { color: #66636d; }
.szt-page .project-card {
  box-shadow: 0 28px 75px rgba(13,11,20,.09);
  transition: transform .3s ease, box-shadow .3s ease;
}
.szt-page .project-card:hover { transform: translateY(-5px); box-shadow: 0 34px 90px rgba(13,11,20,.14); }

/* Deliverables ? quieter, more premium dark grid */
.szt-page .deliverables {
  background:
    radial-gradient(circle at 12% 88%, rgba(152,124,255,.08), transparent 32%),
    var(--night);
}
.szt-page .deliverable { background: rgba(255,255,255,.012); transition: background .25s ease; }
.szt-page .deliverable:hover { background: rgba(152,124,255,.055); }

/* Process ? dark timeline */
.szt-page .process { border-bottom: 1px solid var(--line-light); }
.szt-page .process-sticky .button-dark { color: var(--night); background: var(--white); }
.szt-page .process-sticky .button-dark:hover { background: var(--violet-pale); }
.szt-page .process-step { border-color: var(--line-light); }
.szt-page .process-step .step-number {
  color: var(--violet-pale);
  background: rgba(152,124,255,.06);
  border-color: rgba(152,124,255,.34);
}
.szt-page .process-step span { color: rgba(255,255,255,.38); }
.szt-page .process-step p { color: rgba(255,255,255,.54); }

/* Investment stays saturated but feels integrated into the dark system */
.szt-page .investment {
  background:
    radial-gradient(circle at 80% 15%, rgba(255,255,255,.09), transparent 25%),
    linear-gradient(135deg, #5e42d8 0%, #7356f3 55%, #5a3fd0 100%);
}
.szt-page .investment-card {
  background: rgba(9,8,15,.84);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 38px 90px rgba(17,10,54,.28);
  backdrop-filter: blur(16px);
}

/* Second and final large light contrast zone */
.szt-page .difference {
  background:
    radial-gradient(circle at 18% 44%, rgba(115,86,243,.07), transparent 31%),
    var(--paper);
}
.szt-page .difference-visual { box-shadow: inset 0 0 0 1px rgba(17,16,22,.05); }

/* FAQ ? dark accordion */
.szt-page .faq { border-top: 1px solid var(--line-light); }
.szt-page .faq .accordion, .szt-page .faq .faq-item { border-color: var(--line-light); }
.szt-page .faq-item button { color: var(--white); }
.szt-page .faq-answer p { color: rgba(255,255,255,.55); }
.szt-page .faq-item.is-open button { color: var(--violet-pale); }

/* Contact: keep form light as the final conversion surface */
.szt-page .contact {
  background:
    radial-gradient(circle at 84% 10%, rgba(152,124,255,.14), transparent 34%),
    var(--night);
}
.szt-page .contact-form {
  box-shadow: 0 40px 95px rgba(0,0,0,.28);
}

/* Stronger separation where light and dark meet */
.szt-page .work, .szt-page .difference { position: relative; }
.szt-page .work::before, .szt-page .difference::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: rgba(17,16,22,.09);
}

@media (max-width: 820px) {
  .szt-page .section-night-soft { background: var(--night-2); }
}

/* =========================================================
   NORVARIS DARK EDITION ? refinement pass v2
   ========================================================= */

.szt-page .hero-copy h1 {
  max-width: 720px;
  font-size: clamp(3.75rem, 6.3vw, 6.4rem);
  line-height: .94;
}
.szt-page .hero-copy h1 em { display: block; }
.szt-page .hero-lead {
  max-width: 600px;
  color: rgba(255,255,255,.76);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}
/* Hero right ? stacked site cards: old under, new above (About-inspired) */
.szt-page .hero-site-showcase {
  position: relative;
  width: 100%;
  height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.szt-page .hero-site-glow {
  position: absolute;
  top: 46%;
  left: 52%;
  width: 560px;
  height: 560px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(115,86,243,.22) 0%, rgba(115,86,243,.06) 38%, transparent 68%);
  filter: blur(16px);
  pointer-events: none;
}
.szt-page .hero-site-stack {
  position: relative;
  width: min(420px, 92%);
  height: 360px;
}
.szt-page .hero-site-panel {
  position: absolute;
  inset: 0;
  border-radius: 22px;
  overflow: hidden;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .55s cubic-bezier(.22,1,.36,1), opacity .35s ease, box-shadow .35s ease;
}
.szt-page .hero-site-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.07) 0%, transparent 34%, transparent 70%, rgba(255,255,255,.03) 100%);
  pointer-events: none;
  z-index: 2;
}
.szt-page .hero-site-chrome {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 12px 14px 8px;
  position: relative;
  z-index: 1;
}
.szt-page .hero-site-chrome i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
}
.szt-page .hero-site-chrome i:nth-child(1) { background: rgba(255,95,87,.7); }
.szt-page .hero-site-chrome i:nth-child(2) { background: rgba(254,188,46,.65); }
.szt-page .hero-site-chrome i:nth-child(3) { background: rgba(40,200,64,.55); }
.szt-page .hero-site-tag {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 3;
  color: rgba(255,255,255,.32);
  font: 500 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.szt-page .hero-site-tag-new {
  color: rgba(192,176,255,.78);
}

/* Old site ? underneath */
.szt-page .hero-site-old {
  z-index: 1;
  width: 88%;
  height: 78%;
  top: auto;
  bottom: 8%;
  left: 2%;
  right: auto;
  opacity: .7;
  background: rgba(32,32,40,.9);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 60px rgba(0,0,0,.45);
  transform: rotate(-7deg) translateY(10px);
}
.szt-page .hero-site-old-body {
  padding: 0 16px 18px;
  position: relative;
  z-index: 1;
}
.szt-page .hero-site-old-bar {
  height: 10px;
  width: 42%;
  margin-bottom: 12px;
  border-radius: 2px;
  background: rgba(255,255,255,.2);
}
.szt-page .hero-site-old-banner {
  height: 58px;
  margin-bottom: 14px;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(70,130,165,.75), rgba(45,95,125,.55));
}
.szt-page .hero-site-old-lines {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.szt-page .hero-site-old-lines span {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}
.szt-page .hero-site-old-lines span:nth-child(2) { width: 78%; }
.szt-page .hero-site-old-lines span:nth-child(3) { width: 54%; }
.szt-page .hero-site-old-boxes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.szt-page .hero-site-old-boxes span {
  height: 38px;
  border-radius: 4px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.06);
}

/* New site ? on top */
.szt-page .hero-site-new {
  z-index: 3;
  width: 92%;
  height: 84%;
  top: 4%;
  right: 0;
  left: auto;
  bottom: auto;
  background: linear-gradient(145deg, rgba(58,46,92,.98), rgba(18,14,30,.98));
  border: 1px solid rgba(168,148,255,.48);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.12),
    0 28px 60px rgba(0,0,0,.5),
    0 0 50px rgba(115,86,243,.28);
  transform: rotate(4deg);
  animation: sztHeroNewFloat 6.5s ease-in-out infinite;
}
.szt-page .hero-site-new-body {
  padding: 0 16px 16px;
  position: relative;
  z-index: 1;
}
.szt-page .hero-site-new-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}
.szt-page .hero-site-new-nav b {
  width: 52px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.62);
}
.szt-page .hero-site-new-nav span {
  width: 30px;
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
}
.szt-page .hero-site-new-nav em {
  margin-left: auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(115,86,243,.7);
  box-shadow: 0 0 18px rgba(115,86,243,.45);
  font-style: normal;
}
.szt-page .hero-site-new-hero small {
  display: block;
  width: 40%;
  height: 5px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(192,176,255,.42);
}
.szt-page .hero-site-new-hero strong {
  display: block;
  width: 74%;
  height: 13px;
  margin-bottom: 9px;
  border-radius: 6px;
  background: rgba(255,255,255,.84);
}
.szt-page .hero-site-new-hero strong.is-short {
  width: 50%;
  background: rgba(192,176,255,.78);
}
.szt-page .hero-site-new-hero button {
  display: block;
  margin-top: 16px;
  width: 108px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #8570ff, #5f45e0);
  box-shadow: 0 12px 24px rgba(109,77,242,.4);
  pointer-events: none;
}
.szt-page .hero-site-new-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 20px;
}
.szt-page .hero-site-new-cards span {
  height: 46px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}

@keyframes sztHeroNewFloat {
  0%, 100% { transform: rotate(4deg) translateY(0); }
  50% { transform: rotate(3.5deg) translateY(-8px); }
}

.szt-page .hero-site-showcase:hover .hero-site-old {
  opacity: .82;
  transform: rotate(-9deg) translate(-6px, 18px);
}
.szt-page .hero-site-showcase:hover .hero-site-new {
  animation-play-state: paused;
  transform: rotate(5deg) translate(4px, -12px);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.14),
    0 34px 70px rgba(0,0,0,.55),
    0 0 64px rgba(115,86,243,.38);
}

/* Before / after portfolio */
.szt-page .work .section-heading h2 { max-width: 960px; }
.szt-page .ba-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 72px;
}
.szt-page .ba-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(17,16,22,.11);
  border-radius: 28px;
  box-shadow: 0 28px 75px rgba(13,11,20,.08);
}
.szt-page .ba-card-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 24px 18px;
}
.szt-page .ba-card-head span {
  display: block;
  margin-bottom: 8px;
  color: #7e788d;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.szt-page .ba-card-head h3 {
  font-size: 28px;
  color: var(--ink);
}
.szt-page .ba-card-head small {
  color: #8a8793;
  font-size: 11px;
  font-weight: 700;
}
.szt-page .project-comparison { padding: 0 24px 18px; }
.szt-page .project-stage {
  height: 405px;
  border-radius: 20px;
  background: #ebe6dd;
  box-shadow: inset 0 0 0 1px rgba(17,16,22,.06);
}
.szt-page .project-stage.ba-stage {
  height: auto;
  aspect-ratio: 16 / 10;
  container-type: inline-size;
}
.szt-page .ba-img {
  display: block;
  object-fit: cover;
  object-position: top center;
  pointer-events: none;
  user-select: none;
}
.szt-page .ba-img-after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.szt-page .ba-img-before {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100cqi;
  max-width: none;
}
.szt-page .ba-stage .comparison-before {
  border-right: 1px solid rgba(255,255,255,.92);
  box-shadow: 4px 0 18px rgba(13,11,20,.08);
}
.szt-page .project-after, .szt-page .project-before, .szt-page .rose-after, .szt-page .rose-before { min-width: 100%; }
.szt-page .ba-card-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 18px;
  padding: 0 24px 24px;
}
.szt-page .ba-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  flex: 1 1 auto;
}
.szt-page .ba-benefits span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  color: #4c4658;
  background: #f4f2ed;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.szt-page .ba-site-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--violet-deep);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease, gap .2s ease;
}
.szt-page .ba-site-link:hover {
  color: var(--ink);
  gap: 11px;
}
.szt-page .project-grid-secondary {
  grid-template-columns: minmax(0, 1fr);
  max-width: 620px;
  margin: 24px auto 0;
}
.szt-page .project-grid-secondary .project-card:not(.project-large) .project-preview { height: 410px; }

/* second before-after style */
.szt-page .rose-stage { background: linear-gradient(180deg, #f7f1ec 0%, #f1ebe4 100%); }
.szt-page .rose-after {
  color: #241f2b;
  background: linear-gradient(180deg, #faf4ee 0%, #f4eee7 100%);
}
.szt-page .rose-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(36,31,43,.09);
  font-size: 9px;
  letter-spacing: .04em;
}
.szt-page .rose-nav b { font: 700 18px/1 var(--font-display); letter-spacing: .12em; }
.szt-page .rose-nav i {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #d4a0af, #c08ea0);
}
.szt-page .rose-hero {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  min-height: 260px;
  padding: 30px 24px 10px;
}
.szt-page .rose-hero small {
  color: #9e7684;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
}
.szt-page .rose-hero h3 {
  margin-top: 14px;
  font-size: 34px;
  line-height: 1;
}
.szt-page .rose-hero h3 em { color: #a36f7f; }
.szt-page .rose-hero p {
  max-width: 250px;
  margin: 14px 0 0;
  color: #6e6773;
  font-size: 10px;
  line-height: 1.6;
}
.szt-page .rose-orb {
  justify-self: end;
  width: 220px; height: 220px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.85), rgba(255,255,255,.1) 28%, transparent 30%),
    linear-gradient(160deg, #efd7cf 0%, #d9bcc3 100%);
  box-shadow: inset 0 0 0 28px rgba(255,255,255,.45);
}
.szt-page .rose-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  padding: 14px 24px 24px;
}
.szt-page .rose-cards span {
  height: 84px;
  border-radius: 18px;
  background: rgba(191,138,160,.12);
}
.szt-page .rose-before {
  color: #443f49;
  background: #f0ece7;
  font-family: Georgia, serif;
}
.szt-page .rose-before-bar {
  display: grid;
  place-items: center;
  height: 62px;
  color: #8a6f78;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}
.szt-page .rose-before-box { padding: 34px 26px 20px; }
.szt-page .rose-before-box h3 {
  margin-bottom: 16px;
  font-size: 29px;
  line-height: 1.06;
  letter-spacing: 0;
}
.szt-page .rose-before-box p {
  max-width: 390px;
  font-size: 12px;
  line-height: 1.7;
}
.szt-page .rose-before-btn {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 16px;
  color: #fff;
  background: #ba8a98;
  font-size: 10px;
}
.szt-page .rose-before-columns {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  padding: 16px 26px 22px;
}
.szt-page .rose-before-columns span {
  height: 86px;
  border-radius: 2px;
  background: #dbd6d0;
}

/* Investment fixes */
.szt-page .investment-copy h2 {
  max-width: 760px;
  font-size: clamp(2.9rem, 4.8vw, 5rem);
}
.szt-page .investment-copy p {
  color: rgba(255,255,255,.84);
  font-size: 18px;
  line-height: 1.7;
}
.szt-page .investment-card {
  color: rgba(255,255,255,.9);
}
.szt-page .investment-card > span {
  color: rgba(255,255,255,.58);
  font-size: 10px;
}
.szt-page .investment-card ul { margin-top: 24px; }
.szt-page .investment-card li {
  align-items: center;
  color: rgba(255,255,255,.86);
  border-bottom: 1px solid rgba(255,255,255,.09);
  font-size: 15px;
}
.szt-page .investment-card li i {
  color: #2a204f;
  background: #efeaff;
}
.szt-page .investment-card small {
  color: rgba(255,255,255,.55);
  font-size: 11px;
}

/* Why Norvaris subtle motion */
.szt-page .difference-visual {
  overflow: hidden;
  border-radius: 40px;
}
.szt-page .visual-glow {
  position: absolute;
  inset: 18% 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(115,86,243,.12), transparent 68%);
  filter: blur(12px);
}
.szt-page .ambient-dot, .szt-page .ambient-line { position: absolute; }
.szt-page .ambient-dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--violet-deep);
  box-shadow: 0 0 0 8px rgba(115,86,243,.08);
}
.szt-page .dot-one { top: 18%; left: 18%; animation: floatDot 7s ease-in-out infinite; }
.szt-page .dot-two { right: 16%; top: 22%; width: 9px; height: 9px; animation: floatDot 9s ease-in-out infinite reverse; }
.szt-page .dot-three { left: 24%; bottom: 16%; width: 10px; height: 10px; animation: floatDot 8s ease-in-out infinite; }
.szt-page .ambient-line {
  width: 120px;
  height: 1px;
  background: linear-gradient(90deg, rgba(115,86,243,0), rgba(115,86,243,.4), rgba(115,86,243,0));
}
.szt-page .line-one { top: 28%; left: 8%; transform: rotate(-18deg); animation: driftLine 8s ease-in-out infinite; }
.szt-page .line-two { right: 8%; bottom: 24%; transform: rotate(16deg); animation: driftLine 10s ease-in-out infinite reverse; }
.szt-page .focus-core svg { width: 38px; fill: currentColor; }

@keyframes floatDot {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-10px,0); }
}
@keyframes driftLine {
  0%,100% { transform: translate3d(0,0,0) rotate(-18deg); opacity: .7; }
  50% { transform: translate3d(8px,-8px,0) rotate(-14deg); opacity: 1; }
}
.szt-page .line-two { animation-name: driftLineTwo; }
@keyframes driftLineTwo {
  0%,100% { transform: translate3d(0,0,0) rotate(16deg); opacity: .75; }
  50% { transform: translate3d(-8px,8px,0) rotate(12deg); opacity: 1; }
}

/* Contact form refinements */
.szt-page .contact-copy h2 { max-width: 650px; }
.szt-page .contact-form {
  padding: 34px;
  border: 1px solid rgba(17,16,22,.08);
}
.szt-page .form-intro {
  margin-bottom: 18px;
  padding: 16px 18px;
  background: #f6f4ee;
  border: 1px solid rgba(17,16,22,.07);
  border-radius: 16px;
}
.szt-page .form-intro strong {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  line-height: 1.35;
}
.szt-page .form-intro p {
  margin: 0;
  color: #7a7781;
  font-size: 12px;
  line-height: 1.6;
}
.szt-page .contact-form label {
  color: #3e3948;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.szt-page .contact-form label span {
  color: #8e8998;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.szt-page .contact-form input, .szt-page .contact-form textarea, .szt-page .contact-form select {
  width: 100%;
  margin-top: 8px;
  padding: 15px 16px;
  color: var(--ink);
  background: #f4f2ed;
  border: 1px solid transparent;
  border-radius: 12px;
  outline: none;
  font-size: 15px;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.szt-page .contact-form input, .szt-page .contact-form select { height: 54px; }
.szt-page .contact-form textarea { min-height: 136px; resize: vertical; }
.szt-page .contact-form input:focus, .szt-page .contact-form textarea:focus, .szt-page .contact-form select:focus {
  background: #fff;
  border-color: rgba(115,86,243,.5);
  box-shadow: 0 0 0 4px rgba(115,86,243,.12);
}
.szt-page .button-submit { min-width: 240px; }
.szt-page .form-footer { margin-top: 8px; gap: 22px; }
.szt-page .form-footer p {
  color: #8a8692;
  font-size: 11px;
  line-height: 1.6;
}
.szt-page .form-status { margin-top: 14px; }

@media (max-width: 1080px) {
  .szt-page .ba-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .szt-page .hero-site-showcase { height: 400px; }
  .szt-page .hero-site-stack { width: min(360px, 94%); height: 300px; }
  .szt-page .project-stage { height: 360px; }
}

@media (max-width: 560px) {
  .szt-page .hero-copy h1 {
    font-size: 3.4rem;
    max-width: 340px;
  }
  .szt-page .hero-site-showcase { height: 360px; }
  .szt-page .project-stage { height: 320px; }
  .szt-page .project-stage.ba-stage { height: auto; }
  .szt-page .ba-card-head { align-items: flex-start; padding: 22px 18px 16px; }
  .szt-page .project-comparison { padding: 0 18px 16px; }
  .szt-page .ba-card-foot { padding: 0 18px 20px; }
  .szt-page .ba-benefits { padding: 0; }
  .szt-page .project-grid-secondary { max-width: none; }
  .szt-page .rose-hero, .szt-page .modern-hero { grid-template-columns: 1fr; }
  .szt-page .rose-orb { width: 150px; height: 150px; margin-top: 12px; justify-self: start; }
  .szt-page .modern-image { margin-top: 12px; }
  .szt-page .form-intro { padding: 14px; }
}

/* =========================================================
   NORVARIS DARK EDITION ? refinement pass v3
   ========================================================= */

/* Hero */
.szt-page .hero {
  min-height: 820px;
  background:
    radial-gradient(circle at 82% 28%, rgba(115,86,243,.16), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(115,86,243,.10), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 20%),
    var(--night);
}
.szt-page .hero-grid { grid-template-columns: .92fr 1.08fr; gap: 48px; }
.szt-page .hero-copy h1 {
  max-width: 650px;
  font-size: clamp(3.35rem, 5.3vw, 5.3rem);
  line-height: .95;
  letter-spacing: -.05em;
}
.szt-page .hero-copy h1 em {
  display: inline;
  color: var(--violet-pale);
}
.szt-page .hero-lead {
  max-width: 590px;
  margin: 24px 0 32px;
  color: rgba(255,255,255,.76);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.72;
}

/* Estimator */
.szt-page .estimator {
  padding: 120px 0;
  border-top: 1px solid var(--line-light);
  border-bottom: 1px solid var(--line-light);
  background:
    radial-gradient(circle at 80% 12%, rgba(255,255,255,.04), transparent 28%),
    radial-gradient(circle at 12% 88%, rgba(255,255,255,.025), transparent 22%),
    var(--night-2);
}
.szt-page .estimator-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 42px;
  align-items: start;
}
.szt-page .estimator-copy p {
  max-width: 530px;
  color: rgba(255,255,255,.66);
}
.szt-page .estimator-panel {
  display: grid;
  grid-template-columns: 1.06fr .74fr;
  gap: 18px;
}
.szt-page .estimator-form, .szt-page .estimator-result {
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.09);
}
.szt-page .estimator-form {
  padding: 24px;
  background: rgba(255,255,255,.03);
}
.szt-page .estimator-result {
  position: sticky;
  top: 118px;
  padding: 24px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 28px 60px rgba(0,0,0,.18);
}
.szt-page .estimator-group + .estimator-group {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.szt-page .estimator-group-title {
  margin-bottom: 14px;
  color: rgba(255,255,255,.9);
  font: 700 14px/1.3 var(--font-display);
  letter-spacing: .01em;
}
.szt-page .choice-grid { display: grid; gap: 12px; }
.szt-page .choice-card, .szt-page .option-card {
  position: relative;
  display: block;
  padding: 18px 18px 16px 18px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
  cursor: pointer;
}
.szt-page .choice-card:hover, .szt-page .option-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.04);
}
.szt-page .choice-card input, .szt-page .option-card input {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.szt-page .choice-card strong, .szt-page .option-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--white);
  font-size: 15px;
}
.szt-page .choice-card span, .szt-page .option-card span {
  display: block;
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.6;
}
.szt-page .choice-card .choice-price,
.szt-page .option-card .choice-price {
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(215, 179, 111, 0.95);
}
.szt-page .choice-card.is-selected, .szt-page .option-card.is-selected {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.34);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.szt-page .choice-card.is-selected::after, .szt-page .option-card.is-selected::after {
  content: '\2713';
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #111016;
  background: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
}
.szt-page .choice-grid-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.szt-page .estimator-result-top span, .szt-page .estimator-summary > span, .szt-page .estimator-duration span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.szt-page .estimator-result-top b {
  display: block;
  margin-top: 14px;
  color: var(--white);
  font: 700 clamp(2.4rem, 3vw, 3.1rem)/1 var(--font-display);
  letter-spacing: -.05em;
}
.szt-page .estimator-result-top small {
  display: inline-block;
  margin-top: 6px;
  color: rgba(255,255,255,.54);
  font-size: 12px;
}
.szt-page .estimator-duration {
  margin-top: 22px;
  padding: 16px 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
}
.szt-page .estimator-duration strong {
  display: block;
  margin-top: 8px;
  color: var(--white);
  font-size: 18px;
}
.szt-page .estimator-summary {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.szt-page .estimator-summary ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.szt-page .estimator-summary li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  line-height: 1.6;
}
.szt-page .estimator-summary li + li { margin-top: 8px; }
.szt-page .estimator-summary li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .62em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--violet-pale);
}
.szt-page .estimator-cta {
  width: 100%;
  margin-top: 24px;
}
.szt-page .estimator-note {
  margin: 14px 0 0;
  color: rgba(255,255,255,.53);
  font-size: 12px;
  line-height: 1.65;
}

/* Why Norvaris animations */
.szt-page .difference {
  background:
    radial-gradient(circle at 16% 35%, rgba(115,86,243,.08), transparent 28%),
    linear-gradient(180deg, #f7f5f1 0%, #f1eeea 100%);
}
.szt-page .difference-visual {
  overflow: hidden;
}
.szt-page .focus-orbit {
  border-color: rgba(115,86,243,.20);
  animation: orbitPulse 6s ease-in-out infinite;
}
.szt-page .orbit-two { animation-delay: -3s; }
.szt-page .focus-core {
  animation: coreFloat 5s ease-in-out infinite;
}
.szt-page .ambient-dot, .szt-page .ambient-line, .szt-page .focus-label { will-change: transform; }
.szt-page .dot-one { animation: dotFloat1 6.2s ease-in-out infinite; }
.szt-page .dot-two { animation: dotFloat2 7.6s ease-in-out infinite; }
.szt-page .dot-three { animation: dotFloat3 5.8s ease-in-out infinite; }
.szt-page .line-one { animation: driftLine 7s ease-in-out infinite; }
.szt-page .line-two { animation: driftLineTwo 8.4s ease-in-out infinite; }
.szt-page .label-strategy { animation: labelFloat1 7s ease-in-out infinite; }
.szt-page .label-design { animation: labelFloat2 6.5s ease-in-out infinite; }
.szt-page .label-development { animation: labelFloat3 7.4s ease-in-out infinite; }
.szt-page .label-support { animation: labelFloat4 6.7s ease-in-out infinite; }

@keyframes orbitPulse {
  0%,100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.02); opacity: 1; }
}
@keyframes coreFloat {
  0%,100% { transform: translateY(0); box-shadow: 0 0 0 18px rgba(109,77,242,.08), 0 30px 60px rgba(109,77,242,.25); }
  50% { transform: translateY(-6px); box-shadow: 0 0 0 22px rgba(109,77,242,.10), 0 34px 68px rgba(109,77,242,.28); }
}
@keyframes dotFloat1 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(0,-14px); } }
@keyframes dotFloat2 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-9px,10px); } }
@keyframes dotFloat3 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(11px,-10px); } }
@keyframes labelFloat1 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-8px,4px); } }
@keyframes labelFloat2 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(7px,-6px); } }
@keyframes labelFloat3 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-6px,7px); } }
@keyframes labelFloat4 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(8px,6px); } }

/* Contact form restyle */
.szt-page .contact {
  background:
    radial-gradient(circle at 88% 10%, rgba(115,86,243,.16), transparent 28%),
    radial-gradient(circle at 10% 80%, rgba(115,86,243,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 22%),
    var(--night);
}
.szt-page .contact-grid { align-items: start; }
.szt-page .contact-copy h2 {
  max-width: 540px;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .96;
}
.szt-page .contact-copy p {
  max-width: 520px;
  color: rgba(255,255,255,.70);
}
.szt-page .contact-form {
  padding: 32px;
  background: linear-gradient(180deg, #faf8f4 0%, #f3efe8 100%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 32px 90px rgba(0,0,0,.20);
}
.szt-page .form-intro {
  background: rgba(17,16,22,.05);
  border-color: rgba(17,16,22,.08);
}
.szt-page .contact-form input, .szt-page .contact-form textarea, .szt-page .contact-form select {
  background: rgba(17,16,22,.04);
  border: 1px solid rgba(17,16,22,.06);
}
.szt-page .contact-form input:focus, .szt-page .contact-form textarea:focus, .szt-page .contact-form select:focus {
  box-shadow: 0 0 0 4px rgba(115,86,243,.12);
}
.szt-page .form-footer {
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
}
.szt-page .form-footer p {
  max-width: 320px;
}

/* Responsive refinements */
@media (max-width: 1140px) {
  .szt-page .estimator-grid, .szt-page .hero-grid, .szt-page .contact-grid { grid-template-columns: 1fr; }
  .szt-page .estimator-panel { grid-template-columns: 1fr; }
  .szt-page .estimator-result { position: static; }
}

@media (max-width: 820px) {
  .szt-page .hero-copy h1 {
    font-size: clamp(3rem, 10vw, 4.3rem);
    max-width: 450px;
  }
  .szt-page .choice-grid-options { grid-template-columns: 1fr; }
  .szt-page .contact-copy h2 { max-width: 420px; }
}

@media (max-width: 560px) {
  .szt-page .hero-copy h1 {
    font-size: 2.85rem;
    max-width: 320px;
  }
  .szt-page .hero-lead { font-size: .98rem; }
  .szt-page .estimator, .szt-page .contact { padding: 96px 0; }
  .szt-page .estimator-form, .szt-page .estimator-result, .szt-page .contact-form { padding: 22px; }
  .szt-page .form-footer { grid-template-columns: 1fr; }
  .szt-page .form-footer p { max-width: none; text-align: center; }
}

/* =========================================================
   NORVARIS DARK EDITION ? estimator layout pass v4
   ========================================================= */

/* Make heading/subline full width, then calculator full width */
.szt-page .estimator-grid {
  display: block;
}

.szt-page .estimator-copy {
  max-width: 100%;
  margin-bottom: 34px;
}

.szt-page .estimator-copy h2 {
  max-width: 840px;
  font-size: clamp(2.8rem, 4.4vw, 4.6rem);
  line-height: .98;
}

.szt-page .estimator-copy p {
  max-width: 780px;
  margin-top: 22px;
  font-size: 1.05rem;
}

.szt-page .estimator-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.szt-page .estimator-form {
  width: 100%;
}

/* Use full width for option groups so the section reads in rows, not 2 columns */
.szt-page .choice-grid-primary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.szt-page .choice-grid-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.szt-page .estimator-group + .estimator-group {
  margin-top: 22px;
  padding-top: 22px;
}

.szt-page .choice-card, .szt-page .option-card {
  min-height: 132px;
}

/* Result card spans full width and becomes a horizontal summary bar */
.szt-page .estimator-result {
  position: static;
  display: grid;
  grid-template-columns: 1.15fr .75fr 1fr 1.05fr;
  gap: 18px;
  align-items: start;
  width: 100%;
}

.szt-page .estimator-result-top, .szt-page .estimator-duration, .szt-page .estimator-summary, .szt-page .estimator-result-actions {
  min-height: 100%;
}

.szt-page .estimator-duration {
  margin-top: 0;
}

.szt-page .estimator-summary {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.szt-page .estimator-result .estimator-cta, .szt-page .estimator-result .estimator-note {
  grid-column: auto;
}

.szt-page .estimator-result .estimator-cta {
  margin-top: 0;
}

.szt-page .estimator-result .estimator-note {
  margin-top: 10px;
}

/* Put CTA and note together visually */
.szt-page .estimator-result .estimator-cta, .szt-page .estimator-result .estimator-note {
  display: block;
}

.szt-page .estimator-result::after {
  content: '';
  display: none;
}

/* Wrap CTA + note using existing flow in the 4th column */
.szt-page .estimator-result > .estimator-cta, .szt-page .estimator-result > .estimator-note {
  grid-column: 4;
}

.szt-page .estimator-result > .estimator-note {
  align-self: start;
}

/* Fine tune widths */
.szt-page .estimator-result-top b {
  font-size: clamp(2.2rem, 2.6vw, 2.9rem);
}

.szt-page .estimator-summary ul {
  margin-top: 12px;
}

.szt-page .estimator-summary li {
  font-size: 13px;
}

/* Improve section height balance */
.szt-page .estimator {
  padding-top: 104px;
  padding-bottom: 104px;
}

@media (max-width: 1240px) {
  .szt-page .choice-grid-primary {
    grid-template-columns: 1fr;
  }

  .szt-page .choice-grid-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .szt-page .estimator-result {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .szt-page .estimator-result > .estimator-cta, .szt-page .estimator-result > .estimator-note {
    grid-column: auto;
  }
}

@media (max-width: 820px) {
  .szt-page .estimator-copy {
    margin-bottom: 26px;
  }

  .szt-page .estimator-copy h2 {
    max-width: 540px;
    font-size: clamp(2.4rem, 8vw, 3.6rem);
  }

  .szt-page .choice-grid-options, .szt-page .estimator-result {
    grid-template-columns: 1fr;
  }

  .szt-page .choice-card, .szt-page .option-card {
    min-height: auto;
  }
}

/* ---- Contact form polish (mailto placeholder until real backend) ---- */
.szt-page .contact-form {
  position: relative;
  overflow: hidden;
}
.szt-page .contact-form::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--violet-deep), var(--violet-pale), transparent);
}
.szt-page .contact-form label {
  margin-bottom: 18px;
}
.szt-page .contact-form input,
.szt-page .contact-form textarea,
.szt-page .contact-form select {
  appearance: none;
  -webkit-appearance: none;
}
.szt-page .contact-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235f5d67' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 42px;
}
.szt-page .contact-form input::placeholder,
.szt-page .contact-form textarea::placeholder {
  color: #9a96a3;
}
.szt-page .button-submit {
  min-height: 54px;
  box-shadow: 0 14px 30px rgba(109, 77, 242, .28);
}
.szt-page .button-submit:hover {
  box-shadow: 0 18px 36px rgba(109, 77, 242, .36);
}
.szt-page .form-status:not(:empty) {
  padding: 10px 14px;
  background: rgba(115, 86, 243, .08);
  border: 1px solid rgba(115, 86, 243, .2);
  border-radius: 12px;
}
.szt-page .form-intro {
  border-left: 3px solid var(--violet-deep);
}

/* Ensure .container inside landing wins over Tailwind utilities.
   Horizontal gutters come from section padding (1.5rem), not width calc. */
.szt-page .container {
  width: min(100%, var(--container)) !important;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 0;
}
@media (max-width: 820px) {
  .szt-page .container {
    width: min(100%, var(--container)) !important;
  }
}


/* =========================================================
   UX / UI polish ? theme + Tailwind conflict fixes
   ========================================================= */

/* Headings: Tailwind preflight resets weight to inherit (400).
   Theme also forces h1?h3 to #f2f2f2, which kills light sections. */
.szt-page h1,
.szt-page h2,
.szt-page h3,
.szt-page h4 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--white);
}

.szt-page h1 {
  font-size: clamp(2.75rem, 5.2vw, 5.1rem) !important;
  line-height: 1.02 !important;
  max-width: 18ch;
}

.szt-page h2 {
  font-size: clamp(2.25rem, 4.2vw, 4.25rem) !important;
  line-height: 1.05 !important;
}

.szt-page h3 {
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

.szt-page h1 em,
.szt-page h2 em,
.szt-page h3 em {
  color: var(--violet-pale);
  font-style: normal;
  font-weight: inherit;
}

/* Light sections need ink, not theme off-white */
.szt-page .section-light,
.szt-page .section-soft,
.szt-page .work,
.szt-page .difference {
  color: var(--ink);
}

.szt-page .section-light h1,
.szt-page .section-light h2,
.szt-page .section-light h3,
.szt-page .section-soft h1,
.szt-page .section-soft h2,
.szt-page .section-soft h3,
.szt-page .work h1,
.szt-page .work h2,
.szt-page .work h3,
.szt-page .difference h1,
.szt-page .difference h2,
.szt-page .difference h3,
.szt-page .ba-card h3,
.szt-page .project-card h3,
.szt-page .project-meta h3 {
  color: var(--ink) !important;
}

.szt-page .section-light h2 em,
.szt-page .section-soft h2 em,
.szt-page .work h2 em,
.szt-page .difference h2 em,
.szt-page .project-card h3 em {
  color: var(--violet-deep) !important;
}

.szt-page .work .section-heading > p,
.szt-page .difference-copy > p {
  color: #66636d !important;
}

.szt-page .work .eyebrow.dark,
.szt-page .difference .eyebrow.dark {
  color: #7a7784;
  justify-content: center;
}

.szt-page .section-heading.centered {
  text-align: center;
  margin-inline: auto;
  max-width: 850px;
}

.szt-page .section-heading.centered h2 {
  margin-inline: auto;
  max-width: 22ch;
}

.szt-page .section-heading.centered > p {
  margin: 22px auto 0;
  max-width: 42rem;
  text-align: center;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.szt-page .centered-eyebrow {
  justify-content: center;
}

/* Hero rhythm */
.szt-page .hero {
  padding-top: 148px;
  padding-bottom: 64px;
  min-height: auto;
}

.szt-page .hero-copy h1 {
  max-width: min(18ch, 100%);
}

.szt-page .eyebrow {
  margin-bottom: 18px;
}

.szt-page .hero-lead {
  margin: 22px 0 28px;
  max-width: 36rem;
}

.szt-page .hero-actions {
  gap: 20px;
  margin-bottom: 8px;
}

.szt-page .trust-row {
  margin-top: 36px;
  padding-top: 22px;
  gap: 0;
}

.szt-page .trust-row strong {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.02em;
}

.szt-page .hero-visual {
  min-width: 0;
  overflow: visible;
}
.szt-page .hero-visual.reveal.is-visible {
  transform: none;
}

.szt-page .hero-grid {
  overflow: visible;
}

/* Section spacing ? tighter, more consistent */
.szt-page .problem,
.szt-page .work,
.szt-page .deliverables,
.szt-page .process,
.szt-page .difference,
.szt-page .faq,
.szt-page .contact {
  padding-top: 112px;
  padding-bottom: 112px;
}

.szt-page .estimator {
  padding-top: 96px;
  padding-bottom: 96px;
}

.szt-page .diagnosis-grid {
  margin-top: 64px;
  gap: 16px;
}

.szt-page .diagnosis-card {
  min-height: 0;
  padding: 28px;
}

.szt-page .diagnosis-card h3 {
  font-size: 1.35rem !important;
  margin-bottom: 12px;
  letter-spacing: -0.03em;
}

.szt-page .diagnosis-card svg {
  margin-bottom: 36px;
}

.szt-page .ba-grid {
  margin-top: 56px;
  gap: 20px;
}

.szt-page .ba-card-head {
  padding: 22px 22px 14px;
  align-items: flex-start;
}

.szt-page .ba-card-head h3 {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
}

.szt-page .deliverables-grid {
  margin-top: 56px;
}

.szt-page .deliverable {
  min-height: 0;
  padding: 28px;
}

.szt-page .deliverable h3 {
  margin: 40px 0 12px;
  font-size: 1.35rem !important;
}

.szt-page .process-sticky {
  top: 110px;
}

.szt-page .process-sticky h2 {
  margin-bottom: 18px;
}

.szt-page .process-step {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  padding: 8px 0 40px;
  gap: 0.75rem;
  align-items: start;
}

.szt-page .process-step + .process-step {
  padding-top: 36px;
}

.szt-page .process-step .step-number {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 11px;
}

.szt-page .process-step h3 {
  font-size: 1.25rem !important;
  line-height: 1.15;
  margin: 6px 0 10px;
  max-width: 28rem;
}

.szt-page .estimator-copy {
  margin-bottom: 28px;
}

.szt-page .estimator-copy h2 {
  max-width: 18ch;
}

.szt-page .choice-card,
.szt-page .option-card {
  min-height: 0;
  padding: 16px 16px 14px;
}

.szt-page .choice-card strong,
.szt-page .option-card strong {
  font-weight: 700;
  padding-right: 28px;
}

.szt-page .faq-item button {
  font-weight: 700 !important;
  min-height: 72px;
  font-size: 1.125rem !important;
}

.szt-page .contact-copy h2 {
  max-width: 14ch;
  margin-bottom: 20px;
}

.szt-page .difference-copy h2 {
  max-width: 12ch;
  margin-bottom: 20px;
}

.szt-page .difference-points strong {
  font-weight: 700;
  color: var(--ink);
}

.szt-page .split-layout {
  gap: 64px;
  align-items: start;
}

.szt-page .problem-copy {
  padding-top: 8px;
}

.szt-page .problem-copy p {
  font-size: 1.0625rem;
  line-height: 1.7;
}

/* Preview mockups inside cards ? keep nested h3 from inheriting page display scale */
.szt-page .site-preview h3,
.szt-page .modern-copy h3,
.szt-page .rose-hero h3,
.szt-page .advisory-grid h3,
.szt-page .old-content h3,
.szt-page .rose-before-box h3 {
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit;
  max-width: none;
}

.szt-page .modern-copy h3 {
  font-size: 35px !important;
  line-height: 0.98 !important;
}

.szt-page .rose-hero h3 {
  font-size: 34px !important;
  line-height: 1 !important;
}

.szt-page .advisory-grid h3 {
  font-size: 39px !important;
  line-height: 0.98 !important;
}

.szt-page .old-content h3 {
  font: 700 25px/1.1 Georgia, serif !important;
  letter-spacing: 0;
}

.szt-page .rose-before-box h3 {
  font-size: 29px !important;
  line-height: 1.06 !important;
  letter-spacing: 0;
  font-family: Georgia, serif !important;
  font-weight: 700 !important;
}

@media (max-width: 1080px) {
  .szt-page .split-layout {
    gap: 40px;
  }
}

@media (max-width: 820px) {
  .szt-page .hero {
    padding-top: 120px;
    padding-bottom: 48px;
  }

  .szt-page h1 {
    font-size: clamp(2.4rem, 9vw, 3.5rem) !important;
    max-width: none;
  }

  .szt-page h2 {
    font-size: clamp(2rem, 7vw, 3rem) !important;
  }

  .szt-page .problem,
  .szt-page .work,
  .szt-page .deliverables,
  .szt-page .process,
  .szt-page .difference,
  .szt-page .faq,
  .szt-page .contact,
  .szt-page .estimator {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .szt-page .trust-row {
    margin-top: 28px;
  }

  .szt-page .audience-strip {
    margin-top: 40px;
  }
}


/* =========================================================
   Section polish: process sticky, estimator, hero caption,
   Za?to Norvaris cycle diagram
   ========================================================= */

/* Process: left column sticks while steps scroll; last item no border */
.szt-page .process-layout {
  align-items: start;
}

.szt-page .process-sticky {
  position: sticky;
  top: 108px;
  align-self: start;
  z-index: 2;
}

.szt-page .process-sticky.reveal {
  /* avoid transform trapping sticky before reveal completes */
  transform: none;
}

.szt-page .process-step {
  border-bottom: 1px solid var(--line-light);
}

.szt-page .process-step:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

/* Estimator result bar ? 3 meta cols + actions column */
.szt-page .estimator-result {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 1fr 1.15fr;
  gap: 20px 24px;
  align-items: start;
  padding: 28px;
}

.szt-page .estimator-result-top,
.szt-page .estimator-duration,
.szt-page .estimator-summary {
  margin: 0;
  padding: 0;
  border: 0;
  min-height: 0;
}

.szt-page .estimator-duration {
  padding: 14px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
}

.szt-page .estimator-result-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
  justify-content: flex-start;
  min-width: 0;
}

.szt-page .estimator-result .estimator-cta,
.szt-page .estimator-result .estimator-note {
  grid-column: auto;
  display: block;
  margin: 0;
  width: 100%;
}

.szt-page .estimator-result .estimator-note {
  text-align: left;
  max-width: none;
  color: rgba(255,255,255,.55);
  font-size: 12px;
  line-height: 1.55;
}

.szt-page .estimator-result .estimator-cta {
  min-height: 52px;
  text-align: center;
  white-space: normal;
  line-height: 1.25;
  padding: 12px 18px;
}

@media (max-width: 1240px) {
  .szt-page .estimator-result {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .szt-page .estimator-result-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    gap: 18px;
  }

  .szt-page .estimator-result .estimator-cta {
    width: auto;
    flex: 0 1 auto;
    min-width: 260px;
  }

  .szt-page .estimator-result .estimator-note {
    flex: 1 1 auto;
  }
}

@media (max-width: 820px) {
  .szt-page .estimator-result,
  .szt-page .estimator-result-actions {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .szt-page .estimator-result-actions {
    grid-column: auto;
  }

  .szt-page .estimator-result .estimator-cta {
    width: 100%;
    min-width: 0;
  }
}

/* Za?to Norvaris ? clear one-partner cycle (legacy cycle styles unused) */
.szt-page .difference-visual {
  /* overridden by agency-stack block below */
}

.szt-page .cycle-ring {
  position: absolute;
  inset: 18% 18% 28%;
  border: 1.5px dashed rgba(115,86,243,.28);
  border-radius: 50%;
  animation: sztCycleSpin 28s linear infinite;
}

.szt-page .cycle-core {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  gap: 6px;
  width: 118px;
  height: 118px;
  margin-top: -18px;
  color: #fff;
  background: var(--violet-deep);
  border-radius: 50%;
  box-shadow:
    0 0 0 14px rgba(115,86,243,.08),
    0 22px 48px rgba(109,77,242,.28);
  animation: sztCorePulse 5.5s ease-in-out infinite;
}

.szt-page .cycle-core svg {
  width: 34px;
  height: 34px;
  fill: currentColor;
}

.szt-page .cycle-core span {
  font: 700 10px/1 var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
}

.szt-page .cycle-step {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 8px 12px 8px 8px;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(17,16,22,.08);
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(15,13,22,.08);
  font-size: 12px;
  font-weight: 700;
}

.szt-page .cycle-step b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--violet-deep);
  background: #eee9ff;
  border-radius: 50%;
  font: 700 10px/1 var(--font-display);
}

.szt-page .cycle-step-1 { top: 14%; left: 50%; transform: translateX(-50%); }
.szt-page .cycle-step-2 { top: 42%; right: 6%; }
.szt-page .cycle-step-3 { bottom: 26%; left: 50%; transform: translateX(-50%); }
.szt-page .cycle-step-4 { top: 42%; left: 6%; }

.szt-page .cycle-caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  margin: 0;
  color: #6d6975;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}

@keyframes sztCycleSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes sztCorePulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4px) scale(1.02); }
}

@media (prefers-reduced-motion: reduce) {
  .szt-page .cycle-ring,
  .szt-page .cycle-core {
    animation: none;
  }
}

@media (max-width: 820px) {
  .szt-page .process-sticky {
    position: static;
  }

  .szt-page .difference-visual {
    max-width: 420px;
    margin-inline: auto;
    padding-bottom: 96px;
  }

  .szt-page .cycle-step {
    font-size: 11px;
  }
}


/* =========================================================
   Estimator result bar ? compact price + actions
   ========================================================= */

.szt-page .estimator-result {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1.15fr;
  gap: 24px 28px;
  align-items: start;
  padding: 24px 26px;
}

.szt-page .estimator-result-top > span,
.szt-page .estimator-summary > span,
.szt-page .estimator-duration > span {
  display: block;
  color: rgba(255,255,255,.56);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.szt-page .estimator-result-top b {
  display: block;
  margin-top: 8px;
  color: var(--white);
  font: 700 clamp(1.55rem, 2.1vw, 2rem)/1.1 var(--font-display);
  letter-spacing: -.04em;
}

.szt-page .estimator-result-top > small {
  display: inline-block;
  margin-top: 4px;
  color: rgba(255,255,255,.5);
  font-size: 11px;
}

.szt-page .estimator-result-top .estimator-duration {
  margin-top: 14px;
  padding: 10px 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
}

.szt-page .estimator-result-top .estimator-duration strong {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.9);
  font-size: 14px;
  font-weight: 700;
}

.szt-page .estimator-summary {
  margin: 0;
  padding: 0;
  border: 0;
}

.szt-page .estimator-summary ul {
  margin: 10px 0 0;
}

.szt-page .estimator-summary li {
  font-size: 13px;
}

.szt-page .estimator-result-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  min-width: 0;
}

.szt-page .estimator-cta-label {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.szt-page .estimator-result .estimator-cta {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding-inline: 20px;
  white-space: nowrap;
}

.szt-page .estimator-result .estimator-note {
  margin: 0;
  text-align: left;
  color: rgba(255,255,255,.5);
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .szt-page .estimator-result {
    grid-template-columns: 1fr 1fr;
  }

  .szt-page .estimator-result-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .szt-page .estimator-result {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Estimator bar refinements + Za?to Norvaris reimagine
   ========================================================= */

.szt-page .estimator-result-top .estimator-duration {
  margin-top: 12px;
  padding: 0 2px;
  background: none;
  border: 0;
  border-radius: 0;
}

.szt-page .estimator-result-top .estimator-duration span {
  font-size: 10px;
}

.szt-page .estimator-result-top .estimator-duration strong {
  margin-top: 3px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.78);
}

.szt-page .estimator-result-actions {
  align-items: flex-start;
  gap: 12px;
  max-width: 280px;
  justify-self: end;
}

.szt-page .estimator-cta-label {
  max-width: 16rem;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
}

.szt-page .estimator-result .estimator-cta {
  width: auto;
  min-width: 132px;
  min-height: 46px;
  padding-inline: 28px;
  align-self: flex-start;
}

.szt-page .estimator-result .estimator-note {
  max-width: 18rem;
}

@media (max-width: 1100px) {
  .szt-page .estimator-result-actions {
    justify-self: stretch;
    max-width: none;
  }
}

@media (max-width: 640px) {
  .szt-page .estimator-result .estimator-cta {
    width: 100%;
  }
}

/* Za?to Norvaris ? agency stack vs direct line */
.szt-page .difference-visual {
  display: block;
  aspect-ratio: auto;
  max-width: 540px;
  padding: 28px;
  overflow: hidden;
  border-radius: 32px;
  background: #F5F2ED;
  box-shadow: 0 24px 60px rgba(13,11,20,.08);
}

.szt-page .diff-compare {
  display: grid;
  gap: 18px;
}

.szt-page .diff-path {
  padding: 18px;
  border-radius: 20px;
}

.szt-page .diff-path-label {
  display: block;
  margin-bottom: 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.szt-page .diff-path-agency {
  color: #77727C;
  background: #EAE7E3;
  border: 1px solid #D7D2CC;
}

.szt-page .diff-path-agency .diff-path-label {
  color: #77727C;
}

.szt-page .diff-path-agency ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.szt-page .diff-path-agency li {
  position: relative;
  padding: 10px 8px;
  text-align: center;
  color: #77727C;
  background: #F4F2EF;
  border: 1px solid #D9D5D0;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: line-through;
  text-decoration-color: rgba(119,114,124,.5);
}

.szt-page .diff-path-agency li + li::before {
  content: '\2192';
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  color: #B0ABA4;
  font-size: 10px;
}

.szt-page .diff-path-agency p,
.szt-page .diff-path-norvaris p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.szt-page .diff-path-agency p {
  color: #77727C;
}

.szt-page .diff-vs {
  justify-self: center;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: #5F5A65;
  background: #FFFFFF;
  border: 1px solid #D9D4CE;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(20, 18, 28, 0.08);
  font: 700 11px/1 var(--font-display);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.szt-page .diff-path-norvaris {
  color: var(--ink);
  background: #FFFFFF;
  border: 1px solid rgba(115, 86, 243, 0.38);
  box-shadow: 0 22px 50px rgba(69, 42, 160, 0.12);
}

.szt-page .diff-path-norvaris .diff-path-label {
  color: #6848E6;
}

.szt-page .diff-direct {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.szt-page .diff-you,
.szt-page .diff-us {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid rgba(17,16,22,.08);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(15,13,22,.06);
}

.szt-page .diff-us {
  color: #FFFFFF;
  background: #7356F3;
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(109,77,242,.28);
}

.szt-page .diff-line {
  position: relative;
  flex: 1 1 auto;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(115, 86, 243, 0.15),
    #7356F3
  );
  border-radius: 999px;
  overflow: hidden;
}

.szt-page .diff-line::after {
  content: '';
  position: absolute;
  top: 50%;
  left: -20%;
  width: 28%;
  height: 6px;
  transform: translateY(-50%);
  background: rgba(255,255,255,.85);
  border-radius: 999px;
  filter: blur(1px);
  animation: sztSignal 2.4s ease-in-out infinite;
}

.szt-page .diff-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.szt-page .diff-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  color: #6848E6;
  background: #F0ECFF;
  border: 1px solid #D8CEFF;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.szt-page .diff-path-norvaris p {
  color: #5f5b67;
}

@keyframes sztSignal {
  0% { left: -30%; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { left: 105%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .szt-page .diff-line::after { animation: none; opacity: 0; }
}

@media (max-width: 820px) {
  .szt-page .difference-visual {
    max-width: none;
    margin-inline: 0;
  }

  .szt-page .diff-path-agency ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .szt-page .diff-path-agency li + li::before {
    content: none;
  }
}

@media (max-width: 560px) {
  .szt-page .diff-path-agency ul {
    grid-template-columns: 1fr;
  }
}

/* Estimator ? neutral selection (no purple wash) */
.szt-page .estimator {
  background:
    radial-gradient(circle at 80% 12%, rgba(255,255,255,.035), transparent 28%),
    radial-gradient(circle at 12% 88%, rgba(255,255,255,.02), transparent 22%),
    var(--night-2);
}
.szt-page .estimator-result {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 24px 50px rgba(0,0,0,.22);
}
.szt-page .choice-card:hover,
.szt-page .option-card:hover {
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.04);
}
.szt-page .choice-card.is-selected,
.szt-page .option-card.is-selected {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.36);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.szt-page .choice-card.is-selected::after,
.szt-page .option-card.is-selected::after {
  content: '\2713';
  color: #111016;
  background: #fff;
}

/* =========================================================
   Forminator on this page only (.szt-page .f-forma)
   Local #61 + production HR #684 + production EN #699
   Matches legacy .contact-form look; does not affect /contact
   ========================================================= */

.szt-page .f-forma.szt-forminator,
.szt-page .f-forma {
  position: relative;
  overflow: hidden;
  padding: 34px;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(17,16,22,.08);
  border-radius: var(--radius, 28px);
  box-shadow: 0 28px 70px rgba(13,11,20,.12);
}

.szt-page .f-forma::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--violet-deep), var(--violet-pale), transparent);
  z-index: 1;
  pointer-events: none;
}

.szt-page .f-forma .forminator-ui,
.szt-page .f-forma .forminator-custom-form,
.szt-page .f-forma #forminator-module-61,
.szt-page .f-forma #forminator-module-684,
.szt-page .f-forma #forminator-module-699 {
  margin: 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.szt-page .f-forma .forminator-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 0;
}

.szt-page .f-forma .forminator-col {
  margin: 0 !important;
  padding: 0 !important;
}

.szt-page .f-forma .forminator-col-6 {
  flex: 1 1 calc(50% - 8px);
  max-width: calc(50% - 8px);
  width: calc(50% - 8px) !important;
}

.szt-page .f-forma .forminator-col-12 {
  flex: 1 1 100%;
  max-width: 100%;
  width: 100% !important;
}

.szt-page .f-forma .forminator-field {
  margin: 0 0 18px;
  padding: 0;
}

.szt-page .f-forma .forminator-label,
.szt-page .f-forma .forminator-field > .forminator-label {
  display: block;
  margin: 0 0 8px;
  color: #3e3948 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.35;
}

.szt-page .f-forma .forminator-required {
  color: #8e8998 !important;
  margin-left: 2px;
}

.szt-page .f-forma .forminator-input,
.szt-page .f-forma .forminator-textarea,
.szt-page .f-forma select.forminator-select--field {
  width: 100% !important;
  margin: 0 !important;
  padding: 15px 16px !important;
  color: var(--ink) !important;
  background: #f4f2ed !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-family: inherit !important;
  line-height: 1.4 !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
  appearance: none;
  -webkit-appearance: none;
}

.szt-page .f-forma .forminator-input {
  height: 54px !important;
  min-height: 54px !important;
}

.szt-page .f-forma .forminator-textarea {
  min-height: 132px !important;
  height: auto !important;
  resize: vertical;
}

.szt-page .f-forma .forminator-input::placeholder,
.szt-page .f-forma .forminator-textarea::placeholder {
  color: #9a96a3 !important;
  opacity: 1;
}

.szt-page .f-forma .forminator-input:focus,
.szt-page .f-forma .forminator-textarea:focus,
.szt-page .f-forma select.forminator-select--field:focus {
  background: #fff !important;
  border-color: rgba(115,86,243,.5) !important;
  box-shadow: 0 0 0 4px rgba(115,86,243,.12) !important;
}

.szt-page .f-forma .forminator-input.forminator-error,
.szt-page .f-forma .forminator-textarea.forminator-error,
.szt-page .f-forma .forminator-field.forminator-has_error .forminator-input,
.szt-page .f-forma .forminator-field.forminator-has_error .forminator-textarea {
  border-color: #c64141 !important;
}

.szt-page .f-forma .forminator-error-message {
  margin-top: 6px;
  color: #c64141 !important;
  font-size: 12px !important;
}

.szt-page .f-forma .forminator-description {
  margin: 6px 0 0;
  color: #8e8998 !important;
  font-size: 11px !important;
  line-height: 1.5;
}

/* Project-type checkboxes ? 2 per row */
.szt-page .f-forma .forminator-field-checkbox .forminator-field {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: stretch;
}

.szt-page .f-forma .forminator-field-checkbox .forminator-label {
  flex: 1 1 100%;
  width: 100%;
  margin-bottom: 2px;
}

.szt-page .f-forma .forminator-checkbox {
  display: flex !important;
  align-items: center;
  gap: 10px;
  flex: 1 1 calc(50% - 6px) !important;
  width: calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 11px 12px !important;
  background: #f4f2ed;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.szt-page .f-forma .forminator-checkbox:hover {
  background: #fff;
  border-color: rgba(17,16,22,.08);
}

.szt-page .f-forma .forminator-checkbox input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.szt-page .f-forma .forminator-checkbox-box {
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border: 1.5px solid #c5c1cc !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.szt-page .f-forma .forminator-checkbox input:checked + .forminator-checkbox-box,
.szt-page .f-forma .forminator-checkbox.forminator-is_checked .forminator-checkbox-box {
  background: var(--violet-deep) !important;
  border-color: var(--violet-deep) !important;
}

.szt-page .f-forma .forminator-checkbox-label {
  color: #3e3948 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3;
}

.szt-page .f-forma .forminator-checkbox:has(input:checked) {
  background: rgba(115,86,243,.06);
  border-color: rgba(115,86,243,.28);
}

/* Submit */
.szt-page .f-forma .forminator-row-last {
  margin-top: 4px;
}

.szt-page .f-forma .forminator-button-submit,
.szt-page .f-forma button.forminator-button-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 54px !important;
  padding: 14px 28px !important;
  color: #fff !important;
  background: var(--violet-deep) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 30px rgba(109, 77, 242, .28) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.szt-page .f-forma .forminator-button-submit:hover,
.szt-page .f-forma button.forminator-button-submit:hover {
  background: var(--violet) !important;
  box-shadow: 0 18px 36px rgba(109, 77, 242, .36) !important;
  transform: translateY(-1px);
}

.szt-page .f-forma .szt-forminator-note {
  margin: 14px 0 0;
  color: #8a8692;
  font-size: 11px;
  line-height: 1.6;
}

.szt-page .f-forma .forminator-response-message {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.45;
}

.szt-page .f-forma .forminator-response-message.forminator-success {
  color: #1f5c3f;
  background: rgba(60, 160, 110, .1);
  border: 1px solid rgba(60, 160, 110, .25);
}

.szt-page .f-forma .forminator-response-message.forminator-error:not(:empty) {
  color: #8a2b2b;
  background: rgba(198, 65, 65, .08);
  border: 1px solid rgba(198, 65, 65, .22);
}

.szt-page .f-forma .forminator-response-message:empty {
  display: none !important;
  margin: 0;
  padding: 0;
  border: 0;
}

@media (max-width: 820px) {
  .szt-page .f-forma {
    padding: 28px 22px;
  }

  .szt-page .f-forma .forminator-col-6 {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100% !important;
  }

  .szt-page .f-forma .forminator-checkbox {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .szt-page .f-forma .forminator-button-submit,
  .szt-page .f-forma button.forminator-button-submit {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   Mobile / service-page sync with AI / Business / WA / DP
   — section gutters, approach steps, hero H1
   ========================================================= */
.szt-page .hero,
.szt-page .problem,
.szt-page .work,
.szt-page .deliverables,
.szt-page .process,
.szt-page .difference,
.szt-page .faq,
.szt-page .contact,
.szt-page .estimator,
.szt-page .investment {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (max-width: 820px) {
  .szt-page .hero,
  .szt-page .problem,
  .szt-page .work,
  .szt-page .deliverables,
  .szt-page .process,
  .szt-page .difference,
  .szt-page .faq,
  .szt-page .contact,
  .szt-page .estimator,
  .szt-page .investment {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .szt-page h1,
  .szt-page .hero-copy h1 {
    font-size: 2.25rem !important; /* match other service / page heroes */
    max-width: none;
  }

  .szt-page .process-step {
    grid-template-columns: 2.25rem 1fr;
    gap: 0.65rem;
  }

  .szt-page .process-step h3 {
    font-size: 1.125rem !important;
  }
}

@media (max-width: 560px) {
  .szt-page .hero {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .szt-page h1,
  .szt-page .hero-copy h1 {
    font-size: 2.25rem !important;
    max-width: none;
  }
}
