/* GENERÁLT FÁJL – NE SZERKESZD. Forrás: docs/build-core-css.py; a szerkesztés helye:
   assets/css/fonts.css, style.css, assets/css/design-system.css, assets/css/sections.css, assets/css/header.css, assets/css/footer.css, assets/css/mobile-cta.css */

/* ===== assets/css/fonts.css ===== */
@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter_18pt-Regular.woff2") format("woff2"),
       url("../fonts/inter/Inter_18pt-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter_18pt-Medium.woff2") format("woff2"),
       url("../fonts/inter/Inter_18pt-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter_18pt-SemiBold.woff2") format("woff2"),
       url("../fonts/inter/Inter_18pt-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter_18pt-Bold.woff2") format("woff2"),
       url("../fonts/inter/Inter_18pt-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter/Inter_18pt-Light.woff2") format("woff2"),
       url("../fonts/inter/Inter_18pt-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-Light.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-Regular.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-Medium.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-SemiBold.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-Bold.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/jetbrains-mono/JetBrainsMono-Regular.woff2") format("woff2"),
       url("../fonts/jetbrains-mono/JetBrainsMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/jetbrains-mono/JetBrainsMono-Medium.woff2") format("woff2"),
       url("../fonts/jetbrains-mono/JetBrainsMono-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("../fonts/space-grotesk/SpaceGrotesk-Bold.woff2") format("woff2"),
       url("../fonts/space-grotesk/SpaceGrotesk-Bold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "JetBrains Mono";
  src: url("../fonts/jetbrains-mono/JetBrainsMono-Medium.woff2") format("woff2"),
       url("../fonts/jetbrains-mono/JetBrainsMono-Medium.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ===== style.css ===== */
html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

.site-main {
    min-height: 60vh;
}

/* ===== assets/css/design-system.css ===== */
:root {

  --ink:        oklch(0.34 0.09 260);
  --ink-soft:   oklch(0.44 0.08 260);
  --paper:      oklch(0.985 0.005 100);
  --coral:      oklch(0.63 0.22 25);
  --coral-soft: oklch(0.74 0.16 25);
  --sky:        oklch(0.85 0.06 250);
  --line:       oklch(0.88 0.012 258);
  --peach:      oklch(0.95 0.04 50);
  --surface-alt: oklch(0.97 0.002 258);
  --muted-alt:  oklch(0.67 0.02 258);

  --background:          var(--paper);
  --foreground:          var(--ink);
  --card:                oklch(1 0 0);
  --card-foreground:     var(--ink);
  --primary:             var(--ink);
  --primary-foreground:  var(--paper);
  --secondary:           oklch(0.96 0.008 258);
  --secondary-foreground:var(--ink);
  --muted:               oklch(0.96 0.008 258);
  --muted-foreground:    oklch(0.46 0.03 258);
  --accent:              var(--coral);
  --accent-foreground:   oklch(1 0 0);
  --destructive:         oklch(0.6 0.22 27);
  --border:              var(--line);
  --ring:                var(--coral);

  --wr-ink:              var(--ink);
  --wr-ink-soft:         var(--ink-soft);
  --wr-paper:            var(--paper);
  --wr-paper-2:          var(--paper);
  --wr-coral:            var(--coral);
  --wr-coral-hover:      oklch(0.62 0.22 32);
  --wr-green:            oklch(0.72 0.19 142);
  --wr-line:             var(--line);
  --wr-muted:            var(--muted-foreground);
  --wr-card:             var(--card);
  --wr-peach:            var(--peach);
  --wr-surface-alt:      var(--surface-alt);
  --wr-muted-alt:        var(--muted-alt);

  --wr-shadow-soft:      var(--shadow-soft);
  --wr-shadow-launch:    var(--shadow-launch);

  --wr-font-display:     var(--font-display);
  --wr-font-sans:        var(--font-sans);
  --wr-font-mono:        var(--font-mono);

  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-sans:    "Inter", system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, monospace;

  --wr-font-eyebrow:    clamp(0.75rem, 0.71rem + 0.18vw, 0.8125rem);
  --wr-font-button:     0.9375rem;

  --wr-font-body-sm:    clamp(0.9375rem, 0.91rem + 0.14vw, 1rem);
  --wr-font-body:       clamp(1rem, 0.96rem + 0.21vw, 1.0625rem);
  --wr-font-body-lg:    clamp(1.0625rem, 1rem + 0.32vw, 1.1875rem);
  --wr-font-lead:       16px;

  --wr-font-card-title: var(--wr-font-title-sm);
  --wr-font-title-sm:   clamp(1.375rem, 1.29rem + 0.43vw, 1.625rem);
  --wr-font-title-md:   clamp(1.625rem, 1.43rem + 0.98vw, 2.125rem);
  --wr-font-title-lg:   clamp(2.125rem, 1.45rem + 3.39vw, 3.5rem);

  --wr-font-hero-home:    clamp(2.5rem, 6vw, 5.5rem);
  --wr-font-hero-service: clamp(2rem, 4.2vw, 3.5rem);
  --wr-font-hero:       var(--wr-font-hero-home);

  --wr-font-label: 11px;
  --wr-ls-label:   0.1em;
  --wr-font-sm:    0.875rem;
  --wr-font-xs:    0.75rem;
  --wr-font-quote: clamp(1.5rem, 1.35rem + 0.7vw, 1.875rem);

  --wr-lh-hero:    1.02;
  --wr-lh-title:   1.1;
  --wr-lh-card:    1.25;
  --wr-lh-body:    1.6;
  --wr-lh-lead:    26px;

  --wr-ls-hero:    -0.035em;
  --wr-ls-title:   -0.03em;
  --wr-ls-card:    -0.018em;
  --wr-ls-eyebrow: 0.18em;

  --wr-fw-display: 600;
  --wr-fw-body:    400;
  --wr-fw-button:  500;

  --radius:        0.5rem;
  --radius-sm:     calc(var(--radius) - 4px);
  --radius-md:     calc(var(--radius) - 2px);
  --radius-lg:     var(--radius);
  --radius-xl:     calc(var(--radius) + 6px);
  --radius-2xl:    calc(var(--radius) + 14px);
  --radius-3xl:    calc(var(--radius) + 22px);
  --radius-pill:   9999px;

  --space-0:    0;
  --space-px:   1px;
  --space-xs:   0.25rem;
  --space-sm:   0.5rem;
  --space-md:   1rem;
  --space-lg:   1.5rem;
  --space-xl:   2rem;
  --space-2xl:  2.5rem;
  --space-3xl:  3.5rem;
  --space-4xl:  5rem;
  --space-5xl:  7rem;

  --wr-section-pad-md: 6rem;
  --wr-eyebrow-dash:   1.75rem;

  --container-max:         80rem;
  --container-pad-mobile:  1.25rem;
  --container-pad-tablet:  1.5rem;
  --container-pad-desktop: 2.5rem;

  --shadow-soft:   0 1px 2px oklch(0.34 0.09 260 / 0.06),
                   0 12px 32px -12px oklch(0.34 0.09 260 / 0.18);
  --shadow-launch: 0 18px 50px -16px oklch(0.63 0.22 25 / 0.45);
  --shadow-xs:     0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-sm:     0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);

  --gradient-launch: linear-gradient(135deg, oklch(0.63 0.22 25), oklch(0.72 0.18 50));
  --gradient-night:  linear-gradient(160deg, oklch(0.34 0.09 260), oklch(0.22 0.07 260));

  --wr-header-z:                 9999;
  --wr-header-bg:                color-mix(in srgb, var(--paper) 94%, transparent);
  --wr-header-border:            var(--line);
  --wr-header-border-width:      1px;
  --wr-header-shadow-scrolled:   0 2px 16px -4px oklch(0.34 0.09 260 / 0.10);
  --wr-header-transition:        box-shadow 0.3s ease;

  --wr-header-height-desktop:    72px;
  --wr-header-height-mobile:     64px;
  --wr-header-pad-y-desktop:     14px;
  --wr-header-pad-y-mobile:      12px;
  --wr-header-pad-y-xs:          8px;
  --wr-header-pad-x-mobile:      var(--container-pad-mobile);
  --wr-header-pad-x-desktop:     var(--container-pad-desktop);
  --wr-header-inner-gap:         var(--space-sm);

  --wr-logo-height-desktop:      40px;
  --wr-logo-height-mobile:       36px;
  --wr-logo-height-xs:           34px;
  --wr-logo-hover-lift:          -2px;

  --wr-nav-link-font-family:     var(--font-sans);
  --wr-nav-link-font-size:       17px;
  --wr-nav-link-line-height:     21px;
  --wr-nav-link-weight:          600;
  --wr-nav-link-color:           color-mix(in srgb, var(--ink) 85%, transparent);
  --wr-nav-link-color-hover:     var(--ink);
  --wr-nav-link-padding:         8px 14px;
  --wr-nav-link-gap:             4px;
  --wr-nav-link-radius:          var(--radius-lg);
  --wr-nav-link-underline:       var(--coral);
  --wr-nav-link-underline-h:     1px;
  --wr-nav-link-underline-offset: -2px;
  --wr-nav-link-underline-inset: 14px;

  --wr-nav-chevron-size:         14px;

  --wr-dropdown-width:           560px;
  --wr-dropdown-offset-top:      10px;
  --wr-dropdown-bg:              var(--card);
  --wr-dropdown-border:          var(--line);
  --wr-dropdown-radius:          var(--radius-2xl);
  --wr-dropdown-shadow:          var(--shadow-soft);
  --wr-dropdown-padding:         12px;
  --wr-dropdown-gap:             4px;
  --wr-dropdown-columns:         1fr 1fr;

  --wr-svc-padding:              12px;
  --wr-svc-gap:                  12px;
  --wr-svc-radius:               var(--radius-xl);
  --wr-svc-color:                var(--ink);
  --wr-svc-bg-hover:             var(--secondary);

  --wr-svc-icon-size:            36px;
  --wr-svc-icon-mt:              2px;
  --wr-svc-icon-bg:              var(--ink);
  --wr-svc-icon-bg-hover:        var(--coral);
  --wr-svc-icon-svg-size:        16px;
  --wr-svc-icon-svg-color:       #ffffff;

  --wr-svc-title-font-family:    var(--font-sans);
  --wr-svc-title-font-size:      14px;
  --wr-svc-title-weight:         500;
  --wr-svc-title-line-height:    20px;
  --wr-svc-title-color:          lab(22.7152 3.05282 -31.6161);

  --wr-svc-tag-font-family:      var(--font-sans);
  --wr-svc-tag-font-size:        12px;
  --wr-svc-tag-line-height:      16px;
  --wr-svc-tag-color:            var(--muted-foreground);
  --wr-svc-tag-mt:               2px;

  --wr-cta-font-family:          var(--font-sans);
  --wr-cta-font-size-desktop:    14px;
  --wr-cta-font-size-mobile:     15px;
  --wr-cta-weight:               600;
  --wr-cta-line-height:          1;
  --wr-cta-padding-desktop:      12px 22px;
  --wr-cta-padding-mobile:       14px 22px;
  --wr-cta-gap:                  6px;
  --wr-cta-radius:               var(--radius-pill);
  --wr-cta-bg:                   var(--coral);
  --wr-cta-bg-hover:             var(--wr-coral-hover);
  --wr-cta-color:                #ffffff;
  --wr-cta-shadow:               var(--shadow-launch);
  --wr-cta-icon-size:            16px;
  --wr-cta-hover-lift:           -1px;

  --wr-burger-size:              44px;
  --wr-burger-offset-right:      var(--container-pad-mobile);
  --wr-burger-bg:                var(--card);
  --wr-burger-bg-hover:          var(--secondary);
  --wr-burger-border:            var(--line);
  --wr-burger-radius:            var(--radius-pill);
  --wr-burger-icon-size:         24px;
  --wr-burger-icon-color:        var(--ink);

  --wr-mob-bg:                   color-mix(in srgb, var(--paper) 94%, transparent);
  --wr-mob-border-top:           var(--line);
  --wr-mob-max-h-offset:         64px;
  --wr-mob-pad-x:                var(--container-pad-mobile);
  --wr-mob-pad-top:              8px;
  --wr-mob-pad-bottom:           32px;

  --wr-mob-link-font-family:     var(--font-sans);
  --wr-mob-link-font-size:       16px;
  --wr-mob-link-weight:          500;
  --wr-mob-link-line-height:     1.5;
  --wr-mob-link-color:           var(--ink);
  --wr-mob-link-color-hover:     var(--ink);
  --wr-mob-link-bg-hover:        var(--secondary);
  --wr-mob-link-padding:         10px 12px;
  --wr-mob-link-radius:          var(--radius-lg);

  --wr-mob-sub-font-family:      var(--font-sans);
  --wr-mob-sub-font-size:        15px;
  --wr-mob-sub-weight:           400;
  --wr-mob-sub-line-height:      1.4;
  --wr-mob-sub-color:            var(--muted-foreground);
  --wr-mob-sub-color-hover:      var(--coral);
  --wr-mob-sub-padding:          6px 8px;
  --wr-mob-sub-radius:           var(--radius-md);

  --wr-mob-sub-indent:           14px;
  --wr-mob-sub-pad-left:         16px;
  --wr-mob-sub-border:           var(--line);
  --wr-mob-sub-border-w:         2px;

  --wr-mob-cta-mt:               16px;
}

* { border-color: var(--border); box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  font-size: var(--wr-font-body);
  line-height: var(--wr-lh-body);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01", "cv11";

  overflow-x: clip;
}
::selection { background: var(--coral); color: #fff; }

.display-xl,
.wr-h1 {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-hero-home);
  line-height: var(--wr-lh-hero);
  letter-spacing: var(--wr-ls-hero);
}

.display-service,
.wr-h1--service {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-hero-service);
  line-height: var(--wr-lh-hero);
  letter-spacing: var(--wr-ls-hero);
}

.display-lg,
.wr-h2 {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-title-lg);
  line-height: var(--wr-lh-title);
  letter-spacing: var(--wr-ls-title);
}

.wr-h3 {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-title-sm);
  line-height: var(--wr-lh-card);
  letter-spacing: var(--wr-ls-card);
}

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  letter-spacing: var(--wr-ls-card);
}

.h1 { font-size: var(--wr-font-hero-home);  line-height: var(--wr-lh-hero);  letter-spacing: var(--wr-ls-hero); }
.h2 { font-size: var(--wr-font-title-lg);   line-height: var(--wr-lh-title); letter-spacing: var(--wr-ls-title); }
.h3 { font-size: var(--wr-font-title-sm);   line-height: var(--wr-lh-card);  letter-spacing: var(--wr-ls-card); }
.h4 { font-size: var(--wr-font-card-title); line-height: var(--wr-lh-card);  letter-spacing: var(--wr-ls-card); }

.h5 {
  font-family: var(--font-sans);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-body-lg);
  line-height: var(--wr-lh-card);
  letter-spacing: var(--wr-ls-card);
}

