@font-face{font-family:"Open Sauce One";src:url("fonts/open-sauce-one-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Open Sauce One";src:url("fonts/open-sauce-one-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
:root {
  --paper:#fffbf8;
  --sky:#66b3fa;
  --ink:#522a25;
  --rose:#f44e6c;
  --rule:rgb(82 42 37 / 25%);
  --gutter:clamp(1.375rem,5vw,5rem);
  --content-width:80rem;
  --header-height:4.5rem;
  --section-space:clamp(4rem,7.5vw,7rem);
  font-family:"Open Sauce One","Helvetica Neue",sans-serif;
  color:var(--ink);
  background:var(--paper);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;line-height:1.6}
h1,h2,h3,p,figure{margin:0}
a{color:inherit}
img{display:block;max-inline-size:100%;block-size:auto}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
:where([id]){scroll-margin-block-start:calc(var(--header-height) + 1rem)}
.shell{inline-size:min(calc(100% - var(--gutter)*2),var(--content-width));margin-inline:auto}
.section{padding-block:var(--section-space)}
.display{font-weight:600;line-height:1.08;letter-spacing:-.055em;text-wrap:balance}
.display>span{display:block}
.section-title{margin-block-start:1.15rem;font-size:clamp(2.25rem,4.2vw,4rem)}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.section-intro{max-inline-size:36ch;margin-block-start:1.2rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-block-size:3.4rem;padding:.85rem 1.5rem;border:1px solid transparent;border-radius:3rem;background:var(--ink);color:var(--paper);font-size:.9rem;font-weight:600;text-decoration:none;text-align:start;line-height:1.4}
.button:hover{background:#351a16}
.button svg,.back-link svg{inline-size:1.3rem;block-size:1.3rem;flex:none}
.button:disabled{opacity:.6;cursor:default}
.button:focus-visible{outline-color:var(--ink)}
.skip-link{position:fixed;z-index:6;inset:.6rem auto auto var(--gutter);padding:.5rem 1rem;background:var(--paper);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;z-index:5;inset-block-start:0;background:var(--paper)}
.header-inner{position:relative;min-block-size:var(--header-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem}
.wordmark{display:inline-flex;align-items:center;inline-size:fit-content;min-block-size:2.75rem}
.wordmark img{inline-size:8.6rem}
.desktop-nav,.header-actions,.language{display:flex;align-items:center}
.desktop-nav{gap:2rem}
.desktop-nav a,.footer-links a,.header-cta,.mobile-menu nav a{text-decoration:none;font-size:.77rem;font-weight:600}
.desktop-nav a{display:inline-flex;align-items:center;min-block-size:2.75rem}
.desktop-nav a:hover,.footer-links a:hover,.mobile-menu nav a:hover{text-decoration:underline;text-underline-offset:.3em}
.header-actions{justify-content:end;gap:.9rem}
.language a{display:grid;place-items:center;min-inline-size:2.2rem;min-block-size:2.75rem;font-size:.7rem;font-weight:600;text-decoration:none;text-underline-offset:.4em}
.language a[aria-current],.language a:hover{text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:2px}
.header-cta{display:inline-flex;align-items:center;min-block-size:2.7rem;padding-inline:1.35rem;border:1px solid var(--ink);border-radius:3rem;white-space:nowrap}
.header-cta:hover{background:var(--ink);color:var(--paper)}
.header-cta:focus-visible{outline-color:var(--ink)}
.mobile-menu{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:clamp(2rem,4vw,4.3rem);padding-block:2.7rem 4.5rem;align-items:center}
.hero-masthead{grid-column:1;inline-size:100%;margin-block-end:1.1rem}
.hero-visual{grid-column:1;grid-row:2;position:relative;display:grid;grid-template-columns:.9fr 1fr;gap:1.2rem;align-items:center}
.hero-mascot{position:relative;display:grid;place-items:center;background:var(--sky);border-radius:49% 51% 48% 52% / 53% 48% 52% 47%;aspect-ratio:.87;transform:rotate(-14deg);margin-inline:0 .3rem}
.hero-mascot img{inline-size:78%;transform:rotate(14deg)}
.hero-photo{position:relative;aspect-ratio:.78;border-radius:50% 50% 0 0 / 35% 35% 0 0;overflow:hidden}
.hero-photo img{inline-size:100%;block-size:100%;object-fit:cover;object-position:50% 45%}
.hero-leash{position:absolute;inset:auto -8% -1.8rem -1%;inline-size:109%;block-size:auto;pointer-events:none}
.hero-copy{grid-column:2;grid-row:1 / 3;padding-block-start:4rem}
.hero-title{font-size:clamp(2.7rem,4.9vw,4.7rem);letter-spacing:-.065em}
.hero-intro{max-inline-size:28ch;margin-block-start:1.1rem;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.5}
.hero .button{margin-block-start:1.65rem}
.hero-label{display:flex;align-items:center;gap:.6rem;margin-block-start:1.2rem}
.hero-label svg{inline-size:.9rem;block-size:.9rem;color:var(--rose)}
.how{background:var(--sky);border-radius:3rem 3rem 0 0}
.how-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:end}
.how-heading .section-title{max-inline-size:17ch}
.how-heading>.section-intro{justify-self:end;max-inline-size:26ch;padding-block-end:.3rem}
.route-map{position:relative;margin-block-start:2.5rem;--route-progress:1}
.route-line{position:absolute;pointer-events:none;stroke-linecap:round}
.route-desktop{inset:0;inline-size:100%;block-size:20rem}
.route-mobile{display:none}
.route-base{stroke:var(--paper);stroke-width:4;stroke-dasharray:7 12}
.route-progress{stroke:var(--ink);stroke-width:3;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--route-progress)*100)}
.walk-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem;list-style:none;padding:0;margin:0}
.walk-steps li{min-inline-size:0}
.route-art{position:relative;display:grid;place-items:center;block-size:17rem;margin-block-end:1.3rem}
.route-art>svg:not(.route-tree){inline-size:10rem;block-size:13rem;background:var(--sky)}
.route-photo{inline-size:14.5rem;block-size:14.5rem;border-radius:50%;object-fit:cover;object-position:50% 65%;border:6px solid var(--paper)}
.route-art .route-tree{position:absolute;inline-size:5.3rem;block-size:7.5rem;inset:auto auto -.4rem -1.2rem;transform:rotate(-8deg);fill:var(--sky)}
.route-description h3{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;letter-spacing:-.035em;font-weight:600}
.step-index{display:grid;place-items:center;inline-size:1.9rem;block-size:1.9rem;flex:none;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper);font-size:.9rem}
.route-description p{margin-block-start:.7rem;font-size:.92rem;max-inline-size:32ch}
.pricing-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:center}
.price-link{display:inline-flex;align-items:center;min-block-size:2.75rem;gap:.6rem;margin-block-start:1.1rem;font-size:.85rem;font-weight:600;text-underline-offset:.3em}
.price-link svg{inline-size:1.15rem;block-size:1.15rem}
.price-label{display:flex;gap:.5rem;align-items:center;margin-block-end:1rem}
.price-label svg{inline-size:.9rem;block-size:.9rem}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.plan{position:relative;background:#f0e7df;padding:2.1rem 1.7rem;border-radius:1.8rem;min-inline-size:0}
.plan:nth-child(2){background:var(--sky)}
.plan h3{font-weight:600;font-size:1rem}
.plan-price{font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1.1;font-weight:600;letter-spacing:-.07em;margin-block-start:1.8rem;white-space:nowrap}
.plan-unit{margin-block-start:.4rem;font-size:.76rem}
.plan-detail{border-block-start:1px dashed var(--ink);padding-block-start:1.3rem;margin-block-start:1.5rem;font-size:.87rem}
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;padding-block-start:1rem}
.questions{border-block-end:1px solid var(--rule)}
.questions details{border-block-start:1px solid var(--rule)}
.questions summary{display:flex;align-items:center;justify-content:space-between;min-block-size:4.5rem;gap:1.5rem;padding-block:1rem;font-size:1rem;font-weight:600;list-style:none;cursor:pointer}
.questions summary::-webkit-details-marker{display:none}
.question-icon{position:relative;inline-size:1rem;block-size:1rem;flex:none}
.question-icon::before,.question-icon::after{content:"";position:absolute;inset:50% 0 auto;border-block-start:1.5px solid currentColor}
.question-icon::after{transform:rotate(90deg)}
.questions details[open] .question-icon::after{display:none}
.questions p{max-inline-size:54ch;padding:0 1rem 1.3rem 0;font-size:.94rem}
.launch{background:var(--rose);color:#321713;border-radius:3rem 3rem 0 0}
.launch-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start}
.launch-invite{display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:1.5rem;align-items:center}
.launch-title{font-size:clamp(2.4rem,3.7vw,3.65rem);margin-block-start:1rem}
.launch-invite .button{margin-block-start:1.5rem}
.launch-mascot{transform:rotate(8deg)}
.newsletter{border-inline-start:1px solid rgb(50 23 19 / 40%);padding-inline-start:3rem}
.newsletter h3,.registration-form h2{font-size:clamp(1.75rem,2.5vw,2.5rem)}
.newsletter>p{margin-block-start:.8rem;font-size:.93rem}
.preview-form{margin-block-start:1.25rem}
.preview-form fieldset{display:grid;gap:1rem;min-inline-size:0;margin:0;padding:0;border:0}
.preview-form fieldset>.button{justify-self:start}
.field{display:grid;gap:.4rem}
.field label{font-size:.86rem;font-weight:600}
.field input{inline-size:100%;min-block-size:3.3rem;padding:.75rem 1rem;border:1px solid var(--ink);border-radius:.65rem;background:var(--paper);color:var(--ink);font-size:1rem}
.field input::placeholder{color:#78564f}
.field input[aria-invalid]{border:2px solid #721423}
.field-error{color:#721423;font-size:.82rem;font-weight:600}
.newsletter .field-error{color:#321713}
.field-hint,.form-note{font-size:.8rem}
.form-note{margin-block:0 1rem}
.form-status:not(:empty){margin-block-start:1rem;padding:.7rem 1rem;border-inline-start:3px solid var(--ink);background:var(--paper);color:var(--ink);font-size:.85rem}
.field-error:empty{display:none}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.7rem}
.footer-links{display:flex;flex-wrap:wrap;gap:1.3rem}
.footer-links a{display:flex;align-items:center;min-block-size:2.75rem}
.footer-inner p{font-size:.7rem}
.registration{display:grid;grid-template-columns:1fr 1fr;max-inline-size:90rem;margin-inline:auto;padding:2rem var(--gutter) 4rem;gap:5rem;align-items:center}
.registration-intro{background:var(--sky);border-radius:2.5rem;padding:2.5rem}
.back-link{display:inline-flex;align-items:center;gap:.5rem;min-block-size:2.75rem;font-size:.8rem;text-underline-offset:.3em}
.back-link svg{transform:rotate(180deg)}
.registration-title{font-size:clamp(2.35rem,4.3vw,4rem);margin-block-start:1.8rem}
.registration-mascot{inline-size:10rem;margin:2rem 0 0 auto;transform:rotate(8deg)}
.registration-form{max-inline-size:29rem;padding-block:2rem}
@media(prefers-reduced-motion:no-preference){
  .button svg{transition:transform .2s ease}
  .button:hover svg{transform:translateX(.25rem)}
}
@media(max-width:64rem){
  .hero{column-gap:2rem}
  .hero-title{font-size:clamp(2.2rem,4.8vw,3.3rem)}
  .hero-copy{padding-block-start:2rem}
  .hero-visual{gap:.5rem}
  .walk-steps{gap:2rem}
  .route-photo{inline-size:12rem;block-size:12rem}
  .pricing-inner,.faq{gap:2.5rem;grid-template-columns:.8fr 1.2fr}
  .plan{padding:1.5rem 1.1rem}
  .launch-inner{grid-template-columns:1fr 1fr;gap:2.5rem}
  .launch-invite{grid-template-columns:1fr}
  .launch-mascot{display:none}
  .newsletter{padding-inline-start:2rem}
}
@media(max-width:52rem){
  :root{--header-height:3.85rem}
  .header-inner{grid-template-columns:1fr auto}
  .header-actions{gap:.2rem}
  .wordmark img{inline-size:8.2rem}
  .desktop-nav,.header-cta{display:none}
  .mobile-menu{display:block}
  .mobile-menu summary{display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;list-style:none;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary svg{inline-size:1.3rem;block-size:1.3rem}
  .mobile-menu nav{position:absolute;inset:100% 0 auto;display:grid;padding:.4rem 1rem;border:1px solid var(--ink);border-radius:.8rem;background:var(--paper)}
  .mobile-menu nav a{padding:.75rem .25rem;font-size:.9rem}
  .mobile-menu nav a+a{border-block-start:1px solid var(--rule)}
  .pricing-inner,.faq{grid-template-columns:1fr}
  .comparison{max-inline-size:44rem}
  .plans{gap:1.2rem}
  .plan{padding:2rem}
  .plan-price{font-size:3.5rem}
  .how-heading{gap:2rem}
  .route-description h3{font-size:1rem}
  .registration{gap:2rem}
  .registration-intro{padding:1.8rem}
}
@media(max-width:46rem){
  .hero{grid-template-columns:1fr;padding-block:2rem 3.3rem;gap:2.5rem}
  .hero-masthead{display:none}
  .hero-copy{grid-column:1;grid-row:1;padding:0}
  .hero-title{font-size:clamp(2.75rem,12.5vw,4.7rem);line-height:1.05}
  .hero-intro{font-size:1rem;max-inline-size:32ch;margin-block-start:1rem}
  .hero .button{margin-block-start:1.2rem}
  .hero-label{margin-block-start:1rem;font-size:.65rem}
  .hero-visual{grid-row:2;inline-size:min(100%,32rem);justify-self:center;grid-template-columns:.9fr 1fr;gap:.8rem}
  .hero-leash{inset:auto 0 -.9rem;inline-size:100%}
  .how,.launch{border-radius:2rem 2rem 0 0}
  .how-heading{display:block}
  .how-heading .section-title{max-inline-size:17ch}
  .how-heading>.section-intro{max-inline-size:30ch}
  .route-map{margin-block-start:2.5rem}
  .route-desktop{display:none}
  .route-mobile{display:block;inset:1rem auto 4rem 0;inline-size:4rem;block-size:calc(100% - 5rem)}
  .walk-steps{grid-template-columns:1fr;gap:2.7rem;padding-inline-start:4.6rem}
  .walk-steps li{display:grid;grid-template-columns:1fr}
  .route-art{block-size:10rem;margin-block-end:1rem;justify-content:start}
  .route-art>svg:not(.route-tree){inline-size:8rem;block-size:10rem}
  .route-photo{inline-size:10rem;block-size:10rem;border-width:4px}
  .route-art .route-tree{inline-size:3.8rem;block-size:5rem;inset:auto auto -.6rem 8rem}
  .route-description h3{font-size:1.15rem}
  .route-description p{font-size:.9rem}
  .plans{grid-template-columns:1fr;gap:.8rem}
  .plan{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:1.25rem;padding:1.4rem 1.3rem;border-radius:1.3rem}
  .plan h3,.plan-price,.plan-unit{grid-column:1}
  .plan-price{font-size:3rem}
  .plan h3{font-size:.9rem}
  .plan-detail{grid-column:2;grid-row:1 / 4;align-self:center;border-block-start:0;border-inline-start:1px dashed var(--ink);padding:0 0 0 1.1rem;margin:0;font-size:.875rem}
  .plan-unit{font-size:.8rem}
  .launch-inner{grid-template-columns:1fr;gap:2.5rem}
  .launch-title{font-size:2.75rem}
  .newsletter{border-inline-start:0;border-block-start:1px solid rgb(50 23 19 / 40%);padding:2rem 0 0}
  .footer-inner{display:grid;gap:.5rem}
  .footer-links{gap:1.1rem}
  .registration{grid-template-columns:1fr;padding:1rem var(--gutter) 3rem;gap:1rem}
  .registration-intro{padding:1.7rem;border-radius:1.6rem}
  .registration-title{font-size:clamp(2rem,8.8vw,3.5rem)}
  .registration-mascot{inline-size:6rem;margin-block-start:1rem}
  .registration-form{max-inline-size:none}
}
