@font-face{font-family:Anton;src:url('/fonts/anton-latin.woff2')}@font-face{font-family:Poppins;src:url('/fonts/poppins-400-latin.woff2');font-weight:400}@font-face{font-family:Poppins;src:url('/fonts/poppins-600-latin.woff2');font-weight:600}@font-face{font-family:Poppins;src:url('/fonts/poppins-700-latin.woff2');font-weight:700}
:root{--wine:#591c35;--cream:#ffe7c8;--paper:#fffaf3;--rust:#6f2d18;--ink:#27151c;--line:color-mix(in srgb,var(--wine) 27%,transparent);--focus:#0a5e67;--success:#145a32;--error:#8d1e24;--radius:1rem;--shadow:5px 5px 0 var(--wine);font-family:Poppins,system-ui,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;min-width:320px;background:radial-gradient(circle at 100% 0,#fff3df 0 16rem,transparent 16rem),var(--cream)}button,input,select{font:inherit}button,a{min-height:44px}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;padding:.75rem 1rem;background:var(--paper);z-index:10}.skip-link:focus{top:1rem}.page-shell{width:min(100%,760px);margin:auto;padding:0 1rem}.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:2px solid var(--wine)}.brand{font-family:Anton,Impact,sans-serif;display:inline-flex;gap:.55rem;align-items:center;text-decoration:none;font-size:1.33rem;letter-spacing:.025em;text-transform:uppercase}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:var(--cream);font:700 .75rem/1 Poppins,sans-serif;border:2px solid var(--cream);outline:2px solid var(--wine)}.instagram-link{font-size:.75rem;font-weight:700;text-underline-offset:4px}.hero{padding:3rem 0 1.5rem}.kicker{margin:0 0:.35rem;color:var(--rust);font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}h1,h2,h3{font-family:Anton,Impact,sans-serif;letter-spacing:.025em;text-transform:uppercase;line-height:.95;margin:0}h1{font-size:clamp(3rem,14vw,5.8rem)}h2{font-size:2.25rem}h3{font-size:1.5rem}.next-stop{position:relative;margin-top:1.6rem;padding:1.5rem;background:var(--wine);color:var(--cream);overflow:hidden;box-shadow:var(--shadow);border:2px solid var(--wine)}.next-stop::after{content:'';position:absolute;width:230px;height:230px;border:2px solid color-mix(in srgb,var(--cream) 36%,transparent);border-left:none;border-radius:0 130px 130px 0;right:-90px;top:28px}.stop-status{position:relative;z-index:1;display:inline-block;padding:.25rem .5rem;border:1px solid currentColor;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.stop-status.changed{color:#fff0a8}.stop-status.cancelled{color:#fff0a8}.stop-date{position:relative;z-index:1;display:flex;align-items:baseline;gap:.55rem;margin:1.75rem 0 .65rem}.stop-day{font:2.9rem/.8 Anton,Impact,sans-serif}.stop-month{font-size:.8rem;font-weight:700;letter-spacing:.08em}.stop-title{position:relative;z-index:1;font:2rem/.95 Anton,Impact,sans-serif;text-transform:uppercase;max-width:13ch}.stop-meta{position:relative;z-index:1;margin:.85rem 0 1.4rem;font-size:.9rem;line-height:1.6}.directions-button,.primary-button{border:2px solid var(--cream);background:var(--cream);color:var(--wine);display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.7rem 1rem;font-weight:700;text-decoration:none;cursor:pointer}.directions-button:hover{background:transparent;color:var(--cream)}.route-line{position:relative;z-index:1;width:100%;height:21px;border-top:2px dashed color-mix(in srgb,var(--cream) 70%,transparent);margin:0 0 1.2rem}.upcoming{margin:2.25rem 0 0;border-top:2px solid var(--wine)}.upcoming-head{display:flex;align-items:baseline;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid var(--line)}.upcoming-head span{font-size:.74rem}.upcoming-list{list-style:none;padding:0;margin:0}.upcoming-item{display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.upcoming-date{font:1.15rem/.95 Anton,Impact,sans-serif;text-transform:uppercase}.upcoming-title{font-weight:700;font-size:.9rem}.upcoming-detail{font-size:.75rem;margin-top:.18rem}.upcoming-state{font-size:.7rem;color:var(--rust);font-weight:700}.connection-actions{display:grid;gap:.75rem;margin:2rem 0}.action-card{position:relative;min-height:86px;padding:1rem 3.25rem 1rem 1rem;text-align:left;border:2px solid var(--wine);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;display:block}.action-card:hover{background:var(--paper)}.action-eyebrow{display:block;color:var(--rust);font-size:.72rem;font-weight:700}.action-title{font:1.55rem/.95 Anton,Impact,sans-serif;text-transform:uppercase;display:block;margin-top:.3rem}.arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.5rem}.sourcing-note{display:flex;gap:.8rem;align-items:center;padding:1.25rem 0;border-top:2px solid var(--wine);border-bottom:2px solid var(--wine);font-size:.78rem;line-height:1.6}.sourcing-note p{margin:0}.stamp{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--rust);color:var(--rust);font-size:.7rem;font-weight:700}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0 2rem;font-size:.72rem}footer a{min-height:auto;font-weight:700}
.state-panel{margin-top:1.6rem;padding:1.4rem;border:2px solid var(--wine);background:var(--paper)}.state-panel p{line-height:1.6}.state-panel .primary-button{width:auto;background:var(--wine);color:var(--cream);border-color:var(--wine)}.skeleton{height:330px;margin-top:1.6rem;background:linear-gradient(90deg,#6c3047,#8a5065,#6c3047);background-size:200% 100%;animation:shimmer 1.5s infinite}.notice{font-size:.82rem;margin:1rem 0 0;color:var(--wine)}
dialog{border:0;background:transparent;padding:0;width:100%;height:100dvh;max-height:100dvh;margin:0;inset:0}dialog::backdrop{background:rgba(39,21,28,.68)}dialog form{height:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);padding:1.25rem 1.25rem calc(2rem + env(safe-area-inset-bottom));color:var(--ink);border-top:6px solid var(--wine)}.dialog-header{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start}.icon-button{border:0;background:var(--wine);color:var(--cream);width:44px;font-size:1.65rem;cursor:pointer}.form-intro{line-height:1.5;font-size:.86rem}.form-grid{display:grid;gap:.85rem;margin:1.25rem 0}.form-grid label{display:grid;gap:.3rem;font-size:.8rem;font-weight:700}.optional{font-weight:400}input,select{min-height:44px;width:100%;border:1px solid var(--wine);border-radius:0;background:#fff;color:var(--ink);padding:.55rem}.check-row{display:flex;gap:.7rem;align-items:flex-start;min-height:44px;padding:.55rem 0;margin:.3rem 0;font-size:.78rem;line-height:1.45;cursor:pointer}.check-row input{flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:0;accent-color:var(--wine)}.primary-button{background:var(--wine);color:var(--cream);border-color:var(--wine);margin-top:1rem}.primary-button[disabled]{opacity:.65;cursor:wait}.form-message{min-height:1.5em;margin:.7rem 0 0;font-size:.8rem;font-weight:600}.form-message.error{color:var(--error)}.form-message.success{color:var(--success)}.form-fine-print{font-size:.7rem;margin:.7rem 0 0}.honeypot{position:absolute;left:-9999px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (min-width:680px){.page-shell{padding:0 2rem}.hero{padding-top:5rem}.connection-actions{grid-template-columns:1fr 1fr}dialog{width:min(100% - 2rem,680px);height:auto;max-height:calc(100dvh - 2rem);margin:auto;align-self:center;border:2px solid var(--wine);box-shadow:10px 10px 0 rgba(89,28,53,.5)}dialog form{height:auto;max-height:calc(100dvh - 2rem);padding:2rem}.form-grid{grid-template-columns:1fr 1fr}.form-grid label:nth-child(3),.form-grid label:nth-child(5),.form-grid label:nth-child(6),.form-grid label:nth-child(7){grid-column:span 2}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