.h6 {
  font-family: var(--font-sans);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-body);
  line-height: var(--wr-lh-body);
  letter-spacing: 0;
}

.wr-card-title,
.card-title {
  font-family: var(--font-display);
  font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-card-title);
  line-height: var(--wr-lh-card);
  letter-spacing: var(--wr-ls-card);
}

.wr-card-title a,
.card-title a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.wr-card-title a:hover,
.card-title a:hover,
.wr-card-title a:focus-visible,
.card-title a:focus-visible { color: var(--coral); }

.lead,
.wr-lead {
  font-family: var(--font-sans);
  font-size: var(--wr-font-lead);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-lead);
  color: var(--muted-foreground);
}

.body,
.wr-body {
  font-family: var(--font-sans);
  font-size: var(--wr-font-body);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-body);
}

.body-sm,
.wr-body-sm,
.small,
.text-small {
  font-family: var(--font-sans);
  font-size: var(--wr-font-body-sm);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-body);
}

.body-lg,
.wr-body-lg {
  font-family: var(--font-sans);
  font-size: var(--wr-font-body-lg);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-body);
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--wr-font-eyebrow);
  font-weight: var(--wr-fw-body);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: var(--wr-ls-eyebrow);
  color: var(--coral);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.eyebrow::before {
  content: "";
  width: var(--wr-eyebrow-dash);
  height: 1px;
  background: var(--coral);
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font-family: var(--font-mono);
  font-size: var(--wr-font-eyebrow);
  font-weight: 400;
  line-height: 1;
  color: var(--ink-soft);
  background: #fff;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  border-radius: var(--radius-md);
  font-family: var(--font-sans);
  font-size: var(--wr-font-button);
  font-weight: var(--wr-fw-button);
  line-height: 1.25rem;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  border: 1px solid transparent;
  text-decoration: none;
}

.btn:disabled,
.btn[aria-disabled="true"] { opacity: 0.5; pointer-events: none; }

.btn:focus-visible { outline: none; box-shadow: 0 0 0 1px var(--ring); }

.btn--primary    { background: var(--primary); color: var(--primary-foreground); box-shadow: var(--shadow-sm); }
.btn--primary:hover { background: color-mix(in oklab, var(--primary) 90%, transparent); }

.btn--secondary  { background: var(--secondary); color: var(--secondary-foreground); box-shadow: var(--shadow-xs); }
.btn--secondary:hover { background: color-mix(in oklab, var(--secondary) 80%, transparent); }

.btn--outline    { background: var(--background); color: var(--foreground); border-color: var(--input); box-shadow: var(--shadow-xs); }
.btn--outline:hover { background: var(--accent); color: var(--accent-foreground); }

.btn--ghost      { background: transparent; color: var(--foreground); }
.btn--ghost:hover { background: var(--accent); color: var(--accent-foreground); }

.btn--link       { background: transparent; color: var(--primary); padding: 0; height: auto; text-underline-offset: 4px; }
.btn--link:hover { text-decoration: underline; }

