/*
 * botany.tech — home v8, the new blocks  (v8-new.css)
 * ---------------------------------------------------------------------------
 * Linked after site.css, phone.css, home.css, merge.css, footer3d.css and
 * offer.css. Only the site's tokens and components (site.css): no colour
 * written here, no shadows, no gradients. Every rule is under .v8-.
 * The markup is in sections/*.html; behaviour in v8-new.js.
 *
 *   WW    Works with      section.v8-ww > .v8-ww-title .v8-ww-strip
 *                         [data-v8-marquee] (.is-moving) > .v8-ww-track >
 *                         ul.v8-ww-row > li.v8-ww-item (--partner) >
 *                         .v8-ww-img | .v8-ww-named (mark + name) .v8-ww-tag
 *   RV    Reviews         section.v8-rv > .v8-rv-list >
 *                         li.v8-rv-card > figure.v8-rv-fig > .v8-rv-q ·
 *                         .v8-rv-who (.v8-rv-av > .av-i > .av-fill > .av-l ·
 *                         .v8-rv-n .v8-rv-d) · .v8-tbd (a .tbd that wraps)
 *   BOTS  You, the bots   section.v8-bots > .v8-bots-cols > .v8-bots-col >
 *                         .v8-bots-k · ul.v8-bots-list > li.v8-bots-row
 *   PS    Profit share    section.v8-ps > .v8-ps-calc[data-v8-share] >
 *                         .toggle.v8-ps-plans · .v8-ps-panel (.v8-ps-row
 *                         .v8-ps-k .v8-ps-amt · .v8-ps-months > .v8-ps-pill
 *                         · .v8-ps-cards > .v8-ps-card > .v8-ps-ck
 *                         .v8-ps-rate .v8-ps-v) · .v8-ps-cap · .v8-ps-cta
 * ---------------------------------------------------------------------------
 */

/* ---------- shared: a placeholder that may run over two lines ---------- */
/* site.css .tbd keeps to one line; a quote placeholder has to wrap, each
   line keeping its own dashed edge. */
.v8-tbd{white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.85}

/* ---------- WW · works with ---------- */
/* A quiet line of trust under the hero: the heading, then one line of
   logos, no hairlines and no note under it (wave 3), running right to
   left, slowly and without end (v8-new.js initMarquee puts a copy of the
   row after it and sets --ww-dur from the row's width, ~28px a second). It
   pauses under the pointer. Every logo is one grey silhouette, whatever its
   file's colours: grayscale, then black, then let through to --ink300 (#76776F on white);
   the names set beside three of the marks are --ink300 too. The strip
   reaches the gutters, and its two ends fade out (a mask, nothing drawn).
   Reduced motion or no script: the same logos stand still, wrapped and
   centred. Three sizes: the heading, the logos and their names, the tag. */
.v8-ww{padding-block:calc(var(--block) * .5)}
.v8-ww-title{margin-bottom:8px;font-size:15px;line-height:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink500);text-wrap:balance;
  -webkit-text-stroke:.35px currentColor}
.v8-ww-strip{position:relative;margin-inline:calc(-1 * var(--gutter));overflow:hidden}
.v8-ww-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:12px var(--gutter)}
.v8-ww-item{display:flex;align-items:center;gap:10px;flex:none;height:56px;padding-inline:20px}
.v8-ww-img{display:block;flex:none;width:auto;max-width:none;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.54}
.v8-ww-img--btse,.v8-ww-img--okx,.v8-ww-img--privy{height:20px}
.v8-ww-img--bybit{height:26px}
.v8-ww-img--gate{height:22px}
.v8-ww-mk{width:22px;height:22px}
.v8-ww-mk--base{width:20px;height:20px}
/* Hyperliquid's mark is a light wave on a dark tile: in black alone the
   wave would be lost, so it goes grey and keeps its wave */
.v8-ww-mk--hl{filter:grayscale(1)}
.v8-ww-named{display:flex;align-items:center;gap:8px}
.v8-ww-named > span{font-size:16px;line-height:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink300);white-space:nowrap}
.v8-ww-tag{border-color:var(--l300);color:var(--ink300)}
/* moving: one line, no wrap, the copy right after the row */
.v8-ww-strip.is-moving{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent);
          mask-image:linear-gradient(90deg,transparent,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent)}
