@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,figure,ol,ul{margin:0}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}}@layer tokens{:root{--canvas:#f6f7f5;--surface:#fff;--surface-subtle:#f0f2ef;--ink:#171a18;--ink-soft:#626864;--ink-faint:#8d938f;--line:#dfe3df;--line-strong:#c9ceca;--vermillion:#c34a36;--moss:#39735a;--indigo:#4869d8;--ochre:#a86d20;--accent:var(--indigo);--display:"Avenir Next", Avenir, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", sans-serif;--body:"Avenir Next", Avenir, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", sans-serif;--mono:"SFMono-Regular", "SF Mono", Consolas, monospace;--gutter:clamp(1.25rem, 4vw, 3.5rem);--max:76rem;--reading:45rem;--radius-sm:.5rem;--radius:.9rem;--radius-lg:1.35rem;--shadow:0 1px 2px #1218140a, 0 10px 30px #1218140d}.accent-vermillion{--accent:var(--vermillion)}.accent-moss{--accent:var(--moss)}.accent-indigo{--accent:var(--indigo)}.accent-ochre{--accent:var(--ochre)}}@layer base{body{min-width:20rem;min-height:100vh;color:var(--ink);background:var(--canvas);font-family:var(--body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:100;border-radius:var(--radius-sm);color:#fff;background:var(--ink);padding:.6rem .9rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.edition{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:600}}@layer layout{.home-shell{width:min(100%,44rem);min-height:100vh;padding:clamp(4rem, 14vh, 9rem) var(--gutter);margin:0 auto}.home-shell h1{font-family:var(--display);letter-spacing:-.02em;margin-bottom:2.5rem;font-size:1rem;font-weight:650;line-height:1.2}.site-bar,.site-footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--ink-faint);padding:1.35rem 0 2.5rem;font-size:.75rem}.site-bar{z-index:20;width:100%;min-height:4rem;padding:0 max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));backdrop-filter:blur(16px)saturate(150%);background:#f6f7f5db;border-bottom:1px solid #c9cecacc;position:sticky;top:0}.site-mark{letter-spacing:-.02em;align-items:center;gap:.55rem;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex}.site-mark__number{color:#fff;background:var(--accent);width:1.45rem;height:1.45rem;font-family:var(--mono);letter-spacing:0;border-radius:.38rem;place-items:center;font-size:.58rem;display:grid}.site-bar__meta{color:var(--ink-faint);align-items:center;gap:.65rem;font-size:.72rem;display:flex}.content-shell{width:min(100%, var(--max));padding:0 var(--gutter);margin:0 auto}.prose{padding:clamp(2rem,5vw,4rem) 0 clamp(6rem,12vw,10rem)}.site-footer{width:min(calc(100% - 2 * var(--gutter)), calc(var(--max) - 2 * var(--gutter)));margin:0 auto}.site-footer a{color:var(--ink);font-weight:650;text-decoration:none}.not-found{min-height:100vh;padding:var(--gutter);text-align:center;place-content:center;display:grid}.not-found__number{color:var(--line-strong);letter-spacing:-.08em;font-size:clamp(6rem,24vw,13rem);font-weight:650;line-height:.9}.not-found h1{letter-spacing:-.05em;margin-top:1rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:600}.not-found>p:not(.eyebrow,.not-found__number){color:var(--ink-soft);margin:.8rem 0 2rem}.not-found a{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);justify-self:center;padding:.65rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none}}@layer components{.page-list{border-top:1px solid var(--line);padding:0;list-style:none}.page-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.95rem 0;display:flex}.page-list a{text-decoration-color:var(--line-strong);text-underline-offset:.25em;font-size:.95rem;font-weight:500;line-height:1.5;text-decoration-thickness:1px}.page-list a:hover{text-decoration-color:currentColor}.page-list time{color:var(--ink-faint);font-family:var(--mono);white-space:nowrap;flex:none;font-size:.68rem}.empty-state{border-top:1px solid var(--line);color:var(--ink-soft);padding:1rem 0;font-size:.9rem}.content-hero{border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 38%), var(--surface);grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);gap:1.25rem clamp(2rem,7vw,7rem);padding:clamp(3rem,8vw,7rem) clamp(1.5rem,4vw,3.5rem);display:grid}.content-hero .eyebrow{color:var(--accent);grid-column:1/-1;margin-bottom:clamp(2rem,5vw,4rem)}.content-hero h1{letter-spacing:-.07em;align-self:end;max-width:48rem;font-size:clamp(3.4rem,8vw,6.8rem);font-weight:600;line-height:.96}.content-hero__summary{color:var(--ink-soft);letter-spacing:-.025em;align-self:end;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.55}.content-hero__note{border-top:1px solid var(--line);color:var(--ink-faint);font-family:var(--mono);grid-column:2;padding-top:1rem;font-size:.65rem;line-height:1.65}.content-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(11rem,.38fr) minmax(0,1fr);gap:clamp(2.5rem,8vw,8rem);padding:clamp(4.5rem,9vw,8rem) 0;display:grid}.content-section__heading{align-self:start;position:sticky;top:6rem}.content-section__heading .eyebrow{color:var(--accent);margin-bottom:.9rem}.content-section__heading h2{letter-spacing:-.045em;max-width:16rem;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:600;line-height:1.15}.content-section__body{max-width:var(--reading);color:#343936;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.85}.content-section__body>*+*{margin-top:1.5rem}.content-section__body>p{text-wrap:pretty}.content-section__body a{text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:.22em;text-decoration-thickness:1px}.callout{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:clamp(2.5rem,6vw,5rem) 0;padding:clamp(1.4rem,3vw,2rem)}.callout__title{color:var(--accent);align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.75rem;font-weight:700;display:inline-flex}.callout__title:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.callout__body{max-width:52rem;color:var(--ink);font-size:clamp(1rem,1.7vw,1.17rem);line-height:1.7}.callout--warning{--accent:var(--ochre);background:#fcf8f1}.callout--tip{--accent:var(--moss);background:#f3f8f5}.timeline{border-top:1px solid var(--line-strong);padding:0;list-style:none}.timeline__item{border-bottom:1px solid var(--line);grid-template-columns:6rem 1fr;gap:1.5rem;padding:1.35rem 0;display:grid}.timeline__label{color:var(--accent);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;padding-top:.15rem;font-size:.67rem;font-weight:650}.timeline h3,.checklist h3,.itinerary h3{color:var(--ink);letter-spacing:-.015em;font-size:1rem;font-weight:650}.timeline h3+p,.itinerary h3+p{color:var(--ink-soft);margin-top:.25rem;font-size:.88rem;line-height:1.6}.checklist{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(1.25rem,3vw,1.75rem)}.checklist h3{margin-bottom:1rem}.checklist ul{gap:0;padding:0;list-style:none;display:grid}.checklist li{border-top:1px solid var(--line);color:var(--ink-soft);grid-template-columns:1.4rem 1fr;gap:.55rem;padding:.72rem 0;font-size:.9rem;line-height:1.55;display:grid}.checklist li span{color:var(--accent);font-weight:750}.gallery{gap:1rem;display:grid}.gallery--2{grid-template-columns:repeat(2,1fr)}.gallery--3{grid-template-columns:repeat(3,1fr)}.gallery figure{border-radius:var(--radius);background:var(--surface);overflow:hidden}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery figcaption{color:var(--ink-soft);padding:.7rem .8rem;font-size:.72rem;line-height:1.5}.itinerary{gap:.65rem;display:grid}.itinerary__day{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:3rem 1fr auto;gap:1rem;padding:1.15rem;display:grid}.itinerary__index{color:#fff;background:var(--accent);width:2.35rem;height:2.35rem;font-family:var(--mono);border-radius:.65rem;place-items:center;font-size:.65rem;font-weight:650;display:grid}.itinerary__distance{color:var(--ink-faint);font-family:var(--mono);white-space:nowrap;align-self:center;font-size:.65rem}.budget-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.budget-table table{border-collapse:collapse;width:100%;font-size:.86rem}.budget-table th,.budget-table td{border-bottom:1px solid var(--line);text-align:left;padding:.85rem 1rem}.budget-table tbody tr:last-child td{border-bottom:0}.budget-table thead{color:var(--ink-faint);background:var(--surface-subtle);font-size:.68rem}.budget-table tfoot{color:#fff;background:var(--ink);font-size:.75rem}.budget-table tfoot th,.budget-table tfoot td{border:0}}@layer utilities{@media (width<=760px){.content-hero,.content-section{grid-template-columns:1fr}.site-bar__meta span:first-child{display:none}.content-hero__summary,.content-hero__note{grid-column:1}.content-hero .eyebrow{margin-bottom:1.5rem}.content-hero__summary{margin-top:1rem}.content-section{gap:2rem}.content-section__heading{position:static}.content-section__heading h2{max-width:28rem}.gallery--3{grid-template-columns:repeat(2,1fr)}.itinerary__day{grid-template-columns:2.6rem 1fr}.itinerary__distance{grid-column:2}}@media (width<=480px){.site-footer{flex-direction:column;align-items:flex-start}.content-hero{border-radius:var(--radius);padding:2rem 1.25rem}.content-hero h1{font-size:clamp(2.9rem,16vw,4.5rem)}.site-bar__meta span[aria-hidden=true]{display:none}.timeline__item{grid-template-columns:4.7rem 1fr;gap:.8rem}.gallery--2,.gallery--3{grid-template-columns:1fr}.budget-table th,.budget-table td{padding:.75rem .7rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}@media print{body{background:#fff}.site-bar,.site-footer{display:none}.content-hero{border:0}.content-section__heading{position:static}a{text-decoration:none}}}
