:root {
  --paper:#f5f0e7;
  --ink:#151515;
  --green:#126a3b;
  --line:#c8c0b3;
  --white:#fffdf8;
  --dark:#121512;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Georgia,"Times New Roman",serif; line-height:1.55; }
a { color:inherit; }
.skip-link { position:fixed; z-index:5000; top:10px; left:10px; transform:translateY(-160%); padding:10px 14px; border-radius:999px; background:#111; color:#fff; font:800 12px/1 Arial,sans-serif; }
.skip-link:focus { transform:translateY(0); }

.masthead { position:sticky; z-index:1000; top:0; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px clamp(18px,5vw,72px); border-bottom:1px solid rgba(80,70,55,.22); background:rgba(245,240,231,.95); backdrop-filter:blur(12px); }
.brand { font-family:"Engravers' Old English BT","Old English Text MT",Georgia,serif; font-size:clamp(1.45rem,3vw,2rem); line-height:1; text-decoration:none; white-space:nowrap; }
.masthead nav { display:flex; gap:20px; overflow-x:auto; }
.masthead nav a { font:800 10px/1 Arial,sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.masthead nav a[aria-current="page"] { color:var(--green); }

.hero { min-height:620px; display:flex; flex-direction:column; justify-content:center; padding:clamp(80px,12vw,150px) clamp(20px,8vw,130px) 60px; border-bottom:1px solid var(--line); }
.hero__copy { max-width:1040px; }
.eyebrow { margin:0 0 18px; color:var(--green); font:900 10px/1.2 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { margin:0; font-size:clamp(4.5rem,12vw,10rem); font-weight:700; letter-spacing:-.075em; line-height:.78; }
.hero__lede { max-width:780px; margin:34px 0 0; font-size:clamp(1.15rem,2.2vw,1.55rem); }
.hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:32px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 19px; border-radius:999px; background:var(--ink); color:#fff; font:900 10px/1 Arial,sans-serif; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.text-link { color:var(--green); font:900 10px/1.3 Arial,sans-serif; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.hero__promise { align-self:flex-end; margin:55px 0 0; color:#625d54; font-size:.9rem; font-style:italic; }

.section { padding:clamp(72px,9vw,120px) clamp(20px,8vw,130px); border-bottom:1px solid var(--line); }
h2 { max-width:800px; margin:0; font-size:clamp(2.7rem,6vw,5.6rem); line-height:.92; letter-spacing:-.055em; }
h3 { margin:.32em 0 .55em; font-size:clamp(1.45rem,2.5vw,2.05rem); line-height:1.05; }
.section__head { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:42px; }
.section__head > a,.section__summary { max-width:330px; margin:0; color:#5f594f; font-size:.92rem; line-height:1.6; }
.section__head > a { color:var(--green); font:900 10px/1.5 Arial,sans-serif; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }

.portfolio-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }
.work { min-height:330px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--white); text-decoration:none; transition:border-color .18s ease,transform .18s ease; }
.work:hover,.work:focus-visible { transform:translateY(-3px); border-color:var(--green); outline:none; }
.work--lead { background:#163827; color:#fff; }
.work small,.team span,.sample__type { font:900 9px/1.2 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.work p { margin:0; opacity:.76; }
.work > span { margin-top:auto; padding-top:28px; color:var(--green); font:900 10px/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.work--lead > span { color:#83d8aa; }

.fieldwork { background:var(--white); }
.fieldwork-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sample { min-height:350px; display:flex; flex-direction:column; overflow:hidden; padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--paper); text-decoration:none; }
.sample--audio { background:#17392a; color:#fff; }
.sample--video { padding:0; }
.sample__media { position:relative; display:block; overflow:hidden; }
.sample--video img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.sample__credit { position:absolute; right:7px; bottom:7px; max-width:calc(100% - 14px); padding:5px 7px; background:rgba(5,10,8,.82); color:#fff!important; font:600 9px/1.25 Arial,sans-serif!important; letter-spacing:.01em!important; text-align:right; text-transform:none!important; }
.sample--video > div { display:flex; flex:1; flex-direction:column; padding:24px; }
.sample--press { background:#142842; color:#fff; }
.sample__type { margin:0; color:var(--green); }
.sample--audio .sample__type,.sample--press .sample__type { color:#84d9ad; }
.sample p { margin-top:0; }
.sample--video span { margin-top:auto; color:var(--green); font:900 10px/1.3 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.sample__links,.press-links { display:flex; flex-wrap:wrap; gap:9px; margin-top:auto; }
.sample__links a,.press-links a { display:inline-flex; align-items:center; min-height:42px; padding:9px 12px; border:1px solid rgba(255,255,255,.48); border-radius:999px; color:#fff; font:800 9px/1 Arial,sans-serif; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }

.leadership { display:grid; grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr); gap:clamp(44px,8vw,110px); background:var(--dark); color:#fff; }
.leadership__note { max-width:420px; color:#aaa49b; font-size:.9rem; }
.team { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #444940; border-left:1px solid #444940; }
.team article { min-height:190px; padding:25px; border-right:1px solid #444940; border-bottom:1px solid #444940; }
.team span { color:#84d9ad; }
.team p { margin:0; color:#bdbab2; font-size:.9rem; }

.standards { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(42px,8vw,110px); }
.standards-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 34px; border-top:1px solid var(--line); }
.standards-grid p { margin:0; padding:20px 0; border-bottom:1px solid var(--line); color:#645f56; font-size:.92rem; }
.standards-grid strong { display:block; margin-bottom:5px; color:var(--ink); font:900 10px/1.2 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }

footer { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:38px clamp(20px,8vw,130px); background:var(--dark); color:#fff; }
footer p { margin:0; color:#aaa; font-size:.82rem; }
.credit { max-width:360px; font-size:.68rem; }

@media (max-width:900px) {
  .portfolio-grid,.fieldwork-grid { grid-template-columns:1fr; }
  .work,.sample { min-height:280px; }
  .leadership,.standards { grid-template-columns:1fr; }
  .section__head { align-items:start; flex-direction:column; }
}

@media (max-width:600px) {
  .masthead { align-items:flex-start; padding-inline:16px; }
  .masthead nav { max-width:48vw; padding-bottom:5px; }
  .hero { min-height:600px; padding:76px 20px 42px; }
  .hero h1 { font-size:clamp(4.2rem,22vw,6rem); }
  .hero__actions { align-items:flex-start; flex-direction:column; }
  .hero__promise { align-self:flex-start; margin-top:50px; }
  .section { padding:70px 20px; }
  .work,.sample { min-height:0; }
  .team,.standards-grid { grid-template-columns:1fr; }
  .team { border-left:0; }
  .team article { min-height:0; border-left:1px solid #444940; }
  footer { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .work { transition:none; }
}
