
/* Palette rules: deep tones (espresso, leather, mahogany) for navigation and headers; Harbor for links, buttons, and other interactive elements; Terracotta for secondary accents; Olive to highlight important content. */
:root{
  --espresso:#4d2e1a; --leather:#5e3927; --mahogany:#8e4719; --terracotta:#af6248; --olive:#7e8e00; --harbor:#275262; --harbor-dk:#1c3d49;
  --linen:#f3ebe1; --paper:#fbf7f1; --ink:#2b1a10; --muted:#6b5242; --rule:#dccbb8; --on-dark:#f6efe6; --on-dark-muted:#d9c6b3;
  --display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --text:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ui:"Libre Franklin","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--linen);color:var(--ink);font:16px/1.6 var(--ui)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;margin:0;letter-spacing:.005em}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:20px}
.eyebrow{display:flex;align-items:center;gap:10px;font:600 .78rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--terracotta);border-radius:2px;flex:none}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem/1 var(--ui);padding:14px 22px;border-radius:2px;text-decoration:none;border:2px solid var(--harbor);background:var(--harbor);color:#fff;cursor:pointer}
.btn:hover{background:var(--harbor-dk);border-color:var(--harbor-dk)}
.btn.light{background:transparent;color:var(--on-dark);border-color:var(--on-dark-muted)}
.btn.light:hover{background:rgba(255,255,255,.08)}
.btn.ghost{background:transparent;color:var(--harbor)}
.btn.ghost:hover{background:rgba(39,82,98,.08)}

/* masthead */
.mast{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--espresso);color:var(--on-dark);border-bottom:3px solid var(--terracotta)}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{text-decoration:none;display:grid;line-height:1.1}
.brand b{font:400 1.45rem/1 var(--display)}
.brand small{font:500 .68rem/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);margin-top:4px}
nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
nav a{display:block;white-space:nowrap;text-decoration:none;font:600 .82rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;color:var(--on-dark-muted);border-radius:2px}
nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
@media (max-width:760px){
  .mast .wrap{flex-direction:column;align-items:flex-start;gap:4px;padding-block:10px 4px}
  nav{width:100%;overflow-x:auto;scrollbar-width:none} nav::-webkit-scrollbar{display:none}
  nav ul{gap:0} nav a{padding:10px 10px 10px 0;margin-right:10px}
}

/* hero */
.hero{background:var(--espresso);color:var(--on-dark)}
.hero .grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(78vh,720px)}
.hero .copy{padding:clamp(40px,7vw,96px) clamp(20px,5vw,64px) clamp(40px,6vw,80px) max(20px,calc((100vw - 1160px)/2 + 20px));display:flex;flex-direction:column;justify-content:center}
.hero .eyebrow{color:var(--on-dark-muted)}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.1rem);line-height:1.04;margin-bottom:22px}
.hero h1 em{font-style:italic;color:#e7b79c}
.hero p.lede{font:400 clamp(1.05rem,1.6vw,1.2rem)/1.6 var(--text);color:var(--on-dark-muted);max-width:48ch;margin:0 0 30px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .attr{margin-top:34px;font:500 .8rem/1.4 var(--ui);color:var(--on-dark-muted);letter-spacing:.04em}
.hero .photo{position:relative;min-height:340px;background:var(--leather)}
.hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 30%}
@media (max-width:860px){.hero .grid{grid-template-columns:1fr}.hero .photo{order:-1;min-height:0;aspect-ratio:4/3}.hero .photo img{object-position:65% 25%}.hero .copy{padding:36px 20px 44px}}

/* facts */
.facts{background:var(--paper);border-bottom:1px solid var(--rule)}
.facts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.facts li{padding:26px 20px;border-left:1px solid var(--rule)}
.facts li:first-child{border-left:0}
.facts b{display:block;font:400 2.3rem/1 var(--display);color:var(--olive);font-variant-numeric:lining-nums}
.facts span{display:block;margin-top:8px;font-size:.88rem;color:var(--muted);max-width:24ch}
@media (max-width:760px){.facts ul{grid-template-columns:1fr 1fr}.facts li:nth-child(3){border-left:0}.facts li{border-top:1px solid var(--rule)}.facts li:nth-child(-n+2){border-top:0}}

section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:34px}
.sec-head h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08}
.sec-head p{margin:10px 0 0;max-width:56ch;color:var(--muted);font:400 1.05rem/1.6 var(--text)}
.sec-head .eyebrow{color:var(--mahogany)}