.btn--destructive { background: var(--destructive); color: #fff; box-shadow: var(--shadow-xs); }

.btn--sm  { height: 2rem;    padding: 0 0.75rem; font-size: 0.8125rem; line-height: 1rem;     border-radius: var(--radius-md); }
.btn--md  { height: 2.25rem; padding: 0.5rem 1rem; font-size: var(--wr-font-button); line-height: 1.25rem; border-radius: var(--radius-md); }
.btn--lg  { height: 2.75rem; padding: 0 2rem;    font-size: var(--wr-font-button); line-height: 1.25rem; border-radius: var(--radius-md); }
.btn--icon { height: 2.25rem; width: 2.25rem; padding: 0; }

.btn-launch {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.95rem 1.4rem;
  font-family: var(--font-sans);
  font-size: var(--wr-font-button);
  font-weight: var(--wr-fw-button);
  line-height: 1;
  background: var(--coral);
  color: #fff;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-launch);
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-launch:hover { transform: translateY(-2px); background: var(--wr-coral-hover); }

.btn-ghost-ink {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.95rem 1.4rem;
  font-family: var(--font-sans);
  font-size: var(--wr-font-button);
  font-weight: var(--wr-fw-button);
  line-height: 1;
  border: 1px solid var(--ink);
  border-radius: var(--radius-pill);
  color: var(--ink);
  background: transparent;
  text-decoration: none;
  transition: all .25s ease;
}
.btn-ghost-ink:hover { background: var(--ink); color: #fff; }

.btn-icon-unicode {
  display: inline-block;
  width: 1em;
  min-width: 1em;
  color: inherit;
  font-family: Arial, "Helvetica Neue", system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 0.9;
  text-align: center;
  transform: translateY(-0.01em);
}
.btn-icon-unicode--external::before { content: "↗︎"; }
.btn-icon-unicode--arrow::before    { content: "→"; }

.card-elevated {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-soft);
}

.container-wr {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-mobile);
}
@media (min-width: 768px)  { .container-wr { padding-inline: var(--container-pad-tablet); } }
@media (min-width: 1024px) { .container-wr { padding-inline: var(--container-pad-desktop); } }

.section        { padding-block: 5rem; }
@media (min-width: 1024px) { .section { padding-block: 7rem; } }

@media (min-width: 1024px) {
  :root {
    --wr-font-lead: 17px;
    --wr-lh-lead:   27px;
  }
}
.section-tight  { padding-block: 3rem; }

.trajectory-grid {
  background-image:
    linear-gradient(to right, oklch(0.34 0.09 260 / 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.34 0.09 260 / 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
}

.ink-grid {
  background-image:
    linear-gradient(to right, oklch(1 0 0 / 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(1 0 0 / 0.05) 1px, transparent 1px);
  background-size: 64px 64px;
}

button,
[role="button"],
summary,
label.wr-nl-consent,
input[type="checkbox"],
input[type="radio"],
input[type="checkbox"] + span,
input[type="submit"] { cursor: pointer; }

button[disabled],
button:disabled,
[aria-disabled="true"] { cursor: not-allowed; }

@media (max-width:768px){
  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des p{
    font-size:12px !important;
    line-height:1.5 !important;
  }
}

/* ===== assets/css/sections.css ===== */
:root {
  --wr-font-eyebrow: 13px;
  --wr-lh-eyebrow:   1;
}
@media (max-width: 640px) {
  :root { --wr-font-eyebrow: 12px; }
}

@keyframes wrArcDraw          { to { stroke-dashoffset: 0; } }
@keyframes wrTrajectoryDraw {
  0%   { stroke-dashoffset: 1; opacity: 0; }
  10%  { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes wrp-arc-draw       { to { stroke-dashoffset: 0; } }
@keyframes wrArcDrawOnce      { from { stroke-dashoffset: 1400; } to { stroke-dashoffset: 0; } }
@keyframes wr-arc-draw {
  0%   { stroke-dashoffset: 1400; }
  55%  { stroke-dashoffset: 0;    }
  100% { stroke-dashoffset: -1400;}
}
@keyframes wr-ping            { 75%,100% { transform: scale(2); opacity: 0; } }
@keyframes wr-marquee         { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes wr-float-slow      { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

.wr-hero-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  background: var(--wr-paper);
  border-bottom: 1px solid var(--wr-line);

  --wr-traj-stroke: oklch(0.34 0.09 260 / .18);
}

@supports (width: 100dvw) {
  .wr-hero-section {
    width: 100dvw;
    max-width: 100dvw;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
}

.wr-hero-section--ink {
  background: var(--wr-ink);
  --wr-traj-stroke: oklch(1 0 0 / .18);
}

.wr-hero-section--alt {
  background: var(--wr-peach, #FFE9DD);
  --wr-traj-stroke: oklch(0.34 0.09 260 / .18);
}

.wr-hero-section .trajectory-grid,
.wr-hero-section .ink-grid {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  opacity: .6;
  pointer-events: none;
  z-index: 0;
}

.wr-hero-section .trajectory-grid {
  background-image:
    linear-gradient(to right, oklch(0.34 0.09 260 / .05) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(0.34 0.09 260 / .05) 1px, transparent 1px);
  background-size: 64px 64px;
}

.wr-hero-section .ink-grid {
  background-image:
    linear-gradient(to right, oklch(1 0 0 / .05) 1px, transparent 1px),
    linear-gradient(to bottom, oklch(1 0 0 / .05) 1px, transparent 1px);
  background-size: 64px 64px;
}

.wr-trajectory {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.wr-hero-section .wr-trajectory-dotted {
  fill: none;
  stroke: var(--wr-traj-stroke);
  stroke-width: 1;
  stroke-dasharray: 3 8;
}

.wr-hero-section .wr-arc-path {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  filter: drop-shadow(0 0 8px oklch(0.63 0.22 25 / .4));
}

.wr-hero-section.is-visible .wr-arc-path {
  animation: wrTrajectoryDraw 4s cubic-bezier(.2,.8,.2,1) 1s forwards;
}

.wr-hero-section .wr-trajectory-dotted--mobile,
.wr-hero-section .wr-arc-path--mobile {
  display: none;
}

@media (max-width: 767px) {
  .wr-hero-section .wr-trajectory-dotted--desktop,
  .wr-hero-section .wr-arc-path--desktop {
    display: none;
  }

  .wr-hero-section .wr-trajectory-dotted--mobile,
  .wr-hero-section .wr-arc-path--mobile {
    display: block;
  }
}

.wr-hero-section .wr-hero {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .wr-hero-section .wr-arc-path {
    animation: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

.wr-hero {
  position: relative; z-index: 2;
  width: 100%;
  color: var(--wr-ink);
  font-family: var(--wr-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.wr-hero * { box-sizing: border-box; }

.wr-hero__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 64px 20px 72px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 768px)  { .wr-hero__inner { padding: 80px 32px 96px; } }
@media (min-width: 1024px) { .wr-hero__inner { padding: 104px 40px 128px; } }

.wr-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  margin: 0 0 24px;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow); font-weight: 400;
  letter-spacing: var(--wr-ls-eyebrow); text-transform: uppercase;
  color: var(--wr-coral);
  line-height: 1;
}
.wr-hero__eyebrow-dash {
  display: inline-block; width: var(--wr-eyebrow-dash); height: 1px;
  background: var(--wr-coral);
}

.wr-hero__title {
  margin: 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  color: var(--wr-ink);
  letter-spacing: var(--wr-ls-hero);
  line-height: var(--wr-lh-hero);
  font-size: var(--wr-font-hero);
  max-width: 980px;
}
.wr-hero__title-accent {
  display: block;
  font-family: inherit; font-weight: inherit; font-size: inherit;
  line-height: inherit; letter-spacing: inherit;
  color: var(--wr-coral);
}
@media (max-width: 1024px) {
  .wr-hero__title { max-width: 100%; }
}

.wr-hero-section--service .wr-hero__title {
  font-size: var(--wr-font-hero-service);
}

.page-id-594 .wr-hero__title-accent { display: inline; }

.wr-hero__lead {
  margin: 24px 0 0;
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-lead); line-height: var(--wr-lh-lead);
  color: var(--wr-muted);
  max-width: 680px;
}
@media (max-width: 640px) {
  .wr-hero__lead { max-width: 100%; }
}

.wr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

.wr-hero__btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  height: 54px; padding: 0 28px;
  border-radius: var(--radius-pill);
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-button); line-height: 1.25rem; font-weight: var(--wr-fw-button);
  letter-spacing: .01em;
  text-decoration: none; white-space: nowrap; cursor: pointer;
  border: 1px solid transparent;
  transition: transform .15s ease, background-color .15s ease,
              color .15s ease, box-shadow .2s ease, border-color .15s ease;
}
.wr-hero__btn-icon { width: 18px; height: 18px; flex: 0 0 18px; }

.wr-hero__btn--primary {
  background: var(--wr-coral);
  color: #fff;
  border-color: var(--wr-coral);
  box-shadow: 0 6px 16px -6px rgba(241,56,62,.55),
              0 2px 4px -2px rgba(241,56,62,.35);
}
.wr-hero__btn--primary:hover {
  background: var(--wr-coral-hover);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -8px rgba(241,56,62,.6),
              0 3px 6px -2px rgba(241,56,62,.4);
}

.wr-hero__btn--ghost {
  background: transparent;
  color: var(--wr-ink);
  border-color: rgba(26,54,102,.18);
}
.wr-hero__btn--ghost:hover {
  border-color: rgba(26,54,102,.45);
  background: rgba(26,54,102,.04);
}

@media (max-width: 640px) {
  .wr-hero__actions { width: 100%; }

  .wr-hero__btn { width: auto; height: 50px; }
}

.wr-hero__meta {
  display: inline-flex; align-items: center; gap: 12px;
  margin-top: 44px; padding-top: 20px;
  border-top: 1px solid var(--wr-line);
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow); letter-spacing: var(--wr-ls-eyebrow);
  text-transform: uppercase;
  color: var(--wr-muted-alt); font-weight: 500; line-height: 1;
}
.wr-hero__meta-divider {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--wr-coral); opacity: .7;
}
@media (max-width: 640px) {
  .wr-hero__meta { flex-wrap: wrap; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .wr-hero__btn { transition: none; }
  .wr-hero__btn:hover { transform: none; }
}
.wr-hero__btn:focus-visible { outline: 2px solid var(--wr-coral); outline-offset: 3px; }

@keyframes wr-home-hero-arc-draw-v18 {
  0%   { stroke-dashoffset: 1; opacity: 0; }
  10%  { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}

.wr-home-hero,
.wr-home-hero * { box-sizing: border-box; }

.wr-home-hero {
  position: relative;
  display: block;
  width: auto;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background-color: #1b3c6f;
  color: #fbfaf6;
  font-family: var(--wr-font-sans);
  isolation: isolate;
  clear: both;
}
@supports (width: 100dvw) {
  .wr-home-hero {
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
}

.wr-home-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: none;
}
.wr-home-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: none;
}

.wr-home-hero__trajectory-svg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 2; pointer-events: none; overflow: visible; display: block;
}
.wr-home-hero__trajectory-svg--mobile  { display: block; }
.wr-home-hero__trajectory-svg--desktop { display: none; }
.wr-home-hero__trajectory-dotted {
  stroke: rgba(251,250,246,.38); stroke-width: 1.5; stroke-dasharray: 3 8;
}
.wr-home-hero__trajectory-arc-base { display: none; }
.wr-home-hero__trajectory-arc-v18 {
  stroke: #f03a47; stroke-width: 2; stroke-linecap: round;
  filter: drop-shadow(0 0 8px rgba(240,58,71,.40));
  stroke-dasharray: 1; stroke-dashoffset: 0; opacity: 1;
  animation: wr-home-hero-arc-draw-v18 2.35s cubic-bezier(.2,.8,.2,1) .35s both;
}

.wr-home-hero__inner {
  position: relative; z-index: 3;
  width: min(100%, 1280px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 28px;
  padding: 56px 20px 80px;
}

.wr-home-hero__copy-top,
.wr-home-hero__copy-bottom {
  max-width: 590px; min-width: 0;
  position: relative; z-index: 4;
  color: #fbfaf6;
}

.wr-home-hero__copy-bottom > .wr-home-hero__lead { margin-top: 0; }

.wr-home-hero__eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  color: lab(54.8487 69.6498 43.5134);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px; line-height: 20px;
  text-transform: uppercase; letter-spacing: .18em; font-weight: 400;
}
.wr-home-hero__eyebrow::before {
  content: ""; width: 28px; height: 1px;
  background: #f03a47; display: inline-block; flex: 0 0 auto;
}

.wr-home-hero__title {
  display: block;
  margin: 24px 0 0; padding: 0;
  color: #fbfaf6;
  font-family: var(--wr-font-display);
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: .98; font-weight: 600; letter-spacing: -.035em;
  max-width: 590px;
}
.wr-home-hero__title-line { display: inline; color: #fbfaf6; font: inherit; }
.wr-home-hero__accent {
  position: relative; display: inline-block;
  color: #f03a47; font: inherit;
}
.wr-home-hero__accent::after {
  content: ""; position: absolute;
  left: 0; right: 0; bottom: -.04em;
  height: 12px; background: rgba(240,58,71,.30); z-index: -1; display: block;
}

.wr-home-hero__lead {
  display: block; margin: 28px 0 0; max-width: 560px;
  color: rgba(251,250,246,.70);
  font-family: var(--wr-font-sans);
  font-size: 1.125rem; line-height: 1.7; font-weight: 400;
}

.wr-home-hero__actions {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 12px; margin-top: 36px;
  position: relative; z-index: 5;
}
.wr-home-hero__btn,
.wr-home-hero__btn:visited {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  width: auto; min-width: max-content;
  padding: .95rem 1.4rem;
  border-radius: 999px; text-decoration: none;
  font-family: var(--wr-font-sans);
  font-size: .95rem; font-weight: 500; line-height: 1;
  border: 1px solid transparent; white-space: nowrap;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease,
              color .25s ease, border-color .25s ease;
}
.wr-home-hero__btn-label { display: inline-block; }
.wr-home-hero__btn-icon {
  display: inline-block;
  width: 1em; height: 1em; min-width: 1em; flex: 0 0 1em;
  font-family: Arial, "Helvetica Neue", system-ui, sans-serif;
  font-size: 1.05rem; font-weight: 500; line-height: .9;
  text-align: center; transform: translateY(-.01em);
}
.wr-home-hero__btn-icon--external::before { content: "↗︎"; }
.wr-home-hero__btn-icon--arrow::before    { content: "→"; }

.wr-home-hero__btn--primary,
.wr-home-hero__btn--primary:visited {
  background: #f03a47; color: #fff;
  box-shadow: 0 18px 50px -16px rgba(240,58,71,.45);
}
.wr-home-hero__btn--primary:hover {
  background: #dc2f3c; color: #fff; transform: translateY(-2px);
}
.wr-home-hero__btn--secondary,
.wr-home-hero__btn--secondary:visited {
  border-color: rgba(251,250,246,.30); color: #fbfaf6; background: transparent;
}
.wr-home-hero__btn--secondary:hover {
  background: #fbfaf6; color: #1b3c6f;
}

.wr-home-hero__stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; max-width: 560px;
  margin: 48px 0 0; padding: 24px 0 0;
  border-top: 1px solid rgba(251,250,246,.15);
  color: #fbfaf6;
}
.wr-home-hero__stat-number {
  display: block; color: #fbfaf6;
  font-family: var(--wr-font-display);
  font-size: 1.875rem; line-height: 1; font-weight: 600; letter-spacing: -.02em;
}
.wr-home-hero__stat-label {
  display: block; margin-top: 6px;
  color: rgba(251,250,246,.55);
  font-family: var(--wr-font-mono);
  font-size: 11px; line-height: 1.35;
  text-transform: uppercase; letter-spacing: .08em;
}

.wr-home-hero__visual {
  position: relative; z-index: 3;
  min-width: 0; width: 100%; max-width: 100%; display: block;
}
.wr-home-hero__visual-glow {
  position: absolute; inset: -24px;
  border-radius: 40px; pointer-events: none;
  background: none; filter: none; z-index: 0;
}

.wr-home-hero__conversion {
  position: absolute; left: -24px; bottom: -24px;
  display: none; width: 184px;
  border: 1px solid rgba(251,250,246,.15); border-radius: 16px;
  background: rgba(255,255,255,.055);
  padding: 16px;
  box-shadow: 0 30px 80px rgba(0,0,0,.30);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  animation: wr-float-slow 7s ease-in-out infinite;
}
.wr-home-hero__conversion-kicker {
  margin: 0; color: rgba(251,250,246,.6);
  font-family: var(--wr-font-mono);
  font-size: 10px; text-transform: uppercase; letter-spacing: .16em;
}
.wr-home-hero__conversion-value {
  margin: 5px 0 0; color: #fbfaf6;
  font-family: var(--wr-font-display);
  font-size: 1.5rem; line-height: 1; font-weight: 600;
}
.wr-home-hero__conversion-copy {
  margin: 5px 0 0; color: rgba(251,250,246,.65); font-size: 12px; line-height: 1.35;
}

.wr-home-hero__marquee {
  position: relative; z-index: 4;
  border-top: 1px solid rgba(251,250,246,.1);
  border-bottom: 1px solid rgba(251,250,246,.1);
  background: rgba(255,255,255,.03);
  padding: 20px 0; overflow: hidden; width: 100%;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.wr-home-hero__marquee-track {
  display: flex; width: max-content; align-items: center;
  gap: 48px; white-space: nowrap; padding-left: 48px;
  animation: wr-marquee 40s linear infinite;
}
.wr-home-hero__marquee-item {
  color: rgba(251,250,246,.45);
  font-family: var(--wr-font-display);
  font-size: 1.125rem; font-weight: 500; line-height: 1;
}
.wr-home-hero__star { margin-left: 48px; color: #f03a47; }

.wr-home-hero .wr-platforms-hero,
.wr-home-hero .wr-platforms-hero * { box-sizing: border-box; }
.wr-home-hero .wr-platforms-hero {
  position: relative; width: 100%; aspect-ratio: 6/5.6;
  overflow: hidden; z-index: 2; display: block;
  font-family: var(--wr-font-sans); color: #fbfaf6;
}
.wr-home-hero .wr-platforms-hero .pointer-events-none { pointer-events: none; }
.wr-home-hero .wr-platforms-hero .absolute  { position: absolute; }
.wr-home-hero .wr-platforms-hero .relative  { position: relative; }
.wr-home-hero .wr-platforms-hero .inset-0   { inset: 0; }
.wr-home-hero .wr-platforms-hero .h-full    { height: 100%; }
.wr-home-hero .wr-platforms-hero .w-full    { width: 100%; }
.wr-home-hero .wr-platforms-hero .opacity-\[0\.08\] { opacity: .08; }
.wr-home-hero .wr-platforms-hero .left-4   { left: 1rem; }
.wr-home-hero .wr-platforms-hero .top-4    { top: 1rem; }
.wr-home-hero .wr-platforms-hero .flex     { display: flex; }
.wr-home-hero .wr-platforms-hero .items-center   { align-items: center; }
.wr-home-hero .wr-platforms-hero .gap-2          { gap: .5rem; }
.wr-home-hero .wr-platforms-hero .rounded-full   { border-radius: 9999px; }
.wr-home-hero .wr-platforms-hero .border         { border-width: 1px; border-style: solid; }
.wr-home-hero .wr-platforms-hero .border-white\/10 { border-color: rgba(255,255,255,.1); }
.wr-home-hero .wr-platforms-hero .bg-white\/10   { background-color: rgba(255,255,255,.1); }
.wr-home-hero .wr-platforms-hero .px-3   { padding-left: .75rem; padding-right: .75rem; }
.wr-home-hero .wr-platforms-hero .py-1\.5 { padding-top: .375rem; padding-bottom: .375rem; }
.wr-home-hero .wr-platforms-hero .backdrop-blur-md {
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.wr-home-hero .wr-platforms-hero .h-2    { height: .5rem; }
.wr-home-hero .wr-platforms-hero .w-2    { width: .5rem; }
.wr-home-hero .wr-platforms-hero .inline-flex { display: inline-flex; }
.wr-home-hero .wr-platforms-hero .opacity-75  { opacity: .75; }
.wr-home-hero .wr-platforms-hero .font-mono   { font-family: var(--wr-font-mono); }
.wr-home-hero .wr-platforms-hero .text-\[11px\] { font-size: 11px; }
.wr-home-hero .wr-platforms-hero .uppercase     { text-transform: uppercase; }
.wr-home-hero .wr-platforms-hero .tracking-wider { letter-spacing: .05em; }
.wr-home-hero .wr-platforms-hero .text-white\/90  { color: rgba(255,255,255,.9); }
.wr-home-hero .wr-platforms-hero .animate-ping    { animation: wr-ping 1s cubic-bezier(0,0,.2,1) infinite; }
.wr-home-hero .wr-platforms-hero .hidden          { display: none; }
.wr-home-hero .wr-platforms-hero .md\:inline      { display: none; }
.wr-home-hero .wr-platforms-hero .md\:hidden      { display: inline; }

.wr-platforms-hero__svg--mobile  { display: block; width: 100%; height: 100%; }
.wr-platforms-hero__svg--desktop { display: none;  width: 100%; height: 100%; }

@media (min-width: 1024px) {

  .wr-home-hero__trajectory-svg--mobile  { display: none; }
  .wr-home-hero__trajectory-svg--desktop { display: block; }

  .wr-platforms-hero__svg--mobile  { display: none; }
  .wr-platforms-hero__svg--desktop { display: block; }

  .wr-home-hero__inner {
    grid-template-columns: 5fr 7fr;
    column-gap: 40px;
    row-gap: 0;
    padding: 80px 40px 112px;
    align-items: start;
  }
  .wr-home-hero__copy-top {
    grid-column: 1; grid-row: 1;
    align-self: end; max-width: 576px;
  }
  .wr-home-hero__copy-bottom {
    grid-column: 1; grid-row: 2;
    align-self: start; max-width: 576px;
  }
  .wr-home-hero__visual {
    grid-column: 2; grid-row: 1 / span 2;
    align-self: center;
  }

  .wr-home-hero__eyebrow { font-size: var(--wr-font-eyebrow); line-height: var(--wr-lh-eyebrow); }
  .wr-home-hero__btn,
  .wr-home-hero__btn:visited { font-size: 17px; line-height: 27px; }
  .wr-home-hero__lead    { font-size: 1.25rem; }
  .wr-home-hero__copy-bottom > .wr-home-hero__lead { margin-top: 28px; }
  .wr-home-hero__conversion { display: block; }

  .wr-home-hero .wr-platforms-hero .md\:inline           { display: inline; }
  .wr-home-hero .wr-platforms-hero .md\:hidden           { display: none; }
  .wr-home-hero .wr-platforms-hero .hidden.md\:inline    { display: inline; }
}

@media (max-width: 1023px) {
  .wr-home-hero__copy-bottom                          { display: flex; flex-direction: column; }
  .wr-home-hero__copy-bottom > .wr-home-hero__lead    { order: 0; }
  .wr-home-hero__copy-bottom > .wr-home-hero__stats   { order: 1; }
  .wr-home-hero__copy-bottom > .wr-home-hero__actions { order: 2; }
}

@media (max-width: 479px) {
  .wr-home-hero__inner       { gap: 20px; padding: 48px 20px 72px; }
  .wr-home-hero__copy-top,
  .wr-home-hero__copy-bottom { max-width: 100%; width: 100%; }
  .wr-home-hero__title       { font-size: clamp(2.25rem, 9.5vw, 3rem); line-height: 1.02; letter-spacing: -.025em; }
  .wr-home-hero__title-line  { display: block; }
  .wr-home-hero__accent      { display: inline-block; max-width: 100%; }
  .wr-home-hero__lead        { font-family: Inter, system-ui, sans-serif; font-size: 18px; line-height: 29px; font-weight: 400; color: rgba(251,250,246,.7); max-width: 100%; overflow-wrap: break-word; }

  .wr-home-hero__actions     { margin-top: 52px; gap: 12px; flex-direction: column; align-items: flex-start; }
  .wr-home-hero__btn         { flex: 0 0 auto; width: auto; padding: .85rem 1.2rem; font-size: 16px; line-height: 26px; font-weight: 500; white-space: nowrap; min-height: 44px; }
  .wr-home-hero__btn-label   { white-space: nowrap; }

  .wr-home-hero__stats       { gap: 12px; margin-top: 32px; margin-bottom: 0; padding-top: 20px; order: 1; }
  .wr-home-hero__stat-number {
    font-family: "Space Grotesk", system-ui, sans-serif;
    font-size: 30px; line-height: 36px; font-weight: 600;
    color: rgb(251,250,246);
  }
  .wr-home-hero__stat-label  {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px; line-height: 18px; font-weight: 400;
    color: rgba(251,250,246,.55); letter-spacing: .08em; overflow-wrap: anywhere;
  }
  .wr-home-hero__visual      { width: 100%; max-width: 100%; }
  .wr-home-hero .wr-platforms-hero { aspect-ratio: 6/5.7; min-width: 0; }
  .wr-home-hero__marquee       { padding: 16px 0; }
  .wr-home-hero__marquee-track { gap: 34px; padding-left: 34px; animation-duration: 32s; }
  .wr-home-hero__marquee-item  {
    font-family: "Space Grotesk", system-ui, sans-serif;
    font-size: 18px; line-height: 28px; font-weight: 500;
    color: rgba(251,250,246,.45);
  }
  .wr-home-hero__star          { margin: 0 12px; }
}
@media (max-width: 370px) {
  .wr-home-hero__btn { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .wr-home-hero__trajectory-arc-v18 { animation: none; stroke-dasharray: 1; stroke-dashoffset: 0; opacity: 1; }
  .wr-home-hero__marquee-track,
  .wr-home-hero__conversion { animation: none; }
}

.wr-platforms-hero,
.wr-platforms-hero * { box-sizing: border-box; }
.wr-platforms-hero {
  position: relative; width: 100%; aspect-ratio: 6/5.6;
  overflow: hidden; font-family: var(--wr-font-sans);
}

.wr-platforms-hero__grid {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none; opacity: .08; display: block;
}
.wr-platforms-hero__svg {
  position: relative;
  width: 100%; height: 100%; display: block;
}
@media (prefers-reduced-motion: reduce) {
  .wr-platforms-hero .animate-ping { animation: none; }
}

.wrp-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--wr-ink);
  color: #fff;
  padding: var(--space-4xl) 0;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

@media (min-width: 1024px) {
  .wrp-section {
    padding: var(--space-5xl) 0;
  }
}

.wrp-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  z-index: 0;
}

.wrp-section .wrp-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.wrp-section .wrp-bg svg {
  width: 100%;
  height: 100%;
  display: block;
}

.wrp-section .wrp-arc {
  stroke-dasharray: 1800;
  stroke-dashoffset: 1800;
  opacity: 0;
}

.wrp-section.is-visible .wrp-arc {
  opacity: 1;
  animation: wrpArcDraw 3.5s cubic-bezier(.2,.8,.2,1) .8s forwards;
}

@keyframes wrpArcDraw {
  to {
    stroke-dashoffset: 0;
  }
}

.wrp-section .wrp-inner {
  position: relative;
  z-index: 2;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad-mobile);
}

@media (min-width: 1024px) {
  .wrp-section .wrp-inner {
    padding: 0 var(--container-pad-desktop);
  }
}

.wrp-section .wrp-head {
  max-width: 672px;
}

.wrp-section .wrp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--wr-font-mono);
  font-weight: 400;
  font-size: var(--wr-font-eyebrow);
  line-height: 1;
  letter-spacing: var(--wr-ls-eyebrow);
  text-transform: uppercase;
  color: var(--wr-coral);
  margin: 0;
}

.wrp-section .wrp-eyebrow::before {
  content: "";
  width: var(--wr-eyebrow-dash);
  height: 1px;
  background: currentColor;
}

.wrp-section .wrp-title {
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-lg);
  line-height: var(--wr-lh-title);
  letter-spacing: var(--wr-ls-title);
  color: #fff;
  margin: 16px 0 0;
}

.wrp-section .wrp-steps {
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background-color: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .wrp-section .wrp-steps {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (min-width: 1024px) {
  .wrp-section .wrp-steps {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}

.wrp-section .wrp-step {
  background: var(--wr-ink);
  padding: 28px;
}

.wrp-section .wrp-step-tag {
  display: block;
  font-family: var(--wr-font-mono);
  font-weight: 400;
  font-size: var(--wr-font-eyebrow);
  line-height: 1.2;
  letter-spacing: var(--wr-ls-eyebrow);
  text-transform: uppercase;
  color: var(--wr-coral);
  margin: 0;
}

.wrp-section .wrp-step-title {
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-sm);
  line-height: var(--wr-lh-card);
  letter-spacing: var(--wr-ls-card);
  color: #fff;
  margin: 12px 0 0;
}

.wrp-section .wrp-step-desc {
  font-family: var(--wr-font-sans);
  font-weight: 400;
  font-size: var(--wr-font-body);
  line-height: var(--wr-lh-body);
  color: rgba(255,255,255,.65);
  margin: 8px 0 0;
}

.wrp-section .wrp-arc--mobile  { display: none; }
.wrp-section .wrp-arc--desktop { display: block; }

@media (max-width: 767px) {
  .wrp-section .wrp-arc--desktop { display: none; }
  .wrp-section .wrp-arc--mobile  { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .wrp-section .wrp-arc {
    animation: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

.wrm-section {
  background: var(--wr-paper);
  color: var(--wr-ink);
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-body); line-height: var(--wr-lh-body);
  padding-block: var(--space-4xl);
}
@media (min-width: 1024px) { .wrm-section { padding-block: var(--space-5xl); } }

.wrm-inner { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-pad-mobile); }
@media (min-width: 1024px) { .wrm-inner { padding-inline: var(--container-pad-desktop); } }

.wrm-grid { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .wrm-grid { grid-template-columns: repeat(12,minmax(0,1fr)); } }

.wrm-stack {
  border: 1px solid var(--wr-line);
  background: var(--wr-card);
  border-radius: 1.5rem;
  padding: 2rem;
}
@media (min-width: 1024px) { .wrm-stack { grid-column: span 6 / span 6; } }

.wrm-stack-head { display: flex; align-items: center; gap: .75rem; color: var(--wr-ink); }
.wrm-icon       { width: 1.25rem; height: 1.25rem; color: var(--wr-coral); flex-shrink: 0; }

.wrm-eyebrow {
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  text-transform: uppercase; letter-spacing: var(--wr-ls-eyebrow);
  color: var(--wr-coral);
  display: inline-flex; align-items: center; gap: .5rem;
}
.wrm-eyebrow::before { content: ""; width: var(--wr-eyebrow-dash); height: 1px; background: var(--wr-coral); }

.wrm-stack-title {
  margin: 1rem 0 0;
  font-family: var(--wr-font-display);
  font-size: var(--wr-font-title-sm); line-height: var(--wr-lh-card);
  font-weight: 600; letter-spacing: -.02em;
  color: var(--wr-ink);
}

.wrm-chips { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.wrm-chip {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .35rem .75rem;
  border: 1px solid var(--wr-line);
  border-radius: var(--radius-pill);
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  color: var(--wr-muted);
  background: var(--wr-paper);
}

.wrm-side { display: grid; gap: 1.5rem; }
@media (min-width: 640px)  { .wrm-side { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { .wrm-side { grid-column: span 6 / span 6; } }

.wrm-panel { position: relative; overflow: hidden; border-radius: 1.5rem; padding: 2rem; }
.wrm-panel--ink   { background: var(--wr-ink); color: var(--wr-paper); }
.wrm-panel--ink   .wrm-panel-label { color: oklch(0.98 0.004 106 / 0.6); }
.wrm-panel--ink   .wrm-panel-value { color: var(--wr-paper); }
.wrm-panel--coral { background: var(--wr-card); border: 1px solid oklch(0.63 0.22 25 / 0.3); }
.wrm-panel--coral .wrm-panel-label { color: var(--wr-muted); }
.wrm-panel--coral .wrm-panel-value { color: var(--wr-ink); }

.wrm-panel-label {
  margin: 1rem 0 0;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  text-transform: uppercase; letter-spacing: var(--wr-ls-eyebrow);
}
.wrm-panel-value {
  margin: .5rem 0 0;
  font-family: var(--wr-font-display);
  font-size: var(--wr-font-title-md); line-height: var(--wr-lh-title); font-weight: 600;
}
.wrm-panel-note {
  margin: .75rem 0 0;
  font-size: var(--wr-font-body); line-height: var(--wr-lh-body);
  color: var(--wr-muted);
}
.wrm-glow {
  pointer-events: none; position: absolute;
  bottom: -2.5rem; right: -2.5rem;
  width: 8rem; height: 8rem;
  border-radius: var(--radius-pill);
  background: oklch(0.63 0.22 25 / 0.2);
  filter: blur(24px);
}

.wr-deliverables {
  position: relative;
  overflow: hidden;
  padding: var(--space-4xl) 0;
  color: var(--wr-ink);
  font-family: var(--wr-font-sans);
  -webkit-font-smoothing: antialiased;
  background: transparent;
  box-sizing: border-box;
}
.wr-deliverables *, .wr-deliverables *::before, .wr-deliverables *::after { box-sizing: border-box; }
@media (min-width: 1024px) { .wr-deliverables { padding: var(--space-5xl) 0; } }

.wr-deliverables__container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad-mobile); }
@media (min-width: 1024px)  { .wr-deliverables__container { padding: 0 var(--container-pad-desktop); } }

.wr-deliverables__header {
  display: flex; flex-direction: column;
  align-items: flex-start; justify-content: space-between;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .wr-deliverables__header { flex-direction: row; align-items: flex-end; }
}
.wr-deliverables__heading { display: flex; flex-direction: column; gap: 1rem; }

.wr-deliverables__eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--wr-font-mono);
  font-weight: 400; font-size: var(--wr-font-eyebrow); line-height: 1;
  text-transform: uppercase; letter-spacing: var(--wr-ls-eyebrow);
  color: var(--wr-coral);
  margin: 0;
}
.wr-deliverables__eyebrow-dash {
  display: inline-block;
  width: var(--wr-eyebrow-dash); height: 1px;
  background: var(--wr-coral);
  flex-shrink: 0;
}

.wr-deliverables__title {
  font-family: var(--wr-font-display);
  font-weight: 600; font-size: var(--wr-font-title-lg); line-height: var(--wr-lh-title);
  letter-spacing: var(--wr-ls-title);
  color: var(--wr-ink);
  margin: 0;
}
.wr-deliverables__title em { font-style: normal; color: var(--wr-coral); }

.wr-deliverables__lead {
  font-family: var(--wr-font-sans);
  font-weight: 400; font-size: var(--wr-font-body); line-height: var(--wr-lh-body);
  color: var(--wr-muted);
  margin: 0; max-width: 28rem;
}

.wr-deliverables__grid {
  margin-top: 2.5rem;
  display: grid; grid-template-columns: 1fr;
  gap: 1px;
  background: rgba(27,60,111,.12);
  border: 1px solid rgba(27,60,111,.12);
  border-radius: 24px; overflow: hidden;
}
@media (min-width: 768px)  { .wr-deliverables__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .wr-deliverables__grid { grid-template-columns: 1fr 1fr 1fr; } }

.wr-deliverables__card { display: flex; flex-direction: column; padding: 1.75rem; background: var(--wr-paper); }
.wr-deliverables__card-top { display: flex; align-items: center; justify-content: space-between; }

.wr-deliverables__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px;
  border-radius: var(--radius-pill); flex-shrink: 0;
  background: linear-gradient(135deg,#F1F5FB 0%, var(--wr-paper) 100%);
  box-shadow: inset 0 0 0 1px rgba(27,60,111,.10), 0 4px 14px -8px rgba(27,60,111,.25);
  color: var(--wr-ink);
}
.wr-deliverables__icon svg { width: 22px; height: 22px; display: block; }

.wr-deliverables__code {
  font-family: var(--wr-font-mono);
  font-weight: 400; font-size: var(--wr-font-eyebrow); line-height: var(--wr-lh-eyebrow);
  letter-spacing: var(--wr-ls-eyebrow); text-transform: uppercase;
  color: var(--wr-muted);
}

.wr-deliverables__card-title {
  font-family: var(--wr-font-display);
  font-weight: 600; font-size: var(--wr-font-title-sm); line-height: var(--wr-lh-card);
  color: var(--wr-ink);
  margin: 1.25rem 0 0;
}
.wr-deliverables__card-desc {
  font-family: var(--wr-font-sans);
  font-weight: 400; font-size: var(--wr-font-body); line-height: var(--wr-lh-body);
  color: var(--wr-muted);
  margin: .5rem 0 0;
}

.wr-pkg {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--wr-paper);
  padding: var(--space-4xl) 0;
  font-family: var(--wr-font-sans);
  color: var(--wr-ink);
  box-sizing: border-box;
}

.wr-pkg *,
.wr-pkg *::before,
.wr-pkg *::after {
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  .wr-pkg {
    padding: var(--space-5xl) 0;
  }
}

.wr-pkg__inner {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}

@media (min-width: 1024px) {
  .wr-pkg__inner {
    padding: 0 var(--container-pad-desktop);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 64px;
  }
}

.wr-pkg__left,
.wr-pkg__right {
  min-width: 0;
}

.wr-pkg__right {
  padding-top: 0;
}

.wr-anim {
  position: relative;
  width: 100%;
  max-width: 520px;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--wr-line);
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(135deg, #fbfaf7 0%, #ffffff 50%, #f4f3ee 100%);
}

@media (max-width: 1023px) {
  .wr-anim {
    max-width: 100%;
  }
}

.wr-anim__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(26,54,102,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(26,54,102,.05) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .5;
  pointer-events: none;
}

.wr-anim__svg {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.wr-anim__label {
  font-family: var(--wr-font-mono);
  font-size: 10px;
}

.wr-stats {
  margin: 32px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--wr-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.wr-stats__item {
  min-width: 0;
}

.wr-stats__item dt {
  margin: 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-md);
  line-height: var(--wr-lh-title);
  color: var(--wr-ink);
  letter-spacing: -.02em;
}

.wr-stats__item dd {
  margin: 6px 0 0;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-muted);
}

.wr-pkg .wr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-coral);
}

.wr-pkg .wr-eyebrow::before {
  content: "";
  display: inline-block;
  width: var(--wr-eyebrow-dash);
  height: 1px;
  background: var(--wr-coral);
}

.wr-pkg .wr-title {
  margin: 16px 0 32px;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-lg);
  line-height: var(--wr-lh-title);
  letter-spacing: var(--wr-ls-title);
  color: var(--wr-ink);
}

.wr-pkg .wr-title .wr-accent {
  color: var(--wr-coral);
}

.wr-bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.wr-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 16px 18px;
  background: var(--wr-card);
  border: 1px solid var(--wr-line);
  border-radius: 14px;
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-body);
  line-height: var(--wr-lh-body);
  color: var(--wr-ink);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.wr-bullets li:hover {
  transform: translateY(-2px);
  border-color: rgba(241,56,62,.35);
  box-shadow: 0 10px 24px -16px rgba(241,56,62,.45);
}

.wr-check {
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: var(--wr-coral);
}

.wr-check path {
  stroke: currentColor;
}

@media (prefers-reduced-motion: reduce) {
  .wr-anim__svg * {
    animation: none;
  }

  .wr-bullets li {
    transition: none;
  }

  .wr-bullets li:hover {
    transform: none;
  }
}

.wrk-section {
  background: var(--wr-paper);
  padding-block: var(--space-4xl);
  font-family: var(--wr-font-sans);
  color: var(--wr-ink);
  position: relative;
  left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  width: 100vw; max-width: 100vw;
  box-sizing: border-box;
}
@media (min-width: 1024px) { .wrk-section { padding-block: var(--space-5xl); } }

.wrk-section * { box-sizing: border-box; }

.wrk-section .wrk-wrap {
  max-width: var(--container-max); margin-inline: auto;
  padding-inline: var(--container-pad-mobile); width: 100%;
}
@media (min-width: 1024px) { .wrk-section .wrk-wrap { padding-inline: var(--container-pad-desktop); } }

.wrk-section .wrk-head {
  display: flex; flex-direction: column;
  align-items: flex-start; justify-content: space-between;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .wrk-section .wrk-head { flex-direction: row; align-items: flex-end; }
}

.wrk-section .wrk-eyebrow {
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow); line-height: 1; font-weight: 400;
  text-transform: uppercase; letter-spacing: var(--wr-ls-eyebrow);
  color: var(--wr-coral);
  display: inline-flex; align-items: center; gap: .5rem;
  margin: 0;
}
.wrk-section .wrk-eyebrow::before {
  content: ""; display: inline-block;
  width: var(--wr-eyebrow-dash); height: 1px; background: var(--wr-coral);
}

