.purchase-flow{z-index:400;background:#0f1612b8;justify-content:center;align-items:center;padding:clamp(.75rem,3vw,2.5rem);animation:.2s purchase-flow-fade-in;display:flex;position:fixed;inset:0}@keyframes purchase-flow-fade-in{0%{opacity:0}to{opacity:1}}.purchase-flow__panel{background:var(--color-cream-100);border-radius:var(--radius-lg);width:100%;max-width:760px;max-height:min(92vh,900px);box-shadow:var(--shadow-lift);position:relative;overflow-y:auto}.purchase-flow__header{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbf7eef0;border-bottom:1px solid #12201914;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem clamp(1.25rem,3vw,2.5rem);display:flex;position:sticky;top:0}.purchase-flow__steps{align-items:center;gap:clamp(.75rem,2vw,1.5rem);display:flex}.purchase-flow__step{opacity:.45;align-items:center;gap:.5rem;transition:opacity .2s;display:flex}.purchase-flow__step.is-active,.purchase-flow__step.is-done{opacity:1}.purchase-flow__step-index{background:var(--color-sage-100);width:24px;height:24px;color:var(--color-forest-800);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:700;display:grid}.purchase-flow__step.is-active .purchase-flow__step-index{background:var(--color-amber-500);color:var(--color-forest-900)}.purchase-flow__step.is-done .purchase-flow__step-index{background:var(--color-forest-700);color:var(--color-cream-100)}.purchase-flow__step-label{color:var(--color-forest-900);white-space:nowrap;font-size:.85rem;font-weight:600}@media (width<=640px){.purchase-flow__step-label{display:none}}.purchase-flow__close{width:38px;height:38px;color:var(--color-forest-900);background:#1220190f;border-radius:50%;flex-shrink:0;place-items:center;transition:background .2s;display:grid}.purchase-flow__close:hover{background:#1220191f}.purchase-flow__body{padding:clamp(1.25rem,3vw,2.5rem)}.purchase-flow__actions{border-top:1px solid #12201914;justify-content:flex-end;gap:.9rem;margin-top:2rem;padding-top:1.5rem;display:flex}.purchase-flow__actions--center{border-top:none;justify-content:center;padding-top:0}@media (width<=560px){.purchase-flow__actions{flex-direction:column-reverse}.purchase-flow__actions .btn{width:100%}}.pass-details__head{margin-bottom:1.75rem}.pass-details__badge{letter-spacing:.08em;text-transform:uppercase;background:var(--color-sage-100);color:var(--color-forest-700);border-radius:999px;margin-bottom:.9rem;padding:.35em .85em;font-size:.72rem;font-weight:700;display:inline-block}.pass-details__title{margin-bottom:.6rem}.pass-details__price{align-items:baseline;gap:.6rem;display:flex}.pass-details__amount{font-family:var(--font-display);color:var(--color-forest-800);font-size:2.2rem;font-weight:600}.pass-details__per-walk{color:var(--text-muted);font-size:.9rem}.pass-details__section{margin-bottom:1.75rem}.pass-details__section h3{margin-bottom:.9rem;font-size:1.1rem}.pass-details__includes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.pass-details__includes li{align-items:flex-start;gap:.55rem;font-size:.92rem;display:flex}.pass-details__includes svg{color:var(--color-amber-700,var(--color-amber-600));flex-shrink:0;margin-top:.2em}.pass-details__facts{background:var(--color-white);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.25rem;display:grid}.pass-details__fact-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.3rem;font-size:.75rem;display:block}.pass-details__fact-value{color:var(--color-forest-900);font-weight:700}.pass-details__note{color:var(--text-muted);background:var(--color-sage-100);border-radius:var(--radius-md);padding:1rem 1.2rem;font-size:.92rem}.pass-details__terms{color:var(--text-muted);flex-direction:column;gap:.55rem;padding-left:1.2rem;font-size:.88rem;list-style:outside;display:flex}.pass-faq-item{border-bottom:1px solid #1220191a}.pass-faq-item__trigger{text-align:left;width:100%;color:var(--color-forest-900);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;font-size:.95rem;font-weight:600;display:flex}.pass-faq-item__chevron{flex-shrink:0;transition:transform .25s}.pass-faq-item__trigger[aria-expanded=true] .pass-faq-item__chevron{transform:rotate(180deg)}.pass-faq-item__answer{color:var(--text-muted);max-width:60ch;padding-bottom:1rem;font-size:.9rem}.intake-form__intro{margin-bottom:1.5rem}.intake-form__intro h2{margin-bottom:.5rem}.intake-form__intro p{color:var(--text-muted);font-size:.95rem}.intake-fieldset{border:none;margin:0 0 2rem;padding:0}.intake-fieldset legend{font-family:var(--font-display);color:var(--color-forest-900);border-bottom:1px solid #1220191a;width:100%;margin-bottom:.3rem;padding:0 0 .6rem;font-size:1.15rem;font-weight:600}.intake-fieldset__desc{color:var(--text-muted);margin:.6rem 0 .9rem;font-size:.85rem}.intake-fieldset__grid{grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem;margin-top:1rem;display:grid}.intake-field{flex-direction:column;gap:.4rem;display:flex}.intake-field--full{grid-column:1/-1}.intake-field label{color:var(--color-charcoal-700);font-size:.85rem;font-weight:600}.intake-field__required{color:var(--color-amber-700,var(--color-amber-600))}.intake-field input,.intake-field select,.intake-field textarea{border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-body);border:1.5px solid #12201926;padding:.7em .85em;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.intake-field textarea{resize:vertical;min-height:4.5em}.intake-field input:focus,.intake-field select:focus,.intake-field textarea:focus{border-color:var(--color-forest-600);box-shadow:0 0 0 3px #254a3826}.intake-field input[aria-invalid=true],.intake-field select[aria-invalid=true],.intake-field textarea[aria-invalid=true]{border-color:#b3432f}.intake-field__error{color:#b3432f;font-size:.78rem}.intake-field--checkbox label{cursor:pointer;align-items:flex-start;gap:.65rem;font-weight:500;display:flex}.intake-field--checkbox input{width:18px;height:18px;accent-color:var(--color-forest-700);flex-shrink:0;margin-top:.2em}.intake-form__terms-toggle{color:var(--color-forest-800);text-underline-offset:3px;padding:.4rem 0;font-size:.88rem;font-weight:600;text-decoration:underline}.intake-form__terms-list{background:var(--color-sage-100);border-radius:var(--radius-sm);color:var(--text-muted);flex-direction:column;gap:.5rem;margin-top:.75rem;padding:1rem 1.2rem 1rem 2rem;font-size:.85rem;list-style:outside;display:flex}.intake-form__submit-error{color:#b3432f;border-radius:var(--radius-sm);background:#b3432f14;margin-top:1rem;padding:.8em 1em;font-size:.9rem}@media (width<=640px){.intake-fieldset__grid{grid-template-columns:1fr}}.confirmation{text-align:center;max-width:480px;margin-inline:auto}.confirmation__icon{background:var(--color-sage-100);width:56px;height:56px;color:var(--color-forest-700);border-radius:50%;place-items:center;margin-bottom:1.25rem;display:inline-grid}.confirmation__lede{color:var(--text-muted);margin-bottom:1.75rem}.confirmation__details{background:var(--color-white);border-radius:var(--radius-md);text-align:left;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.confirmation__details dt{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.2rem;font-size:.75rem}.confirmation__details dd{color:var(--color-forest-900);font-size:1.05rem;font-weight:700}.confirmation__reference{font-family:var(--font-display);letter-spacing:.03em;align-items:center;gap:.6rem;display:flex}.confirmation__copy{background:var(--color-sage-100);width:30px;height:30px;color:var(--color-forest-700);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.confirmation__copy:hover{background:var(--color-sage-300)}.confirmation__note{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}.confirmation__warning{text-align:left;color:#8a3423;border-radius:var(--radius-sm);background:#b3432f14;align-items:flex-start;gap:.65rem;margin-bottom:1.5rem;padding:.9rem 1.1rem;font-size:.88rem;line-height:1.5;display:flex}.confirmation__warning svg{flex-shrink:0;margin-top:.15em}.confirmation__save{color:var(--color-forest-800);background:var(--color-sage-100);border-radius:var(--radius-sm);margin-bottom:1.25rem;padding:.8em 1em;font-size:.9rem}.confirmation__contact{color:var(--text-muted);font-size:.9rem}.confirmation__contact a{color:var(--color-forest-800);font-weight:600}@media (prefers-reduced-motion:reduce){.purchase-flow{animation:none}}
