@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-variable.woff2)format("woff2")}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-variable.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0d0f0f;--color-text:#f2f1ec;--color-text-soft:#d1d3d0;--color-text-muted:#a2a8a5;--color-field-bg:#ffffff0b;--color-field-border:#ffffff1f;--color-field-border-focus:#ffffff6b;--color-placeholder:#ffffff47;--color-button-bg:#f5f5f7;--color-button-text:#0a0a0a;--color-tick:#ffffff47;--color-tick-done:#ffffffeb;--shade-gradient:linear-gradient(to top, #000000c7 0%, #0000006b 40%, #0000 100%);--font-body:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif;--font-display:"Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--frame-max-width:768px;--space-page:clamp(20px, 4vw, 40px);--tick-top:12px;--tick-inset:12px;--tick-height:2px;--tick-gap:4px;--duration-fade:.7s;--duration-caption:.35s;--duration-settle:4s;--settle-scale:1.03;--letter-max-width:34rem;--letter-font-size:clamp(20px, 1.6vw + 14px, 23px);--letter-line-height:1.55;--document-max-width:42rem;--document-font-size:clamp(16px, 1.2vw + 12px, 18px);--nav-height:60px;--page-max-width:56rem;--trip-max-width:82rem;--forecast-row-height:68px;--weather-now-height:218px;--sticky-top:0px;--tap:44px}@media (prefers-reduced-motion:reduce){:root{--duration-fade:.2s;--duration-caption:0s}}html[data-scroll=document]{--sticky-top:calc(var(--safe-top) + var(--nav-height))}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-size-adjust:100%}body{overscroll-behavior:none;overflow:hidden}[hidden]{display:none!important}.app{background:var(--color-bg);touch-action:manipulation;position:fixed;inset:0}.screen{position:absolute;inset:0}html[data-scroll=document],html[data-scroll=document] body{height:auto}html[data-scroll=document]{overscroll-behavior:none;scrollbar-gutter:stable}html[data-scroll=document] body{overflow:visible}html[data-scroll=document] .app{min-height:100vh;position:static}html[data-scroll=document] .screen--page{position:static;overflow:visible}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen--intro{text-align:center;padding:calc(var(--safe-top) + var(--space-page)) calc(var(--safe-right) + var(--space-page)) calc(var(--safe-bottom) + var(--space-page)) calc(var(--safe-left) + var(--space-page));flex-direction:column;justify-content:center;align-items:center;display:flex}.family{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(44px,9vw,64px);font-weight:400;line-height:1}.subtitle{font-family:var(--font-display);color:var(--color-text-muted);margin:14px 0 0;font-size:20px;font-style:italic}.gate-form{flex-direction:column;align-items:center;margin-top:40px;display:flex}.pin{text-align:center;letter-spacing:.45em;text-indent:.45em;background:var(--color-field-bg);border:1px solid var(--color-field-border);width:11ch;height:50px;caret-color:var(--color-text);-webkit-appearance:none;appearance:none;z-index:1;will-change:transform;border-radius:14px;outline:none;padding:0 12px;font-size:22px;transition:transform .34s cubic-bezier(.2,.9,.3,1.15);position:relative}.pin::placeholder{color:var(--color-placeholder);letter-spacing:.2em;text-indent:.2em}.pin:focus{border-color:var(--color-field-border-focus)}.gate-message{min-height:1.5em;color:var(--color-text-muted);margin:18px 0 0;font-size:15px}.tease{z-index:2;padding:0 var(--space-page);font-family:var(--font-display);letter-spacing:-.01em;text-align:center;text-wrap:balance;color:var(--color-text);text-shadow:0 0 48px #ffffff38;opacity:0;pointer-events:none;will-change:transform, opacity, filter;place-items:center;margin:0;font-size:clamp(44px,12vw,128px);font-style:italic;font-weight:400;line-height:1.05;display:grid;position:absolute;inset:0}.tease.is-thrown{animation:2s cubic-bezier(.2,.9,.3,1) forwards tease-fly}@keyframes tease-fly{0%{opacity:0;filter:blur(10px);transform:scale(.2)}22%{opacity:1;filter:blur();transform:scale(1.12)}34%{transform:scale(.98)}44%{transform:scale(1)}82%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(6px);transform:scale(1.14)}}.screen--gate.is-shaking{animation:.26s ease-out impact-shake}@keyframes impact-shake{0%{transform:translate(0)}20%{transform:translate(-7px,4px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,2px)}80%{transform:translate(2px,-1px)}to{transform:translate(0)}}.screen--gate .family,.screen--gate .subtitle{transition:opacity .3s}.screen--gate.is-teasing .family,.screen--gate.is-teasing .subtitle{opacity:.12}.prompt{font-family:var(--font-display);margin:0 0 28px;font-size:28px}.button{background:var(--color-button-bg);min-width:168px;height:50px;color:var(--color-button-text);border:0;border-radius:999px;padding:0 30px;font-size:17px;font-weight:500;transition:opacity .15s,transform .15s}@media (hover:hover){.button:hover{opacity:.9}}.button:active{opacity:.85;transform:scale(.98)}.button:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}@media (prefers-reduced-motion:reduce){.pin{transition:none}.tease.is-thrown{animation:2s linear forwards tease-fade}.screen--gate.is-shaking{animation:none}}@keyframes tease-fade{0%,80%{opacity:1}to{opacity:0}}.nav{z-index:10;height:calc(var(--safe-top) + var(--nav-height));padding:var(--safe-top) calc(var(--safe-right) + var(--space-page)) 0 calc(var(--safe-left) + var(--space-page));background:var(--color-bg);border-bottom:1px solid var(--color-field-border);justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.nav__brand{font-family:var(--font-display);color:var(--color-text);-webkit-tap-highlight-color:transparent;min-height:var(--tap);align-items:center;font-size:24px;font-style:italic;text-decoration:none;display:inline-flex}.nav__brand:focus-visible{outline:2px solid var(--color-text);outline-offset:5px;border-radius:3px}.nav__menu{gap:28px;display:flex}.nav__link{min-height:var(--tap);color:var(--color-text-muted);-webkit-tap-highlight-color:transparent;min-width:var(--tap);justify-content:center;align-items:center;font-size:15px;text-decoration:none;transition:color .2s;display:inline-flex}@media (hover:hover){.nav__link:hover{color:var(--color-text)}}.nav__link:focus-visible{color:var(--color-text);outline:2px solid var(--color-text);outline-offset:5px;border-radius:3px}.nav__link[aria-current=page]{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-field-border-focus);text-decoration-color:var(--color-field-border-focus);text-underline-offset:7px;text-decoration-thickness:1px}.screen--page{-webkit-overflow-scrolling:touch;padding-top:calc(var(--safe-top) + var(--nav-height));overflow-y:auto}.screen--under-nav{padding-top:calc(var(--safe-top) + var(--nav-height) + var(--space-page))}.page{max-width:var(--page-max-width);padding:0 calc(var(--safe-right) + var(--space-page)) calc(var(--safe-bottom) + 72px) calc(var(--safe-left) + var(--space-page));margin:0 auto}.page__head{margin:clamp(36px,7vh,64px) 0 0}.page__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(44px,7vw,72px);font-weight:400;line-height:1.05}.is-landing .page__title{font-size:clamp(56px,12vw,104px)}.page__blurb{color:var(--color-text-muted);margin:16px 0 0;font-size:16px;line-height:1.6}a.button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.row,.row__primary,.row__secondary,.row:after,.nav__link,.button,.stop,.day-index__row,.day-index__title{transition:none}.row:hover:after{transform:none}}.rows{border-top:1px solid var(--color-field-border);width:100%;margin:clamp(40px,7vh,72px) 0 0;padding:0;list-style:none}.row{border-bottom:1px solid var(--color-field-border);color:inherit;-webkit-tap-highlight-color:transparent;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;column-gap:24px;padding:26px 0;text-decoration:none;transition:border-color .2s;display:grid}.row__primary{letter-spacing:-.01em;color:var(--color-text-soft);font-size:clamp(20px,2.5vw,26px);font-weight:500;line-height:1.35;transition:color .2s}.row__secondary{color:var(--color-text-muted);text-align:right;font-size:14px;line-height:1.5;transition:color .2s}.row:after{content:"→";color:var(--color-text-muted);font-size:22px;transition:transform .25s cubic-bezier(.2,.9,.3,1),color .2s}@media (hover:hover){.row:hover{border-bottom-color:var(--color-field-border-focus)}.row:hover .row__primary,.row:hover .row__secondary{color:var(--color-text)}.row:hover:after{color:var(--color-text);transform:translate(6px)}}.row:active .row__primary{color:var(--color-text)}.row:focus-visible{outline:2px solid var(--color-text);outline-offset:6px;border-radius:4px}@media (max-width:560px){.row{grid-template-columns:1fr auto;row-gap:8px}.row__secondary{text-align:left;grid-column:1}.row:after{grid-area:1/2}}.empty{font-family:var(--font-display);color:var(--color-text-muted);margin:clamp(40px,7vh,72px) 0 0;font-size:22px;font-style:italic}.trip{--trip-accent:#dac6a2;max-width:var(--trip-max-width);padding:36px calc(var(--safe-right) + var(--space-page)) calc(var(--safe-bottom) + 80px) calc(var(--safe-left) + var(--space-page));margin:0 auto}.trip__workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.trip__plan,.trip__overview,.trip__day-page{min-width:0}.trip__plan{width:100%;max-width:52rem}.trip__back{min-height:var(--tap);color:var(--color-text-muted);align-items:center;font-size:14px;text-decoration:none;display:inline-flex}.trip__back:hover,.stop__link:hover{color:var(--color-text)}.trip__title,.day__title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(36px,4vw,52px);font-weight:400;line-height:1.08}.trip__title:focus,.day__title:focus{outline:none}.trip__subtitle{color:var(--color-text-muted);margin:14px 0 0;font-size:14px;line-height:1.6}.trip__intro,.day__summary{max-width:42rem;color:var(--color-text-soft);margin:16px 0 0;font-size:16px;line-height:1.7}.trip__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.trip__start,.day__map-button{min-height:var(--tap);border:1px solid var(--color-field-border);color:var(--color-text);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:12px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.trip__start{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.trip__hero{aspect-ratio:21/8;background:var(--color-field-bg);border-radius:8px;margin:28px 0 0;overflow:hidden}.trip__hero img{object-fit:cover;width:100%;height:100%;display:block}.trip__section{margin-top:40px}.trip__heading{letter-spacing:-.02em;margin:0 0 18px;font-size:20px;font-weight:500;line-height:1.4}.trip__text{color:var(--color-text-soft);margin:0;font-size:16px;line-height:1.7}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:0;display:grid}.facts dt{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:500}.facts dd{color:var(--color-text-soft);margin:0;font-size:15px;line-height:1.65}.trip-fold{border-top:1px solid var(--color-field-border)}.trip-fold__summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:64px;list-style:none;display:flex}.trip-fold__summary::-webkit-details-marker{display:none}.trip-fold__summary:after{content:"+";color:var(--color-text-muted);font-size:24px}.trip-fold[open]>.trip-fold__summary:after{content:"−"}.trip-fold__summary .trip__heading{margin:0}.day-index{border-top:1px solid var(--color-field-border);margin:0;padding:0;list-style:none}.day-index__row{border-bottom:1px solid var(--color-field-border);color:inherit;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 0;text-decoration:none;display:grid}.day-index__row:after{content:"↗";color:var(--color-text-muted);font-size:18px}.day-index__thumb{object-fit:cover;background:var(--color-field-bg);border-radius:5px;width:64px;height:64px;display:block}.day-index__body{gap:5px;min-width:0;display:grid}.day-index__when{color:var(--color-text-muted);font-size:12px;line-height:1.4}.day-index__title{font-size:17px;font-weight:500;line-height:1.4}.day-index__places{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:13px;overflow:hidden}.day-index__row:hover .day-index__title{text-underline-offset:4px;text-decoration:underline}.trip__sidebar{top:var(--sticky-top);z-index:5;background:var(--color-bg);min-width:0;padding:8px 0;position:sticky}.trip__navigation{position:relative}.trip-menu__toggle{border-bottom:1px solid var(--color-field-border);min-height:48px;color:var(--color-text-muted);cursor:pointer;align-items:center;gap:12px;padding:10px 0;font-size:14px;list-style:none;display:flex}.trip-menu__toggle::-webkit-details-marker{display:none}.trip-menu__current{text-align:right;min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.trip-menu__chevron{font-size:18px;line-height:1}.trip__navigation[open] .trip-menu__chevron{transform:rotate(180deg)}.trip-menu{overscroll-behavior:contain;border:1px solid var(--color-field-border);scrollbar-width:thin;background:#141717;border-radius:8px;max-height:min(72vh,680px);padding:14px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0000004d}.trip-menu>.trip__back{margin:0 10px;font-size:13px}.trip-menu__title{letter-spacing:-.02em;margin:12px 10px 20px;font-size:17px;font-weight:500;line-height:1.4}.trip-menu__label{color:var(--color-text-muted);margin:25px 12px 8px;font-size:12px;font-weight:500}.trip-menu__days{margin:0;padding:0;list-style:none}.trip-menu__link{min-height:64px;color:var(--color-text-muted);border-left:2px solid #0000;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:11px 10px;text-decoration:none;display:grid}.trip-menu__link--overview{min-height:var(--tap);align-items:center;font-size:14px;display:flex}.trip-menu__number{font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.trip-menu__body{align-content:start;gap:4px;min-width:0;display:grid}.trip-menu__date{font-size:12px;line-height:1.4}.trip-menu__name{font-size:14px;line-height:1.4}.trip-menu__link.is-selected{border-left-color:var(--trip-accent);color:var(--color-text);background:#ffffff09}.trip-menu__link.is-selected .trip-menu__number{color:var(--trip-accent)}.trip-menu__link.is-selected .trip-menu__date{color:var(--color-text-muted)}.trip-menu__link:hover{color:var(--color-text);background:#ffffff09}.trip__day-tools{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.day__when{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;font-size:14px;line-height:1.5;display:flex}.day__count{border-left:1px solid var(--color-field-border);padding-left:14px;font-size:13px}.stops{margin:28px 0 0;padding:0;list-style:none;display:grid}.stop{grid-template-columns:30px minmax(0,1fr);gap:18px;padding:24px 0;display:grid;position:relative}.stop:first-child{padding-top:0}.stop:not(:last-child):after{content:"";background:var(--color-field-border);width:1px;position:absolute;top:60px;bottom:-10px;left:14px}.stop:first-child:after{top:36px}.stop__number{border:1px solid var(--color-field-border);font-variant-numeric:tabular-nums;width:30px;height:30px;color:var(--color-text-muted);border-radius:50%;place-items:center;font-size:11px;display:grid}.stop__content{border-bottom:1px solid var(--color-field-border);grid-template-columns:minmax(0,1fr) 144px;align-content:start;column-gap:28px;min-width:0;padding-bottom:24px;display:grid}.stop--plain .stop__content{grid-template-columns:minmax(0,1fr)}.stop__head{min-width:0}.stop__when{color:var(--trip-accent);margin:1px 0 6px;font-size:13px;line-height:1.5}.stop__name{letter-spacing:-.025em;margin:0;font-size:21px;font-weight:500;line-height:1.35}.stop__photo{object-fit:cover;background:var(--color-field-bg);border-radius:6px;grid-area:1/2/span 3;width:144px;height:112px;display:block}.stop__note{color:var(--color-text-soft);overflow-wrap:anywhere;grid-column:1;margin:10px 0 0;font-size:16px;line-height:1.65}.stop__links{flex-wrap:wrap;grid-column:1;gap:0 22px;margin:10px 0 -10px;display:flex}.stop__link{min-height:var(--tap);color:var(--color-text-muted);text-underline-offset:4px;text-decoration:underline;-webkit-text-decoration-color:var(--color-field-border-focus);text-decoration-color:var(--color-field-border-focus);background:0 0;border:0;align-items:center;padding:0;font-size:13px;display:inline-flex}.day__notes{grid-template-columns:100px minmax(0,1fr);gap:16px 20px;margin:24px 0 0;font-size:15px;line-height:1.65;display:grid}.day__notes:empty{display:none}.day__notes dt{color:var(--color-text-muted);font-size:14px;font-weight:500}.day__notes dd{color:var(--color-text-soft);margin:0}.day__notes--lead{border-top:1px solid var(--color-field-border);padding:18px 0 0}.day__forecast{margin-top:16px;padding:24px}.day__weather-credit{color:var(--color-text-muted);margin:8px 0 0;font-size:11px;line-height:1.6}.day__weather-credit a{color:inherit;text-underline-offset:3px}.day__pagination{border-top:1px solid var(--color-field-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px;padding-top:24px;display:grid}.day__page-link{min-height:var(--tap);color:var(--color-text-soft);align-content:start;gap:8px;font-size:14px;line-height:1.5;text-decoration:none;display:grid}.day__page-link--next{text-align:right}.day__page-label{color:var(--color-text-muted);font-size:13px}.day__page-link:hover>:last-child{text-underline-offset:4px;text-decoration:underline}.status{border-top:1px solid var(--color-field-border);margin:0;padding:0;list-style:none}.status__row{border-bottom:1px solid var(--color-field-border);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-size:15px;line-height:1.5;display:flex}.status__state{color:var(--color-text-muted);flex:none;font-size:13px}.status__state--booked{color:#b8cebf}.checklist{margin:0;padding:0;list-style:none}.checklist__item{min-height:var(--tap);color:var(--color-text-soft);cursor:pointer;align-items:flex-start;gap:14px;padding:12px 0;font-size:15px;line-height:1.6;display:flex}.checklist--static .checklist__item{cursor:default}.checklist__item input{width:18px;height:18px;accent-color:var(--trip-accent);flex:none;margin:3px 0 0}.checklist__item.is-ticked span{color:var(--color-text-muted);text-decoration:line-through}.credits{color:var(--color-text-muted);margin:0;padding:0;font-size:13px;line-height:1.8;list-style:none}.credits li{padding:6px 0}.credits a{color:inherit;text-underline-offset:3px}html.is-map-open{overflow:hidden}.trip-map{width:min(100% - 40px,960px);max-height:calc(100vh - 48px);border:1px solid var(--color-field-border);max-height:calc(100dvh - 48px);color:var(--color-text);overscroll-behavior:contain;background:#141717;border-radius:12px;margin:auto;padding:0;overflow-y:auto}.trip-map::backdrop{background:#000000bf}.trip-map__head{z-index:2;background:#141717;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;display:flex;position:sticky;top:0}.trip__map-heading{margin:0;font-size:18px;font-weight:500}.trip-map__close{width:var(--tap);height:var(--tap);color:var(--color-text-muted);background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;font-size:28px;display:grid}.trip-map__close:hover{background:var(--color-field-bg);color:var(--color-text)}.trip__map{background:#1a1e1e;border-radius:6px;height:min(50vh,460px);min-height:220px;margin:0 24px;position:relative;overflow:hidden}.trip__canvas{width:100%;height:100%}.trip__placeholder{text-align:center;background:#1a1e1e;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.trip__placeholder-text{max-width:28rem;color:var(--color-text-muted);margin:0;font-size:15px;line-height:1.6}.trip__map.is-open .trip__placeholder{opacity:0;pointer-events:none}.trip__map.is-unavailable{height:auto;min-height:84px}.trip-map__stops{counter-reset:map-stop;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:20px 24px 24px;padding:0;list-style:none;display:grid}.trip-map__stops li{border-bottom:1px solid var(--color-field-border);counter-increment:map-stop;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:14px 0;display:grid}.trip-map__stops li:before{content:counter(map-stop);color:var(--color-text-muted);padding-top:2px;font-size:12px}.trip-map__stops a{color:var(--color-text);gap:4px;font-size:14px;line-height:1.5;text-decoration:none;display:grid}.trip-map__stops a:hover{text-underline-offset:3px;text-decoration:underline}.trip-map__stops a>span:first-child:after{content:" ↗";color:var(--color-text-muted)}.trip-map__time{color:var(--color-text-muted);font-size:12px}.trip :is(a,button,summary):focus-visible{outline:2px solid var(--trip-accent);outline-offset:4px;border-radius:3px}.trip-menu__link:focus-visible{outline-offset:-2px}@media (min-width:960px){.trip__workspace{grid-template-columns:232px minmax(0,1fr);gap:56px}.trip__sidebar{top:calc(var(--sticky-top) + 28px);max-height:calc(100vh - var(--sticky-top) - 52px);overscroll-behavior:contain;border-right:1px solid var(--color-field-border);scrollbar-width:thin;padding:0 20px 8px 0;overflow-y:auto}.trip-menu__toggle{display:none}.trip-menu{max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static;overflow:visible}}@media (max-width:959px){.trip{padding-top:12px}.trip__day-tools{margin-bottom:22px}}@media (max-width:639px){.trip__title,.day__title{font-size:36px}.trip__intro,.day__summary{font-size:15px;line-height:1.65}.trip__hero{aspect-ratio:16/8;margin-top:24px}.facts{grid-template-columns:minmax(0,1fr);gap:18px}.facts dt{margin-bottom:4px}.trip__section{margin-top:32px}.day-index__row{grid-template-columns:52px minmax(0,1fr) auto;gap:12px;padding:16px 0}.day-index__thumb{width:52px;height:56px}.day-index__title{font-size:16px}.day-index__places{display:none}.day__when{gap:8px 10px;font-size:13px}.day__count{padding-left:10px;font-size:12px}.stop{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:20px 0}.stop:not(:last-child):after{left:12px}.stop__number{width:26px;height:26px;font-size:10px}.stop__content{grid-template-columns:minmax(0,1fr) 80px;column-gap:14px;padding-bottom:20px}.stop__photo{grid-row:1;width:80px;height:80px}.stop__name{font-size:19px;line-height:1.35}.stop__when{font-size:12px}.stop__note,.stop__links{grid-column:1/-1}.stop__note{margin-top:14px;font-size:15px}.stop__links{gap:0 18px}.day__notes{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:20px}.day__notes dd+dt{margin-top:12px}.day__notes--lead{font-size:14px}.day__forecast{padding:20px 14px}.day__pagination{gap:20px}.day__page-link{font-size:13px}.trip-map{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.trip-map__head{padding:8px 16px}.trip__map{margin:0 16px}.trip-map__stops{grid-template-columns:minmax(0,1fr);margin:16px}}.wx-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;color:#bacbd8;flex:none;width:1.5em;height:1.5em}.wx-icon[data-condition=clear],.wx-icon[data-condition=mostly-clear],.wx-icon[data-condition=partly-cloudy]{color:#e7c581}.wx-icon[data-condition=rain],.wx-icon[data-condition=showers],.wx-icon[data-condition=drizzle],.wx-icon[data-condition=storm]{color:#9fc9e9}.weather{--weather-muted:var(--color-text-muted);--weather-line:var(--color-field-border);--weather-columns:minmax(0, 1fr) 42px 42px 48px;border:1px solid var(--weather-line);font-variant-numeric:tabular-nums;background:#141919;border-radius:8px;overflow:hidden}.weather:focus-visible{outline-offset:4px;outline:2px solid #9fc9e9}.weather__now{min-height:var(--weather-now-height);background:#191f1e;align-content:start;gap:16px;padding:24px;display:grid}.weather__header,.weather__forecast-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.weather__place{margin:0;font-size:20px;font-weight:500;line-height:1.3}.weather__badge{color:#c6d2da;flex:none;font-size:13px;font-weight:500;line-height:1.2}.weather__reading{justify-content:space-between;align-items:center;gap:16px;display:flex}.weather__temperature{letter-spacing:-.055em;align-items:flex-start;min-height:64px;font-size:64px;font-weight:300;line-height:1;display:flex}.weather__unit{letter-spacing:0;color:#c6d2da;margin:7px 0 0 5px;font-size:24px;font-weight:400}.weather__reading>.wx-icon{stroke-width:1.2px;width:70px;height:70px;margin-right:4px}.weather__condition{color:#d2dce3;margin:8px 0 0;font-size:15px;line-height:1.4}.weather__range{color:#d2dce3;flex-wrap:wrap;gap:6px 16px;min-height:18px;margin:0;font-size:12px;line-height:1.5;display:flex}.weather__range>:first-child{color:var(--weather-muted)}.weather__outlook{padding:22px 24px 0}.weather__forecast-heading{margin-bottom:18px}.weather__forecast-heading h3{margin:0;font-size:15px;font-weight:500;line-height:1.4}.weather__forecast-heading>span{color:var(--weather-muted);font-size:12px}.forecast__head,.forecast__button{grid-template-columns:var(--weather-columns);align-items:center;column-gap:8px;display:grid}.forecast__head{color:var(--weather-muted);padding-bottom:10px;font-size:12px;line-height:1.4}.forecast__head>:not(:first-child){text-align:right}.forecast{margin:0;padding:0;list-style:none}.forecast__day{min-height:var(--forecast-row-height);border-top:1px solid var(--weather-line);font-size:14px;line-height:1.4;position:relative}.forecast__button{width:100%;min-height:var(--forecast-row-height);text-align:left;color:inherit;font-size:inherit;line-height:inherit;scroll-margin-top:calc(var(--sticky-top) + 12px);background:0 0;border:0;border-radius:8px;padding:10px 0;text-decoration:none}.forecast__button:disabled{cursor:wait}:is(.forecast__button:focus-visible,.hourly__period:focus-visible){outline-offset:-2px;outline:2px solid #9fc9e9}.forecast__date{align-items:center;gap:7px;display:flex}.forecast__when{white-space:nowrap}.forecast__chevron{border:solid var(--weather-muted);border-width:0 1px 1px 0;flex:none;width:5px;height:5px;margin-top:-3px;transform:rotate(-45deg)}.weather__hint{color:var(--weather-muted);margin:-7px 0 16px;font-size:12px;line-height:1.5}.forecast__summary{align-items:center;gap:12px;min-width:0;display:flex}.forecast__summary .wx-icon,.forecast__icon-placeholder{flex:none;width:26px;height:26px}.forecast__details{gap:3px;min-width:0;display:grid}.forecast__when{font-size:13px;font-weight:500}.forecast__condition{color:var(--weather-muted);font-size:12px}.forecast__high,.forecast__low,.forecast__rain{text-align:right}.forecast__high{font-weight:500}.forecast__low{color:var(--weather-muted)}.forecast__rain{color:#b4d2e8;font-size:12px}.forecast__day.is-today .forecast__when{color:#e7c581}.weather__skeleton{background:#c3d5e41a;border-radius:4px;width:26px;height:12px;display:inline-block}.weather__temperature .weather__skeleton{border-radius:8px;width:92px;height:54px;margin-top:6px}.weather__note,.weather__foot{color:var(--weather-muted);margin:0;font-size:12px;line-height:1.6}.weather__outlook>.weather__note{padding-top:14px}.weather__foot{padding:18px 24px 20px;font-size:11px}.weather__foot a{color:inherit;text-underline-offset:3px}.weather__foot a:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #9fc9e9}.weather__unavailable{padding:24px}.weather__error{margin:18px 0 8px;font-size:15px;line-height:1.5}.weather__retry{min-height:var(--tap);border:1px solid var(--weather-line);background:#202e39;border-radius:10px;justify-content:center;align-items:center;margin-top:18px;padding:0 18px;font-size:13px;display:inline-flex}.weather__retry:focus-visible{outline-offset:4px;outline:2px solid #9fc9e9}@media (hover:hover){.weather__retry:hover{background:#2a3b48}.forecast__button:not(:disabled):hover{background:#9fc9e90f}.hourly__period:hover{color:var(--color-text)}}.hourly__title{margin:0;font-size:18px;font-weight:500;line-height:1.5}.hourly__subtitle{color:var(--weather-muted);margin:5px 0 20px;font-size:13px;line-height:1.5}.hourly__chart{margin:0 0 24px}.hourly__chart figcaption{color:var(--weather-muted);flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:5px;font-size:12px;line-height:1.4;display:flex}.hourly__chart figcaption>:last-child{color:#e7c581}.hourly__chart svg{width:100%;height:76px;display:block;overflow:visible}.hourly__chart-fill{fill:#e7c5810f}.hourly__chart-line{fill:none;stroke:#e7c581;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.hourly__axis{color:var(--weather-muted);justify-content:space-between;gap:4px;margin-top:7px;font-size:10px;display:flex}.hourly__heading{margin:0 0 10px;font-size:13px;font-weight:500}.hourly__periods{border:1px solid var(--weather-line);background:0 0;border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:14px;padding:3px;display:grid}.hourly__period{min-height:var(--tap);color:var(--weather-muted);background:0 0;border:0;border-radius:3px;padding:0 3px;font-size:13px;line-height:1.3}.hourly__period[aria-pressed=true]{color:var(--color-text);background:#303b37}.hourly__table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px;line-height:1.4}.hourly__col-time{width:44%}.hourly__col-temperature{width:24%}.hourly__col-rain,.hourly__col-wind{width:16%}.hourly__table th{font-weight:400}.hourly__table thead th{vertical-align:top;color:var(--weather-muted);padding:0 0 10px;font-size:12px}.hourly__table th,.hourly__table td{text-align:right}.hourly__table th:first-child{text-align:left}.hourly__table tbody th,.hourly__table tbody td{border-top:1px solid var(--weather-line);vertical-align:middle;height:60px;padding:9px 0}.hourly__when{align-items:center;gap:8px;padding-right:4px;font-size:14px;font-weight:500;display:flex}.hourly__when>div{min-width:0}.hourly__when .wx-icon,.hourly__icon-placeholder{flex:none;width:20px;height:20px}.hourly__condition,.hourly__feels,.hourly__table-unit{color:var(--weather-muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.hourly__condition{overflow-wrap:anywhere}.hourly__table-unit{margin-top:1px}.hourly__rain{color:#b4d2e8}.day__weather{border:0;border-top:1px solid var(--color-field-border);border-bottom:1px solid var(--color-field-border);text-align:left;width:100%;min-height:76px;color:var(--color-text-muted);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:24px 0 0;padding:14px 0;font-size:14px;line-height:1.5;display:grid}.day__weather--summary{grid-template-columns:24px minmax(0,1fr) auto}.day__weather-reading{gap:3px;display:grid}.day__weather-condition{color:var(--color-text-soft)}.day__weather-range{font-size:13px}.day__weather:disabled{cursor:default;grid-template-columns:minmax(0,1fr)}.day__weather-more{color:var(--color-text-soft);text-underline-offset:3px;font-size:13px;text-decoration:underline;display:inline-block}.day__weather-more:after{content:" +";text-decoration:none}.day__weather[aria-expanded=true] .day__weather-more:after{content:" −"}.day__weather:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #9fc9e9}.day__weather .wx-icon{width:22px;height:22px}@media (max-width:420px){.weather{--weather-columns:minmax(0, 1fr) 31px 31px 39px;border-radius:8px}.weather__now,.weather__unavailable{padding:20px 16px}.weather__outlook{padding:20px 16px 0}.weather__foot{padding:18px 16px}.forecast__head,.forecast__button{column-gap:6px}.forecast__summary{gap:8px}.forecast__summary .wx-icon,.forecast__icon-placeholder{width:22px;height:22px}.forecast__when,.forecast__high,.forecast__low{font-size:12px}.forecast__condition{font-size:11px}}@media (max-width:639px){.day__weather{gap:4px 10px}.day__weather--summary{grid-template-columns:24px minmax(0,1fr)}.day__weather-more{grid-column:2}.hourly__table,.hourly__when{font-size:13px}.hourly__condition,.hourly__feels{font-size:11px}.hourly__period{font-size:12px}}@media (max-width:360px){.hourly__periods{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-line{display:block}.class-line+.class-line{margin-top:4px}.class-hours{white-space:nowrap}.week__summary{min-height:var(--tap);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.week__summary::-webkit-details-marker{display:none}.week__summary .trip__heading{margin:0}.week__summary:after{content:"+";color:var(--color-text-muted);flex:none;font-size:28px;line-height:1;transition:color .15s}.week[open] .week__summary:after{content:"−"}@media (hover:hover){.week__summary:hover:after{color:var(--color-text)}}.week__summary:focus-visible{outline:2px solid var(--color-text);outline-offset:4px;border-radius:3px}.week__note{color:var(--color-text-muted);margin:12px 0 0;font-size:13px;line-height:1.6}.week__list{grid-template-columns:max-content minmax(0,1fr);gap:12px 20px;margin:16px 0 0;font-size:15px;line-height:1.5;display:grid}.week__list dt{color:var(--color-text-muted);font-size:14px;font-weight:500}.week__list dd{color:var(--color-text-soft);margin:0}.screen--memory{background:var(--color-bg);overflow:hidden}.stage{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.frame{width:100%;max-width:var(--frame-max-width);height:100%;margin:0 auto;position:relative;overflow:hidden}.layer{z-index:0;object-fit:contain;opacity:0;pointer-events:none;transform-origin:50%;will-change:opacity, transform;width:100%;height:100%;position:absolute;inset:0}.layer.is-visible,.layer.is-leaving{animation:settle var(--duration-settle) ease-out forwards}.layer.is-visible{opacity:1}.layer.is-leaving{z-index:1;opacity:0;transition:opacity var(--duration-fade) ease}@keyframes settle{0%{transform:scale(var(--settle-scale))}to{transform:scale(1)}}.shade{z-index:2;background:var(--shade-gradient);pointer-events:none;height:40%;transition:opacity var(--duration-caption) ease;position:absolute;inset:auto 0 0}.caption{z-index:2;padding:0 calc(var(--safe-right) + var(--space-page)) calc(var(--safe-bottom) + 30px) calc(var(--safe-left) + var(--space-page));pointer-events:none;transition:opacity var(--duration-caption) ease;position:absolute;inset:auto 0 0}.caption p{margin:0}.caption__month{letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:500}.caption__month:not([hidden])+.caption__text{margin-top:8px}.caption__text{max-width:30rem;color:var(--color-text);font-size:17px;line-height:1.4}.stage:not(.has-caption) .shade,.stage:not(.has-caption) .caption,.stage.is-letter .shade,.stage.is-letter .caption{opacity:0}.ticks{z-index:5;top:calc(var(--safe-top) + var(--tick-top));right:calc(var(--safe-right) + var(--tick-inset));left:calc(var(--safe-left) + var(--tick-inset));gap:var(--tick-gap);pointer-events:none;display:flex;position:absolute}.tick{height:var(--tick-height);border-radius:var(--tick-height);background:var(--color-tick);flex:1 1 0;position:relative;overflow:hidden}.tick__fill{background:var(--color-tick-done);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.tick.is-done .tick__fill{transform:scaleX(1)}.letter{z-index:4;overscroll-behavior:contain;padding:calc(var(--safe-top) + var(--tick-top) + var(--tick-height) + 40px) calc(var(--safe-right) + var(--space-page)) calc(var(--safe-bottom) + 56px) calc(var(--safe-left) + var(--space-page));background:var(--color-bg);opacity:0;visibility:hidden;transition:opacity var(--duration-fade) ease, visibility 0s linear var(--duration-fade);position:absolute;inset:0;overflow-y:auto}.letter.is-visible{opacity:1;visibility:visible;transition:opacity var(--duration-fade) ease}.letter__again{margin:48px auto 0;display:block}.letter__back{text-align:center;letter-spacing:.12em;text-indent:.12em;color:var(--color-text-muted);width:fit-content;min-height:var(--tap);justify-content:center;align-items:center;margin:12px auto 0;padding:0 14px;font-size:14px;text-decoration:none;display:flex}@media (hover:hover){.letter__back:hover{color:var(--color-text)}}.letter__back:focus-visible{color:var(--color-text);outline:2px solid var(--color-text);outline-offset:5px;border-radius:3px}.letter__body{max-width:var(--letter-max-width);white-space:pre-wrap;overflow-wrap:break-word;font-family:var(--font-display);font-size:var(--letter-font-size);line-height:var(--letter-line-height);color:var(--color-text-soft);margin:0 auto}.rain{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rain__drop{-webkit-user-select:none;user-select:none;will-change:transform, opacity;line-height:1;position:absolute;top:0;left:0}@media (prefers-reduced-motion:reduce){.layer.is-visible,.layer.is-leaving{animation:none}}
