/*
Theme Name: Andrew Ziehm
Author: Andrew Ziehm
Description: Personal site for Dr. Andrew Ziehm. Edit colors and fonts in the :root block below; edit each page's text in its page-*.php template.
Version: 1.6.0
*/

/* ===== Andrew Ziehm — brand system v2.1 ===== */
@import url('https://fonts.googleapis.com/css2?family=Solway:wght@400;500;700;800&family=Jost:wght@300;400;500;600&display=swap');
:root{
  --teal:#356b63; --teal-d:#2b574f; --teal-l:#6b9990;
  --cream:#f3e7cf; --paper:#f6edd9; --white:#fffdf7;
  --gold:#cf9f2f; --rust:#b15330;
  --espresso:#2a241e; --espresso-d:#211b15;
  --ink:#2a241e; --muted:#7a7060; --line:#ddd0b6; --line-d:#c8baa0;
  --wide:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:light dark}
body{font-family:'Jost',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Solway',Georgia,serif;font-weight:800;line-height:1.12;color:var(--espresso)}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.eyebrow .sq{width:8px;height:8px;background:var(--gold);display:inline-block;transform:rotate(45deg)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Jost',sans-serif;font-size:14.5px;font-weight:600;letter-spacing:.03em;padding:13px 24px;border:1.5px solid var(--teal);border-radius:2px;cursor:pointer;transition:all .15s}
.btn-solid{background:var(--teal);color:var(--cream)}
.btn-solid:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn-outline{background:transparent;color:var(--teal)}
.btn-outline:hover{background:var(--teal);color:var(--cream)}
.btn .arrow{font-family:'Solway',serif}
header.site{position:sticky;top:0;z-index:30;background:rgba(246,237,217,.94);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--teal)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand .plate{width:40px;height:40px;flex:0 0 auto}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:'Solway',serif;font-weight:800;font-size:19px;color:var(--espresso)}
.brand-sub{font-size:8px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-top:3px}
.menu{display:flex;align-items:center;gap:28px}
.menu a{font-size:14.5px;font-weight:500;color:var(--ink);position:relative;padding:4px 0}
.menu a:hover{color:var(--teal)}
.menu a.active{color:var(--teal)}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}
.menu .btn{padding:9px 18px;background:var(--teal-d);border-color:var(--teal-d);color:#fff;font-weight:600}
.burger{display:none;font-size:24px;background:none;border:none;color:var(--espresso);cursor:pointer}
.ruler{height:9px;background:repeating-linear-gradient(90deg,var(--line-d) 0 1px,transparent 1px 13px),repeating-linear-gradient(90deg,var(--teal) 0 1px,transparent 1px 65px);border-bottom:1px solid var(--line-d)}
.hero{padding:66px 0 58px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.hero h1{font-size:clamp(2.7rem,6vw,4.3rem);margin:14px 0 6px;letter-spacing:-.5px}
.hero .tagline{font-size:clamp(.85rem,1.8vw,1rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}
.hero .lead{font-size:1.17rem;color:#544b3d;max-width:33rem;margin-bottom:30px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.panel{position:relative;background:var(--white);border:1.5px solid var(--teal);border-radius:3px;padding:7px}
.panel-in{border:1px solid var(--line-d);border-radius:2px;padding:14px 14px 8px}
.rivet{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--teal);opacity:.55}
.rivet.tl{top:5px;left:5px}.rivet.tr{top:5px;right:5px}.rivet.bl{bottom:5px;left:5px}.rivet.br{bottom:5px;right:5px}
.figcap{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:6px 4px 2px;border-top:1px solid var(--line-d)}
.figcap .t{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nameplate{position:relative;background:var(--teal);border-radius:3px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.nameplate .cell{padding:16px 22px;border-right:1px solid rgba(243,231,207,.22)}
.nameplate .cell:last-child{border-right:0}
.nameplate .k{font-size:9.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#a9cfc7;margin-bottom:5px}
.nameplate .v{font-family:'Solway',serif;font-weight:700;font-size:.98rem;color:var(--cream)}
.nameplate .rv{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(243,231,207,.5)}
section{padding:74px 0}
.rule2{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.rule2 .ln{height:1px;background:var(--teal);flex:1}
.rule2 .dia{width:7px;height:7px;background:var(--teal);transform:rotate(45deg);flex:0 0 auto}
.sec-head{max-width:680px;margin-bottom:46px}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:6px 0 14px;letter-spacing:-.4px}
.sec-head p{color:#544b3d}
.paper-bg{background:var(--cream)}
.teal-band{background:var(--teal);color:var(--cream)}
.teal-band h2,.teal-band h3{color:var(--cream)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-d);border-radius:3px;overflow:hidden;background:var(--white)}
.spec{padding:28px 24px 30px;border-right:1px solid var(--line-d);position:relative}
.spec:last-child{border-right:0}
.spec .ico{width:52px;height:52px;margin-bottom:16px}
.spec .ref{position:absolute;top:20px;right:22px;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--gold)}
.spec h3{font-size:1.12rem;margin-bottom:9px}
.spec p{font-size:.94rem;color:#544b3d;line-height:1.6}
.range{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.rcard{background:var(--white);border:1px solid var(--line-d);border-radius:4px;padding:32px 30px}
.rcard h3{font-size:1.3rem;margin-bottom:10px}
.rcard p{color:#4f4638;font-size:1rem}
.rec{width:100%;border-collapse:collapse;font-size:.97rem}
.rec thead th{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 14px 12px;border-bottom:1.5px solid var(--teal)}
.rec tbody td{padding:22px 14px;border-bottom:1px solid var(--line-d);vertical-align:top}
.rec tbody tr:hover{background:var(--cream)}
.rec .item{font-family:'Solway',serif;font-weight:800;font-size:1.2rem;color:var(--teal-l);width:54px;font-variant-numeric:tabular-nums}
.rec h3{font-size:1.18rem;margin-bottom:3px}
.rec .role{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.rec .fn{color:#544b3d;font-size:.96rem}
.rec .st{font-family:'Solway',serif;font-weight:700;color:var(--teal);white-space:nowrap;font-variant-numeric:tabular-nums}
.reccol-fn{width:38%}
.bulletins{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bul{background:var(--white);border:1px solid var(--line-d);border-radius:3px;display:flex;flex-direction:column;overflow:hidden}
.bul .top{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line-d);background:var(--cream)}
.bul .no{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.bul .cat{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.bul .bi{padding:22px 20px 24px;display:flex;flex-direction:column;flex:1}
.bul h3{font-size:1.16rem;margin-bottom:9px;line-height:1.25}
.bul p{font-size:.94rem;color:#544b3d;flex:1}
.bul .more{margin-top:14px;font-size:.88rem;font-weight:600;color:var(--teal)}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}
.cta{background:var(--espresso);color:var(--cream);text-align:center;padding:78px 0}
.cta h2{color:var(--cream);font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:14px}
.cta p{color:#d8cdb8;max-width:34rem;margin:0 auto 28px}
.cta .btn-solid{background:var(--gold);border-color:var(--gold);color:var(--espresso)}
.cta .btn-solid:hover{background:#dcae45;border-color:#dcae45}
.cta .btn-outline{color:var(--cream);border-color:var(--cream)}
.cta .btn-outline:hover{background:var(--cream);color:var(--espresso)}
footer.site{background:var(--espresso-d);color:#cdbfa6;padding:56px 0 30px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:34px;border-bottom:1px solid #3a322a}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.foot-brand .plate{width:38px;height:38px}
.foot-brand .bn{font-family:'Solway',serif;font-weight:800;font-size:18px;color:var(--cream)}
.foot-brand .bs{font-size:8px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
footer.site p{max-width:24rem;line-height:1.6}
.foot-col h4{font-family:'Jost',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot-col a{display:block;color:#cdbfa6;margin-bottom:9px;font-size:.95rem}
.foot-col a:hover{color:var(--cream)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:22px;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#8a7d6a}
.foot-bot .spec{font-variant-numeric:tabular-nums;letter-spacing:.1em}
@media(max-width:880px){
  .hero-grid,.about-grid{grid-template-columns:1fr;gap:40px}
  .specs{grid-template-columns:1fr 1fr}.spec:nth-child(2n){border-right:0}
  .nameplate{grid-template-columns:1fr 1fr}.nameplate .cell:nth-child(2n){border-right:0}
  .range{grid-template-columns:1fr}
  .bulletins{grid-template-columns:1fr}
  .menu{display:none}.burger{display:block}
  .foot-grid{grid-template-columns:1fr 1fr}
  .rec .fn{display:none}.reccol-fn{width:auto}
}
@media(max-width:540px){.specs,.nameplate{grid-template-columns:1fr}.spec,.nameplate .cell{border-right:0}.foot-grid{grid-template-columns:1fr}}

/* ---- about page ---- */
.menu .btn:hover{background:var(--espresso)}
.phero{padding:62px 0 10px}
.phero h1{font-size:clamp(2.4rem,5vw,3.7rem);margin:14px 0 16px;letter-spacing:-.4px}
.phero .lead{font-size:1.2rem;color:#544b3d;max-width:42rem}
section{padding:62px 0}
.sec-head{max-width:680px;margin-bottom:40px}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin:6px 0 12px;letter-spacing:-.4px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.prose{max-width:760px}
.prose p{color:#4f4638;margin-bottom:18px;font-size:1.06rem}
.prose .pull{font-family:'Solway',serif;font-weight:700;font-size:1.4rem;color:var(--teal);line-height:1.4;border-left:3px solid var(--gold);padding-left:20px;margin:28px 0}
.panel-in{border:1px solid var(--line-d);border-radius:2px;padding:16px}
.statline .row{display:flex;justify-content:space-between;gap:16px;padding:13px 4px;border-bottom:1px solid var(--line-d)}
.statline .row:last-child{border-bottom:0}
.statline .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.statline .v{font-family:'Solway',serif;font-weight:700;color:var(--teal);text-align:right}
/* range two-up */
.rcard{background:var(--white);border:1px solid var(--line-d);border-radius:4px;padding:30px 28px}
/* timeline */
.tl{margin-top:6px}
.tlrow{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:center;padding:32px 0;border-top:1px solid var(--line-d)}
.tlrow:first-child{border-top:0}
.tlrow .yr{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.tlrow h3{font-size:1.3rem;margin-bottom:8px}
.tlrow p{color:#4f4638;font-size:1rem}
/* skills */
.skillgrid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-d);border-radius:3px;overflow:hidden;background:var(--white)}
.skillcard{padding:30px 28px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d);position:relative}
.skillcard:nth-child(2n){border-right:0}
.skillcard:nth-last-child(-n+2){border-bottom:0}
.skillcard .ref{position:absolute;top:24px;right:26px;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--gold)}
.skillcard h3{font-size:1.18rem;margin-bottom:14px}
.skillcard ul{list-style:none}
.skillcard li{position:relative;padding-left:18px;margin-bottom:8px;font-size:.96rem;color:#4f4638}
.skillcard li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--teal-l);transform:rotate(45deg)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--line-d);border-radius:2px;padding:8px 14px;font-size:.85rem;font-weight:600;letter-spacing:.03em;color:var(--teal);background:var(--white)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.deflist .row{display:flex;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line-d)}
.deflist .row:first-child{border-top:1px solid var(--teal)}
.deflist h3{font-size:1.12rem}
.deflist .sub{font-size:.92rem;color:var(--muted);margin-top:2px}
.deflist .yr{font-family:'Solway',serif;font-weight:700;color:var(--teal);white-space:nowrap;font-variant-numeric:tabular-nums}
.certlist{list-style:none;columns:2;column-gap:40px}
.certlist li{position:relative;padding-left:22px;margin-bottom:12px;break-inside:avoid;font-size:.98rem;color:#4f4638}
.certlist li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border:1.5px solid var(--teal);border-radius:50%}
.insight{background:var(--white);border:1px solid var(--line-d);border-left:3px solid var(--gold);border-radius:0 4px 4px 0;padding:28px 32px;max-width:780px}
.insight h3{font-size:1.32rem;margin:6px 0 10px}
.insight p{color:#4f4638;margin-bottom:14px}
.insight a{font-weight:600;color:var(--teal);border-bottom:1px solid var(--gold);padding-bottom:1px}
.cta{background:var(--espresso);color:var(--cream);text-align:center;padding:74px 0}
.cta h2{color:var(--cream);font-size:clamp(1.9rem,3.6vw,2.5rem);margin-bottom:14px}
.foot-bot .spec{letter-spacing:.1em}
@media(max-width:880px){.split,.twocol,.range{grid-template-columns:1fr;gap:34px}.skillgrid{grid-template-columns:1fr}.skillcard{border-right:0}.skillcard:nth-last-child(2){border-bottom:1px solid var(--line-d)}.certlist{columns:1}.tlrow{grid-template-columns:1fr;gap:18px}.menu{display:none}.burger{display:block}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.foot-grid{grid-template-columns:1fr}}
/* ---- work page ---- */
section{padding:64px 0}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--white);border:1px solid var(--line-d);border-radius:4px;padding:28px 26px;position:relative;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--teal)}
.card .ref{position:absolute;top:22px;right:24px;font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--gold)}
.card h3{font-size:1.28rem;margin-bottom:10px}
.card p{font-size:.97rem;color:#544b3d}
.card .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.card .tag{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line-d);border-radius:2px;color:var(--teal)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--teal);border-left:1px solid var(--line-d)}
.step{border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d);padding:30px 26px 34px;background:var(--white)}
.step .n{font-family:'Solway',serif;font-weight:800;font-size:2rem;color:var(--teal-l);line-height:1}
.step h3{font-size:1.18rem;margin:14px 0 8px}
.step p{color:#544b3d;font-size:.95rem;line-height:1.55}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.feature .meta{display:flex;gap:26px;margin:18px 0 22px;flex-wrap:wrap}
.feature .meta div{border-left:2px solid var(--gold);padding-left:12px}
.feature .meta .k{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.feature .meta .v{font-family:'Solway',serif;font-weight:700;font-size:1rem;color:var(--teal)}
.feature h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:8px 0 14px}
.feature p{color:#544b3d;margin-bottom:14px}
.panel-in{border:1px solid var(--line-d);border-radius:2px;padding:18px}
@media(max-width:880px){.feature,.cards{grid-template-columns:1fr;gap:30px}.steps{grid-template-columns:1fr}.menu{display:none}.burger{display:block}.foot-grid{grid-template-columns:1fr 1fr}}
/* ---- projects page ---- */
.phero .lead{font-size:1.2rem;color:#544b3d;max-width:44rem}
section{padding:54px 0}
.sec-head{max-width:680px;margin-bottom:32px}
.sec-head h2{font-size:clamp(1.7rem,3.2vw,2.2rem);margin:6px 0 10px;letter-spacing:-.4px}
.cat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.catcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line-d);border-radius:5px;padding:26px 24px 22px;transition:transform .15s,border-color .15s}
.catcard:hover{transform:translateY(-3px);border-color:var(--teal)}
.catcard .ref{font-family:'Solway',serif;font-weight:800;font-size:.95rem;color:var(--teal-l);letter-spacing:.06em;margin-bottom:10px}
.catcard h3{font-size:1.2rem;margin-bottom:8px}
.catcard p{font-size:.95rem;color:#544b3d;flex:1;margin-bottom:14px}
.catcard .go{font-size:.88rem;font-weight:600;color:var(--teal)}
@media(max-width:880px){.cat{grid-template-columns:1fr 1fr}.menu{display:none}.burger{display:block}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.cat{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}}
/* ---- writing page ---- */
h1,h2,h3,h4{font-family:'Solway',Georgia,serif;font-weight:800;line-height:1.14;color:var(--espresso)}
.article{max-width:780px;margin:0 auto;padding:56px 0 30px}
.article .meta{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.article h1{font-size:clamp(2.1rem,4.4vw,3rem);margin-bottom:14px;letter-spacing:-.4px}
.article .byline{font-size:.95rem;color:var(--muted);margin-bottom:8px}
.article .rule{width:54px;height:4px;background:var(--teal);margin:22px 0 32px}
.article p{font-size:1.08rem;color:#3f382e;margin-bottom:20px;line-height:1.78}
.article .step{font-size:1.08rem;color:#3f382e;margin-bottom:12px;line-height:1.7;padding-left:20px;position:relative}
.article .step::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--teal-l);transform:rotate(45deg)}
.figwrap{background:var(--white);border:1px solid var(--line-d);border-radius:6px;padding:24px 22px 16px;margin:32px 0}
.figcap2{font-size:.84rem;color:var(--muted);text-align:center;margin-top:12px;letter-spacing:.03em}
.backbar{border-top:1px solid var(--line-d);margin-top:40px;padding-top:26px}
footer.site{background:var(--espresso-d);color:#cdbfa6;padding:56px 0 30px;font-size:.95rem;margin-top:40px}
@media(max-width:880px){.menu{display:none}.burger{display:block}.foot-grid{grid-template-columns:1fr 1fr}}
/* ---- contact page ---- */
section{padding:56px 0 80px}
.cgrid{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:start}
.formcard{background:var(--white);border:1.5px solid var(--teal);border-radius:6px;padding:34px 32px;position:relative}
.formcard .pl{position:absolute;top:-12px;left:24px;background:var(--gold);color:var(--espresso);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:2px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:18px}
.field label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1.5px solid var(--line-d);border-radius:3px;background:var(--paper);font-family:'Jost',sans-serif;font-size:15px;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--teal)}
.field textarea{min-height:130px;resize:vertical}
.note{font-size:.9rem;color:var(--teal);margin-top:12px;min-height:1em;font-weight:600}
.aside h3{font-size:1.3rem;margin-bottom:18px}
.arow{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start}
.arow .n{flex:0 0 auto;width:30px;height:30px;border:1.5px solid var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Solway',serif;font-weight:800;font-size:14px;color:var(--teal)}
.arow p{font-size:.97rem;color:#544b3d}
.directbox{margin-top:24px;background:var(--cream);border-left:3px solid var(--gold);padding:18px 20px;border-radius:0 4px 4px 0}
.directbox .k{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.directbox a{font-family:'Solway',serif;font-weight:700;color:var(--teal);font-size:1.02rem}
@media(max-width:880px){.cgrid{grid-template-columns:1fr;gap:36px}.menu{display:none}.burger{display:block}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.form-row{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}}

/* ===== Automatic dark mode (follows the visitor's device setting) ===== */
@media (prefers-color-scheme: dark){
  :root{
    --paper:#1c1712; --white:#2a2219;
    --ink:#e9dfce; --muted:#a99d86; --line:#3a3228; --line-d:#3a3228;
  }
  h1,h2,h3,h4{color:#f1e8d6}
  header.site{background:rgba(28,23,18,.92)}
  .brand-name,.menu a,.burger{color:#e9dfce}
  /* surfaces that used the light --cream as a background go dark */
  .paper-bg,.directbox{background:#241d16}
  .bul .top{background:#201a14}
  .rec tbody tr:hover{background:#322a20}
  /* body copy on the dark page */
  .hero .lead,.phero .lead,.sec-head p,.spec p,.bul p,.step p,.card p,.catcard p,
  .arow p,.feature p,.rec .fn,.prose p,.rcard p,.tlrow p,.skillcard li,.certlist li,
  .insight p,.article p,.article .step,.directbox .k,.feature .meta .k{color:#c9bca4}
  .field input,.field textarea,.field select{color:#e9dfce}
  /* ---- accents switch from teal to yellow (gold) in dark mode ---- */
  .eyebrow,.hero .tagline,.prose .pull,.bul .more,.catcard .go,.catcard .ref,
  .insight a,.directbox a,.brand-sub,.chip,.note,.field label,
  .menu a:hover,.menu a.active{color:var(--gold)}
  .chip{border-color:#5a4a22}
  .rule2 .ln,.rule2 .dia,.article .rule{background:var(--gold)}
  .skillcard li::before,.article .step::before,.rivet{background:var(--gold)}
  .arow .n{border-color:var(--gold);color:var(--gold)}
  .certlist li::before{border-color:var(--gold)}
  /* buttons -> yellow */
  .btn-solid,.menu .btn,.cta .btn-solid{background:var(--gold);color:var(--espresso);border-color:var(--gold)}
  .btn-solid:hover,.menu .btn:hover,.cta .btn-solid:hover{background:#dcae45;border-color:#dcae45;color:var(--espresso)}
  .btn-outline,.cta .btn-outline{color:var(--gold);border-color:var(--gold);background:transparent}
  .btn-outline:hover,.cta .btn-outline:hover{background:var(--gold);color:var(--espresso)}
  /* keep the line-drawing panels light so the artwork stays readable */
  .panel{background:#fffdf7;border-color:var(--gold)}
  .panel-in{background:#fffdf7;border-color:#d8cdb8;color:#2a241e}
  .panel-in .figcap{border-color:#d8cdb8}
  .figcap .t,.statline .k{color:#7a7060}
  .statline .row{border-color:#d8cdb8}
  .figwrap{background:#fffdf7;border-color:#d8cdb8}
  /* inline text colors used inside the page content */
  [style*="#544b3d"]{color:#c9bca4 !important}
  [style*="#4f4638"]{color:#c9bca4 !important}
}

/* ============================================================
   Blog listing (Writing) — added for blog format
   ============================================================ */
.bloghead{max-width:820px;margin:0 auto;padding:56px 0 6px}
.bloghead .eyebrow{margin-bottom:14px}
.bloghead h1{font-size:clamp(2.1rem,4.4vw,3rem);margin:0 0 12px;letter-spacing:-.4px}
.bloghead .lead{font-size:1.18rem;color:#544b3d;max-width:42rem}
.postlist{max-width:820px;margin:0 auto;padding:16px 0 26px}
.postcard{padding:30px 0;border-bottom:1px solid var(--line-d)}
.postcard:first-child{padding-top:12px}
.postcard .pmeta{display:flex;gap:14px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.postcard .pcat{color:var(--teal)}
.postcard h2{font-size:clamp(1.45rem,3vw,1.95rem);line-height:1.18;margin-bottom:10px}
.postcard h2 a:hover{color:var(--teal)}
.postcard p{font-size:1.05rem;color:#3f382e;line-height:1.72;margin-bottom:14px}
.readmore{display:inline-flex;align-items:center;gap:8px;font-family:'Jost',sans-serif;font-weight:600;font-size:.95rem;color:var(--teal);border-bottom:2px solid var(--gold);padding-bottom:2px}
.readmore:hover{color:var(--teal-d)}
.pagination{max-width:820px;margin:0 auto;padding:6px 0 34px}
.pagination .nav-links{display:flex;gap:10px;flex-wrap:wrap}
.pagination .screen-reader-text{position:absolute;left:-9999px}
.pagination .page-numbers{padding:8px 13px;border:1.5px solid var(--line-d);border-radius:2px;font-size:.9rem;font-weight:600;color:var(--ink)}
.pagination .page-numbers.current{background:var(--teal);color:var(--cream);border-color:var(--teal)}
.pagination a.page-numbers:hover{border-color:var(--teal);color:var(--teal)}
/* native list inside posts -> diamond-bullet steps */
.article .wp-block-list,.article ul{list-style:none;margin:0 0 20px;padding:0}
.article li{font-size:1.08rem;color:#3f382e;margin-bottom:12px;line-height:1.7;padding-left:22px;position:relative}
.article li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--teal-l);transform:rotate(45deg)}

@media (prefers-color-scheme: dark){
  .bloghead .lead,.postcard p,.article li{color:#c9bca4}
  .postcard .pcat,.readmore{color:var(--gold);border-color:var(--gold)}
  .article li::before{background:var(--gold)}
  .pagination .page-numbers{color:#e9dfce;border-color:#3a3228}
  .pagination .page-numbers.current{background:var(--gold);color:var(--espresso);border-color:var(--gold)}
  .pagination a.page-numbers:hover{border-color:var(--gold);color:var(--gold)}
}