.wrk-section .wrk-title {
  margin: 1rem 0 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-lg);
  line-height: var(--wr-lh-title); letter-spacing: var(--wr-ls-title);
  color: var(--wr-ink);
}
.wrk-section .wrk-title .wrk-accent { color: var(--wr-coral); font-family: inherit; font-weight: inherit; }

.wrk-section .wrk-all {
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-button); line-height: 1.25rem;
  font-weight: var(--wr-fw-button);
  color: var(--wr-ink);
  text-decoration: none;
  transition: color .2s ease;
}
.wrk-section .wrk-all:hover { color: var(--wr-coral); }

.wrk-section .wrk-grid {
  margin-top: 2.5rem;
  display: grid; gap: 1px;
  background: var(--wr-line);
  border: 1px solid var(--wr-line);
  border-radius: 1.5rem; overflow: hidden;
  grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .wrk-section .wrk-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { .wrk-section .wrk-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }

.wrk-section .wrk-card {
  display: block; background: var(--wr-paper);
  padding: 1.75rem; text-decoration: none;
  color: inherit;
  transition: background .2s ease;
}
.wrk-section .wrk-card:hover { background: var(--wr-card); }

.wrk-section .wrk-ico {
  display: grid; place-items: center;
  width: 2.75rem; height: 2.75rem;
  border-radius: 9999px;
  background: var(--wr-ink); color: var(--wr-paper);
  transition: background .2s ease;
}
.wrk-section .wrk-card:hover .wrk-ico { background: var(--wr-coral); }
.wrk-section .wrk-ico svg {
  width: 1.25rem; height: 1.25rem;
  stroke: currentColor; fill: none; display: block;
}

.wrk-section .wrk-card-title {
  margin: 1.25rem 0 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: var(--wr-font-title-sm); line-height: var(--wr-lh-card);
  letter-spacing: var(--wr-ls-card);
  color: var(--wr-ink);
}
.wrk-section .wrk-card-desc {
  margin: .5rem 0 0;
  font-family: var(--wr-font-sans);
  font-weight: 400;
  font-size: var(--wr-font-body); line-height: var(--wr-lh-body);
  color: var(--wr-muted);
}

.wr-section.wr-ismeros {
  position: relative;
  width: 100vw;
  left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  overflow: hidden;
  background: var(--wr-surface-alt);
  padding: var(--wr-section-pad-md) 0;
  color: var(--wr-ink);
  font-family: var(--wr-font-sans);
}
@media (min-width: 1024px) { .wr-section.wr-ismeros { padding: 140px 0; } }

.wr-ismeros .wr-bg-arc {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}

.wr-ismeros .wr-arc-path--mobile  { display: none; }
.wr-ismeros .wr-arc-path--desktop { display: block; }

@media (max-width: 767px) {
  .wr-ismeros .wr-arc-path--desktop { display: none; }
  .wr-ismeros .wr-arc-path--mobile  { display: block; }
}
.wr-ismeros .wr-arc-path { opacity: 0; }
.wr-ismeros.is-visible .wr-arc-path {
  opacity: 1;
  animation: wrArcDrawOnce 3.5s ease forwards;
}

.wr-container { position: relative; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad-mobile); }
@media (min-width: 1024px) { .wr-container { padding: 0 var(--container-pad-desktop); } }

