@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #07122e;
  --ink-soft: #4f5872;
  --blue: #f0523f;
  --blue-dark: #d93b35;
  --violet: #7c3aed;
  --purple: #6d28d9;
  --orange: #ff6b35;
  --coral: #f43f5e;
  --sunset: linear-gradient(110deg,#ff6b35 0%,#f43f5e 52%,#7c3aed 112%);
  --green: #18a674;
  --lavender: #eef0ff;
  --ice: #f6f8ff;
  --line: #dfe3ef;
  --white: #fff;
  --shadow: 0 30px 80px rgba(21, 35, 94, .14);
  --radius: 26px;
  --shell: min(1180px, calc(100% - 48px));
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.22, .61, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "DM Sans", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
p, h1, h2, h3 { margin-top: 0; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; top: 8px; left: 8px; transform: translateY(-150%); background: #fff; padding: 12px 16px; border-radius: 8px; box-shadow: var(--shadow); }
.skip-link:focus { transform: none; }


.button { --magnetic-x: 0px; --magnetic-y: 0px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 24px; border: 1px solid rgba(240,82,63,.72); border-radius: 12px; background: var(--sunset); background-size: 155% auto; background-position: 0 50%; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 12px 31px rgba(240,82,63,.22); translate: var(--magnetic-x) var(--magnetic-y); transition: transform .25s ease, translate .6s var(--ease-out), background-position .45s ease, box-shadow .25s ease; overflow: hidden; }
.button::before { content: ""; position: absolute; inset: -2px; background: linear-gradient(105deg, transparent 22%, rgba(255,255,255,.34) 45%, transparent 67%); transform: translateX(-125%); transition: transform .75s var(--ease-out); pointer-events: none; }
.button:hover::before { transform: translateX(125%); }
.button:hover { transform: translateY(-3px); background-position: 78% 50%; box-shadow: 0 17px 36px rgba(224,60,60,.27); }
.button span { position: relative; font-size: 18px; transition: transform .35s var(--ease-out); }
.button:hover span { transform: translate(2px, -2px); }
.button--small { min-height: 45px; padding: 0 19px; font-size: 14px; border-radius: 10px; }
.button--ghost { background: #fff; background-image: none; color: var(--ink); border-color: #e4dce5; box-shadow: 0 8px 24px rgba(25,34,70,.07); }
.button--ghost:hover { color: var(--blue); background: #fff; border-color: #f0b4aa; }
.button__play { display: grid; place-items: center; width: 26px; height: 26px; color: var(--blue); background: #fff0ec; border-radius: 50%; font-size: 13px !important; }


.section { padding: 120px 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 80px; align-items: end; margin-bottom: 55px; }
.section-heading h2, .ai-copy h2, .process-intro h2, .faq-intro h2 { max-width: 780px; margin: 15px 0 0; font: 600 clamp(40px, 5vw, 62px)/1.08 "Manrope"; letter-spacing: -3.3px; }
.section-heading > p { margin: 0 0 5px; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
.section-label { display: inline-flex; align-items: center; gap: 9px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.section-label::before { content: ""; width: 26px; height: 1px; background: currentColor; }

@keyframes spin { to { transform: rotate(360deg); } }
