/* SPDX-License-Identifier: AGPL-3.0-only */
:root{
  --ink:#101E16; --paper:#EFE6D4; --paper-deep:#E2D5BC;
  --spruce:#1C3A2A; --spruce-lift:#2C5440; --trail:#FF5A1F;
  --clay:#964526; --glacier:#8FB6A8; --ochre:#C8923A;   
  --serif:"Bricolage Grotesque",system-ui,sans-serif; --sans:"Spline Sans",system-ui,sans-serif; --mono:"Spline Sans Mono",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
a{color:inherit;text-decoration:none}
.hero{position:relative;min-height:calc(100svh - var(--nav-h, 5.5rem));display:flex;flex-direction:column;color:var(--paper);overflow:hidden;
  background:radial-gradient(120% 90% at 75% 15%,#27513a 0%,var(--spruce) 38%,#0f1f16 80%,var(--ink) 100%)}
.hero-contours{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero-contours path{fill:none;stroke:var(--ride-outer,var(--ochre));stroke-width:1.7;opacity:.85;transition:stroke .6s ease}
.hero-contours path:nth-child(even){stroke:var(--ride-inner,var(--glacier));opacity:.72;
  filter:drop-shadow(0 0 1.6px rgba(239,230,212,.38))}
.hero-contours .s-band{transform-box:fill-box;transform:translateY(-100%) translateY(50px)}
.hero-contours .s-gravel{stroke-dasharray:13 8}
.hero-contours .s-path{stroke-dasharray:2 7;stroke-linecap:round}
.hero-contours .s-track{stroke-dasharray:15 6 3 6}
.hero-contours .s-bridle{stroke-dasharray:20 11}
.hero .hero-contours{clip-path:inset(0 100% 0 0);animation:wipe 2.8s ease-out forwards}
@keyframes wipe{to{clip-path:inset(0 0 0 0)}}
.hero::before,.cta-band::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(239,230,212,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(239,230,212,.055) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.3));mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.3))}
.hero-glow{position:absolute;width:60vw;height:60vw;right:-12vw;top:-14vw;border-radius:50%;
  background:radial-gradient(circle,rgba(255,90,31,.22),transparent 62%);filter:blur(20px)}