.v8-ww-track{display:flex;width:max-content}
.is-moving .v8-ww-row{flex-wrap:nowrap;justify-content:flex-start;padding:12px 0}
@media (prefers-reduced-motion:no-preference){
  .is-moving .v8-ww-track{animation:v8-ww-run var(--ww-dur,48s) linear infinite}
  @media (hover:hover) and (pointer:fine){.v8-ww-strip:hover .v8-ww-track{animation-play-state:paused}}
}
@keyframes v8-ww-run{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (min-width:640px){
  .v8-ww-item{height:64px;padding-inline:28px}
}
/* from 1024 the caption sits at the left of the logos' line, in two short
   lines, and the row runs from it out past the right edge */
@media (min-width:1024px){
  .v8-ww-in{display:flex;align-items:center;gap:32px}
  .v8-ww-title{flex:none;width:11.5rem;margin:0}
  .v8-ww-strip{flex:1;min-width:0;margin-left:0}
  .v8-ww-strip.is-moving{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 64px,#000 calc(100% - var(--gutter)),transparent);
            mask-image:linear-gradient(90deg,transparent,#000 64px,#000 calc(100% - var(--gutter)),transparent)}
  .v8-ww-item{padding-inline:36px}
}

/* ---------- RV · reviews ---------- */
/* The H2, three quotes on grey plates, each signed with an octagon face
   as in the founder's message. No bubble with the visitor's thought. */
.v8-rv-head{gap:18px}
.v8-rv-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.v8-rv-card{display:flex;min-width:0}
.v8-rv-fig{display:flex;flex-direction:column;gap:28px;width:100%;margin:0;padding:22px 22px 20px;background:var(--s2);border-radius:var(--r-card)}
.v8-rv-q{flex:1;margin:0}
.v8-rv-q::before{content:'\201C';display:block;height:30px;font-size:56px;line-height:56px;font-weight:500;color:var(--ol600)}
.v8-rv-q p{font-size:22px;line-height:30px;font-weight:500;letter-spacing:-.015em;color:var(--ink900);text-wrap:pretty}
.v8-rv-who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--l300)}
.v8-rv-av{position:relative;display:block;flex:none;width:44px;height:44px;clip-path:var(--av-shape)}
.v8-rv-av .av-i{inset:0}
.v8-rv-av .av-l{font-size:15px}
.v8-rv-fill--a{background:var(--ol700);color:var(--solid-fg)}
.v8-rv-fill--b{background:var(--cit500);color:var(--ol900)}
.v8-rv-fill--c{background:var(--ol800);color:var(--solid-fg)}
.v8-rv-id{display:flex;flex-direction:column;gap:4px;min-width:0}
.v8-rv-n{font-size:16px;line-height:22px;font-weight:500;color:var(--ink900)}
.v8-rv-d{font-size:14px;line-height:20px;color:var(--ink500)}
@media (min-width:900px){
  .v8-rv-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .v8-rv-fig{padding:28px 28px 24px;gap:40px}
  .v8-rv-q p{font-size:24px;line-height:32px}
}

/* ---------- BOTS · you and the bots ---------- */
/* The wireframe's ledger in the site's hand: two columns, yours and the
   bots', each named small (the Doto label, grey), then three lines set
   large, each on a hairline as the FAQ's rows. Stacked on a phone, side by
   side from 900px. Three sizes: the H2, the lines, the column names. */
.v8-bots-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.v8-bots-col{min-width:0}
.v8-bots-k{margin-bottom:14px;color:var(--ink500)}
.v8-bots-list{border-bottom:1px solid var(--l300)}
.v8-bots-row{padding:16px 0;border-top:1px solid var(--l300);font-size:24px;line-height:30px;font-weight:500;letter-spacing:-.02em;color:var(--ink900);text-wrap:balance}
@media (min-width:640px){
  .v8-bots-row{padding:20px 0;font-size:28px;line-height:34px;letter-spacing:-.025em}
}
@media (min-width:900px){
  .v8-bots-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
}
@media (min-width:1024px){
  .v8-bots-cols{gap:64px}
  .v8-bots-k{margin-bottom:18px}
  .v8-bots-row{padding:24px 0;font-size:34px;line-height:40px;letter-spacing:-.03em}
}

/* ---------- PS · profit share ---------- */
/* Centred and plain: the plan switch, then one white plate with the
   month's profit, three ready months and the two grey result cards; the
   small caption and the one press under it. */
.v8-ps-head{margin-bottom:32px}
.v8-ps-lead span{display:block}
.v8-ps-calc{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:560px;margin-inline:auto}
.v8-ps-plans{max-width:100%}
.v8-ps-panel{width:100%;padding:16px;background:var(--s0);border:1px solid var(--l300);border-radius:var(--r-card)}
.v8-ps-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.v8-ps-k{font-size:16px;line-height:22px;font-weight:500;color:var(--ink900)}
.v8-ps-amt{font-size:24px;line-height:28px;font-weight:500;letter-spacing:-.02em;color:var(--ink900);white-space:nowrap}
.v8-ps-amt.pos{color:var(--pos-text)}
.v8-ps-amt.neg{color:var(--neg)}
.v8-ps-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.v8-ps-pill{display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border:1px solid var(--l300);border-radius:999px;background:var(--s0);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:14px;line-height:20px;font-weight:500;color:var(--ink500);transition:background-color .18s,border-color .18s,color .18s}
.v8-ps-pill[aria-checked="true"]{border-color:var(--ol700);background:var(--s3);color:var(--ink900)}
@media (hover:hover) and (pointer:fine){.v8-ps-pill[aria-checked="false"]:hover{border-color:var(--ink300);color:var(--ink900)}}
.v8-ps-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.v8-ps-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;background:var(--s2);border-radius:var(--r-card)}
.v8-ps-ck{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:20px;font-size:14px;line-height:20px;color:var(--ink500)}
.v8-ps-rate{font-family:var(--mono);font-variant-numeric:tabular-nums}
.v8-ps-v{font-size:32px;line-height:36px;font-weight:500;letter-spacing:-.04em;color:var(--ink900);white-space:nowrap}
.v8-ps-v.neg{color:var(--neg)}
.v8-ps-cap{display:flex;flex-direction:column;align-items:center;text-align:center}
.v8-ps-cta{margin-top:8px}
@media (min-width:640px){
  .v8-ps-head{margin-bottom:40px}
  .v8-ps-calc{gap:20px}
  .v8-ps-panel{padding:24px}
  .v8-ps-cards{gap:12px;margin-top:20px}
  .v8-ps-card{padding:20px}
  .v8-ps-v{font-size:44px;line-height:48px}
}
@media (prefers-reduced-motion:reduce){.v8-ps-pill{transition:none}}

/* ---------- ADV · advantages, in place of Two ways to grow ---------- */
/* A short plate: the line and the phone sit together, and the card cuts
   the phone so only the top of the screen shows. The phone drifts a little
   inside that crop. The old step plates stay in offer.css, unused. */
