/* Shared foundation for the whole site: design tokens, reset, base type, and the
   header/footer chrome. Every page links this FIRST, then adds only its own
   page-specific styles. One source of truth, so the whole site reads as one site. */
:root{
  --paper:#FAF9F5; --oat:#F0EEE6; --oat-deep:#E9E6DA; --ink:#1F1E1B; --ink-2:#56544D; --ink-3:#8C8A80;
  --line:#E5E2D8; --line-soft:#EDEAE1; --accent:#0E7C6E; --accent-deep:#0A5A50; --teal-soft:#E3F0EC;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);font-size:1.0625rem;line-height:1.68;color:var(--ink-2);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%}
h1,h2,h3,h4{text-wrap:balance}
p,figcaption,li,dd{text-wrap:pretty}
::selection{background:#D8EEE9;color:var(--ink)}
a{color:var(--accent-deep);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:text-decoration-color .15s ease}
a:hover{text-decoration-color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.container{max-width:1080px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.label{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* header */
header{padding:30px 0 0}
.header-row{display:flex;justify-content:space-between;align-items:baseline}
.wordmark{font-family:var(--serif);font-size:1.18rem;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:-.005em}
.wordmark:hover{text-decoration:none}
nav{display:flex;gap:26px}
nav a{font-size:.86rem;font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap}
nav a:hover{color:var(--ink);text-decoration:none}
@media(max-width:760px){nav{gap:16px}nav .hide-sm{display:none}}

/* shared case + exhibit grammar: a two-column project row (prose + visual plate)
   used by both the homepage Featured Work and the case-study overview beats, so
   the two pages share one structural source of truth. Page-specific type
   (homepage .case-text h3/role/stats, overview beat prose) stays on each page. */
.case{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,6vw,80px);align-items:center;padding:clamp(52px,6vw,68px) 0}
.case + .case{border-top:1px solid var(--line-soft)}
.case > *{min-width:0}
.case.flip .case-text{order:2}
.case.flip .exhibit{order:1}
.case-text .label{color:var(--accent-deep);display:block;margin-bottom:14px}
.exhibit{margin:0}
.exhibit .mat{background:none;border:none;border-radius:0;padding:0}
.exhibit .plate{border:none;border-radius:0;overflow:visible;box-shadow:none;background:none;padding:0}
.exhibit .plate img{display:block;width:100%;height:auto;border-radius:10px;
  box-shadow:0 2px 6px rgba(31,30,27,.04),0 22px 48px rgba(31,30,27,.10)}
.exhibit .plate.art svg{display:block;width:100%;height:auto}
.exhibit figcaption{font-size:.8rem;color:var(--ink-3);margin-top:16px;padding:0 4px}
@media(max-width:860px){.case{grid-template-columns:1fr}.case .exhibit{order:-1;margin-bottom:12px}}

/* footer */
footer{border-top:1px solid var(--line);padding:clamp(56px,8vw,80px) 0 64px}
.f-row{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.f-name{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink);margin-bottom:6px}
.f-title{font-size:.9rem;color:var(--ink-3)}
.f-links{display:flex;gap:20px;align-items:center}
.f-links a{font-size:.92rem;font-weight:500;color:var(--ink-2);text-decoration:none}
.f-links a:hover{color:var(--ink);text-decoration:none}
.f-ico{display:inline-flex;align-items:center;color:var(--ink-2)}
.f-ico:hover{color:var(--accent-deep)}
/* email shown as a copyable chip: no mail-client launch; one click copies the address */
.f-mail{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;color:var(--ink-2)}
.f-mail svg{color:var(--ink-3)}
.f-mail:hover,.f-mail:hover svg{color:var(--accent-deep)}
.f-mail .copy-label{font-size:.92rem;font-weight:500}
.f-mail.is-copied,.f-mail.is-copied svg{color:var(--accent)}
.f-mail:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
/* reusable copyable email chip in body content (resume) */
.c-mail{background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;font-size:.92rem;color:var(--accent-deep);font-weight:500}
.c-mail.is-copied{color:var(--accent)}
.c-mail:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.fine{margin-top:48px;font-size:.78rem;color:var(--ink-3)}
