:root{--background: #F3F0E7;--accent: #D95C35;--foreground: #1D302F;--forest: #36574B;--surface: #E7E9DF;--muted: #65716A;--line: #C8CEC1;--focus: #A63F25;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--background)}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--sans);font-size:1.125rem;line-height:1.55}img,svg{max-width:100%;height:auto}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05;letter-spacing:-.03em;color:var(--foreground)}h1{margin:0 0 1rem;font-size:clamp(2.5rem,7vw,4.6rem);text-wrap:balance}h2{margin:0 0 .8rem;font-size:clamp(1.8rem,4vw,2.6rem)}h3{margin:0;font-size:clamp(1.55rem,3vw,2.15rem)}p,dd,li{overflow-wrap:anywhere}p{margin:0 0 .9rem}a{color:var(--forest);text-underline-offset:.16em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px var(--focus)}.skip{position:absolute;left:.75rem;top:.75rem;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:var(--foreground);color:var(--background);z-index:5}.skip:focus-visible{width:auto;height:auto;min-height:48px;display:inline-flex;align-items:center;padding:.45rem .9rem;clip-path:none;overflow:visible;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.shell{width:min(70rem,calc(100% - 1.5rem));margin:0 auto;padding:.75rem .7rem 2.5rem 1rem;border-left:3px solid var(--accent)}.site-header,.site-footer,.flow{width:min(66rem,100%)}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding:.4rem 0 1.25rem}.brand{display:inline-flex;align-items:center;gap:.7rem;max-width:100%;min-height:48px;color:var(--foreground);font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:-.03em;text-decoration:none}.brand svg{width:40px;height:40px;flex:none}.nav-list{display:flex;flex-wrap:wrap;gap:.35rem .25rem;margin:0;padding:0;list-style:none}.nav-list a{display:inline-flex;align-items:center;min-height:48px;padding:.35rem .7rem}.flow{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:2.5rem;row-gap:2.75rem;align-items:start}.hero-copy{grid-column:1;grid-row:1;max-width:40rem}.map-wrap{grid-column:2;grid-row:1;align-self:center;margin:0}.map-wrap svg{display:block;width:100%;height:auto;aspect-ratio:520 / 400;border:1px solid var(--line)}.schedule,.routes,.faq,.contacts{grid-column:1 / -1;min-width:0;scroll-margin-top:1rem}.kicker,.section-code,.label,.route-index{font-family:var(--mono);color:var(--forest);letter-spacing:.04em}.kicker,.section-code{margin:0 0 .55rem;font-size:.95rem;text-transform:uppercase}.lead{max-width:42rem}.link-main{display:inline-flex;align-items:center;gap:.45rem;min-height:48px;margin-top:.4rem;padding:.55rem 1rem;border:2px solid var(--foreground);background:var(--forest);color:var(--background);font-weight:600;text-decoration:none}.link-main:hover{background:var(--foreground)}.outings{display:grid;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}.outings li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr);gap:.65rem 1rem;align-items:start;margin:0;padding:.85rem 1rem;background:var(--surface)}.outings p{display:flex;flex-direction:column;gap:.15rem;margin:0}.label{font-size:.95rem}.outings a{display:inline-flex;align-items:center;min-height:48px}.price-note{max-width:42rem;margin-bottom:0}.route{padding:1.35rem 0 1.5rem;border-top:1px solid var(--line);scroll-margin-top:1rem}.route:last-child{border-bottom:1px solid var(--line)}.route-index{margin:0 0 .35rem;font-size:.95rem}.route-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem 1rem;margin:.9rem 0 1rem}.route-facts div{min-width:0}.route-facts dt{font-family:var(--mono);font-size:.95rem;color:var(--forest)}.route-facts dd{margin:.15rem 0 0;font-family:var(--serif);font-size:1.45rem;line-height:1.15}.route summary,.faq-item summary{display:block;max-width:100%;color:var(--foreground);list-style:none;cursor:pointer}.route summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}.route summary::marker,.faq-item summary::marker{content:""}.route summary{width:fit-content;max-width:100%}.summary-inner{position:relative;display:flex;align-items:center;gap:.45rem;min-width:0;min-height:48px;padding:.45rem .9rem;border:2px solid var(--foreground)}.pm:before{content:"+";font-family:var(--mono)}details[open]>summary .pm:before{content:"−"}.route-detail,.faq-item p{max-width:42rem}.route-detail{margin-top:.85rem;padding:1rem 1rem .3rem;background:var(--surface)}.route-detail p:last-child{margin-bottom:.85rem}.faq-item{border-top:1px solid var(--line)}.faq-item:last-of-type{border-bottom:1px solid var(--line)}.faq-item summary{width:100%}.faq-item .summary-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;align-items:center;min-height:48px;padding:.8rem 0;border:0;font-family:var(--serif);font-size:1.3rem;line-height:1.25;letter-spacing:-.02em}.faq-item p{margin:0;padding:0 0 1rem}.contacts address{font-style:normal}.phone{display:inline-block;max-width:100%;padding-block:.55rem;font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15;letter-spacing:-.03em;color:var(--foreground);overflow-wrap:anywhere}.mail{display:inline-block;max-width:100%;padding-block:.55rem;overflow-wrap:anywhere}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line)}.site-footer p{margin:0}@media(max-width:52rem){.flow{display:flex;flex-direction:column;gap:2.25rem}.hero-copy{order:1}.schedule{order:2}.routes{order:3}.map-wrap{order:4}.faq{order:5}.contacts{order:6}.outings li,.route-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.shell{width:min(70rem,calc(100% - 1rem));padding-left:.75rem;padding-right:.55rem}.outings li,.route-facts{grid-template-columns:1fr}.route summary,.route .summary-inner{width:100%}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(forced-colors:active){.link-main,.summary-inner{border:2px solid ButtonText}:focus-visible{outline:3px solid Highlight;box-shadow:none}}
