:root{--cream:#F5EBD8;--cream2:#FBF5EA;--green:#1F4D2E;--green2:#2E5E3A;--sage:#A9C3A0;--sage2:#DCE7D5;--brown:#5A3A22;--ink:#2a2118;--disp:'Titan One','Chewy',system-ui,sans-serif;--serif:'Fraunces',Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:17px/1.6 var(--serif);color:var(--ink);background:var(--cream)}
a{color:var(--green2);text-decoration-color:var(--sage);text-underline-offset:3px}a:hover{color:var(--brown)}
.wrap{max-width:1150px;margin:0 auto;padding:0 20px}img{max-width:100%;height:auto}
h1,h2,.logo,.deskh{font-family:var(--disp);font-weight:400;color:var(--green);letter-spacing:.005em;line-height:1.1}h3{font-family:var(--serif);font-weight:800;color:var(--green)}
h1{font-size:clamp(2rem,5vw,3.2rem);margin:.3em 0 .35em}h2{font-size:clamp(1.45rem,3vw,2rem)}
/* header */
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 22px;background:var(--cream2);border-bottom:2px solid var(--green)}
.top a{color:var(--green);text-decoration:none}.logo{font-size:1.75rem;line-height:1}.logo b{font-weight:400;color:var(--sage);-webkit-text-stroke:1.5px var(--green)}
nav{display:flex;gap:6px;flex-wrap:wrap}nav a{font-weight:600;font-size:.95rem;padding:5px 12px;border-radius:999px}.top nav a:hover{background:var(--sage2)}
/* hero */
.hero{position:relative;background:var(--cream);padding:0 0 46px;border-bottom:2px solid var(--green);overflow:hidden}
.hero{background:#F5EBD8}.hero picture{display:block;max-width:1360px;margin:0 auto;background:#F5EBD8}.hero-art{display:block;width:100%;height:auto}
.hero-copy{text-align:center;max-width:820px;padding-top:18px}.hero h1{margin:18px 0 10px;line-height:1.05}.hero .wm{display:block;font-size:clamp(2.6rem,7vw,4.4rem);color:var(--green);text-transform:uppercase;letter-spacing:.02em}
.hero .tl{display:block;font-family:var(--serif);font-weight:800;font-size:clamp(1.15rem,2.4vw,1.5rem);color:var(--brown);margin-top:6px}.hero p{font-size:1.1rem;margin:0 auto 16px;max-width:640px}
/* checker + blob accents */
.hero::before,.hero::after,.news::before{content:"";position:absolute;pointer-events:none;z-index:0}
.hero::before{left:-60px;bottom:-60px;width:240px;height:240px;background:repeating-conic-gradient(var(--sage) 0 25%,transparent 0 50%) 0 0/40px 40px;opacity:.45;border-radius:50%;transform:rotate(12deg)}
.hero::after{right:-80px;bottom:-90px;width:260px;height:220px;background:var(--green);border-radius:58% 42% 50% 50%/55% 45% 55% 45%}
.hero>*{position:relative;z-index:1}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--cream2);color:var(--green);border:2px solid var(--green);padding:11px 24px;border-radius:999px;font-weight:800;text-decoration:none;margin:6px 6px 0 0;transition:background .15s,color .15s,transform .15s}
.btn:hover{background:var(--green);color:var(--cream);transform:translateY(-1px)}.btn.ghost{border-color:var(--sage);background:transparent}
h1,h2{letter-spacing:.005em}section.wrap{padding-top:36px}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.card{background:var(--cream2);border:1.5px solid var(--green2);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.card:hover{transform:translateY(-3px);box-shadow:4px 4px 0 var(--sage)}
.card img,.noimg{width:100%;aspect-ratio:1;object-fit:cover;background:var(--sage2);display:grid;place-items:center;font-size:3rem;border-bottom:1.5px solid var(--green2)}
.cb{padding:12px 14px}.cb small{color:var(--brown);font-weight:600}.cb h2,.cb h3{font-family:var(--serif);font-weight:800;font-size:1.02rem;margin:2px 0 8px;line-height:1.25;color:var(--green)}
.tag{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--cream);border:1px solid var(--sage);margin:0 4px 4px 0;color:var(--brown);font-family:system-ui,sans-serif}.tag.sf{background:var(--sage2);color:var(--green);border-color:var(--green2)}
.pr{font-weight:800;margin-top:6px;color:var(--brown)}.pr span{font-weight:400;color:#8a6d5c;font-size:.85rem}
/* desk */
.deskh{text-align:center;font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:6px}.deskh::after{content:"";display:block;width:220px;max-width:60%;height:4px;margin:8px auto 0;background:var(--sage);border-radius:4px}
.kicker{font-family:var(--disp);color:var(--sage);-webkit-text-stroke:.6px var(--green);font-size:1.3rem;margin:0}
.desk{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:18px;margin:22px 0 10px}
.dcard{display:flex;flex-direction:column;background:var(--cream2);border:1.5px solid var(--green2);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--green);transition:transform .15s,box-shadow .15s}.dcard:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--sage)}
.dcard img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.dcard.big img{aspect-ratio:auto;height:100%;min-height:0;flex:1}
.dt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.dt h2,.dt h3{font-family:var(--serif);font-weight:800;font-size:1.08rem;line-height:1.25;margin:0;color:var(--green)}
.arr{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sage2);font-weight:800}
.post-art{display:block;width:100%;max-width:560px;border-radius:22px;border:1.5px solid var(--green2);margin:8px 0 20px}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;background:var(--cream2);border:1.5px solid var(--green2);padding:12px;border-radius:20px;position:sticky;top:0;z-index:2;box-shadow:0 6px 16px #1f4d2e14}
.filters input,.filters select{padding:9px 12px;border:1.5px solid var(--sage);border-radius:999px;font:inherit;font-size:.95rem;background:#fff;color:var(--ink)}.filters #q{flex:1 1 200px}.filters label{display:flex;gap:6px;align-items:center;font-weight:600;color:var(--green)}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding-bottom:20px}.three>div{background:var(--cream2);border:1.5px solid var(--green2);border-radius:20px;padding:4px 20px 8px}
/* newsletter */
.news{position:relative;overflow:hidden;background:var(--green);color:var(--cream);border-radius:28px;padding:34px!important;margin-top:56px}.news h2{color:var(--cream)}
.news::before{right:-30px;top:-30px;width:180px;height:180px;background:repeating-conic-gradient(var(--sage) 0 25%,transparent 0 50%) 0 0/36px 36px;opacity:.25;border-radius:50%}
.news form{position:relative;display:flex;gap:8px;flex-wrap:wrap}.news input{flex:1 1 220px;padding:12px 18px;border-radius:999px;border:2px solid var(--sage);font:inherit}
.news button{background:var(--cream);color:var(--green);border:2px solid var(--cream);border-radius:999px;padding:12px 24px;font:inherit;font-weight:800;cursor:pointer}.news button::after{content:" →"}.news button:hover{background:var(--sage)}
.prose .news{color:var(--cream)}
footer{padding:30px 20px;font-size:.9rem}.fine{font-size:.84rem;color:#7a5e48}.na{color:#a89480;font-style:italic}.lede{font-size:1.12rem}
.bg{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:16px}.bg img{width:100%;height:auto;border-radius:22px;border:1.5px solid var(--green2)}
.bean table{border-collapse:collapse;width:100%;margin:12px 0}.bean th{text-align:left;width:35%;color:var(--brown);font-weight:600}.bean td,.bean th{padding:8px 0;border-bottom:1px solid #dccdb4}
.prose{max-width:780px}.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid #d9c9ad;padding:8px;text-align:left;vertical-align:top}
.crumbs{margin:0 0 8px}.sponsor{padding-top:20px}.sponsor a{display:block;text-align:center;border:2px dashed var(--sage);border-radius:999px;padding:12px;text-decoration:none;font-weight:700;background:var(--cream2);color:var(--green)}.sponsor small{color:var(--brown);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
@media(max-width:800px){.desk{grid-template-columns:1fr 1fr}.dcard.big{grid-column:1/-1}}
@media(max-width:700px){.bg{grid-template-columns:1fr}.top{justify-content:center}nav{gap:2px;justify-content:center}nav a{font-size:.85rem;padding:4px 8px}.hero{padding-bottom:36px}.hero::after{width:150px;height:130px;right:-60px;bottom:-60px}}
@media(max-width:480px){.desk{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr;gap:12px}.cb{padding:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.visually-hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* generic forms (get-featured) */
main form:not(.news form) input,main form:not(.news form) textarea,main form:not(.news form) select{font:inherit;font-size:16px;min-height:48px;padding:10px 18px;border:1.5px solid var(--sage);border-radius:999px;background:#fff;color:var(--ink);width:100%}
main form:not(.news form) textarea{border-radius:20px;min-height:110px}
main form:not(.news form) button{font:inherit;font-weight:800;min-height:48px;padding:10px 24px;background:var(--green);color:var(--cream);border:2px solid var(--green);border-radius:999px;cursor:pointer}
/* mobile responsiveness */
@media(max-width:700px){
.top{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 12px 6px}.logo{display:inline-flex;align-items:center;min-height:44px;align-self:center;padding:0 8px}
.top nav{min-width:0;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;margin:0 -12px;padding:0 12px 4px;scroll-padding:12px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.top nav::-webkit-scrollbar{display:none}
.top nav a{flex:none;display:inline-flex;align-items:center;min-height:44px;font-size:1rem;padding:0 14px;border:1.5px solid var(--sage);background:var(--cream)}
body{font-size:17px}footer,.fine,.prose td,.prose th{font-size:1rem}footer p{line-height:2}.cb small{font-size:1rem}.tag{font-size:.8rem}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.crumbs a{padding-left:4px;padding-right:4px}.crumbs a,.crumbs span{line-height:26px}.crumbs a,footer a,.fine a{display:inline-block;padding:9px 0;min-height:44px}
.btn{min-height:48px;justify-content:center}
.filters{display:grid;grid-template-columns:1fr 1fr;padding:10px;gap:8px;position:static}.filters #q,.filters label{grid-column:1/-1}
.filters input,.filters select{min-height:44px;font-size:16px;width:100%;min-width:0}.filters label{min-height:44px}.filters input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;accent-color:var(--green)}
.news{padding:24px 18px!important;border-radius:24px}.news form{flex-direction:column}.news input,.news button{flex:none;width:100%;min-height:50px;font-size:16px}
.arr{width:44px;height:44px}.bean small a{display:inline-block;padding:12px 0}
}