.wr-grid { display: grid; gap: 48px; align-items: start; }
@media (min-width: 1024px) { .wr-grid { grid-template-columns: 5fr 7fr; gap: 64px; } }

.wr-ismeros .wr-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow); font-weight: 600;
  letter-spacing: var(--wr-ls-eyebrow); text-transform: uppercase;
  color: var(--wr-coral);
}
.wr-eyebrow-bar { display: inline-block; width: var(--wr-eyebrow-dash); height: 1px; background: var(--wr-coral); }

.wr-ismeros .wr-display {
  font-family: var(--wr-font-display);
  font-weight: 700;
  font-size: var(--wr-font-title-lg);
  line-height: var(--wr-lh-title); letter-spacing: var(--wr-ls-title);
  color: var(--wr-ink);
  margin: 20px 0 0;
}
.wr-ismeros .wr-display .wr-coral { color: var(--wr-coral); }
.wr-forwhom { list-style: none; padding: 0; margin: 36px 0 0; display: flex; flex-direction: column; gap: 12px; }
.wr-forwhom-item {
  display: flex; align-items: flex-start; gap: 16px;
  background: var(--wr-card);
  border: 1px solid var(--wr-line);
  border-radius: 18px; padding: 20px;
  box-shadow: var(--wr-shadow-soft);
}
.wr-badge {
  flex-shrink: 0; display: grid; place-items: center;
  width: 36px; height: 36px; border-radius: var(--radius-pill);
  background: var(--wr-ink); color: var(--wr-paper);
  font-family: var(--wr-font-mono); font-size: var(--wr-font-eyebrow); font-weight: 600;
}
.wr-forwhom-text { padding-top: 6px; font-size: var(--wr-font-body); line-height: var(--wr-lh-body); color: var(--wr-ink); }

.wr-problems { display: grid; gap: 16px; margin-top: 36px; }
@media (min-width: 640px) { .wr-problems { grid-template-columns: 1fr 1fr; } }

.wr-problem {
  position: relative; overflow: hidden;
  background: var(--wr-card);
  border: 1px solid var(--wr-line);
  border-radius: 18px; padding: 24px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.wr-problem:hover       { transform: translateY(-4px); box-shadow: var(--wr-shadow-launch); }
.wr-problem-icon        { width: 20px; height: 20px; color: var(--wr-coral); }
.wr-problem-title       { margin: 16px 0 0; font-family: var(--wr-font-display); font-weight: 600; font-size: var(--wr-font-title-sm); line-height: var(--wr-lh-card); color: var(--wr-ink); }
.wr-problem-desc        { margin: 12px 0 0; font-size: var(--wr-font-body); line-height: var(--wr-lh-body); color: var(--wr-muted); }
.wr-problem-blob        { position: absolute; top: -32px; right: -32px; width: 96px; height: 96px; border-radius: 999px; background: oklch(0.63 0.22 25 / 0.10); transition: background .25s ease; pointer-events: none; }
.wr-problem:hover .wr-problem-blob { background: oklch(0.63 0.22 25 / 0.20); }

@media (prefers-reduced-motion: reduce) {
  .wr-problem, .wr-problem-blob { transition: none; }
  .wr-ismeros .wr-arc-path { animation: none; stroke-dashoffset: 0; }
}

.wr-deliverables .wr-bg-arc {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  overflow: visible;
}

.wr-deliverables .wr-arc-path {
  fill: none;
  stroke: var(--wr-coral);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  opacity: 0;
  filter: drop-shadow(0 0 8px oklch(0.63 0.22 25 / .4));
}

.wr-deliverables .wr-arc-path--mobile  { display: none; }
.wr-deliverables .wr-arc-path--desktop { display: block; }

@media (max-width: 767px) {
  .wr-deliverables .wr-arc-path--desktop { display: none; }
  .wr-deliverables .wr-arc-path--mobile  { display: block; }
}

.wr-deliverables.is-visible .wr-arc-path {
  opacity: 1;
  animation: wrArcDrawOnce 3.5s ease forwards;
}

@media (prefers-reduced-motion: reduce) {
  .wr-deliverables .wr-arc-path { animation: none; stroke-dashoffset: 0; opacity: 1; }
}

.wr-home-hero__stat { display: flex; flex-direction: column; gap: .15rem; }

.wr-pipeline {
  background: var(--wr-paper);
  color: var(--wr-ink);
  font-family: var(--wr-font-sans);
  padding: 80px 20px;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) {
  .wr-pipeline { padding: 112px 40px; }
}

.wr-pipeline__inner { max-width: 1280px; margin: 0 auto; }

.wr-pipeline__head { max-width: 720px; }

.wr-pipeline__eyebrow {
  display: inline-block;
  font-family: var(--wr-font-mono);
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wr-coral);
}

.wr-pipeline__title {
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3.5rem);
  line-height: 1.107;
  letter-spacing: -0.02em;
  color: var(--wr-ink);
  margin: 16px 0 0;
}
.wr-pipeline__title em { font-style: normal; color: var(--wr-coral); }

.wr-pipeline__lead {
  max-width: 640px;
  margin: 20px 0 0;
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-lead);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-lead);
  color: var(--muted-foreground);
}

.wr-pipeline__grid {
  margin-top: 56px;
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
}
@media (min-width: 768px)  { .wr-pipeline__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wr-pipeline__grid { grid-template-columns: repeat(4, 1fr); } }

.wr-pipeline__card {
  background: var(--wr-card);
  border: 1px solid var(--wr-line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--wr-shadow-soft);
}

.wr-pipeline__anim {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, var(--wr-paper) 0%, #fff 50%, rgba(218,221,227,.25) 100%);
  border-bottom: 1px solid var(--wr-line);
}
.wr-pipeline__anim svg { display: block; width: 100%; height: 100%; }

.wr-pipeline__body { padding: 24px; }

.wr-pipeline__code {
  font-family: var(--wr-font-mono);
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 0.2em;
  color: var(--wr-coral);
  text-transform: uppercase;
}

.wr-pipeline__cardtitle {
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 28px;
  color: var(--wr-ink);
  margin: 8px 0 0;
}
@media (min-width: 1024px) {
  .wr-pipeline__cardtitle { font-size: 26px; line-height: 33px; }
}

.wr-pipeline__desc {
  margin: 8px 0 0;
  font-family: var(--wr-font-sans);
  font-weight: var(--wr-fw-body);
  font-size: var(--wr-font-lead);
  line-height: var(--wr-lh-lead);
  color: var(--muted-foreground);
}

.wr-services {
  position: relative;
  background: #f4f6f9;
  border-top: 1px solid rgba(216,221,230,.7);
  padding: 80px 0;
  font-family: var(--wr-font-sans);
  color: var(--wr-ink);
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) { .wr-services { padding: 112px 0; } }

.wr-services .wr-top-tick {
  position: absolute; left: 50%; top: 0; transform: translateX(-50%);
  width: 96px; height: 1px; background: rgba(240,58,71,.6);
}

.wr-services .wr-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 1024px) { .wr-services .wr-container { padding: 0 40px; } }

.wr-services .wr-header {
  display: flex; flex-direction: column;
  align-items: flex-start; justify-content: space-between;
  gap: 32px;
}
@media (min-width: 1024px) {
  .wr-services .wr-header { flex-direction: row; align-items: flex-end; }
}

.wr-services .wr-header-left { max-width: 42rem; }

.wr-services .wr-header-right {
  max-width: 28rem;
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-lead);
  font-weight: var(--wr-fw-body);
  line-height: var(--wr-lh-lead);
  color: var(--muted-foreground);
}

.wr-services .wr-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--wr-font-mono);
  font-size: 13px; line-height: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-coral);
}
.wr-services .wr-eyebrow::before {
  content: ""; width: 28px; height: 1px; background: var(--wr-coral);
}

.wr-services :is(h1, h2).wr-title {
  margin: 16px 0 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3.5rem);
  line-height: 1.107;
  letter-spacing: -0.03em;
  color: var(--wr-ink);
}
.wr-services :is(h1, h2).wr-title .wr-accent { color: var(--wr-coral); }

.wr-services .wr-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border: 1px solid var(--wr-line);
  border-radius: 24px;
  overflow: hidden;
}
@media (min-width: 768px)  { .wr-services .wr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wr-services .wr-grid { grid-template-columns: repeat(4, 1fr); } }

.wr-services .wr-grid > * {
  height: 100%;
  display: flex;
}

.wr-services .wr-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  background: var(--wr-paper);
  padding: 28px;
  text-decoration: none; color: inherit;
  transition: background .25s ease;

  border-right: none;
  border-bottom: 1px solid var(--wr-line);
  border-top: none;
  border-left: none;
  margin: 0;
  box-sizing: border-box;
}
.wr-services .wr-card:last-child { border-bottom: none; }
.wr-services .wr-card:hover { background: #ffffff; }

@media (min-width: 768px) {
  .wr-services .wr-card                   { border-right: 1px solid var(--wr-line); }
  .wr-services .wr-card:last-child         { border-bottom: 1px solid var(--wr-line); }
  .wr-services .wr-card:nth-child(2n)      { border-right: none; }
  .wr-services .wr-card:nth-last-child(-n+2) { border-bottom: none; }
}

@media (min-width: 1024px) {
  .wr-services .wr-card                     { border-right: 1px solid var(--wr-line); }
  .wr-services .wr-card:nth-child(2n)        { border-right: 1px solid var(--wr-line); }
  .wr-services .wr-card:nth-child(4n)        { border-right: none; }
  .wr-services .wr-card:nth-last-child(-n+2) { border-bottom: 1px solid var(--wr-line); }
  .wr-services .wr-card:nth-last-child(-n+4) { border-bottom: none; }
}

.wr-services .wr-card-top {
  display: flex; align-items: center; justify-content: space-between;
}

.wr-services .wr-icon-wrap {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 9999px;
  background: var(--wr-ink); color: var(--wr-paper);
  transition: background .25s ease;
}
.wr-services .wr-card:hover .wr-icon-wrap { background: var(--wr-coral); }
.wr-services .wr-icon-wrap svg { width: 22px; height: 22px; }

.wr-services .wr-code {
  font-family: var(--wr-font-mono);
  font-size: 13px; line-height: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-coral);
}

.wr-services .wr-card h3 {
  margin: 20px 0 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 28px;
  color: var(--wr-ink);
}
@media (min-width: 1024px) { .wr-services .wr-card h3 { font-size: 26px; line-height: 33px; } }

.wr-services .wr-card p {
  margin: 8px 0 0;
  font-family: var(--wr-font-sans);
  font-weight: var(--wr-fw-body);
  font-size: var(--wr-font-lead);
  line-height: var(--wr-lh-lead);
  color: var(--muted-foreground);
}

.wr-services .wr-more {
  margin-top: 20px;
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 14px; font-weight: 500;
  color: var(--wr-coral);
  opacity: .7;
  transition: opacity .25s ease;
}
.wr-services .wr-card:hover .wr-more { opacity: 1; }
.wr-services .wr-more svg { width: 14px; height: 14px; }

.wr-services .wr-icon-coral      { stroke: var(--wr-coral); }
.wr-services .wr-icon-coral-fill { fill:   var(--wr-coral); }

@keyframes wr-arc-draw {
  to { stroke-dashoffset: 0; }
}

.wr-protocol {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--wr-ink);
  color: #fff;
  padding: 80px 0;
  font-family: var(--wr-font-sans);
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 1024px) { .wr-protocol { padding: 112px 0; } }

.wr-protocol::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right,  rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  z-index: 0;
}

.wr-protocol__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.wr-protocol__bg svg { width: 100%; height: 100%; display: block; }

.wr-protocol__arc {
  stroke-dasharray: 1800;
  stroke-dashoffset: 1800;
  opacity: 0;
}

.wr-protocol.is-visible .wr-protocol__arc {
  opacity: 1;
  animation: wr-arc-draw 3.5s cubic-bezier(.2,.8,.2,1) .8s forwards;
}

.wr-protocol__arc--mobile  { display: none; }
.wr-protocol__arc--desktop { display: block; }
@media (max-width: 767px) {
  .wr-protocol__arc--desktop { display: none; }
  .wr-protocol__arc--mobile  { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .wr-protocol__arc {
    animation: none;
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

.wr-protocol__inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 1024px) { .wr-protocol__inner { padding: 0 40px; } }

.wr-protocol__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 20px;
  font-family: var(--wr-font-mono);
  font-size: 13px;
  line-height: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-coral);
}
.wr-protocol__eyebrow::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--wr-coral);
  flex-shrink: 0;
}

