:root{--color-primary: oklch(.24 .0598 257.3015);--color-primary-light: oklch(.3462 .0736 256.0397);--color-accent: oklch(.6093 .1819 257.2923);--color-accent-hover: oklch(.5496 .1758 256.9261);--color-black: oklch(.2077 .0398 265.7549);--color-gray-900: oklch(.2795 .0368 260.031);--color-gray-700: oklch(.4455 .0374 257.2808);--color-gray-500: oklch(.5544 .0407 257.4166);--color-gray-300: oklch(.9288 .0126 255.5078);--color-gray-200: oklch(.9595 .008 253.8534);--color-gray-100: oklch(.9842 .0034 247.8575);--color-white: oklch(1 0 0);--color-value: oklch(.596 .1274 163.2254);--surface-page: oklch(.9842 .0034 247.8575);--surface-card: oklch(1 0 0);--surface-subtle: oklch(.9595 .008 253.8534);--surface-dark: oklch(.24 .0598 257.3015);--surface-dark-mid: oklch(.3462 .0736 256.0397);--border-default: oklch(.9288 .0126 255.5078);--border-strong: oklch(.869 .0198 252.8943);--border-accent: oklch(.6093 .1819 257.2923 / .3);--container: 1200px;--container-narrow: 780px;--section-padding: 120px;--section-padding-mob: 64px;--gutter: 32px;--margin-desktop: 120px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--shadow-1: 0 1px 3px oklch(.2077 .0398 265.7549 / .06), 0 1px 2px oklch(.2077 .0398 265.7549 / .04);--shadow-2: 0 4px 12px oklch(.2077 .0398 265.7549 / .08), 0 2px 4px oklch(.2077 .0398 265.7549 / .04);--shadow-3: 0 8px 24px oklch(.2077 .0398 265.7549 / .1), 0 4px 8px oklch(.2077 .0398 265.7549 / .06);--shadow-4: 0 16px 40px oklch(.2077 .0398 265.7549 / .12), 0 8px 16px oklch(.2077 .0398 265.7549 / .08);--shadow-5: 0 24px 64px oklch(.2077 .0398 265.7549 / .16), 0 12px 24px oklch(.2077 .0398 265.7549 / .1);--shadow-accent: 0 8px 28px oklch(.6093 .1819 257.2923 / .28);--shadow-glass: 0 20px 48px oklch(.2077 .0398 265.7549 / .12);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 16px;--text-lg: clamp(16px, 1.4vw, 18px);--text-xl: clamp(17px, 1.6vw, 20px);--text-2xl: clamp(20px, 2vw, 24px);--text-3xl: clamp(24px, 2.5vw, 32px);--text-4xl: clamp(32px, 3.5vw, 44px);--text-5xl: clamp(36px, 4.5vw, 56px);--text-6xl: clamp(44px, 5.5vw, 72px);--text-h1: clamp(36px, 5vw, 64px);--text-h2: clamp(28px, 3.5vw, 44px);--text-h3: clamp(17px, 1.6vw, 20px);--text-body-lg: clamp(16px, 1.4vw, 18px);--text-body: 16px;--text-label: 14px;--text-eyebrow: 11px;--lh-tight: 1.1;--lh-snug: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.65;--lh-h1: 1.12;--lh-h2: 1.18;--lh-h3: 1.4;--lh-body-lg: 1.55;--lh-body: 1.625;--lh-label: 1.57;--lh-eyebrow: 1.45;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-9: 36px;--sp-10: 40px;--sp-12: 48px;--sp-14: 56px;--sp-16: 64px;--sp-18: 72px;--sp-20: 80px;--sp-24: 96px;--sp-30: 120px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-inout: cubic-bezier(.45, 0, .55, 1);--duration-fast: .15s;--duration-base: .22s;--duration-slow: .35s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.ds-display{font-family:var(--font-display);font-size:var(--text-6xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);color:var(--color-black);letter-spacing:-.02em}.ds-h1{font-family:var(--font-display);font-size:var(--text-h1);line-height:var(--lh-h1);font-weight:var(--fw-bold);color:var(--color-black);letter-spacing:-.02em}.ds-h2{font-family:var(--font-display);font-size:var(--text-h2);line-height:var(--lh-h2);font-weight:var(--fw-semibold);color:var(--color-black);letter-spacing:-.01em}.ds-h3{font-family:var(--font-body);font-size:var(--text-h3);line-height:var(--lh-h3);font-weight:var(--fw-semibold);color:var(--color-black);letter-spacing:-.01em}.ds-body-lg{font-family:var(--font-body);font-size:var(--text-body-lg);line-height:var(--lh-relaxed);font-weight:var(--fw-regular);color:var(--color-gray-700)}.ds-body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);font-weight:var(--fw-regular);color:var(--color-gray-700)}.ds-label{font-family:var(--font-body);font-size:var(--text-label);line-height:var(--lh-label);font-weight:var(--fw-medium);color:var(--color-gray-500)}.ds-eyebrow{font-family:var(--font-body);font-size:var(--text-eyebrow);line-height:var(--lh-eyebrow);font-weight:var(--fw-bold);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase}.ds-eyebrow-label{display:inline-flex;align-items:center;gap:10px;color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-eyebrow);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase}.ds-eyebrow-label:before{content:"";display:block;width:28px;height:1.5px;background:currentColor;flex-shrink:0}.ds-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-white);font-family:var(--font-body);font-size:15px;font-weight:var(--fw-medium);letter-spacing:.01em;border:none;cursor:pointer;text-decoration:none;transition:background var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ds-btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-accent)}.ds-btn-primary:active{transform:translateY(0)}.ds-btn-primary:focus-visible{outline:3px solid oklch(.6093 .1819 257.2923 / .4);outline-offset:3px}.ds-btn-primary:disabled,.ds-btn-primary.disabled{background:var(--color-gray-300);color:var(--color-gray-500);cursor:not-allowed;transform:none;box-shadow:none}.ds-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font-family:var(--font-body);font-size:15px;font-weight:var(--fw-medium);letter-spacing:.01em;border:1.5px solid oklch(.24 .0598 257.3015 / .18);cursor:pointer;text-decoration:none;transition:border-color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.ds-btn-secondary:hover{border-color:var(--color-primary);background:#0b1f3b0a;transform:translateY(-1px)}.ds-btn-secondary:focus-visible{outline:3px solid oklch(.24 .0598 257.3015 / .2);outline-offset:3px}.ds-card-feature{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-8);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1);transition:transform var(--duration-slow) var(--ease-out),box-shadow var(--duration-slow) var(--ease-out),border-color var(--duration-slow) var(--ease-out);cursor:default}.ds-card-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-4);border-color:var(--border-accent)}.ds-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#2f80ed14;color:var(--color-accent);flex-shrink:0;margin-bottom:4px}.ds-card-process{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-5);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1);transition:transform var(--duration-slow) var(--ease-out),box-shadow var(--duration-slow) var(--ease-out)}.ds-card-process:hover{transform:translateY(-3px);box-shadow:var(--shadow-3)}.ds-step-number{width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:20px;font-weight:var(--fw-semibold);flex-shrink:0;letter-spacing:-.02em}.ds-card-glass{padding:24px 28px;border-radius:var(--radius-xl);background:#ffffffe0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-glass);border:1px solid oklch(1 0 0 / .6)}.ds-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--margin-desktop)}