.v8-adv-sec{padding-block:40px}
.v8-adv-head{margin-bottom:32px}
.v8-adv{display:flex;flex-direction:column;gap:12px}
.v8-adv-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  height:520px;padding:44px 22px 0;overflow:hidden;
  background:var(--s2);border-radius:var(--r-plate)}
.v8-adv-copy{max-width:22rem;flex:none}
.v8-adv-more{margin-top:16px}
.v8-adv-text{margin-top:8px;font-size:17px;line-height:26px;color:var(--ink500);text-wrap:pretty}
.v8-adv-stage{align-self:center;flex:none;margin-top:4px}
.v8-adv .phone{--sw:min(210px,calc(100vw - 128px));margin:0}
.v8-adv-stage--phone{margin-top:28px}
@media (min-width:800px){
  .v8-adv{gap:16px}
  .v8-adv-sec{padding-block:64px}
  .v8-adv-head{margin-bottom:44px}
  .v8-adv-card{
    flex-direction:row;align-items:center;justify-content:center;
    gap:clamp(40px,5vw,72px);height:440px;padding:0 56px}
  .v8-adv-copy .h3{font-size:32px;line-height:36px}
  .v8-adv-stage{align-self:flex-start;margin-top:20px}
  .v8-adv .phone{--sw:268px}
  .v8-adv-stage--phone{margin-top:72px}
}
@media (min-width:1100px){
  .v8-adv-card{height:500px}
  .v8-adv-copy{max-width:24rem}
  .v8-adv-copy .h3{font-size:36px;line-height:40px}
  .v8-adv .phone{--sw:286px}
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .v8-adv-stage{animation:v8-adv-drift linear both;animation-timeline:view();animation-range:cover 20% cover 80%}
  }
}
@keyframes v8-adv-drift{from{transform:translateY(10px)}to{transform:translateY(-14px)}}
/* the profit plate has no app screen for it: a receipt of a red month in
   the app's receipt grammar (label left, mono figure right, a rule between) */
.v8-adv-stage--rcpt{align-self:stretch;display:flex;align-items:center;justify-content:center;flex:1;padding-bottom:28px}
.v8-rcpt{width:min(340px,100%);padding:8px 24px;background:var(--s0);border-radius:var(--r-plate)}
.v8-rcpt-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 0}
.v8-rcpt-row+.v8-rcpt-row{border-top:1px solid var(--s3)}
.v8-rcpt-t{font-size:15px;line-height:22px;color:var(--ink500);white-space:nowrap}
.v8-rcpt-v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;line-height:28px;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
@media (min-width:800px){
  .v8-adv-stage--rcpt{align-self:center;flex:none;padding-bottom:0}
  .v8-rcpt{width:380px}
  .v8-rcpt-v{font-size:36px;line-height:40px}
}

/* Rules don't panic: two runs of one strategy through one dip, on a white
   card as the app draws a chart (owner, 29.10.2026). Olive is the trade
   system, which holds and comes back; clay is a human, who sells at the
   bottom (the dot, Sold under it) and stays out (the dashed flat). The key
   over it; the lines heavier and two hues apart, as black and grey read as
   one (owner, 01.11.2026). */
.v8-adv-stage--duo{align-self:center;margin-top:28px;width:min(320px,100%);flex:none}
.v8-duo{position:relative;margin:0;padding:18px 18px 16px;background:var(--s0);border-radius:var(--r-card)}
.v8-duo{--duo-s:var(--ol600);--duo-h:var(--clay)}
.v8-duo-plot{position:relative}
.v8-duo-g{display:block;width:100%;height:170px;overflow:visible}
.v8-duo-g path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.v8-duo-s{stroke:var(--duo-s);stroke-width:3.5}
.v8-duo-h{stroke:var(--duo-h);stroke-width:3}
.v8-duo-out{stroke:var(--duo-h);stroke-opacity:.55;stroke-width:2;stroke-dasharray:3 5}
.v8-duo-dot{fill:var(--duo-h);stroke:var(--s0);stroke-width:2;vector-effect:non-scaling-stroke}
.v8-duo-sold{position:absolute;top:154px;left:47.5%;transform:translateX(-50%);
  padding:1px 7px;border-radius:var(--r-tap);background:var(--duo-h);
  font-family:var(--mono);font-size:12px;line-height:16px;font-weight:600;color:#fff}
.v8-duo-k{display:flex;gap:18px;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--l100);font-size:13px;line-height:18px;font-weight:500;color:var(--ink900)}
.v8-duo-k span{display:inline-flex;align-items:center;gap:8px}
.v8-duo-k i{display:block;width:18px;height:3.5px;border-radius:2px}
.v8-duo-k i.is-s{background:var(--duo-s)}
.v8-duo-k i.is-h{background:var(--duo-h);height:3px}
@media (min-width:800px){.v8-adv-stage--duo{align-self:center;margin-top:0}.v8-duo{zoom:1.1}}
@media (min-width:1100px){.v8-duo{zoom:1.2}}

/* Sleep through the 4 a.m. move: the phone on its lock screen in the
   morning, two Telegram messages from the night (owner, 01.11.2026). Drawn
   in the phone's points (--u, phone.css); the wallpaper is the demo sheet's
   moss out of focus under paper, so the phone stays as quiet as the plate. */
.v8-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  padding:calc(70 * var(--u)) calc(14 * var(--u)) 0;color:#161514;
  background:
    radial-gradient(120% 60% at 85% 8%,rgb(190 204 130/.75),rgb(190 204 130/0) 60%),
    radial-gradient(90% 50% at 10% 70%,rgb(172 186 112/.55),rgb(172 186 112/0) 65%),
    #E4E6DB}