.wr-protocol__title {
  margin: 0 0 20px;
  max-width: 32rem;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3.5rem);
  line-height: 1.107;
  letter-spacing: -0.03em;
  color: #ffffff;
}

.wr-protocol__lead {
  margin: 0 0 56px;
  max-width: 38rem;
  font-family: var(--wr-font-sans);
  font-weight: var(--wr-fw-body);
  font-size: var(--wr-font-lead);
  line-height: var(--wr-lh-lead);
  color: rgba(255,255,255,.55);
}

.wr-protocol__steps {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px)  { .wr-protocol__steps { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) { .wr-protocol__steps { grid-template-columns: repeat(3, 1fr) !important; } }

.wr-protocol__step {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  padding: 28px;

  display: block;
  box-sizing: border-box;
}

.wr-protocol__step-tag {
  display: block;
  margin-bottom: 12px;
  font-family: var(--wr-font-mono);
  font-size: 13px;
  line-height: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--wr-coral);
}

.wr-protocol__step-title {
  margin: 0 0 8px;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: 22px;
  line-height: 28px;
  color: #ffffff;
}
@media (min-width: 1024px) {
  .wr-protocol__step-title { font-size: 26px; line-height: 33px; }
}

.wr-protocol__step-desc {
  margin: 0;
  font-family: var(--wr-font-sans);
  font-weight: var(--wr-fw-body);
  font-size: var(--wr-font-lead);
  line-height: var(--wr-lh-lead);
  color: rgba(255,255,255,.55);
}

.wr-about-hero > *:not(.wr-motif):not(.wr-motif-rocket):not(.wr-motif-glow) { position: relative; z-index: 2; }

.wr-motif {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
  color: inherit;
  fill: none;
}
.wr-motif__orbits        { stroke: currentColor; stroke-width: 1; opacity: .13; }
.wr-motif__orbit--dashed { stroke-dasharray: 2 12; }
.wr-motif__ticks         { stroke: currentColor; stroke-width: 1; opacity: .16; }
.wr-motif__arc           { stroke: currentColor; stroke-width: 1; opacity: .22; stroke-dasharray: 1 9; }

@media (prefers-reduced-motion: no-preference) {
  .wr-motif__arc {
    stroke-dasharray: 2200; stroke-dashoffset: 2200;
    animation: wr-motif-draw 2.4s cubic-bezier(.2,.8,.2,1) .3s forwards;
  }
  @keyframes wr-motif-draw { to { stroke-dashoffset: 0; } }
}

@media (max-width: 640px) {
  .wr-motif__ticks { display: none; }
}

