/* eddieburroughs.com — professional portfolio
   Shared by / (homepage) and /ventures/.
   Light, mobile-first. Brand gold (#C9A227) is DECORATION ONLY — it measures
   2.36:1 on the page background, so it never carries text. Interactive text
   uses --brass (5.96:1) and headings use --ink (16.28:1). */

:root{
  --bg:#FDFCFA;          /* warm white */
  --surface:#FFFFFF;
  --panel:#F4F1EA;       /* warm tint for the facts block */
  --ink:#0B1F33;         /* dark navy — headings */
  --body:#27384A;        /* body copy */
  --muted:#56687B;       /* secondary copy, still AA */
  --brass:#7A5E12;       /* accent that is safe as text */
  --gold:#C9A227;        /* accent rules, borders, underlines */
  --line:#E4DFD4;
  --focus:#0B57A4;
  --maxw:720px;
  --radius:10px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--body);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

/* ---------- shared primitives ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

h1,h2,h3{color:var(--ink);line-height:1.25;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;}
h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;}
h2{font-size:1.5rem;margin-top:0;}
h3{font-size:1.0625rem;}
p{margin:0 0 1rem;}
p:last-child{margin-bottom:0;}

a{color:var(--brass);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{text-decoration-thickness:2px;}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px;}

.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:100;text-decoration:none;}
.skip:focus{left:8px;top:8px;}

/* ---------- header / nav ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;justify-content:center;padding-top:8px;padding-bottom:8px;}
.site-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;}
.site-nav a{
  display:inline-block;color:var(--body);text-decoration:none;font-size:.9375rem;font-weight:500;
  padding:10px;min-height:44px;line-height:24px;border-radius:6px;
}
.site-nav a:hover{color:var(--ink);background:var(--panel);}
.site-nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold);}
.site-nav a.secondary{color:var(--muted);}

/* ---------- hero ---------- */
.hero{padding:44px 0 8px;}
.hero-grid{display:flex;flex-direction:column;gap:24px;}
.portrait{
  width:148px;height:185px;object-fit:cover;object-position:center top;
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(11,31,51,.08);
  background:var(--panel);flex:none;
}
.hero h1{margin-bottom:.15em;}
.hero-heading{font-size:1.25rem;font-weight:600;color:var(--brass);margin:0 0 .85rem;line-height:1.4;}
.credential{
  margin-top:1.15rem;padding-top:1rem;border-top:2px solid var(--gold);
  font-size:.9375rem;color:var(--muted);
}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5rem;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 22px;border-radius:8px;
  font-size:1rem;font-weight:600;text-decoration:none;border:2px solid var(--ink);
  transition:background .15s ease,color .15s ease;
}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:#16354f;text-decoration:none;}
.btn-secondary{background:transparent;color:var(--ink);}
.btn-secondary:hover{background:var(--panel);text-decoration:none;}

@media (min-width:620px){
  .hero{padding-top:56px;}
  .hero-grid{flex-direction:row;align-items:flex-start;gap:32px;}
  .portrait{width:176px;height:220px;}
  h1{font-size:2.35rem;}
}

/* ---------- sections ---------- */
section{padding:40px 0;border-top:1px solid var(--line);}
section:first-of-type{border-top:none;}
.lede{color:var(--body);}

/* career-scope facts */
.scope-note{
  font-size:.9375rem;color:var(--muted);margin:0 0 1rem;
}
.facts{
  list-style:none;margin:0;padding:20px 22px;
  background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);
}
.facts li{padding:9px 0 9px 20px;position:relative;border-bottom:1px solid rgba(11,31,51,.08);}
.facts li:last-child{border-bottom:none;}
.facts li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:7px;border-radius:50%;background:var(--gold);}

/* what I work on / systems */
.stack{display:grid;gap:22px;}
.stack h3{margin-bottom:.25em;}
.stack p{color:var(--body);}

/* projects */
.project{
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:var(--radius);padding:20px 22px;margin-bottom:18px;
}
.project:last-child{margin-bottom:0;}
.project h3{margin-bottom:.35em;}
.project .contribution{font-size:.9375rem;color:var(--muted);margin:.75rem 0 0;}
.project .contribution strong{color:var(--body);font-weight:600;}
.project .visit{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;font-weight:600;font-size:.9375rem;padding:10px 0;}

/* roles */
.role{padding:16px 0;border-bottom:1px solid var(--line);}
.role:last-child{border-bottom:none;}
.role:first-child{padding-top:0;}
.role h3{margin-bottom:.1em;}
.role .meta{font-size:.9375rem;color:var(--muted);margin:0 0 .45rem;}

/* contact */
.contact-list{list-style:none;margin:1.25rem 0 0;padding:0;}
.contact-list li{display:flex;flex-wrap:wrap;gap:4px 10px;padding:11px 0;border-bottom:1px solid var(--line);}
.contact-list li:last-child{border-bottom:none;}
.contact-list .label{font-size:.8125rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);flex:0 0 100px;padding-top:3px;}
.contact-list a{font-weight:600;display:inline-flex;align-items:center;min-height:44px;padding:8px 0;}

/* footer */
.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:8px;padding:26px 0 40px;}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:center;}
.site-footer p{font-size:.875rem;color:var(--muted);margin:0;}
.site-footer a{font-size:.9375rem;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px 8px;margin:0 -8px;}

/* ---------- ventures page ---------- */
.venture-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:8px;}
@media (min-width:640px){.venture-grid{grid-template-columns:1fr 1fr;}}
.venture{
  display:flex;flex-direction:column;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;text-decoration:none;color:var(--body);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.venture:hover{border-color:var(--gold);box-shadow:0 3px 14px rgba(11,31,51,.09);text-decoration:none;}
.venture .plate{
  background:var(--surface);border:1px solid var(--line);border-radius:8px;height:72px;
  display:flex;align-items:center;justify-content:center;padding:10px 14px;margin-bottom:14px;
}
.venture .plate img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;}
.venture .vdom{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);font-weight:700;}
.venture .vdesc{font-size:.9375rem;line-height:1.6;color:var(--body);margin:.5rem 0 0;flex:1;}
.venture .visit{margin-top:.9rem;font-weight:600;font-size:.9375rem;color:var(--brass);}

@media (max-width:360px){
  body{font-size:16px;}
  .wrap{padding:0 16px;}
  h1{font-size:1.75rem;}
  .portrait{width:132px;height:165px;}
  .contact-list .label{flex:0 0 100%;}
}

/* visually-hidden text for screen readers (e.g. "opens in a new tab") */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
