:root{--depth-900: #06121a;--depth-800: #0a1c27;--depth-700: #102a38;--surface: #0d232f;--line: #1c3a49;--mist: #e9f1f3;--mist-dim: #93abb6;--aqua: #58d2c6;--aqua-deep: #2b8e87;--sand: #d9c7a3;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--step-eyebrow: clamp(.7rem, .66rem + .2vw, .8rem);--step-body: clamp(1rem, .96rem + .2vw, 1.1rem);--step-h2: clamp(1.4rem, 1.1rem + 1.4vw, 2.2rem);--step-h1: clamp(2rem, 1.4rem + 3vw, 3.8rem);--pad: clamp(1rem, .5rem + 3vw, 3.5rem);--gap: clamp(.6rem, .4rem + 1vw, 1.1rem);--radius: 14px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);font-size:var(--step-body);line-height:1.6;color:var(--mist);background:radial-gradient(120% 90% at 50% -10%,var(--depth-700) 0%,transparent 55%),radial-gradient(90% 70% at 80% 110%,var(--depth-800) 0%,transparent 50%),var(--depth-900);background-attachment:fixed;min-height:100vh}a{color:var(--aqua);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0}.eyebrow{font-family:var(--mono);font-size:var(--step-eyebrow);text-transform:uppercase;letter-spacing:.18em;color:var(--aqua);margin:0 0 .6rem}:focus-visible{outline:2px solid var(--aqua);outline-offset:3px;border-radius:4px}.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.2rem var(--pad);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:1.25rem;color:var(--mist)}.site-header nav{font-family:var(--mono);font-size:var(--step-eyebrow);text-transform:uppercase;letter-spacing:.15em}.site-header nav a{color:var(--mist-dim)}main{display:block}section{padding:clamp(2rem,1rem + 4vw,4.5rem) var(--pad)}.site-footer{padding:2.5rem var(--pad);border-top:1px solid var(--line);color:var(--mist-dim);font-family:var(--mono);font-size:var(--step-eyebrow)}.hero{max-width:60ch}.hero h1{font-size:var(--step-h1);margin-bottom:.5rem}.hero p{color:var(--mist-dim);font-size:clamp(1rem,.9rem + .6vw,1.3rem);max-width:48ch}.section-head{margin-bottom:clamp(1rem,.5rem + 2vw,2rem)}.section-head h2{font-size:var(--step-h2)}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1rem,.5rem + 2vw,2rem);align-items:start}.trip-card{display:block;color:inherit;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);transition:transform .25s ease,border-color .25s ease}.trip-card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--aqua-deep)}.trip-card .cover{width:100%;height:auto;background:var(--depth-700)}.trip-card .body{padding:1rem 1.1rem 1.25rem}.trip-card h3{font-size:1.4rem;margin-bottom:.25rem}.trip-card .meta{font-family:var(--mono);font-size:var(--step-eyebrow);color:var(--mist-dim);letter-spacing:.04em}.map-frame{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--depth-800)}.map{width:100%}.map-frame figcaption{font-family:var(--mono);font-size:var(--step-eyebrow);color:var(--mist-dim);padding:.6rem .9rem;border-top:1px solid var(--line)}.leaflet-container{background:var(--depth-900)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--mist);border:1px solid var(--line)}.map-pop{display:block;width:150px}.map-pop img{width:100%;height:90px;object-fit:cover;border-radius:6px;margin-bottom:.4rem}.map-pop span{font-family:var(--serif);font-style:italic}.gallery{column-count:1;column-gap:var(--gap)}@media(min-width:540px){.gallery{column-count:2}}@media(min-width:900px){.gallery{column-count:3}}@media(min-width:1300px){.gallery{column-count:4}}.shot{display:block;width:100%;margin:0 0 var(--gap);padding:0;border:0;background:none;cursor:pointer;position:relative;break-inside:avoid;border-radius:10px;overflow:hidden;color:inherit}.shot picture,.shot img{width:100%;height:auto}.shot img{background-size:cover;background-position:center;transition:transform .4s ease}.shot:hover img{transform:scale(1.03)}.shot-meta{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:.15rem;padding:1.6rem .8rem .7rem;background:linear-gradient(to top,rgba(6,18,26,.92),transparent);opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;text-align:left}.shot:hover .shot-meta,.shot:focus-visible .shot-meta{opacity:1;transform:none}.shot-meta .species{font-family:var(--serif);font-style:italic;color:var(--mist)}.shot-meta .note{font-size:.85rem;color:var(--mist-dim)}.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:#040c12f2;padding:clamp(.5rem,2vw,2rem)}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(100%,1400px);max-height:100%;display:flex;flex-direction:column;gap:.6rem}.lightbox img{max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;border-radius:8px}.lightbox figcaption{font-family:var(--mono);font-size:.85rem;color:var(--mist-dim);text-align:center}.lightbox .lb-species{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--mist)}.lightbox .lb-note{color:var(--mist);margin:.1rem 0}.lightbox button{position:absolute;background:#0d232fb3;color:var(--mist);border:1px solid var(--line);border-radius:50%;width:46px;height:46px;font-size:1.4rem;cursor:pointer;line-height:1}.lightbox .lb-close{top:1rem;right:1rem}.lightbox .lb-prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:1rem;top:50%;transform:translateY(-50%)}.trip-header{max-width:60ch}.trip-header h1{font-size:var(--step-h1);margin-bottom:.4rem}.trip-header p{color:var(--mist-dim)}.stack>*+*{margin-top:clamp(1.5rem,.8rem + 2.5vw,3rem)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.shot:hover img,.trip-card:hover{transform:none}}