.wr-motif-rocket {
  position: absolute;
  top: 50%;
  right: -80px;
  height: 120%;
  width: auto;
  transform: translateY(-50%);
  z-index: 0;
  pointer-events: none;
  display: block;
  color: var(--paper, #fbfaf6);
  fill: none;
  opacity: .05;
}
@media (min-width: 1024px) { .wr-motif-rocket { right: -40px; } }
@media (max-width: 640px)  { .wr-motif-rocket { right: -140px; opacity: .04; } }

.wr-motif-rocket__lines  { stroke: currentColor; stroke-width: 1.2; fill: none; }
.wr-motif-rocket__trail  { stroke: currentColor; stroke-width: 1.2; fill: none; stroke-dasharray: 2 10; }
.wr-motif-rocket__sparks { fill: currentColor; stroke: none; }

.wr-motif-glow {
  position: absolute; z-index: 0; display: block;
  border-radius: 50%; pointer-events: none;
  background: var(--coral, #f03a47);
}
.wr-motif-glow--tr { top: -128px; right: -128px; width: 480px; height: 480px; opacity: .28; filter: blur(140px); }
.wr-motif-glow--bl { bottom: 0; left: -80px; width: 320px; height: 320px; opacity: .10; filter: blur(120px); }

@media (max-width: 640px) {
  .wr-motif-glow--tr { width: 300px; height: 300px; top: -100px; right: -100px; filter: blur(100px); }
  .wr-motif-glow--bl { width: 200px; height: 200px; filter: blur(90px); }
}

.wr-ticker,
.wr-ticker * { box-sizing: border-box; }

.wr-ticker {
  --wr-tk-bg:       var(--paper, #fbfaf6);
  --wr-tk-fg:       rgba(27, 60, 111, .70);
  --wr-tk-accent:   var(--coral, #f03a47);
  --wr-tk-hairline: rgba(27, 60, 111, .12);
  --wr-tk-speed:    38s;

  position: relative;
  display: block;
  width: auto;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  clear: both;
  padding: 20px 0;
  background-color: var(--wr-tk-bg);
  border-top: 1px solid var(--wr-tk-hairline);
  border-bottom: 1px solid var(--wr-tk-hairline);
}
@supports (width: 100dvw) {
  .wr-ticker {
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
}

.wr-ticker__track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  will-change: transform;
  animation: wr-ticker-scroll var(--wr-tk-speed) linear infinite;
}

.wr-ticker__group {
  list-style: none;
  margin: 0;
  padding: 0 20px;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 40px;
}

.wr-ticker__item,
.wr-ticker__sep {
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow, .75rem);
  letter-spacing: var(--wr-ls-eyebrow, .22em);
  text-transform: uppercase;
  line-height: 1;
  color: var(--wr-tk-fg);
}
.wr-ticker__sep { color: var(--wr-tk-accent); letter-spacing: 0; }

@keyframes wr-ticker-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 640px) {
  .wr-ticker { padding: 16px 0; }
  .wr-ticker__group { gap: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .wr-ticker__track { animation: none; }
}
@keyframes wr-team-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

.wr-fit {
  padding: 80px 0;
  background: var(--paper, #fff);
}
@media (min-width: 1024px) {
  .wr-fit { padding: 128px 0; }
}

.wr-fit__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 1024px) {
  .wr-fit__inner { padding: 0 40px; }
}

.wr-fit__head { max-width: 42rem; }

.wr-fit__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--wr-font-mono);
  font-size: var(--wr-font-eyebrow);
  line-height: var(--wr-lh-eyebrow);
  letter-spacing: var(--wr-ls-eyebrow);
  text-transform: uppercase;
  color: var(--coral, #e8384f);
}
.wr-fit__dash {
  display: block;
  width: 32px;
  height: 1px;
  background: var(--coral, #e8384f);
  flex: 0 0 auto;
}

.wr-fit__title {
  margin: 20px 0 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: clamp(2.25rem, 5vw, 56px);
  line-height: 1.02;
  letter-spacing: -.02em;
  color: var(--ink, #16203c);
  text-wrap: balance;
}
.wr-fit__title em {
  font-style: italic;
  color: var(--coral, #e8384f);
}

.wr-fit__lead {
  margin: 20px 0 0;
  font-family: Inter, system-ui, sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 27px;
  color: oklch(0.46 0.03 258);
}
@media (max-width: 640px) {
  .wr-fit__lead { font-size: 16px; line-height: 26px; }
}

.wr-fit__grid {
  margin-top: 56px;
  display: grid;
  gap: 32px;
}
@media (min-width: 1024px) {
  .wr-fit__grid { grid-template-columns: 1fr 1fr; }
}

.wr-fit__card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 40px;
}
@media (max-width: 640px) {
  .wr-fit__card { padding: 28px 24px; border-radius: 20px; }
}

.wr-fit__card--yes {
  background: var(--ink, #16203c);
  color: var(--paper, #fff);
}
.wr-fit__card--no {
  background: var(--paper, #fff);
  border: 1px solid var(--line, rgba(22, 32, 60, .12));
}

.wr-fit__glow {
  position: absolute;
  top: -64px;
  right: -64px;
  width: 192px;
  height: 192px;
  border-radius: 9999px;
  background: color-mix(in oklab, var(--coral, #e8384f) 30%, transparent);
  filter: blur(64px);
  pointer-events: none;
}

.wr-fit__cardhead {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.wr-fit__badge {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border-radius: 9999px;
}
.wr-fit__badge svg { width: 20px; height: 20px; }
.wr-fit__badge--yes {
  background: var(--coral, #e8384f);
  color: var(--paper, #fff);
}
.wr-fit__badge--no {
  background: var(--secondary, #eef1f7);
  color: var(--ink, #16203c);
}

.wr-fit__cardtitle {
  margin: 0;
  font-family: var(--wr-font-display);
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: inherit;
}
.wr-fit__card--no .wr-fit__cardtitle { color: var(--ink, #16203c); }

.wr-fit__list {
  position: relative;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.wr-fit__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  font-family: var(--wr-font-sans);
  font-size: var(--wr-font-body);
  line-height: 1.65;
  color: color-mix(in oklab, var(--paper, #fff) 85%, transparent);
}
.wr-fit__item--muted { color: oklch(0.46 0.03 258); }

.wr-fit__icon {
  width: 16px;
  height: 16px;
  margin-top: 5px;
  flex: 0 0 auto;
}
.wr-fit__icon--yes { color: var(--coral, #e8384f); }
.wr-fit__icon--no  { color: color-mix(in oklab, var(--ink, #16203c) 40%, transparent); }
@keyframes wr-contact-arc-draw {
  0%   { opacity: 0; stroke-dashoffset: 1; }
  10%  { opacity: 1; }
  100% { opacity: 1; stroke-dashoffset: 0; }
}

.wr-hero-section .trajectory-grid,
.wr-hero-section .ink-grid,
.wr-anim__grid { display: none !important; }

.wr-platforms-hero [fill="url(#ph-grid)"],
.wr-platforms-hero [fill="url(#phm-grid)"] { display: none !important; }

.wr-svc-quote { position: relative; overflow: hidden; padding-block: 5rem;
  background: linear-gradient(135deg,
    color-mix(in oklab, var(--secondary) 60%, transparent) 0%,
    var(--paper) 50%,
    color-mix(in oklab, var(--secondary) 40%, transparent) 100%); }
@media (min-width:1024px){ .wr-svc-quote { padding-block: 7rem; } }
.wr-svc-quote__inner { max-width: 56rem; margin-inline:auto; padding-inline: var(--container-pad-mobile); text-align:center; }
@media (min-width:1024px){ .wr-svc-quote__inner { padding-inline: var(--container-pad-desktop); } }
.wr-svc-quote__icon { width:2.5rem; height:2.5rem; color: var(--coral); margin:0 auto; display:block; }
.wr-svc-quote__q { margin:1.5rem 0 0; font-family: var(--wr-font-display); font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-quote); line-height:1.375; letter-spacing: var(--wr-ls-card); color: var(--ink); }
.wr-svc-quote__a { margin-top:1.5rem; font-family: var(--wr-font-mono); font-size: var(--wr-font-xs);
  text-transform:uppercase; letter-spacing: var(--wr-ls-label); color: var(--muted-foreground); }

.wr-svc-faq { padding-block: 5rem; }
@media (min-width:1024px){ .wr-svc-faq { padding-block: 7rem; } }
.wr-svc-faq__grid { display:grid; gap:3rem; max-width: var(--container-max); margin-inline:auto; padding-inline: var(--container-pad-mobile); }
@media (min-width:1024px){ .wr-svc-faq__grid { grid-template-columns: 4fr 8fr; align-items:start; padding-inline: var(--container-pad-desktop); } }
.wr-svc-faq__title { margin-top:1rem; color: var(--ink); }
.wr-svc-faq__lead { margin-top:1.25rem; font-family: var(--font-sans); font-size: var(--wr-font-body); line-height: var(--wr-lh-body); color: var(--muted-foreground); }
.wr-svc-faq__cta { margin-top:2rem; }
.wr-svc-faq__item { border-bottom:1px solid var(--line); }
.wr-svc-faq__q { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.25rem 0; font-family: var(--wr-font-display); font-weight: var(--wr-fw-display);
  font-size: var(--wr-font-card-title); line-height: var(--wr-lh-card); letter-spacing: var(--wr-ls-card); color: var(--ink); transition: color .2s ease; }
.wr-svc-faq__q::-webkit-details-marker { display:none; }
.wr-svc-faq__q::after { content:""; flex:0 0 auto; width:.6rem; height:.6rem; margin-right:.25rem;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform: rotate(45deg); transition: transform .25s ease; }
.wr-svc-faq__item[open] .wr-svc-faq__q::after { transform: rotate(-135deg); }
.wr-svc-faq__q:hover { color: var(--coral); }
.wr-svc-faq__a { padding:0 0 1.25rem; font-family: var(--font-sans); font-size: var(--wr-font-body); line-height:1.7; color: var(--muted-foreground); max-width:60ch; }

.wr-svc-cta { padding-bottom: 5rem; }
@media (min-width:1024px){ .wr-svc-cta { padding-bottom: 7rem; } }
.wr-svc-cta__inner { max-width: 56rem; margin-inline:auto; padding-inline: var(--container-pad-mobile); text-align:center; }
@media (min-width:1024px){ .wr-svc-cta__inner { padding-inline: var(--container-pad-desktop); } }
.wr-svc-cta__lead { margin:1.25rem auto 0; max-width:42rem; font-family: var(--font-sans); font-size: var(--wr-font-body-lg); line-height: var(--wr-lh-body); color: var(--muted-foreground); }
.wr-svc-cta__btn { margin-top:2rem; }
.wr-svc-accent { color: var(--coral); }
.wr-svc-ic { width: 1rem; height: 1rem; flex:0 0 auto; }

.wr-abouthome { padding-block: 5rem; }
@media (min-width:1024px){ .wr-abouthome { padding-block: 7rem; } }
.wr-abouthome__grid { display:grid; gap:3rem; max-width: var(--container-max); margin-inline:auto; padding-inline: var(--container-pad-mobile); }
@media (min-width:1024px){ .wr-abouthome__grid { grid-template-columns: 5fr 7fr; gap:4rem; padding-inline: var(--container-pad-desktop); } }
.wr-abouthome__card { position:relative; overflow:hidden; padding:2.5rem; }
.wr-abouthome__card-in { position:relative; z-index:1; }
.wr-abouthome__traj { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.wr-abouthome__quote { margin:1.25rem 0 0; font-family: var(--wr-font-display); font-weight: var(--wr-fw-display); font-size: var(--wr-font-title-sm); line-height:1.375; color: var(--ink); }
.wr-abouthome__by { margin-top:2rem; display:flex; align-items:center; gap:1rem; }
.wr-abouthome__avatar { display:grid; place-items:center; width:3rem; height:3rem; border-radius:999px; background: var(--ink); color: var(--paper); font-family: var(--wr-font-display); font-size:1.125rem; font-weight:600; flex:0 0 auto; }
.wr-abouthome__name { margin:0; font-family: var(--font-sans); font-weight:500; color: var(--ink); }
.wr-abouthome__org { margin:.1rem 0 0; font-family: var(--wr-font-mono); font-size: var(--wr-font-xs); text-transform:uppercase; letter-spacing: var(--wr-ls-label); color: var(--muted-foreground); }
.wr-abouthome__title { margin-top:1rem; color: var(--ink); }
.wr-abouthome__lead { margin-top:1.5rem; max-width:36rem; font-family: var(--font-sans); font-size: var(--wr-font-body-lg); line-height: var(--wr-lh-body); color: var(--muted-foreground); }
.wr-abouthome__feats { margin-top:2rem; display:grid; gap:1rem; }
@media (min-width:640px){ .wr-abouthome__feats { grid-template-columns:1fr 1fr; } }
.wr-abouthome__feat { display:flex; gap:.75rem; border:1px solid var(--line); border-radius: var(--radius-xl); padding:1rem; }
.wr-abouthome__feat-ic { width:1.25rem; height:1.25rem; flex:0 0 auto; color: var(--coral); margin-top:.15rem; }
.wr-abouthome__feat-t { margin:0; font-family: var(--font-sans); font-weight:500; color: var(--ink); }
.wr-abouthome__feat-d { margin:.15rem 0 0; font-family: var(--font-sans); font-size: var(--wr-font-body); color: var(--muted-foreground); }
.wr-abouthome__more { margin-top:2.5rem; display:inline-flex; align-items:center; gap:.5rem; font-family: var(--font-sans); font-weight:500; color: var(--ink); text-decoration:none; transition:color .2s ease; }
.wr-abouthome__more:hover { color: var(--coral); }

.wr-startcta { padding-block: 5rem; }
@media (min-width:1024px){ .wr-startcta { padding-block: 7rem; } }
.wr-startcta__wrap { max-width:64rem; margin-inline:auto; padding-inline: var(--container-pad-mobile); }
@media (min-width:1024px){ .wr-startcta__wrap { padding-inline: var(--container-pad-desktop); } }
.wr-startcta__card { position:relative; overflow:hidden; border-radius:2rem; background: var(--ink); color: var(--paper); padding:2.5rem; }
@media (min-width:1024px){ .wr-startcta__card { padding:4rem; } }
.wr-startcta__traj { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.wr-startcta__in { position:relative; z-index:1; }
.wr-startcta__title { margin-top:1rem; max-width:36rem; color: var(--paper); }
.wr-startcta__lead { margin-top:1rem; max-width:34rem; font-family: var(--font-sans); font-size: var(--wr-font-body); line-height: var(--wr-lh-body); color: color-mix(in oklab, var(--paper) 70%, transparent); }
.wr-startcta__actions { margin-top:2rem; display:flex; flex-wrap:wrap; gap:.75rem; }
.wr-startcta__alt { display:inline-flex; align-items:center; gap:.5rem; border:1px solid color-mix(in oklab, var(--paper) 30%, transparent); border-radius:999px; padding:.85rem 1.5rem; font-family: var(--font-sans); font-size: var(--wr-font-button); font-weight: var(--wr-fw-button); color: var(--paper); text-decoration:none; transition: background .2s ease, color .2s ease; }
.wr-startcta__alt:hover { background: var(--paper); color: var(--ink); }
.wr-startcta .eyebrow, .wr-abouthome__card .eyebrow { }
@media (max-width: 640px) {
  .wr-lp-sec, .wr-svc-faq { padding-block: 3rem; }
  .wr-lp-req, .wr-lp-ty-hero { padding-block: 2.75rem; }
  .wr-lp-sec--pad10 { padding-block: 1.75rem; }
}

.eyebrow--center { justify-content:center; }

@property --wr-ty-ring { syntax: '<angle>'; inherits: false; initial-value: 360deg; }
@keyframes wr-ty-ring-deplete { from { --wr-ty-ring: 360deg; } to { --wr-ty-ring: 0deg; } }
.wr-adv__svg { display:block; width:100%; height:auto; }
.wr-blog-cta__btns .wr-startcta__alt { border-color: color-mix(in oklab, var(--paper) 40%, transparent); }
.wr-blog-related__h .wr-svc-accent { color: var(--coral); }
.wr-blogindex-hero__t .wr-svc-accent { color: var(--coral); display:block; }
.wr-blogindex-news__t .wr-svc-accent { color: var(--coral); }

main svg:has(> path[d="M20 6 9 17l-5-5"]) {
  background-color: var(--ink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M504.502%2C75.496c-9.997-9.998-26.205-9.998-36.204%2C0L161.594%2C382.203L43.702%2C264.311c-9.997-9.998-26.205-9.997-36.204%2C0c-9.998%2C9.997-9.998%2C26.205%2C0%2C36.203l135.994%2C135.992c9.994%2C9.997%2C26.214%2C9.99%2C36.204%2C0L504.502%2C111.7C514.5%2C101.703%2C514.499%2C85.494%2C504.502%2C75.496z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20d='M504.502%2C75.496c-9.997-9.998-26.205-9.998-36.204%2C0L161.594%2C382.203L43.702%2C264.311c-9.997-9.998-26.205-9.997-36.204%2C0c-9.998%2C9.997-9.998%2C26.205%2C0%2C36.203l135.994%2C135.992c9.994%2C9.997%2C26.214%2C9.99%2C36.204%2C0L504.502%2C111.7C514.5%2C101.703%2C514.499%2C85.494%2C504.502%2C75.496z'/%3E%3C/svg%3E") center / contain no-repeat;
  display: inline-block; stroke: none;
}
main svg:has(> path[d="M18 6 6 18"]) {
  background-color: var(--coral);
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20329.26933%20329'%3E%3Cpath%20d='m21.339844%20329.398438c-5.460938%200-10.925782-2.089844-15.082032-6.25-8.34375-8.339844-8.34375-21.824219%200-30.164063l286.589844-286.59375c8.339844-8.339844%2021.824219-8.339844%2030.164063%200%208.34375%208.339844%208.34375%2021.824219%200%2030.164063l-286.589844%20286.59375c-4.183594%204.179687-9.621094%206.25-15.082031%206.25zm0%200'/%3E%3Cpath%20d='m307.929688%20329.398438c-5.460938%200-10.921876-2.089844-15.082032-6.25l-286.589844-286.59375c-8.34375-8.339844-8.34375-21.824219%200-30.164063%208.339844-8.339844%2021.820313-8.339844%2030.164063%200l286.589844%20286.59375c8.34375%208.339844%208.34375%2021.824219%200%2030.164063-4.160157%204.179687-9.621094%206.25-15.082031%206.25zm0%200'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20329.26933%20329'%3E%3Cpath%20d='m21.339844%20329.398438c-5.460938%200-10.925782-2.089844-15.082032-6.25-8.34375-8.339844-8.34375-21.824219%200-30.164063l286.589844-286.59375c8.339844-8.339844%2021.824219-8.339844%2030.164063%200%208.34375%208.339844%208.34375%2021.824219%200%2030.164063l-286.589844%20286.59375c-4.183594%204.179687-9.621094%206.25-15.082031%206.25zm0%200'/%3E%3Cpath%20d='m307.929688%20329.398438c-5.460938%200-10.921876-2.089844-15.082032-6.25l-286.589844-286.59375c-8.34375-8.339844-8.34375-21.824219%200-30.164063%208.339844-8.339844%2021.820313-8.339844%2030.164063%200l286.589844%20286.59375c8.34375%208.339844%208.34375%2021.824219%200%2030.164063-4.160157%204.179687-9.621094%206.25-15.082031%206.25zm0%200'/%3E%3C/svg%3E") center / contain no-repeat;
  display: inline-block; stroke: none;
}
main svg:has(> path[d="M20 6 9 17l-5-5"]) > *,
main svg:has(> path[d="M18 6 6 18"]) > * { display: none; }

.wr-svc-faq__item { interpolate-size: allow-keywords; }
.wr-svc-faq__item::details-content {
  block-size: 0;
  overflow: clip;
  transition: block-size .3s ease, content-visibility .3s allow-discrete;
  content-visibility: hidden;
}
.wr-svc-faq__item[open]::details-content {
  block-size: auto;
  content-visibility: visible;
}

.wr-nl-deco {
  position: absolute; right: -4rem; top: -4rem; width: 11rem; height: 11rem;
  border: 1px dashed color-mix(in oklab, var(--paper) 15%, transparent);
  border-radius: 999px; pointer-events: none;
}
.wr-nl-deco::before {
  content: ""; position: absolute; left: 50%; top: -4px; width: .5rem; height: .5rem;
  border-radius: 999px; background: var(--coral);
  box-shadow: 0 0 16px var(--coral);
}

.wr-nl-eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: var(--coral); }
.wr-nl-eyebrow svg,
.wr-nl-bul svg { width: 1rem; height: 1rem; flex: 0 0 auto; color: var(--coral); }

main .wr-nl-bul svg:has(> path[d="M20 6 9 17l-5-5"]) { background-color: var(--coral); }
.wr-nl-hl { color: var(--coral); }

.wr-nl-bul {
  margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem;
  font-family: var(--font-sans); font-size: var(--wr-font-sm);
  color: color-mix(in oklab, var(--paper) 60%, transparent);
}
.wr-nl-bul span { display: inline-flex; align-items: center; gap: .5rem; }
@media (min-width: 640px) {
  .wr-nl-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
}
.wr-nl-field { display: block; }
.wr-nl-lab {
  display: flex; align-items: center; gap: .5rem; margin-bottom: .375rem;
  font-family: var(--wr-font-mono); font-size: .5625rem; letter-spacing: .18em;
  text-transform: uppercase; color: color-mix(in oklab, var(--paper) 60%, transparent);
}

.wr-nl-lab svg { width: .875rem; height: .875rem; flex: 0 0 auto; }

.wr-nl-consent {
  display: flex; align-items: flex-start; gap: .625rem;
  font-family: var(--font-sans); font-size: .8125rem; line-height: 1.5;
  color: color-mix(in oklab, var(--paper) 70%, transparent);
}
.wr-nl-consent input { margin-top: .15rem; width: 1rem; height: 1rem; flex: 0 0 auto; accent-color: var(--coral); }
.wr-nl-consent a { color: var(--paper); text-decoration: underline; text-underline-offset: 2px; }
.wr-nl-consent.wr-form-invalid { color: var(--coral); }

.wr-nl-msg { margin: .75rem 0 0; font-family: var(--font-sans); font-size: .9375rem; color: var(--paper); }

.wr-nl-deco { animation: wr-nl-orbit 14s linear infinite; }
@keyframes wr-nl-orbit { to { transform: rotate(360deg); } }
@keyframes wr-nl-sweep {
  0%        { transform: skewX(-18deg) translateX(-120%); opacity: 0; }
  20%, 70%  { opacity: .7; }
  100%      { transform: skewX(-18deg) translateX(240%); opacity: 0; }
}

.wr-nl-eyebrow svg { animation: wr-nl-float 4s ease-in-out infinite; }
@keyframes wr-nl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

@media (prefers-reduced-motion: reduce) {
  .wr-nl-deco,
  .wr-blog-news::after,
  .wr-blogindex-news__box::after,
  .wr-nl-eyebrow svg { animation: none; }
}
.wr-nl-fields { display: grid; gap: 1.25rem; }
@media (min-width: 640px) {
  .wr-nl-fields { grid-template-columns: 1fr 1fr; gap: 1rem; }
}

.wr-blog-news > p:has(> .wr-nl-eyebrow),
.wr-blogindex-news__box > p:has(> .wr-nl-eyebrow) { margin: 0; }

.wr-hero-section .trajectory-grid,
.wr-hero-section .ink-grid,
.trajectory-grid,
.ink-grid,
.wr-anim__grid,
.wr-team__grid,
.wr-briefing::before,
.wrp-section::before,
.wr-protocol::before { background-image: none !important; }

/* ===== assets/css/header.css ===== */
#wr-header,
#wr-header * {
  box-sizing: border-box;
}

#wr-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--wr-header-z);
  width: 100%;
  font-family: var(--wr-font-sans);
  background: var(--wr-header-bg);
  border-bottom: var(--wr-header-border-width) solid var(--wr-header-border);
  transition: var(--wr-header-transition);
}

#wr-header.wr-scrolled {
  box-shadow: var(--wr-header-shadow-scrolled);
}

#wr-header-spacer {
  display: block;
  width: 100%;
  height: var(--wr-header-height-desktop);
}

#wr-header a {
  text-decoration: none;
}

#wr-header ul,
#wr-header ol,
#wr-header li {
  list-style: none;
  margin: 0;
  padding: 0;
}

#wr-header button {
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

#wr-header .wr-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wr-header-inner-gap);
  max-width: var(--container-max);
  width: 100%;
  min-height: var(--wr-header-height-desktop);
  margin: 0 auto;
  padding: var(--wr-header-pad-y-desktop) var(--wr-header-pad-x-mobile);
}

@media (min-width: 1024px) {
  #wr-header .wr-inner {
    padding-left: var(--wr-header-pad-x-desktop);
    padding-right: var(--wr-header-pad-x-desktop);
  }
}

#wr-header .wr-logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 1;
  min-width: 0;
  line-height: 1;
}

#wr-header .wr-logo img {
  display: block;
  width: auto;
  max-height: var(--wr-logo-height-desktop);
  object-fit: contain;
  transition: transform 0.25s ease;
}

#wr-header .wr-logo img:hover {
  transform: translateY(var(--wr-logo-hover-lift));
}

#wr-header .wr-nav {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

#wr-header .wr-nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--wr-nav-link-gap);
  padding: var(--wr-nav-link-padding);
  border-radius: var(--wr-nav-link-radius);
  font-family: var(--wr-nav-link-font-family);
  font-size: var(--wr-nav-link-font-size);
  font-weight: var(--wr-nav-link-weight);
  line-height: var(--wr-nav-link-line-height);
  color: var(--wr-nav-link-color);
  white-space: nowrap;
  transition: color 0.2s ease;
}

#wr-header .wr-nav-link:hover,
#wr-header .wr-nav-link.wr-active,
#wr-header .wr-nav-link.current-menu-item,
#wr-header .wr-nav-link.current-menu-ancestor {
  color: var(--wr-nav-link-color-hover);
}

#wr-header .wr-nav-link.wr-active::after,
#wr-header .wr-nav-link.current-menu-item::after,
#wr-header .wr-nav-link.current-menu-ancestor::after {
  content: "";
  position: absolute;
  left: var(--wr-nav-link-underline-inset);
  right: var(--wr-nav-link-underline-inset);
  bottom: var(--wr-nav-link-underline-offset);
  height: var(--wr-nav-link-underline-h);
  background: var(--wr-nav-link-underline);
  border-radius: var(--radius-pill);
}

#wr-header .wr-chevron {
  display: block;
  width: var(--wr-nav-chevron-size);
  height: var(--wr-nav-chevron-size);
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}

#wr-header .wr-drop-wrap {
  position: relative;
}

#wr-header .wr-drop-wrap:hover .wr-chevron {
  transform: rotate(180deg);
}

#wr-header .wr-dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: calc(var(--wr-header-z) + 1);
  width: var(--wr-dropdown-width);
  padding-top: var(--wr-dropdown-offset-top);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

#wr-header .wr-drop-wrap:hover .wr-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

#wr-header .wr-dropdown-card {
  display: grid;
  grid-template-columns: var(--wr-dropdown-columns);
  gap: var(--wr-dropdown-gap);
  padding: var(--wr-dropdown-padding);
  background: var(--wr-dropdown-bg);
  border: 1px solid var(--wr-dropdown-border);
  border-radius: var(--wr-dropdown-radius);
  box-shadow: var(--wr-dropdown-shadow);
}

#wr-header .wr-svc {
  display: flex;
  align-items: flex-start;
  gap: var(--wr-svc-gap);
  min-width: 0;
  padding: var(--wr-svc-padding);
  border-radius: var(--wr-svc-radius);
  color: var(--wr-svc-color);
  overflow: hidden;
  transition: background 0.15s ease;
}

#wr-header .wr-svc:hover {
  background: var(--wr-svc-bg-hover);
}

#wr-header .wr-svc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--wr-svc-icon-size);
  height: var(--wr-svc-icon-size);
  margin-top: var(--wr-svc-icon-mt);
  border-radius: var(--radius-pill);
  background: var(--wr-svc-icon-bg);
  transition: background 0.2s ease;
}

#wr-header .wr-svc:hover .wr-svc-icon {
  background: var(--wr-svc-icon-bg-hover);
}

#wr-header .wr-svc-icon svg {
  display: block;
  width: var(--wr-svc-icon-svg-size);
  height: var(--wr-svc-icon-svg-size);
  stroke: var(--wr-svc-icon-svg-color);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#wr-header .wr-svc-texts {
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

#wr-header .wr-svc-title {
  display: block;
  margin: 0;
  font-family: var(--wr-svc-title-font-family);
  font-size: var(--wr-svc-title-font-size);
  font-weight: var(--wr-svc-title-weight);
  line-height: var(--wr-svc-title-line-height);
  color: var(--wr-svc-title-color);
}

#wr-header .wr-svc-tag {
  display: block;
  margin-top: var(--wr-svc-tag-mt);
  font-family: var(--wr-svc-tag-font-family);
  font-size: var(--wr-svc-tag-font-size);
  line-height: var(--wr-svc-tag-line-height);
  color: var(--wr-svc-tag-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wr-header .wr-cta-wrap {
  display: block;
  flex-shrink: 0;
}

#wr-header .wr-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--wr-cta-gap);
  padding: var(--wr-cta-padding-desktop);
  border-radius: var(--wr-cta-radius);
  background: var(--wr-cta-bg);
  color: var(--wr-cta-color);
  font-family: var(--wr-cta-font-family);
  font-size: var(--wr-cta-font-size-desktop);
  font-weight: var(--wr-cta-weight);
  line-height: var(--wr-cta-line-height);
  white-space: nowrap;
  box-shadow: var(--wr-cta-shadow);
  transition: transform 0.25s ease, background 0.25s ease;
}

#wr-header .wr-btn:hover {
  background: var(--wr-cta-bg-hover);
  color: var(--wr-cta-color);
  transform: translateY(var(--wr-cta-hover-lift));
}

