@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=IBM+Plex+Mono:wght@300;400&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f0efec;--color-text:#111;--color-text-muted:#555;--color-border:#111;--color-border-light:#ccc;--font-serif:"Libre Baskerville",Georgia,serif;--font-mono:"IBM Plex Mono","Courier New",monospace;--spacing:2rem}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-mono);font-weight:300;font-size:.85rem;color:var(--color-text);background-color:var(--color-bg);line-height:1.7;min-height:100dvh;display:flex;flex-direction:column}.header{text-align:left;padding:3rem var(--spacing) 1.5rem;border-bottom:2px solid var(--color-border);margin:0 auto;width:100%;max-width:1200px}.header__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.header__title-link{text-decoration:none;color:inherit}.header__title{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin-bottom:.2rem;text-transform:uppercase}.header__nav{display:flex;align-items:baseline;gap:.5rem}.header__nav-link{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);text-decoration:none;letter-spacing:.05em;text-transform:uppercase;transition:color .2s ease}.header__nav-link:hover{color:var(--color-text)}.header__nav-sep{color:var(--color-border-light)}.header__nav-sep,.header__tagline{font-family:var(--font-mono);font-size:.75rem}.header__tagline{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.gallery{max-width:1200px;margin:0 auto;padding:var(--spacing);width:100%;flex:1 1}.gallery__columns{display:flex;gap:1rem;margin-bottom:1rem}.gallery__column{flex:1 1;display:flex;flex-direction:column;gap:1rem}.gallery__item{cursor:pointer;overflow:hidden;line-height:0}.gallery__item:hover{opacity:.85;transition:opacity .2s ease}.gallery__image{width:100%;height:auto;display:block}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;animation:lightbox-in .25s ease}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox__content{display:flex;width:100%;height:100%;align-items:center}.lightbox__info{width:320px;min-width:320px;padding:3rem;display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch;color:#ccc}.lightbox__info-label{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#777;margin-bottom:.15rem}.lightbox__info-value{font-family:var(--font-mono);font-size:.8rem;color:#ccc;margin-bottom:1.25rem;line-height:1.5}.lightbox__image-wrapper{flex:1 1;display:flex;align-items:center;justify-content:center;height:100%;padding:2rem 2rem 2rem 0}.lightbox__image{max-width:100%;max-height:90vh;object-fit:contain}.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#999;font-size:1.5rem;cursor:pointer;font-family:var(--font-mono);line-height:1;padding:.5rem;transition:color .2s ease}.lightbox__close:hover{color:#fff}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:2rem;cursor:pointer;padding:1rem;font-family:var(--font-mono);transition:color .2s ease}.lightbox__nav:hover{color:#fff}.lightbox__nav--prev{left:320px}.lightbox__nav--next{right:0}.places{max-width:1200px;margin:0 auto;padding:var(--spacing);width:100%;flex:1 1}.places__title{font-family:var(--font-serif);font-size:1.1rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.5rem}.map{position:relative}.map__stats{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:1rem;display:flex;gap:.75rem;align-items:baseline}.map__stat-sep{color:var(--color-border-light)}.map__container{width:100%;line-height:0}.map__container svg{width:100%;height:auto}.map__tooltip{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);text-align:center;padding:.5rem 0;letter-spacing:.05em;text-transform:uppercase;transition:opacity .15s ease;min-height:2rem}.about{max-width:900px;margin:0 auto;padding:var(--spacing);width:100%;flex:1 1}.about__layout{display:flex;gap:3rem;align-items:flex-start}.about__portrait-wrapper{width:280px;min-width:280px;line-height:0}.about__portrait{width:100%;height:auto;display:block}.about__content{flex:1 1}.about__section{margin-bottom:1.75rem}.about__section:last-child{margin-bottom:0}.about__label{font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:.35rem}.about__label,.about__text{font-family:var(--font-mono)}.about__text{font-size:.85rem;font-weight:300;line-height:1.8;color:var(--color-text)}.about__list{list-style:none;padding:0}.about__list-item{font-weight:300;line-height:1.8}.about__link,.about__list-item{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text)}.about__link{text-decoration:none;border-bottom:1px solid var(--color-border-light);transition:border-color .2s ease}.about__link:hover{border-color:var(--color-text)}.about__socials{display:flex;gap:1.25rem;margin-top:.35rem}.footer{text-align:left;padding:1.5rem var(--spacing) 2.5rem;border-top:2px solid var(--color-border);max-width:1200px;margin:0 auto;width:100%}.footer__text{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase}@media (max-width:900px){.lightbox__content{flex-direction:column}.lightbox__info{width:100%;min-width:unset;padding:1.5rem;order:2;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;gap:0 2rem}.lightbox__info-group{min-width:120px}.lightbox__image-wrapper{padding:1rem;order:1;flex:unset}.lightbox__image{max-height:60vh}.lightbox__nav--prev{left:0}}@media (max-width:600px){.header{padding:2rem 1rem 1.25rem}.header__title{font-size:1.3rem}.header__top{flex-direction:column;gap:.25rem}.about__layout{flex-direction:column;gap:1.5rem}.about__portrait-wrapper{width:100%;min-width:unset;max-width:280px}.gallery{padding:.5rem}.gallery__columns{gap:.5rem;margin-bottom:.5rem}.gallery__column{gap:.5rem}}