
        :root {
            --coral: #F2A09A;
            --coral-light: #FDF5F4;
            --coral-dark: #E88B84;
            --teal: #4CB5AE;
            --teal-dark: #3A9A94;
            --teal-light: #E8F6F5;
            --navy: #1A2B3C;
            --text-dark: #2D3748;
            --text-gray: #5A6B7D;
            --text-light: #8899AA;
            --white: #FFFFFF;
            --bg-cream: #FFFAF9;
            --border: #E8ECF1;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            color: var(--text-dark);
            line-height: 1.6;
            background: var(--white);
            -webkit-font-smoothing: antialiased;
        }
        h1, h2, h3 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; color: var(--navy); }
        a { color: var(--teal-dark); }
        a:focus-visible { outline: 3px solid #1a6dca; outline-offset: 4px; }
        .container { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
        .sw-hero-inner > *, .step > *, .price-wrap > *, .safe-grid > *, .compare-wrap > * { min-width: 0; }
        svg { max-width: 100%; }
        .eyebrow {
            display: inline-flex; align-items: center; gap: 8px;
            background: rgba(76, 181, 174, 0.15); color: var(--teal-dark);
            padding: 8px 18px; border-radius: 24px;
            font-size: 0.78rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
            margin-bottom: 20px;
        }
        .eyebrow svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }
        .section-label { text-align: center; margin-bottom: 8px; }
        .section-label span { font-size: 0.82rem; font-weight: 600; color: var(--text-gray); text-transform: uppercase; letter-spacing: 1.5px; }
        .section-heading { text-align: center; font-size: clamp(1.9rem, 4vw, 2.6rem); line-height: 1.15; margin-bottom: 14px; }
        .section-heading .accent { color: var(--teal); }
        .section-lead { text-align: center; max-width: 680px; margin: 0 auto; color: var(--text-gray); font-size: 1.05rem; line-height: 1.7; }

        /* Buttons */
        .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 30px; border-radius: 50px; font-weight: 600; font-size: 0.95rem; text-decoration: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
        .btn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
        .btn-teal { background: var(--teal); color: var(--white); box-shadow: 0 4px 14px rgba(76,181,174,0.3); }
        .btn-teal:hover { background: var(--teal-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(76,181,174,0.4); }
        .btn-ghost { background: var(--white); color: var(--navy); border: 1.5px solid var(--border); }
        .btn-ghost:hover { border-color: var(--teal); color: var(--teal-dark); transform: translateY(-2px); }

        /* Reveal */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* ============ HERO ============ */
        .sw-hero { padding: 140px 20px 70px; background: linear-gradient(180deg, var(--bg-cream) 0%, var(--white) 100%); position: relative; overflow: hidden; }
        .sw-hero::before { content: ''; position: absolute; top: -200px; right: -200px; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(circle, rgba(76,181,174,0.14) 0%, transparent 70%); pointer-events: none; }
        .sw-hero-inner { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; position: relative; }
        .sw-hero h1 { font-size: clamp(2.4rem, 5.2vw, 3.6rem); line-height: 1.1; margin-bottom: 20px; }
        .sw-hero h1 .accent { color: var(--teal); position: relative; }
        .sw-hero h1 .accent::after { content: ''; position: absolute; left: 0; right: 0; bottom: 4px; height: 10px; background: rgba(242,160,154,0.45); z-index: -1; border-radius: 3px; }
        .sw-hero-intro { font-size: 1.12rem; color: var(--text-gray); max-width: 560px; line-height: 1.7; }
        .sw-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
        .sw-hero-note { margin-top: 18px; font-size: 0.88rem; color: var(--text-gray); display: flex; align-items: center; gap: 8px; }
        .sw-hero-note svg { width: 16px; height: 16px; stroke: var(--teal); fill: none; stroke-width: 2.2; flex-shrink: 0; }

        .bring-card { background: var(--white); border: 1px solid var(--border); border-radius: 20px; padding: 28px; box-shadow: 0 16px 50px rgba(26,43,60,0.08); }
        .bring-card h2 { font-size: 1.35rem; margin-bottom: 6px; }
        .bring-card > p { color: var(--text-gray); font-size: 0.9rem; margin-bottom: 18px; }
        .bring-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; list-style: none; }
        .bring-grid li { display: flex; align-items: center; gap: 10px; font-size: 0.88rem; font-weight: 500; color: var(--navy); padding: 8px 10px; border-radius: 10px; background: var(--teal-light); }
        .bring-grid li svg { width: 16px; height: 16px; stroke: var(--teal-dark); fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
        .bring-card .bring-foot { margin-top: 16px; font-size: 0.8rem; color: var(--text-light); }

        /* ============ COMPARISON ============ */
        .sw-compare { padding: 80px 20px; background: var(--white); }
        .compare-wrap { max-width: 1000px; margin: 40px auto 0; background: var(--white); border: 1px solid var(--border); border-radius: 24px; padding: 28px 24px 20px; box-shadow: 0 8px 40px rgba(0,0,0,0.05); }
        .compare-wrap svg { width: 100%; height: auto; display: block; }
        .compare-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 22px; }
        .compare-legend div { font-size: 0.92rem; color: var(--text-gray); line-height: 1.6; padding: 16px 18px; border-radius: 14px; }
        .compare-legend .lose { background: var(--coral-light); border: 1px solid rgba(242,160,154,0.4); }
        .compare-legend .keep { background: var(--teal-light); border: 1px solid rgba(76,181,174,0.35); }
        .compare-legend strong { display: block; color: var(--navy); margin-bottom: 4px; font-weight: 600; }

        /* Shared SVG diagram typography */
        .dg-title { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; fill: #5A6B7D; }
        .dg-title.bad { fill: #D97A72; }
        .dg-title.good { fill: #3A9A94; }
        .dg-h { font-family: 'Inter', sans-serif; font-size: 13.5px; font-weight: 600; fill: #1A2B3C; }
        .dg-row { font-family: 'Inter', sans-serif; font-size: 12.5px; font-weight: 500; fill: #2D3748; }
        .dg-row.muted { fill: #A3ADB8; }
        .dg-row.strike { fill: #A3ADB8; text-decoration: line-through; }
        .dg-small { font-family: 'Inter', sans-serif; font-size: 11px; fill: #5A6B7D; }
        .dg-small.bad { fill: #D97A72; font-weight: 600; }
        .dg-small.good { fill: #3A9A94; font-weight: 600; }
        .dg-tag { font-family: 'Inter', sans-serif; font-size: 10.5px; font-weight: 600; fill: #3A9A94; }
        .dg-tag.bad { fill: #D97A72; }
        .dg-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; fill: #2D3748; }
        .dg-mono.faint { fill: #8899AA; }
        .dg-big { font-family: 'DM Serif Display', Georgia, serif; font-size: 30px; fill: #1A2B3C; }

        /* ============ HOW IT WORKS ============ */
        .sw-how { padding: 80px 20px 60px; background: var(--teal-light); position: relative; overflow: hidden; }
        .sw-how::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 900px; height: 900px; background: radial-gradient(circle, rgba(76,181,174,0.1) 0%, transparent 70%); pointer-events: none; }
        .sw-how .container { position: relative; }
        .step { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; margin-top: 48px; background: var(--white); border-radius: 24px; padding: 32px 26px; box-shadow: 0 8px 40px rgba(26,43,60,0.06); border: 1px solid rgba(76,181,174,0.18); }
        .step-num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--teal); color: var(--white); font-weight: 700; font-size: 0.95rem; margin-bottom: 14px; box-shadow: 0 4px 14px rgba(76,181,174,0.3); }
        .step h3 { font-size: 1.6rem; margin-bottom: 10px; line-height: 1.2; }
        .step p { color: var(--text-gray); font-size: 0.98rem; line-height: 1.7; }
        .step p + p { margin-top: 10px; }
        .step-fig { background: var(--bg-cream); border: 1px solid var(--border); border-radius: 18px; padding: 18px; }
        .step-fig svg { width: 100%; height: auto; display: block; }
        .step-fig figcaption { font-size: 0.78rem; color: var(--text-light); margin-top: 10px; text-align: center; }
        .step-points { list-style: none; margin-top: 16px; display: grid; gap: 8px; }
        .step-points li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.9rem; color: var(--text-dark); }
        .step-points li svg { width: 16px; height: 16px; margin-top: 3px; stroke: var(--teal); fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

        /* ============ SAFETY ============ */
        .sw-safe { padding: 80px 20px; background: var(--bg-cream); }
        .safe-grid { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 1000px; margin: 36px auto 0; }
        .safe { background: var(--white); border: 1px solid var(--border); border-radius: 18px; padding: 24px; box-shadow: 0 2px 16px rgba(0,0,0,0.04); }
        .safe-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--teal-light); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
        .safe-icon svg { width: 22px; height: 22px; stroke: var(--teal-dark); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
        .safe h3 { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 1rem; margin-bottom: 6px; }
        .safe p { font-size: 0.88rem; color: var(--text-gray); line-height: 1.6; }

        /* ============ PRICING ============ */
        .sw-pricing { padding: 80px 20px; background: var(--white); }
        .price-wrap { max-width: 1000px; margin: 36px auto 0; display: grid; grid-template-columns: 1fr; gap: 20px; }
        .price-card { border-radius: 20px; padding: 30px; border: 1px solid var(--border); background: var(--white); }
        .price-card.free-migration { background: linear-gradient(135deg, var(--teal-light) 0%, #F3FAF9 100%); border-color: rgba(76,181,174,0.35); }
        .price-card h3 { font-size: 1.5rem; margin-bottom: 10px; }
        .price-card p { color: var(--text-gray); font-size: 0.95rem; line-height: 1.7; }
        .price-card p + p { margin-top: 10px; }
        .price-card .fine { font-size: 0.82rem; color: var(--text-light); }
        .price-card a.inline { font-weight: 600; }
        .price-big { font-family: 'DM Serif Display', Georgia, serif; font-size: 2.4rem; color: var(--navy); line-height: 1; margin: 10px 0 6px; }
        .price-big small { font-family: 'Inter', sans-serif; font-size: 0.95rem; color: var(--text-gray); }

        /* ============ FAQ ============ */
        .sw-faq { padding: 80px 20px; background: var(--bg-cream); }
        .faq-list { max-width: 820px; margin: 30px auto 0; }
        .faq-item { background: var(--white); border: 1px solid var(--border); border-radius: 14px; margin-bottom: 10px; overflow: hidden; }
        .faq-item summary { list-style: none; cursor: pointer; padding: 18px 22px; font-weight: 600; color: var(--navy); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary svg { width: 18px; height: 18px; stroke: var(--teal); fill: none; stroke-width: 2.4; stroke-linecap: round; flex-shrink: 0; transition: transform 0.3s; }
        .faq-item[open] summary svg { transform: rotate(45deg); }
        .faq-item p { padding: 0 22px 20px; color: var(--text-gray); font-size: 0.93rem; line-height: 1.7; }

        /* ============ CTA ============ */
        .sw-cta { padding: 80px 20px; background: var(--white); }
        .cta-box { max-width: 760px; margin: 0 auto; text-align: center; background: var(--navy); border-radius: 24px; padding: 56px 32px; position: relative; overflow: hidden; }
        .cta-box::before { content: ''; position: absolute; top: -120px; right: -120px; width: 320px; height: 320px; border-radius: 50%; background: rgba(76,181,174,0.18); }
        .cta-box::after { content: ''; position: absolute; bottom: -140px; left: -100px; width: 300px; height: 300px; border-radius: 50%; background: rgba(242,160,154,0.16); }
        .cta-box h2 { color: var(--white); font-size: clamp(1.7rem, 3.5vw, 2.3rem); margin-bottom: 12px; position: relative; }
        .cta-box p { color: rgba(255,255,255,0.75); max-width: 520px; margin: 0 auto 26px; position: relative; }
        .cta-box .sw-hero-actions { justify-content: center; margin-top: 0; position: relative; }
        .cta-box .btn-ghost { background: transparent; color: var(--white); border-color: rgba(255,255,255,0.35); }
        .cta-box .btn-ghost:hover { border-color: var(--white); color: var(--white); }

        /* ============ RESPONSIVE ============ */
        @media (min-width: 768px) {
            .sw-hero { padding: 160px 40px 90px; }
            .step { grid-template-columns: 1fr 1fr; padding: 40px 36px; gap: 40px; }
            .step.flip .step-text { order: 2; }
            .step.flip .step-fig { order: 1; }
            .safe-grid { grid-template-columns: 1fr 1fr; }
            .price-wrap { grid-template-columns: 1.1fr 1fr; }
        }
        @media (min-width: 1024px) {
            .sw-hero-inner { grid-template-columns: 1.15fr 1fr; gap: 64px; }
            .safe-grid { grid-template-columns: repeat(4, 1fr); }
        }
        @media (max-width: 600px) {
            .compare-wrap { overflow-x: auto; }
            .compare-wrap svg { min-width: 680px; }
            .compare-legend { grid-template-columns: 1fr; }
            .bring-grid { grid-template-columns: 1fr; }
            .compare-wrap { padding: 16px 10px 12px; }
        }
    