@charset "UTF-8";
:root{color-scheme:dark;--cream:#f8f6e9;--acid:#defa84;--ink:#13382c;font-family:Arial,Helvetica,sans-serif;color:var(--cream);background:#173b31}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{height:100svh}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--acid);outline-offset:6px}button{cursor:pointer}.landscape,.shade,.glow{position:fixed;inset:0;pointer-events:none}.landscape{inset:-3%;background:url('assets/hills.png') center 60%/cover no-repeat;animation:breathe 35s ease-in-out infinite alternate;transform:translate(var(--px,0px),var(--py,0px)) scale(1.015);will-change:transform}.shade{background:linear-gradient(90deg,rgba(7,30,24,.77),rgba(7,30,24,.32) 65%,rgba(7,30,24,.14)),linear-gradient(0deg,rgba(4,23,18,.92),transparent 38%,rgba(4,23,18,.16))}.glow{background:radial-gradient(ellipse at 80% 8%,#f1e6a829,transparent 55%);animation:light 18s ease-in-out infinite alternate}.page{height:100%;position:relative;padding:clamp(22px,4vw,64px);display:grid;grid-template-rows:auto 1fr auto;gap:20px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{font-size:18px;font-weight:900;letter-spacing:-.6px;line-height:1}.strap{display:block;font-size:10px;letter-spacing:3.1px;margin-top:8px;font-weight:500}nav{display:flex;gap:30px}nav a{display:flex;gap:9px;align-items:center;min-height:44px;font-size:14px}nav a:hover{color:var(--acid)}nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.dot{fill:currentColor;stroke:none}.external{font-size:18px;opacity:.65}main{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:5vw;max-width:1440px;width:100%;margin:auto}.intro{padding-bottom:3vh}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.8px;margin:0 0 24px;color:#dfecce}h1{font-size:clamp(45px,6.5vw,100px);line-height:1.01;letter-spacing:-.065em;margin:0 0 24px;font-weight:750}.description{font-size:clamp(16px,1.4vw,20px);line-height:1.65;margin:0 0 28px;color:#edf0e3}.join{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;background:var(--acid);color:var(--ink);padding:18px 24px;border-radius:4px;font-weight:700;font-size:16px;box-shadow:0 8px 30px #071b2020;transition:transform .25s,background .25s}.join:hover{transform:translateY(-3px);background:#edffb8}.join span{font-size:23px;line-height:1}.join-note{font-size:13px;line-height:1.5;color:#d4dfcd;margin:14px 0 0}.brand{text-align:center;justify-self:center;transform:rotate(-7deg);padding-bottom:5vh}.brand img{display:block;width:clamp(240px,29vw,430px);height:auto;aspect-ratio:1;border-radius:50%;clip-path:circle(49.5%);box-shadow:0 25px 60px #071b2050}.brand p{font-size:12px;letter-spacing:3px;margin:24px 0 0;font-weight:600;transform:rotate(7deg)}footer{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-top:1px solid #e0edd52e;padding-top:20px}.contact{display:flex;flex-direction:column;gap:8px}.contact span{font-size:10px;letter-spacing:1.8px;color:#c4d1bf}.contact a{font-size:16px;width:fit-content}.contact a:hover{text-decoration:underline;text-underline-offset:4px}.cat{position:absolute;left:9%;bottom:112px;width:60px;height:44px;opacity:.36;animation:roam 100s linear infinite;z-index:3}.cat-sprite{display:block;width:60px;height:44px;background:url('assets/cat.png') 0 0/400% 100% no-repeat;animation:steps 1.1s steps(4) infinite}.cat:hover,.cat:focus-visible{opacity:.85;animation-play-state:paused}.cat:hover .cat-sprite,.cat:focus-visible .cat-sprite{animation-play-state:paused}
@keyframes steps{to{background-position:133.333% 0}}@keyframes roam{0%{left:9%;transform:scaleX(1)}45%{left:80%;transform:scaleX(1)}49%{left:80%;transform:scaleX(1)}50%{left:80%;transform:scaleX(-1)}95%{left:9%;transform:scaleX(-1)}99%{left:9%;transform:scaleX(-1)}100%{left:9%;transform:scaleX(1)}}@keyframes breathe{from{scale:1}to{scale:1.04}}@keyframes light{from{opacity:.45}to{opacity:1}}
@media(min-width:1500px){main{gap:100px}.brand img{width:min(33vw,470px)}}
@media(max-width:700px){.page{padding:22px;gap:12px}header{align-items:flex-start}.wordmark{font-size:16px}nav{gap:15px}nav a{min-height:35px}nav a span{display:none}nav svg{width:21px;height:21px}main{display:flex;flex-direction:column-reverse;justify-content:center;gap:17px;text-align:center}.brand{padding:0}.brand img{width:clamp(130px,23svh,210px)}.brand p{display:none}.intro{padding:0}.eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:13px}h1{font-size:clamp(36px,7svh,57px);margin-bottom:15px;letter-spacing:-.055em}.description{font-size:14px;line-height:1.5;margin-bottom:19px}.join{padding:14px 20px;gap:45px}.join-note{font-size:12px;max-width:240px;margin:10px auto 0}.contact span{display:none}.contact a{font-size:13px}footer{padding-top:13px}.cat{bottom:77px;width:48px}.cat-sprite{width:48px;height:36px}.shade{background:linear-gradient(0deg,#071c17ee,rgba(7,30,24,.38) 80%),linear-gradient(90deg,#0b231944,#0b231922)}}
@media(max-height:650px) and (min-width:701px){.page{padding:22px 36px;gap:10px}h1{font-size:clamp(40px,7vw,70px)}.eyebrow{margin-bottom:14px}.description{margin-bottom:17px;font-size:16px}.brand img{width:min(33vh,250px)}.intro,.brand{padding:0}.brand p{margin-top:15px}footer{padding-top:10px}.cat{bottom:86px}}
@media(max-height:680px) and (max-width:700px){.page{padding:14px 20px;gap:7px}main{gap:10px}.brand img{width:clamp(85px,20svh,130px)}h1{font-size:35px;margin-bottom:10px}.eyebrow{margin-bottom:9px}.description{margin-bottom:12px}.join{padding:11px 20px}.join-note{margin-top:7px}.cat{bottom:68px}}
@media(max-height:430px) and (orientation:landscape){.page{padding:12px 24px}main{display:grid;grid-template-columns:1.4fr 1fr;text-align:left;gap:20px}.brand img{width:130px}.eyebrow{font-size:10px;margin-bottom:6px}h1{font-size:36px;margin-bottom:8px}.description{font-size:13px;margin-bottom:8px}.join{padding:10px 16px;font-size:14px}.join-note,.brand p{display:none}.cat{bottom:55px}.contact span{display:none}footer{padding-top:5px}header nav a{min-height:28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.landscape{transform:none!important}}

.cat-sprite{background-size:240px 80px;background-position:0 -20px}@keyframes steps{to{background-position:-240px -20px}}@media(max-width:700px){.cat-sprite{background-size:192px 64px;background-position:0 -16px;animation-name:small-steps}}@keyframes small-steps{to{background-position:-192px -16px}}

/* Keep the walking baseline attached to the footer rule at every viewport size.
   The four sprite frames share a ground baseline at source pixel y=550. */
footer{position:relative}
.cat{bottom:100%;height:44px;width:60px}
.cat-sprite{width:60px;height:44px;background-size:240px 80px;background-position:0 -16.77348px;animation-name:grounded-steps}
@keyframes grounded-steps{to{background-position:-240px -16.77348px}}
@media(max-width:700px){
  .cat{bottom:100%;width:48px;height:44px}
  .cat-sprite{width:48px;height:44px;background-size:192px 64px;background-position:0 -4.61878px;animation-name:grounded-small-steps}
}
@keyframes grounded-small-steps{to{background-position:-192px -4.61878px}}