/* the status bar: signal, Wi-Fi and battery right of the island */
.v8-lock-sb{position:absolute;top:calc(23 * var(--u));right:calc(30 * var(--u));display:flex;align-items:center;gap:calc(6 * var(--u));color:rgb(22 21 20/.86)}
.v8-lock-sb svg{display:block;height:calc(12 * var(--u));width:auto;fill:currentColor}
.v8-lock-date{font-size:calc(17 * var(--u));line-height:1.2;font-weight:500;color:rgb(22 21 20/.62)}
.v8-lock-clock{margin-top:calc(2 * var(--u));font-size:calc(92 * var(--u));line-height:1;font-weight:500;letter-spacing:-.03em;color:rgb(22 21 20/.82)}
.v8-lock-ns{display:flex;flex-direction:column;gap:calc(8 * var(--u));width:100%;margin-top:calc(44 * var(--u))}
.v8-lock-n{display:flex;align-items:flex-start;gap:calc(10 * var(--u));padding:calc(12 * var(--u));
  border-radius:calc(22 * var(--u));background:rgb(255 255 255/.72);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.v8-lock-ic{flex:none;display:grid;place-items:center;width:calc(38 * var(--u));height:calc(38 * var(--u));border-radius:calc(9 * var(--u));background:var(--ol800)}
.v8-lock-ic svg{width:calc(21 * var(--u));height:calc(21 * var(--u));fill:#F7F7F2;margin-left:calc(-2 * var(--u))}
.v8-lock-b{display:flex;flex-direction:column;gap:calc(2 * var(--u));min-width:0;flex:1}
.v8-lock-t{display:flex;justify-content:space-between;gap:8px;font-size:calc(15 * var(--u));line-height:1.3;font-weight:600}
.v8-lock-time{font-family:var(--mono);font-weight:400;color:var(--ink300)}
.v8-lock-d{font-size:calc(15 * var(--u));line-height:1.3}
.v8-lock-pnl{font-family:var(--mono);font-weight:500;color:var(--pos-ink);white-space:nowrap}

/* Every fall stays on the record: one calm line on a white card (the
   owner's pick B, 01.11.2026), the fall bracketed in red with its figure,
   the return at the end. Drawn when the plate comes into view
   ([data-reveal] .is-in): the line, then the fall, then the return. */
.v8-adv-stage--rec{align-self:center;width:min(300px,100%);margin-top:28px}
.v8-rec{position:relative;margin:0;padding:18px 18px 16px;background:var(--s0);border-radius:var(--r-card)}
.v8-rec-g{position:relative;height:210px}
.v8-rec-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v8-rec-svg path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.v8-rec-line{stroke:var(--ink900);stroke-width:2}
.v8-rec-br{stroke:var(--neg);stroke-width:1.5}
.v8-rec-gd{stroke:var(--neg);stroke-width:1.5;stroke-dasharray:3 4;opacity:.6}
.v8-rec-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;box-sizing:border-box}
.v8-rec-dot--lo{left:58.33%;top:87.62%;background:var(--s0);border:2px solid var(--neg)}
.v8-rec-dot--hi{left:100%;top:30.48%;background:var(--ink900);border:2px solid var(--s0);box-shadow:0 0 0 1.5px var(--ink900)}
.v8-rec-f{position:absolute;display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.v8-rec-f small{font-size:12px;line-height:16px;color:var(--ink500)}
.v8-rec-f b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;line-height:28px;font-weight:500;letter-spacing:-.02em}
.v8-rec-f--fall{left:12%;top:55%}
.v8-rec-f--fall b{color:var(--neg-ink)}
.v8-rec-f--ret{right:0;top:0;align-items:flex-end;text-align:right}
.v8-rec-f--ret b{color:var(--pos-text)}
@media (min-width:800px){.v8-adv-stage--rec{width:350px;margin-top:0}}
@media (prefers-reduced-motion:no-preference){
  .js .v8-rec-line{stroke-dasharray:1;stroke-dashoffset:1}
  .js .v8-rec-br,.js .v8-rec-gd,.js .v8-rec-dot,.js .v8-rec-f{opacity:0}
  .js .v8-rec.is-in .v8-rec-line{animation:v8-rec-draw 1.2s cubic-bezier(.4,0,.2,1) .3s forwards}
  .js .v8-rec.is-in :is(.v8-rec-br,.v8-rec-dot,.v8-rec-f){animation:v8-rec-in .45s ease forwards}
  .js .v8-rec.is-in .v8-rec-gd{animation:v8-rec-in-gd .45s ease forwards}
  .js .v8-rec.is-in :is(.v8-rec-br,.v8-rec-gd,.v8-rec-dot--lo,.v8-rec-f--fall){animation-delay:.95s}
  .js .v8-rec.is-in :is(.v8-rec-dot--hi,.v8-rec-f--ret){animation-delay:1.45s}
}
@keyframes v8-rec-draw{to{stroke-dashoffset:0}}
@keyframes v8-rec-in{to{opacity:1}}
@keyframes v8-rec-in-gd{to{opacity:.6}}

/* The record and the demo: the app's own captures (the strategy's record
   plate from st-1, the demo sheet) on a white sheet, centred in the plate. */
.v8-adv-stage--app{align-self:center;width:min(320px,100%);margin-top:28px}
.v8-app{margin:0;padding:14px;background:var(--s0);border-radius:var(--r-plate);overflow:hidden}
.v8-app-img{display:block;width:100%;height:auto;border-radius:calc(var(--r-plate) - 10px)}
.v8-app-hd{display:flex;align-items:center;gap:8px;margin:2px 4px 12px}
.v8-app-face{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:999px;background:#C9876A;color:#fff;font-size:11px;font-weight:600}
.v8-app-name{font-size:15px;line-height:20px;font-weight:500;color:var(--ink900)}
.v8-app-pair{margin-left:auto;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--ink300)}
/* the demo sheet, drawn: the title and its close, the money plate with
   Total value read first, three quiet lines a rule apart; no handle */
.v8-demo{padding:18px 18px 6px}
.v8-demo-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.v8-demo-t{font-size:20px;line-height:26px;font-weight:500;letter-spacing:-.02em;color:var(--ink900)}
.v8-demo-x{display:grid;place-items:center;flex:none;width:32px;height:32px;border:1px solid var(--l100);border-radius:999px}
.v8-demo-x svg{width:14px;height:14px;fill:none;stroke:var(--ink900);stroke-width:1.6;stroke-linecap:round}
.v8-demo-card{display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px;border-radius:calc(var(--r-plate) - 6px);
  background:radial-gradient(70% 90% at 92% 8%,rgb(190 204 130/.8),rgb(190 204 130/0) 70%),
    radial-gradient(60% 70% at 100% 100%,rgb(190 204 130/.55),rgb(190 204 130/0) 70%),#E4E6DB}
.v8-demo-k{font-family:var(--doto);font-variation-settings:'ROND' 0;font-weight:800;font-size:13px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink900)}
.v8-demo-v{display:flex;align-items:center;gap:10px}
.v8-demo-v .num{font-family:var(--mono);font-size:32px;line-height:36px;font-weight:500;letter-spacing:-.03em;color:var(--ink900)}
.v8-demo-c{font-size:.55em;color:var(--ink300)}
.v8-demo-tag{padding:3px 7px;border-radius:var(--r-tap);background:var(--solid-bg);color:var(--solid-fg);font-size:11px;line-height:14px;font-weight:500;letter-spacing:.04em}
.v8-demo-ls{list-style:none;margin:6px 0 0;padding:0}
.v8-demo-ls li{display:flex;align-items:center;gap:12px;padding:11px 4px;font-size:14px;line-height:20px;color:var(--ink500)}
.v8-demo-ls li+li{border-top:1px solid var(--s3)}
.v8-demo-ls svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--ink300);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:800px){.v8-adv-stage--app{align-self:center;width:340px;margin-top:0}}
@media (min-width:1100px){.v8-adv-stage--app{width:360px}}

