@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=DM+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root { --paper:#f5f0e6; --ink:#273027; --muted:#6d675c; --rust:#a6603c; --moss:#5d6c54; --line:#d8d0c1; --serif:"Playfair Display", Georgia, serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:300px; color:var(--ink); background:var(--paper); font:16px/1.55 var(--serif); }
body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.25; z-index:10; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; } a:hover { color:var(--rust); }
img { max-width:100%; height:auto; } h1,h2,h3,p { margin-top:0; } .visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link { position:absolute; left:-999px; z-index:20; padding:.65rem 1rem; background:var(--ink); color:white; }.skip-link:focus { left:1rem; top:1rem; }
.flash { max-width:1180px; margin:.75rem auto; padding:.75rem 1rem; font-family:var(--mono); font-size:.8rem; background:#fff; border-left:4px solid var(--rust); }
.site-header { max-width:1280px; min-height:120px; margin:auto; padding:25px 54px; display:flex; gap:3rem; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:.8rem; min-width:max-content; }.brand-mark { width:47px; height:47px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-size:2rem; line-height:1; }.brand strong { display:block; font-size:1.45rem; font-weight:600; letter-spacing:-.04em; }.brand small { display:block; margin-top:1px; color:var(--muted); font: .62rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.15em; }
.site-nav { display:flex; gap:1.7rem; align-items:center; flex-wrap:wrap; justify-content:center; }.site-nav a, .section-heading a { font: .65rem var(--mono); letter-spacing:.11em; text-transform:uppercase; }.site-nav a:first-child { color:var(--rust); }
.search { display:flex; align-items:center; border-bottom:1px solid transparent; }.search:focus-within { border-color:var(--ink); }.search input { display:none; width:130px; border:0; outline:0; padding:.3rem; background:transparent; font: .7rem var(--mono); }.search:focus-within input { display:block; }.search button { padding:.1rem; border:0; background:none; color:var(--ink); font:1.8rem/1 Georgia; cursor:pointer; }
.hero { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(460px,1.3fr); min-height:525px; max-width:1280px; margin:auto; overflow:hidden; background:#ede7da; }.hero-copy { padding:72px 7vw 55px max(54px,calc((100vw - 1172px)/2)); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; position:relative; z-index:1; }.eyebrow { margin-bottom:1.1rem; font: .62rem var(--mono); letter-spacing:.17em; text-transform:uppercase; }.hero h1 { margin:0; font-size:clamp(3.2rem,5.5vw,5.8rem); font-weight:600; line-height:.94; letter-spacing:-.07em; }.brush-line { display:block; width:92px; margin:2rem 0 1.3rem; border-top:2px solid var(--rust); transform:rotate(-1deg); }.hero-intro { font-size:1.25rem; line-height:1.35; }.button { display:inline-flex; gap:1rem; margin-top:1rem; padding:1rem 1.5rem; border-radius:99px; background:var(--rust); color:white; font:.65rem var(--mono); letter-spacing:.14em; text-transform:uppercase; }.button:hover { color:white; background:#824727; }.button span { font-size:1.1rem; line-height:.7; }.hero-image { position:relative; min-height:420px; background:linear-gradient(0deg,rgba(28,35,24,.22),rgba(242,178,108,.08)),url('/images/tanyci.png') center/cover; }.hero-image:before { content:""; position:absolute; left:-60px; top:-20px; bottom:-20px; width:100px; background:var(--paper); clip-path:polygon(0 0,42% 5%,24% 18%,65% 30%,32% 43%,70% 55%,37% 72%,66% 87%,0 100%); }.hero-image p { position:absolute; right:11%; top:13%; color:#764d37; font:2.1rem/1.05 Caveat, cursive; transform:rotate(-8deg); }
.season-links { max-width:1172px; margin:auto; padding:25px 0; display:grid; grid-template-columns:repeat(6,1fr); }.season-links a, .season-links a:visited { display:grid; gap:.2rem; place-items:center; min-height:68px; border-right:1px solid var(--line); color:var(--ink); text-decoration:none; text-transform:uppercase; font:.65rem var(--mono); letter-spacing:.13em; }.season-links a:last-child { border:0; }.season-links a:hover { color:var(--ink); }.season-links b { color:var(--moss); font:2rem/1 var(--serif); font-weight:400; }
.quote-band { min-height:137px; display:grid; place-items:center; color:#f6f1e6; background:linear-gradient(rgba(51,66,48,.88),rgba(51,66,48,.88)),url('/images/tanya.jpg') center/cover; }.quote-band blockquote { margin:0; font-size:1.8rem; font-style:italic; }
.entries { max-width:1172px; margin:0 auto; padding:44px 0 65px; }.section-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.section-heading h2 { margin:0; font-size:1.7rem; font-weight:500; }.section-heading h2:after { content:""; display:inline-block; width:43px; margin-left:18px; border-top:1px solid; vertical-align:middle; }.section-heading a { color:var(--rust); }.post-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }.post { min-width:0; }.post .photo { margin-bottom:14px; aspect-ratio:1.15; overflow:hidden; background:#ded7c8; }.post .photo img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }.post:hover .photo img { transform:scale(1.04); }.post_title { margin:9px 0 7px; font-size:1.22rem; font-weight:500; line-height:1.18; }.post .body { color:var(--muted); font-size:.9rem; line-height:1.43; }.post .body p { margin:.35rem 0; }.post footer { margin-top:12px; }.metadata { color:var(--muted); font:.59rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }.metadata .category { color:var(--rust); }.tags { display:none; }.doaction { margin-top:.5rem; font:.7rem var(--mono); }.post-grid > hr { display:none; }.empty-state { grid-column:1/-1; padding:3rem 0; color:var(--muted); }.traversal { max-width:1172px; margin:-30px auto 60px; text-align:center; }.traversal a { display:inline-block; padding:.7rem 1.2rem; border:1px solid var(--moss); border-radius:2rem; font:.65rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.route_view #main, .route_page #main, .route_archive #main, .route_category #main, .route_tag #main, .route_search #main, .route_author #main { max-width:760px; margin:2rem auto 5rem; padding:0 1.5rem; }.route_view .post, .route_page .post, .route_archive .post, .route_category .post, .route_tag .post, .route_search .post, .route_author .post { padding:2rem 0; border-bottom:1px solid var(--line); }.route_view .post_title, .route_page .post_title { font-size:2.5rem; }.route_view .post .body, .route_page .post .body { font-size:1.07rem; }.route_view .post .photo { aspect-ratio:auto; }.route_view .post .photo img { height:auto; }.route_archive h2 { margin-top:2.5rem; }.route_archive ul { padding-left:1.2rem; }.site-footer { display:flex; justify-content:space-between; max-width:1172px; margin:auto; padding:25px 0; border-top:1px solid var(--line); color:var(--muted); font:.61rem var(--mono); letter-spacing:.09em; text-transform:uppercase; }
/* The newest entry leads the journal; later entries remain compact cards. */
.post-grid > .featured-post { grid-column:1 / -1; display:grid; grid-template-columns:minmax(280px, .92fr) minmax(340px, 1.08fr); min-height:365px; background:#e8e0d1; overflow:hidden; }
.featured-text:before { content:""; min-height:365px; background:linear-gradient(0deg, rgba(47,53,37,.15), rgba(47,53,37,.05)), url('/images/boglarkak.jpg') center/cover; }
.featured-post .post { display:flex; flex-direction:column; justify-content:center; padding:46px 52px; }
.featured-post .post_title { margin:0 0 16px; font-size:clamp(1.8rem, 2.8vw, 2.8rem); line-height:1.08; }
.featured-post .post .body { max-width:38rem; font-size:1.05rem; line-height:1.6; }
.featured-post .post .body p { margin:.6rem 0; }
.featured-post .post footer { margin-top:22px; }
.featured-post.featured-photo { background:transparent; }
.featured-photo .post { padding:0; display:block; }
.featured-photo .post .photo { height:440px; margin:0; aspect-ratio:auto; }
.featured-photo .post .photo img { height:100%; }
.post-card { min-width:0; }
@media (max-width:900px) { .site-header { padding:20px 28px; gap:1.5rem; }.site-nav { order:3; width:100%; justify-content:flex-start; gap:1rem; }.hero { grid-template-columns:1fr 1fr; }.hero-copy { padding:55px 36px; }.entries,.season-links,.site-footer { margin-left:28px; margin-right:28px; }.post-grid { grid-template-columns:repeat(2,1fr); }.season-links { grid-template-columns:repeat(3,1fr); }.season-links a:nth-child(3) { border-right:0; }.season-links a:nth-child(-n+3) { border-bottom:1px solid var(--line); } }
@media (max-width:600px) { .post-grid > .featured-post { display:block; min-height:0; }.featured-text:before { display:block; min-height:210px; }.featured-post .post { padding:30px 25px 34px; }.featured-post .post_title { font-size:1.8rem; }.featured-post .post .body { font-size:1rem; }.featured-photo .post .photo { height:300px; } .site-header { padding:18px 20px; }.brand strong { font-size:1.15rem; }.brand-mark { width:38px; height:38px; font-size:1.5rem; }.site-nav { display:none; }.hero { display:block; }.hero-copy { min-height:415px; padding:65px 35px 45px; }.hero h1 { font-size:3.6rem; }.hero-image { min-height:265px; }.hero-image:before { top:-40px; left:-15px; right:-15px; height:65px; width:auto; bottom:auto; clip-path:polygon(0 0,100% 0,100% 30%,85% 50%,66% 32%,49% 65%,29% 38%,0 70%); }.season-links { margin:0 20px; }.season-links a { min-height:60px; }.entries { margin:0 20px; padding-top:35px; }.post-grid { gap:24px 16px; }.post_title { font-size:1.1rem; }.quote-band { min-height:110px; }.quote-band blockquote { font-size:1.35rem; text-align:center; }.site-footer { margin:0 20px; }.route_view #main, .route_page #main, .route_archive #main, .route_category #main, .route_tag #main, .route_search #main, .route_author #main { padding:0 20px; }.route_view .post_title, .route_page .post_title { font-size:2rem; } }