/* origin */
.origin{background:var(--leather);color:var(--on-dark)}
.origin .grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}
.origin figure{margin:0;position:relative}
.origin figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.origin figure::after{content:"";position:absolute;inset:16px -16px -16px 16px;border:2px solid var(--terracotta);z-index:-1}
.origin .eyebrow{color:var(--on-dark-muted)}
.origin h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin-bottom:22px}
.origin p{font:400 1.08rem/1.75 var(--text);color:#efe2d4;margin:0 0 18px;max-width:60ch}
.origin .sig{font:italic 400 1.4rem/1.3 var(--display);color:#e7b79c;margin:26px 0 26px}
@media (max-width:860px){.origin .grid{grid-template-columns:1fr}.origin figure{max-width:420px}}
.origin{isolation:isolate}

/* stories */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.chip:hover{border-color:var(--harbor);color:var(--harbor)}
.chip{font:600 .82rem/1 var(--ui);padding:10px 14px;border-radius:999px;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--harbor);border-color:var(--harbor);color:#fff}
.chip .n{opacity:.7;font-weight:500;margin-left:4px}
.series-note{margin:0 0 26px;font:400 1rem/1.6 var(--text);color:var(--muted);max-width:70ch;min-height:1.6em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.card{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--terracotta);padding:24px 24px 22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card.feat{border-top-color:var(--olive)}
.more-wrap{display:flex;justify-content:center;margin-top:30px}
.card .cat{font:700 .72rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mahogany);display:flex;align-items:center;gap:8px}
.card .cat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--olive)}
.card h3{font-size:1.45rem;line-height:1.18;overflow-wrap:anywhere}
.card h3 button{all:unset;cursor:pointer}
.card h3 button:hover{color:var(--harbor)}
.card h3 button:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.card .meta{font-size:.8rem;color:var(--muted)}
.card p{margin:0;font:400 .98rem/1.6 var(--text);color:#4a3426}
.card .read{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}
.card .read button{all:unset;cursor:pointer;font:700 .85rem/1 var(--ui);color:var(--harbor);border-bottom:2px solid var(--harbor);padding-bottom:3px}
.card .read button:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}

