/* Home v13 (Federico on v12a, 2026-10-18): "artwork on rhs can be bigger", "dont like the wax bg".
   The sky is a clean smooth gradient (no grain, no halftone screen): the print texture lives only in the sun and clouds.
   a: the sun and its towers 1.3x, anchored on the hills. b: 1.5x, a huge dome bleeding off the top and right.
   c: a at 1.3x with an all-blue sky (the other reading of "wax": the warm cream low in the sky).
   Both sizes put the sun's straight cut (the art's own border) past the right edge of the screen.
   The words keep v12's left column and are never overlapped. Loaded after edge-kit-home-v12.css. */
[data-v13] .v2 .v2-hero::before{background:linear-gradient(180deg,#8dbbdd 0%,#b2d3e8 40%,#d9e7ea 70%,#f0eadb 100%)}
[data-v13=c] .v2 .v2-hero::before{background:linear-gradient(180deg,#86b6da 0%,#a9cde6 45%,#cfe3ef 100%)}

/* a, c: 1.3x */
@media(min-width:701px){
 [data-v13] .v7-scene .v4-l--globe{--R:990px;--cx:calc(50% + 470px);--cy:calc(100% + 270px)}
 [data-v13] .v7-scene::before{width:520px;left:calc(50% - 330px);bottom:90px}
 [data-v13] .v7-scene::after{width:720px;left:calc(50% + 330px);bottom:84px}
 [data-v13] .v2 .v4-scout-home{left:calc(50% + 10px);bottom:560px}
}
@media(min-width:701px) and (max-height:820px){
 [data-v13] .v7-scene .v4-l--globe{--R:800px;--cx:calc(50% + 480px);--cy:calc(100% + 200px)}
 [data-v13] .v7-scene::before{width:450px;left:calc(50% - 290px);bottom:104px}
 [data-v13] .v7-scene::after{width:620px;left:calc(50% + 330px);bottom:100px}
 [data-v13] .v2 .v4-scout-home{bottom:470px}
}

/* b: 1.5x, a huge dome off the top and right; the towers frame it */
@media(min-width:701px){
 [data-v13=b] .v7-scene .v4-l--globe{--R:1160px;--cx:calc(50% + 640px);--cy:calc(100% + 150px)}
 [data-v13=b] .v7-scene::before{width:620px;left:calc(50% - 260px);bottom:80px}
 [data-v13=b] .v7-scene::after{width:860px;left:calc(50% + 200px);bottom:70px}
 [data-v13=b] .v2 .v4-scout-home{left:calc(50% - 40px);bottom:600px}
}
@media(min-width:701px) and (max-height:820px){
 [data-v13=b] .v7-scene .v4-l--globe{--R:960px;--cx:calc(50% + 620px);--cy:calc(100% + 120px)}
 [data-v13=b] .v7-scene::before{width:540px;left:calc(50% - 240px);bottom:96px}
 [data-v13=b] .v7-scene::after{width:760px;left:calc(50% + 200px);bottom:90px}
 [data-v13=b] .v2 .v4-scout-home{bottom:500px}
}

/* b: the dome runs under the nav, so the links sit on a small cream paper label */
@media(min-width:701px){
 [data-v13=b] .v2 .v2-nav nav{background:var(--v12-paper);padding:5px 6px 5px 16px;border-radius:2px;box-shadow:0 1px 3px #0b1a0a33}
}

/* phone: the words on top, the sun and towers larger below (1.3x / 1.5x of v12) */
@media(max-width:700px){
 [data-v13] .v7-scene .v4-l--globe{--R:520px;--cx:calc(50% + 60px);--cy:calc(100% + 90px)}
 [data-v13] .v7-scene::before,[data-v13] .v7-scene::after{width:300px;bottom:104px}
 [data-v13] .v7-scene::before{left:calc(50% - 300px)}
 [data-v13] .v7-scene::after{left:calc(50% + 20px)}
 [data-v13=b] .v7-scene .v4-l--globe{--R:600px;--cx:calc(50% + 120px);--cy:calc(100% + 80px)}
 [data-v13=b] .v7-scene::before,[data-v13=b] .v7-scene::after{width:340px}
 [data-v13=b] .v7-scene::before{left:calc(50% - 320px)}
 [data-v13=b] .v7-scene::after{left:calc(50% + 10px)}
}

/* ---- a2 (Federico: "why does the mascot not travel ... to the chart section?"): one Scout. After the JS flight into the
   edge card, a scroll-driven animation on the bell's view timeline carries it on: a dive over the crowd's peak
   ("Everyone"), then a glide right along the tail to land above "You, with Edge". Only translate, rotate and scale move,
   on the compositor; the path comes from measure() as --k1x/--k1y (peak) and --fx/--fy (tail),
   the scroll range as --r0/--r1. The chart's own mini
   Scout is retired. No support, or reduced motion: Scout rests on the tail. ---- */
[data-scout-land] #v6-mini{display:none}
[data-scout-land] #v3-scout{z-index:7}
@keyframes v13-land{
 0%{translate:0 0}
 45%{translate:var(--k1x) var(--k1y)}
 100%{translate:var(--fx) var(--fy)}
}
@keyframes v13-land-in{
 0%{scale:1;rotate:0deg}
 45%{scale:calc((1 + var(--s1)) / 2);rotate:14deg}
 100%{scale:var(--s1);rotate:-6deg}
}
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  [data-scout-land] #v3-scout{animation:v13-land linear both;animation-timeline:scroll(root);animation-range:var(--r0) var(--r1)}
  [data-scout-land] #v3-scout .v3-scout-in{animation:v10-bob 1.9s cubic-bezier(.45,0,.55,1) infinite alternate,v13-land-in linear both;
   animation-timeline:auto,scroll(root);animation-range:normal,var(--r0) var(--r1)}
  /* offscreen pausing (.is-off, from the hero zone) may stop the bob, never the scroll-driven leg */
  [data-scout-land] #v3-scout .v3-scout-in.is-off{animation-play-state:paused,running!important}
 }
}
@supports not (animation-timeline:view()){
 [data-scout-land] #v3-scout{translate:var(--fx) var(--fy)}
 [data-scout-land] #v3-scout .v3-scout-in{scale:var(--s1);rotate:-6deg}
}
@media(prefers-reduced-motion:reduce){
 [data-scout-land] #v3-scout{translate:var(--fx) var(--fy)}
 [data-scout-land] #v3-scout .v3-scout-in{scale:var(--s1);rotate:-6deg}
}

/* the chart: a little taller, the tail label larger; on phones the whole curve fits with the tail label inside the screen */
[data-scout-land] .v6-lab--you{font-size:15px}
@media(max-width:700px){
 [data-scout-land] .v6-bell{width:600px;left:-150px}
 [data-scout-land] .v6-lab--you{left:auto;right:12.7%;transform:none;font-size:12.5px}
}

/* ---- a3 (Federico on a2: "the loading is weird"; the paste line sat on the grass on his screen) ----
   1. The words always clear the hills. The meadow's height no longer grows with the screen's width: its top sits at 64% of
      the hero on every desktop, and the text block ends just below that line, where the meadow is still ~70px lower under
      the left column. (The hills art is 1800x560 drawn at max(110vw,1600px) wide.) */
@media(min-width:701px){
 [data-v13~=a3]{--v13-h:clamp(560px,calc(100svh - 64px),980px)}
 [data-v13~=a3] .v7-l--hills{bottom:calc(var(--v13-h) * .36 - max(110vw,1600px) * .3111)}
 [data-v13~=a3] .v2 .v2-hero-copy{top:auto;bottom:calc(var(--v13-h) * .36 - 10px)}
 /* centre the meadow on wide screens too (the base max(-55%,-800px) left a gap of sky at the left past 1600px) */
 [data-v13~=a3] .v7-l--hills{margin-left:min(-55%,-800px)}
 /* past 1440px the sun and its right tower move out with the screen edge, so the art's straight cut stays off screen */
 [data-v13~=a3] .v7-scene .v4-l--globe{--cx:calc(50% + max(470px,50vw - 250px))}
 [data-v13~=a3] .v7-scene::after{left:calc(50% + max(330px,50vw - 390px))}
 [data-v13~=a3] .v7-scene::before{left:calc(50% + max(-330px,25vw - 690px))}
}
@media(min-width:701px) and (max-height:820px){
 [data-v13~=a3] .v7-scene .v4-l--globe{--cx:calc(50% + max(480px,50vw - 240px))}
 [data-v13~=a3] .v7-scene::after{left:calc(50% + max(330px,50vw - 390px))}
 [data-v13~=a3] .v7-scene::before{left:calc(50% + max(-290px,25vw - 640px))}
}
/* short phones: the sun and towers sit lower and smaller so the paste line and Scout stay in clear sky */
@media(max-width:700px) and (max-height:720px){
 [data-v13~=a3] .v7-scene .v4-l--globe{--R:420px;--cx:calc(50% + 70px);--cy:calc(100% + 110px)}
 [data-v13~=a3] .v7-scene::before,[data-v13~=a3] .v7-scene::after{width:230px;bottom:96px}
 [data-v13~=a3] .v7-scene::before{left:calc(50% - 240px)}[data-v13~=a3] .v7-scene::after{left:calc(50% + 30px)}
 [data-v13~=a3] .v2 .v4-scout-home{bottom:230px}
}
/* 2. One entrance. Until the art is decoded (or 1.5s), the sky and nav show and the rest waits, invisible, in its final
      layout box, so nothing shifts. Then: the meadow settles in, the sun and its cloud bank rise, the two towers swell
      into place, and last the words, Scout and the backers fade up. ~1.3s, opacity/translate/scale only. The old 3.2s
      sun rise is replaced. If the script never runs, everything appears at 2.5s. */
[data-hero-load] .v7-scene .v4-l--globe:not(.v9-globe-clouds){animation:none}
[data-hero-load] .v7-scene .v9-globe-clouds{animation:v10-turn 26s cubic-bezier(.45,0,.55,1) 1.4s infinite alternate}
[data-hero-load] .v7-l--hills,[data-hero-load] .v7-scene .v4-l--globe,[data-hero-load] .v7-scene::before,[data-hero-load] .v7-scene::after,
[data-hero-load] .v2 .v2-hero-copy,[data-hero-load] #v3-scout,[data-hero-load] .v2 .v2-proof{
 transition:opacity .7s cubic-bezier(.22,.7,.3,1),translate .9s cubic-bezier(.22,.7,.3,1),scale .9s cubic-bezier(.22,.7,.3,1)}
[data-hero-load] .v7-scene .v4-l--globe{transition-delay:.15s}
[data-hero-load] .v7-scene::before{transition-delay:.3s}[data-hero-load] .v7-scene::after{transition-delay:.38s}
[data-hero-load] .v2 .v2-hero-copy{transition-delay:.62s,.62s}
[data-hero-load] #v3-scout,[data-hero-load] .v2 .v2-proof{transition-delay:.75s}
[data-hero-load]:not([data-hero-in]) .v7-l--hills{opacity:0}
[data-hero-load]:not([data-hero-in]) .v7-scene .v4-l--globe{opacity:0;translate:0 36px}
[data-hero-load]:not([data-hero-in]) .v7-scene::before,[data-hero-load]:not([data-hero-in]) .v7-scene::after{opacity:0;scale:.96;transform-origin:50% 100%}
[data-hero-load]:not([data-hero-in]) .v2 .v2-hero-copy{opacity:0;translate:0 10px}
[data-hero-load]:not([data-hero-in]) #v3-scout,[data-hero-load]:not([data-hero-in]) .v2 .v2-proof{opacity:0}
@keyframes v13-failsafe{to{opacity:1;translate:0 0;scale:1}}
[data-hero-load]:not([data-hero-in]) .v7-l--hills,[data-hero-load]:not([data-hero-in]) .v7-scene .v4-l--globe,[data-hero-load]:not([data-hero-in]) .v7-scene::before,
[data-hero-load]:not([data-hero-in]) .v7-scene::after,[data-hero-load]:not([data-hero-in]) .v2 .v2-hero-copy,[data-hero-load]:not([data-hero-in]) .v2 .v2-proof{
 animation:v13-failsafe .6s ease-out 2.5s forwards}
@media(prefers-reduced-motion:reduce){
 [data-hero-load] .v7-l--hills,[data-hero-load] .v7-scene .v4-l--globe,[data-hero-load] .v7-scene::before,[data-hero-load] .v7-scene::after,
 [data-hero-load] .v2 .v2-hero-copy,[data-hero-load] #v3-scout,[data-hero-load] .v2 .v2-proof{transition:opacity .3s linear;translate:none;scale:none}
}

/* ---- a4 (Federico: show the before/after styled; wireframe Option 2 "One card, flip"). The text-heavy pairs are gone:
   one paper card shows only the opening line, Without or With, crossfaded in place. All four lines sit stacked in one
   grid cell, so the card never changes size. The With side carries a faint blue halftone in its corner, the print of
   the hero's sun. ---- */
.v14-flip{margin:56px auto 0;max-width:880px;text-align:center}
.v14-h{margin:0;font-size:30px;line-height:36px;font-weight:450;letter-spacing:-.035em;color:var(--edge-ink)}
.v14-tabs{display:inline-flex;gap:22px;margin:18px 0 0}
.v14-tab{font:inherit;font-size:15px;color:var(--edge-muted);background:none;border:0;padding:6px 0;cursor:pointer;border-bottom:1.5px solid transparent}
.v14-tab[aria-selected=true]{color:var(--edge-ink);border-bottom-color:var(--edge-ink)}
.v14-tab:focus-visible,.v14-side:focus-visible{outline:2px solid var(--edge-blue);outline-offset:3px}
.v14-prompt{margin:14px 0 0;font-size:15px;line-height:22px;color:var(--edge-muted)}
.v14-k{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;margin-right:10px;color:#8a958e}
.v14-switch{display:inline-flex;margin:22px 0 0;padding:3px;border-radius:999px;background:#e7eaee;gap:2px}
.v14-side{font:inherit;font-size:14.5px;padding:8px 18px;border:0;border-radius:999px;background:none;color:var(--edge-muted);cursor:pointer;
 transition:background-color .25s,color .25s}
.v14-side[aria-pressed=true]{background:#fff;color:var(--edge-ink);box-shadow:0 1px 2px #16251e1f}
.v14-flip[data-side=with] .v14-side[data-side=with][aria-pressed=true]{color:var(--edge-blue)}
.v14-card{position:relative;display:grid;margin:18px 0 0;padding:44px 56px 48px;background:#fbf8f0;border-radius:4px;text-align:left;overflow:hidden;
 box-shadow:0 1px 2px #16251e14,0 14px 40px #16251e12}
.v14-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s ease;
 background:radial-gradient(circle,#1f4fff 0 1.1px,transparent 1.4px) 0 0/7px 7px,radial-gradient(circle,#1f4fff 0 1.1px,transparent 1.4px) 3.5px 3.5px/7px 7px;
 -webkit-mask-image:radial-gradient(120% 130% at 100% 0,#000 0,#0008 18%,transparent 42%);mask-image:radial-gradient(120% 130% at 100% 0,#000 0,#0008 18%,transparent 42%)}
.v14-flip[data-side=with] .v14-card::before{opacity:.28}
.v14-out{grid-area:1/1;position:relative;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.v14-lab{margin:0;font-size:13px;letter-spacing:.01em;color:var(--edge-muted)}
.v14-lab a{color:var(--edge-blue);text-decoration:none}.v14-lab a:hover{text-decoration:underline;text-underline-offset:3px}
.v14-line{margin:12px 0 0;font-size:34px;line-height:43px;font-weight:450;letter-spacing:-.03em;color:var(--edge-ink);text-wrap:balance}
.v14-out[data-side=without] .v14-line{color:#56635b}
.v14-prompt [data-task],.v14-chip{display:none}
.v14-flip[data-task=li] .v14-prompt [data-task=li],.v14-flip[data-task=deck] .v14-prompt [data-task=deck]{display:inline}
.v14-flip[data-task=li] .v14-chip[data-task=li]{display:inline-block}
.v14-flip[data-task=li][data-side=without] .v14-out[data-task=li][data-side=without],
.v14-flip[data-task=li][data-side=with] .v14-out[data-task=li][data-side=with],
.v14-flip[data-task=deck][data-side=without] .v14-out[data-task=deck][data-side=without],
.v14-flip[data-task=deck][data-side=with] .v14-out[data-task=deck][data-side=with]{opacity:1;visibility:visible;transition:opacity .45s ease .08s,visibility 0s}
.v14-chip{margin:16px 0 0;padding:6px 14px;border:1px solid var(--edge-line);border-radius:999px;font-size:13px;color:var(--edge-muted);background:#fff}
.v14-flip .v2-seemore{display:block;width:fit-content;margin:18px auto 0;font-size:15px}
@media(max-width:700px){
 .v14-flip{margin-top:40px}
 .v14-h{font-size:24px;line-height:30px}
 .v14-card{padding:26px 22px 30px}
 .v14-line{font-size:23px;line-height:30px}
 .v14-side{padding:8px 14px}
}
@media(prefers-reduced-motion:reduce){.v14-out,.v14-card::before,.v14-side{transition:none!important}}
@media(max-width:700px){.v14-chip{border-radius:14px;padding:6px 12px;font-size:12.5px}}

/* ---- a5 (Federico on a4: layout issues on his laptop screen). a4 had dropped the a3 hero rules; the html now carries
   data-v13="a3 a4 a5" and the a3 rules match with ~=. The valley between the two hills showed a tongue of sky under the
   backed-by strip: the strip sits 30px lower, taped over the seam where the meadow meets the page. */
@media(min-width:701px){
 [data-v13~=a5] .v2 .v2-proof{margin-top:-74px;margin-bottom:16px}
}

/* ---- a6 (Federico on a5: "not perfect yet"). One measured composition at every desktop size instead of fixed offsets:
   --H the hero (fits the window down to 460px, so the backers never fall under the fold), --W the hills art's width,
   --G how much meadow shows. The meadow is always tall enough that the valley between the two hills ends behind the
   backers strip (valley floor = 0.1594 x the art's width below its top), so no sky shows under the strip; the hills art is
   1200px wide at least (was 1600px), so short windows keep their grass. The words sit optically centred (44% above,
   56% below) in the sky between the nav and the grass under them; the headline grows a little with big screens.
   Scout flies off the end of the headline, toward the art, instead of floating alone mid-screen. ---- */
@media(min-width:701px){
 [data-v13~=a6]{--H:clamp(460px,calc(100svh - 64px),980px);--W:max(110vw,1200px);--G:max(calc(var(--W) * .1594 + 18px),calc(var(--H) * .3));
  --f:clamp(40px,min(calc(2.4vw + 13px),6svh),60px);--s:clamp(16.5px,calc(var(--f) * .25 + 5.5px),19px);
  --B:calc(var(--f) * 2.406 + var(--s) * 3 + 95px);
  --T:max(20px,calc((var(--H) - var(--G) + var(--W) * .037 - var(--B)) * .44))}
 [data-v13~=a6] .v2 .v2-hero{height:var(--H)}
 [data-v13~=a6] .v7-l--hills{width:var(--W);margin-left:calc(var(--W) / -2);bottom:calc(var(--G) - var(--W) * .3111)}
 [data-v13~=a6] .v2 .v2-hero-copy{top:var(--T);bottom:auto;max-width:calc(var(--s) * 24)}
 [data-v13~=a6] .v2 .v2-hero h1{font-size:var(--f);line-height:1.068}
 [data-v13~=a6] .v2 .v2-hero .v2-sub{font-size:var(--s);line-height:1.5;margin-top:calc(var(--f) * .27)}
 /* the two cloud towers stand in the meadow, never above it (the meadow is ~0.115 x the art's width lower at the right) */
 [data-v13~=a6] .v7-scene::before,[data-v13~=a6] .v7-scene::after{bottom:min(84px,calc(var(--G) - var(--W) * .115 - 14px))}
 /* on narrow windows the left tower kept clear of the words (its painted cloud starts ~160px into its box) */
 [data-v13~=a6] .v7-scene::before{left:max(calc(50% + max(-330px,25vw - 690px)),calc(max(0px,50vw - 720px) + var(--g) + var(--s) * 24 - 100px))}
 /* Scout: the plane (111x68 inside its 180x98 box) just past "superintelligence.", level with the first line */
 [data-v13~=a6] .v2 .v4-scout-home{left:calc(max(0px,50vw - 720px) + var(--g) + var(--f) * 6.9 - 18px);top:calc(64px + var(--T) + var(--f) * .45 - 55px);bottom:auto}
}
/* phone: Scout off the end of the headline too (31px type, 20px gutter, copy 22px under the 56px nav) */
@media(max-width:700px){
 [data-v13~=a6] .v2 .v4-scout-home{left:calc(20px + 31px * 6.9 - 8px);top:calc(78px + 31px * .45 - 32px);bottom:auto}
}

/* ---- a8 (Federico 10-21 on a7: the refined homepage hero "was greatness"). The hero is the refined one (.site island,
   edge-kit-home-refined.css): half-moon sky with its pixel fringe top right, meadow below, words on the paper at left.
   On top of it: "superintelligence" bold, and the backers line set on the grass where "See the difference" sat, in white
   with a soft shadow like the cue it replaces (no paper label). Scout's v2 flight starts on the meadow, right of the
   cloud bank, where the refined plane rested. ---- */
[data-v13~=a8] .site .hero h1 span{font-weight:650;letter-spacing:-.045em}
[data-v13~=a8] .site .v2-cta{margin-top:27px}
[data-v13~=a8] .site .v2-cta .v3-cta-row{display:flex;flex-direction:row;align-items:center;gap:28px;margin-top:0}
[data-v13~=a8] .site .hero .v2-get{width:auto;min-width:0;flex:none;order:0;padding-inline:28px}
/* the refined .button is inline-flex; the copy button stacks its two labels in one grid cell */
[data-v13~=a8] .site .v2-get{display:inline-grid;place-items:center}
[data-v13~=a8] .site .header .v2-get{width:auto;min-width:0;flex:none;padding-inline:20px}
/* At rest Scout stands on the grass in every browser: the refined landscape Scout. Where the flight runs (scroll-driven
   animations, motion allowed), the first 60px of scroll hand over to the plane: he fades out as the plane (#v3-scout,
   seated by edge-kit-home-v2.js with its rider on his spot) fades in, and the plane flies on. Elsewhere (reduced motion,
   Safari before 26, Firefox) the a8 rule below drops #v3-scout and he simply stays. Pure scroll timeline: nothing runs
   while the page is still. */
@keyframes a8-alight{from{opacity:1}to{opacity:0}}
@keyframes a8-board{from{opacity:0}to{opacity:1}}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 [data-v13~=a8][data-scout-land] .site .landscape>.scout{animation:a8-alight linear both;animation-timeline:scroll(root);animation-range:0px 60px}
 [data-v13~=a8][data-scout-land] #v3-scout{animation:v13-land linear both,a8-board linear both;animation-timeline:scroll(root),scroll(root);animation-range:var(--r0) var(--r1),0px 60px}
}}
/* the refined meadow ran on into the film section through a cloud aperture in the terrain art; here the hero ends on the
   meadow, so the art keeps the refined page's height (aperture far below the fold) and the island clips it */
[data-v13~=a8] .site .v2-hint{margin-top:16px;font-size:13px;color:var(--edge-muted,#5b6573)}
[data-v13~=a8] .site .v13-meadow-proof{position:absolute;z-index:2;left:var(--gutter);top:calc(var(--terrain-top) + 118px);margin:0;padding:0;border-radius:0;
 display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;background:none;border:0;box-shadow:none;color:#fffef6;max-width:calc(100% - 2 * var(--gutter))}
[data-v13~=a8] .site .v13-meadow-proof::before,[data-v13~=a8] .site .v13-meadow-proof::after,[data-v13~=a8] .site .v13-meadow-proof .ed-proof-label::before{content:none;display:none}
[data-v13~=a8] .site .v13-meadow-proof .ed-proof-label{margin:0;font-size:13px;line-height:1.4;color:#fffef6;text-shadow:0 1px 4px #16251ecc,0 0 14px #16251e80;letter-spacing:.01em}
[data-v13~=a8] .site .v13-meadow-proof .ed-logos{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}
[data-v13~=a8] .site .v13-meadow-proof .ed-logo{filter:brightness(0) invert(1) drop-shadow(0 1px 3px #16251ecc);opacity:1}
/* the a16z mark, white, at the height of the Y square */
[data-v13~=a8] .site .v13-meadow-proof .v9-a16z{width:auto;height:22px}
[data-v13~=a8] .site .v13-scout-home{position:absolute;left:calc(50% + 395px);top:calc(var(--terrain-top) + 85px);width:180px;height:98px;pointer-events:none}
@media(max-width:700px){
 /* phone: on the solid grass below the valley, the label on two short lines */
 [data-v13~=a8] .site .v13-meadow-proof{top:calc(var(--terrain-top) + 222px);flex-direction:column;align-items:flex-start;gap:12px}
 [data-v13~=a8] .site .v13-meadow-proof .ed-proof-label{font-size:13px;max-width:13.5em;white-space:normal;font-weight:500}
 [data-v13~=a8] .site .v13-meadow-proof .v9-a16z{height:19px}
 [data-v13~=a8] .site .v2-cta .v3-cta-row{gap:20px}
 [data-v13~=a8] .site .v13-meadow-proof .ed-logos{gap:18px}
 [data-v13~=a8] .site .v13-scout-home{left:auto;right:3%;top:calc(var(--terrain-top) + 140px);width:120px;height:66px}
}

/* ---- a8 layout pass (Federico 10-21: "the layout feels a bit weird"). Styling and spacing only.
   Hero about one window tall (the meadow gives up its depth, never the sky); every section heading and intro left on the
   page grid, at one heading size; the flip sheet as wide as the cards; one gap between sections (120px, phone 72px);
   the closing: the CTA on its own first, then the sentence running straight into the wordmark, no clouds behind text. ---- */
[data-v13~=a8]{--a8-gap:96px}
[data-v13~=a8] .site{--meadow-depth:clamp(60px,calc(100svh - var(--hero-base)),280px)}
[data-v13~=a8] .site .v13-meadow-proof{top:calc(var(--terrain-top) + 104px)}
[data-v13~=a8] .v4-lead,[data-v13~=a8] .v14-h,[data-v13~=a8] .v2-tag,[data-v13~=a8] .v2-people h2{font-size:48px;line-height:52px;letter-spacing:-.045em;font-weight:500;text-align:left}
[data-v13~=a8] .v14-flip{margin:var(--a8-gap) 0 0;max-width:none;text-align:left}
[data-v13~=a8] .skr-src{margin-left:0;margin-right:0;max-width:640px}
[data-v13~=a8] .skr-see{margin-left:0;margin-right:0}
[data-v13~=a8] .v3-pano{margin-top:var(--a8-gap)}
[data-v13~=a8] .v2-tag{padding-top:0}
[data-v13~=a8] .v2 .v2-people{padding-top:var(--a8-gap);padding-bottom:0}
[data-v13~=a8] .v3-close-art{display:none}
[data-v13~=a8] .v2 .v2-close{padding-top:var(--a8-gap);flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:72px}
[data-v13~=a8] .v2 .v2-close-cta{order:0;align-items:flex-start}
[data-v13~=a8] .v2 .v2-close h2{order:1;white-space:nowrap}
/* the voice pair is sized in container units: at the full grid width its type is held to the size it had at 880px */
@media(min-width:701px){
 [data-v13~=a8] .skr .chat{font-size:1.45cqw}
 [data-v13~=a8] .skr .chat .who,[data-v13~=a8] .skr .chat .verdict{font-size:.95cqw}
 [data-v13~=a8] .skr .chat.r .out .b{font-size:1.65cqw}
 [data-v13~=a8] .skr .chat .av{width:2.2cqw;height:2.2cqw;font-size:1cqw;line-height:2.2cqw}
}
@media(max-width:700px){
 [data-v13~=a8] .skr-under{align-items:flex-start;text-align:left}
 [data-v13~=a8] .v4-sig span{font-size:29vw}
 [data-v13~=a8]{--a8-gap:64px}
 [data-v13~=a8] .site{--gutter:20px;--meadow-depth:clamp(60px,calc(100svh - var(--hero-base)),180px)}
 [data-v13~=a8] .site .v13-meadow-proof{top:calc(var(--terrain-top) + 222px)}
 [data-v13~=a8] .v4-lead,[data-v13~=a8] .v14-h,[data-v13~=a8] .v2-tag,[data-v13~=a8] .v2-people h2{font-size:32px;line-height:36px}
 [data-v13~=a8] .skr-sheet{margin:0}
 [data-v13~=a8] .skr-labels,[data-v13~=a8] .skr-under{justify-content:flex-start}
 [data-v13~=a8] .v2 .v2-close{gap:40px}
 [data-v13~=a8] .v2 .v2-close-cta{align-items:stretch;align-self:stretch}
 [data-v13~=a8] .v2 .v2-close-cta .v2-note{text-align:left}
 [data-v13~=a8] .v2 .v2-close h2{white-space:normal}
}

/* ---- a8 Astra layout review (10-22). One hierarchy: hero, the voice demo as the main section, then the evidence, then
   the close; 96px between sections (phone 64), 32px from a heading to its content (phone 24), 12-16px inside a group.
   The hero landscape runs on past the hero: the painted cloud lens in the terrain art opens under the meadow, the
   "Everyone else" heading and the cards sit in it, and the art fades into the paper behind the cards (no straight cut). */
[data-v13~=a8]{--a8-reach:220px;--a8-under:260px}
[data-v13~=a8] .site{padding-bottom:calc(var(--a8-reach) + var(--a8-under))}
[data-v13~=a8] .site .landscape{bottom:auto;height:calc((var(--hero-h) - var(--terrain-top) + 40px) / .28)}
/* the fade is a paper-coloured veil over the art, not a mask: a mask on the whole world made one huge masked layer,
   which phones (Safari above all) pay for in GPU memory */
[data-v13~=a8] .site .world::after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--a8-under) + 40px);background:linear-gradient(transparent,var(--paper) calc(100% - 24px));pointer-events:none}
[data-v13~=a8] #main{position:relative;z-index:1;margin-top:calc(-1 * var(--a8-under))}
[data-v13~=a8] #altitude{padding-top:0}
[data-v13~=a8] .v4-lead{margin-bottom:32px}
[data-v13~=a8] .v2-card{height:290px}
[data-v13~=a8] .v2-card--avg .v2-card-label{padding:0;margin:0;border-radius:0;background:none}
[data-v13~=a8] .v14-flip{margin-top:64px}
[data-v13~=a8] .v14-h{margin-bottom:32px}
[data-v13~=a8] .skr-tabs{margin-top:0}
[data-v13~=a8] .skr-labels{margin:24px 0 8px}
[data-v13~=a8] .skr-sheet{aspect-ratio:auto;height:580px}
[data-v13~=a8] .skr-under{margin-top:12px}
[data-v13~=a8] .skr-src{margin-top:20px}
[data-v13~=a8] .skr-see{margin-top:12px}
[data-v13~=a8] .v3-pano{height:380px}
[data-v13~=a8] .v2-people-foot{margin-top:24px}
[data-v13~=a8] .v2 .v2-close{gap:64px}
[data-v13~=a8] .v2 .v2-close-cta .v2-hint{margin-top:12px}
[data-v13~=a8] .v4-sig span{font-size:400px}
[data-v13~=a8] .v4-sig img{width:16vw;max-width:262px}
[data-v13~=a8] .v2 .v3-hills.v4-land{height:420px;margin-top:20px}
[data-v13~=a8] .v2 .v2-footer{padding-block:24px}
@media(max-width:700px){
 [data-v13~=a8]{--a8-reach:100px;--a8-under:200px}
 [data-v13~=a8] .v4-lead{margin-bottom:24px}
 [data-v13~=a8] .v14-h{margin-bottom:24px}
 [data-v13~=a8] .v2-card{height:225px}
 [data-v13~=a8] .v14-flip{margin-top:48px}
 [data-v13~=a8] .skr-sheet{height:500px}
 [data-v13~=a8] .v3-pano{height:236px}
 [data-v13~=a8] .v2 .v2-close{gap:48px}
 [data-v13~=a8] .site .landscape{height:calc((var(--hero-h) - var(--terrain-top) - 20px) / .28)}
 [data-v13~=a8] .v4-sig span{font-size:30vw}
 [data-v13~=a8] .v4-sig img{width:22vw}
 [data-v13~=a8] .v4-sig{bottom:112px}
 [data-v13~=a8] .v2 .v3-hills.v4-land{height:236px;margin-top:8px}
}

/* ---- a8 Federico 10-22 on the preview. The flip speaks for itself: heading, tabs, the sheet and one link; the bubble
   pills inside the sheet already say which run is which. Scout drags the tear (it rides the plane that cuts it, then
   stays on the tear as the handle). Header slimmer, smaller mark. "See how it works" lands on the flip heading. ---- */
[data-v13~=a8] .v14-prompt,[data-v13~=a8] .skr-sub,[data-v13~=a8] .skr-labels,[data-v13~=a8] .skr-cap,[data-v13~=a8] .skr-src{display:none}
[data-v13~=a8] .skr-tabs{margin-bottom:24px}
[data-v13~=a8] .skr-see{margin-top:16px;font-size:14px}
[data-v13~=a8] .skr-handle{width:52px;height:52px;margin:-26px 0 0 -26px;background:#fff url("kit/scout.svg") center 55%/30px auto no-repeat;cursor:grab}
[data-v13~=a8] .skr-handle:active{cursor:grabbing}
[data-v13~=a8] .skr-handle svg{display:none}
[data-v13~=a8] #v2-compare{scroll-margin-top:40px}
@media(prefers-reduced-motion:no-preference){[data-v13~=a8]{scroll-behavior:smooth}}
[data-v13~=a8] .site .header{height:64px}
[data-v13~=a8] .site .brand{gap:7px}
[data-v13~=a8] .site .brand img{width:22px}
[data-v13~=a8] .site .brand span{font-size:22px;margin-top:-1px}
[data-v13~=a8] .site .header nav{gap:22px}
[data-v13~=a8] .site .nav-explore{font-size:13px;padding:10px 0}
[data-v13~=a8] .site .header .v2-get{min-height:34px;padding-inline:14px;font-size:13px;border-radius:10px}
@media(min-width:701px){[data-v13~=a8] .skr-under{display:none}}
@media(max-width:700px){
 [data-v13~=a8] .skr-tabs{margin-bottom:20px}
 [data-v13~=a8] .site .header{height:56px}
 [data-v13~=a8] .site .brand img{width:20px}
 [data-v13~=a8] .site .brand span{font-size:20px}
 [data-v13~=a8] .site .header .v2-get{min-height:32px;padding-inline:12px;font-size:12px}
}

/* ---- a8 motion (Federico 10-22: "more Framer-style ... through the whole page"). Entrances run once, on time, when a
   section comes into view (motion.js adds .is-in; html.a8-mo is set in the head only when motion is allowed, and dropped
   again if motion.js never starts): headings rise from a slight blur and scale, then cards, tabs and chips follow in a
   stagger (--mo-d). Transform, opacity and a short blur on headings only; every transition ends, so nothing runs at rest. ---- */
html.a8-mo[data-v13~=a8] :is(.v4-lead,.v14-h,.v2-tag,.v2-people h2,#closing-title,.v2-card,.skr-tabs,.skr-sheet,.skr-see,.v3-pano-art,.v2-cr,.v2-people-foot,.v2-close-cta):not(.is-in){opacity:0;translate:0 26px;scale:.97}
html.a8-mo[data-v13~=a8] :is(.v4-lead,.v14-h,.v2-tag,.v2-people h2,#closing-title):not(.is-in){translate:0 18px;scale:.985}
/* the blur only where it is cheap: Safari re-rasterises blurred text every frame (one 150-180 ms scroll frame, Mac 2x) */
@supports not (font:-apple-system-body){html.a8-mo[data-v13~=a8] :is(.v4-lead,.v14-h,.v2-tag,.v2-people h2,#closing-title):not(.is-in){filter:blur(8px)}}
html.a8-mo[data-v13~=a8] .is-in:not(.is-done){transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--mo-d,0s),translate .9s cubic-bezier(.16,1,.3,1) var(--mo-d,0s),scale .9s cubic-bezier(.16,1,.3,1) var(--mo-d,0s),filter .7s cubic-bezier(.2,.7,.2,1) var(--mo-d,0s)}
@media(prefers-reduced-motion:no-preference){
 [data-v13~=a8] .v2-card{transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
 [data-v13~=a8] .v2-card:hover{translate:0 -6px}
 [data-v13~=a8] .v2-cr .v3-cr-art{transition:translate .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
 [data-v13~=a8] .v2-cr:hover .v3-cr-art{translate:0 -5px}
 [data-v13~=a8] :is(.v2-get,.skr-see,.ed-text-link,.nav-explore){transition:translate .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background-color .2s,color .2s}
 [data-v13~=a8] .v2-get:hover{translate:0 -2px}
 [data-v13~=a8] .skr-handle:hover{scale:1.08}
}
/* idle costs nothing: every ambient drift and bob plays a few slow cycles and settles (fill both holds the end pose),
   so a page left open goes still instead of repainting forever. Scroll motion above is timeline-driven and stops with
   the scroll. */
[data-v13~=a8] :is(.v3-pl,[data-fog],.v3-cr-cloud,.v3-hill--far,.v3-card-cloud,.v3-close-art img){animation-iteration-count:1;animation-fill-mode:both}
[data-v13~=a8] #v3-scout>*{animation-iteration-count:8,8;animation-fill-mode:both}
[data-v13~=a8][data-scout-land] #v3-scout .v3-scout-in{animation-iteration-count:8,1;animation-fill-mode:both,both}
[data-v13~=a8] #v6-mini{animation-iteration-count:8;animation-fill-mode:both}
[data-v13~=a8] .skr-chip{display:none}
[data-v13~=a8] .v3-hill--far{animation-iteration-count:1}

/* ---- a8 Federico 10-22: headline one step smaller (still bold), the founders line down on the grass ---- */
[data-v13~=a8] .site .hero h1{font-size:clamp(44px,4.45vw,66px);line-height:1.04}
[data-v13~=a8] .site .v13-meadow-proof{top:calc(var(--terrain-top) + 196px)}
@media(max-width:700px){
 [data-v13~=a8] .site .hero h1{font-size:clamp(30px,8.6vw,36px)}
 [data-v13~=a8] .site .v13-meadow-proof{top:calc(var(--terrain-top) + 236px)}
}
/* while the hero loads (see home.py), art below it waits */
html.a8-hold[data-v13~=a8] body :not(.site,.site *),html.a8-hold[data-v13~=a8] body :not(.site,.site *)::before,html.a8-hold[data-v13~=a8] body :not(.site,.site *)::after{background-image:none!important}
/* layers: nothing asks for its own GPU layer ahead of time. Running animations still get one while they run; a layer per
   static element cost about 10-20 MB each at 2x */
[data-v13~=a8] :is(.v3-pl,.v3-hill,.v4-sig,.v6-fog-front,.v6-fog-back,[data-fog],.v3-card-cloud,.v3-cr-cloud,.v3-close-art img,#v3-scout>*,.v7-l--hills,#v6-mini,.skr-flap,.v3-pano-art){will-change:auto}
/* the same drifts as flat 2D moves: a "0" z made each a 3D transform, which kept its own GPU layer even after it stopped */
@keyframes v10-bob2{from{translate:-2px -4px}to{translate:2px 4px}}
@keyframes v10-bob{from{translate:0 -4px}to{translate:0 4px}}
@keyframes v10-rise120{from{translate:0 120px}to{translate:0 0}}
@keyframes v10-rise64{from{translate:0 64px}to{translate:0 0}}
@keyframes v10-rise{from{translate:0 var(--rise,120px)}to{translate:0 0}}
@keyframes v10-sway{from{translate:calc(-1*var(--dx,0px)) calc(-1*var(--dy,0px))}to{translate:var(--dx,0px) var(--dy,0px)}}
@keyframes v10-x10{from{translate:-10px 0}to{translate:10px 0}}
@keyframes v10-x12{from{translate:-12px 0}to{translate:12px 0}}
@keyframes v10-x14{from{translate:-14px 0}to{translate:14px 0}}
@keyframes v10-x18{from{translate:-18px 0}to{translate:18px 0}}
@keyframes v10-x26{from{translate:-26px 0}to{translate:26px 0}}
@keyframes v10-x6{from{translate:-6px 0}to{translate:6px 0}}
@keyframes v10-x8{from{translate:-8px 0}to{translate:8px 0}}
@keyframes v10-xy16{from{translate:-16px -2px}to{translate:16px 2px}}
/* a8 (Federico: "one continuous Scout"): the hero's Scout dives on from the edge card into the flip sheet instead of the
   chart, turning nose-down to the plane's angle and shrinking to its size while Scout keeps upright; at the end of the leg
   skyrip.js hides it (.is-handed) and the sheet's plane carries on from the same spot. Reduced motion or no scroll-driven
   animations: no flight, Scout sits on the tear's handle. */
@keyframes a8-land-in{0%{scale:1;rotate:0deg}45%{scale:calc((1 + var(--s1)) / 2);rotate:40deg}100%{scale:var(--s1);rotate:104deg}}
@keyframes a8-upright{0%{rotate:0deg}45%{rotate:-36deg}100%{rotate:-100deg}}
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  [data-v13~=a8][data-scout-land] #v3-scout .v3-scout-in{animation-name:v10-bob,a8-land-in}
  [data-v13~=a8][data-scout-land] #v3-scout .v2-scout{animation:a8-upright linear both;animation-timeline:scroll(root);animation-range:var(--r0) var(--r1)}
 }
}
@supports not (animation-timeline:view()){[data-v13~=a8][data-scout-land] #v3-scout{display:none}}
@media(prefers-reduced-motion:reduce){[data-v13~=a8][data-scout-land] #v3-scout{display:none}}
[data-v13~=a8] #v3-scout.is-handed{visibility:hidden!important}
/* the sheet's plane drawn exactly like the hero's at the end of its leg: 100px, pivot at 50% 60%, Scout at the same seat */
[data-v13~=a8] .skr-plane{width:100px;height:54px;margin:-32.4px 0 0 -50px;transform-origin:50% 60%}
[data-v13~=a8] .skr-plane path{stroke-width:2}
[data-v13~=a8] .skr-plane img{left:35%;top:-20%;width:30%;image-rendering:pixelated}
@media(max-width:700px){[data-v13~=a8] .skr-flyer{display:block}}
/* a8 (Federico: the founders strip is below the fold on a laptop): on short laptop screens (1280x700, 1440x780, 1512x860
   with the browser's own bars) the art scales from the screen's height too, so the meadow and its founders strip are on
   screen at load. The hill never rises into the copy (19vw + 220px clears "Paste into"), and the strip keeps 28px under it. */
@media(min-width:1101px){
 [data-v13~=a8] .site{--hero-base:clamp(calc((19vw + 220px) / .735),calc((100svh - 270px) / .735),clamp(790px,57.5vw,940px))}
 [data-v13~=a8] .site .v13-meadow-proof{top:min(calc(var(--terrain-top) + 196px),calc(100svh - 74px))}
}
/* a8 leg two: Scout leaves the tear for the altitude chart (skyrip.js); the handle shows its arrows while Scout is away */
[data-v13~=a8] .skr-away{position:absolute;left:0;top:0;width:30px;height:auto;margin:-15px 0 0 -15px;z-index:8;pointer-events:none;filter:drop-shadow(0 4px 6px #16251e40)}
[data-v13~=a8] .skr-sheet.scout-away .skr-handle{background-image:none}
[data-v13~=a8] .skr-sheet.scout-away .skr-handle svg{display:block}
/* the example tabs: one underline that slides to the picked tab */
[data-v13~=a8] .skr-tabs{position:relative}
[data-v13~=a8] .skr-tabs.has-ind .skr-tab[aria-pressed=true]{border-bottom-color:transparent}
[data-v13~=a8] .skr-ind{position:absolute;left:0;bottom:0;width:1px;height:1.5px;background:var(--edge-ink);transform-origin:0 0;pointer-events:none}
@media(prefers-reduced-motion:no-preference){[data-v13~=a8] .skr-ind{transition:transform .45s cubic-bezier(.16,1,.3,1)}[data-v13~=a8] .skr-tab{transition:color .3s}}
/* hero first paint (home.py head script): words first on the plain ground, then the art all at once when decoded */
html.a8-art[data-v13~=a8] :is(.site .world,.site .landscape,#v3-scout>.v3-scout-in,.site .v13-meadow-proof){opacity:0}
@media(prefers-reduced-motion:no-preference){html.a8-art-in[data-v13~=a8] :is(.site .world,.site .landscape,#v3-scout>.v3-scout-in,.site .v13-meadow-proof){transition:opacity .8s cubic-bezier(.2,.7,.2,1)}}
/* ground: warm paper (Federico 10-22, option A), one colour under every section */
[data-v13~=a8]{--edge-paper:#f5f3eb;--paper:#f5f3eb}
[data-v13~=a8] body,[data-v13~=a8] .site{background-color:#f5f3eb}
[data-v13~=a8] .v3-cr-sky{background:linear-gradient(#dfe8f0,#f5f3eb)}
/* the pixel-cloud drift on hovered buttons plays once (40 s) and holds, so a cursor left on a button costs nothing */
[data-v13~=a8] :is(.ed-button,.ed-works .app-link,.ed-proof-band .ed-logos li,.text-action,.nav-explore,.btn,.ov-btn,.pr-plan,.text-link,.ov-link,.home-agent,.ed-pc):is(:hover,:focus-visible)::before{animation-iteration-count:1;animation-fill-mode:both}
/* headline type (Federico 10-22, "Introducing / Edge-1" reference): one medium weight for both hero lines, tight tracking
   and leading, the second line in Edge blue; section heads share the tracking and leading */
[data-v13~=a8] .site .hero h1,[data-v13~=a8] .site .hero h1 span{font-weight:500;letter-spacing:-.035em}
[data-v13~=a8] .site .hero h1{line-height:1}
[data-v13~=a8] .site .hero h1 span{color:var(--edge-blue,#154cff)}
[data-v13~=a8] :is(.v4-lead,.v14-h,.v2-tag,.v2-people h2,#closing-title){letter-spacing:-.035em;line-height:1.04}
/* install block: the skill pages' "Use with Edge" dialog (DS1), same component and tokens */
[data-v13~=a8] .edge-use-dialog{--u-bg:#fff;--u-surface:#f7f9fc;--u-ink:#101114;--u-muted:#536076;--u-line:#e3e6ec;--u-accent:#154cff;
 width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--u-line);border-radius:14px;background:var(--u-bg);color:var(--u-ink);font-family:Inter,-apple-system,system-ui,sans-serif}
[data-v13~=a8] .edge-use-dialog::backdrop{background:rgba(0,0,0,.42)}
[data-v13~=a8] .edge-use-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
[data-v13~=a8] .edge-use-dialog h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.2}
[data-v13~=a8] .edge-use-dialog header p{margin:6px 0 0;color:var(--u-muted);font-size:13px}
[data-v13~=a8] .edge-use-close{flex:none;width:40px;height:40px;border:1px solid var(--u-line);border-radius:9px;background:transparent;color:var(--u-ink);font-size:20px;line-height:1;cursor:pointer}
[data-v13~=a8] .edge-use{display:grid;gap:10px;justify-items:start}
[data-v13~=a8] .edge-use+.edge-use{border-top:1px solid var(--u-line);margin-top:24px;padding-top:20px}
[data-v13~=a8] .edge-use-label{margin:0;font-size:13px;font-weight:600;line-height:1.4}
[data-v13~=a8] .edge-use-code{width:100%;box-sizing:border-box;margin:0;padding:16px;border:1px solid var(--u-line);border-radius:9px;background:var(--u-surface);font:13px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
[data-v13~=a8] .edge-use-note,[data-v13~=a8] .edge-use-next{margin:0;font-size:12px;line-height:1.7;color:var(--u-muted)}
[data-v13~=a8] .edge-use-next:empty{display:none}
[data-v13~=a8] .edge-use-next{color:var(--u-ink)}
[data-v13~=a8] .edge-use-note a{color:var(--u-ink);text-decoration:underline;text-underline-offset:3px}
[data-v13~=a8] .edge-use .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--u-line);border-radius:9px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;background:var(--u-bg);color:var(--u-ink)}
[data-v13~=a8] .edge-use .btn.primary{background:var(--u-ink);color:var(--u-bg);border-color:var(--u-ink)}
[data-v13~=a8] .edge-use .btn:hover{filter:brightness(.95)}
[data-v13~=a8] .edge-use .btn.is-copied{background:var(--u-accent);border-color:var(--u-accent);color:#fff}
@media(max-width:620px){[data-v13~=a8] .edge-use-dialog{padding:20px}[data-v13~=a8] .edge-use .btn{width:100%}}

/* ---- scout wave (Federico 10-23: Scout rides the "You, with Edge" wave, happy about winning) ----
   Scout cheers on the paper plane, surfing the face of the blue tail just past where it starts (curve x 1560 of 2600,
   y 445 of 560, slope 27deg; the bell scales evenly, so the angle holds at every width). The flight from the flip lands
   here (edge-kit-home-skyrip.js); the rest frame is this pose. One small hop on arrival, nothing loops. */
.v6-surf{position:absolute;left:60%;top:79.5%;width:0;height:0;z-index:5;pointer-events:none}
.v6-surf-ride{position:absolute;left:-44px;bottom:-9px;width:88px;transform-origin:50% 100%;rotate:24deg}
.v6-surf-ride svg{display:block;width:100%;height:auto;scale:1 .6;transform-origin:50% 100%;filter:drop-shadow(0 5px 6px #0c35ba2e)}
.v6-surf-ride img{position:absolute;left:28%;bottom:42%;width:44%;height:auto;rotate:-19deg;transform-origin:50% 100%;filter:drop-shadow(0 3px 4px #16251e30)}
@media(max-width:700px){.v6-surf-ride{left:-27px;bottom:-6px;width:54px}}
[data-scout-land] .v6-surf{opacity:0;transition:opacity .15s}
[data-scout-land] .v6-surf.is-here{opacity:1}
@keyframes v6-cheer{0%,100%{translate:0 0}25%{translate:0 -5px}50%{translate:0 0}75%{translate:0 -3px}}
@media(prefers-reduced-motion:no-preference){.v6-surf.is-cheer .v6-surf-ride img{animation:v6-cheer .9s cubic-bezier(.3,0,.3,1) 1}}
