:root{--paper:#f7f6ef;--card:#fffef9;--ink:#183e36;--green:#285f4c;--muted:#64766b;--line:#cbd5c9;--soft:#e8eddf;--sand:#ede5d3}
body{font-size:15px;line-height:1.8;background:var(--paper)}.shell{max-width:1280px;padding:26px 42px 64px}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 20px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.masthead a{font-weight:700;color:var(--ink)}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin:38px 0 26px;padding:0;border:0}.hero-copy{min-width:0}.hero h1{font-family:'Songti SC','Noto Serif CJK SC',Georgia,serif;font-size:clamp(46px,5.4vw,76px);letter-spacing:-.05em;line-height:1.18;font-weight:650;margin:18px 0 24px}.hero h1 span{color:#c18a57}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.13em}.hero .subtitle{font-size:18px;line-height:1.8;margin-bottom:24px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.primary-link{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;background:var(--green);color:white;border-radius:5px}.hero-meta{font-size:10px;letter-spacing:.07em;margin:24px 0 0;color:var(--muted)}.hero-photo{position:relative;margin:0;overflow:hidden;border-radius:3px;background:#dae1d0}.hero-photo .photo-button{display:block;width:100%;border:0;padding:0;line-height:0;background:none}.hero-photo img{height:405px;width:100%;object-fit:cover;display:block}.hero-photo figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#14352fde);padding:54px 24px 20px;color:#fff;pointer-events:none}.hero-photo figcaption span{display:block;font-size:10px;letter-spacing:.14em;opacity:.9}.hero-photo strong{font-family:'Songti SC',serif;font-size:23px;font-weight:500;display:block}.hero-photo figcaption a{font-size:9px;color:#fff;pointer-events:auto}.trip-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:24px;font-size:11px;color:var(--muted)}.trip-stats b{font-family:Georgia,serif;font-size:26px;font-weight:500;color:var(--ink);margin-right:6px}.notice{font-size:12px;border-radius:3px;border-left:3px solid #b6c8ad;background:#ebeedf}.controls{padding:16px 0;border-top:0;border-bottom:1px solid var(--line);margin:0 0 32px;background:var(--paper);gap:12px}.tabs{gap:6px;flex-wrap:wrap}.tabs .btn{border-color:transparent;border-radius:4px;font-size:13px;padding:8px 13px}.tabs .btn[aria-selected=true]{background:var(--green)}.provider{font-size:11px;gap:5px}.provider select{font-size:11px;min-height:36px}
h2{font-family:'Songti SC','Noto Serif CJK SC',Georgia,serif;font-size:31px;line-height:1.45;letter-spacing:-.025em;font-weight:650}h3{font-size:20px;line-height:1.5}h4{line-height:1.6}.muted{font-size:12px;color:var(--muted)}.discover-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.discover-heading h2{margin:8px 0}.discover-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.outline-link{border:1px solid var(--line);border-radius:5px;padding:10px 15px;font-size:12px;white-space:nowrap}.catalog-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr auto;align-items:end;gap:12px;padding:18px 20px;background:#e9eedf;border-radius:5px;margin:24px 0 10px}.catalog-controls label{font-size:11px;display:flex;flex-direction:column;gap:4px;min-width:0}.catalog-controls input[type=search],.catalog-controls select{width:100%;min-width:0;background:var(--card);font-size:12px;border-radius:4px;min-height:43px;padding:8px}.catalog-controls .favorite-filter{flex-direction:row;align-items:center;align-self:end;white-space:nowrap;min-height:43px}.favorite-filter input{width:16px;height:16px}.catalog-group{margin-top:34px}.catalog-group-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line)}.catalog-group-heading h3{margin:12px 0}.catalog-group-heading span{font-size:12px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:20px}.event-card{background:var(--card);border:1px solid #d3dccf;border-radius:5px;overflow:hidden}.event-body{padding:17px 19px 20px}.event-top{display:flex;align-items:center;gap:10px}.event-number{font-family:Georgia,serif;font-size:21px;color:#9aa88d}.event-kind{font-size:9px;letter-spacing:.03em;color:var(--muted);flex:1}.favorite-btn{border:0;padding:0;min-width:36px;min-height:36px;font-size:23px;line-height:1;color:#7e8f73}.favorite-btn[aria-pressed=true]{color:#b27c34}.event-card h4{font-size:17px;margin:12px 0 10px}.event-card p{font-size:12px;margin:9px 0}.event-card .event-when{font-weight:650;color:#315b4c;font-size:12px}.event-card .event-price{font-size:10px;color:#887342}.event-fit{background:#eff2e9;border-radius:3px;padding:10px 12px;margin-top:16px}.event-fit p{font-size:11px;margin:5px 0 0;color:#566e60}.planned-badge,.alternate-badge{font-size:9px;font-weight:700;color:#2c614c}.alternate-badge{color:#8b7a57}.event-links{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:16px 0 10px}.event-sources{border:0;padding:0}.event-sources summary{font-size:9px;color:#82907f;cursor:pointer}.event-sources p{font-size:9px}.catalog-photo{display:block;line-height:0;padding:0;border:0;border-radius:0;width:100%;background:#edf0e5}.catalog-photo img{display:block;width:100%;height:170px;object-fit:cover}.avoid-section{margin:52px 0 28px}.avoid-section h3{font-family:'Songti SC',serif;font-size:25px}.route-intro{margin-bottom:32px}.route-teasers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 34px}.route-teasers>a{display:block;padding:22px 24px;border:1px solid var(--line);border-radius:5px;background:var(--card);color:var(--ink)}.route-teasers>a:hover{text-decoration:none;background:var(--soft)}.route-teasers span{font-size:10px;color:#9b7b44;letter-spacing:.1em}.route-teasers h3{font-family:'Songti SC',serif;font-size:23px;margin:8px 0}.route-teasers p{font-size:12px}.route-teasers small{font-size:10px;color:var(--muted)}.geo-title-row h3{font-size:20px}.day-heading h2{font-size:31px}.toolbar{gap:10px;flex-wrap:wrap}.toolbar>label{flex:1;min-width:0}.toolbar select{max-width:100%;min-width:0;width:100%;font-size:12px}.stops .time{font-size:12px}.stops .stop-name{font-size:17px}.photo-card img{object-fit:contain;background:#edf0e7}.photo-card figcaption{font-size:11px}.photo-card .credit{font-size:9px}.info-card p,.leg-list p,.prep-topic p{font-size:13px}.source-links{font-size:10px!important}.source-links a{font-size:10px}.geo-detail h4{font-size:16px}.geo-detail p{font-size:12px}footer{font-size:11px;margin-top:48px}
@media(min-width:1200px){.catalog-grid{gap:22px}.event-body{padding:18px 22px 22px}}
@media(max-width:900px){.shell{padding:22px 25px 50px}.hero{gap:25px}.hero-photo img{height:350px}.hero h1{font-size:55px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-controls{grid-template-columns:1fr 1fr}.catalog-controls .search-label{grid-column:1}.trip-stats{gap:10px}.trip-stats span{font-size:10px}.trip-stats b{font-size:23px}.controls{flex-wrap:wrap}.provider{margin-left:auto}.discover-heading{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:600px){.shell{padding:18px 18px 40px}.masthead{font-size:9px;padding-bottom:14px;gap:14px}.masthead span{font-size:8px}.hero{grid-template-columns:1fr;margin:24px 0 18px;gap:24px}.hero h1{font-size:53px;margin:14px 0 17px;line-height:1.12}.hero .subtitle{font-size:15px;margin-bottom:20px}.hero-photo img{height:235px}.hero-photo figcaption{padding:35px 18px 14px}.hero-photo strong{font-size:22px}.hero-meta{font-size:8px;margin-top:18px}.hero-actions{font-size:11px}.hero .eyebrow{font-size:8px}.trip-stats{grid-template-columns:1fr 1fr;gap:10px 15px;padding:13px 0}.trip-stats b{font-size:25px}.trip-stats span{font-size:10px}.controls{margin-bottom:24px;padding:10px 0}.tabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:4px}.tabs .btn{font-size:11px;padding:8px 6px;min-height:40px}.provider{font-size:10px}.provider select{font-size:10px}.notice{font-size:11px;padding:12px 14px}.discover-heading h2,h2,.day-heading h2{font-size:27px}.discover-heading p:not(.eyebrow){font-size:11px}.catalog-controls{padding:13px;gap:10px}.catalog-controls select,.catalog-controls input[type=search]{font-size:11px}.catalog-grid{grid-template-columns:1fr;gap:16px}.event-body{padding:16px 19px 19px}.event-card h4{font-size:18px}.event-card p{font-size:13px}.catalog-photo img{height:190px}.event-card .event-price{font-size:11px}.event-fit p{font-size:12px}.catalog-group h3{font-size:21px}.route-teasers{grid-template-columns:1fr;gap:12px}.route-teasers>a{padding:18px}.geo-title-row h3{font-size:17px}.geo-controls label{min-width:0;max-width:100%}.geo-controls select{max-width:100%;min-width:0}.geo-title-row{flex-wrap:wrap}.geo-title-row .btn{font-size:11px}.toolbar{display:grid;grid-template-columns:1fr auto}.toolbar>label{grid-column:1 / -1}.toolbar .btn{font-size:12px}.day-quick{gap:8px}.day-quick a{font-size:11px}.stop-name{overflow-wrap:anywhere}.stops{padding-left:24px}.check-controls>label{max-width:100%;min-width:0}.check-controls input[type=search]{min-width:0;max-width:100%}.check-group h3{font-size:20px}.photo-grid{grid-template-columns:1fr}.photo-card h4{font-size:17px}.photo-card .credit{overflow-wrap:anywhere}.outline-link{font-size:11px}.catalog-controls .favorite-filter{white-space:normal;font-size:10px}.geo-detail{min-width:0}#day-select{min-width:0}dialog{max-width:calc(100vw - 20px)}}
.catalog-photo{position:relative}.cover-tag{position:absolute;left:10px;bottom:10px;background:#fcfbf1ed;color:#365643;border:1px solid #c3cfbb;border-radius:3px;padding:4px 7px;line-height:1.4;font-size:9px;pointer-events:none}.event-card .event-access{font-size:10px;color:#617d68;background:#eef2e9;padding:6px 8px}.range-details{margin:14px 0;border:1px solid #d8dfce;border-radius:4px;padding:10px 12px;background:#f5f6ed}.range-details summary{font-size:11px;font-weight:650;color:#54705c;cursor:pointer}.range-details ul{margin:10px 0 0;padding-left:17px;font-size:11px;color:#5b6d5c;line-height:1.8}.range-details li+li{margin-top:8px}.event-links{flex-wrap:wrap}.catalog-photo[data-cover-art] img{object-position:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.masthead,.hero,.trip-stats,#view-discover,.controls{display:none!important}}

@media(max-width:900px){.catalog-controls .favorite-filter{grid-column:2;grid-row:2}.catalog-controls .search-label{grid-column:1 / -1;grid-row:3}}

.discover-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.discover-actions button{font-family:inherit;background:transparent;color:var(--ink);cursor:pointer}.highway-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.highway-plan{border:1px solid #cbd6c2;border-radius:5px;background:#edf1e6;padding:16px 18px}.highway-plan h4{font-size:16px;margin:0 0 10px}.highway-plan p{font-size:12px;line-height:1.9;margin:8px 0}.highway-road-note{font-size:12px;line-height:1.9;background:#f1eadb;border-left:3px solid #ab8a4e;padding:12px 15px}.event-card .event-status{background:#f2e5d4;color:#8c542e;font-weight:650;font-size:11px;padding:7px 9px;border-radius:3px}.event-card .coast-section-label{color:#7e8662;font-size:10px;font-weight:650}
@media(max-width:900px){.highway-plans{grid-template-columns:1fr}.discover-actions{justify-content:flex-start}.highway-plan p{font-size:13px}}

.highway-options{margin:15px 0;border:1px solid #cbd6c2;border-radius:5px;padding:13px 16px;background:#f2f4ea}.highway-options>summary{font-size:13px;font-weight:650;color:#35614f;cursor:pointer}.highway-options .highway-plans{margin-bottom:3px}.highway-limits{font-size:12px;font-weight:650;color:#8c623b}.catalog-group-heading>span{white-space:nowrap;flex-shrink:0}.catalog-group-heading{gap:12px}.catalog-group-heading h3{min-width:0}
.coast-map-section{margin:44px 0;padding-top:26px;border-top:1px solid var(--line)}.coast-map-section>p:not(.eyebrow){font-size:13px;line-height:1.9}.coast-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.coast-route-card{border:1px solid var(--line);border-top:4px solid var(--route-color);border-radius:5px;padding:17px 19px;background:var(--card)}.coast-route-card h3{font-size:19px;margin:8px 0}.coast-route-card p{font-size:12px;line-height:1.9}.coast-route-card .eyebrow{color:var(--route-color)}.coast-route-card .btn{font-size:12px}.coast-route-metrics{font-size:12px;font-weight:650;color:#4b6653}.coast-diagram{background:#edf0e8;margin:24px 0}.coast-diagram svg{display:block;width:100%;height:auto;max-height:none}.coast-diagram figcaption{padding:10px 16px;font-size:11px;line-height:1.8}.coast-diagram [data-coast-leg],.coast-diagram [data-coast-place]{cursor:pointer}.coast-diagram [data-coast-leg]:hover .geo-route-stroke{stroke-width:8}.map-route-summary{background:#f2f4eb;border:1px solid #d0dac9;border-radius:5px;padding:17px 20px;margin:15px 0}.map-route-summary h3{margin:0 0 10px;font-size:19px}.map-route-summary p{font-size:12px;line-height:1.9}.coast-summary-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.coast-summary-heading>i{width:12px;height:12px;border-radius:50%;flex-shrink:0}.coast-summary-heading h3{margin:0}.coast-route-legend{display:flex;flex-wrap:wrap;gap:12px}.coast-route-legend button{font:inherit;font-size:12px;border:1px solid var(--line);background:var(--card);border-radius:4px;padding:8px 10px;cursor:pointer}.coast-route-legend i{display:inline-block;width:16px;height:4px;vertical-align:middle;margin-right:7px}.coast-stop-list{padding:0;margin:16px 0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.coast-stop-list li{font-size:12px;line-height:1.8;min-width:0}.coast-stop-list li>span{font-family:Georgia,serif;color:#8c987f;margin-right:8px}.coast-stop-list small{display:block;font-size:10px;color:var(--muted);margin-left:24px}.coast-leg-details{padding:12px 14px}.coast-leg-details summary{font-size:12px;cursor:pointer}.map-pin>span{display:block;width:24px;height:24px;border-radius:50%;line-height:24px}.map-pin.coast-closed{background:#8e8b80;border-color:white;color:white}#map-route-summary .source-links{overflow-wrap:anywhere}
@media(max-width:900px){.coast-route-cards{grid-template-columns:1fr}.coast-stop-list{grid-template-columns:1fr}.map-route-summary{padding:15px}.coast-map-section h2{font-size:26px}.coast-map-section .notice{font-size:12px}.coast-summary-heading h3{font-size:18px}.coast-diagram figcaption{padding:10px;font-size:10px}}
.map-controls{flex-wrap:wrap}.map-controls>label:first-child{display:flex;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%}.map-controls>label:first-child select{flex:1;min-width:0;width:100%;max-width:calc(100% - 36px)}