/* archive band */
.archive{background:var(--leather);color:var(--on-dark)}
.archive .sec-head .eyebrow{color:#e9cdb9}
.archive .sec-head p{color:#ecdccd}
.archive .grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(24px,4vw,56px);align-items:start}
.archive figure{margin:0}
.archive figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border:6px solid rgba(255,255,255,.08)}
.archive .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px}
.archive h3{font-size:1.4rem;margin-bottom:10px;color:#fff}
.archive ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.archive li{padding-left:16px;position:relative;font-size:.95rem;line-height:1.5;color:#f1e3d6}
.archive li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--terracotta);border-radius:1px}
.archive li b{color:#fff;font-weight:600}
@media (max-width:860px){.archive .grid{grid-template-columns:1fr}.archive figure{max-width:360px}.archive .cols{grid-template-columns:1fr}}

/* books */
.books .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.book{margin:0}
.book img{width:100%;aspect-ratio:2/3;object-fit:cover;box-shadow:0 14px 28px rgba(43,26,16,.22);background:var(--rule)}
.book figcaption{margin-top:14px}
.book .st{font:700 .7rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.book .st.pub{color:#fff;background:var(--olive);padding:5px 8px;display:inline-block}
.book h3{font-size:1.2rem;line-height:1.2;margin-top:6px}
.book p{margin:4px 0 0;font-size:.85rem;color:var(--muted)}
.press{margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.press div{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--olive);padding:20px 22px}
.press h3{font-size:1.25rem;margin-bottom:6px}
.press p{margin:0;font:400 .98rem/1.6 var(--text);color:#4a3426}
@media (max-width:860px){.books .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.press{grid-template-columns:1fr}}

/* about */
.about{background:var(--paper)}
.about .grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:start}
.about .bio p{font:400 1.08rem/1.75 var(--text);margin:0 0 18px;max-width:64ch}
.about .bio p:first-of-type::first-letter{font:400 4.2rem/.8 var(--display);float:left;color:var(--mahogany);margin:6px 10px 0 0}
.about figure{margin:0}
.about figure img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center 18%}
.about figure figcaption{font-size:.8rem;color:var(--muted);margin-top:10px}
.about .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
@media (max-width:860px){.about .grid{grid-template-columns:1fr}.about figure{max-width:380px;order:-1}}

/* contact */
.contact{background:var(--espresso);color:#fff}
.contact .grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(28px,5vw,64px);align-items:center}
.contact h2{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.04;margin-bottom:16px}
.contact .eyebrow{color:var(--on-dark-muted)}
.contact .eyebrow::before{background:var(--terracotta)}
.contact p{font:400 1.08rem/1.65 var(--text);max-width:52ch;margin:0 0 22px;color:#fff6ef}
.contact ul{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.contact li{border-top:1px solid var(--terracotta);padding-top:10px;font-weight:600;font-size:.95rem}
.contact .mail{font:400 clamp(1.3rem,2.6vw,1.8rem)/1.2 var(--display);color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.6);overflow-wrap:anywhere}
.contact figure{margin:0}
.contact figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border:8px solid rgba(255,255,255,.18)}
.contact .btn{background:var(--harbor);border-color:var(--harbor)}
@media (max-width:860px){.contact .grid{grid-template-columns:1fr}.contact figure{max-width:360px}.contact ul{grid-template-columns:1fr}}

footer{background:var(--espresso);color:var(--on-dark-muted);padding-block:36px calc(36px + env(safe-area-inset-bottom,0px));font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
footer b{font:400 1.3rem/1 var(--display);color:var(--on-dark)}
footer a{text-decoration:none;color:var(--on-dark-muted)}
footer a:hover{color:#fff}

/* reader */
.reader{position:fixed;inset:0;z-index:50;background:var(--paper);overflow-y:auto;overscroll-behavior:contain}
.reader[hidden]{display:none}
.reader-bar{position:sticky;top:0;background:var(--espresso);color:var(--on-dark);z-index:2;padding-top:env(safe-area-inset-top,0px)}
.reader-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px}
.reader-bar button{all:unset;cursor:pointer;font:600 .85rem/1 var(--ui);letter-spacing:.04em;padding:10px 4px;color:var(--on-dark)}
.reader-bar button:focus-visible{outline:3px solid var(--terracotta)}
.reader-bar .bn{font:400 1.1rem/1 var(--display);color:var(--on-dark-muted)}
.article{max-width:700px;margin:0 auto;padding:48px 20px calc(80px + env(safe-area-inset-bottom,0px))}
.article .cat{font:700 .74rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mahogany);display:flex;align-items:center;gap:8px;margin-bottom:16px}
.article .cat::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--olive)}
.article h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin-bottom:18px}
.article .meta{font-size:.88rem;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--rule);margin-bottom:30px}
.article .body p{font:400 1.14rem/1.8 var(--text);margin:0 0 1.15em;overflow-wrap:anywhere}
.article .orig{margin-top:36px;padding:18px 20px;background:var(--linen);border-left:4px solid var(--terracotta);font-size:.9rem;color:var(--muted)}
.article .orig a{color:var(--harbor);font-weight:600}
.article .pager{display:flex;justify-content:space-between;gap:12px;margin-top:34px;flex-wrap:wrap}
.article .pager button{max-width:48%;text-align:left}
.article .pager button:last-child{text-align:right;margin-left:auto}
.pager button{all:unset;cursor:pointer;font:400 1.05rem/1.3 var(--display);color:var(--harbor)}
.pager button small{display:block;font:700 .7rem/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pager button:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}

