:root { --ink:#1f2e27; --muted:#68736a; --paper:#f4f1e8; --rose:#a55345; --line:#d9d6ca; --wash:#e7e5da; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.62 Georgia, 'Times New Roman', serif; }
.masthead { width:min(100% - 4rem, 1240px); margin:0 auto; display:grid; grid-template-columns:1fr minmax(250px, 410px) auto; gap:3rem; align-items:center; padding:1.25rem 0 1.15rem; border-bottom:1px solid var(--line); }
.wordmark { color:var(--ink); font:400 clamp(2rem,4.1vw,3.45rem)/.84 Georgia,'Times New Roman',serif; letter-spacing:-.08em; text-decoration:none; }
.about { max-width:31rem; margin:0; color:var(--muted); font-size:.93rem; line-height:1.45; }
.masthead nav { display:flex; gap:1.1rem; }
.masthead nav a { color:var(--ink); font:.68rem/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.masthead nav a:hover,.masthead nav a.is-current { color:var(--rose); }
.layout { width:min(100% - 4rem, 1240px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 275px; gap:clamp(3rem,7vw,8rem); padding:5.8rem 0 4rem; }
.section-kicker,.sidebar-label,.post-meta { margin:0; color:var(--rose); font:700 .68rem/1.25 ui-sans-serif,system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
h1,h2 { margin:0; font-weight:400; letter-spacing:-.05em; line-height:.96; }
.sidebar { align-self:start; position:sticky; top:2rem; border-left:1px solid var(--line); padding-left:1.5rem; }
.search-panel { padding:0 0 2rem; border-bottom:1px solid var(--line); }
.search-panel label { display:block; margin-bottom:.8rem; color:var(--ink); font:400 1.22rem/1 Georgia,serif; letter-spacing:-.02em; }
.search-field { display:flex; align-items:center; gap:.45rem; padding:.55rem .7rem; background:var(--wash); }
.search-field span { color:var(--rose); font-size:1.25rem; line-height:1; }
.search-field input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font:.83rem/1.2 ui-sans-serif,system-ui,sans-serif; }
.search-field input::placeholder { color:#849087; }
.sidebar-section { padding:1.8rem 0; border-bottom:1px solid var(--line); }
.sidebar-label { margin-bottom:.9rem; }
.recent-list { margin:0; padding:0; list-style:none; }
.recent-list li + li { margin-top:.75rem; }
.recent-list a { display:grid; grid-template-columns:1.5rem 1fr; gap:.45rem; color:var(--ink); font-size:.9rem; line-height:1.3; text-decoration:none; }
.recent-list a:hover { color:var(--rose); }
.recent-list span { color:var(--rose); font:.66rem/1.35 ui-sans-serif,system-ui,sans-serif; }
.recent-empty { margin:.9rem 0 0; color:var(--muted); font-size:.8rem; }
footer { width:min(100% - 4rem,1240px); margin:0 auto; border-top:1px solid var(--line); padding:1.2rem 0 2rem; color:var(--muted); font:.68rem/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.post-layout { align-items:start; }
.post-body { max-width:760px; font-size:1.08rem; line-height:1.7; }
.post-header { margin-bottom:3.6rem; }
.post-header h1 { margin:.7rem 0 1.35rem; font-size:clamp(3.15rem,6.2vw,6.1rem); }
.post-body p { max-width:42rem; margin:0 0 1.5rem; }
.post-body h2 { margin:4.4rem 0 1rem; font-size:clamp(1.7rem,3.2vw,2.5rem); }
.post-body ol,.post-body ul:not(.tags) { max-width:42rem; margin:-.35rem 0 1.6rem; padding-left:1.35rem; }
.post-body figure { margin:2.2rem 0 2.4rem; }
.post-body figure img { display:block; width:100%; max-height:620px; object-fit:cover; }
.post-body figcaption { margin-top:.5rem; color:var(--muted); font:.75rem/1.4 ui-sans-serif,system-ui,sans-serif; }
.post-body .portrait-photo { max-width:470px; }
.post-body .portrait-photo img { aspect-ratio:3/4; }
.post-body .wide-photo img { max-height:620px; object-fit:cover; }
.reference-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.65rem,2.4vw,1.4rem); margin:1.85rem 0 2.2rem; }
.reference-gallery figure { min-width:0; margin:0; }
.reference-gallery img { aspect-ratio:1/1; object-fit:cover; }
.photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.photo-pair img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
.alarm { color:var(--rose); font-size:1.25rem; letter-spacing:.05em; }
.journey,.searches { color:var(--muted); font-style:italic; }
.journey span,.pause { color:var(--rose); }
.archive-heading { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:.8rem; border-bottom:1px solid var(--line); }
.result-count { margin:0; color:var(--muted); font:.76rem/1.2 ui-sans-serif,system-ui,sans-serif; }
.archive-controls { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem 1rem; padding:1rem 0; border-bottom:1px solid var(--line); color:var(--muted); font:.7rem/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.post-row { display:grid; grid-template-columns:156px 1fr; gap:1.6rem; padding:1.6rem 0; border-bottom:1px solid var(--line); }
.thumb img { width:100%; aspect-ratio:1/1; display:block; object-fit:cover; }
.post-row h2 { margin:.38rem 0 .64rem; font-size:clamp(1.55rem,2.5vw,2.15rem); }
.post-row h2 a { color:inherit; text-decoration:none; }
.post-row h2 a:hover { color:var(--rose); }
.excerpt { margin:0; color:var(--muted); font-size:.96rem; line-height:1.53; }
.tags { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 0; padding:0; list-style:none; }
.tags li,.tag-filters button { border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--muted); font:.66rem/1 ui-sans-serif,system-ui,sans-serif; letter-spacing:.06em; padding:.45rem .65rem; text-transform:uppercase; }
.tag-filters { display:flex; flex-wrap:wrap; gap:.45rem; }
.tag-filters button { cursor:pointer; }
.tag-filters button:hover,.tag-filters button.is-active { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.empty-state { margin:2rem 0; color:var(--muted); }
@media (max-width:800px) { .masthead { grid-template-columns:1fr auto; gap:1rem; }.about { grid-column:1/-1; grid-row:2; }.layout { grid-template-columns:1fr; padding-top:3.7rem; }.sidebar { position:static; border-left:0; border-top:1px solid var(--line); padding:2rem 0 0; } }
@media (max-width:560px) { .masthead,.layout,footer { width:min(100% - 2rem,1240px); }.masthead { padding-top:1.35rem; }.layout { padding-bottom:2rem; }.post-row { grid-template-columns:95px 1fr; gap:1rem; }.post-row h2 { font-size:1.4rem; }.excerpt { font-size:.88rem; }.post-body { font-size:1rem; }.post-header { margin-bottom:3rem; }.photo-pair { gap:.55rem; }.reference-gallery { gap:.45rem; } }
