:root{--primary:#7C4135;--accent:#FADFA8}*{box-sizing:border-box}
body{margin:0;background:#f7f7f1;color:#26353c;font:16px/1.8 system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--primary);text-underline-offset:.18em}
a:focus-visible{outline:3px solid #a5512b;outline-offset:4px}
.wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto}
header{background:#fffefb;border-bottom:1px solid #d6dedf}
.mast,.mast nav,.brand{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.mast{justify-content:space-between;padding-block:.55rem}
.brand{gap:.65rem;font-weight:750;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:1rem}
.skip{position:absolute;left:1rem;top:-10rem;background:white;padding:.5rem}
.skip:focus{top:.5rem}
h1,h2,h3{line-height:1.35}
.hero{background:var(--primary);color:white;padding-block:clamp(2rem,7vw,4.8rem);border-bottom:7px solid var(--accent)}
.hero h1{font-size:clamp(2.1rem,6vw,4.1rem);margin:.2em 0;letter-spacing:.02em}
.hero p{max-width:65ch;margin:.5em 0}
.trip-links{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.4rem 0}
.trip-links a{padding:.4rem .85rem;border:1px solid var(--primary);border-radius:999px;text-decoration:none}
.trip-links a:hover{background:var(--accent)}
.trip{margin:1.5rem 0 2.5rem;border-top:1px solid #b7c6ca;padding-top:.9rem}
.trip h2{margin:.3em 0}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;padding:0}
.cards li{background:#fffefb;border:1px solid #d1dadd;border-radius:.5rem;overflow:hidden}
.cards a{display:block;text-decoration:none;color:inherit}
.cards a:hover h3{text-decoration:underline}
.cards img{width:100%;aspect-ratio:16/10;object-fit:cover}
.cards div{padding:.75rem 1rem}
.cards h3,.cards p{margin:.25rem 0}
.eyebrow,.cards small{color:var(--primary);font-weight:700}
.article,.support{max-width:860px;padding-block:2rem}
.article h1,.support h1{font-size:clamp(1.85rem,5vw,3.25rem);margin:.3em 0}
.route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:0;list-style:none}
.route li{padding:.7rem;background:#e8eef0;border-top:4px solid var(--primary)}
.route strong{display:block}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem}
figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{font-size:.85rem;overflow-wrap:anywhere}
.cta{display:inline-block;background:var(--primary);color:white;padding:.55rem 1rem;border-radius:.25rem;font-weight:700}
footer{background:var(--accent);padding:1.25rem 0;margin-top:2rem}
address{font-style:normal;overflow-wrap:anywhere}
@media(max-width:810px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cards,.route{grid-template-columns:1fr}}
body{background:#fbf5e7;color:#362620;font-family:Georgia,serif}
.hero{background:#fff9e9;color:var(--primary);border-bottom:4px solid var(--primary)}
.plan{background:#fffdf5;border:1px solid #dcc19a;margin:1.5rem 0;padding:1rem}
.date-controls{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end}
.date-controls label{display:grid;gap:.2rem}
.date-controls input,.date-controls select,.date-controls button{font:inherit;padding:.4rem;border:1px solid #9f7964;background:#fffdf7}
.date-controls button{cursor:pointer}
.plan .trip-links{margin:.5rem 0}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards li{border-color:#e4d3ba}
.cards a{display:grid;grid-template-columns:minmax(110px,32%) 1fr;align-items:stretch}
.cards img{height:100%;min-height:105px;aspect-ratio:auto}
.trip{border-top-color:#d0af88}
.route li{background:#fff4d8}
[hidden]{display:none!important}
@media(max-width:650px){.cards{grid-template-columns:1fr}}
