/* ==========================================================================
   terrain.css — wrapper, HTML waypoint labels and pause toggle for terrain.js
   Markup:
     <div class="terrain" data-terrain="home">
       <canvas class="terrain__canvas" aria-hidden="true"></canvas>
       <div class="terrain__labels" aria-hidden="true" data-wc-ignore></div>
       <button type="button" class="terrain-toggle" aria-pressed="false" hidden></button>
     </div>
   Palette = CSS custom properties (read by terrain.js from the canvas).
   ========================================================================== */

.terrain{
  /* palette — defaults from the v1 tokens, with fallbacks so it works standalone */
  --terrain-bg:var(--bg-0, #0B0D0C);
  --terrain-fog:#161E1B;
  --terrain-line:#A7BCC2;
  --terrain-line-alpha:.6;
  --terrain-peak:var(--accent, #FF9F1C);
  --terrain-peak-alpha:.92;
  --terrain-scan:var(--intel, #6FD3E8);
  --terrain-wp:var(--intel, #6FD3E8);
  --terrain-drop:var(--accent, #FF9F1C);
  --terrain-exfil:var(--ok, #7CCB8B);
  /* atmosphere */
  --terrain-glow:rgb(255 159 28 / .10);       /* horizon haze */
  --terrain-calm:.88;                          /* 0..1 darkening of the headline zone */
  --terrain-calm-x:16%; --terrain-calm-y:40%;  /* headline zone centre */
  --terrain-calm-w:66%; --terrain-calm-h:72%;
  --terrain-fade:var(--bg-0, #0B0D0C);         /* colour the bottom edge dissolves into */
  --terrain-horizon:44%;                       /* set live by terrain.js */

  position:relative;
  overflow:hidden;
  isolation:isolate;
  contain:paint;
  background:
    linear-gradient(180deg,
      var(--terrain-bg-live, var(--terrain-bg)) 0%,
      var(--terrain-fog-live, var(--terrain-fog)) var(--terrain-horizon),
      var(--terrain-bg-live, var(--terrain-bg)) 100%);
}
/* full-bleed usage: .terrain--fill fills its positioned parent */
.terrain--fill{position:absolute; inset:0; z-index:0}

.terrain__canvas{
  position:absolute; inset:0;
  display:block; width:100%; height:100%;
}

/* JS-off / not-yet-mounted fallback: one static frame of the home preset, pre-rendered by
   qa/v2/T/gen-fallback.js from terrain.js itself (hidden once the canvas is live) */
.terrain::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' preserveAspectRatio='xMidYMax slice'%3E%3Cg fill='none' stroke-linejoin='bevel'%3E%3Cpath d='M-89 458l44 1l45 0l44-1l43-5l45-1l45 4l45 2l43-8l44-4l46 10l44-8l44-8l45 13l45 0l45-2l44-5l45 8l44 5l45-6l44-6l45 5l44 7l45 0l44 0l45-5l45-1l44 5l44 0l46-8l47-20l44 8l47-13l42 13l45 0l43 10l0 14l-1559 0z' fill='%23141b19' stroke='%233c4747' stroke-opacity='0.05'/%3E%3Cpath d='M-112 459l46 1l46 1l45-1l45-5l45-4l47 7l46 2l46-1l42-30l49 25l44-14l47 6l46 7l46-4l45-6l46-14l46 24l46 7l46-5l46-8l45 12l46 1l46 0l45 0l47-5l46-7l45 4l47-4l46-4l48-10l43 19l54-50l40 34l42 20l46-2l0 9l-1601 0z' fill='%23141b19' stroke='%233f4b4a' stroke-opacity='0.09'/%3E%3Cpath d='M-89 462l47 0l47 0l46-5l47-2l48 4l47 3l47 0l47-2l46-14l46-10l46-12l48-1l49 20l46-18l48 28l48 8l47 1l47-1l47-4l47 4l47 1l47 0l47-1l48-15l47 10l48-9l48-4l46 5l45 12l48-2l52-28l44 17l45 12l47 1l0 5l-1600 0z' fill='%23141b19' stroke='%23455252' stroke-opacity='0.15'/%3E%3Cpath d='M-114 460l50 4l48 0l47-10l48 0l50 5l49 5l48 0l49 0l47-13l49 4l48 1l48-9l49 5l49 2l49 8l48 1l48 1l49-1l48-1l49 1l48 1l49 0l48-5l49 2l48 3l49-3l48-3l49 1l48 5l49-3l49-3l54-30l43 27l0 12l-1601 0z' fill='%23141b19' stroke='%23485555' stroke-opacity='0.19'/%3E%3Cpath d='M-89 464l50 0l49-8l51 5l49-4l51 8l50 1l50 0l48-21l52 17l50 3l50-1l49-3l50-5l50 3l50 7l50 0l50 0l50-2l50 1l50 1l50-3l50-8l49 11l50 0l50 0l50-2l50 0l50 1l50 0l51-5l62-56l43 31l0 34l-1604 0z' fill='%23141b18' stroke='%234c5859' stroke-opacity='0.2'/%3E%3Cpath d='M1410 460l62-56l43 31' stroke='%23ff9f1c' stroke-opacity='0.12' stroke-width='1.1'/%3E%3Cpath d='M-115 461l52 1l52 3l52 3l50-8l52 4l52 4l52 0l49-17l54 15l51 2l52 0l51-5l51-12l52 4l51 12l52 2l51-2l52-12l52 7l51 4l52-7l51 8l51 2l51 0l52-1l52-3l52-2l51 2l52-5l53-5l54-10l0 27l-1602 0z' fill='%23141b18' stroke='%23525f60' stroke-opacity='0.32'/%3E%3Cpath d='M-90 460l55 8l54 2l53 0l51-14l55 11l53 2l51-18l56 19l53 1l53-1l52-12l53-7l53-14l54 27l54 7l53-6l53 1l53-4l54-4l53 5l52 8l53 0l53 0l54-1l55-13l53 2l55-12l52 11l56-15l57-15l0 46l-1606 0z' fill='%23141b18' stroke='%23556263' stroke-opacity='0.22'/%3E%3Cpath d='M-115 468l56 4l55 1l55 0l54-4l53-7l56 3l54-10l57 18l55 0l54-4l53-35l57 26l55 5l55 1l55 7l55 0l55-1l55-2l55-3l55 5l55 1l54 0l55 0l56-3l56-7l55 1l55-2l56-6l58-10l0 30l-1599 0z' fill='%23141b18' stroke='%235b696a' stroke-opacity='0.23'/%3E%3Cpath d='M-87 474l29 1l29 1l28 0l28 0l29 0l28-3l27-6l26-14l28-5l28-2l30 11l31 13l29 5l28 0l29 1l28-2l28-5l28-6l27-12l30 12l29 8l28 3l29-1l28 1l29-2l28 2l28 2l29 0l28 0l29 0l28-1l28 0l29 0l28-1l29 0l28-1l29 1l28 1l28 0l29 1l28 0l28 0l29 0l28 0l29-1l28-2l29-2l29-4l29 0l27 4l29 2l28-1l28 1l29-3l28 3l29-2l0 8l-1592 0z' fill='%23141b18' stroke='%235d6c6d' stroke-opacity='0.24'/%3E%3Cpath d='M-86 477l30 1l29 1l30 0l29 0l29-1l29-1l29-6l28-6l30 1l29-3l31 10l30 2l29 1l30-1l29-4l28-13l28-15l32 24l30 9l30 3l29 0l29-1l30-1l29 0l30 1l29 1l29 0l30 0l29-1l30 0l29 0l30 0l29 0l29-2l30-2l29 1l30 0l29 3l29 0l30 1l29 0l30 0l29 0l29 0l30-2l30-3l30-4l29 5l29 2l29 1l29 0l30 0l29 1l30-3l0 6l-1589 0z' fill='%23141b18' stroke='%23606f71' stroke-opacity='0.25'/%3E%3Cpath d='M-87 474l32 4l31 3l30 1l31-1l29-5l30-2l29-11l32 9l31 1l31 0l30-1l31 4l30-5l29-17l32 14l32 10l30 3l31 1l30 0l31 0l30-1l31-2l30-4l31 1l31 5l30 1l31 0l30-1l31-2l30-1l31 2l30-3l31 2l30-2l31-5l31 2l30 4l30 2l31 1l30 1l31 0l30 0l31 0l30 0l31-1l31-4l32-6l29 6l30 4l30 1l31-1l30 1l0 3l-1588 0z' fill='%23141b18' stroke='%23667577' stroke-opacity='0.4'/%3E%3Cpath d='M-86 478l31-2l32 2l31-3l33 4l31-4l30-10l33 9l33 3l32 1l31 1l32-4l30-15l31-3l34 20l33 7l31 1l32 0l32 0l31 0l32 0l32-5l31-3l32 1l32 5l32 2l31-1l32-3l32-11l32 0l32 1l31 3l32 2l32-6l31 8l32 2l32 0l31 0l32 1l31 3l32 1l31 0l32 0l32 0l32 0l31-1l33-5l32-1l31 4l31 3l32 0l0 3l-1586 0z' fill='%23141b18' stroke='%2369787a' stroke-opacity='0.27'/%3E%3Cpath d='M-86 481l31-9l33-2l34 4l32-5l35 8l33 2l33 1l34 2l33 0l32-9l30-24l35 19l35 17l33 3l33 0l33 1l33 0l33 0l33-3l33-14l33-4l33 10l33 9l33 2l33 0l33-2l33-10l33 1l33 3l33-4l33 1l33 6l33 1l33 1l33 0l33-5l33 2l33 2l33 2l32 2l33 0l33 0l33 0l33 0l34-4l34-6l31 8l33 1l0 4l-1584 0z' fill='%23131a18' stroke='%236c7b7e' stroke-opacity='0.28'/%3E%3Cpath d='M-84 491l34-2l34-3l34-1l34-3l34-1l35 4l35 3l35-1l33-5l33-11l34-8l37 25l35 4l34-1l35 1l34-1l34-7l34-4l33-37l35 15l36 28l34 6l35 1l34 0l34-1l35-2l34-1l34 2l35-1l34 0l34 0l35 1l34 0l34-1l35 2l34-2l35-7l34 7l34 2l34 1l34 0l35 0l34 0l35-1l36-7l33 4l0 7l-1581 0z' fill='%23131a18' stroke='%23718184' stroke-opacity='0.3'/%3E%3Cpath d='M-83 495l35-3l36-2l35-5l36 4l37 1l36 5l36-1l35-4l36-4l35-8l36 5l37 7l36 4l36 0l35-5l35-15l36-10l37 13l36 10l36 3l36 7l36 0l36 0l36-1l35 0l36 0l36-2l36 1l36 1l36 0l36 0l35 0l36 1l36 0l36-1l36-2l36-2l36 2l35 1l36 2l36 0l36-1l36-3l37-4l0 11l-1579 0z' fill='%23131a18' stroke='%23748487' stroke-opacity='0.31'/%3E%3Cpath d='M-82 499l36-7l35-13l40 12l38 5l38 4l38 0l38 0l36-8l35-17l39 12l38 4l38 1l37-5l38-4l37-7l38 5l38 12l38 2l37 3l38 3l37 1l38 0l37 0l38-2l37 1l38 0l37-3l38 2l37 0l38 0l37 2l37 0l38 0l37-1l38 0l38-1l38-8l38 2l36 5l37 1l38 0l39-7l0 12l-1576 0z' fill='%23131a17' stroke='%23798a8d' stroke-opacity='0.5'/%3E%3Cpath d='M-82 500l38-7l41 8l40 4l39 1l40 0l39-1l38-6l35-31l42 20l41 14l40 1l38-7l38-18l39-18l41 23l40 10l40 8l39 5l39 1l40 0l39 0l39 0l39-1l40-1l39 1l39 0l40-1l39-1l39 2l39 1l39 0l40 0l39 0l39 0l40-1l39-1l40-2l41-11l39 4l40-3l0 17l-1575 0z' fill='%23131a17' stroke='%237b8d90' stroke-opacity='0.34'/%3E%3Cpath d='M-123 505l40-6l44 8l41 3l42 2l41 0l41-3l38-21l42 6l44 13l41-1l42 4l39-13l41-7l41-4l42 2l42 12l42 8l41 3l42 1l41 0l41 0l41-1l42-1l41 0l41 0l41 0l42 0l41-1l41 1l41 2l41 0l42 0l41 0l41 0l41 0l42 0l42-6l41 1l42-2l0 10l-1612 0z' fill='%23131a17' stroke='%237e8f93' stroke-opacity='0.35'/%3E%3Cpath d='M-124 508l44 5l44 1l44 1l43 1l43-1l41-17l46 11l44 7l44 1l43-4l43-5l42-10l41-35l47 45l44 6l44 2l43 1l44 1l43 0l43 0l44-1l43-3l44 2l43 1l43 1l44-1l43 1l44-1l43 0l43 1l44 0l43 0l44 0l43 0l44-2l43 1l44-1l0 6l-1609 0z' fill='%23131a17' stroke='%23839598' stroke-opacity='0.36'/%3E%3Cpath d='M-127 509l49 12l46 1l45-2l46-3l44-11l47 8l47 7l46 2l46 0l45-9l43-31l47 8l48 26l46 5l46-1l46 2l46 2l46 0l46-1l46-3l46 1l45 1l46 1l46-2l46-1l46 1l46 2l46-1l46-3l45 2l46 3l46 0l46-1l45 1l46 0l0 3l-1608 0z' fill='%23131917' stroke='%2385979b' stroke-opacity='0.38'/%3E%3Cpath d='M-126 525l47-6l48-4l48-5l51 15l50 6l49 2l48 0l49-2l47-11l46-25l47-22l53 42l49 9l49 5l49 3l48 1l49 0l48 0l49-6l49-17l49 15l48-3l48 8l49-2l50-9l48 8l48 0l49-2l49-2l49 2l47 4l48 3l49 1l48 0l0 3l-1652 0z' fill='%23121916' stroke='%238a9ca0' stroke-opacity='0.61'/%3E%3Cpath d='M-131 522l54 9l53 4l53 5l51 1l52 0l52-1l51-4l51-1l50-17l51-8l54 16l51-1l52 7l52 3l52 5l52 1l51-2l52-9l53-30l54-28l50 33l52 6l54-19l49 26l52 1l52-2l52 2l54-14l50 14l49 13l50 7l52 2l0 4l-1657 0z' fill='%23121816' stroke='%238c9fa3' stroke-opacity='0.41'/%3E%3Cpath d='M-128 550l55 0l56 1l55 0l54-1l56 0l54-1l55-8l52-21l54-14l57 10l57 24l56 4l55-3l55 7l55 3l55-3l57-41l57-37l57-4l60-57l57 10l49 71l55 11l56 3l57-9l63-45l46 61l53 10l55 2l52 16l0 15l-1655 0z' fill='%23121816' stroke='%238ea1a6' stroke-opacity='0.42'/%3E%3Cpath d='M924 466l60-57l57 10l49 71M1258 495l63-45l46 61' stroke='%23ff9f1c' stroke-opacity='0.73' stroke-width='1.6'/%3E%3Cpath d='M-100 563l30 0l29 0l30-1l29 0l30 0l29 0l30 0l29-2l29-2l29-3l29-6l28-8l28-13l27-22l30-7l32 18l31 19l31 9l30 4l29 1l29-9l31 12l30 4l29 2l30 2l29 0l30-1l29 0l30-2l30-6l29-7l30-7l30-4l30-1l30-8l31-19l29 21l29 11l30-4l30-6l30-4l30-1l31-3l29 5l29 4l31-9l34-21l29 5l27 15l30 1l30 0l31-9l34-18l28 8l22 35l0 30l-1629 0z' fill='%23121815' stroke='%2393a6ab' stroke-opacity='0.44'/%3E%3Cpath d='M-100 575l32 1l32 0l32-1l31 0l32-1l31-2l31-5l31-7l30-10l30-18l29-18l32-5l33 8l34 13l33 9l33 7l33 15l33 6l32 3l32 2l32 1l32 0l31 1l32 1l32-1l32-2l32-4l32-11l32-12l33-11l32-4l31 14l31 20l32 5l31 1l32 2l32-1l32-1l32-1l32-1l33-7l31 3l32 1l32-3l34-7l35-19l37-22l35-16l35-10l34-5l37-20l0 116l-1648 0z' fill='%23121715' stroke='%2395a8ad' stroke-opacity='0.45'/%3E%3Cpath d='M-100 591l35-1l34-1l34-1l35 0l34-2l33-4l34-5l33-10l33-15l34-4l36 8l36 9l35 8l35 3l35 0l35 4l35 7l35 3l34-1l34 0l35 1l34 0l35 0l34 0l35-2l35-15l36-57l36-19l34 27l33 36l33 19l35 6l34 3l34 0l35 0l34-2l35 0l35-2l35-5l35 0l34 1l35 1l35-3l36-7l36-6l37-10l42-30l0 69l-1636 0z' fill='%23111715' stroke='%2397aaaf' stroke-opacity='0.73'/%3E%3Cpath d='M-100 608l38-1l37-1l38-1l36-5l35-14l35-17l36-15l35-16l40 7l43 36l40 15l38 6l38 2l38 0l37 0l38 1l38 1l38 2l37 0l38 0l37 0l38 0l38-1l37-3l39-16l39-41l42-59l37 31l35 46l36 19l37 8l37 6l38 1l38-1l38-4l39-9l39-5l37 5l39-3l38-1l38-1l38-1l39-4l0 36l-1626 0z' fill='%23111614' stroke='%239aaeb4' stroke-opacity='0.49'/%3E%3Cpath d='M-141 628l41-1l40-4l42 2l42 0l41-3l40-7l39-15l35-42l44 9l46 30l43 14l43 5l41 0l42 5l42 6l42 2l41 1l42 0l41 0l41 0l42 0l41 0l42-1l41-3l43-17l46-70l52-120l49-59l39 53l38 58l39 35l41 15l42 2l43 0l39 20l39 19l40 10l40 12l41 3l44-9l0 55l-1669 0z' fill='%23101613' stroke='%239cb0b6' stroke-opacity='0.5'/%3E%3Cpath d='M942 539l52-120l49-59l39 53l38 58l39 35' stroke='%23ff9f1c' stroke-opacity='0.82' stroke-width='1.8'/%3E%3Cpath d='M-147 651l47 2l46-1l45-3l45-9l47 4l46-1l44-9l44-17l43-31l47 6l52 41l48 14l46 5l46 3l47 1l46 0l46 0l46 0l46 0l46 0l46 0l46-3l47-12l48-24l48-19l48-12l49-15l50-18l49-15l53-35l58-56l54-29l56-29l50-5l46 21l46 13l0 241l-1717 0z' fill='%23101513' stroke='%239fb4b9' stroke-opacity='0.52'/%3E%3Cpath d='M1260 503l58-56l54-29l56-29l50-5l46 21l46 13' stroke='%23ff9f1c' stroke-opacity='0.84' stroke-width='1.8'/%3E%3Cpath d='M-152 685l52 1l52 2l52 0l52-1l51-4l51-7l50-17l47-37l48-35l57 28l56 36l55 23l52 11l52 3l52 1l52 0l52 0l52 0l52-1l52-2l52-2l52-2l53-6l55-26l53-3l51 6l53-1l54-6l53-6l57-19l69-69l57-16l0 156l-1698 0z' fill='%230f1412' stroke='%23a1b6bb' stroke-opacity='0.54'/%3E%3Cpath d='M-129 731l30 0l30 0l29 0l30-1l29-1l30-1l30 0l29-1l30-2l29-3l29-6l29-5l29-4l29-6l29-7l29-8l30-6l30 5l32 13l31 12l30 8l30 6l30 4l30 2l30 1l30 0l29 0l30 0l30 0l29 0l30 0l30 0l30-2l30-3l29-1l30 2l30 1l29-1l30-1l30 1l30 1l29-1l30-2l31-4l30-3l30-1l30-3l31-7l31-3l29 4l29 4l29 3l30 1l30-2l31-2l30-2l31-5l0 29l-1700 0z' fill='%230e1211' stroke='%23a2b7bd' stroke-opacity='0.86'/%3E%3Cpath d='M-134 788l35-1l35 0l35 1l34 0l35 0l35 0l35-1l34-2l34-4l34-7l34-3l35-2l34-3l35-4l35-3l34-2l35 0l36 3l35 10l36 9l35 4l35 2l34 0l35 1l35 0l35 0l34-1l35-2l35-3l35-5l35-2l35 1l35 3l35 1l34 0l35-1l35 1l35 2l34 1l35 1l34 1l35 1l35 0l35 0l34 0l35-1l36-2l36-6l38-11l0 27l-1709 0z' fill='%230d100f' stroke='%23a5bac0' stroke-opacity='0.57'/%3E%3Cpath d='M-182 868l42 0l42 0l42 0l41 0l42-1l42-1l41-1l42 0l42 0l42 0l41-1l42-3l41-4l42-3l42 0l42 6l43 3l42 2l41 0l42-1l42 0l42 1l42-1l42-2l42-2l42-2l42-2l42-2l42-2l42-1l43-2l42 0l42-1l42 1l42 1l41 3l41 4l42 1l42 1l42 0l41 2l42 1l0 9l-1758 0z' fill='%230b0e0c' stroke='%23a6bbc1' stroke-opacity='0.18'/%3E%3Cpath d='M-89 458l44 1l45 0l44-1l43-5l45-1l45 4l45 2l43-8l44-4l46 10l44-8l44-8l45 13l45 0l45-2l44-5l45 8l44 5l45-6l44-6l45 5l44 7l45 0l44 0l45-5l45-1l44 5l44 0l46-8l47-20l44 8l47-13l42 13l45 0l43 10l0 14l-1559 0z' fill='%23141b19' stroke='%233c4747' stroke-opacity='0.05'/%3E%3Cpath d='M-112 459l46 1l46 1l45-1l45-5l45-4l47 7l46 2l46-1l42-30l49 25l44-14l47 6l46 7l46-4l45-6l46-14l46 24l46 7l46-5l46-8l45 12l46 1l46 0l45 0l47-5l46-7l45 4l47-4l46-4l48-10l43 19l54-50l40 34l42 20l46-2l0 9l-1601 0z' fill='%23141b19' stroke='%233f4b4a' stroke-opacity='0.09'/%3E%3Cpath d='M-89 462l47 0l47 0l46-5l47-2l48 4l47 3l47 0l47-2l46-14l46-10l46-12l48-1l49 20l46-18l48 28l48 8l47 1l47-1l47-4l47 4l47 1l47 0l47-1l48-15l47 10l48-9l48-4l46 5l45 12l48-2l52-28l44 17l45 12l47 1l0 5l-1600 0z' fill='%23141b19' stroke='%23455252' stroke-opacity='0.15'/%3E%3Cpath d='M-114 460l50 4l48 0l47-10l48 0l50 5l49 5l48 0l49 0l47-13l49 4l48 1l48-9l49 5l49 2l49 8l48 1l48 1l49-1l48-1l49 1l48 1l49 0l48-5l49 2l48 3l49-3l48-3l49 1l48 5l49-3l49-3l54-30l43 27l0 12l-1601 0z' fill='%23141b19' stroke='%23485555' stroke-opacity='0.19'/%3E%3Cpath d='M-89 464l50 0l49-8l51 5l49-4l51 8l50 1l50 0l48-21l52 17l50 3l50-1l49-3l50-5l50 3l50 7l50 0l50 0l50-2l50 1l50 1l50-3l50-8l49 11l50 0l50 0l50-2l50 0l50 1l50 0l51-5l62-56l43 31l0 34l-1604 0z' fill='%23141b18' stroke='%234c5859' stroke-opacity='0.2'/%3E%3Cpath d='M1410 460l62-56l43 31' stroke='%23ff9f1c' stroke-opacity='0.12' stroke-width='1.1'/%3E%3Cpath d='M-115 461l52 1l52 3l52 3l50-8l52 4l52 4l52 0l49-17l54 15l51 2l52 0l51-5l51-12l52 4l51 12l52 2l51-2l52-12l52 7l51 4l52-7l51 8l51 2l51 0l52-1l52-3l52-2l51 2l52-5l53-5l54-10l0 27l-1602 0z' fill='%23141b18' stroke='%23525f60' stroke-opacity='0.32'/%3E%3Cpath d='M-90 460l55 8l54 2l53 0l51-14l55 11l53 2l51-18l56 19l53 1l53-1l52-12l53-7l53-14l54 27l54 7l53-6l53 1l53-4l54-4l53 5l52 8l53 0l53 0l54-1l55-13l53 2l55-12l52 11l56-15l57-15l0 46l-1606 0z' fill='%23141b18' stroke='%23556263' stroke-opacity='0.22'/%3E%3Cpath d='M-115 468l56 4l55 1l55 0l54-4l53-7l56 3l54-10l57 18l55 0l54-4l53-35l57 26l55 5l55 1l55 7l55 0l55-1l55-2l55-3l55 5l55 1l54 0l55 0l56-3l56-7l55 1l55-2l56-6l58-10l0 30l-1599 0z' fill='%23141b18' stroke='%235b696a' stroke-opacity='0.23'/%3E%3Cpath d='M-87 474l29 1l29 1l28 0l28 0l29 0l28-3l27-6l26-14l28-5l28-2l30 11l31 13l29 5l28 0l29 1l28-2l28-5l28-6l27-12l30 12l29 8l28 3l29-1l28 1l29-2l28 2l28 2l29 0l28 0l29 0l28-1l28 0l29 0l28-1l29 0l28-1l29 1l28 1l28 0l29 1l28 0l28 0l29 0l28 0l29-1l28-2l29-2l29-4l29 0l27 4l29 2l28-1l28 1l29-3l28 3l29-2l0 8l-1592 0z' fill='%23141b18' stroke='%235d6c6d' stroke-opacity='0.24'/%3E%3Cpath d='M-86 477l30 1l29 1l30 0l29 0l29-1l29-1l29-6l28-6l30 1l29-3l31 10l30 2l29 1l30-1l29-4l28-13l28-15l32 24l30 9l30 3l29 0l29-1l30-1l29 0l30 1l29 1l29 0l30 0l29-1l30 0l29 0l30 0l29 0l29-2l30-2l29 1l30 0l29 3l29 0l30 1l29 0l30 0l29 0l29 0l30-2l30-3l30-4l29 5l29 2l29 1l29 0l30 0l29 1l30-3l0 6l-1589 0z' fill='%23141b18' stroke='%23606f71' stroke-opacity='0.25'/%3E%3Cpath d='M-87 474l32 4l31 3l30 1l31-1l29-5l30-2l29-11l32 9l31 1l31 0l30-1l31 4l30-5l29-17l32 14l32 10l30 3l31 1l30 0l31 0l30-1l31-2l30-4l31 1l31 5l30 1l31 0l30-1l31-2l30-1l31 2l30-3l31 2l30-2l31-5l31 2l30 4l30 2l31 1l30 1l31 0l30 0l31 0l30 0l31-1l31-4l32-6l29 6l30 4l30 1l31-1l30 1l0 3l-1588 0z' fill='%23141b18' stroke='%23667577' stroke-opacity='0.4'/%3E%3Cpath d='M-86 478l31-2l32 2l31-3l33 4l31-4l30-10l33 9l33 3l32 1l31 1l32-4l30-15l31-3l34 20l33 7l31 1l32 0l32 0l31 0l32 0l32-5l31-3l32 1l32 5l32 2l31-1l32-3l32-11l32 0l32 1l31 3l32 2l32-6l31 8l32 2l32 0l31 0l32 1l31 3l32 1l31 0l32 0l32 0l32 0l31-1l33-5l32-1l31 4l31 3l32 0l0 3l-1586 0z' fill='%23141b18' stroke='%2369787a' stroke-opacity='0.27'/%3E%3Cpath d='M-86 481l31-9l33-2l34 4l32-5l35 8l33 2l33 1l34 2l33 0l32-9l30-24l35 19l35 17l33 3l33 0l33 1l33 0l33 0l33-3l33-14l33-4l33 10l33 9l33 2l33 0l33-2l33-10l33 1l33 3l33-4l33 1l33 6l33 1l33 1l33 0l33-5l33 2l33 2l33 2l32 2l33 0l33 0l33 0l33 0l34-4l34-6l31 8l33 1l0 4l-1584 0z' fill='%23131a18' stroke='%236c7b7e' stroke-opacity='0.28'/%3E%3Cpath d='M-84 491l34-2l34-3l34-1l34-3l34-1l35 4l35 3l35-1l33-5l33-11l34-8l37 25l35 4l34-1l35 1l34-1l34-7l34-4l33-37l35 15l36 28l34 6l35 1l34 0l34-1l35-2l34-1l34 2l35-1l34 0l34 0l35 1l34 0l34-1l35 2l34-2l35-7l34 7l34 2l34 1l34 0l35 0l34 0l35-1l36-7l33 4l0 7l-1581 0z' fill='%23131a18' stroke='%23718184' stroke-opacity='0.3'/%3E%3Cpath d='M-83 495l35-3l36-2l35-5l36 4l37 1l36 5l36-1l35-4l36-4l35-8l36 5l37 7l36 4l36 0l35-5l35-15l36-10l37 13l36 10l36 3l36 7l36 0l36 0l36-1l35 0l36 0l36-2l36 1l36 1l36 0l36 0l35 0l36 1l36 0l36-1l36-2l36-2l36 2l35 1l36 2l36 0l36-1l36-3l37-4l0 11l-1579 0z' fill='%23131a18' stroke='%23748487' stroke-opacity='0.31'/%3E%3Cpath d='M-82 499l36-7l35-13l40 12l38 5l38 4l38 0l38 0l36-8l35-17l39 12l38 4l38 1l37-5l38-4l37-7l38 5l38 12l38 2l37 3l38 3l37 1l38 0l37 0l38-2l37 1l38 0l37-3l38 2l37 0l38 0l37 2l37 0l38 0l37-1l38 0l38-1l38-8l38 2l36 5l37 1l38 0l39-7l0 12l-1576 0z' fill='%23131a17' stroke='%23798a8d' stroke-opacity='0.5'/%3E%3Cpath d='M-82 500l38-7l41 8l40 4l39 1l40 0l39-1l38-6l35-31l42 20l41 14l40 1l38-7l38-18l39-18l41 23l40 10l40 8l39 5l39 1l40 0l39 0l39 0l39-1l40-1l39 1l39 0l40-1l39-1l39 2l39 1l39 0l40 0l39 0l39 0l40-1l39-1l40-2l41-11l39 4l40-3l0 17l-1575 0z' fill='%23131a17' stroke='%237b8d90' stroke-opacity='0.34'/%3E%3Cpath d='M-123 505l40-6l44 8l41 3l42 2l41 0l41-3l38-21l42 6l44 13l41-1l42 4l39-13l41-7l41-4l42 2l42 12l42 8l41 3l42 1l41 0l41 0l41-1l42-1l41 0l41 0l41 0l42 0l41-1l41 1l41 2l41 0l42 0l41 0l41 0l41 0l42 0l42-6l41 1l42-2l0 10l-1612 0z' fill='%23131a17' stroke='%237e8f93' stroke-opacity='0.35'/%3E%3Cpath d='M-124 508l44 5l44 1l44 1l43 1l43-1l41-17l46 11l44 7l44 1l43-4l43-5l42-10l41-35l47 45l44 6l44 2l43 1l44 1l43 0l43 0l44-1l43-3l44 2l43 1l43 1l44-1l43 1l44-1l43 0l43 1l44 0l43 0l44 0l43 0l44-2l43 1l44-1l0 6l-1609 0z' fill='%23131a17' stroke='%23839598' stroke-opacity='0.36'/%3E%3Cpath d='M-127 509l49 12l46 1l45-2l46-3l44-11l47 8l47 7l46 2l46 0l45-9l43-31l47 8l48 26l46 5l46-1l46 2l46 2l46 0l46-1l46-3l46 1l45 1l46 1l46-2l46-1l46 1l46 2l46-1l46-3l45 2l46 3l46 0l46-1l45 1l46 0l0 3l-1608 0z' fill='%23131917' stroke='%2385979b' stroke-opacity='0.38'/%3E%3Cpath d='M-126 525l47-6l48-4l48-5l51 15l50 6l49 2l48 0l49-2l47-11l46-25l47-22l53 42l49 9l49 5l49 3l48 1l49 0l48 0l49-6l49-17l49 15l48-3l48 8l49-2l50-9l48 8l48 0l49-2l49-2l49 2l47 4l48 3l49 1l48 0l0 3l-1652 0z' fill='%23121916' stroke='%238a9ca0' stroke-opacity='0.61'/%3E%3Cpath d='M-131 522l54 9l53 4l53 5l51 1l52 0l52-1l51-4l51-1l50-17l51-8l54 16l51-1l52 7l52 3l52 5l52 1l51-2l52-9l53-30l54-28l50 33l52 6l54-19l49 26l52 1l52-2l52 2l54-14l50 14l49 13l50 7l52 2l0 4l-1657 0z' fill='%23121816' stroke='%238c9fa3' stroke-opacity='0.41'/%3E%3Cpath d='M-128 550l55 0l56 1l55 0l54-1l56 0l54-1l55-8l52-21l54-14l57 10l57 24l56 4l55-3l55 7l55 3l55-3l57-41l57-37l57-4l60-57l57 10l49 71l55 11l56 3l57-9l63-45l46 61l53 10l55 2l52 16l0 15l-1655 0z' fill='%23121816' stroke='%238ea1a6' stroke-opacity='0.42'/%3E%3Cpath d='M924 466l60-57l57 10l49 71M1258 495l63-45l46 61' stroke='%23ff9f1c' stroke-opacity='0.73' stroke-width='1.6'/%3E%3Cpath d='M-100 563l30 0l29 0l30-1l29 0l30 0l29 0l30 0l29-2l29-2l29-3l29-6l28-8l28-13l27-22l30-7l32 18l31 19l31 9l30 4l29 1l29-9l31 12l30 4l29 2l30 2l29 0l30-1l29 0l30-2l30-6l29-7l30-7l30-4l30-1l30-8l31-19l29 21l29 11l30-4l30-6l30-4l30-1l31-3l29 5l29 4l31-9l34-21l29 5l27 15l30 1l30 0l31-9l34-18l28 8l22 35l0 30l-1629 0z' fill='%23121815' stroke='%2393a6ab' stroke-opacity='0.44'/%3E%3Cpath d='M-100 575l32 1l32 0l32-1l31 0l32-1l31-2l31-5l31-7l30-10l30-18l29-18l32-5l33 8l34 13l33 9l33 7l33 15l33 6l32 3l32 2l32 1l32 0l31 1l32 1l32-1l32-2l32-4l32-11l32-12l33-11l32-4l31 14l31 20l32 5l31 1l32 2l32-1l32-1l32-1l32-1l33-7l31 3l32 1l32-3l34-7l35-19l37-22l35-16l35-10l34-5l37-20l0 116l-1648 0z' fill='%23121715' stroke='%2395a8ad' stroke-opacity='0.45'/%3E%3Cpath d='M-100 591l35-1l34-1l34-1l35 0l34-2l33-4l34-5l33-10l33-15l34-4l36 8l36 9l35 8l35 3l35 0l35 4l35 7l35 3l34-1l34 0l35 1l34 0l35 0l34 0l35-2l35-15l36-57l36-19l34 27l33 36l33 19l35 6l34 3l34 0l35 0l34-2l35 0l35-2l35-5l35 0l34 1l35 1l35-3l36-7l36-6l37-10l42-30l0 69l-1636 0z' fill='%23111715' stroke='%2397aaaf' stroke-opacity='0.73'/%3E%3Cpath d='M-100 608l38-1l37-1l38-1l36-5l35-14l35-17l36-15l35-16l40 7l43 36l40 15l38 6l38 2l38 0l37 0l38 1l38 1l38 2l37 0l38 0l37 0l38 0l38-1l37-3l39-16l39-41l42-59l37 31l35 46l36 19l37 8l37 6l38 1l38-1l38-4l39-9l39-5l37 5l39-3l38-1l38-1l38-1l39-4l0 36l-1626 0z' fill='%23111614' stroke='%239aaeb4' stroke-opacity='0.49'/%3E%3Cpath d='M-141 628l41-1l40-4l42 2l42 0l41-3l40-7l39-15l35-42l44 9l46 30l43 14l43 5l41 0l42 5l42 6l42 2l41 1l42 0l41 0l41 0l42 0l41 0l42-1l41-3l43-17l46-70l52-120l49-59l39 53l38 58l39 35l41 15l42 2l43 0l39 20l39 19l40 10l40 12l41 3l44-9l0 55l-1669 0z' fill='%23101613' stroke='%239cb0b6' stroke-opacity='0.5'/%3E%3Cpath d='M942 539l52-120l49-59l39 53l38 58l39 35' stroke='%23ff9f1c' stroke-opacity='0.82' stroke-width='1.8'/%3E%3Cpath d='M-147 651l47 2l46-1l45-3l45-9l47 4l46-1l44-9l44-17l43-31l47 6l52 41l48 14l46 5l46 3l47 1l46 0l46 0l46 0l46 0l46 0l46 0l46-3l47-12l48-24l48-19l48-12l49-15l50-18l49-15l53-35l58-56l54-29l56-29l50-5l46 21l46 13l0 241l-1717 0z' fill='%23101513' stroke='%239fb4b9' stroke-opacity='0.52'/%3E%3Cpath d='M1260 503l58-56l54-29l56-29l50-5l46 21l46 13' stroke='%23ff9f1c' stroke-opacity='0.84' stroke-width='1.8'/%3E%3Cpath d='M-152 685l52 1l52 2l52 0l52-1l51-4l51-7l50-17l47-37l48-35l57 28l56 36l55 23l52 11l52 3l52 1l52 0l52 0l52 0l52-1l52-2l52-2l52-2l53-6l55-26l53-3l51 6l53-1l54-6l53-6l57-19l69-69l57-16l0 156l-1698 0z' fill='%230f1412' stroke='%23a1b6bb' stroke-opacity='0.54'/%3E%3Cpath d='M-129 731l30 0l30 0l29 0l30-1l29-1l30-1l30 0l29-1l30-2l29-3l29-6l29-5l29-4l29-6l29-7l29-8l30-6l30 5l32 13l31 12l30 8l30 6l30 4l30 2l30 1l30 0l29 0l30 0l30 0l29 0l30 0l30 0l30-2l30-3l29-1l30 2l30 1l29-1l30-1l30 1l30 1l29-1l30-2l31-4l30-3l30-1l30-3l31-7l31-3l29 4l29 4l29 3l30 1l30-2l31-2l30-2l31-5l0 29l-1700 0z' fill='%230e1211' stroke='%23a2b7bd' stroke-opacity='0.86'/%3E%3Cpath d='M-134 788l35-1l35 0l35 1l34 0l35 0l35 0l35-1l34-2l34-4l34-7l34-3l35-2l34-3l35-4l35-3l34-2l35 0l36 3l35 10l36 9l35 4l35 2l34 0l35 1l35 0l35 0l34-1l35-2l35-3l35-5l35-2l35 1l35 3l35 1l34 0l35-1l35 1l35 2l34 1l35 1l34 1l35 1l35 0l35 0l34 0l35-1l36-2l36-6l38-11l0 27l-1709 0z' fill='%230d100f' stroke='%23a5bac0' stroke-opacity='0.57'/%3E%3Cpath d='M-182 868l42 0l42 0l42 0l41 0l42-1l42-1l41-1l42 0l42 0l42 0l41-1l42-3l41-4l42-3l42 0l42 6l43 3l42 2l41 0l42-1l42 0l42 1l42-1l42-2l42-2l42-2l42-2l42-2l42-2l42-1l43-2l42 0l42-1l42 1l42 1l41 3l41 4l42 1l42 1l42 0l41 2l42 1l0 9l-1758 0z' fill='%230b0e0c' stroke='%23a6bbc1' stroke-opacity='0.18'/%3E%3C/g%3E%3C/svg%3E") center bottom / cover no-repeat;
}
.terrain.is-live::before{display:none}

/* atmosphere overlay: calm headline zone + edge vignette + bottom dissolve (no canvas cost) */
.terrain::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(90% 30% at 64% var(--terrain-horizon), var(--terrain-glow), transparent 72%),
    radial-gradient(var(--terrain-calm-w) var(--terrain-calm-h) at var(--terrain-calm-x) var(--terrain-calm-y),
      rgb(11 13 12 / var(--terrain-calm)) 0%, rgb(11 13 12 / calc(var(--terrain-calm) * .55)) 45%, transparent 100%),
    linear-gradient(180deg, transparent 72%, var(--terrain-fade) 100%),
    radial-gradient(140% 110% at 50% 45%, transparent 55%, rgb(0 0 0 / .45) 100%);
}

/* ── HTML waypoint labels (crisp text over the canvas) ── */
.terrain__labels{position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden}
.terrain-wp{
  --wp-c:var(--terrain-wp);
  position:absolute; left:0; top:0;
  display:flex; align-items:stretch; gap:0;
  font:500 11px/1 var(--ff-mono, "JetBrains Mono", ui-monospace, monospace);
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
  color:var(--text, #E9E7DF);
  transition:opacity .3s ease;
  will-change:transform;
}
.terrain-wp--drop{--wp-c:var(--terrain-drop)}
.terrain-wp--exfil{--wp-c:var(--terrain-exfil)}
.terrain-wp__code{
  padding:4px 6px; background:var(--wp-c); color:var(--terrain-bg, #0B0D0C); font-weight:700;
}
.terrain-wp__label{
  padding:4px 8px 4px 7px;
  background:rgb(11 13 12 / .78);
  border:1px solid color-mix(in srgb, var(--wp-c) 55%, transparent);
  border-left:0;
}
.terrain-wp.is-off{opacity:0}
.terrain-wp.is-flip{flex-direction:row-reverse}
.terrain-wp.is-flip .terrain-wp__label{border-left:1px solid color-mix(in srgb, var(--wp-c) 55%, transparent); border-right:0}
.terrain-wp.is-ping .terrain-wp__label{border-color:var(--wp-c); color:#fff}
@media (max-width:767px){
  .terrain{--terrain-calm-x:40%; --terrain-calm-y:22%; --terrain-calm-w:130%; --terrain-calm-h:60%}
  .terrain-wp{font-size:10px}
  .terrain-wp__label{padding:3px 6px}
  .terrain-wp__code{padding:3px 5px}
}

/* ── pause / play toggle (WCAG 2.2.2). Pages place it in a hero corner. ── */
.terrain-toggle{
  position:absolute; right:var(--gutter, 16px); bottom:var(--gutter, 16px); z-index:3;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-width:44px; min-height:44px; padding:0 12px;
  font:500 12px/1 var(--ff-mono, "JetBrains Mono", ui-monospace, monospace);
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-2, #B9B8AE);
  background:rgb(11 13 12 / .72);
  border:1px solid var(--line-strong, #6E786F);
  border-radius:var(--radius, 2px);
  cursor:pointer;
  transition:color var(--dur-hover, 160ms) ease, border-color var(--dur-hover, 160ms) ease, background-color var(--dur-hover, 160ms) ease;
}
.terrain-toggle[hidden]{display:none}
/* canonical placement (SPEC-v2 §5, G0-09) — pages do NOT override:
   hero → top-right just below the header, inside the first viewport · deploy band → bottom-right */
.hero .terrain-toggle{top:calc(var(--header-h, 60px) + 12px); right:var(--gutter, 16px); bottom:auto; left:auto; z-index:3}
.deploy-cta .terrain-toggle{bottom:var(--gutter, 16px); right:var(--gutter, 16px); top:auto; left:auto}
.terrain-toggle:hover{color:var(--text, #E9E7DF); border-color:var(--accent, #FF9F1C)}
.terrain-toggle:focus-visible{outline:2px solid var(--focus, #FF9F1C); outline-offset:2px}
.terrain-toggle__icon{width:14px; height:14px; fill:currentColor; flex:none}
.terrain-toggle__icon--play{display:none}
.terrain-toggle.is-paused .terrain-toggle__icon--play,
.terrain-toggle[aria-pressed="true"] .terrain-toggle__icon--play{display:block}
.terrain-toggle.is-paused .terrain-toggle__icon--pause,
.terrain-toggle[aria-pressed="true"] .terrain-toggle__icon--pause{display:none}
@media (max-width:767px){
  .terrain-toggle{padding:0; width:44px}
  .terrain-toggle__text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
}

/* ── palette presets (geometry/motion presets live in terrain.js) ── */
.terrain[data-terrain="partner"]{
  --terrain-line:#9FB0B8; --terrain-line-alpha:.5; --terrain-fog:#141B1C;
  --terrain-peak:#E0C063; --terrain-peak-alpha:.62; --terrain-glow:rgb(111 211 232 / .07);
}
.terrain[data-terrain="sponsor"]{
  --terrain-line:#A9ADA5; --terrain-line-alpha:.5; --terrain-fog:#17191A;
  --terrain-peak:#E0C063; --terrain-peak-alpha:.7; --terrain-glow:rgb(224 192 99 / .07);
}
.terrain[data-terrain="creator"]{
  --terrain-line:#B3B7C9; --terrain-fog:#18171F; --terrain-glow:rgb(184 163 242 / .08);
}
.terrain[data-terrain="roadmap"]{
  --terrain-line:#A7BCC2; --terrain-line-alpha:.55; --terrain-peak:#E0C063; --terrain-peak-alpha:.78;
}
.terrain[data-terrain="exfil"]{
  --terrain-line:#8FC49B; --terrain-line-alpha:.55; --terrain-fog:#132019;
  --terrain-peak:#7CCB8B; --terrain-scan:#7CCB8B; --terrain-glow:rgb(124 203 139 / .12);
}

@media print{
  .terrain-toggle,.terrain__labels{display:none}
}
