0
Skip to Content
Zeit & Geist
ZEITMIND
SERVICES
REPORTS
ABOUT US
CONTACT
Zeit & Geist
ZEITMIND
SERVICES
REPORTS
ABOUT US
CONTACT
ZEITMIND
SERVICES
REPORTS
ABOUT US
CONTACT
Z&G
London • Berlin • Dubai • Cape Town
Privacy
contact@zeitngeist.com

© 2026 Zeit & Geist. All rights reserved.

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); /* ========================================================== Z&G SITE SYSTEM v3 (one-page) Paste the whole file into Squarespace: Website > Pages > Custom Code > Custom CSS Every code block on every page uses these classes, so type, colour and spacing are defined once, here. ========================================================== */ /* ---------- 1. TOKENS ---------- */ :root { --zg-font: 'Inter', Helvetica, Arial, sans-serif; --zg-bg: #0b0b0d; --zg-surface: rgba(22, 22, 27, 0.55); --zg-surface-hover: rgba(28, 28, 34, 0.68); --zg-glass-blur: blur(16px) saturate(125%); --zg-chrome-bg: rgba(14, 14, 18, 0.84); --zg-chrome-blur: blur(26px) saturate(140%); --zg-chrome-border: rgba(255, 255, 255, 0.09); --zg-chrome-shadow: 0 14px 40px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05); --zg-line: rgba(255, 255, 255, 0.10); --zg-line-soft: rgba(255, 255, 255, 0.06); --zg-line-strong: rgba(255, 255, 255, 0.16); --zg-text: #ffffff; --zg-text-muted: #a3a3a3; --zg-text-subtle: #808080; --zg-accent: #bfa8ff; --zg-accent-hover: #d2c3ff; --zg-accent-ink: #0b0b0d; --zg-purple: #6a4ee0; --zg-purple-glass: rgba(106, 78, 224, 0.94); --zg-radius: 12px; --zg-radius-sm: 6px; --zg-section-y: clamp(72px, 9vw, 128px); --zg-gap-xs: 12px; --zg-gap-sm: 24px; --zg-gap-md: 40px; --zg-gap-lg: 64px; --zg-ease: cubic-bezier(0.2, 0.7, 0.2, 1); } /* ---------- 2. CANVAS: one black across every section ---------- */ body, [data-section-theme="black"] .section-background, #footer-sections .section-background { background-color: var(--zg-bg) !important; } /* ---------- 3. BASE: reset theme styles inside Z&G blocks ---------- */ .zg, .zg * { box-sizing: border-box; } .zg { font-family: var(--zg-font) !important; color: var(--zg-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } /* Spacing comes from container gaps, never from text margins */ .zg h1, .zg h2, .zg h3, .zg h4, .zg p, .zg blockquote, .zg figure, .zg figcaption { font-family: var(--zg-font) !important; margin: 0 !important; padding: 0 !important; } /* ---------- 4. TYPE SCALE ---------- */ /* Eyebrow: the small purple tag above every section */ .zg .zg-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-accent) !important; } /* Display: hero headline only */ .zg .zg-display { font-size: clamp(2.75rem, 5.4vw, 5rem) !important; font-weight: 700 !important; line-height: 1.04 !important; letter-spacing: -0.03em !important; color: var(--zg-text) !important; max-width: 900px; } /* H2: every section headline */ .zg .zg-h2 { font-size: clamp(2rem, 3.6vw, 3.25rem) !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -0.025em !important; color: var(--zg-text) !important; max-width: 820px; } /* Quote: testimonials */ .zg .zg-quote { font-size: clamp(1.75rem, 3vw, 2.75rem) !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; color: var(--zg-text) !important; max-width: 900px; } /* H3: card, column and row titles */ .zg .zg-h3 { font-size: clamp(1.25rem, 1.6vw, 1.375rem) !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; color: var(--zg-text) !important; transition: color 0.3s var(--zg-ease); } /* Lead: intro paragraph under a headline */ .zg .zg-lead { font-size: clamp(1.0625rem, 1.35vw, 1.25rem) !important; font-weight: 400 !important; line-height: 1.6 !important; color: var(--zg-text-muted) !important; max-width: 640px; } /* Body and small */ .zg .zg-body { font-size: 16px !important; font-weight: 400 !important; line-height: 1.65 !important; color: var(--zg-text-muted) !important; } .zg .zg-small { font-size: 14px !important; font-weight: 400 !important; line-height: 1.6 !important; color: var(--zg-text-muted) !important; } /* Label: stat captions, sources, column tags */ .zg .zg-label { font-size: 12px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-text-muted) !important; } .zg .zg-label--accent { color: var(--zg-accent) !important; } /* Stat: every big number on the site */ .zg .zg-stat { font-size: clamp(2.75rem, 4.4vw, 3.75rem) !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: -0.035em !important; color: var(--zg-text) !important; font-variant-numeric: tabular-nums; } /* Inline purple highlight */ .zg .zg-accent { color: var(--zg-accent) !important; } /* ---------- 5. LAYOUT ---------- */ /* Vertical rhythm only: the Squarespace grid already sets the side gutters */ .zg-section { padding-top: var(--zg-section-y); padding-bottom: var(--zg-section-y); } /* Section header: eyebrow, headline, lead */ .zg-head { display: flex; flex-direction: column; align-items: flex-start; gap: var(--zg-gap-sm); margin-bottom: var(--zg-gap-lg); } .zg-head--center { align-items: center; text-align: center; } .zg-head--flush { margin-bottom: 0; } /* Thin rule */ .zg-rule { height: 1px; background: var(--zg-line); border: 0; } /* ---------- 6. COMPONENTS ---------- */ /* Hero */ .zg-hero .zg-head { gap: 28px; margin-bottom: 0; } .zg-hero-proof { display: flex; flex-direction: column; gap: var(--zg-gap-md); } /* Stats row: hero and testimonial */ .zg-stats { display: flex; flex-wrap: wrap; gap: var(--zg-gap-md) clamp(40px, 7vw, 112px); } .zg-stats--ruled { border-top: 1px solid var(--zg-line); padding-top: var(--zg-gap-md); } .zg-stat-item { display: flex; flex-direction: column; gap: 14px; min-width: 140px; } /* Evidence cards: 2 x 2 */ .zg-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--zg-gap-sm); } .zg-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .zg-card { display: flex; flex-direction: column; gap: 20px; padding: clamp(28px, 3vw, 40px); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); transition: transform 0.35s var(--zg-ease), background-color 0.35s var(--zg-ease), border-color 0.35s var(--zg-ease); } .zg-card:hover { background: var(--zg-surface-hover); border-color: var(--zg-line); transform: translateY(-4px); } .zg-card-source { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--zg-line); } /* Four columns with dividers */ .zg-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--zg-line); } .zg-col { display: flex; flex-direction: column; gap: 16px; padding: 40px 28px 8px; border-right: 1px solid var(--zg-line); } .zg-col:first-child { padding-left: 0; } .zg-col:last-child { padding-right: 0; border-right: 0; } .zg-col .zg-label { margin-bottom: 12px; } /* Two-column rows: capabilities */ .zg-list { border-top: 1px solid var(--zg-line); } .zg-row { display: grid; grid-template-columns: minmax(0, 35%) minmax(0, 1fr); gap: var(--zg-gap-md); padding: 36px 0; border-bottom: 1px solid var(--zg-line); } .zg-row:hover .zg-h3 { color: var(--zg-accent) !important; } /* Testimonial */ .zg .zg-testimonial { display: flex; flex-direction: column; gap: 32px; margin-bottom: var(--zg-gap-lg) !important; } /* Closing call to action: sits directly above the email form */ .zg-section--cta { padding-bottom: var(--zg-gap-md); } /* ---------- 7. SQUARESPACE NATIVE ELEMENTS ---------- */ /* Header navigation */ .header-nav-item > a { font-family: var(--zg-font) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: rgba(255, 255, 255, 0.72) !important; transition: color 0.25s var(--zg-ease); } .header-nav-item > a:hover, .header-nav-item--active > a { color: var(--zg-text) !important; } .header-menu-nav-item a { font-family: var(--zg-font) !important; font-size: 22px !important; font-weight: 500 !important; letter-spacing: 0.06em !important; } /* Email sign-up forms */ .newsletter-block .newsletter-form-field-element { font-family: var(--zg-font) !important; font-size: 15px !important; color: var(--zg-text) !important; background: rgba(255, 255, 255, 0.03) !important; border: 1px solid var(--zg-line-strong) !important; border-radius: var(--zg-radius-sm) !important; padding: 16px 18px !important; transition: border-color 0.25s var(--zg-ease); } .newsletter-block .newsletter-form-field-element::placeholder { color: var(--zg-text-subtle) !important; } .newsletter-block .newsletter-form-field-element:focus { border-color: var(--zg-accent) !important; outline: none !important; } .newsletter-block .newsletter-form-button { font-family: var(--zg-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-accent-ink) !important; background: var(--zg-accent) !important; border: 0 !important; border-radius: var(--zg-radius-sm) !important; padding: 18px 28px !important; transition: background-color 0.25s var(--zg-ease); } .newsletter-block .newsletter-form-button:hover { background: var(--zg-accent-hover) !important; } /* Client logos: each original is cropped to its mark and turned white-on-transparent by the SVG filters in 02-clients.html, so mixed screenshots read as one set */ .zg-logo { position: relative; overflow: hidden; flex: none; opacity: 0.72; transition: opacity 0.3s var(--zg-ease); } .zg-logo:hover { opacity: 1; } .zg .zg-logo img { position: absolute; height: auto; max-width: none; display: block; } /* ---------- 8. FOOTER ---------- */ .zg-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 20px; margin: 8px 0 20px; padding: 22px 28px 18px; border-radius: 16px; background: var(--zg-chrome-bg); -webkit-backdrop-filter: var(--zg-chrome-blur); backdrop-filter: var(--zg-chrome-blur); border: 1px solid var(--zg-chrome-border); box-shadow: var(--zg-chrome-shadow); } .zg-footer-group { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; } .zg .zg-footer-logo { display: inline-flex; align-items: center; text-decoration: none; opacity: 0.92; transition: opacity 0.25s var(--zg-ease); } .zg .zg-footer-logo:hover { opacity: 1; } .zg .zg-footer-logo img { display: block; height: 18px; width: auto; } .zg .zg-footer-cities { font-size: 13px; color: var(--zg-text-muted); } .zg .zg-footer-link { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--zg-text-muted); text-decoration: none; padding: 10px 0; transition: color 0.25s var(--zg-ease); } .zg .zg-footer-link--accent { color: var(--zg-accent); text-transform: none; letter-spacing: 0.02em; font-size: 14px; } .zg .zg-footer-link:hover, .zg .zg-footer-link:focus-visible { color: var(--zg-text); } .zg-social-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; } .zg-social-icon { width: 16px; height: 16px; fill: var(--zg-text-muted); transition: fill 0.25s var(--zg-ease); } .zg-social-link:hover .zg-social-icon, .zg-social-link:focus-visible .zg-social-icon { fill: var(--zg-accent); } .zg .zg-footer-legal { flex-basis: 100%; font-size: 12px !important; color: var(--zg-text-subtle) !important; } /* ---------- 8b. ONE-PAGE COMPONENTS (v2) ---------- */ /* Anchor targets clear the sticky header */ .zg-anchor { scroll-margin-top: 84px; } /* Links inside Z&G blocks never pick up theme underlines */ .zg a { text-decoration: none !important; } /* Buttons */ .zg .zg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--zg-font) !important; font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 0.16em; text-transform: uppercase; padding: 17px 26px; color: var(--zg-accent-ink); background: var(--zg-accent); border: 1px solid var(--zg-accent); border-radius: var(--zg-radius-sm); cursor: pointer; flex: none; white-space: nowrap; transition: background-color 0.25s var(--zg-ease), color 0.25s var(--zg-ease), border-color 0.25s var(--zg-ease); } .zg .zg-btn:hover { background: var(--zg-accent-hover); border-color: var(--zg-accent-hover); } .zg .zg-btn--ghost { color: var(--zg-text); background: transparent; border-color: var(--zg-line-strong); } .zg .zg-btn--ghost:hover { color: var(--zg-accent); background: transparent; border-color: var(--zg-accent); } .zg .zg-btn--sm { padding: 12px 18px; } .zg .zg-arrow-link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--zg-accent); transition: gap 0.25s var(--zg-ease), color 0.25s var(--zg-ease); } .zg .zg-arrow-link::after { content: "\2192"; letter-spacing: 0; } .zg .zg-arrow-link:hover { gap: 12px; color: var(--zg-accent-hover); } /* Sticky site header (standalone page; Squarespace uses its own header) */ .zg-site-header { position: sticky; top: 12px; z-index: 50; width: 94vw; max-width: 1328px; margin: 12px auto 0; border-radius: 16px; background: var(--zg-chrome-bg); -webkit-backdrop-filter: var(--zg-chrome-blur); backdrop-filter: var(--zg-chrome-blur); border: 1px solid var(--zg-chrome-border); box-shadow: var(--zg-chrome-shadow); transition: box-shadow 0.3s var(--zg-ease), border-color 0.3s var(--zg-ease); } .zg-site-header.is-scrolled { border-color: rgba(255, 255, 255, 0.12); box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06); } .zg-site-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 12px 14px 12px 28px; } .zg-brand { display: inline-flex; align-items: center; gap: 0; color: var(--zg-text); font-weight: 700; font-size: 18px; letter-spacing: 0.04em; } .zg-brand img { height: 21px; width: auto; display: block; } .zg-nav { display: flex; align-items: center; gap: 34px; } .zg .zg-nav a { position: relative; padding: 8px 0; font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); transition: color 0.25s var(--zg-ease); } .zg .zg-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--zg-accent); transform: scaleX(0); transform-origin: left; transition: transform 0.3s var(--zg-ease); } .zg .zg-nav a:hover, .zg .zg-nav a.is-active { color: var(--zg-text); } .zg .zg-nav a.is-active::after { transform: scaleX(1); } .zg .zg-nav a.zg-nav-cta { padding: 12px 18px; margin-left: 6px; color: var(--zg-accent-ink); letter-spacing: 0.16em; font-weight: 600; } .zg .zg-nav a.zg-nav-cta::after { display: none; } .zg .zg-nav a.zg-nav-cta:hover { color: var(--zg-accent-ink); } .zg-menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; background: none; border: 0; cursor: pointer; padding: 0; } .zg-menu-btn span { display: block; width: 22px; height: 1px; background: var(--zg-text); transition: transform 0.3s var(--zg-ease); } .zg-site-header.is-open .zg-menu-btn span:first-child { transform: translateY(3.5px) rotate(45deg); } .zg-site-header.is-open .zg-menu-btn span:last-child { transform: translateY(-3.5px) rotate(-45deg); } /* Hero backdrop (standalone page; Squarespace keeps the showreel video) */ .zg-hero-wrap { position: relative; overflow: hidden; background: radial-gradient(ellipse 60% 50% at 78% 18%, rgba(191, 168, 255, 0.16), transparent 70%), radial-gradient(ellipse 50% 40% at 10% 90%, rgba(191, 168, 255, 0.06), transparent 70%), linear-gradient(180deg, #121216 0%, var(--zg-bg) 100%); } .zg-hero-wrap::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 70% 30%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse 70% 60% at 70% 30%, #000 20%, transparent 75%); pointer-events: none; } .zg-hero { position: relative; display: flex; flex-direction: column; gap: 40px; padding: clamp(80px, 12vw, 168px) 0 clamp(72px, 9vw, 120px); max-width: 980px; } /* Email capture (standalone page; Squarespace keeps its native form) */ .zg-signup { display: flex; gap: 12px; max-width: 560px; width: 100%; } .zg-signup--center { margin: 0 auto; } /* Form fields */ .zg .zg-input { width: 100%; min-width: 0; font-family: var(--zg-font) !important; font-size: 15px; color: var(--zg-text); background: rgba(255, 255, 255, 0.03); border: 1px solid var(--zg-line-strong); border-radius: var(--zg-radius-sm); padding: 15px 18px; transition: border-color 0.25s var(--zg-ease); -webkit-appearance: none; appearance: none; } .zg .zg-input::placeholder { color: var(--zg-text-subtle); } .zg .zg-input:focus { outline: none; border-color: var(--zg-accent); } .zg select.zg-input { background-image: linear-gradient(45deg, transparent 50%, #a3a3a3 50%), linear-gradient(135deg, #a3a3a3 50%, transparent 50%); background-position: right 22px center, right 17px center; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 44px; } .zg select.zg-input option { background: var(--zg-surface); color: var(--zg-text); } .zg textarea.zg-input { min-height: 132px; resize: vertical; line-height: 1.6; } .zg-field { display: flex; flex-direction: column; gap: 10px; } /* Client logo strip */ .zg-clients { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 40px; padding: 44px 0; border-top: 1px solid var(--zg-line); border-bottom: 1px solid var(--zg-line); } .zg-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .zg-logo-tile { display: flex; align-items: center; justify-content: center; min-height: 104px; padding: 20px 24px; border-radius: var(--zg-radius); border: 1px solid var(--zg-line-soft); background: radial-gradient(ellipse 80% 90% at 50% 120%, rgba(191, 168, 255, 0.12), transparent 70%), var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); transition: border-color 0.3s var(--zg-ease), background-color 0.3s var(--zg-ease); } .zg-logo-tile:hover { border-color: rgba(191, 168, 255, 0.5); } .zg-logo-tile:hover .zg-logo { opacity: 1; } .zg .zg-logo-name { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; text-align: center; color: rgba(255, 255, 255, 0.82); } /* ZEITMIND engine: three stages */ .zg-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--zg-gap-sm); margin-bottom: var(--zg-gap-lg); } .zg-step-num { font-size: 13px; font-weight: 600; letter-spacing: 0.16em; color: var(--zg-accent); } /* Split panel: copy left, content right */ .zg-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; } .zg-split-copy { display: flex; flex-direction: column; gap: 20px; } /* Four Fluencies tiles */ .zg-fluencies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .zg-fluency { display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 3vw, 36px); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); } .zg .zg-fluency-name { font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; color: var(--zg-text); } /* Feature chips */ .zg-chips { display: flex; flex-wrap: wrap; gap: 10px; } .zg .zg-chip { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--zg-text); padding: 10px 16px; border: 1px solid var(--zg-line-strong); border-radius: 999px; } .zg .zg-chip::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--zg-accent); } /* Services: five pillars, three offers each */ .zg-pillar { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--zg-gap-md); padding: 44px 0; border-bottom: 1px solid var(--zg-line); } .zg-pillar-head { display: flex; flex-direction: column; gap: 14px; } .zg-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--zg-gap-md); } .zg-offer { display: flex; flex-direction: column; gap: 10px; } .zg .zg-h4 { font-size: 16px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--zg-text) !important; } /* Services: 360 degree orbit */ .zg-orbit-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); align-items: center; } .zg-orbit-stage { padding: 44px 104px; } .zg-orbit { position: relative; width: 100%; max-width: 420px; aspect-ratio: 1; margin: 0 auto; } .zg-orbit-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, 0.16); } .zg-orbit-ring--inner { inset: 24%; border: 1px solid var(--zg-line); } .zg-orbit-arc { position: absolute; inset: -1px; border-radius: 50%; background: conic-gradient(from -40deg, rgba(191, 168, 255, 0) 0deg, rgba(191, 168, 255, 1) 40deg, rgba(191, 168, 255, 0) 80deg); -webkit-mask: radial-gradient(closest-side, transparent 97%, #000 98%); mask: radial-gradient(closest-side, transparent 97%, #000 98%); transition: transform 0.7s var(--zg-ease); pointer-events: none; } .zg-orbit-core { position: absolute; inset: 30%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; background: radial-gradient(circle, rgba(191, 168, 255, 0.18), rgba(191, 168, 255, 0) 70%); } .zg .zg-orbit-brand { font-size: clamp(1.25rem, 1.9vw, 1.625rem); font-weight: 700; letter-spacing: 0.06em; color: var(--zg-accent); text-shadow: 0 0 24px rgba(191, 168, 255, 0.45); } .zg .zg-orbit-node { position: absolute; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; font-family: var(--zg-font) !important; font-size: 14px; font-weight: 500; line-height: 1.2; white-space: nowrap; color: rgba(255, 255, 255, 0.82); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-strong); border-radius: 999px; cursor: pointer; transition: border-color 0.3s var(--zg-ease), color 0.3s var(--zg-ease), box-shadow 0.3s var(--zg-ease), background-color 0.3s var(--zg-ease); } .zg .zg-orbit-node span { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; color: var(--zg-accent); } .zg .zg-orbit-node:hover, .zg .zg-orbit-node.is-active { color: var(--zg-text); border-color: var(--zg-accent); } .zg .zg-orbit-node.is-active { background: rgba(191, 168, 255, 0.14); box-shadow: 0 0 0 4px rgba(191, 168, 255, 0.1), 0 0 28px rgba(191, 168, 255, 0.28); } .zg-orbit-panel { display: flex; flex-direction: column; gap: 18px; padding: clamp(28px, 3vw, 40px); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); } .zg-orbit-panel + .zg-orbit-panel { margin-top: var(--zg-gap-sm); } .zg-orbit-wrap.is-enhanced .zg-orbit-panel + .zg-orbit-panel { margin-top: 0; } .zg-orbit-wrap.is-enhanced .zg-orbit-panel.is-active { animation: zgPanelIn 0.5s var(--zg-ease); } .zg-orbit-wrap .zg-orbit-panel[hidden] { display: none; } @keyframes zgPanelIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } } .zg-orbit-offers { display: flex; flex-direction: column; } .zg-orbit-offer { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-top: 1px solid var(--zg-line); } .zg-orbit-offer:last-child { padding-bottom: 0; } /* ROI insights: compact 2 x 2, purple on hover */ .zg-insights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .zg-insight { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 10px 28px; align-items: start; padding: 28px 32px; background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); transition: background-color 0.35s var(--zg-ease), border-color 0.35s var(--zg-ease), transform 0.35s var(--zg-ease), box-shadow 0.35s var(--zg-ease); } .zg .zg-insight .zg-stat { grid-row: 1; font-size: clamp(2rem, 3vw, 2.75rem) !important; transition: color 0.35s var(--zg-ease); } .zg .zg-insight .zg-body { grid-column: 2; grid-row: 1; } .zg .zg-insight .zg-source { grid-column: 2; grid-row: 2; } .zg .zg-insight .zg-body, .zg .zg-insight .zg-label { transition: color 0.35s var(--zg-ease); } /* Shared purple hover state */ .zg-insight:hover, .zg-phase:hover, .zg-phase:focus-within { background: var(--zg-purple-glass); border-color: rgba(191, 168, 255, 0.6); box-shadow: 0 18px 48px rgba(106, 78, 224, 0.28); transform: translateY(-3px); } .zg .zg-insight:hover .zg-stat, .zg .zg-insight:hover .zg-body, .zg .zg-insight:hover .zg-label, .zg .zg-phase:hover .zg-h3, .zg .zg-phase:hover .zg-body, .zg .zg-phase:hover .zg-step-num { color: #ffffff !important; text-shadow: none; } /* ZEITMIND: three-phase wave */ .zg-wave { position: relative; padding-top: 150px; } .zg-wave-svg { position: absolute; left: 0; top: 0; width: 100%; height: 120px; overflow: visible; pointer-events: none; } .zg-wave-base { fill: none; stroke: rgba(191, 168, 255, 0.28); stroke-width: 1.5; vector-effect: non-scaling-stroke; } .zg-wave-flow { fill: none; stroke: var(--zg-accent); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 80 920; vector-effect: non-scaling-stroke; animation: zgWaveFlow 5s linear infinite; filter: drop-shadow(0 0 6px rgba(191, 168, 255, 0.85)); } .zg-wave-flow--2 { stroke-width: 1.5; opacity: 0.6; animation-duration: 7.5s; animation-delay: -3s; } @keyframes zgWaveFlow { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } } .zg-phases { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--zg-gap-sm); align-items: start; } .zg-phase { position: relative; display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 3vw, 36px); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); transition: background-color 0.35s var(--zg-ease), border-color 0.35s var(--zg-ease), transform 0.35s var(--zg-ease), box-shadow 0.35s var(--zg-ease); } .zg-phase:nth-child(odd) { --zg-stem: 130px; } .zg-phase:nth-child(even) { --zg-stem: 50px; } .zg-phase::after { content: ""; position: absolute; left: 50%; bottom: 100%; width: 1px; height: var(--zg-stem); background: linear-gradient(180deg, rgba(191, 168, 255, 0.7), rgba(191, 168, 255, 0.1)); transition: background-color 0.35s var(--zg-ease); } .zg-phase:hover::after { background: linear-gradient(180deg, #ffffff, rgba(255, 255, 255, 0.2)); } .zg-phase::before { content: ""; position: absolute; top: -137px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--zg-bg); border: 2px solid var(--zg-accent); box-shadow: 0 0 14px rgba(191, 168, 255, 0.7); transition: background-color 0.35s var(--zg-ease); } .zg-phase:nth-child(even)::before { top: -57px; } .zg-phase:hover::before { background: #ffffff; } .zg-wave-desc { margin-top: var(--zg-gap-md); max-width: 760px; } /* Four Fluencies: flip cards */ .zg .zg-flip { display: block; width: 100%; padding: 0; margin: 0; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; perspective: 1200px; height: 100%; } .zg-flip-inner { display: grid; height: 100%; min-height: 190px; transform-style: preserve-3d; transition: transform 0.7s var(--zg-ease); } .zg-flip-face { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.6vw, 30px); border-radius: var(--zg-radius); border: 1px solid var(--zg-line-soft); background: rgba(22, 22, 27, 0.82); -webkit-backface-visibility: hidden; backface-visibility: hidden; transition: border-color 0.3s var(--zg-ease); } .zg-flip:hover .zg-flip-front { border-color: rgba(191, 168, 255, 0.55); } .zg-flip-back { transform: rotateY(180deg); background: var(--zg-purple-glass); border-color: rgba(191, 168, 255, 0.55); } .zg .zg-flip-back .zg-label, .zg .zg-flip-back .zg-small { color: #ffffff !important; text-shadow: none; } .zg .zg-flip-hint { margin-top: auto !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-accent) !important; } .zg-flip.is-flipped .zg-flip-inner { transform: rotateY(180deg); } /* Without the script, show both sides as plain text */ .zg-fluencies:not(.is-enhanced) .zg-flip-inner { display: flex; flex-direction: column; gap: 8px; } .zg-fluencies:not(.is-enhanced) .zg-flip-back { transform: none; } .zg-fluencies:not(.is-enhanced) .zg-flip-hint { display: none; } /* ---------- Animated line visuals ---------- */ .zg-insight-viz { grid-column: 1; grid-row: 2; align-self: end; width: 76px; color: var(--zg-accent); opacity: 0.85; transition: color 0.35s var(--zg-ease), opacity 0.35s var(--zg-ease); } .zg-insight:hover .zg-insight-viz { color: #ffffff; opacity: 1; } .zg-format-art { height: 92px; margin: -6px -6px 6px; padding: 8px 12px; border-radius: 10px; color: var(--zg-accent); border: 1px solid var(--zg-line-soft); background: radial-gradient(ellipse 70% 120% at 50% 100%, rgba(191, 168, 255, 0.14), rgba(255, 255, 255, 0.015)); overflow: hidden; } .zg-format-art .zg-art { height: 100%; } .zg-flip-front { position: relative; } .zg-flip-icon { position: absolute; top: 20px; right: 20px; width: 52px; height: 52px; color: var(--zg-accent); opacity: 0.9; } .zg-anim-spin, .zg-anim-pulse, .zg-anim-ping, .zg-anim-rise { transform-box: fill-box; transform-origin: center; } .zg-anim-rise { transform-origin: bottom; animation: zgRise 3.2s var(--zg-ease) infinite; } .zg-anim-spin { animation: zgSpin 16s linear infinite; } .zg-anim-pulse { animation: zgPulse 2.4s ease-in-out infinite; } .zg-anim-ping { animation: zgPing 2.6s ease-out infinite; } .zg-anim-orbit { transform-box: view-box; transform-origin: 50% 50%; animation: zgSpin 9s linear infinite; } .zg-anim-orbit--rev { animation-duration: 14s; animation-direction: reverse; } .zg-anim-draw { stroke-dasharray: 100; stroke-dashoffset: 100; animation: zgDraw 4.2s var(--zg-ease) infinite; } .zg-anim-blink { animation: zgBlink 2.9s ease-in-out infinite; } .zg-anim-donut { stroke-dasharray: 0 100; animation: zgDonut 4.5s var(--zg-ease) infinite; } @keyframes zgSpin { to { transform: rotate(360deg); } } @keyframes zgPulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: 0.7; } } @keyframes zgPing { 0% { transform: scale(0.55); opacity: 0.9; } 100% { transform: scale(1.25); opacity: 0; } } @keyframes zgRise { 0% { transform: scaleY(0.25); } 45%, 80% { transform: scaleY(1); } 100% { transform: scaleY(0.25); } } @keyframes zgDraw { 0% { stroke-dashoffset: 100; } 50%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -100; } } @keyframes zgBlink { 0%, 100% { opacity: 0.22; } 35% { opacity: 1; } 60% { opacity: 0.6; } } @keyframes zgDonut { 0% { stroke-dasharray: 0 100; } 55%, 85% { stroke-dasharray: 56 100; } 100% { stroke-dasharray: 0 100; } } /* Source badges (swap the text for official logo files when supplied) */ .zg .zg-source { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 6px 12px 6px 8px; font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--zg-text); border: 1px solid var(--zg-line-strong); border-radius: 999px; background: rgba(255, 255, 255, 0.04); transition: border-color 0.35s var(--zg-ease), background-color 0.35s var(--zg-ease); } .zg-source-mark { width: 14px; height: 14px; border-radius: 4px; background: linear-gradient(135deg, var(--zg-accent), var(--zg-purple)); } .zg .zg-insight:hover .zg-source { border-color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.12); } /* Line-art illustrations */ .zg-art { display: block; width: 100%; height: auto; } /* Case studies: thematic art behind each card */ .zg-case { position: relative; overflow: hidden; } .zg-case-art { position: absolute; top: 18px; right: 14px; width: 44%; max-width: 190px; color: var(--zg-accent); opacity: 0.22; pointer-events: none; transition: opacity 0.4s var(--zg-ease); } .zg-case:hover .zg-case-art { opacity: 0.45; } .zg-case > *:not(.zg-case-art) { position: relative; } /* Dossiers: thematic art and purple on hover */ .zg-report { position: relative; overflow: hidden; } .zg-report > *:not(.zg-report-art) { position: relative; } .zg-report-art { position: absolute; right: -24px; bottom: -28px; width: 58%; color: #ffffff; opacity: 0; transform: translateY(14px) scale(0.96); transition: opacity 0.45s var(--zg-ease), transform 0.6s var(--zg-ease); pointer-events: none; } .zg-report:hover { background: var(--zg-purple-glass); border-color: rgba(191, 168, 255, 0.6); box-shadow: 0 18px 48px rgba(106, 78, 224, 0.28); } .zg-report:hover .zg-report-art { opacity: 0.32; transform: none; } .zg .zg-report:hover .zg-label, .zg .zg-report:hover .zg-h3, .zg .zg-report:hover .zg-report-sub, .zg .zg-report:hover .zg-small, .zg .zg-report:hover .zg-arrow-link { color: #ffffff !important; text-shadow: none; } /* Team: portrait revealed on hover */ .zg-person-media { position: relative; height: 150px; margin: -6px -6px 6px; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse 70% 80% at 50% 30%, rgba(191, 168, 255, 0.12), rgba(255, 255, 255, 0.02)); border: 1px solid var(--zg-line-soft); } .zg .zg-person-media .zg-monogram { margin: 0; transition: opacity 0.35s var(--zg-ease), transform 0.35s var(--zg-ease); } .zg-person-photo { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity 0.45s var(--zg-ease), transform 0.6s var(--zg-ease); } .zg-person-photo svg, .zg-person-photo img { display: block; width: 100%; height: 100%; object-fit: cover; } .zg-person:hover .zg-person-photo, .zg-person:focus-within .zg-person-photo { opacity: 1; transform: none; } .zg-person:hover .zg-monogram { opacity: 0; transform: scale(0.9); } .zg-person:hover { border-color: rgba(191, 168, 255, 0.45); } /* Reports */ .zg-reports { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--zg-gap-sm); } .zg-report { min-height: 300px; } .zg-report .zg-arrow-link { margin-top: auto; } .zg .zg-report-sub { font-size: 17px !important; line-height: 1.45 !important; color: var(--zg-text) !important; opacity: 0.86; } .zg-report--wide { grid-column: 1 / -1; min-height: 0; flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; background: transparent; border-color: var(--zg-line-strong); } .zg-report--wide .zg-report-body { display: flex; flex-direction: column; gap: 12px; max-width: 640px; } /* Team */ .zg-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--zg-gap-sm); } .zg-person { gap: 16px; } .zg-person:hover { transform: none; } .zg .zg-monogram { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; font-size: 17px; font-weight: 600; letter-spacing: 0.02em; color: var(--zg-accent); background: rgba(191, 168, 255, 0.1); border: 1px solid rgba(191, 168, 255, 0.28); margin-bottom: 8px; } /* Contact */ .zg-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 96px); align-items: start; } .zg-contact-info { display: flex; flex-direction: column; gap: 24px; } .zg-contact .zg-h2 { font-size: clamp(2rem, 3vw, 2.75rem) !important; } .zg .zg-contact-email { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 500; color: var(--zg-accent); letter-spacing: -0.01em; } .zg .zg-contact-email:hover { color: var(--zg-accent-hover); } .zg-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: clamp(28px, 3.5vw, 44px); background: var(--zg-surface); -webkit-backdrop-filter: var(--zg-glass-blur); backdrop-filter: var(--zg-glass-blur); border: 1px solid var(--zg-line-soft); border-radius: var(--zg-radius); } .zg-form .zg-field--full, .zg-form .zg-form-foot { grid-column: 1 / -1; } .zg-form-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; } .zg-offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; padding-top: 24px; border-top: 1px solid var(--zg-line); } .zg-office { display: flex; flex-direction: column; gap: 6px; } .zg .zg-office-city { font-size: 18px; font-weight: 600; color: var(--zg-text); } /* Footer extras */ .zg .zg-footer-top { color: var(--zg-text-muted); } /* Scroll reveal: only when the page script is running */ .zg-js .zg-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.8s var(--zg-ease), transform 0.8s var(--zg-ease); } .zg-js .zg-reveal.is-visible { opacity: 1; transform: none; } /* One-page responsive */ @media (max-width: 1100px) { .zg-orbit-wrap { grid-template-columns: 1fr; } .zg-orbit-stage { padding: 40px 110px; } .zg-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } .zg-offers { grid-template-columns: 1fr; gap: 24px; } } @media (max-width: 900px) { .zg-nav { display: none; } .zg-menu-btn { display: inline-flex; } .zg-site-header { top: 10px; margin-top: 10px; } .zg-site-header-inner { padding: 8px 8px 8px 20px; } .zg-brand img { height: 16px; } .zg-site-header.is-open .zg-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; position: absolute; top: 100%; left: 0; right: 0; margin-top: 8px; padding: 16px 20px 24px; border-radius: 16px; background: #0e0e12; border: 1px solid var(--zg-chrome-border); box-shadow: var(--zg-chrome-shadow); } .zg-site-header.is-open .zg-nav a { font-size: 18px; letter-spacing: 0.08em; padding: 12px 0; } .zg .zg-site-header.is-open .zg-nav a.zg-nav-cta, .zg-site-header.is-open .zg-nav a.zg-nav-cta { margin: 16px 0 0; padding: 16px 24px; font-size: 12px; letter-spacing: 0.16em; } .zg-steps, .zg-split, .zg-contact, .zg-pillar { grid-template-columns: 1fr; } .zg-pillar { gap: 24px; } .zg-clients { grid-template-columns: 1fr; gap: 24px; } } @media (max-width: 767px) { .zg-insights { grid-template-columns: 1fr; } .zg-insight { grid-template-columns: minmax(0, 1fr) 64px; padding: 24px; gap: 12px; } .zg .zg-insight .zg-stat { grid-column: 1; grid-row: 1; } .zg-insight-viz { grid-column: 2; grid-row: 1; align-self: center; width: 64px; } .zg .zg-insight .zg-body { grid-column: 1 / -1; grid-row: 2; } .zg .zg-insight .zg-source { grid-column: 1 / -1; grid-row: 3; } .zg-orbit-stage { padding: 0; } .zg-orbit { max-width: none; aspect-ratio: auto; display: flex; flex-wrap: wrap; gap: 8px; } .zg-orbit-ring, .zg-orbit-arc, .zg-orbit-core { display: none; } .zg .zg-orbit-node { position: static; transform: none; } .zg-signup { flex-direction: column; } .zg-reports, .zg-team, .zg-form, .zg-fluencies { grid-template-columns: 1fr; } .zg-report--wide { flex-direction: column; align-items: flex-start; } .zg-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (prefers-reduced-motion: reduce) { .zg-anim-spin, .zg-anim-pulse, .zg-anim-ping, .zg-anim-rise, .zg-anim-orbit, .zg-anim-draw, .zg-anim-blink, .zg-anim-donut { animation: none; } .zg-anim-draw { stroke-dashoffset: 0; } .zg-anim-blink { opacity: 0.8; } .zg-anim-donut { stroke-dasharray: 56 100; } .zg-report-art, .zg-person-photo { transition: none; transform: none; } .zg-wave-flow { animation: none; } .zg-flip-inner { transition: none; } .zg-insight:hover, .zg-phase:hover { transform: none; } .zg-orbit-wrap.is-enhanced .zg-orbit-panel.is-active { animation: none; } .zg-orbit-arc { transition: none; } .zg-js .zg-reveal { opacity: 1; transform: none; transition: none; } .zg .zg-nav a::after, .zg .zg-arrow-link { transition: none; } } /* ---------- 8c. PROOF, FORMATS, MARKETS, LEGAL (v3) ---------- */ /* Placeholder marker: anything wrapped in .zg-ph must be replaced before publishing */ .zg .zg-ph { color: var(--zg-accent); background: rgba(191, 168, 255, 0.1); outline: 1px dashed rgba(191, 168, 255, 0.55); outline-offset: 1px; border-radius: 3px; padding: 0 4px; } /* Ways to work */ .zg-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--zg-gap-sm); } .zg-format:hover { transform: none; } .zg-format--featured { border-color: rgba(191, 168, 255, 0.35); background: linear-gradient(180deg, rgba(191, 168, 255, 0.08), rgba(191, 168, 255, 0) 60%), var(--zg-surface); } .zg-format-fit { margin-top: auto !important; padding-top: 20px !important; border-top: 1px solid var(--zg-line); } .zg .zg-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; } .zg .zg-ticks li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.5; color: var(--zg-text); } .zg .zg-ticks li::before { content: ""; position: absolute; left: 2px; top: 0.45em; width: 9px; height: 5px; border-left: 1.5px solid var(--zg-accent); border-bottom: 1.5px solid var(--zg-accent); transform: rotate(-45deg); } /* Case studies: three across, three aligned rows each */ .zg-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--zg-gap-sm); } .zg-case { grid-row: span 4; display: grid; grid-template-rows: subgrid; gap: 0; } .zg-case:hover { transform: none; } .zg-case-head { display: flex; flex-direction: column; gap: 12px; padding-bottom: 24px; } .zg-case-row { display: flex; flex-direction: column; gap: 8px; padding: 20px 0; border-top: 1px solid var(--zg-line); } .zg-case-row:last-child { padding-bottom: 0; } .zg .zg-case-row strong { color: var(--zg-accent); font-weight: 600; } /* Three-column variant of the divided columns */ .zg-columns--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } /* Long-form legal and policy pages */ .zg-prose { max-width: 760px; display: flex; flex-direction: column; gap: 18px; } .zg .zg-prose h2 { font-size: clamp(1.375rem, 2vw, 1.625rem) !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; color: var(--zg-text) !important; padding-top: 24px !important; } .zg .zg-prose h3 { font-size: 17px !important; font-weight: 600 !important; color: var(--zg-text) !important; padding-top: 6px !important; } .zg .zg-prose p, .zg .zg-prose li { font-size: 16px !important; line-height: 1.7 !important; color: var(--zg-text-muted) !important; } .zg .zg-prose ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; } .zg .zg-prose li::marker { color: var(--zg-accent); } .zg .zg-prose a { color: var(--zg-accent); } .zg .zg-prose strong { color: var(--zg-text); font-weight: 600; } .zg-legal-table { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); border-top: 1px solid var(--zg-line); } .zg-legal-table > div { padding: 16px 0; border-bottom: 1px solid var(--zg-line); } .zg-legal-table > div:nth-child(odd) { padding-right: 24px; } .zg-draft-note { padding: 18px 22px; border: 1px dashed rgba(191, 168, 255, 0.55); border-radius: var(--zg-radius-sm); background: rgba(191, 168, 255, 0.06); } /* Squarespace native Form block, to match the Z&G inputs */ .form-block input[type="text"], .form-block input[type="email"], .form-block input[type="tel"], .form-block textarea, .form-block select { font-family: var(--zg-font) !important; font-size: 15px !important; color: var(--zg-text) !important; background: rgba(255, 255, 255, 0.03) !important; border: 1px solid var(--zg-line-strong) !important; border-radius: var(--zg-radius-sm) !important; padding: 15px 18px !important; } .form-block input:focus, .form-block textarea:focus, .form-block select:focus { border-color: var(--zg-accent) !important; outline: none !important; } .form-block label, .form-block legend, .form-block .title { font-family: var(--zg-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-text-muted) !important; } .form-block button[type="submit"], .form-block .form-submit-button { font-family: var(--zg-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--zg-accent-ink) !important; background: var(--zg-accent) !important; border: 0 !important; border-radius: var(--zg-radius-sm) !important; padding: 18px 28px !important; } @media (max-width: 991px) { .zg-cases, .zg-phases { grid-template-columns: 1fr; } .zg-wave { padding-top: 0; } .zg-wave-svg, .zg-phase::before, .zg-phase::after { display: none; } .zg-cards--3, .zg-formats, .zg-columns--3 { grid-template-columns: 1fr; } .zg-columns--3 .zg-col, .zg-columns--3 .zg-col:first-child, .zg-columns--3 .zg-col:last-child, .zg-columns--3 .zg-col:nth-child(odd), .zg-columns--3 .zg-col:nth-child(even) { padding: 32px 0; border-right: 0; border-bottom: 1px solid var(--zg-line); } .zg-case { grid-template-columns: 1fr; } } @media (max-width: 767px) { .zg-legal-table { grid-template-columns: 1fr; } .zg-legal-table > div:nth-child(odd) { padding-bottom: 4px; border-bottom: 0; } } /* Keep text crisp where it sits over the 3D background */ .zg h1, .zg h2, .zg h3, .zg h4, .zg p, .zg blockquote, .zg figcaption, .zg .zg-label, .zg .zg-eyebrow, .zg .zg-stat { text-shadow: 0 0 3px rgba(11, 11, 13, 0.9), 0 0 16px rgba(11, 11, 13, 0.85); } /* ---------- 9. FOCUS ---------- */ .zg a:focus-visible, .zg button:focus-visible, .zg .zg-input:focus-visible, .newsletter-block .newsletter-form-button:focus-visible { outline: 1px solid var(--zg-accent); outline-offset: 3px; border-radius: 2px; } /* ---------- 10. RESPONSIVE ---------- */ @media (max-width: 991px) { .zg-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } .zg-col, .zg-col:first-child, .zg-col:last-child { padding: 36px 24px 32px; border-right: 1px solid var(--zg-line); border-bottom: 1px solid var(--zg-line); } .zg-col:nth-child(odd) { padding-left: 0; } .zg-col:nth-child(even) { padding-right: 0; border-right: 0; } } @media (max-width: 767px) { .zg-head { margin-bottom: 48px; } .zg-cards, .zg-columns { grid-template-columns: 1fr; } .zg-col, .zg-col:first-child, .zg-col:last-child, .zg-col:nth-child(odd), .zg-col:nth-child(even) { padding: 32px 0; border-right: 0; } .zg-row { grid-template-columns: 1fr; gap: 12px; padding: 28px 0; } .zg-stats { flex-direction: column; gap: 32px; } .zg-footer { flex-direction: column; align-items: flex-start; padding: 28px 22px 22px; gap: 20px; } .zg-footer-group--social { margin-left: -14px; } } @media (prefers-reduced-motion: reduce) { .zg-card, .zg-card:hover { transition: none; transform: none; } .zg .zg-h3, .zg .zg-footer-link, .zg-social-icon, .newsletter-block .newsletter-form-button { transition: none; } }