/* ADV stack: each plate sticks a little lower than the one before, so the
   next rides up over it and the earlier edges stay showing, a stack of
   sheets. No shadow and no edge (the owner, 29.10.2026): light grey
   plates (--s2) on the white ground part by themselves; the receipt is
   white on them. Where a plate rides over the one before, a ring in the
   ground's own white (not an edge: unseen on the ground) keeps the gap
   between the two greys. */
.v8-adv-card{position:sticky;top:calc(var(--sbar-h) + var(--hdr-h) + 12px + var(--i,0) * 14px);box-shadow:0 0 0 3px var(--s0)}
.v8-adv-card:nth-child(2){--i:1}
.v8-adv-card:nth-child(3){--i:2}
.v8-adv-card:nth-child(4){--i:3}

/* ---------- HOW · how it works, on the owner's reference ---------- */
/* The H2 centred, its short line under it, the three steps across the
   whole width, the press centred. A step: number and title, then its picture. The steps' reveal is home.js / merge.css HS; the layout rules
   of the old centred steps are undone here. */
.hw-grid{display:block}
.hw-head{margin-bottom:0}
.hw-cap{margin-top:10px;font-size:17px;line-height:24px;font-weight:500;color:var(--ink500)}
.hw-list{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:36px}
.hw .hw-card{display:flex;flex-direction:column;align-items:stretch;text-align:left}
.hw-n{display:block;font-family:var(--mono);font-size:13px;line-height:18px;font-weight:500;color:var(--ink300)}
/* the step titles: 500, a step lighter than 700, and a size down on
   phones (owner, 29.10.2026) */
.hw-t{margin-top:6px;font-size:24px;line-height:30px;font-weight:500;letter-spacing:-.02em}
@media (min-width:768px){.hw-t{font-size:28px;line-height:34px}}
/* the picture: one of our grounds blurred, one simple frosted piece of
   the app's UI on it, as in the "you can" rows */
.hw-t{margin-bottom:16px}
.hw-pic--photo{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;
  aspect-ratio:4 / 3.4;padding:20px;border-radius:var(--r-plate);overflow:hidden;background:var(--ol800)}
.hw-pic--photo::before{content:'';position:absolute;inset:-40px;z-index:-1;background-repeat:no-repeat}
/* one picture across the three steps: the hero's mossy branch laid out at
   three widths, each step showing its third, left, middle, right, so the
   branch runs on from 01 to 03 (owner, 29.10.2026) */
.hw-bg1::before,.hw-bg2::before,.hw-bg3::before{background-image:url(hero-poster.webp);background-size:300% auto;filter:blur(9px) brightness(.88)}
.hw-bg1::before{background-position:0% 100%}
.hw-bg2::before{background-position:50% 100%}
.hw-bg3::before{background-position:100% 100%}
/* the steps' marks again (home.js HowDots, owner, 29.10.2026): the dot
   picture on a quiet grey plate where the photo frame was */
.hw-pic--mark{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 2.8;border-radius:var(--r-plate);background:var(--s2)}
.hw .hs-ic{width:176px;height:114px;margin:0}
.hw-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:36px}
@media (min-width:700px){
  .hw-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  /* shorter frames, so the step title sits close over its piece of UI
     (owner, 29.10.2026: was 4 / 4.6) */
  .hw-pic--photo{aspect-ratio:4 / 3.5;padding:16px}
}
.hw-foot{justify-content:center}
@media (min-width:1024px){
  .hw-list{margin-top:56px;gap:24px}
}

