:root{--paper:#f6f3ed;--ink:#302e2a;--muted:#77736c;--line:#d8d3ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-weight:350}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #80735d;outline-offset:6px}header,main,footer{max-width:1440px;margin:auto}header{padding:44px 5% 45px;display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:37px;font-weight:300;letter-spacing:.22em}nav{display:flex;gap:36px;font-size:14px;letter-spacing:.1em}nav a:hover{color:var(--muted)}main{padding:0 5%}.photo{display:block;border:0;padding:0;background:none;width:100%}.photo img{display:block;width:100%;height:auto}.hero-caption{display:flex;justify-content:space-between;align-items:center;letter-spacing:.16em;font-size:16px}.hero-caption span{font-size:11px;color:var(--muted);letter-spacing:.1em}.hero-caption p{margin:21px 0}.gallery-section{padding-top:86px}.section-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px}h1,h2,h3,p{font-weight:inherit}h1,.section-top h2{font-size:17px;letter-spacing:.15em;margin:0}.tabs{display:flex;gap:27px}.tabs button{border:0;background:none;padding:8px 0;font-size:14px;letter-spacing:.12em;color:var(--muted)}.tabs button[aria-pressed=true]{color:var(--ink);border-bottom:1px solid var(--ink)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:54px 30px;align-items:start}.gallery figure{margin:0}.gallery figure:nth-child(4n+2){padding-top:90px}.gallery .photo img{max-height:720px;object-fit:contain}.gallery figcaption{font-size:11px;color:var(--muted);letter-spacing:.15em;margin-top:14px}.journal{padding:115px 0 100px}.section-top p{font-size:12px;color:var(--muted);letter-spacing:.09em}.story{display:grid;grid-template-columns:1fr 1fr;gap:8%;text-align:left;border:0;background:none;padding:0;width:100%;align-items:center}.story img{width:100%;max-height:440px;object-fit:cover}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.story h3{font-family:Georgia,serif;font-size:47px;margin:25px 0}.story p{font-size:17px;line-height:1.8}.read{display:inline-block;margin-top:30px;font-size:12px;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:10px}.read span{margin-left:45px}.about{border-top:1px solid var(--line);padding:90px 0;display:grid;grid-template-columns:1fr 1.35fr;gap:12%}.about h2,.contact h2{font-family:Georgia,serif;font-size:46px;line-height:1.2;font-weight:400;margin-top:24px}.prose{font-size:16px;line-height:1.95}.prose p{margin:0 0 23px}.contact{border-top:1px solid var(--line);padding:80px 0 90px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:37px}.contact p{line-height:1.7;font-size:14px}.contact label{display:block;font-size:12px;letter-spacing:.05em;margin:22px 0}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;resize:vertical}form button{border:0;background:transparent;padding:12px 0;font-size:12px}button:disabled{cursor:default;color:var(--muted)}.preview-note{color:var(--muted);font-size:12px!important}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;justify-content:space-between}footer .wordmark{font-size:21px}footer p,footer span{font-size:11px;color:var(--muted);letter-spacing:.08em}dialog{border:0}dialog::backdrop{background:#151411ed}body:has(dialog[open]){overflow:hidden}.close{position:absolute;right:22px;top:15px;background:none;border:0;font-size:32px;z-index:2}#lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:transparent;color:white;padding:55px 60px;margin:0}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox img{max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain}#lightbox .prev,#lightbox .next{position:absolute;top:48%;background:#2228;color:white;border:0;font-size:24px;padding:15px}#lightbox .prev{left:5px}#lightbox .next{right:5px}.counter{position:absolute;bottom:10px;font-size:12px;letter-spacing:.15em}#article{background:var(--paper);width:820px;max-width:94vw;max-height:92dvh;padding:65px 10%;overflow:auto}#article article{max-width:600px;margin:auto}#article h2{font:42px Georgia,serif}#article img{width:100%;margin:10px 0 30px}@media(max-width:700px){header{padding:27px 6%;display:block}.wordmark{font-size:30px}nav{gap:22px;font-size:12px;margin-top:28px;flex-wrap:wrap}main{padding:0 6%}.hero-caption{font-size:12px}.hero-caption span{display:none}.gallery-section{padding-top:55px}.gallery{gap:30px 17px}.gallery figure:nth-child(4n+2){padding-top:45px}.gallery figcaption{font-size:9px}.journal{padding:70px 0}.story{grid-template-columns:1fr;gap:30px}.story h3{font-size:36px;margin:15px 0}.read{margin-top:12px}.about,.contact{grid-template-columns:1fr;gap:20px;padding:55px 0}.about h2{font-size:37px}.prose{font-size:15px}.section-top p{font-size:10px}footer{flex-wrap:wrap;gap:15px}footer p{display:none}#article{padding:55px 7%}#lightbox{padding:50px 30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.portrait{display:block;width:100%;height:auto;margin-top:36px;}
.journal-photo{margin:30px 0}.journal-photo img{height:auto;margin:0!important}.journal-photo figcaption{font-size:11px;letter-spacing:.1em;color:var(--muted);margin-top:10px}.story img{height:auto;object-fit:contain;max-height:none;}
/* Independent column heights keep portrait/landscape pairs from leaving empty rows. */
.gallery-flow{grid-auto-rows:1px;row-gap:0}
.gallery-flow figure:nth-child(4n+2){padding-top:0}
.gallery-flow figure:nth-child(2){padding-top:90px}
@media(max-width:700px){.gallery-flow figure:nth-child(2){padding-top:45px}}
.story+.story{margin-top:65px;padding-top:65px;border-top:1px solid var(--line)}
.article-dialog{background:var(--paper);width:820px;max-width:94vw;max-height:92dvh;padding:65px 10%;overflow:auto}
.article-dialog article{max-width:600px;margin:auto}
.article-dialog h2{font:42px/1.2 Georgia,serif}
.article-dialog .prose>img{width:100%;height:auto;margin:10px 0 30px}
.article-dialog .journal-photo img{width:100%;height:auto}
.article-dialog .childhood{max-width:340px;margin:30px auto 40px}
@media(max-width:700px){.article-dialog{padding:55px 7%}.article-dialog h2{font-size:34px}.story+.story{margin-top:40px;padding-top:40px}}