#wr-header .wr-btn svg {
  display: block;
  width: var(--wr-cta-icon-size);
  height: var(--wr-cta-icon-size);
  flex-shrink: 0;
  stroke: var(--wr-cta-color);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#wr-header .wr-burger {
  display: none;
  position: absolute;
  right: var(--wr-burger-offset-right);
  top: 50%;
  z-index: calc(var(--wr-header-z) + 2);
  align-items: center;
  justify-content: center;
  width: var(--wr-burger-size);
  height: var(--wr-burger-size);
  padding: 0;
  border: 1px solid var(--wr-burger-border);
  border-radius: var(--wr-burger-radius);
  background: var(--wr-burger-bg);
  transform: translateY(-50%);
  transition: background 0.15s ease;
}

#wr-header .wr-burger:hover {
  background: var(--wr-burger-bg-hover);
}

#wr-header .wr-burger svg {
  display: block;
  width: var(--wr-burger-icon-size);
  height: var(--wr-burger-icon-size);
  flex-shrink: 0;
  stroke: var(--wr-burger-icon-color);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#wr-header .wr-mob {
  display: none;
  max-height: calc(100svh - var(--wr-mob-max-h-offset));
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--wr-mob-border-top);
  background: var(--wr-mob-bg);
}

#wr-header .wr-mob.wr-open {
  display: block;
}

#wr-header .wr-mob-nav {
  display: flex;
  flex-direction: column;
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: var(--wr-mob-pad-top) var(--wr-mob-pad-x) var(--wr-mob-pad-bottom);
}

#wr-header .wr-mob-link {
  display: block;
  padding: var(--wr-mob-link-padding);
  border-radius: var(--wr-mob-link-radius);
  font-family: var(--wr-mob-link-font-family);
  font-size: var(--wr-mob-link-font-size);
  font-weight: var(--wr-mob-link-weight);
  line-height: var(--wr-mob-link-line-height);
  color: var(--wr-mob-link-color);
  transition: background 0.15s ease;
}

#wr-header .wr-mob-link:hover {
  background: var(--wr-mob-link-bg-hover);
  color: var(--wr-mob-link-color-hover);
}

#wr-header .wr-mob-sub {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 2px 0 6px var(--wr-mob-sub-indent);
  padding: 2px 0 4px var(--wr-mob-sub-pad-left);
  border-left: var(--wr-mob-sub-border-w) solid var(--wr-mob-sub-border);
}

#wr-header .wr-mob-sub-link {
  display: block;
  padding: var(--wr-mob-sub-padding);
  border-radius: var(--wr-mob-sub-radius);
  font-family: var(--wr-mob-sub-font-family);
  font-size: var(--wr-mob-sub-font-size);
  font-weight: var(--wr-mob-sub-weight);
  line-height: var(--wr-mob-sub-line-height);
  color: var(--wr-mob-sub-color);
  transition: color 0.15s ease;
}

#wr-header .wr-mob-sub-link:hover {
  color: var(--wr-mob-sub-color-hover);
}

#wr-header .wr-mob-cta {
  margin-top: var(--wr-mob-cta-mt);
}

#wr-header .wr-mob-cta .wr-btn {
  width: 100%;
  justify-content: center;
  padding: var(--wr-cta-padding-mobile);
  font-size: var(--wr-cta-font-size-mobile);
}

@media (max-width: 1024px) {
  #wr-header-spacer {
    height: var(--wr-header-height-mobile);
  }

  #wr-header .wr-inner {
    min-height: var(--wr-header-height-mobile);
    padding: var(--wr-header-pad-y-mobile) var(--wr-header-pad-x-mobile);
  }

  #wr-header .wr-logo img {
    max-height: var(--wr-logo-height-mobile);
  }

  #wr-header .wr-nav,
  #wr-header .wr-cta-wrap {
    display: none;
  }

  #wr-header .wr-burger {
    display: flex;
  }
}

@media (max-width: 640px) {
  #wr-header .wr-inner {
    min-height: var(--wr-header-height-mobile);
    padding: var(--wr-header-pad-y-xs) 58px var(--wr-header-pad-y-xs) var(--wr-header-pad-x-mobile);
  }

  #wr-header .wr-logo img {
    max-height: var(--wr-logo-height-xs);
    max-width: calc(100vw - 92px);
  }
}

@media (min-width: 1025px) {
  #wr-header .wr-mob {
    display: none;
  }
}

/* ===== assets/css/footer.css ===== */
.wr-footer {
    position: relative;
    overflow: hidden;
    margin-top: 0;
    background: var(--ink, #1e3a5f);
    color: #ffffff;
    font-family: var(--font-body, "Inter", sans-serif);
}

.wr-footer * {
    box-sizing: border-box;
}

.wr-footer__grid-bg {
    position: absolute;
    inset: 0;
    opacity: .16;
    pointer-events: none;
    background-image:
        linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 48px 48px;
}

.wr-footer__trajectory {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .35;
    pointer-events: none;
}

.wr-footer__inner {
    position: relative;
    max-width: var(--container-xl, 1280px);
    margin: 0 auto;
    padding: 96px 48px 48px;
}

.wr-footer__cols {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 120px;
}

.wr-footer__logo {
    display: inline-block;
}

.wr-footer__logo img {
    display: block;
    width: auto;
    max-width: 260px;
    height: auto;
}

.wr-footer__tagline {
    margin: 28px 0 0;
    max-width: 420px;
    font-size: 17px;
    line-height: 28px;
    color: rgba(255,255,255,.78);
}

.wr-footer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 40px;

    min-height: 56px;
    padding: 0 32px;

    border-radius: 999px;

    background: var(--coral, #f03a47);
    color: #ffffff;

    font-family: var(--font-sans, "Inter", sans-serif);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;

    text-decoration: none;

    box-shadow:
        0 18px 50px -16px rgba(240,58,71,.45);

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.wr-footer__cta:hover {
    background: var(--coral-dark, #d9323e);
    color: #ffffff;
    transform: translateY(-2px);
}

.wr-footer__cta-icon {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wr-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px;
}

.wr-footer__heading {
    margin: 0 0 24px;

    font-family: var(--font-mono, "JetBrains Mono", monospace);

    font-size: 15px;
    font-weight: 600;
    line-height: 21px;

    letter-spacing: .14em;
    text-transform: uppercase;

    color: var(--coral, #f03a47);
    white-space: nowrap;

}

.wr-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wr-footer__list li {
    margin-bottom: 16px;
}

.wr-footer__list a,
.wr-footer__list span {
    color: rgba(255,255,255,.82);
    text-decoration: none;
    font-size: 17px;
    font-weight: 400;
    line-height: 27px;
    transition: color .2s ease;
}

.wr-footer__list a:hover {
    color: var(--coral, #f03a47);
}

.wr-footer__list--icons li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.wr-footer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    min-width: 18px;
    height: 18px;

    color: var(--coral, #f03a47);
}

.wr-footer__icon svg {
    display: block;
    width: 17px;
    height: 17px;

    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.wr-footer__list--icons span:not(.wr-footer__icon),
.wr-footer__list--icons a {
    white-space: nowrap;
}

.wr-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 24px;

    margin-top: 72px;
    padding-top: 32px;

    border-top: 1px solid rgba(255,255,255,.12);
}

.wr-footer__bottom p {
    margin: 0;

    color: rgba(255,255,255,.65);

    font-size: 12px;
    line-height: 16px;
}

.wr-footer__mono {
    font-family: var(--font-mono, "JetBrains Mono", monospace);
    font-size: 12px;
    line-height: 16px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

@media (max-width: 1024px) {

    .wr-footer__inner {
        padding: 80px 32px 40px;
    }

    .wr-footer__cols {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .wr-footer__nav {
        gap: 40px;
    }
}

@media (max-width: 768px) {

    .wr-footer {
        margin-top: 0;
    }

    .wr-footer__inner {
        padding: 64px 24px 32px;
    }

    .wr-footer__nav {
        grid-template-columns: 1fr 1fr;
        gap: 32px 24px;
    }

    .wr-footer__nav > *:nth-child(3) {
        grid-column: 1 / -1;
    }

    .wr-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .wr-footer__cta {
        width: auto;
        justify-content: center;
    }

    .wr-footer__list--icons span:not(.wr-footer__icon),
    .wr-footer__list--icons a {
        white-space: normal;
    }

    .wr-footer .wr-footer__tagline {
        font-size: 16px !important;
        line-height: 26px !important;
    }

    .wr-footer .wr-footer__nav .wr-footer__heading,
    .wr-footer h2.wr-footer__heading,
    .wr-footer h3.wr-footer__heading,
    .wr-footer .wr-footer__heading {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .wr-footer .wr-footer__list a,
    .wr-footer .wr-footer__list span {
        font-size: 16px !important;
        line-height: 26px !important;
    }

    .wr-footer .wr-footer__cta {
        width: auto !important;
        display: inline-flex !important;
        justify-content: center;
        min-height: 44px !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .wr-footer .wr-footer__bottom {
        margin-top: 40px !important;
        padding-top: 24px !important;
    }

    .wr-footer .wr-footer__bottom,
    .wr-footer .wr-footer__bottom p,
    .wr-footer .wr-footer__mono {
        font-size: 12px !important;
        line-height: 16px !important;
    }
}

.wr-footer__icon,
.wr-footer__icon svg {
    color: var(--coral, #f03a47);
    stroke: var(--coral, #f03a47);
    fill: none;
}

.wr-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wr-footer__legal a {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .28);
}

.wr-footer__legal a:hover {
    color: #fff;
    border-bottom-color: #fff;
}

@media (max-width: 767px) {
    .wr-footer__bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ===== assets/css/mobile-cta.css ===== */
.wr-mobile-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: env(safe-area-inset-bottom, 0px);
  z-index: 9990;

  display: none;
  gap: 10px;
  padding: 12px;

  background: var(--wr-surface-alt, #f6f7f7);
  border-top: 1px solid rgba(0, 0, 0, 0.06);

  opacity: 0;
  transform: translateY(12px);
  visibility: hidden;
  transition: opacity 0.32s ease, transform 0.32s ease, visibility 0s linear 0.32s;
}

.wr-mobile-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  transition: opacity 0.32s ease, transform 0.32s ease, visibility 0s;
}

.wr-mobile-cta__btn {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: 12px;

  min-height: 56px;
  padding: 12px 14px;

  border-radius: 14px;
  text-decoration: none;

  color: #ffffff;
  font-family: var(--font-sans, inherit);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.15;

  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.wr-mobile-cta__btn--offer { background: var(--ink, #1b3c6f); }
.wr-mobile-cta__btn--call  { background: var(--coral, #f03a47); }

.wr-mobile-cta__btn:hover,
.wr-mobile-cta__btn:focus-visible { color: #ffffff; }

.wr-mobile-cta__btn:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: -3px;
}

.wr-mobile-cta__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);

  display: flex;
  align-items: center;
  justify-content: center;
}

.wr-mobile-cta__icon svg {
  width: 20px;
  height: 20px;
  fill: #ffffff;
}

.wr-mobile-cta__text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.wr-mobile-cta__text small {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 500;
  opacity: 0.85;
}

.wr-mobile-cta__btn:active { transform: translateY(1px); }

@media (max-width: 768px) {
  .wr-mobile-cta { display: flex; }

  body { padding-bottom: 100px; }
}

@media (prefers-reduced-motion: reduce) {
  .wr-mobile-cta { transform: none; transition: opacity 0.01s linear, visibility 0s; }
  .wr-mobile-cta.is-visible { transform: none; }
}

@media (max-width: 420px) {
  .wr-mobile-cta { gap: 8px; padding: 10px; }
  .wr-mobile-cta__btn { gap: 9px; padding: 12px 11px; }
  .wr-mobile-cta__icon { width: 34px; height: 34px; }
  .wr-mobile-cta__icon svg { width: 17px; height: 17px; }
  .wr-mobile-cta__text small { font-size: 11px; }
}