/* more books shelf */
.shelf{margin-top:56px;display:grid;gap:40px}
.shelf h3.shelf-h{font-size:1.5rem;padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:20px}
.shelf .row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px}
.mini{margin:0}
.mini .cv,.mh-book .cv{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 12px rgba(43,26,16,.22))}
.tile{filter:none;box-shadow:0 10px 20px rgba(0,0,0,.25)}
.mini figcaption{margin-top:10px}
.mini b{display:block;font:400 1rem/1.25 var(--display);color:var(--ink)}
.mini span{display:block;font-size:.78rem;color:var(--muted);margin-top:3px}
.tile{display:flex!important;flex-direction:column;justify-content:space-between;padding:14px 12px;background:linear-gradient(160deg,var(--mahogany),var(--espresso))!important;color:#fbe6da;font:400 1.5rem/1.15 var(--display);text-align:left}
.tile small{font:600 .62rem/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#e9cdb9}
@media (max-width:860px){.shelf .row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.shelf .row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* may house */
.mayhouse{background:var(--leather);color:var(--on-dark)}
.mayhouse .sec-head .eyebrow{color:#e9cdb9}
.mayhouse .sec-head p{color:#ecdccd}
.mayhouse h3{color:#fff;font-size:1.35rem;margin-bottom:14px}
.mh-cols{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:clamp(28px,4vw,56px);align-items:start}
.mh-svc{background:rgba(0,0,0,.16);border-top:4px solid var(--olive);padding:22px 22px 24px}
.mh-svc ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mh-svc li{padding-left:16px;position:relative;font-size:.95rem;line-height:1.5;color:#f1e3d6}
.mh-svc li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--terracotta)}
.mh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.mh-book{margin:0}
.mh-book .cv{aspect-ratio:3/4;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4))}
.mh-book figcaption{margin-top:10px}
.mh-book b{display:block;font:400 1rem/1.25 var(--display);color:#fff}
.mh-book span{display:block;font-size:.8rem;color:#e2cbb8;margin-top:3px}
@media (max-width:960px){.mh-cols{grid-template-columns:1fr}}
@media (max-width:560px){.mh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* press room */
.pressroom{background:var(--linen)}
.flyers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:44px}
.flyer{margin:0;background:var(--paper);border:1px solid var(--rule);padding:10px 10px 14px}
.flyer img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;background:#222}
.flyer figcaption{margin-top:10px;font-size:.8rem;line-height:1.45;color:var(--muted)}
.flyer figcaption b{display:block;font:400 1rem/1.25 var(--display);color:var(--ink);margin-bottom:2px}
.releases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rel{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--terracotta);padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.rel .cat{font:700 .68rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mahogany)}
.rel h3{font-size:1.2rem;line-height:1.22}
.rel h3 button{all:unset;cursor:pointer}
.rel h3 button:hover{color:var(--harbor)}
.rel h3 button:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px}
.rel .meta{font-size:.8rem;color:var(--muted)}
.rel p{margin:0;font:400 .95rem/1.55 var(--text);color:#4a3426}
.rel .go{margin-top:auto;padding-top:8px}
.rel .go button{font:600 .8rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;padding:6px 0;color:var(--harbor);cursor:pointer;border-bottom:2px solid var(--harbor)}
@media (max-width:960px){.flyers{grid-template-columns:repeat(3,minmax(0,1fr))}.releases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.flyers{grid-template-columns:repeat(2,minmax(0,1fr))}.releases{grid-template-columns:1fr}}
.article .body h2{font-size:1.4rem;margin:30px 0 12px}
.article .body ul{margin:0 0 18px;padding-left:22px}
.article .body li{margin-bottom:4px;font:400 1.08rem/1.6 var(--text)}
.article .sub{font:italic 400 1.15rem/1.5 var(--text);color:var(--muted);margin:-6px 0 14px}

/* palette: headings in deep tones on light sections */
main section:not(.dark) h1,main section:not(.dark) h2{color:var(--espresso)}
main section:not(.dark) h3{color:var(--leather)}
.dark h2,.dark h3{color:#fff}
a.tlink{color:var(--harbor);font-weight:600;text-decoration:none;border-bottom:2px solid var(--harbor);padding-bottom:2px}
a.tlink:hover{color:var(--harbor-dk)}
nav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -3px 0 var(--terracotta)}
.brand{color:var(--on-dark)}

/* page header for inner pages */
.page-head{background:var(--espresso);color:var(--on-dark);padding-block:clamp(48px,7vw,88px) clamp(40px,5vw,64px)}
.page-head .eyebrow{color:var(--on-dark-muted)}
.page-head h1{font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.05;color:#fff;max-width:20ch}
.page-head p{font:400 clamp(1.05rem,1.6vw,1.2rem)/1.6 var(--text);color:var(--on-dark-muted);max-width:60ch;margin:18px 0 0}
.subnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.subnav a{font:600 .8rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#fff;padding:10px 14px;border:1.5px solid rgba(255,255,255,.35);border-radius:999px}
.subnav a:hover{background:var(--harbor);border-color:var(--harbor)}

/* home gallery */
.gallery{background:var(--paper);padding-block:0;border-bottom:1px solid var(--rule)}
.gallery .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 18%}
@media (max-width:700px){.gallery .row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* coverage cards */
.coverage .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.beat{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--terracotta);padding:26px 22px 22px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;transition:border-color .15s}
.beat:hover{border-top-color:var(--harbor)}
.beat h3{font-size:1.5rem}
.beat p{margin:0;font:400 .98rem/1.6 var(--text);color:#4a3426}
.beat .go{margin-top:auto;padding-top:6px;font:700 .8rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--harbor)}
@media (max-width:960px){.coverage .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.coverage .grid4{grid-template-columns:1fr}}

/* boots on the ground */
.boots{background:var(--leather);color:var(--on-dark)}
.boots .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.boots .eyebrow{color:#e9cdb9}
.boots h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin-bottom:20px}
.boots p{font:400 1.08rem/1.75 var(--text);color:#efe2d4;margin:0 0 18px;max-width:58ch}
.latest{display:grid;gap:14px}
.latest h3{font:600 .78rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#e9cdb9;margin-bottom:4px}
.latest a{display:block;text-decoration:none;background:rgba(0,0,0,.16);border-left:4px solid var(--terracotta);padding:16px 18px;color:#fff}
.latest a:hover{border-left-color:var(--olive);background:rgba(0,0,0,.24)}
.latest a b{display:block;font:400 1.15rem/1.3 var(--display)}
.latest a span{display:block;font-size:.8rem;color:#e2cbb8;margin-top:4px}
@media (max-width:860px){.boots .grid{grid-template-columns:1fr}}

/* philosophy */
.philosophy{background:var(--paper);text-align:center}
.philosophy blockquote{margin:0 auto;max-width:24ch;font:400 clamp(2rem,4.6vw,3.4rem)/1.12 var(--display);color:var(--espresso)}
.philosophy blockquote::before{content:"";display:block;width:56px;height:4px;background:var(--olive);margin:0 auto 26px}
.philosophy cite{display:block;margin:20px 0 30px;font:600 .82rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--mahogany)}

/* closing cta */
.cta{background:var(--mahogany);color:#fff;text-align:center}
.cta h2{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;margin-bottom:16px}
.cta p{font:400 1.1rem/1.65 var(--text);color:#f7e6da;max-width:56ch;margin:0 auto 26px}
.cta .who{margin-top:34px;font:400 1.3rem/1.2 var(--display)}
.cta .who small{display:block;font:500 .78rem/1.4 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:#f1d5c4;margin-top:6px}
.cta .btn{background:var(--harbor);border-color:var(--harbor)}
.cta .btn.light{background:transparent;border-color:rgba(255,255,255,.6)}

/* footer */
footer{padding-block:48px calc(36px + env(safe-area-inset-bottom,0px))}
footer .fgrid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:28px;align-items:start}
footer h4{font:600 .74rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#e9cdb9;margin:0 0 14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer .tag{display:block;margin-top:8px}
footer .base{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media (max-width:760px){footer .fgrid{grid-template-columns:1fr}}

/* bios */
.bios{background:var(--paper)}
.biogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.bio-card{background:var(--linen);border:1px solid var(--rule);border-left:4px solid var(--terracotta);padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px}
.bio-card h3{font-size:1.45rem}
.bio-card .meta{font-size:.82rem;color:var(--muted)}
.bio-card p{margin:0;font:400 .95rem/1.6 var(--text);color:#4a3426}
.bio-card .go{margin-top:auto;padding-top:8px}
.bio-card .go button{font:600 .8rem/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;padding:6px 0;color:var(--harbor);cursor:pointer;border-bottom:2px solid var(--harbor)}
.article blockquote{margin:0 0 28px;padding:4px 0 4px 20px;border-left:4px solid var(--olive);font:italic 400 1.3rem/1.5 var(--text);color:var(--leather)}
.article blockquote cite{display:block;margin-top:8px;font:600 .8rem/1 var(--ui);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mh-svc{border-top-color:var(--olive)}
.press-note{margin:0 0 26px;padding:14px 18px;background:var(--paper);border-left:4px solid var(--olive);font:400 .95rem/1.55 var(--text);color:#4a3426;max-width:80ch}

/* sponsorship decks */
.sponsor{background:var(--paper)}
.decks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.deck{margin:0;background:var(--linen);border:1px solid var(--rule);border-top:4px solid var(--terracotta);display:flex;flex-direction:column}
.deck img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#efe6da;border-bottom:1px solid var(--rule)}
.deck figcaption{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px}
.deck .cat{font:700 .68rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--mahogany)}
.deck b{font:400 1.25rem/1.2 var(--display);color:var(--espresso)}
.deck .meta{font-size:.8rem;color:var(--muted)}
.deck p{margin:0;font:400 .95rem/1.55 var(--text);color:#4a3426}
@media (max-width:960px){.decks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.decks{grid-template-columns:1fr}}
/* community outreach */
.outreach{background:var(--espresso);color:var(--on-dark)}
.outreach .sec-head .eyebrow{color:#e9cdb9}
.outreach .sec-head p{color:#ecdccd}
.ua-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ua-card{background:rgba(255,255,255,.05);border-top:4px solid var(--olive);padding:20px 20px 22px}
.ua-card h3{font-size:1.3rem;margin-bottom:8px;color:#fff}
.ua-card p,.ua-programs p{margin:0;font:400 .98rem/1.6 var(--text);color:#efe2d4}
.ua-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.ua-programs>div{border-left:4px solid var(--terracotta);padding:6px 0 6px 18px}
.ua-programs h3{font-size:1.35rem;margin-bottom:8px;color:#fff}
@media (max-width:960px){.ua-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ua-grid,.ua-programs{grid-template-columns:1fr}}
