@import url('design-system-saas.css');.site-header{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);padding-block:var(--sp-4)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.site-header__descriptor{font-size:var(--text-sm);font-weight:500;color:var(--color-ink-muted);display:flex;align-items:center;gap:var(--sp-3)}.site-header__descriptor::before{content:'';display:inline-block;width:6px;height:6px;background:var(--color-success);border-radius:50%}.site-header__meta{font-size:var(--text-xs);color:var(--color-ink-faint)}.homepage-layout{display:grid;grid-template-columns:1fr;gap:var(--sp-12);padding-top:var(--sp-12);align-items:start}@media (min-width:1024px){.homepage-layout{grid-template-columns:minmax(0,1fr) 320px}}.homepage-content{max-width:68ch}.page-hero{margin-bottom:var(--sp-10)}.page-hero__meta{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-hero__read-time{font-size:var(--text-xs);font-weight:500;color:var(--color-ink-muted);display:flex;align-items:center;gap:var(--sp-2)}.page-hero__read-time::before{content:'·';color:var(--color-border-strong)}.page-hero h1{font-size:var(--text-hero);font-weight:800;letter-spacing:-0.03em;line-height:1.08;color:var(--color-ink);margin-bottom:var(--sp-6)}.page-hero__lead{font-size:var(--text-lead);color:var(--color-ink-secondary);line-height:var(--leading-loose);margin-bottom:0}@media (max-width:640px){.page-hero h1{font-size:var(--text-h1)}}.homepage-content section{scroll-margin-top:80px}.homepage-content h2{font-size:var(--text-h2);font-weight:700;color:var(--color-ink);margin-top:var(--sp-16);margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--sp-3)}.homepage-content h2 .section-num{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-ink-faint);letter-spacing:0;align-self:flex-end;padding-bottom:2px}.phases{display:grid;gap:var(--sp-5);margin-block:var(--sp-8)}.homepage-sidebar{display:none}@media (min-width:1024px){.homepage-sidebar{display:block;position:sticky;top:80px}}.sidebar-block{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-5);margin-bottom:var(--sp-5);background:var(--color-bg)}.sidebar-block__label{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2)}.sidebar-toc-list{list-style:none;padding:0}.sidebar-toc-list li{margin-bottom:var(--sp-1)}.sidebar-toc-list a{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);font-weight:500;color:var(--color-ink-muted);text-decoration:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);transition:background 0.15s ease,color 0.15s ease;line-height:var(--leading-snug)}.sidebar-toc-list a::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--color-border-strong);flex-shrink:0;transition:background 0.15s ease}.sidebar-toc-list a:hover{background:var(--color-bg-subtle);color:var(--color-accent)}.sidebar-toc-list a:hover::before{background:var(--color-accent)}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.sidebar-stat{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4);background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border)}.sidebar-stat__value{font-family:var(--font-mono);font-size:1.25rem;font-weight:500;color:var(--color-ink);line-height:1}.sidebar-stat__label{font-size:0.6875rem;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-snug)}.sidebar-newsletter{background:linear-gradient(135deg,#0F172A 0%,#1E3A5F 100%);border-radius:var(--radius-lg);padding:var(--sp-5);margin-bottom:var(--sp-5)}.sidebar-newsletter__label{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:#60A5FA;margin-bottom:var(--sp-3)}.sidebar-newsletter h3{font-size:var(--text-md);font-weight:700;color:#FFFFFF;margin-top:0;margin-bottom:var(--sp-2);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);font-style:normal}.sidebar-newsletter p{font-size:var(--text-xs);color:#94A3B8;margin-bottom:var(--sp-4);line-height:var(--leading-body)}.sidebar-newsletter .newsletter-input{width:100%;margin-bottom:var(--sp-2);font-size:var(--text-sm);padding:0.6rem var(--sp-4);border-radius:var(--radius-sm)}.sidebar-newsletter .newsletter-btn{width:100%;font-size:var(--text-sm);padding:0.6rem var(--sp-4);border-radius:var(--radius-sm)}.sidebar-pages-list{list-style:none;padding:0}.sidebar-pages-list li{margin-bottom:var(--sp-1)}.sidebar-pages-list a{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--color-ink-secondary);text-decoration:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);transition:background 0.15s ease,color 0.15s ease;gap:var(--sp-3)}.sidebar-pages-list a:hover{background:var(--color-bg-subtle);color:var(--color-accent);text-decoration:none}.page-cat{font-size:0.65rem;font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-faint);flex-shrink:0;padding:2px 7px;background:var(--color-bg-muted);border-radius:var(--radius-pill)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-block:var(--sp-8)}.stat-item{padding:var(--sp-5);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.stat-item__value{font-family:var(--font-mono);font-size:1.5rem;font-weight:500;color:var(--color-ink);line-height:1;display:block;margin-bottom:var(--sp-2)}.stat-item__label{font-size:var(--text-xs);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-snug)}@media (max-width:640px){.stat-row{grid-template-columns:repeat(2,1fr)}}.phase-strip{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-8);padding:var(--sp-5) var(--sp-6);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap}.phase-strip__item{display:flex;align-items:center;gap:var(--sp-3);flex:1;min-width:130px}.phase-strip__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-bg-muted);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-ink-muted);flex-shrink:0}.phase-strip__item--accent .phase-strip__icon{background:var(--color-accent-light);border-color:var(--color-accent-mid);color:var(--color-accent)}.phase-strip__label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--color-ink);letter-spacing:var(--tracking-normal)}.phase-strip__item--accent .phase-strip__label{color:var(--color-accent)}.phase-strip__sub{display:block;font-size:var(--text-xs);color:var(--color-ink-muted);margin-top:1px}.phase-strip__arrow{color:var(--color-border-strong);flex-shrink:0;display:none}@media (min-width:640px){.phase-strip__arrow{display:block}}.phase-item{display:grid;grid-template-columns:48px 1fr;gap:var(--sp-5);align-items:start;padding:var(--sp-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);transition:border-color 0.2s ease,box-shadow 0.2s ease}.phase-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.phase-item--transfer{border-color:var(--color-highlight-border);background:var(--color-highlight)}.phase-item--transfer:hover{border-color:var(--color-success)}.phase-item__icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-accent-light);border:1px solid var(--color-accent-mid);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.phase-item--transfer .phase-item__icon{background:#DCFCE7;border-color:var(--color-highlight-border);color:var(--color-success)}.phase-item__content h3{font-size:var(--text-md);font-weight:700;color:var(--color-ink);margin-top:0;margin-bottom:var(--sp-3);letter-spacing:var(--tracking-normal)}.phase-item__content p{font-size:var(--text-sm);color:var(--color-ink-secondary);margin-bottom:var(--sp-4);line-height:var(--leading-body)}.phase-checklist{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--sp-4)}.phase-checklist li{font-size:var(--text-xs);font-weight:500;color:var(--color-ink-muted);display:flex;align-items:center;gap:var(--sp-2);margin-bottom:0}.phase-checklist li::before{content:'';display:inline-block;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;flex-shrink:0}.phase-item--transfer .phase-checklist li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}.transfer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-3);margin-block:var(--sp-8)}.transfer-card{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color 0.15s ease}.transfer-card:hover{border-color:var(--color-accent)}.transfer-card__icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-accent-light);border:1px solid var(--color-accent-mid);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.transfer-card__content{display:flex;flex-direction:column;gap:3px}.transfer-card__title{font-size:var(--text-sm);font-weight:600;color:var(--color-ink);line-height:1.2}.transfer-card__mech{font-size:var(--text-xs);color:var(--color-ink-muted);line-height:var(--leading-snug)}.fit-grid{display:grid;gap:var(--sp-4);margin-block:var(--sp-6)}.fit-card{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-5) var(--sp-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color 0.15s ease}.fit-card:hover{border-color:var(--color-accent)}.fit-card__icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fit-card__icon--yes{background:var(--color-highlight);border:1px solid var(--color-highlight-border);color:var(--color-success)}.fit-card strong{display:block;font-size:var(--text-md);font-weight:600;color:var(--color-ink);margin-bottom:var(--sp-2)}.fit-card p{font-size:var(--text-sm);color:var(--color-ink-muted);margin-bottom:0;line-height:var(--leading-body)}.nofit-list{display:grid;gap:var(--sp-3);margin-block:var(--sp-6)}.nofit-item{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-5) var(--sp-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.nofit-item__icon{width:32px;height:32px;border-radius:50%;background:#FEF2F2;border:1px solid #FECACA;color:var(--color-error);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.nofit-item strong{display:block;font-size:var(--text-md);font-weight:600;color:var(--color-ink);margin-bottom:var(--sp-2)}.nofit-item p{font-size:var(--text-sm);color:var(--color-ink-muted);margin-bottom:0;line-height:var(--leading-body)}.risk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4);margin-block:var(--sp-6)}.risk-card{padding:var(--sp-5) var(--sp-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.risk-card--high{border-color:#FECACA;background:#FFF5F5}.risk-card__header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.risk-card__header strong{font-size:var(--text-sm);font-weight:700;color:var(--color-ink);flex:1}.risk-card__icon{width:30px;height:30px;border-radius:var(--radius-sm);background:#FEF2F2;border:1px solid #FECACA;color:var(--color-error);display:flex;align-items:center;justify-content:center;flex-shrink:0}.risk-card p{font-size:var(--text-sm);color:var(--color-ink-muted);margin-bottom:0;line-height:var(--leading-body)}.risk-badge{font-size:0.65rem;font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-pill);background:#FEE2E2;color:var(--color-error);flex-shrink:0}.risk-badge--med{background:#FEF9C3;color:#854D0E}.risk-badge--low{background:var(--color-highlight);color:var(--color-success)}.breadcrumb{font-size:var(--text-xs);color:var(--color-ink-muted);margin-bottom:var(--sp-6);display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.breadcrumb a{color:var(--color-ink-muted);text-decoration:none}.breadcrumb a:hover{color:var(--color-accent);text-decoration:none}.breadcrumb__sep{color:var(--color-border-strong)}.breadcrumb__current{color:var(--color-ink-secondary);font-weight:500}.section-identity{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);margin-top:var(--sp-16);margin-bottom:var(--sp-3)}.section-identity--enterprise{background:var(--color-violet-light);border-left:3px solid var(--color-violet)}.section-identity--cloud{background:var(--color-sky-light);border-left:3px solid var(--color-sky)}.section-identity--data{background:var(--color-teal-light);border-left:3px solid var(--color-teal)}.section-identity--legacy{background:var(--color-slate-warm-light);border-left:3px solid var(--color-slate-warm)}.section-identity__icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-identity--enterprise .section-identity__icon{color:#5B21B6}.section-identity--cloud .section-identity__icon{color:#0369A1}.section-identity--data .section-identity__icon{color:var(--color-teal-dark)}.section-identity--legacy .section-identity__icon{color:var(--color-slate-warm)}.section-identity__category{font-size:var(--text-xs);font-weight:800;letter-spacing:0.1em;text-transform:uppercase}.section-identity--enterprise .section-identity__category{color:#5B21B6}.section-identity--cloud .section-identity__category{color:#0369A1}.section-identity--data .section-identity__category{color:var(--color-teal-dark)}.section-identity--legacy .section-identity__category{color:var(--color-slate-warm)}.section-identity__desc{font-size:var(--text-xs);color:var(--color-ink-muted);margin-left:auto}.section-identity + h2,.section-identity + section > h2:first-child{margin-top:0;padding-bottom:var(--sp-4);border-bottom:1px solid var(--color-border)}@media (max-width:640px){.section-identity__desc{display:none}.section-identity{padding:var(--sp-2) var(--sp-3)}}.sidebar-tech-categories{margin-bottom:var(--sp-5)}.sidebar-tech-cats__label{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:var(--sp-3)}.sidebar-tech-cats__pills{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.sidebar-stat--accent{background:var(--color-accent);border-color:var(--color-accent)}.sidebar-stat--accent .sidebar-stat__value{color:white}.sidebar-stat--accent .sidebar-stat__label{color:rgba(255,255,255,0.75)}.section-num{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-ink-faint);letter-spacing:0;align-self:flex-end;padding-bottom:2px;min-width:28px}.further-reading{border-top:3px solid var(--color-ink)}
.sidebar-newsletter__heading{font-size:1.0625rem;font-weight:600;color:var(--color-ink);line-height:1.45;margin-bottom:var(--sp-3);margin-top:0}
.site-footer a,.reading-card,.reading-card__title,.reading-card__cat,.reading-card__arrow,.nav-cta,.newsletter-btn,.sidebar-pages-list a,.sidebar-toc-list a{text-decoration:none !important}
.sidebar-pages-list a:hover,.sidebar-toc-list a:hover{text-decoration:none !important}
