:root{--ink:#151616;--paper:#f3f0e9;--blue:#2746d8;--lime:#b7e853;--line:#d8d4ca}
body{background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif}
.site-header{background:rgba(243,240,233,.92)}
button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.hero{min-height:620px}.hero:after{background:linear-gradient(90deg,rgba(10,11,12,.88),rgba(10,11,12,.38) 58%,rgba(10,11,12,.08))}
.hero-copy>p:not(.eyebrow){font-size:1.02rem}.photo-meta{letter-spacing:.05em}
.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin:-.5rem 0 .75rem}.filter-bar button{padding:.65rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:99px;color:#fff;font-size:.78rem}.filter-bar button.active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.filter-status{margin:0 0 1.5rem;color:rgba(255,255,255,.55);font-size:.75rem}
.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:360px}.trip-card:first-child{grid-row:auto}.trip-card:nth-child(3n+1){grid-column:span 2}.trip-card img{filter:saturate(.92)}.trip-copy small{font-size:.66rem}.trip-card[hidden]{display:none}
.timeline{max-width:1050px}.year-trips{display:flex;flex-wrap:wrap;gap:.55rem;padding-bottom:1.5rem}.year-trips button{padding:.7rem .9rem;background:#e6e1d7;border-radius:4px;text-align:left}.year-trips button span{margin-left:.5rem;color:var(--blue)}
.back-link{position:fixed;z-index:30;left:4vw;top:84px;padding:.65rem .9rem;border-radius:99px;background:rgba(17,19,24,.82);color:#fff;backdrop-filter:blur(10px)}
.journey-hero{min-height:600px}.journey-hero>img{min-height:600px}.gallery-section{background:#121313}.gallery-grid button{border-radius:2px}.gallery-grid button:focus-visible{outline-offset:-4px}.lightbox img{box-shadow:0 18px 70px rgba(0,0,0,.45)}
.footer{color:#55534e}
@media(max-width:720px){.site-header{padding:0 .75rem}.site-header nav{gap:.25rem}.site-header nav button{display:block!important;padding:.5rem;font-size:.68rem}.site-header .nav-cta{display:none!important}.trip-grid{grid-template-columns:1fr;grid-auto-rows:280px}.trip-card:nth-child(n){grid-column:auto}.section-head{align-items:flex-start}.back-link{left:1rem;top:70px}.journey-hero>img{min-height:330px}.journey-copy h1{font-size:clamp(3.2rem,17vw,5rem)}.footer{gap:.6rem}}
@media(max-width:440px){.site-header nav button[data-random-global]{display:none!important}.gallery-grid{columns:1}}
