:root { color-scheme: dark; --bg: oklch(13% 0.035 245); --bg-deep: oklch(9% 0.028 245); --surface: oklch(18% 0.04 245); --surface-2: oklch(22% 0.045 245); --surface-3: oklch(26% 0.05 245); --line: oklch(42% 0.06 245 / 0.78); --line-soft: oklch(34% 0.05 245 / 0.58); --text: oklch(94% 0.012 245); --text-muted: oklch(77% 0.027 245); --text-dim: oklch(64% 0.035 245); --blue: oklch(68% 0.18 246); --blue-soft: oklch(58% 0.16 246); --green: oklch(76% 0.18 147); --amber: oklch(76% 0.15 76); --danger: oklch(70% 0.17 25); --shadow: 0 28px 80px oklch(4% 0.02 245 / 0.36); --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1); --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); --font: Aptos, "Segoe UI", system-ui, -apple-system, sans-serif; --step--1: 0.875rem; --step-0: 1rem; --step-1: 1.25rem; --step-2: clamp(1.55rem, 1.2rem + 1.3vw, 2.25rem); --step-3: clamp(2.2rem, 1.35rem + 3.4vw, 4.65rem); --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem; --page-gutter: clamp(1.5rem, 7vw, 8.5rem); --page-max: 100rem; } :root[data-theme="light"] { color-scheme: light; --bg: oklch(95% 0.015 245); --bg-deep: oklch(98% 0.008 245); --surface: oklch(99% 0.006 245); --surface-2: oklch(95% 0.018 245); --surface-3: oklch(91% 0.025 245); --line: oklch(72% 0.045 245 / 0.72); --line-soft: oklch(80% 0.035 245 / 0.62); --text: oklch(22% 0.045 245); --text-muted: oklch(38% 0.045 245); --text-dim: oklch(50% 0.04 245); --blue: oklch(55% 0.18 246); --blue-soft: oklch(61% 0.15 246); --green: oklch(58% 0.16 147); --shadow: 0 24px 70px oklch(30% 0.05 245 / 0.14); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-width: 320px; background: radial-gradient(circle at 72% 8%, oklch(31% 0.09 246 / 0.42), transparent 31rem), linear-gradient(180deg, var(--bg-deep), var(--bg) 38rem, oklch(15% 0.038 245)); color: var(--text); font-family: var(--font); font-size: var(--step-0); line-height: 1.6; font-kerning: normal; text-rendering: optimizeLegibility; overflow-x: clip; } :root[data-theme="light"] body { background: radial-gradient(circle at 74% 10%, oklch(86% 0.06 246 / 0.24), transparent 32rem), linear-gradient(180deg, oklch(98% 0.008 245), oklch(96% 0.012 245) 36rem, oklch(98% 0.006 245)); } body.menu-open { overflow: hidden; } a { color: inherit; text-decoration: none; } button, input, select { font: inherit; } svg { display: block; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 20; padding: 0.75rem 1rem; border-radius: var(--radius-sm); background: var(--blue); color: oklch(11% 0.03 245); transform: translateY(-150%); } .skip-link:focus { transform: translateY(0); } .scroll-progress { position: fixed; top: 0; left: 0; z-index: 30; width: 100%; height: 2px; background: linear-gradient(90deg, var(--blue), var(--green)); transform: scaleX(var(--scroll-progress, 0)); transform-origin: left; opacity: 0.92; box-shadow: 0 0 16px oklch(65% 0.16 246 / 0.32); pointer-events: none; } :focus-visible { outline: 3px solid var(--green); outline-offset: 4px; } .site-header { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: clamp(1.25rem, 2.4vw, 2.75rem); row-gap: var(--space-3); padding: max(0.85rem, env(safe-area-inset-top)) clamp(1.25rem, 4.6vw, 6.25rem) 0.85rem; border-bottom: 1px solid var(--line-soft); background: oklch(10.5% 0.032 245 / 0.94); backdrop-filter: blur(16px); } .site-header, .hero-section, .content-section, .site-footer { width: 100%; } .hero-section, .content-section { scroll-margin-top: 5rem; } :root[data-theme="light"] .site-header { background: oklch(98% 0.008 245 / 0.94); } :root[data-theme="light"] .eyebrow, :root[data-theme="light"] .brand span span, :root[data-theme="light"] .phone-link, :root[data-theme="light"] .call-inline { color: oklch(56% 0.16 246); } .brand { display: inline-grid; grid-template-columns: 2.7rem auto; align-items: center; gap: var(--space-3); min-height: 44px; min-width: max-content; text-transform: uppercase; letter-spacing: 0.08em; } .brand-mark { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; color: var(--blue); } .brand-mark svg { width: 100%; height: auto; fill: none; stroke: currentColor; stroke-width: 2.2; } .brand strong { display: block; font-size: 1rem; line-height: 1; } .brand span span { display: block; color: oklch(74% 0.07 246); font-size: 0.66rem; font-weight: 700; line-height: 1.4; } .menu-toggle { grid-column: 3; justify-self: end; display: inline-grid; place-items: center; gap: 0; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); background: oklch(20% 0.055 245); color: var(--text); z-index: 30; cursor: pointer; } .menu-toggle span:not(.sr-only) { grid-area: 1 / 1; display: block; width: 18px; height: 2px; border-radius: 999px; background: currentColor; transition: transform 220ms var(--ease-out-quint), opacity 160ms ease; } .menu-toggle span:not(.sr-only):nth-child(1) { transform: translateY(-6px); } .menu-toggle span:not(.sr-only):nth-child(3) { transform: translateY(6px); } .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) { transform: rotate(45deg); } .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) { opacity: 0; } .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) { transform: rotate(-45deg); } .menu-toggle b { display: none; } :root[data-theme="light"] .menu-toggle { background: oklch(99% 0.006 245); color: var(--text); } .nav-menu, .header-actions { display: none; } .nav-menu { min-width: 0; } .theme-toggle { display: inline-grid; place-items: center; order: 10; flex: 0 0 auto; width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text-muted); cursor: pointer; } .theme-toggle:hover { color: var(--text); border-color: var(--blue); } .theme-icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } .theme-icon-moon { display: none; } :root[data-theme="light"] .theme-icon-sun { display: none; } :root[data-theme="light"] .theme-icon-moon { display: block; } .nav-menu.is-open { position: fixed; inset: 4.5rem 1rem auto; display: grid; gap: var(--space-2); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow); } .nav-menu a { position: relative; min-height: 44px; padding: 0.65rem 0.75rem; border-radius: var(--radius-sm); color: var(--text-muted); } .nav-menu a::after { content: ""; position: absolute; left: 0.75rem; right: 0.75rem; bottom: 0.35rem; height: 2px; border-radius: 999px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform 220ms cubic-bezier(.22, 1, .36, 1); } .nav-menu a:hover, .nav-menu a:focus-visible { color: var(--text); } .nav-menu a:hover::after, .nav-menu a:focus-visible::after { transform: scaleX(1); } .button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 0.72rem 1rem; font-weight: 750; line-height: 1.1; text-align: center; transition: transform 180ms var(--ease-out-quint), border-color 180ms ease, background 180ms ease, box-shadow 220ms ease, filter 220ms ease; } .button:hover { transform: translateY(-2px); } .button:active { transform: translateY(0) scale(0.985); } .button-primary { background: linear-gradient(180deg, oklch(68% 0.18 246), oklch(58% 0.18 246)); color: oklch(98% 0.01 245); box-shadow: 0 14px 36px oklch(58% 0.18 246 / 0.28); } .button-primary:hover { filter: saturate(1.06) brightness(1.05); box-shadow: 0 18px 46px oklch(58% 0.18 246 / 0.38); } .button-outline { width: 100%; border-color: var(--blue); color: var(--text); background: oklch(16% 0.04 245); } :root[data-theme="light"] .button-outline { color: var(--blue); background: oklch(99% 0.006 245); } .button-large { min-height: 48px; padding-inline: 1.25rem; white-space: normal; } .phone-link, .call-inline { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; color: oklch(78% 0.12 246); font-weight: 700; letter-spacing: 0.02em; white-space: nowrap; } .call-inline { min-height: 32px; } .phone-link svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; } .hero-section { padding: clamp(1.8rem, 2.8vw, 3rem) var(--page-gutter) clamp(3rem, 4.2vw, 5rem); overflow: clip; } :root[data-theme="light"] .hero-section { background: radial-gradient(circle at 76% 8%, oklch(86% 0.06 246 / 0.26), transparent 34rem), linear-gradient(180deg, oklch(98% 0.008 245), oklch(96% 0.014 245)); } .hero-grid { display: grid; gap: clamp(2rem, 3vw, 4rem); align-items: start; max-width: var(--page-max); margin-inline: auto; min-width: 0; } .hero-copy { display: grid; align-content: start; gap: var(--space-3); padding-block: clamp(0.4rem, 2vw, 1rem); min-width: 0; } .eyebrow { margin: 0; color: oklch(80% 0.1 246); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; } h1, h2, h3, p { margin-top: 0; } h1 { max-width: 12ch; margin-bottom: 0; font-size: clamp(2.75rem, 2.1vw + 1.35rem, 4.25rem); line-height: 0.94; letter-spacing: 0; text-wrap: balance; } h2 { margin-bottom: var(--space-3); font-size: var(--step-2); line-height: 1.05; letter-spacing: 0; text-wrap: balance; } h3 { margin-bottom: var(--space-2); font-size: 0.93rem; line-height: 1.25; } .hero-lede { max-width: 32rem; margin-bottom: 0; color: var(--text-muted); font-size: clamp(1rem, 0.45vw + 0.93rem, 1.15rem); line-height: 1.38; } .hero-local-trust { max-width: 32rem; margin: var(--space-2) 0 0; color: var(--blue); font-size: var(--step--1); font-weight: 700; } .trust-list, .check-stack, .local-strip ul { list-style: none; padding: 0; margin: 0; } .trust-list { display: grid; gap: 0.45rem; color: var(--text-muted); } .trust-list li, .check-stack li { display: flex; align-items: center; gap: var(--space-3); } .trust-list li { font-size: 0.95rem; } .check-icon, .chart-icon, .people-icon, .shield-icon, .building-icon, .headset-icon, .clock-icon, .people-outline-icon, .shield-outline-icon { display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--green); } .check-icon, .chart-icon, .people-icon { width: 1.5rem; height: 1.5rem; border: 1px solid currentColor; border-radius: 0.45rem; } .check-icon::before, .check-stack li::before { content: "✓"; color: var(--green); font-weight: 900; } .chart-icon::before { content: "↗"; font-size: 1.1rem; } .people-icon::before { content: "◎"; font-size: 1.1rem; } .hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; margin-top: var(--space-1); } .architecture-panel, .module-card, .local-strip, .pricing-panel, .assessment-form { border: 1px solid var(--line); background: linear-gradient(180deg, oklch(19% 0.045 245 / 0.92), oklch(14% 0.035 245 / 0.92)), var(--surface); box-shadow: inset 0 1px 0 oklch(80% 0.04 245 / 0.08); } :root[data-theme="light"] .architecture-panel, :root[data-theme="light"] .module-card, :root[data-theme="light"] .local-strip, :root[data-theme="light"] .pricing-panel, :root[data-theme="light"] details, :root[data-theme="light"] .record-stack article, :root[data-theme="light"] .migration-checklist, :root[data-theme="light"] .timeline li, :root[data-theme="light"] .continuity-rail article, :root[data-theme="light"] .feature-tabs button, :root[data-theme="light"] .feature-panel, :root[data-theme="light"] .support-rail article { background: linear-gradient(180deg, oklch(99% 0.006 245), oklch(96% 0.012 245)); } .architecture-panel { position: relative; min-width: 0; overflow: hidden; border-radius: var(--radius-lg); padding: 0; transition: border-color 260ms ease, box-shadow 320ms ease, transform 420ms var(--ease-out-quint); will-change: transform; } .architecture-panel:hover { border-color: oklch(60% 0.14 246 / 0.9); box-shadow: inset 0 1px 0 oklch(80% 0.04 245 / 0.12), 0 22px 70px oklch(38% 0.12 246 / 0.18); transform: translateY(-2px); } .architecture-panel::before { display: none; } .architecture-image { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); transition: transform 700ms var(--ease-out-expo), filter 360ms ease; } .architecture-panel:hover .architecture-image { transform: scale(1.008); } .architecture-image-light { display: none; } :root[data-theme="light"] .architecture-image { filter: none; box-shadow: var(--shadow); } :root[data-theme="light"] .architecture-image-dark { display: none; } :root[data-theme="light"] .architecture-image-light { display: block; } .panel-head { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); } .panel-head h2 { max-width: 22rem; margin: 0; font-size: clamp(1.05rem, 1rem + 0.8vw, 1.65rem); text-align: right; } .mail-flow { position: relative; z-index: 1; display: grid; gap: var(--space-4); min-width: 0; } .flow-lane { position: relative; display: grid; gap: var(--space-3); align-content: start; min-height: 8.5rem; padding: var(--space-3); border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: oklch(14% 0.035 245 / 0.68); } .flow-lane h3, .module-card h2 { margin: 0; color: oklch(90% 0.02 245); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; } :root[data-theme="light"] .flow-lane h3, :root[data-theme="light"] .module-card h2, :root[data-theme="light"] .local-strip h2, :root[data-theme="light"] .table-head span { color: oklch(27% 0.055 245); } :root[data-theme="light"] .module-card p, :root[data-theme="light"] .compare-table span, :root[data-theme="light"] .local-strip li, :root[data-theme="light"] .local-strip p { color: oklch(36% 0.045 245); } .source-list { display: grid; gap: var(--space-3); color: var(--text-muted); font-size: var(--step--1); } .source-list span { display: flex; align-items: center; gap: var(--space-2); } .source-icon { position: relative; display: inline-block; width: 1.9rem; height: 1.4rem; border: 2px solid currentColor; color: oklch(91% 0.02 245); } .source-icon.mail::before, .source-icon.large::before { content: ""; position: absolute; inset: 2px; border-top: 2px solid currentColor; transform: skewY(-34deg); } .source-icon.server { height: 1.8rem; border-radius: 0.25rem; } .source-icon.server::before, .source-icon.server::after { content: ""; position: absolute; left: 0.25rem; right: 0.25rem; height: 2px; background: currentColor; } .source-icon.server::before { top: 0.55rem; } .source-icon.server::after { bottom: 0.55rem; } .source-icon.cloud { height: 1.1rem; border-radius: 999px; border-top-color: transparent; } .source-icon.large { width: 2.5rem; height: 1.8rem; margin-inline: auto; } .aws-box { display: grid; gap: var(--space-2); place-items: center; min-height: 8.2rem; padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); background: oklch(17% 0.04 245 / 0.84); text-align: center; } .aws-label { color: var(--text); font-weight: 850; letter-spacing: 0.04em; } .bucket-icon, .database-icon { display: block; width: 2.6rem; height: 2rem; border: 3px solid var(--green); border-top-width: 5px; border-radius: 50% / 22%; } .database-icon { border-color: var(--text); } .plane-icon { width: 3rem; height: 2.6rem; clip-path: polygon(4% 51%, 95% 4%, 60% 96%, 47% 60%); background: var(--text); } .process-list { display: grid; gap: var(--space-2); margin: 0; padding: var(--space-3); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); list-style: none; color: var(--text-muted); font-size: var(--step--1); } .process-list li::before { content: "✓"; margin-right: var(--space-2); color: var(--green); } .device-row { display: flex; justify-content: center; gap: var(--space-5); } .laptop, .phone { display: inline-block; border: 2px solid var(--text); border-radius: 0.25rem; } .laptop { width: 3.5rem; height: 2.3rem; } .phone { width: 1.5rem; height: 2.8rem; } .flow-lines { display: none; } .status-strip { position: relative; z-index: 1; display: grid; gap: var(--space-3); margin-top: var(--space-4); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--text-muted); font-size: var(--step--1); min-width: 0; } .status-strip strong { color: var(--text); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; } .status-strip span { display: flex; align-items: center; gap: var(--space-2); } .status-strip i { width: 1rem; height: 1rem; border: 1px solid var(--green); border-radius: 50%; } .status-strip em { color: var(--green); font-style: normal; } .status-strip a, .module-card a:not(.button) { color: oklch(76% 0.13 246); font-weight: 700; } .module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(2.25rem, 3.4vw, 4rem); max-width: min(72rem, var(--page-max)); margin-inline: auto; padding: 0.55rem; overflow: hidden; border: 1px solid oklch(58% 0.09 246 / 0.38); border-radius: var(--radius-lg); background: radial-gradient(circle at 50% 0%, oklch(58% 0.16 246 / 0.12), transparent 24rem), linear-gradient(90deg, oklch(58% 0.09 246 / 0.22), oklch(70% 0.16 147 / 0.18)); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.08), 0 18px 54px oklch(0% 0 0 / 0.14); } .module-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); align-items: center; min-height: 0; padding: clamp(1rem, 1.5vw, 1.2rem); border: 0; border-radius: calc(var(--radius-lg) - 0.55rem); background: linear-gradient(180deg, oklch(19% 0.042 245 / 0.94), oklch(13% 0.032 245 / 0.94)); min-width: 0; transition: transform 260ms var(--ease-out-quint), border-color 220ms ease, box-shadow 260ms ease, background 260ms ease; } :root[data-theme="light"] .module-grid { border-color: oklch(74% 0.045 245 / 0.62); background: radial-gradient(circle at 50% 0%, oklch(84% 0.07 246 / 0.26), transparent 24rem), linear-gradient(90deg, oklch(78% 0.045 245 / 0.48), oklch(72% 0.1 147 / 0.26)); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.9), 0 18px 54px oklch(48% 0.05 245 / 0.12); } :root[data-theme="light"] .module-card { background: linear-gradient(180deg, oklch(100% 0 0 / 0.84), oklch(96% 0.012 245 / 0.86)); } .module-card.compare-card { display: none; } .module-card .check-stack, .module-card .process-steps, .module-card .price, .module-card .included, .module-card .button, .module-card a:not(.button) { display: none; } .module-card:hover { transform: translateY(-1px); border-color: transparent; box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.08), 0 12px 28px oklch(4% 0.02 245 / 0.18); } :root[data-theme="light"] .module-card:hover { box-shadow: 0 18px 54px oklch(45% 0.07 245 / 0.16); } .price-card { position: relative; box-shadow: none; } :root[data-theme="light"] .price-card { border-color: transparent; } .compare-card { gap: var(--space-4); overflow: hidden; } .module-card p { margin: 0; color: var(--text-muted); font-size: 0.9rem; line-height: 1.35; } .module-title { display: contents; } .shield-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid oklch(70% 0.16 147 / 0.44); border-radius: var(--radius-md); background: radial-gradient(circle at 50% 0%, oklch(70% 0.16 147 / 0.18), transparent 70%), oklch(70% 0.16 147 / 0.08); } .shield-icon svg, .module-icon svg { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } .module-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid oklch(70% 0.16 147 / 0.42); border-radius: var(--radius-md); color: var(--green); background: oklch(70% 0.16 147 / 0.08); } .migration-icon { color: var(--blue); border-color: oklch(68% 0.18 246 / 0.45); background: radial-gradient(circle at 50% 0%, oklch(68% 0.18 246 / 0.16), transparent 70%), oklch(68% 0.18 246 / 0.08); } .hosting-icon { color: var(--green); border-color: oklch(70% 0.16 147 / 0.45); background: radial-gradient(circle at 50% 0%, oklch(70% 0.16 147 / 0.18), transparent 70%), oklch(70% 0.16 147 / 0.08); } .module-card h2 { align-self: end; font-size: 0.82rem; letter-spacing: 0.13em; } .module-card#migration::after, .module-card#pricing::after { align-self: start; color: var(--text-muted); font-size: 0.92rem; line-height: 1.35; } .module-card#migration::after { content: "Provider move, devices, and handoff support."; } .module-card#pricing::after { content: "25 GB mailboxes with managed infrastructure."; } .check-stack { display: grid; gap: var(--space-3); color: var(--text); } .check-stack.compact { gap: var(--space-2); color: var(--text-muted); font-size: var(--step--1); } .process-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: 0; padding: 0; list-style: none; } .process-steps li { display: grid; gap: var(--space-2); } .process-steps span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--blue); border-radius: 50%; color: var(--text); font-size: var(--step--1); font-weight: 800; transition: transform 220ms var(--ease-out-quint), border-color 220ms ease, color 220ms ease, box-shadow 220ms ease; } .process-steps li:hover span { transform: translateY(-2px) scale(1.04); border-color: var(--green); color: var(--green); box-shadow: 0 0 0 5px oklch(76% 0.18 147 / 0.1); } .process-steps p { font-size: 0.82rem; } .price { display: flex; align-items: baseline; gap: var(--space-2); color: var(--text); } .price span { font-size: clamp(3rem, 2.4rem + 2vw, 4.4rem); font-weight: 850; line-height: 0.9; font-variant-numeric: tabular-nums; } .included { color: var(--green) !important; } .compare-table { overflow-x: hidden; overflow-y: hidden; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 0.72rem; scrollbar-width: thin; } .compare-table [role="row"] { display: grid; grid-template-columns: 1.28fr repeat(3, minmax(2.7rem, 0.72fr)); border-bottom: 1px solid var(--line-soft); } .compare-table [role="row"]:last-child { border-bottom: 0; } .compare-table span { min-width: 0; padding: 0.55rem 0.45rem; border-right: 1px solid var(--line-soft); color: var(--text-muted); text-align: center; } .compare-table span:first-child { text-align: left; } .compare-table span:last-child { border-right: 0; } .table-head span { color: var(--text); font-weight: 800; } .local-strip { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: clamp(4rem, 6vw, 6.5rem); margin-inline: auto; padding: clamp(1.4rem, 2.6vw, 2.25rem); border: 1px solid oklch(95% 0.01 245 / 0.12); border-radius: var(--radius-lg); background: radial-gradient(circle at 12% 0%, oklch(58% 0.16 246 / 0.12), transparent 24rem), linear-gradient(180deg, oklch(18% 0.042 245 / 0.94), oklch(12% 0.032 245 / 0.95)); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.05), 0 22px 64px oklch(0% 0 0 / 0.18); max-width: var(--page-max); } .local-strip h2 { max-width: 18rem; margin: 0; color: oklch(95% 0.012 245); font-size: clamp(1.35rem, 1rem + 1.1vw, 2rem); line-height: 1.05; letter-spacing: 0.1em; text-transform: uppercase; } .local-strip p { max-width: 28rem; margin: var(--space-3) 0 0; color: oklch(78% 0.024 245); line-height: 1.45; } .local-strip ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); } .local-strip li { display: grid; gap: var(--space-3); align-content: start; min-width: 0; min-height: 8rem; padding: var(--space-4); border: 1px solid oklch(95% 0.01 245 / 0.11); border-radius: var(--radius-md); background: oklch(100% 0 0 / 0.035); color: oklch(84% 0.02 245); transition: transform 240ms var(--ease-out-quint), border-color 220ms ease, background 220ms ease, box-shadow 220ms ease; } .local-strip li strong { display: block; color: inherit; font-size: 0.92rem; line-height: 1.25; } .local-strip li span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid oklch(70% 0.16 147 / 0.42); border-radius: var(--radius-sm); color: var(--green); background: oklch(70% 0.16 147 / 0.08); transition: transform 240ms var(--ease-out-quint), color 220ms ease, box-shadow 220ms ease; } .local-strip li span svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } .local-strip li:hover { transform: translateY(-2px); border-color: oklch(70% 0.16 147 / 0.36); background: oklch(100% 0 0 / 0.055); box-shadow: 0 18px 42px oklch(0% 0 0 / 0.14); } .local-strip li:hover span { box-shadow: 0 0 0 6px oklch(76% 0.18 147 / 0.09); } :root[data-theme="light"] .local-strip { border-color: oklch(76% 0.045 245 / 0.64); background: radial-gradient(circle at 12% 0%, oklch(86% 0.06 246 / 0.2), transparent 24rem), linear-gradient(180deg, oklch(99% 0.004 245 / 0.92), oklch(96% 0.012 245 / 0.94)); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.88), 0 22px 64px oklch(48% 0.05 245 / 0.1); } :root[data-theme="light"] .local-strip h2 { color: var(--text); } :root[data-theme="light"] .local-strip p { color: var(--text-muted); } :root[data-theme="light"] .local-strip li { border-color: oklch(76% 0.045 245 / 0.54); background: oklch(100% 0 0 / 0.58); color: var(--text); } :root[data-theme="light"] .local-strip li span { border-color: oklch(68% 0.16 147 / 0.45); background: oklch(92% 0.05 147 / 0.45); } :root[data-theme="light"] .local-strip li:hover { border-color: oklch(68% 0.16 147 / 0.44); background: oklch(100% 0 0 / 0.82); } .motion-ready .reveal-item { opacity: 0; transform: translateY(22px); transition: opacity 620ms var(--ease-out-quint), transform 620ms var(--ease-out-quint); transition-delay: var(--reveal-delay, 0ms); } .motion-ready .reveal-item.is-revealed { opacity: 1; transform: translateY(0); } .motion-ready .hero-copy.reveal-item { transform: translateX(-18px); } .motion-ready .architecture-panel.reveal-item { transform: translateX(22px) scale(0.985); } .motion-ready .hero-copy.reveal-item.is-revealed, .motion-ready .architecture-panel.reveal-item.is-revealed { transform: translateX(0) scale(1); } .motion-ready .architecture-panel.reveal-item.is-revealed:hover { transform: translateY(-2px) scale(1.008); } .motion-ready .module-card.reveal-item.is-revealed:hover { transform: translateY(-4px); } .motion-ready .local-strip.reveal-item { opacity: 1; transform: none; } .motion-ready .module-card.reveal-item { opacity: 1; transform: none; } @keyframes statusPulse { 0%, 100% { box-shadow: 0 0 0 0 oklch(76% 0.18 147 / 0); } 45% { box-shadow: 0 0 0 7px oklch(76% 0.18 147 / 0.12); } } .status-strip i { animation: statusPulse 2.8s var(--ease-out-quart) infinite; } .headset-icon, .clock-icon, .people-outline-icon { border-radius: 50% !important; } .content-section { padding: clamp(4rem, 8vw, 7rem) var(--page-gutter); } :root[data-theme="light"] .content-section { background: radial-gradient(circle at 82% 0%, oklch(88% 0.045 246 / 0.14), transparent 30rem), linear-gradient(180deg, oklch(99% 0.004 245), oklch(97% 0.008 245)); } :root[data-theme="light"] .problem-section, :root[data-theme="light"] .process-section, :root[data-theme="light"] .migration-detail, :root[data-theme="light"] .faq-section { background: radial-gradient(circle at 18% 0%, oklch(90% 0.04 246 / 0.12), transparent 28rem), linear-gradient(180deg, oklch(99% 0.004 245), oklch(98% 0.006 245)); } :root[data-theme="light"] .continuity-section, :root[data-theme="light"] .pricing-detail { background: radial-gradient(circle at 78% 0%, oklch(86% 0.055 246 / 0.16), transparent 32rem), linear-gradient(180deg, oklch(96% 0.012 245), oklch(98% 0.006 245)); } .section-heading { display: grid; gap: var(--space-3); max-width: 56rem; margin-inline: auto; margin-bottom: var(--space-6); } .section-heading.narrow { max-width: 44rem; margin-inline: auto; text-align: center; } .section-heading p, .split-section > div > p, .assessment-copy p, .pricing-panel p { color: var(--text-muted); font-size: var(--step-1); } .pain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-4); max-width: 68rem; margin-inline: auto; } @media (min-width: 760px) { .pain-grid { grid-template-columns: repeat(3, 1fr); } } .pain-grid article { padding-block: var(--space-4); border-top: 1px solid var(--line); } .pain-grid strong { display: block; margin-bottom: var(--space-2); color: var(--text); font-size: var(--step-1); } .pain-grid p, .record-stack p, .continuity-rail p, .timeline span, .faq-list p { color: var(--text-muted); } .process-section { background: radial-gradient(circle at 50% 0%, oklch(24% 0.07 246 / 0.22), transparent 36rem), linear-gradient(180deg, oklch(8.5% 0.024 245), oklch(6% 0.018 245)); color: oklch(94% 0.012 245); } .process-inner { max-width: var(--page-max); margin-inline: auto; } .process-heading { margin-bottom: clamp(2.5rem, 5vw, 4rem); } .process-heading h2 { margin-bottom: 0; color: oklch(95% 0.012 245); font-size: clamp(2.4rem, 1.35rem + 4.4vw, 5rem); font-weight: 650; } .process-heading p { color: oklch(78% 0.025 245); font-weight: 450; } .process-kicker { display: inline-flex; justify-self: center; align-items: center; min-height: 1.7rem; margin: 0; padding: 0.25rem 0.75rem; border: 1px solid oklch(95% 0.01 245 / 0.14); background: oklch(100% 0 0 / 0.04); color: oklch(72% 0.03 245); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; backdrop-filter: blur(8px); } .process-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); } .process-card { position: relative; overflow: hidden; min-height: 18rem; padding: clamp(1.5rem, 2.4vw, 2rem); border: 1px solid oklch(95% 0.01 245 / 0.13); background: linear-gradient(180deg, oklch(24% 0.035 245 / 0.72), oklch(16% 0.028 245 / 0.72)), oklch(14% 0.028 245); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.06), 0 18px 48px oklch(0% 0 0 / 0.28); backdrop-filter: blur(18px); } .process-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, oklch(82% 0.12 246 / 0.08), transparent 18rem), oklch(100% 0 0 / 0.035); pointer-events: none; } .process-card-content { position: relative; z-index: 1; display: grid; justify-items: center; align-content: start; min-height: 100%; text-align: center; } .process-step-label { position: relative; display: inline-flex; align-items: center; justify-content: center; } .process-step-label::before, .process-step-label::after { content: ""; position: absolute; width: 1px; height: 2rem; background: linear-gradient(180deg, oklch(95% 0.01 245 / 0.66), oklch(95% 0.01 245 / 0.1)); } .process-step-label::before { left: -0.55rem; } .process-step-label::after { right: -0.55rem; } .process-step-label span { display: inline-flex; align-items: center; min-height: 2rem; padding: 0.25rem 0.85rem; border: 1px solid oklch(95% 0.01 245 / 0.14); background: oklch(100% 0 0 / 0.08); color: oklch(91% 0.012 245); font-size: 0.78rem; font-weight: 850; text-transform: uppercase; } .process-card h3 { max-width: 11ch; margin: clamp(1.75rem, 3vw, 2.4rem) 0 0; color: oklch(93% 0.012 245); font-size: clamp(1.65rem, 1rem + 1.7vw, 2.75rem); font-weight: 650; line-height: 1.08; } .process-card p { max-width: 23rem; margin: var(--space-5) auto 0; color: oklch(73% 0.024 245); font-size: clamp(1rem, 0.3vw + 0.95rem, 1.12rem); line-height: 1.45; } .process-corner { position: absolute; z-index: 1; width: 0.85rem; height: 0.85rem; pointer-events: none; } .process-corner-tl { top: 0.32rem; left: 0.32rem; border-top: 1px solid oklch(95% 0.01 245 / 0.28); border-left: 1px solid oklch(95% 0.01 245 / 0.28); } .process-corner-tr { top: 0.32rem; right: 0.32rem; border-top: 1px solid oklch(95% 0.01 245 / 0.28); border-right: 1px solid oklch(95% 0.01 245 / 0.28); } .process-corner-bl { bottom: 0.32rem; left: 0.32rem; border-bottom: 1px solid oklch(95% 0.01 245 / 0.28); border-left: 1px solid oklch(95% 0.01 245 / 0.28); } .process-corner-br { right: 0.32rem; bottom: 0.32rem; border-right: 1px solid oklch(95% 0.01 245 / 0.28); border-bottom: 1px solid oklch(95% 0.01 245 / 0.28); } .process-cta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); max-width: 74rem; margin: clamp(2.5rem, 5vw, 4rem) auto 0; padding-top: var(--space-6); border-top: 1px solid oklch(95% 0.01 245 / 0.11); } .process-cta p { margin: 0; color: oklch(88% 0.014 245); font-size: var(--step-1); } .process-cta .button { border-color: oklch(68% 0.18 246 / 0.7); background: oklch(58% 0.18 246 / 0.08); color: oklch(76% 0.14 246); } :root[data-theme="light"] .process-section { background: radial-gradient(circle at 50% 0%, oklch(86% 0.06 246 / 0.2), transparent 34rem), linear-gradient(180deg, oklch(99% 0.004 245), oklch(96% 0.012 245)); color: var(--text); } :root[data-theme="light"] .process-heading h2 { color: var(--text); } :root[data-theme="light"] .process-heading p { color: var(--text-muted); } :root[data-theme="light"] .process-kicker { border-color: oklch(74% 0.045 245 / 0.5); background: oklch(100% 0 0 / 0.72); color: var(--blue); } :root[data-theme="light"] .process-card { border-color: oklch(75% 0.045 245 / 0.62); background: linear-gradient(180deg, oklch(100% 0 0 / 0.88), oklch(96% 0.012 245 / 0.9)), var(--surface); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.86), 0 20px 54px oklch(42% 0.05 245 / 0.12); } :root[data-theme="light"] .process-card::before { background: radial-gradient(circle at 50% 0%, oklch(82% 0.09 246 / 0.15), transparent 18rem), oklch(100% 0 0 / 0.26); } :root[data-theme="light"] .process-step-label::before, :root[data-theme="light"] .process-step-label::after { background: linear-gradient(180deg, oklch(58% 0.16 246 / 0.58), oklch(58% 0.16 246 / 0.08)); } :root[data-theme="light"] .process-step-label span { border-color: oklch(73% 0.045 245 / 0.58); background: oklch(95% 0.018 245 / 0.86); color: var(--text); } :root[data-theme="light"] .process-card h3 { color: var(--text); } :root[data-theme="light"] .process-card p { color: var(--text-muted); } :root[data-theme="light"] .process-corner-tl, :root[data-theme="light"] .process-corner-tr, :root[data-theme="light"] .process-corner-bl, :root[data-theme="light"] .process-corner-br { border-color: oklch(58% 0.16 246 / 0.34); } :root[data-theme="light"] .process-cta { border-top-color: oklch(78% 0.045 245 / 0.5); } :root[data-theme="light"] .process-cta p { color: var(--text); } :root[data-theme="light"] .process-cta .button { background: oklch(99% 0.006 245); color: var(--blue); } .split-section { display: grid; gap: var(--space-6); align-items: center; background: oklch(16% 0.035 245); } :root[data-theme="light"] .split-section { background: radial-gradient(circle at 82% 12%, oklch(84% 0.065 246 / 0.28), transparent 26rem), linear-gradient(180deg, oklch(97% 0.012 245), oklch(93% 0.024 245)); } .record-stack { display: grid; gap: var(--space-4); } .record-stack article { display: grid; grid-template-columns: 5rem 1fr; gap: var(--space-4); align-items: center; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); } .record-stack span { display: grid; place-items: center; min-height: 4rem; border: 1px solid var(--blue); border-radius: var(--radius-sm); color: var(--green); font-weight: 850; letter-spacing: 0.08em; } .record-stack p { margin: 0; } .deliverability-section { background: radial-gradient(circle at 84% 6%, oklch(24% 0.07 178 / 0.28), transparent 34rem), linear-gradient(180deg, oklch(9% 0.026 245), oklch(6% 0.018 245)); } :root[data-theme="light"] .deliverability-section { background: radial-gradient(circle at 80% 0%, oklch(86% 0.06 246 / 0.22), transparent 34rem), linear-gradient(180deg, oklch(97% 0.012 245), oklch(95% 0.018 245)); } .deliverability-panel { position: relative; max-width: var(--page-max); margin-inline: auto; overflow: visible; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .deliverability-bg { display: none; position: absolute; inset: 0; background: radial-gradient(62rem 30rem at 0% -10%, oklch(58% 0.16 246 / 0.11), transparent 62%), radial-gradient(42rem 28rem at 100% 0%, oklch(70% 0.16 147 / 0.1), transparent 64%), linear-gradient(to right, oklch(100% 0 0 / 0.035) 1px, transparent 1px), linear-gradient(to bottom, oklch(100% 0 0 / 0.035) 1px, transparent 1px); background-size: auto, auto, 48px 48px, 48px 48px; mask-image: radial-gradient(78rem 38rem at 50% 10%, black, transparent 82%); pointer-events: none; } .deliverability-head, .deliverability-card-grid { position: relative; z-index: 1; } .deliverability-head { display: grid; grid-template-columns: minmax(0, 56rem); gap: var(--space-4); align-items: start; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); } .deliverability-head h2 { max-width: 14ch; margin: 0; color: oklch(96% 0.012 245); font-size: clamp(2.2rem, 1.35rem + 3.8vw, 4.6rem); line-height: 1.03; } .deliverability-head > p { max-width: 44rem; margin: 0; color: oklch(82% 0.02 245); font-size: clamp(1rem, 0.35vw + 0.95rem, 1.15rem); line-height: 1.55; } .deliverability-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); } .deliverability-card { position: relative; overflow: hidden; min-height: 24rem; padding: clamp(1.25rem, 2vw, 1.6rem); border: 1px solid oklch(95% 0.01 245 / 0.12); border-radius: var(--radius-lg); background: linear-gradient(180deg, oklch(100% 0 0 / 0.055), oklch(100% 0 0 / 0.018)), oklch(8.5% 0.022 245 / 0.82); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.04), 0 18px 42px oklch(0% 0 0 / 0.28); } .deliverability-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, oklch(100% 0 0 / 0.04) 1px, transparent 1px), linear-gradient(to bottom, oklch(100% 0 0 / 0.04) 1px, transparent 1px); background-size: 40px 40px; opacity: 0.24; mask-image: radial-gradient(120% 80% at 50% 0%, black, transparent); pointer-events: none; } .record-visual, .deliverability-card > div:last-child { position: relative; z-index: 1; } .record-visual { display: grid; place-items: center; min-height: 14rem; margin-bottom: var(--space-5); color: oklch(92% 0.012 245); } .deliverability-card h3 { margin: 0; color: oklch(96% 0.012 245); font-size: clamp(1.25rem, 0.7rem + 1vw, 1.75rem); } .deliverability-card p { margin: var(--space-2) 0 0; color: oklch(78% 0.024 245); font-size: 0.98rem; line-height: 1.5; } .record-code, .signature-card, .policy-meter, .report-line { border: 1px solid oklch(95% 0.01 245 / 0.13); background: linear-gradient(180deg, oklch(100% 0 0 / 0.07), oklch(100% 0 0 / 0.025)); box-shadow: 0 14px 34px oklch(0% 0 0 / 0.22); backdrop-filter: blur(10px); } .record-code { width: min(100%, 18rem); border-radius: var(--radius-md); overflow: hidden; } .record-code span { display: block; padding: 0.65rem 0.85rem; border-bottom: 1px solid oklch(95% 0.01 245 / 0.1); color: var(--green); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; } .record-code code { display: block; padding: 0.9rem; color: oklch(88% 0.02 245); font-family: "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-size: 0.78rem; line-height: 1.45; white-space: normal; } .record-route { display: flex; align-items: center; gap: var(--space-2); width: min(100%, 18rem); margin-top: var(--space-4); color: oklch(76% 0.024 245); font-size: 0.74rem; font-weight: 800; } .record-route i { flex: 1; height: 1px; background: linear-gradient(90deg, var(--blue), var(--green)); } .signature-card { width: min(100%, 17rem); padding: var(--space-4); border-radius: var(--radius-md); } .signature-card span { display: block; color: oklch(74% 0.024 245); font-size: 0.76rem; } .signature-card strong { display: block; margin-top: var(--space-2); color: oklch(91% 0.012 245); font-size: 1.2rem; } .key-row { display: flex; gap: var(--space-2); width: min(100%, 17rem); margin-top: var(--space-4); } .key-row span { flex: 1; height: 2.8rem; border: 1px solid oklch(95% 0.01 245 / 0.1); border-radius: var(--radius-sm); background: oklch(100% 0 0 / 0.045); } .policy-meter { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100%, 18rem); overflow: hidden; border-radius: 999px; } .policy-meter span { padding: 0.75rem 0.45rem; color: oklch(74% 0.024 245); font-size: 0.68rem; font-weight: 850; text-align: center; text-transform: uppercase; } .policy-meter span:last-child { background: oklch(70% 0.16 147 / 0.22); color: oklch(83% 0.15 147); } .report-line { display: flex; justify-content: space-between; align-items: center; width: min(100%, 18rem); margin-top: var(--space-4); padding: 0.85rem 1rem; border-radius: var(--radius-md); color: oklch(76% 0.024 245); } .report-line strong { color: var(--green); } :root[data-theme="light"] .deliverability-panel { background: transparent; box-shadow: none; } :root[data-theme="light"] .deliverability-bg { background: radial-gradient(62rem 30rem at 0% -10%, oklch(84% 0.07 246 / 0.2), transparent 62%), radial-gradient(42rem 28rem at 100% 0%, oklch(84% 0.08 147 / 0.16), transparent 64%), linear-gradient(to right, oklch(62% 0.04 245 / 0.08) 1px, transparent 1px), linear-gradient(to bottom, oklch(62% 0.04 245 / 0.08) 1px, transparent 1px); background-size: auto, auto, 48px 48px, 48px 48px; } :root[data-theme="light"] .deliverability-head h2, :root[data-theme="light"] .deliverability-card h3 { color: var(--text); } :root[data-theme="light"] .deliverability-head > p, :root[data-theme="light"] .deliverability-card p { color: var(--text-muted); } :root[data-theme="light"] .deliverability-card { border-color: oklch(76% 0.045 245 / 0.64); background: linear-gradient(180deg, oklch(100% 0 0 / 0.9), oklch(96% 0.012 245 / 0.86)), var(--surface); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.9), 0 18px 44px oklch(44% 0.05 245 / 0.1); } :root[data-theme="light"] .deliverability-card::before { background: linear-gradient(to right, oklch(62% 0.04 245 / 0.08) 1px, transparent 1px), linear-gradient(to bottom, oklch(62% 0.04 245 / 0.08) 1px, transparent 1px); opacity: 0.48; } :root[data-theme="light"] .record-code, :root[data-theme="light"] .signature-card, :root[data-theme="light"] .policy-meter, :root[data-theme="light"] .report-line { border-color: oklch(76% 0.045 245 / 0.58); background: linear-gradient(180deg, oklch(100% 0 0 / 0.9), oklch(96% 0.012 245 / 0.9)); box-shadow: 0 12px 28px oklch(44% 0.05 245 / 0.1); } :root[data-theme="light"] .record-code code, :root[data-theme="light"] .signature-card strong { color: var(--text); } :root[data-theme="light"] .record-route, :root[data-theme="light"] .signature-card span, :root[data-theme="light"] .policy-meter span, :root[data-theme="light"] .report-line { color: var(--text-muted); } :root[data-theme="light"] .key-row span { border-color: oklch(76% 0.045 245 / 0.48); background: oklch(100% 0 0 / 0.58); } .continuity-rail { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--line); } .continuity-rail article { display: grid; gap: var(--space-3); padding: var(--space-5); background: oklch(17% 0.04 245); } .continuity-rail span { color: var(--blue); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.12em; } .feature-showcase { display: grid; gap: var(--space-4); max-width: var(--page-max); margin-inline: auto; padding: 0; } :root[data-theme="light"] .feature-showcase { background: transparent; box-shadow: none; } .feature-tabs { display: grid; gap: var(--space-3); } .feature-tabs button { position: relative; display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); align-items: start; min-height: 6rem; padding: var(--space-4); border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: oklch(13% 0.035 245 / 0.72); color: var(--text); text-align: left; cursor: pointer; overflow: hidden; transition: transform 220ms var(--ease-out-quint), border-color 220ms ease, background 220ms ease, box-shadow 260ms ease; } .feature-tabs button::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg, var(--blue), var(--green)); transform: scaleY(0); transform-origin: bottom; transition: transform 240ms var(--ease-out-quint); } .feature-tabs button:hover, .feature-tabs button.is-active { border-color: oklch(61% 0.16 246 / 0.85); transform: translateY(-2px); box-shadow: 0 18px 42px oklch(4% 0.02 245 / 0.18); } :root[data-theme="light"] .feature-tabs button:hover, :root[data-theme="light"] .feature-tabs button.is-active { box-shadow: 0 18px 42px oklch(45% 0.07 245 / 0.14); } .feature-tabs button.is-active::before { transform: scaleY(1); } .feature-tabs button span { grid-row: span 2; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid var(--blue); border-radius: 999px; color: var(--blue); font-size: 0.75rem; font-weight: 850; } .feature-tabs button strong { color: var(--text); font-size: 1.02rem; line-height: 1.2; } .feature-tabs button small { color: var(--text-muted); line-height: 1.45; } .feature-panel { display: grid; align-content: start; gap: var(--space-4); min-height: 100%; padding: clamp(1.25rem, 2.6vw, 2.25rem); border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: linear-gradient(180deg, oklch(20% 0.05 245 / 0.8), oklch(13% 0.035 245 / 0.9)); transition: border-color 220ms ease, transform 260ms var(--ease-out-quint); } .feature-panel.is-switching { transform: translateY(5px); } .feature-panel-top { display: flex; justify-content: space-between; gap: var(--space-3); align-items: start; } .feature-panel h3 { margin: 0; font-size: clamp(1.8rem, 1.2rem + 2vw, 3.2rem); line-height: 1; text-wrap: balance; } .feature-panel-copy { max-width: 42rem; margin: 0; color: var(--text-muted); font-size: var(--step-1); } .feature-proof-list { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; } .feature-proof-list li { display: flex; gap: var(--space-3); align-items: center; color: var(--text-muted); } .feature-proof-list li::before { content: ""; flex: 0 0 auto; width: 0.72rem; height: 0.72rem; border: 1px solid var(--green); border-radius: 999px; box-shadow: 0 0 0 4px oklch(76% 0.18 147 / 0.08); } .migration-board { display: grid; gap: var(--space-5); align-items: start; } .migration-checklist { padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); } .timeline { position: relative; display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; } .timeline::before { content: ""; position: absolute; left: 1.38rem; top: 1.25rem; bottom: 1.25rem; width: 1px; background: linear-gradient(180deg, var(--blue), var(--green)); opacity: 0.55; } .timeline li { position: relative; display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); align-items: start; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: oklch(17% 0.04 245); transition: transform 220ms var(--ease-out-quint), border-color 220ms ease, box-shadow 260ms ease; } .timeline li:hover { transform: translateX(4px); border-color: oklch(61% 0.16 246 / 0.82); box-shadow: 0 16px 44px oklch(4% 0.02 245 / 0.2); } :root[data-theme="light"] .timeline li:hover { box-shadow: 0 16px 44px oklch(45% 0.07 245 / 0.14); } .timeline-step { position: relative; z-index: 1; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border: 1px solid var(--blue); border-radius: 999px; background: var(--surface); color: var(--blue); font-size: 0.76rem; font-weight: 850; letter-spacing: 0.08em; } .timeline strong { display: block; margin-bottom: var(--space-1); color: var(--text); font-size: var(--step-1); } .migration-process-panel { max-width: var(--page-max); margin-inline: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .migration-process-head { display: flex; gap: var(--space-4); align-items: center; } .migration-process-head h2 { margin: 0; color: oklch(96% 0.012 245); font-size: clamp(2rem, 1.2rem + 2.4vw, 3.2rem); } .migration-process-head .eyebrow { margin-bottom: var(--space-2); } .migration-process-head > span { width: 1px; height: 3rem; background: oklch(95% 0.01 245 / 0.12); } .migration-process-head > p { margin: 0; color: oklch(78% 0.024 245); font-size: 0.98rem; } .migration-process-line { height: 1px; margin: var(--space-4) 0 clamp(1.6rem, 3vw, 2.2rem); background: linear-gradient(90deg, oklch(95% 0.01 245 / 0.14), oklch(95% 0.01 245 / 0.04)); } .migration-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 2.5rem); padding: 0; margin: 0; list-style: none; } .migration-process-grid li { position: relative; min-width: 0; } .migration-process-grid li:not(:last-child)::after { content: ""; position: absolute; top: 1.5rem; left: 4.4rem; right: -1.4rem; height: 1px; background: linear-gradient(90deg, oklch(95% 0.01 245 / 0.12), transparent); } .migration-step-badge { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: var(--space-4); border-radius: var(--radius-sm); font-weight: 900; letter-spacing: 0.04em; } .badge-blue { border: 1px solid oklch(68% 0.18 246 / 0.34); background: oklch(58% 0.18 246 / 0.12); color: oklch(76% 0.14 246); } .badge-purple { border: 1px solid oklch(62% 0.18 300 / 0.32); background: oklch(52% 0.15 300 / 0.12); color: oklch(78% 0.12 300); } .badge-green { border: 1px solid oklch(70% 0.16 147 / 0.34); background: oklch(60% 0.15 147 / 0.12); color: oklch(78% 0.16 147); } .badge-amber { border: 1px solid oklch(76% 0.15 76 / 0.34); background: oklch(70% 0.14 76 / 0.12); color: oklch(82% 0.14 76); } .migration-process-grid h3 { margin: 0 0 var(--space-2); color: oklch(96% 0.012 245); font-size: 1.1rem; } .migration-process-grid p { margin: 0; color: oklch(75% 0.024 245); font-size: 0.95rem; line-height: 1.5; } .migration-needs { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); align-items: center; margin-top: clamp(1.8rem, 4vw, 3rem); padding-top: var(--space-5); border-top: 1px solid oklch(95% 0.01 245 / 0.1); } .migration-needs strong { color: oklch(95% 0.012 245); } .migration-needs ul { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding: 0; margin: 0; list-style: none; } .migration-needs li { color: oklch(78% 0.024 245); font-size: 0.92rem; } .migration-needs li::before { content: ""; display: inline-block; width: 0.42rem; height: 0.42rem; margin-right: var(--space-2); border-radius: 50%; background: var(--green); vertical-align: 0.08em; } :root[data-theme="light"] .migration-process-panel { background: transparent; box-shadow: none; } :root[data-theme="light"] .migration-process-head h2, :root[data-theme="light"] .migration-process-grid h3, :root[data-theme="light"] .migration-needs strong { color: var(--text); } :root[data-theme="light"] .migration-process-head > p, :root[data-theme="light"] .migration-process-grid p, :root[data-theme="light"] .migration-needs li { color: var(--text-muted); } :root[data-theme="light"] .migration-process-head > span, :root[data-theme="light"] .migration-process-line, :root[data-theme="light"] .migration-needs { border-color: oklch(76% 0.045 245 / 0.46); } :root[data-theme="light"] .migration-process-head > span { background: oklch(76% 0.045 245 / 0.46); } :root[data-theme="light"] .migration-process-line { background: linear-gradient(90deg, oklch(76% 0.045 245 / 0.54), transparent); } :root[data-theme="light"] .migration-process-grid li:not(:last-child)::after { background: linear-gradient(90deg, oklch(76% 0.045 245 / 0.5), transparent); } .pricing-panel { display: grid; gap: var(--space-5); align-items: center; max-width: 72rem; margin-inline: auto; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: var(--radius-lg); } .pricing-panel h2 { font-size: clamp(2.4rem, 1.5rem + 3vw, 5rem); } .pricing-builder { display: grid; gap: var(--space-4); max-width: 68rem; margin-inline: auto; padding: 0; } :root[data-theme="light"] .pricing-builder { background: transparent; box-shadow: none; } .pricing-control-panel, .pricing-comparison-panel { min-width: 0; border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: oklch(12% 0.034 245 / 0.62); } :root[data-theme="light"] .pricing-control-panel, :root[data-theme="light"] .pricing-comparison-panel { background: oklch(99% 0.006 245 / 0.86); } .pricing-control-panel { display: grid; gap: var(--space-5); align-content: start; padding: clamp(1.25rem, 2vw, 2rem); } .pricing-comparison-panel { display: grid; gap: var(--space-5); padding: clamp(1.25rem, 2vw, 2rem); } .panel-label { display: block; margin-bottom: var(--space-2); color: var(--blue); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; } .pricing-segmented, .mailbox-options { display: grid; gap: var(--space-2); } .pricing-segmented { position: relative; grid-template-columns: repeat(2, 1fr); padding: 0.28rem; border: 1px solid var(--line); border-radius: 999px; background: oklch(9% 0.028 245 / 0.72); overflow: hidden; } :root[data-theme="light"] .pricing-segmented { background: oklch(93% 0.018 245); } .pricing-segmented::before { content: ""; position: absolute; inset: 0.28rem auto 0.28rem 0.28rem; width: calc(50% - 0.28rem); border-radius: 999px; background: linear-gradient(180deg, var(--blue), var(--blue-soft)); box-shadow: 0 10px 28px oklch(58% 0.18 246 / 0.26); transform: translateX(0); transition: transform 260ms var(--ease-out-quint); } .pricing-segmented[data-active="managed"]::before { transform: translateX(100%); } .pricing-segmented button, .mailbox-options button { position: relative; z-index: 1; min-height: 42px; border: 0; border-radius: 999px; background: transparent; color: var(--text-muted); cursor: pointer; font-weight: 800; transition: color 180ms ease, transform 180ms var(--ease-out-quint), border-color 180ms ease, background 180ms ease; } .pricing-segmented button.is-active { color: oklch(98% 0.01 245); } .mailbox-options { grid-template-columns: repeat(3, 1fr); } .mailbox-options button { border: 1px solid var(--line); color: var(--text); background: oklch(14% 0.035 245 / 0.72); } :root[data-theme="light"] .mailbox-options button { background: oklch(96% 0.012 245); } .mailbox-options button:hover, .mailbox-options button.is-active { border-color: var(--blue); background: oklch(24% 0.075 246 / 0.72); color: var(--text); transform: translateY(-1px); } :root[data-theme="light"] .mailbox-options button:hover, :root[data-theme="light"] .mailbox-options button.is-active { background: oklch(88% 0.055 246); } .price-estimate { padding: var(--space-4); border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: linear-gradient(180deg, oklch(20% 0.05 245 / 0.86), oklch(13% 0.035 245 / 0.86)); } :root[data-theme="light"] .price-estimate { background: linear-gradient(180deg, oklch(99% 0.006 245), oklch(94% 0.018 245)); } .price-estimate p { display: flex; align-items: baseline; gap: var(--space-2); margin: 0; color: var(--text); } .plan-total { font-size: clamp(3rem, 2.1rem + 3vw, 5rem); font-weight: 850; line-height: 0.92; font-variant-numeric: tabular-nums; } .price-estimate small, .plan-summary, .pricing-note { color: var(--text-muted); } .price-estimate small strong { color: var(--green); } .offer-banner { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); border: 1px solid oklch(67% 0.16 147 / 0.62); border-radius: var(--radius-md); background: oklch(16% 0.06 147 / 0.18); color: var(--green); font-size: var(--step--1); font-weight: 800; line-height: 1.4; } :root[data-theme="light"] .offer-banner { background: oklch(90% 0.06 147 / 0.32); } .offer-banner-icon { flex: 0 0 auto; color: var(--green); font-size: 1.1rem; } .price-subtext { margin: 0; color: var(--text-muted); font-size: var(--step--1); } .pricing-included-panel { display: grid; gap: var(--space-4); align-content: start; padding: clamp(1.25rem, 2vw, 2rem); border: 1px solid var(--line-soft); border-radius: var(--radius-md); background: oklch(12% 0.034 245 / 0.62); } :root[data-theme="light"] .pricing-included-panel { background: oklch(99% 0.006 245 / 0.86); } .included-feature-list { display: grid; gap: var(--space-3); list-style: none; padding: 0; margin: 0; } .included-feature-list li { display: flex; align-items: center; gap: var(--space-3); color: var(--text-muted); } .included-check { flex: 0 0 auto; color: var(--green); font-weight: 800; font-size: 0.95rem; } .plan-summary, .pricing-note { margin: 0; } .comparison-head { display: flex; justify-content: space-between; gap: var(--space-4); align-items: start; } .comparison-head h3 { max-width: 34rem; margin: 0; color: var(--text); font-size: clamp(1.3rem, 1rem + 1vw, 2rem); } .status-pill { flex: 0 0 auto; padding: 0.45rem 0.7rem; border: 1px solid oklch(67% 0.16 147 / 0.62); border-radius: 999px; color: var(--green); font-size: 0.76rem; font-weight: 800; } .plan-feature-grid { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); scrollbar-width: thin; } .plan-feature-row { display: grid; grid-template-columns: minmax(11rem, 1.2fr) minmax(7rem, 0.8fr) minmax(10rem, 1fr); min-width: 34rem; border-bottom: 1px solid var(--line-soft); } .plan-feature-row:last-child { border-bottom: 0; } .plan-feature-row span { min-width: 0; padding: 0.85rem 0.9rem; border-right: 1px solid var(--line-soft); color: var(--text-muted); } .plan-feature-row span:last-child { border-right: 0; } .plan-feature-row span:nth-child(2), .plan-feature-row span:nth-child(3) { color: var(--text); } .pricing-builder[data-plan="hosting"] .plan-feature-row span:nth-child(2), .pricing-builder[data-plan="managed"] .plan-feature-row span:nth-child(3) { background: oklch(24% 0.075 246 / 0.42); color: oklch(92% 0.03 245); } :root[data-theme="light"] .pricing-builder[data-plan="hosting"] .plan-feature-row span:nth-child(2), :root[data-theme="light"] .pricing-builder[data-plan="managed"] .plan-feature-row span:nth-child(3) { background: oklch(91% 0.05 246); color: var(--text); } .faq-list { display: grid; gap: var(--space-3); max-width: 56rem; margin-inline: auto; } details { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); } summary { min-height: 56px; padding: var(--space-4); cursor: pointer; color: var(--text); font-weight: 800; } details p { margin: 0; padding: 0 var(--space-4) var(--space-4); } .assessment-section { position: relative; display: block; width: calc(100% - (var(--page-gutter) * 2)); max-width: var(--page-max); margin: clamp(3.5rem, 7vw, 6rem) auto; padding: clamp(1.25rem, 3vw, 3rem); overflow: hidden; border: 1px solid oklch(58% 0.09 246 / 0.45); border-radius: clamp(1.25rem, 2vw, 1.75rem); background: oklch(12% 0.034 245); box-shadow: inset 0 1px 0 oklch(95% 0.01 245 / 0.08), 0 30px 90px oklch(4% 0.02 245 / 0.36); } .assessment-bg { position: absolute; inset: 0; background: linear-gradient(64deg, oklch(5% 0.018 245 / 0.92), oklch(15% 0.04 178 / 0.76) 52%, oklch(31% 0.04 183 / 0.48)), url("https://hoirqrkdgbmvpwutwuwj.supabase.co/storage/v1/object/public/assets/assets/60668e31-2150-424e-b292-05bfdda254e0_1600w.jpg") center / cover; opacity: 0.98; } .assessment-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 18%, oklch(66% 0.14 246 / 0.18), transparent 23rem), linear-gradient(180deg, transparent, oklch(4% 0.015 245 / 0.62)); } :root[data-theme="light"] .assessment-section { border-color: oklch(76% 0.045 245 / 0.72); background: oklch(97% 0.01 245); box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.78), 0 30px 90px oklch(50% 0.05 245 / 0.16); } :root[data-theme="light"] .assessment-bg { background: linear-gradient(64deg, oklch(98% 0.006 245 / 0.92), oklch(93% 0.03 180 / 0.82) 54%, oklch(86% 0.055 205 / 0.62)), url("https://hoirqrkdgbmvpwutwuwj.supabase.co/storage/v1/object/public/assets/assets/60668e31-2150-424e-b292-05bfdda254e0_1600w.jpg") center / cover; opacity: 1; } :root[data-theme="light"] .assessment-bg::after { background: radial-gradient(circle at 78% 16%, oklch(82% 0.095 246 / 0.26), transparent 24rem), linear-gradient(180deg, oklch(100% 0 0 / 0.2), oklch(95% 0.018 245 / 0.82)); } .assessment-layout { position: relative; z-index: 1; display: grid; gap: clamp(2rem, 4vw, 4rem); align-items: start; } .assessment-form-card { padding: clamp(1rem, 2vw, 1.35rem); border: 1px solid oklch(35% 0.02 245 / 0.25); border-radius: var(--radius-lg); background: oklch(97% 0.006 245 / 0.92); color: oklch(18% 0.03 245); box-shadow: 0 24px 62px oklch(4% 0.02 245 / 0.28); backdrop-filter: blur(14px); } .assessment-form-head { display: flex; justify-content: space-between; gap: var(--space-4); align-items: start; margin-bottom: var(--space-4); } .assessment-form-head p { margin: 0 0 var(--space-1); color: oklch(45% 0.025 245); font-size: 0.72rem; } .assessment-form-head h3 { margin: 0; color: oklch(17% 0.03 245); font-size: clamp(1.65rem, 1.2rem + 1.4vw, 2.25rem); line-height: 1.04; } .form-head-icon { display: grid; place-items: center; flex: 0 0 auto; width: 2.35rem; height: 2.35rem; border-radius: var(--radius-sm); background: oklch(13% 0.03 245); color: white; } .form-head-icon svg, .assessment-highlights svg, .contact-avatar svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } .assessment-form { display: grid; gap: var(--space-3); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } :root[data-theme="light"] .assessment-form { border: 0; background: transparent; box-shadow: none; } .form-row { display: grid; gap: var(--space-2); } .split-form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); } label { color: var(--text); font-weight: 800; } .assessment-form label { color: oklch(38% 0.03 245); font-size: 0.78rem; font-weight: 650; } .assessment-form label span { color: oklch(58% 0.025 245); } input, select, textarea { width: 100%; min-height: 50px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.72rem 0.85rem; background: oklch(12% 0.034 245); color: var(--text); } textarea { min-height: 6rem; resize: vertical; } input::placeholder, textarea::placeholder { color: oklch(68% 0.03 245); } .assessment-form input, .assessment-form select, .assessment-form textarea { border-color: oklch(73% 0.025 245); border-radius: 0.85rem; background: white; color: oklch(18% 0.03 245); font-size: 0.95rem; outline: none; } .assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { border-color: oklch(55% 0.18 246); box-shadow: 0 0 0 3px oklch(68% 0.18 246 / 0.18); } .assessment-form input::placeholder, .assessment-form textarea::placeholder { color: oklch(63% 0.025 245); } :root[data-theme="light"] input, :root[data-theme="light"] select, :root[data-theme="light"] textarea { background: oklch(99% 0.006 245); color: var(--text); border-color: var(--line); } :root[data-theme="light"] input::placeholder, :root[data-theme="light"] textarea::placeholder { color: var(--text-dim); } :root[data-theme="light"] .assessment-form input, :root[data-theme="light"] .assessment-form select, :root[data-theme="light"] .assessment-form textarea { background: white; color: oklch(18% 0.03 245); border-color: oklch(73% 0.025 245); } .assessment-copy { display: grid; gap: var(--space-4); align-content: start; padding-block: clamp(0.5rem, 1.8vw, 1rem); color: white; } .assessment-copy .eyebrow { color: oklch(78% 0.12 246); } .assessment-copy h2 { max-width: 11ch; margin: 0; color: white; font-size: clamp(2.9rem, 2.2rem + 3vw, 5.25rem); line-height: 0.96; } .assessment-copy > p { max-width: 46rem; margin: 0; color: oklch(92% 0.018 245); font-size: clamp(1.03rem, 0.75rem + 0.9vw, 1.35rem); line-height: 1.45; } :root[data-theme="light"] .assessment-copy { color: var(--text); } :root[data-theme="light"] .assessment-copy h2, :root[data-theme="light"] .assessment-highlights strong { color: var(--text); } :root[data-theme="light"] .assessment-copy > p, :root[data-theme="light"] .assessment-highlights p { color: var(--text-muted); } .assessment-highlights { display: grid; gap: var(--space-4); margin-top: var(--space-2); } .assessment-highlights article { display: flex; gap: var(--space-3); align-items: start; min-width: 0; } .assessment-highlights span { display: grid; place-items: center; flex: 0 0 auto; width: 2.3rem; height: 2.3rem; border: 1px solid oklch(96% 0.01 245 / 0.18); border-radius: var(--radius-sm); background: oklch(100% 0 0 / 0.1); color: oklch(77% 0.18 147); backdrop-filter: blur(10px); } .assessment-highlights strong { display: block; color: white; line-height: 1.2; } .assessment-highlights p { margin: var(--space-1) 0 0; color: oklch(84% 0.02 245); font-size: 0.9rem; line-height: 1.4; } :root[data-theme="light"] .assessment-highlights span { border-color: oklch(78% 0.045 245 / 0.66); background: oklch(99% 0.006 245 / 0.72); color: var(--green); } .direct-contact-card { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); justify-self: start; margin-top: var(--space-2); padding: var(--space-3); border: 1px solid oklch(20% 0.025 245 / 0.18); border-radius: var(--radius-lg); background: oklch(97% 0.006 245 / 0.94); color: oklch(18% 0.03 245); box-shadow: 0 20px 52px oklch(4% 0.02 245 / 0.22); backdrop-filter: blur(14px); } .contact-avatar { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: var(--radius-md); background: oklch(94% 0.025 246); color: var(--blue); } .contact-avatar svg { width: 2rem; height: auto; } .direct-contact-card p { margin: 0; color: oklch(45% 0.025 245); font-size: 0.72rem; line-height: 1.2; } .direct-contact-card strong { display: block; color: oklch(18% 0.03 245); line-height: 1.2; } .direct-contact-card a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.65rem 0.85rem; border-radius: 0.85rem; background: oklch(13% 0.03 245); color: white; font-size: 0.83rem; font-weight: 800; } .field-error { min-height: 1.1rem; margin: 0; color: var(--danger); font-size: var(--step--1); } .form-trust-line { margin: var(--space-2) 0 0; color: var(--text-dim); font-size: var(--step--1); text-align: center; } .form-status { min-height: 1.5rem; margin: 0; color: oklch(42% 0.16 147); font-weight: 750; } .site-footer { padding: 0 var(--page-gutter) clamp(2rem, 4vw, 3rem); border-top: 1px solid oklch(95% 0.01 245 / 0.1); background: linear-gradient(180deg, oklch(7% 0.02 245), oklch(3% 0.012 245)); color: oklch(94% 0.012 245); } :root[data-theme="light"] .site-footer { border-top-color: oklch(72% 0.045 245 / 0.46); background: linear-gradient(180deg, oklch(15% 0.034 245), oklch(8% 0.024 245)); color: oklch(96% 0.012 245); } .footer-inner { max-width: var(--page-max); margin-inline: auto; padding-top: clamp(3rem, 6vw, 5rem); } .footer-main { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(10rem, 0.7fr) minmax(14rem, 0.8fr); gap: clamp(2rem, 6vw, 6rem); } .footer-brand { display: grid; gap: var(--space-4); align-content: start; } .footer-logo { display: inline-grid; grid-template-columns: 2.55rem auto; gap: var(--space-3); align-items: center; width: fit-content; color: oklch(98% 0.006 245); } .footer-logo .brand-mark { width: 2.55rem; height: 2.05rem; color: var(--blue); } .footer-logo strong, .footer-logo span span { display: block; line-height: 1; text-transform: uppercase; } .footer-logo strong { font-size: 1rem; letter-spacing: 0.08em; } .footer-logo span span { margin-top: 0.18rem; color: oklch(70% 0.16 246); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.16em; } .footer-brand p { max-width: 34rem; margin: 0; color: oklch(75% 0.025 245); font-size: var(--step-0); } .footer-links h2, .footer-contact h2 { margin: 0; color: oklch(98% 0.006 245); font-size: 0.92rem; } .footer-links ul, .footer-contact ul { display: grid; gap: var(--space-2); margin: var(--space-4) 0 0; padding: 0; list-style: none; } .footer-links a, .footer-contact a, .footer-bottom a { color: oklch(75% 0.025 245); transition: color 180ms ease; } .footer-links a:hover, .footer-contact a:hover, .footer-bottom a:hover { color: oklch(96% 0.012 245); } .footer-contact li { color: oklch(65% 0.028 245); } .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); align-items: center; margin-top: clamp(3rem, 6vw, 5rem); padding-top: var(--space-5); border-top: 1px solid oklch(95% 0.01 245 / 0.1); color: oklch(58% 0.03 245); font-size: 0.86rem; } .footer-bottom p { margin: 0; } .footer-bottom > div { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; } .back-to-top { display: inline-flex; gap: var(--space-1); align-items: center; } .back-to-top svg { width: 0.95rem; height: 0.95rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; } @media (min-width: 760px) { .site-header { grid-template-columns: auto 1fr auto; } .menu-toggle { display: none; } .nav-menu { display: flex; justify-content: start; gap: clamp(0.35rem, 1.35vw, 1.2rem); margin-inline: var(--space-3); } .nav-menu a { padding-inline: 0.3rem; } .header-actions { display: flex; align-items: center; gap: clamp(0.6rem, 1vw, var(--space-3)); min-width: 0; margin-left: var(--space-2); } .header-actions .button { display: none; } .mail-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } .status-strip { grid-template-columns: 1.1fr repeat(2, 1fr); align-items: center; } .split-section, .migration-board { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); } .assessment-layout { grid-template-columns: minmax(19rem, 0.78fr) minmax(0, 1.22fr); } .assessment-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pricing-panel { grid-template-columns: 1fr auto; } .pricing-builder { grid-template-columns: minmax(19rem, 0.78fr) minmax(0, 1.22fr); } .feature-showcase { grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr); align-items: stretch; } .feature-tabs { grid-template-columns: 1fr; } .support-rail { max-width: 34rem; } } @media (min-width: 1060px) { .site-header { grid-template-columns: auto minmax(22rem, 1fr) auto; } .header-actions .button { display: inline-flex; } .hero-grid { gap: clamp(2.5rem, 4vw, 4rem); } .architecture-panel { max-width: 52rem; margin-inline: auto; } .module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .mail-flow { position: relative; min-height: 0; grid-template-columns: minmax(10rem, 1fr) 2.8rem minmax(13rem, 1.28fr) 2.8rem minmax(11rem, 1.05fr) 2.8rem minmax(11rem, 1.05fr); align-items: start; padding: var(--space-2); padding-bottom: 8rem; column-gap: 0; } .flow-lane { min-height: 0; border: 0; background: transparent; } .flow-lane.inbound, .flow-lane.buffer, .flow-lane.delivery, .flow-lane.outbound { position: relative; } .flow-lane.inbound .source-list::after { content: ""; position: absolute; right: 1rem; top: 6.05rem; width: 3.1rem; height: 4.9rem; border-right: 0; border-top: 2px dashed var(--blue); border-bottom: 2px dashed var(--blue); border-radius: 0 999px 999px 0; opacity: 0.95; transform: none; } .flow-lane.inbound { grid-column: 1; } .flow-lane.buffer { grid-column: 3; } .flow-lane.delivery { grid-column: 5; } .flow-lane.outbound { grid-column: 7; } .flow-connector { align-self: start; position: relative; display: block; height: 2px; margin-top: 7.15rem; background: var(--blue); box-shadow: 0 0 14px oklch(65% 0.16 246 / 0.42); } .flow-connector::after { content: ""; position: absolute; top: -4px; right: 0; width: 10px; height: 10px; border-top: 2px solid var(--blue); border-right: 2px solid var(--blue); transform: rotate(45deg); } .connector-a { grid-column: 2; } .connector-b { grid-column: 4; } .connector-c { grid-column: 6; } .flow-lane.standby { position: absolute; right: var(--space-3); bottom: 0; width: min(13rem, 20%); min-height: auto; margin-top: 0; } .flow-lines { display: none; } .line { fill: none; stroke: var(--blue); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 6px oklch(65% 0.16 246 / 0.36)); } .line.dashed { stroke-dasharray: 9 9; } .status-strip { grid-template-columns: 1fr 1.15fr repeat(3, 1fr) auto; } .aws-box { min-height: 7.2rem; } .local-strip { grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 1fr); align-items: center; } } @media (max-width: 1500px) and (min-width: 760px) { .header-actions .button { display: none; } } @media (max-width: 1240px) and (min-width: 760px) { .site-header { grid-template-columns: auto 1fr auto; } .brand { grid-template-columns: 2.35rem auto; gap: var(--space-2); letter-spacing: 0.06em; } .brand-mark { width: 2.25rem; height: 2.25rem; } .nav-menu { justify-content: end; } } @media (max-width: 980px) { .footer-main { grid-template-columns: 1fr 1fr; } .footer-brand { grid-column: 1 / -1; } .local-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .deliverability-head, .deliverability-card-grid { grid-template-columns: 1fr; } .deliverability-head h2 { max-width: 16ch; } .process-card-grid { grid-template-columns: 1fr; } .process-card { min-height: 0; } .migration-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .migration-process-grid li::after { display: none; } } @media (max-width: 560px) { :root { --page-gutter: clamp(1rem, 5vw, 1.25rem); } .site-header { padding-inline: var(--page-gutter); } .menu-toggle { position: fixed; top: max(0.85rem, env(safe-area-inset-top)); right: 1rem; } .hero-actions, .hero-actions .button, .button-large { width: 100%; } .hero-actions { display: grid; max-width: calc(100vw - (var(--page-gutter) * 2)); } .hero-actions .button { justify-self: stretch; inline-size: 100%; padding-inline: 0.9rem; font-size: 0.95rem; overflow-wrap: anywhere; } .hero-copy, .hero-lede, .trust-list, .architecture-panel, .module-grid, .local-strip, .content-section { max-width: 100%; } .hero-lede { max-width: 100%; } .hero-copy { padding-right: 0; } h1 { max-width: 10ch; font-size: clamp(2rem, 12vw, 3rem); } .architecture-panel { overflow: hidden; padding: 0; } .architecture-image { width: 100%; max-width: 100%; min-height: 20rem; object-fit: contain; } .button { max-width: 100%; min-width: 0; } .panel-head { display: grid; } .panel-head h2 { text-align: left; } .process-steps { grid-template-columns: 1fr; } .module-grid { grid-template-columns: 1fr; } .module-card { min-height: 0; } .local-strip { margin-top: clamp(3rem, 10vw, 4rem); } .local-strip ul { grid-template-columns: 1fr; } .local-strip li { min-height: 0; grid-template-columns: auto 1fr; align-items: center; } .deliverability-panel { padding: 0; } .deliverability-head { gap: var(--space-4); } .deliverability-head h2 { max-width: 100%; } .deliverability-card { min-height: 0; } .record-visual { min-height: 12rem; } .process-heading { text-align: left; } .process-heading .process-kicker { justify-self: start; } .process-card { padding: var(--space-5); } .process-card-content { justify-items: start; text-align: left; } .process-card h3 { max-width: 100%; } .process-card p { margin-inline: 0; } .process-step-label { margin-left: 0.55rem; } .process-cta { display: grid; align-items: stretch; } .process-cta .button { justify-content: center; width: 100%; } .migration-process-panel { padding: 0; } .migration-process-head { display: grid; gap: var(--space-3); } .migration-process-head > span { display: none; } .migration-process-grid { grid-template-columns: 1fr; } .migration-step-badge { width: 2.7rem; height: 2.7rem; } .migration-needs { display: grid; } .migration-needs ul { display: grid; } .record-stack article { grid-template-columns: 1fr; } .compare-table { overflow-x: auto; font-size: 0.68rem; } .compare-table [role="row"] { min-width: 20rem; grid-template-columns: 1.05fr repeat(3, minmax(3.05rem, 0.7fr)); } .compare-table span { padding: 0.5rem 0.25rem; overflow-wrap: anywhere; } .comparison-head { display: grid; } .status-pill { justify-self: start; } .feature-panel-top { display: grid; } .feature-tabs button { min-height: 0; } .timeline::before { left: 1.18rem; } .timeline li { gap: var(--space-3); padding: var(--space-3); } .timeline-step { width: 2.35rem; height: 2.35rem; } .assessment-section { width: calc(100% - (var(--page-gutter) * 2)); padding: var(--space-4); } .split-form-row { grid-template-columns: 1fr; } .assessment-copy h2 { max-width: 10ch; font-size: clamp(2.35rem, 13vw, 3.4rem); } .direct-contact-card { display: grid; grid-template-columns: auto 1fr; width: 100%; } .direct-contact-card a { grid-column: 1 / -1; justify-content: center; } .footer-main { grid-template-columns: 1fr; } .footer-bottom, .footer-bottom > div { align-items: flex-start; } .footer-bottom { flex-direction: column; } .pricing-segmented { border-radius: var(--radius-md); } .pricing-segmented button { padding-inline: 0.5rem; font-size: 0.88rem; } .plan-total { font-size: clamp(2.6rem, 16vw, 4rem); } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } .motion-ready .reveal-item, .motion-ready .hero-copy.reveal-item, .motion-ready .architecture-panel.reveal-item { opacity: 1; transform: none; } .status-strip i { animation: none; } }