/* ===== Kent Erskine site, shared styles ===== */
:root{
  --paper:#FBFAF6;--sand:#ECE4D4;--sand-deep:#E2D8C4;--ink:#16221E;--ink-soft:#3D4B45;
  --marsh:#274E43;--tide:#5E8B7E;--signal:#B9772A;--correct:#A2412B;--line:#D8CFBE;--line-soft:#E7DECD;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Newsreader",Georgia,serif;font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1080px;margin:0 auto;padding:0 24px}
.display{font-family:"Archivo",system-ui,sans-serif;letter-spacing:-0.01em}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
a{color:var(--marsh);text-underline-offset:2px}
img{max-width:100%}

/* ===== Nav ===== */
.nav{position:sticky;top:0;z-index:50;background:rgba(251,250,246,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1080px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:"Archivo",sans-serif;font-weight:800;font-size:17px;letter-spacing:0.02em;color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:8px}
.brand span{font-weight:600;font-size:11px;letter-spacing:0.1em;color:var(--marsh)}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{font-family:"Archivo",sans-serif;font-weight:600;font-size:14.5px;color:var(--ink-soft);text-decoration:none;transition:color .15s ease}
.nav-links a:hover,.nav-links a.active{color:var(--marsh)}
.nav-links a.active{border-bottom:2px solid var(--signal);padding-bottom:3px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--ink)}
.nav-toggle svg{width:26px;height:26px}

@media (max-width:820px){
  .nav-toggle{display:block}
  .nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 24px 16px;display:none}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:13px 0;font-size:16px;border-bottom:1px solid var(--line-soft);width:100%}
  .nav-links a.active{border-bottom:1px solid var(--line-soft);padding-bottom:13px}
}

/* ===== Shared bits ===== */
.eyebrow{font-family:"Archivo",sans-serif;font-weight:600;font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--marsh);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--signal);display:inline-block}

.btn{display:inline-block;font-family:"Archivo",sans-serif;font-weight:700;font-size:16px;text-decoration:none;border-radius:3px;padding:15px 26px;transition:transform .15s ease,background .15s ease,color .15s ease;cursor:pointer}
.btn-primary{background:var(--signal);color:var(--ink)}
.btn-primary:hover{background:#cf8632;transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--marsh)}
.btn-outline:hover{background:var(--marsh);color:#FBFAF6}
.btn:focus-visible{outline:3px solid var(--tide);outline-offset:3px}

.band{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-top:40px;margin-bottom:40px}
.band img{display:block;width:100%;height:clamp(260px,46vh,460px);object-fit:cover}
.band-cap{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin-top:11px}

.pullquote{margin:48px 0;padding-left:26px;border-left:3px solid var(--signal)}
.pullquote p{font-family:"Newsreader",serif;font-style:italic;font-weight:500;font-size:clamp(25px,4.2vw,37px);line-height:1.22;color:var(--marsh);margin:0}
.pullquote cite{display:block;margin-top:15px;font-family:"Archivo",sans-serif;font-style:normal;font-weight:600;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-soft)}

section{padding:40px 0}
h1.display{font-weight:800;font-size:clamp(34px,6.2vw,58px);line-height:1.02;color:var(--ink)}
h2.display{font-weight:700;font-size:clamp(25px,3.6vw,32px);line-height:1.12;margin-bottom:16px;color:var(--ink)}
.accent{color:var(--marsh)}
.term{font-weight:600;color:var(--marsh)}

/* ===== Hero ===== */
.hero{padding:74px 0 26px}
.hero h1{margin:20px 0 0}
.hero .standfirst{font-size:clamp(20px,2.6vw,24px);color:var(--ink-soft);margin-top:22px;max-width:40ch}
.hero-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:13px}

/* ===== Card grid ===== */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:18px 0}
.card{display:flex;flex-direction:column;background:var(--sand);border:1px solid var(--line);border-radius:5px;overflow:hidden;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 20px 44px -30px rgba(39,78,67,0.6)}
.card-photo{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.card-body{padding:22px 24px 24px;border-left:4px solid var(--signal);flex:1}
.card h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin-bottom:8px}
.card p{font-size:16px;color:var(--ink-soft);line-height:1.45;margin:0}
.card .go{display:inline-block;margin-top:14px;font-family:"Archivo",sans-serif;font-weight:700;font-size:14px;color:var(--marsh)}
@media (max-width:680px){.cards{grid-template-columns:1fr}}

/* ===== Intro / prose ===== */
.prose p{margin-bottom:20px}
.prose p:first-child{font-size:21px}

/* ===== Callout ===== */
.callout{background:var(--marsh);color:#F4EFE4;border-radius:4px;padding:34px 32px;margin:14px 0}
.callout .eyebrow{color:#A9C7BB}
.callout .eyebrow::before{background:var(--signal)}
.callout h2{color:#FBFAF6;font-family:"Archivo",sans-serif;font-weight:700;font-size:26px;line-height:1.12;margin:16px 0 14px}
.callout p{color:#DCE7E1;margin-bottom:0;font-size:18px}
.callout .btn{margin-top:24px}

/* ===== Contact card ===== */
.contact-card{background:var(--ink);color:#EFEADD;border-radius:5px;padding:38px 34px;margin:18px 0}
.contact-head{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.contact-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid var(--marsh);flex-shrink:0}
.contact-name{font-family:"Archivo",sans-serif;font-weight:800;font-size:22px;color:#FBFAF6;line-height:1.1}
.contact-org{font-family:"Archivo",sans-serif;font-weight:600;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--tide);margin-top:5px}
.contact-push{font-family:"Archivo",sans-serif;font-weight:700;font-size:clamp(22px,3.4vw,28px);line-height:1.14;color:#FBFAF6;margin-bottom:14px}
.contact-push .hl{color:var(--signal)}
.contact-card>p{color:#CFC6B5;font-size:17px;line-height:1.5;margin-bottom:24px}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.action{display:inline-flex;align-items:center;gap:9px;font-family:"Archivo",sans-serif;font-weight:700;font-size:16px;text-decoration:none;border-radius:3px;padding:14px 22px;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.action svg{width:18px;height:18px;flex-shrink:0}
.action-call{background:var(--signal);color:var(--ink)}
.action-call:hover{background:#cf8632;transform:translateY(-1px)}
.action-email,.action-fb{background:transparent;color:#EFEADD;border:1.5px solid #4a5852}
.action-email:hover,.action-fb:hover{border-color:var(--tide);transform:translateY(-1px)}
.action:focus-visible{outline:3px solid var(--tide);outline-offset:3px}
@media (max-width:560px){
  .contact-card{padding:30px 22px}
  .contact-head{gap:15px}.contact-avatar{width:68px;height:68px}
  .action{flex:1;justify-content:center}
}

/* ===== Footer ===== */
.footer{background:var(--ink);color:#CFC6B5;margin-top:50px;padding:46px 0 38px}
.footer-inner{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px}
.footer .fbrand{font-family:"Archivo",sans-serif;font-weight:800;font-size:18px;color:#FBFAF6}
.footer .forg{font-size:14px;margin-top:6px;color:var(--tide)}
.footer-links{list-style:none;display:flex;flex-wrap:wrap;gap:18px}
.footer-links a{font-family:"Archivo",sans-serif;font-weight:600;font-size:14px;color:#CFC6B5;text-decoration:none}
.footer-links a:hover{color:#FBFAF6}
.footer-legal{max-width:1080px;margin:30px auto 0;padding:22px 24px 0;border-top:1px solid #2e3a35;font-size:13px;line-height:1.5;color:#8a958f}
.footer-legal a{color:var(--tide)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
