@font-face{font-family:"Bebas Neue";src:url("/assets/fonts/BebasNeue-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/assets/fonts/Inter-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("/assets/fonts/Inter-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}

:root{--lime:#c7ff3d;--black:#0d0d0d;--white:#fff;--coral:#ff6b57;--concrete:#e9e9e4;--display:"Bebas Neue",Impact,sans-serif;--body:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--black);color-scheme:dark}
body{margin:0;min-width:320px;background:var(--black);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:hidden}
body::before{position:fixed;inset:0;pointer-events:none;content:"";opacity:.17;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.15) 0 1px,transparent 1.4px),linear-gradient(120deg,transparent 0 49.6%,rgba(255,255,255,.025) 50%,transparent 50.4%);background-size:47px 43px,89px 89px}
a{color:inherit}
.shell{position:relative;display:flex;min-height:100svh;max-width:1580px;margin:0 auto;padding:clamp(22px,3vw,48px) clamp(22px,5vw,82px) 26px;flex-direction:column}
.masthead{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;width:clamp(190px,22vw,310px);transform:rotate(-1deg)}
.brand img{display:block;width:100%;height:auto}
.status{margin:0;padding:10px 14px;border:1px solid rgba(255,255,255,.35);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.status span{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px var(--lime)}
main{display:flex;flex:1;align-items:center}
.hero{display:grid;width:100%;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(36px,5vw,88px);padding:5vh 0 3vh}
.copy{position:relative;z-index:2;max-width:760px}
.eyebrow{margin:0 0 12px;color:var(--lime);font-size:clamp(.72rem,1vw,.9rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
h1{margin:0;font-family:var(--display);font-size:clamp(5.2rem,10vw,10.8rem);font-weight:400;letter-spacing:.005em;line-height:.77;text-transform:uppercase}
h1 span{position:relative;display:inline-block;color:var(--lime)}
h1 span::after{position:absolute;right:0;bottom:-.08em;left:.02em;height:.045em;border-radius:20px;background:var(--coral);content:"";transform:rotate(-1deg)}
.lede{max-width:680px;margin:clamp(26px,4vh,44px) 0 0;color:var(--concrete);font-size:clamp(1.05rem,1.5vw,1.33rem);line-height:1.65}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 20px;border:2px solid var(--white);font-weight:600;text-decoration:none;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
.button:hover{transform:translateY(-3px)}
.button:focus-visible{outline:4px solid var(--coral);outline-offset:4px}
.button.primary{border-color:var(--lime);background:var(--lime);color:var(--black);box-shadow:6px 6px 0 var(--white)}
.button.primary span{margin-left:22px;font-size:1.2rem}
.button.secondary{background:transparent}
.button.secondary:hover{background:var(--white);color:var(--black)}
.route-art{position:relative;min-height:min(52vw,600px)}
.route-art>img{position:absolute;z-index:2;top:50%;left:52%;width:min(32vw,470px);filter:drop-shadow(18px 22px 0 rgba(255,107,87,.92));transform:translate(-50%,-50%) rotate(4deg)}
.route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.route-shadow,.route-line,.route-arrow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.route-shadow{stroke:#fff;stroke-width:18;opacity:.97}
.route-line{stroke:var(--black);stroke-width:10;stroke-dasharray:26 20;animation:travel 13s linear infinite}
.route-arrow{stroke:var(--white);stroke-width:14}
.map-note{position:absolute;z-index:3;right:-10px;bottom:10%;padding:18px 24px;background:var(--coral);color:var(--black);font-family:var(--display);font-size:clamp(1.8rem,3vw,3rem);line-height:.9;letter-spacing:.02em;transform:rotate(3deg);box-shadow:7px 7px 0 var(--white)}
footer{position:relative;z-index:3;display:flex;justify-content:space-between;gap:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.19);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
footer p{margin:0}.philosophy strong{color:var(--lime)}.privacy{color:#b9b9b2}
@keyframes travel{to{stroke-dashoffset:-184}}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:8vh}.route-art{position:absolute;right:-20vw;bottom:6vh;width:64vw;min-height:64vw;opacity:.26}.route-art>img{width:42vw}.map-note{display:none}.copy{max-width:660px}footer{margin-top:7vh}}
@media(max-width:620px){.shell{padding:20px}.brand{width:180px}.status{padding:8px 10px;font-size:.61rem}.hero{padding-top:10vh}h1{font-size:clamp(4.6rem,24vw,7rem)}.lede{font-size:1rem;line-height:1.58}.actions{display:grid}.button{width:100%}.route-art{right:-35vw;bottom:18vh;width:90vw;min-height:90vw}footer{flex-direction:column;gap:7px}.privacy{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.route-line{animation:none}.button{transition:none}}