.corner{position:absolute;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:rgba(239,230,212,.55);z-index:5}
.corner.tl{top:3.5rem;left:clamp(1.25rem,4vw,3rem)} .corner.tr{top:4.4rem;right:clamp(1.25rem,4vw,3rem);text-align:right}
.corner.br{bottom:1.6rem;right:clamp(1.25rem,4vw,3rem);text-align:right}
@media(max-width:760px){.corner.tr{display:none}}
.hero-inner .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.loop-col{position:relative}
.loop{position:relative;aspect-ratio:1;max-width:476px;width:85%;margin-left:auto}
.loop svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.loop .ring{fill:none;stroke:rgba(239,230,212,.45);stroke-width:.5;stroke-dasharray:1.2 2.2}
.loop .earth{fill:#15301F;opacity:1}
.loop .arrow{fill:var(--trail)}
.loop .off{stroke-width:.55;stroke-dasharray:1.2 1.2}
.loop .back{fill:none;stroke:rgba(239,230,212,.45);stroke-width:.5;stroke-dasharray:1.2 1.4}
.loop .offnode{fill:none;stroke-width:.5}
.loop .offnode.n0{stroke:var(--trail);fill:rgba(255,90,31,.25)}
.loop .offnode.n1{stroke:var(--ochre);fill:rgba(200,146,58,.25)}
.loop .offnode.n2{stroke:var(--glacier);fill:rgba(143,182,168,.25)}
.loop .srcnode{fill:rgba(239,230,212,.12);stroke:rgba(239,230,212,.6);stroke-width:.5}
.loop .srclabel{font-family:var(--mono);font-size:2.4px;letter-spacing:.14em;text-transform:uppercase;fill:rgba(239,230,212,.6)}
.stop{position:absolute;transform:translate(-50%,-50%);display:block;width:31%;text-align:center;background:rgba(16,30,22,.85);border:1px solid rgba(239,230,212,.18);border-radius:8px;box-shadow:0 6px 16px -6px rgba(0,0,0,.55),0 2px 4px rgba(0,0,0,.25);padding:.5rem .65rem .6rem;color:var(--paper);text-decoration:none;}
.stop:hover{border-color:rgba(239,230,212,.5);background:rgba(16,30,22,.95)}
.stop.big{width:38%;padding:.7rem .8rem .8rem;background:var(--trail);border-color:var(--trail);color:var(--ink)}
.stop.big:hover{background:var(--clay);border-color:var(--clay)}
.stop.big.add{background:var(--paper);border-color:var(--paper)}
.stop.big.add:hover{background:var(--paper-deep);border-color:var(--paper-deep)}
.stop .k{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.72;margin-bottom:.2rem}
.stop b{display:block;font-family:var(--serif);font-weight:600;font-size:.95rem;line-height:1.2}
.stop.big b{font-size:1.15rem}
.stop.s1{left:52.0%;top:10.5%;transform:translate(-50%,-50%)}
.stop.s2{left:89.0%;top:41.0%;transform:translate(-50%,-50%)}
.stop.s3{width:29%;left:69.0%;top:81.0%;transform:translate(-50%,-50%)}
.stop.s4{left:24.0%;top:78.5%;transform:translate(-50%,-50%)}
.stop.s5{width:28%;left:15.5%;top:32.0%;transform:translate(-50%,-50%)}
@media(max-width:999px){.hero-inner .wrap{grid-template-columns:1fr}}
@media(min-width:400px) and (max-width:999px){
  .loop{width:min(300px,calc((100vw - 2.5rem) * 100 / 175));margin:1.6rem auto 1rem;translate:-3% 0}
  .loop .earth{fill:#2C5440}
}
@media(min-width:400px) and (max-width:620px){
  .loop .stop,.loop .stop.big{padding:.35rem .4rem .4rem;border-radius:6px}
  .loop .stop .k{font-size:.5rem;letter-spacing:.1em;margin-bottom:.1rem}
  .loop .stop b{font-size:.8rem;line-height:1.15}
  .loop .stop.big b{font-size:.9rem}
}
@media(max-width:399px){
  .loop{aspect-ratio:auto;max-width:620px;width:100%;margin:1.2rem auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .loop svg{display:none}
  .stop,.stop.s1,.stop.s2,.stop.s3,.stop.s4,.stop.s5{position:static;transform:none;width:auto}
  .stop.big{width:auto}
}
@media(max-width:399px){
  .loop{max-width:none;grid-template-columns:1fr;gap:1.5rem}
  .loop .stop{position:relative;inset:auto}
  .loop{gap:1rem;max-width:14rem;margin-left:0}
  .loop .stop,.loop .stop.big{padding:.35rem .65rem .4rem}
  .loop .stop .k{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
  .loop .stop b{font-size:.88rem}
  .loop .stop.big b{font-size:.98rem}
  .loop .stop:not(:last-of-type)::after{content:"";position:absolute;left:50%;top:100%;width:9px;height:9px;
    margin-top:.42rem;transform:translateX(-50%) rotate(45deg);
    border-right:1.6px solid rgba(239,230,212,.38);border-bottom:1.6px solid rgba(239,230,212,.38)}
  .loop .stop:not(:last-of-type)::after{margin-top:.3rem;width:7px;height:7px}
}
.hero-inner{position:relative;z-index:10;padding-bottom:clamp(2.5rem,6vw,5rem);padding-top:clamp(2.5rem,5vw,4rem);width:100%}
.eyebrow{display:inline-flex;align-items:flex-start;gap:.6rem;color:var(--trail);margin-bottom:1.4rem}
.eyebrow::before{content:"";width:13px;height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 130'%3E%3Cpath fill='%23FF5A1F' d='M50 8 C31 8 16 23 16 42 C16 68 50 124 50 124 C50 124 84 68 84 42 C84 23 69 8 50 8 Z'/%3E%3C/svg%3E") center/contain no-repeat;flex:none;transform:translateY(1px)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.7rem,6.4vw,6rem);line-height:1.02;letter-spacing:-.025em;max-width:15ch}
h1 em{font-style:italic;color:var(--trail)}
h1 .endp{margin-left:.07em}  
.hero p.lede{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:46ch;margin:1.6rem 0 2.2rem;color:rgba(239,230,212,.88)}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.btn{font-family:var(--sans);font-weight:700;font-size:.92rem;padding:.62rem 1.15rem;border-radius:4px;cursor:pointer;border:1.5px solid transparent;display:inline-flex;align-items:center;gap:.6rem;transition:all .25s}
.btn .arw{display:inline-block;font-weight:800;font-size:1.15em;transition:transform .25s}
.btn:hover .arw{transform:translateX(5px)}
.btn-sm{padding:.5rem .95rem;font-size:.86rem}
.btn-primary{background:var(--trail);color:var(--ink)}
.btn-primary:hover{background:#ff703d}
.hero-gpx{margin-top:1.6rem}
.btn-ghost{background:var(--ink);border-color:rgba(239,230,212,.45);color:var(--paper)}
.btn-ghost:hover{background:var(--spruce);border-color:var(--paper)}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.rv[data-d="1"]{transition-delay:.08s}.rv[data-d="2"]{transition-delay:.16s}.rv[data-d="3"]{transition-delay:.24s}.rv[data-d="4"]{transition-delay:.32s}
@media(max-height:1000px){
  .hero-inner{padding-top:clamp(1.1rem,3svh,2.8rem);padding-bottom:0}
  .eyebrow{margin-bottom:clamp(.5rem,1.4svh,1.4rem)}
  h1{font-size:clamp(2.4rem,min(6.4vw,7.8svh),5rem)}
  .hero p.lede{margin:clamp(.7rem,1.7svh,1.6rem) 0 clamp(.9rem,2.1svh,2.2rem);font-size:clamp(1rem,1.5vw,1.2rem)}
  .hero .cta-row{margin-top:clamp(.9rem,2.4svh,2rem)}
  .disc{padding:clamp(.8rem,1.9svh,1.8rem) 0}
}
@media(max-height:700px){
  .disc .chips{gap:.3rem}
}
.disc{margin-top:auto;color:var(--paper);width:100%;position:relative;z-index:10;
  padding:clamp(1.4rem,3vw,2.4rem) 0}
.disc .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.disc .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;color:var(--glacier);flex:none;white-space:nowrap}
.disc .chips{display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}
.disc .chip,.disc .chip:hover{border-color:rgba(239,230,212,.28);color:var(--paper);cursor:default}
@media(max-width:640px){
  .disc .wrap{gap:.4rem}
  .disc{padding:clamp(.6rem,1.3svh,1.2rem) 0}
  .disc .chips{gap:.3rem}
}
@media(max-width:520px){.disc{padding-top:2.6rem}}
section.pad{padding:clamp(4rem,9vw,8rem) 0;position:relative}
section.pad:has(+ .cta-band){padding-bottom:clamp(2rem,4vw,3rem)}
.kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;color:var(--clay);margin-bottom:1.1rem;display:flex;align-items:center;gap:.6rem}
.kicker::before{content:"";width:13px;height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 130'%3E%3Cpath fill='%23B5532E' d='M50 8 C31 8 16 23 16 42 C16 68 50 124 50 124 C50 124 84 68 84 42 C84 23 69 8 50 8 Z'/%3E%3C/svg%3E") center/contain no-repeat;transform:translateY(-1px)}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.06;letter-spacing:-.02em;max-width:18ch}
.lead{font-size:1.15rem;max-width:60ch;margin-top:1.2rem;color:#3a3d30}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:start}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.open-list{display:grid;gap:1.1rem}
.open-item{display:flex;gap:1rem;align-items:flex-start;padding-bottom:1.1rem;border-bottom:1px solid rgba(20,22,14,.12)}
.open-item .t{font-family:var(--mono);font-size:.7rem;padding:.3rem .55rem;border-radius:4px;white-space:nowrap;margin-top:.2rem}
.t.open{background:var(--spruce);color:var(--paper)} .t.priv{background:var(--clay);color:var(--paper)}
.open-item h4{font-size:1.05rem;font-weight:700} .open-item p{font-size:.95rem;color:#4a4d40}
.open-item p a{color:inherit;font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:rgba(20,22,14,.3)}
.open-item p a:hover{text-decoration-color:currentColor}
.votable{margin-top:1.6rem}
.votable .vk{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}
.votable ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.votable li{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem .35rem .55rem;border:1px solid rgba(20,22,14,.18);border-radius:30px;font-size:.88rem;color:#8A6425;background:var(--paper)}
.votable li .q-icon{display:inline-flex;align-items:center;color:#8A6425;line-height:0}
.votable li svg{width:1.3rem;height:1.3rem;flex:none;display:block}
.vs{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--trail);margin:1.4rem 0 .4rem;text-align:center}
.cur{--climb:#6A2C8F;--climb-lit:#B784DB}
.cur .fil{fill:rgba(106,44,143,.32)}
.cur .rdg{fill:none;stroke:rgba(239,230,212,.62);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cur .stp{fill:none;stroke:var(--climb-lit);stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.cur .base{stroke:rgba(239,230,212,.2);stroke-width:1;vector-effect:non-scaling-stroke}
.cur .ramp{fill:rgba(183,132,219,.3)}
.cur-v3 .cur-screen{padding:.35rem .15rem 0}
.cur-v3 .cur-screen .pin{display:block;margin:.5rem 0 1rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  line-height:1.5;color:rgba(239,230,212,.8)}
.cur-v3 .cur-screen .pin b{font-size:1.15em;font-weight:700;color:#efe6d4}
.cur-v3 .cur-hero{position:relative;margin:0 0 .9rem}
.cur-v3 .cur-big{display:block;width:100%;height:96px}
.cur-v3 .cur-summit{position:absolute;top:0;right:0;width:9px;height:9px;border-radius:50%;
  background:var(--climb);border:1.5px solid var(--paper);box-shadow:0 0 0 3px rgba(183,132,219,.25);transform:translate(30%,-30%)}
.cur-v3 .cur-hero-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;margin-top:.6rem}
.cur-v3 .cur-hero-t .ci{align-self:center}
.cur-v3 .cur-hero-t .n{font-family:var(--mono);color:var(--trail);font-size:.78rem}
.cur-v3 .cur-hero-t strong{font-family:var(--serif);font-weight:500;font-size:1.15rem;line-height:1.1;color:var(--paper)}
.cur-v3 .cur-hero-t .co{flex-basis:100%;font-family:var(--mono);font-size:.64rem;color:rgba(239,230,212,.75)}
.cur-v3 .cur-rest{list-style:none;margin:0;padding:0;border-top:1px solid rgba(239,230,212,.14)}
.cur-v3 .cur-rest li{display:grid;grid-template-columns:16px 1.4rem minmax(7.4rem,auto) minmax(40px,1fr) auto;
  grid-template-areas:"ic n nm sil co";align-items:center;gap:.5rem;
  padding:.55rem 0;border-bottom:1px solid rgba(239,230,212,.14)}
.cur-v3 .cur-rest li:last-child{border-bottom:none}
.cur-v3 .cur-rest .n{grid-area:n;font-family:var(--mono);color:var(--trail);font-size:.78rem}
.cur-v3 .cur-rest .nm{grid-area:nm;font-weight:500;font-size:.9rem;white-space:nowrap;color:var(--paper)}
.cur-v3 .cur-spark{grid-area:sil;display:block;width:100%;height:18px}
.cur-v3 .cur-rest .co{grid-area:co;font-family:var(--mono);font-size:.62rem;color:rgba(239,230,212,.72);white-space:nowrap}
.cur-v3 .ci{grid-area:ic;align-self:center;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;
  background:var(--climb);border:1.2px solid var(--paper);color:#fff}
.cur-v3 .ci .q-icon{display:flex}
.cur-v3 .ci svg{width:10px;height:10px}
.cur-v3 .phone{display:flex;flex-direction:column}
.cur-v3 .cur-screen,.cur-v3 .cur-board{flex:1;display:flex;flex-direction:column}
.cur-v3 .vs{margin:auto 0 .2rem;padding-top:1rem}
@property --z{syntax:'<number>';inherits:true;initial-value:1}
@property --cx{syntax:'<number>';inherits:true;initial-value:.5}
@property --cy{syntax:'<number>';inherits:true;initial-value:.5}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.cur-v3 .cur-board{position:relative}
.cur-v3 .cur-map{position:absolute;inset:0;z-index:1;display:flex;align-items:center;overflow:hidden;pointer-events:none}
.cur-v3 .cur-cam{position:relative;width:100%;aspect-ratio:253/147;transform-origin:0 0;
  transform:translate(50%,50%) scale(var(--z)) translate(calc(var(--cx) * -100%),calc(var(--cy) * -100%))}
.cur-v3 .cur-draw{position:absolute;inset:0;opacity:0}
.cur-v3 .cur-wal{display:block;width:100%;height:100%;overflow:visible}
.cur-v3 .cur-wal .land{fill:rgba(239,230,212,.05);stroke:rgba(239,230,212,.45);stroke-width:calc(1px / var(--z));stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cur-v3 .cur-wal .river{fill:none;stroke:var(--glacier);stroke-opacity:.75;stroke-width:calc(1.5px / var(--z));stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.cur-v3 .cur-wal .road,.cur-v3 .cur-wal .climb{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;
  opacity:clamp(0,calc((var(--z) - 1.5) / 3),1)}
.cur-v3 .cur-wal .road{stroke:rgba(239,230,212,.42);stroke-width:calc(1.2px / var(--z))}
.cur-v3 .cur-wal .climb{stroke:var(--climb-lit);stroke-width:calc(3.2px / var(--z))}
.cur-v3 .ct,.cur-v3 .cp{position:absolute;width:0;height:0;scale:calc(1 / var(--z))}
.cur-v3 .ct i{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:rgba(239,230,212,.55)}
.cur-v3 .ct span{position:absolute;left:5px;top:-.4rem;font-family:var(--mono);font-size:.5rem;line-height:.8rem;letter-spacing:.08em;
  text-transform:uppercase;white-space:nowrap;color:rgba(239,230,212,.6)}
.cur-v3 .cp-m{position:absolute;left:-10px;bottom:6px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;
  background:var(--climb);border:1.5px solid var(--paper);color:#fff;transform-origin:50% calc(100% + 6px)}
.cur-v3 .cp-m::after{content:"";position:absolute;left:50%;top:100%;translate:-50% 0;border:5px solid transparent;border-top:7px solid var(--paper);border-bottom:0}
.cur-v3 .cp-m .q-icon{display:flex}
.cur-v3 .cp-m svg{width:12px;height:12px}
.cur-v3 .cp-st i{position:absolute;left:-.3rem;bottom:1.1rem;font-style:normal;font-size:.8rem;line-height:1;color:var(--ochre);opacity:0}
.cur-v3 .cp-ct{position:absolute;left:0;bottom:2.1rem;translate:-50% 0;padding:.1rem .5rem;border-radius:12px;white-space:nowrap;
  font-family:var(--mono);font-size:.82rem;font-weight:600;line-height:1.3;color:var(--paper);background:var(--ink);border:1px solid rgba(200,146,58,.6);
  opacity:0;counter-reset:n calc(var(--b) + var(--n))}
.cur-v3 .cp-ct::before{content:"★ ";color:var(--ochre)}
.cur-v3 .cp-ct::after{content:counter(n)}
.cur-v3 .cp.l .cp-ct{left:auto;right:.8rem;bottom:.8rem;translate:none}
.cur-v3 .cp.r .cp-ct{left:.8rem;bottom:.8rem;translate:none}
.cur.in .cur-draw{animation:curFade .6s ease-out .1s forwards,curShrink .8s ease-in 12.2s forwards}
.cur.in .cur-cam{animation:curTour 12.15s ease-in-out both}
.cur.in .cp-m{animation:cpDrop .45s cubic-bezier(.3,1.5,.5,1) calc(1s + var(--k) * .18s) backwards}
.cur.in .cp-st i{animation:cpStar 0.69s ease-out calc(var(--s) + var(--j) * .12s)}
.cur.in .cp-ct{animation:curFade .3s ease-out var(--s) forwards,cpCount 0.74s linear var(--s) forwards,curGone .3s ease-in 11.95s forwards}
.cur.in .cp{animation:cpFly .75s cubic-bezier(.5,0,.3,1) calc(12.55s + var(--r) * .12s) forwards,curGone .01s linear calc(13.3s + var(--r) * .12s) forwards}
.cur.in .cp-m::after{animation:curGone .3s ease-in calc(12.55s + var(--r) * .12s) forwards}
.cur.in .cur-hero .ci{animation:ciFill .2s ease-out 13.3s backwards}
.cur.in .cur-rest .ci{animation:ciFill .2s ease-out calc(13.42s + var(--i) * .12s) backwards}
@keyframes ciFill{from{background-color:transparent;color:transparent;border-color:rgba(183,132,219,.6)}}
@keyframes curTour{
  0%{--z:1;--cx:.5;--cy:.5}
  24.69%{--z:1;--cx:.5;--cy:.5;animation-timing-function:linear}
  25.35%{--z:1.077;--cx:0.5168;--cy:0.4736;animation-timing-function:linear}
  26.01%{--z:1.316;--cx:0.5551;--cy:0.4134;animation-timing-function:linear}
  26.67%{--z:1.768;--cx:0.5961;--cy:0.3489;animation-timing-function:linear}
  27.33%{--z:2.532;--cx:0.6285;--cy:0.2981;animation-timing-function:linear}
  27.98%{--z:3.742;--cx:0.6496;--cy:0.2649;animation-timing-function:linear}
  28.64%{--z:5.530;--cx:0.6617;--cy:0.2459;animation-timing-function:linear}
  29.30%{--z:7.917;--cx:0.6680;--cy:0.2360;animation-timing-function:linear}
  29.96%{--z:10.640;--cx:0.6710;--cy:0.2313;animation-timing-function:linear}
  30.62%{--z:13.003;--cx:0.6723;--cy:0.2292;animation-timing-function:linear}
  31.28%,39.42%{--z:14;--cx:0.6727;--cy:0.2286}
  46.01%,54.16%{--z:14;--cx:0.7992;--cy:0.2422}
  58.27%,66.42%{--z:14;--cx:0.8514;--cy:0.317}
  69.71%,77.86%{--z:14;--cx:0.8656;--cy:0.3163}
  84.44%,92.59%{--z:14;--cx:0.8278;--cy:0.5143;animation-timing-function:linear}
  93.33%{--z:13.003;--cx:0.8271;--cy:0.5143;animation-timing-function:linear}
  94.07%{--z:10.640;--cx:0.8246;--cy:0.5142;animation-timing-function:linear}
  94.81%{--z:7.917;--cx:0.8189;--cy:0.5139;animation-timing-function:linear}
  95.56%{--z:5.530;--cx:0.8069;--cy:0.5134;animation-timing-function:linear}
  96.30%{--z:3.742;--cx:0.7840;--cy:0.5124;animation-timing-function:linear}
  97.04%{--z:2.532;--cx:0.7439;--cy:0.5106;animation-timing-function:linear}
  97.78%{--z:1.768;--cx:0.6825;--cy:0.5080;animation-timing-function:linear}
  98.52%{--z:1.316;--cx:0.6046;--cy:0.5046;animation-timing-function:linear}
  99.26%{--z:1.077;--cx:0.5319;--cy:0.5014;animation-timing-function:linear}
  100%{--z:1;--cx:.5;--cy:.5}}
@keyframes cpDrop{from{opacity:0;transform:translateY(-14px) scale(.6)}}
@keyframes cpStar{0%{opacity:0;translate:0 0;scale:.3}25%{opacity:1}100%{opacity:0;translate:var(--sx) -1.6rem;scale:1.15}}
@keyframes cpCount{from{--n:0}to{--n:36}}
@keyframes cpFly{from{translate:0 0;scale:1}to{translate:var(--tx,0) var(--ty,0);scale:.8}}
@keyframes curShrink{to{opacity:0;transform:scale(.8)}}
@keyframes curGone{to{opacity:0}}
.cur-v3 .cur-hero-t,.cur-v3 .cur-rest,.cur-v3 .cur-rest li,.cur-v3 .vs{opacity:0}
.cur.in .cur-rest{animation:curFade .4s ease-out 12.15s forwards}
.cur.in .cur-hero-t{animation:curFade .4s ease-out 12.15s forwards}
.cur.in .cur-rest li{animation:curFade .4s ease-out calc(12.15s + var(--i) * .05s) forwards}
.cur.in .vs{animation:curFade .5s ease-out 13.8s forwards}
.cur .cur-big{clip-path:inset(0 100% 0 0)}
.cur.in .cur-big{animation:curDraw 1.1s cubic-bezier(.4,0,.2,1) 13.3s forwards}
.cur .cur-spark{opacity:0;transform:translateY(6px)}
.cur.in .cur-spark{animation:curRise .55s cubic-bezier(.2,.7,.3,1) calc(12.25s + var(--i) * .08s) forwards}
.cur .ramp,.cur .stp{opacity:0}
.cur.in .ramp,.cur.in .stp{animation:curFade .45s ease-out 14.2s forwards}
.cur.in .cur-summit{animation:curPop .4s cubic-bezier(.3,1.5,.5,1) 14.3s backwards}
.cur-v3 .ph-replay{margin:.5rem auto .1rem}
.cur.in .ph-replay{animation:phFade .4s ease-out 14.7s forwards}
@keyframes curDraw{to{clip-path:inset(0 0 0 0)}}
@keyframes curRise{to{opacity:1;transform:none}}
@keyframes curFade{to{opacity:1}}
@keyframes curPop{from{opacity:0;transform:translate(40%,-40%) scale(.2)}}
@media(max-width:560px){
  .cur-v3 .cur-rest li{grid-template-columns:16px 1.4rem 1fr auto;grid-template-areas:"ic n nm co" ". . sil sil";
    align-items:baseline;gap:.15rem .5rem}
  .cur-v3 .cur-rest .co{white-space:nowrap;justify-self:end}
}
.phone{width:min(100%,360px);margin:0 auto;padding:1rem 1rem 1.3rem;border-radius:32px;position:relative;overflow:hidden;
  background:var(--ink);border:1px solid rgba(239,230,212,.28);box-shadow:0 0 0 5px rgba(16,30,22,.55),0 30px 50px -28px rgba(0,0,0,.8)}
@media(max-width:560px){.phone{zoom:.85}}
.ph-notch{width:84px;height:18px;margin:0 auto;border-radius:12px;background:#000;border:1px solid rgba(239,230,212,.18)}
.silo .ph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem .35rem;list-style:none;margin:1rem 0 1rem;padding:0}
.silo .ph-app{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;opacity:0;will-change:transform,opacity}
.silo.in .ph-app{animation:phPop .45s cubic-bezier(.3,1.4,.5,1) forwards,phFly .75s cubic-bezier(.55,0,.85,.35) forwards;
  animation-delay:calc(.15s + var(--i) * .08s),calc(var(--fly,4.6s) + var(--i) * .07s)}
.silo .ph-ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:19px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--tint) 100%,white 18%),var(--tint));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 16px -8px rgba(0,0,0,.9)}
.silo .ph-ic .q-icon{display:inline-flex;color:#fff}
.silo .ph-ic .q-icon svg{display:block;width:38px;height:38px}
.silo .ph-ic .q-icon--glyph{width:38px;height:38px;align-items:center;justify-content:center;font-size:1.95rem;line-height:1;font-style:normal;
  font-family:"Apple Color Emoji","Noto Color Emoji","Segoe UI Emoji","Noto Sans Symbols2",system-ui,sans-serif;filter:grayscale(1) brightness(0) invert(1)}
.silo .ph-app.shut .ph-ic::after{content:"";position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background-color:var(--clay);border:2px solid var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EFE6D4' d='M8 10V8a4 4 0 0 1 8 0v2h.5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1H8Zm1.6 0h4.8V8a2.4 2.4 0 0 0-4.8 0v2Z'/%3E%3C/svg%3E");background-size:15px;background-position:center;background-repeat:no-repeat}
.silo.in .ph-app.shut .ph-ic{animation:phJiggle .22s ease-in-out 3;animation-delay:calc(1s + var(--i) * .05s)}
.silo .ph-app.scat .ph-ic{background:transparent;border:1.5px dashed color-mix(in srgb,var(--tint) 70%,white 30%);box-shadow:none;color:color-mix(in srgb,var(--tint) 55%,white 45%)}
.silo .ph-app.scat .ph-ic .q-icon{color:inherit;opacity:.9}
.silo .ph-app.scat .ph-ic .q-icon--glyph{filter:grayscale(1) brightness(0) invert(.75)}
.silo .ph-app.scat .ph-ic::after{content:"";position:absolute;inset:7px;border-radius:9px;
  background:radial-gradient(circle at 20% 30%,currentColor 1.8px,transparent 2.3px),radial-gradient(circle at 75% 20%,currentColor 1.8px,transparent 2.3px),
    radial-gradient(circle at 30% 80%,currentColor 1.8px,transparent 2.3px),radial-gradient(circle at 82% 72%,currentColor 1.8px,transparent 2.3px);opacity:.6}
.silo .ph-nm{font-size:.72rem;font-weight:500;line-height:1.2;color:var(--paper);max-width:7rem}
.silo .ph-tag{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}
.silo .ph-app.scat .ph-tag{color:var(--glacier)}
.silo .ph-dock{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;will-change:transform,opacity}
.silo .ph-cc{display:grid;place-items:center;overflow:hidden;width:80px;height:80px;border-radius:19px;
  border:1px solid rgba(239,230,212,.25);
  box-shadow:0 0 0 0 rgba(255,90,31,0),0 10px 20px -10px rgba(0,0,0,.9);transform-origin:50% 100%}
.silo .ph-cc img{display:block;width:132%;height:132%;transform:translateY(-7%)}
.silo .ph-cc-nm{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--trail);text-align:center;line-height:1.5;max-width:15rem}
.silo.in .ph-dock{animation:phDock .5s ease-out .75s forwards,phRise .9s cubic-bezier(.2,.8,.2,1) 5.8s forwards}
.silo.in .ph-cc{animation:phGrow 1s cubic-bezier(.3,1.5,.5,1) 5.85s forwards}
@keyframes phPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
@keyframes phJiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}
@keyframes phFly{from{opacity:1;transform:none}60%{opacity:.9}to{opacity:0;transform:translate(var(--tx,0),var(--ty,120px)) scale(.15)}}
@keyframes phDock{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes phRise{from{opacity:1;transform:none}to{opacity:1;transform:translateY(var(--up,-120px))}}
@keyframes phGrow{from{transform:none;box-shadow:0 0 0 0 rgba(255,90,31,0),0 10px 20px -10px rgba(0,0,0,.9)}
  60%{box-shadow:0 0 0 14px rgba(255,90,31,.18),0 10px 20px -10px rgba(0,0,0,.9)}
  to{transform:scale(1.9);box-shadow:0 0 0 0 rgba(255,90,31,0),0 12px 24px -10px rgba(0,0,0,.9)}}
.silo.in .ph-cc-nm{animation:phNm .4s ease-out 6.4s both}
@keyframes phNm{from{transform:translateY(-.4rem)}to{transform:translateY(0)}}
.silo .ph-replay{position:absolute;top:100%;left:50%;translate:-50% 0;margin:.6rem 0 0}
.ph-replay{display:flex;align-items:center;gap:.4rem;width:max-content;
  opacity:0;pointer-events:none;padding:.3rem .7rem;border-radius:40px;cursor:pointer;
  background:transparent;border:1px solid rgba(239,230,212,.28);color:rgba(239,230,212,.72);
  font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s,border-color .2s}
.ph-replay::before{content:"↺";font-size:.85rem;line-height:1}
.ph-replay:hover{color:var(--trail);border-color:var(--trail)}
.silo.in .ph-replay{animation:phFade .4s ease-out 6.9s forwards}
@keyframes phFade{to{opacity:1;pointer-events:auto}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:2.6rem}
.card{background:var(--paper-deep);border:1px solid rgba(20,22,14,.14);border-radius:6px;padding:1.1rem 1.3rem;position:relative;transition:all .25s;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:start;align-content:start}
.card > *{grid-column:1 / -1}
.card > .q-icon,.card > .ic{grid-column:1}
.card > .q-icon + h4,.card > .ic + h4{grid-column:2}
a.card{color:inherit;text-decoration:none}
a.card:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.card{grid-template-columns:auto 1fr auto}
.card > h4 + .fr{grid-column:3;display:flex;gap:4px;margin-top:.6rem}
.fr i,.fresh-key .dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.fr .g,.dot.g{background:#3e7d4f} .fr .o,.dot.o{background:var(--ochre)} .fr .r,.dot.r{background:var(--clay)}
.fresh-key{margin-top:1rem;font-size:.92rem;color:#5a5d4d}
.fresh-key .dot{width:14px;height:14px;vertical-align:-2px;margin:0 .35rem 0 .2rem}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(20,22,14,.5)}
.card .q-icon{display:flex;align-items:center;height:1.7rem;color:#8A6425}
.card .q-icon svg{width:1.7rem;height:1.7rem}
.scout-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.6rem 2.4rem;align-items:center}
@media(max-width:1000px){.scout-cta{grid-template-columns:1fr}.scout-cta .scout-devices{padding-left:calc(64px + 1.1rem)}}
@media(max-width:560px){.scout-cta .scout-devices{padding-left:0}}
.scout-cta h3{font-family:var(--serif);font-size:1.5rem;line-height:1.2}
.scout-cta-lead{display:flex;gap:1.1rem;align-items:flex-start;flex:1 1 300px;min-width:0}
.scout-cta .scout-logo{flex:none}
.scout-cta .btn{margin-top:.7rem}
.cat-h{font-family:var(--mono);font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-top:2.8rem;display:flex;align-items:baseline;gap:.8rem}
.cat-h b{color:var(--clay)}
.cat-h span{font-family:var(--sans);font-weight:400;font-size:1rem;letter-spacing:0;text-transform:none;color:#5a5d4d}
.cat-h:first-of-type{margin-top:2.2rem}
.cat-h + .grid{margin-top:1rem}
@media(max-width:820px){.cat-h{flex-wrap:wrap;gap:.25rem .8rem}.cat-h span{flex-basis:100%}}
.card .ic{font-size:1.3rem;height:1.7rem;display:flex;align-items:center;line-height:1;filter:brightness(0)}  
.card h4{font-family:var(--serif);font-weight:600;font-size:1.2rem;line-height:1.2;margin-top:.12rem}
.card p{font-size:.90rem;color:#4a4d40;margin-top:.45rem}
.card.suggest{background:transparent;border:1px dashed rgba(20,22,14,.32);align-content:center}
.card.suggest:hover{border-color:var(--clay);transform:translateY(-3px);box-shadow:none}
.card.suggest h4{color:var(--clay)}
.card.suggest p{margin-bottom:.7rem}
.card.suggest a{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);text-decoration:none;font-weight:600}
.card.suggest a:hover{text-decoration:underline}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{position:relative}
.step .no{display:block;padding-bottom:.4rem;margin-bottom:.5rem;border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--clay)}
.step h4{font-family:var(--serif);font-weight:600;font-size:1.35rem;margin-bottom:.5rem}
.step p{font-size:.95rem;color:#4a4d40}
.cta-band{background:var(--ink);color:var(--paper);text-align:center;padding:clamp(2.2rem,4.5vw,3.6rem) 0 clamp(1.6rem,3vw,2.4rem);position:relative;overflow:hidden}
.cta-band h2{margin:0 auto;max-width:20ch}
.cta-band .btn-row{display:flex;gap:1rem;justify-content:center;margin-top:1.35rem;flex-wrap:wrap}
.cta-band .btn-ghost{background:var(--paper);border-color:transparent;color:var(--ink)}
.cta-band .btn-ghost:hover{background:var(--paper-deep);border-color:transparent;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hero .hero-contours{animation:none;clip-path:none}.rv{transition:none;opacity:1;transform:none}
  .silo .ph-app,.silo .ph-dock{opacity:1;animation:none}
  .silo .ph-app.shut .ph-ic,.silo .ph-cc,.silo .ph-cc-nm{animation:none}
  .ph-replay{display:none}
  .cur-v3 .cur-map{display:none}
  .cur .cur-big{clip-path:none;animation:none}
  .cur .cur-spark,.cur .ramp,.cur .stp,.cur-v3 .ci,.cur-v3 .cur-hero-t,.cur-v3 .cur-rest,.cur-v3 .cur-rest li,.cur-v3 .vs{opacity:1;transform:none;animation:none}
  .cur .cur-summit{animation:none}}