/* ---------- YC · with botany.tech, you can: (Gustya's rows) ---------- */
/* A label and a two-line heading centred (the second line in the
   secondary ink, for its italic), then rows: the picture and the words
   side by side, the picture left, right, left. Three text sizes: the
   titles, 17 for the line, the label. */
.yc-head{margin-bottom:40px}
.yc-title .ln,.yc-t .ln{display:block}
.yc-title-2,.yc-t-2{color:var(--ink500)}
/* the autotrade title runs on one line where the column has room (owner, 29.10.2026) */
.yc-t--run .ln{display:inline}
.yc-t--run{text-wrap:wrap}
.yc-rows{display:flex;flex-direction:column;gap:88px}
.yc-row{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.yc-pic{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;
  aspect-ratio:6 / 5;padding:24px;border-radius:var(--r-plate);overflow:hidden;background:var(--ol800)}
.yc-pic::before{content:'';position:absolute;inset:-40px;z-index:-1;background-repeat:no-repeat}
.yc-pic--moss::before{background-image:url(hero-poster.webp);background-size:230% auto;background-position:52% 92%;filter:blur(8px)}
.yc-pic--blur::before{background-image:url(money-ground.webp);background-size:cover;background-position:center;filter:blur(5px)}
.yc-pic--fern::before{background-image:url(og-preview.jpg);background-size:300% auto;background-position:100% 100%;filter:blur(12px) brightness(.95)}
.yc-copy{display:flex;flex-direction:column;align-items:flex-start}
.yc-t{margin-top:10px;font-size:26px;line-height:32px;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.yc-d{margin-top:12px;font-size:17px;line-height:26px;color:var(--ink500);max-width:26rem;text-wrap:pretty}
.yc-copy .tlink{margin-top:20px}
/* phones: the words first, then the picture (owner, 29.10.2026) */
@media (max-width:899px){.yc-pic{order:2}}
@media (min-width:900px){
  .yc-head{margin-bottom:64px}
  .yc-rows{gap:72px}
  .yc-row{grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:64px}
  .yc-row--flip{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
  .yc-row--flip .yc-pic{order:2}
  .yc-t{font-size:32px;line-height:38px}
  /* the UI a size up in the big pictures, as large as the reference's */
  .yc-pic > *{zoom:1.3}
}

/* the UI pieces (cu-*) */
.cu-form,.cu-row,.cu-msg{background:var(--s0);color:var(--ink900);border-radius:var(--r-card)}
.cu-btn{pointer-events:none}
.cu-wallet{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;line-height:18px;color:var(--ink500)}
.cu-wallet svg{width:12px;height:12px;fill:currentColor}
.cu-check{flex:none;width:18px;height:18px;border-radius:999px;border:1px solid var(--ol700);position:relative}
.cu-check::after{content:'';position:absolute;inset:4px;border-radius:999px;background:var(--ol700)}
.cu-run-n{font-size:15px;line-height:20px;font-weight:500}
.cu-run-tag{align-self:flex-start;margin-top:8px}
.cu-form .cu-run-tag + .btn{margin-top:16px}
/* 3 autotrade: started, the dot breathes (the app's .tag.trading) */
.cu-run-since{margin-top:14px;font-size:13px;line-height:18px;color:var(--ink500)}
.cu-pulse{animation:cu-pulse 1.8s ease-in-out infinite}
@keyframes cu-pulse{50%{opacity:.35;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.cu-pulse{animation:none}}
/* frosted, as on the reference: the main plate lets the ground through a
   little; no shadow */
.cu-glass{background:rgb(255 255 255/.86)!important;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}
/* 1 autotrade: the amount, the risk, the press */
.cu-form{display:flex;flex-direction:column;width:min(300px,100%);padding:20px;border-radius:var(--r-card)}
.cu-k{font-size:12px;line-height:16px;color:var(--ink500)}
.cu-amt{margin-top:2px;font-family:var(--mono);font-size:30px;line-height:36px;font-weight:500;letter-spacing:-.02em}
.cu-seg{margin-top:14px}
.cu-seg > *{min-height:28px;font-size:12px}
.cu-seg > .is-on{box-shadow:inset 0 0 0 1px var(--l300)}
.cu-form .btn{margin-top:14px}
/* "you can" autotrade: the app's Autotrade screen (flow/at-0) cut to its
   bones, funds and type side by side, the recommended strategy as one
   framed row, the press (owner, 29.10.2026: not every detail). The plate
   grows with the card on phones, so nothing is cut */
.yc-pic--at{background:var(--s3);padding:32px 24px}
/* the ground: grass hills, blurred (owner's picture, 29.10.2026); its white
   sky is multiplied into the plate's paper grey so the plate keeps its edge
   on the white page */
/* calmer (owner, 29.10.2026: too bright, takes the eye): more pale sky, the
   grass low and softened, its contrast and colour taken down, a light veil */
.yc-pic--at{background:var(--s2)}
.yc-pic--at::before{background-image:url(grass-ground.jpg);background-size:cover;background-position:50% 30%;filter:blur(12px) contrast(.62) saturate(.6) brightness(1.12);mix-blend-mode:multiply}
.yc-pic--at::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgb(245 245 240/.55),rgb(245 245 240/.25))}
/* frosted and a size down, so the white does not shout over the grass
   (owner, 29.10.2026: 90% white, a blur behind, smaller figures) */
.cu-at{display:flex;flex-direction:column;width:min(272px,100%);padding:16px;border-radius:var(--r-card);background:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}
.cu-at-top{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cu-at-top .cu-k{display:block;font-size:12px;line-height:16px;font-weight:500;color:var(--ink500)}
.cu-at-v{display:block;margin-top:2px;font-family:var(--mono);font-size:19px;line-height:24px;font-weight:500;letter-spacing:-.02em}
.cu-at-type{display:block;margin-top:2px;font-size:14px;line-height:24px;font-weight:600;letter-spacing:.02em}
.cu-at-st{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:10px 12px;border:1px solid var(--l300);border-radius:var(--r-tap);background:rgb(245 245 240/.7)}
.cu-at-st-n{font-size:14px;line-height:19px;font-weight:500}
.cu-at-st-m{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;line-height:17px;color:var(--ink500)}
.cu-at-st-m .coins{display:flex}
.cu-at-st-m .coin{width:17px;height:17px;margin-left:-6px;border-radius:50%;box-shadow:0 0 0 2px var(--s2)}
.cu-at-st-m .coin:first-child{margin-left:0}
.cu-at > .btn{margin-top:14px}
@media (min-width:900px){.yc-pic > .cu-at{zoom:1}}
@media (min-width:1200px){.yc-pic > .cu-at{zoom:1.1}}
/* 2 strategies to copy: the chosen one bright, its neighbours misted */
.cu-rows{display:flex;flex-direction:column;gap:8px;width:min(340px,100%)}
.cu-row{display:flex;align-items:center;gap:10px;padding:14px}
.cu-row.is-dim{background:rgb(255 255 255/.32);color:rgb(255 255 255/.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-inline:10px}
.cu-row.is-dim .cu-row-v{color:inherit}
.cu-row-n{display:flex;flex-direction:column;margin-right:auto;font-size:14px;line-height:18px;font-weight:500}
.cu-row-n small{font-size:12px;line-height:16px;font-weight:400;color:var(--ink500)}
.cu-row-v{font-family:var(--mono);font-size:14px;font-weight:500}
.cu-row.is-on{padding-block:16px}
/* 3 Telegram notices, the newest over the older */
.cu-msgs{display:grid;width:min(330px,100%);padding-top:34px}
.cu-msg{position:relative;z-index:1;grid-area:1/1;display:flex;gap:10px;align-items:flex-start;padding:12px}
.cu-msg.is-dim{z-index:0;transform:translateY(-34px) scale(.9);background:rgb(255 255 255/.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.cu-msg-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--ol800)}
.cu-msg-ic svg{width:17px;height:17px;fill:#F7F7F2;margin-left:-2px}
.cu-msg-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cu-msg-t{display:flex;justify-content:space-between;gap:8px;font-size:13px;line-height:18px;font-weight:600}
.cu-msg-time{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--ink300)}
.cu-msg-d{font-size:14px;line-height:19px}

/* ---------- END · the final CTA in the canopy (owner's reference) ---------- */
/* A rounded picture on the sheet: the canopy seen from below, the words and
   the press centred in the clearing, one column at every width (undoing
   merge.css END's words-left / press-right row). */
.end-cta-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;
  min-height:clamp(480px,46vw,620px);padding:56px 24px;border-radius:var(--r-plate);background:var(--hero-sky-mid)}
/* the clearing: the owner's canopy picture, cover; on a phone the crop
   holds the clearing in the middle */
.end-cta-card{background:var(--hero-sky-mid)}
.end-cta-canopy{position:absolute;inset:0;z-index:-1;pointer-events:none}
.end-cta-canopy img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}

.end-cta-card .end-cta-in{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:36rem}
.end-cta-card .h2{text-align:center}
.end-cta-card .end-cta-side{align-items:center;text-align:center}
.end-cta-card .end-cta-sub{color:var(--ink900);white-space:normal}
@media (max-width:639px){
  .end-cta-card{min-height:520px;padding:48px 20px;border-radius:var(--r-plate)}
  .end-cta-card .btn{align-self:center}
}
/* the card on white (owner, 29.10.2026): the sheet's sky gives way to the
   page's white, so the sheet's lift over the FAQ goes too */
.end-cta{background:var(--s0);margin-top:0;border-radius:0}
/* with the CTA on white, the footer's sky comes up over it as the site's
   rounded sheet (as .end-ftr--sheet does on the other pages), not on a
   straight line */
.end-ftr--floor{position:relative;z-index:3;margin-top:calc(-1 * var(--sheet-r));border-radius:var(--sheet-r) var(--sheet-r) 0 0;overflow:clip}

/* ---------- EARN · the referral terms on our moss ---------- */
/* The picture grammar of How it works and the rows above: one of our
   grounds blurred, the app's card on it as a frosted light plate (the
   dark plate and the money ground are gone). */
.earn-pic{position:relative;isolation:isolate;overflow:hidden;padding:clamp(24px,5vw,56px);border-radius:var(--r-plate);background:var(--hero-sky-mid)}
.earn-pic::before{content:'';position:absolute;inset:-40px;z-index:-1;background:url(hero-poster.webp) no-repeat 18% 90% / 240% auto;filter:blur(9px)}
.ref.ref--glass{color:var(--ink900);background:rgb(255 255 255/.86);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}
.ref--glass::before{display:none}
.ref--glass .ref-k .once{color:var(--ink500)}
.ref--glass hr{border-top-color:var(--l100)}
.ref--glass .ref-bon > div{background:var(--s2)}
.ref--glass .ref-bon span,.ref--glass .ref-d{color:var(--ink500)}
.ref--glass .ref-big{color:var(--ol700)}

/* ---------- smaller descriptions (owner, 29.10.2026) ---------- */
/* the line under the final CTA's heading, at every width */
.end-cta-card .end-cta-sub{font-size:15px;line-height:22px}
/* on a phone, every description under a heading at the .lead's 15/22 (the
   founder's letter a step above, 16/25); figures and headings untouched */
@media (max-width:639px){
  .v8-adv-text,.yc-d,.hw-cap,.qa-a,.qa-a p,.qa-more{font-size:15px;line-height:22px}
  .note-q .note-body{font-size:16px;line-height:25px}
}

/* ---------- QB · the Grower Pass banner, night dots ---------- */
/* The dark set on the buttons' near black, with a faint dot field (the
   Oct 15 season banner's) that brightens round the pass, as if lit by it,
   and a low moss glow behind it (owner's pick A, 29.10.2026; the olive went;
   docs/variants/screens/pass-bg). The light sits on the card: at the top on
   phones, on the right from 900. */
.qb.qb--night{--qb-lit:50% 8%;background:#100F0F;isolation:isolate}
.qb--night > *{position:relative;z-index:1}
.qb--night::before,.qb--night::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit}
.qb--night::before{
  background:radial-gradient(rgb(241 242 234/.11) 1px,transparent 1.4px) 0 0/12px 12px;
  -webkit-mask:radial-gradient(90% 60% at var(--qb-lit),#000 0,rgb(0 0 0/.45) 45%,rgb(0 0 0/.18) 100%);
          mask:radial-gradient(90% 60% at var(--qb-lit),#000 0,rgb(0 0 0/.45) 45%,rgb(0 0 0/.18) 100%)}
.qb--night::after{background:radial-gradient(60% 32% at var(--qb-lit),rgb(143 164 65/.16),transparent 70%)}
@media (min-width:900px){
  .qb.qb--night{--qb-lit:76% 48%}
  .qb--night::before{-webkit-mask-size:100% 100%;
    -webkit-mask-image:radial-gradient(70% 90% at var(--qb-lit),#000 0,rgb(0 0 0/.45) 45%,rgb(0 0 0/.18) 100%);
            mask-image:radial-gradient(70% 90% at var(--qb-lit),#000 0,rgb(0 0 0/.45) 45%,rgb(0 0 0/.18) 100%)}
  .qb--night::after{background:radial-gradient(32% 46% at var(--qb-lit),rgb(143 164 65/.16),transparent 70%)}
}

/* ---------- FDR · the founder's message on a plate ---------- */
.note.note--plate{background:var(--s2);border-radius:var(--r-plate);padding:28px 22px}
@media (min-width:640px){.note.note--plate{padding:48px}}
@media (min-width:1024px){.note.note--plate{padding:64px 72px}}

/* a phone: the strategy card's facts line wraps, so its rules would open a
   line ("| botany.tech"); there the facts part by space alone */
@media (max-width:420px){
  .mk-meta{gap:4px 12px}
  .mk-meta > * + *{padding-left:0;border-left:0}
}

/* ---------- MO · motion where a block had none (v8-motion.js) ---------- */
/* Each piece waits in its first state until its block comes into view,
   then plays once. Only under .mo (the script ran) and with motion
   welcome; otherwise everything simply stands as drawn. */
@media (prefers-reduced-motion:no-preference){
  /* strategies: the line draws itself, the area under it fills after */
  .mo .mk .spark-l{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.45,.05,.2,1) .15s}
  .mo .mk .spark-a{opacity:0;transition:opacity .9s ease .9s}
  .mo .mk.mo-on .spark-l{stroke-dashoffset:0}
  .mo .mk.mo-on .spark-a{opacity:1}
  /* how it works: each step's plate rises onto its picture, in turn */
  .mo .hw-pic--photo > *{opacity:0;transform:translateY(22px) scale(.96);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
  .mo .hw-list.mo-on .hw-pic--photo > *{opacity:1;transform:none}
  .mo .hw-list.mo-on .hw-card:nth-child(2) .hw-pic--photo > *{transition-delay:.18s}
  .mo .hw-list.mo-on .hw-card:nth-child(3) .hw-pic--photo > *{transition-delay:.36s}
  /* step 02: the choice lands on Balanced */
  .mo .hw-pic--photo .cu-check::after{transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1) .9s}
  .mo .hw-list.mo-on .cu-check::after{transform:none}
  /* you can: the misted rows slide in either side of the chosen one; the
     newest notice drops in over the older */
  .mo .yc-row .cu-row.is-dim{opacity:0;transform:translateX(-18px);transition:opacity .6s ease .25s,transform .8s cubic-bezier(.2,.8,.2,1) .25s}
  .mo .yc-row .cu-row.is-dim:last-child{transform:translateX(18px)}
  .mo .yc-row.mo-on .cu-row.is-dim{opacity:1;transform:none}
  .mo .yc-row .cu-msg:not(.is-dim){opacity:0;transform:translateY(-22px);transition:opacity .5s ease .5s,transform .7s cubic-bezier(.2,.8,.2,1) .5s}
  .mo .yc-row.mo-on .cu-msg:not(.is-dim){opacity:1;transform:none}
  /* the final CTA: the canopy settles from a little closer */
  .mo .end-cta-canopy img{transform:scale(1.08);transition:transform 2.6s cubic-bezier(.2,.7,.2,1)}
  .mo .end-cta-card.mo-on .end-cta-canopy img{transform:none}
}
/* more white under the canopy card before the footer's sheet (owner) */
.end-cta{padding-bottom:calc(var(--sheet-r) + 72px)}
@media (min-width:1024px){.end-cta{padding-bottom:calc(var(--sheet-r) + 128px)}}
.psa-lead span{text-wrap:balance}
