:root{--bg:#faf7f1;--ink:#24201b;--mute:#6b6257;--green:#2f4a35;--ochre:#b8893a;--soil:#6a4a32;--line:#d9d1c4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Inter,system-ui,sans-serif}
h1,h2,h3,.mark,blockquote{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.04;margin:.2em 0 .3em;max-width:14ch}
h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1;margin:.1em 0 .4em}h3{font-size:1.45rem;margin:.2em 0 .3em}
a{color:var(--green)}p{margin:0 0 1em}.wrap{max-width:1180px;margin:0 auto;padding:0 24px;text-align:left}

/* Header + logo lockup (icon + HTML wordmark — matches brand reference) */
header.site{
  position:relative;
  z-index:1000;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.bar{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:14px;
  padding-bottom:14px;
  gap:16px;
}
.mark{text-decoration:none;color:var(--ink);min-width:0}
.logo{
  display:flex;
  align-items:center;
  min-width:0;
  flex:1 1 auto;
}
.logo-lockup{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.logo-icon{display:block;flex:0 0 auto}
.logo-icon svg{display:block;height:72px;width:auto}
.logo-word{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.05;
  min-width:0;
}
.logo-top{
  font-family:Newsreader,Georgia,serif;
  font-size:28px;
  font-weight:400;
  color:#2f4a35;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.logo-bot{
  font-family:Newsreader,Georgia,serif;
  font-size:23px;
  font-style:italic;
  font-weight:400;
  color:#b8893a;
  margin-top:2px;
  padding-left:.12em; /* indented under first line, per reference */
  white-space:nowrap;
}
.foot-logo .logo-icon svg{height:60px}
.foot-logo .logo-top{font-size:22px;color:#e8e2d6}
.foot-logo .logo-bot{font-size:18px;color:#c4a574}

nav.full a{margin-left:28px;text-decoration:none;color:var(--ink);font-size:.93rem}
nav a[aria-current]{color:var(--ochre)}

/* Mobile menu — robust details panel */
.menu{display:none;position:static;flex:0 0 auto}
.menu summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:10px 14px;
  font-size:1rem;
  font-weight:500;
  color:var(--ink);
  border-bottom:1px solid var(--ink);
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.menu summary::-webkit-details-marker{display:none}
.menu summary::marker{content:"";display:none}
.menu nav{
  position:absolute;
  left:0;
  right:0;
  top:100%; /* below header.site */
  background:var(--bg);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 28px rgba(36,32,27,.12);
  padding:6px 0 10px;
  z-index:1001;
  box-sizing:border-box;
}
.menu nav a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 24px;
  text-decoration:none;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  font-size:1.05rem;
  box-sizing:border-box;
}
.menu nav a:last-child{border-bottom:0}
.menu nav a[aria-current]{color:var(--ochre)}

.hero{padding-top:64px;padding-bottom:36px}.lede{font-size:1.25rem;max-width:36em;color:var(--mute)}
figure{margin:0}figure img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;border-radius:0;box-shadow:none}
figcaption{font-size:.72rem;color:var(--mute);margin-top:6px}
.rule{border-top:1px solid var(--line);margin-top:56px;padding-top:36px}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start}.cols3 .more{grid-column:1/-1;margin-top:8px}
.split{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start}.split.rev>figure{order:2}
blockquote{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;margin:0;color:var(--ink);font-style:normal;border:0;padding:0;quotes:none}
cite{display:block;font:normal .85rem Inter,sans-serif;color:var(--mute);margin-top:14px}
.sci{font-style:italic;font-family:Newsreader,serif;color:var(--soil);font-size:1.1rem}
.meta{font-size:.8rem;color:var(--mute);margin:1.1em 0 .25em;letter-spacing:.02em}
.btn{display:inline-block;background:transparent;color:var(--green);border:0;border-bottom:1px solid var(--green);padding:0 0 2px;font:500 1rem Inter,sans-serif;text-decoration:none;cursor:pointer;border-radius:0}
.cta h2{max-width:16ch;margin-bottom:.5em}
.cta a{font-size:1.05rem}
.tree{display:grid;grid-template-columns:5fr 7fr;gap:48px}
.note{font-size:.85rem;color:var(--soil);border-left:2px solid var(--line);padding-left:12px}
.prose{max-width:720px}.prose p{font-size:1.1rem}.prose blockquote{margin:40px 0}
.timeline{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid var(--line)}.timeline li{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr}.timeline b{font-family:Newsreader,serif;font-weight:500;color:var(--green)}
.list{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.list>div{border-bottom:1px solid var(--line);padding:24px 0}
.form label{display:block;font-size:.85rem;color:var(--mute);margin-bottom:16px}.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;font:inherit;color:var(--ink);border-radius:0}

footer.site{border-top:0;margin-top:96px;padding:48px 0 32px;font-size:.9rem;background:var(--green);color:#e8e2d6}
footer.site a{color:#e8e2d6}footer.site .foot-h{font-size:.9rem;font-family:Newsreader,Georgia,serif;color:#c4a574;margin:0 0 .5em;letter-spacing:0;text-transform:none}
footer.site .small{color:#b7b0a3}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.small{font-size:.75rem;margin-top:24px;line-height:1.55}

.tree h2{font-size:clamp(2rem,3.4vw,2.8rem)}.nophoto{color:var(--mute);border-top:1px solid var(--line);padding-top:12px}
.list h3{font-size:1.7rem}

/* Photos: never upscale past native; left-aligned, not centred */
figure.ltd{max-width:490px;margin:0}
figure.ltd img{aspect-ratio:4/3;width:100%;object-fit:cover}
figure.ltd-wide{max-width:1000px;margin:0}
figure.ltd-wide img{aspect-ratio:16/9;width:100%;object-fit:cover}
figure.tall img{aspect-ratio:4/5;max-height:760px;max-width:100%}


/* Organisation — dark panel (user reference; overrides no-boxes for this section) */
.org{overflow-x:hidden}
.org h2{max-width:18ch;margin-bottom:1.1em}
.org-panel{
  background:#0f0f0f;
  color:#f2f2f2;
  border-radius:14px;
  padding:22px 18px 24px;
  max-width:720px;
  margin:0 auto;
  box-sizing:border-box;
  overflow:hidden;
  font-family:Inter,system-ui,sans-serif;
}
.org-box{
  border-radius:12px;
  padding:18px 16px 16px;
  text-align:center;
  box-sizing:border-box;
}
.org-board{background:#2f5e3f;width:100%}
.org-pm{background:#3d7a4f;width:92%;margin:0 auto}
.org-box-title{
  margin:0 0 .35em;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
}
.org-box-sub{
  margin:0 0 .9em;
  font-size:.82rem;
  font-weight:400;
  color:rgba(255,255,255,.85);
  line-height:1.35;
}
.org-names{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.org-names li{
  margin:0;
  font-size:.92rem;
  font-weight:600;
  color:#fff;
  line-height:1.25;
}
.org-names span{
  display:block;
  font-size:.72rem;
  font-weight:400;
  color:rgba(255,255,255,.75);
  margin-top:2px;
}
.org-arrow{
  text-align:center;
  color:#8a8a8a;
  font-size:1.05rem;
  line-height:1;
  padding:10px 0;
  font-weight:400;
}
.org-tba{
  margin:0;
  font-size:.78rem;
  font-style:italic;
  color:rgba(255,255,255,.7);
}
.org-pm .org-tba{color:rgba(255,255,255,.78)}
.org-tiles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:2px;
  width:100%;
}
.org-tile{
  background:#262626;
  border-radius:12px;
  padding:18px 12px 16px;
  text-align:center;
  box-sizing:border-box;
  min-width:0;
}
.org-ico{
  display:inline-flex;
  width:28px;
  height:28px;
  color:#5dcf7a;
  margin:0 auto 10px;
}
.org-ico svg{width:28px;height:28px;display:block}
.org-tile h3{
  font-family:Inter,system-ui,sans-serif;
  font-size:.92rem;
  font-weight:700;
  color:#fff;
  margin:0 0 .4em;
  letter-spacing:0;
  line-height:1.25;
}
.org-tile p{
  font-size:.78rem;
  color:#a3a3a3;
  margin:0 0 .55em;
  line-height:1.35;
}
.org-tile .org-tba{
  color:#8a8a8a;
  font-size:.72rem;
  margin:0;
}

@media(max-width:820px){
  body{font-size:16px}
  html{overflow-x:hidden}
  main,footer.site{overflow-x:hidden}
  nav.full{display:none}
  .menu{display:block}
  .hero{padding-top:40px}
  .cols3,.split,.tree,.list,.fgrid{grid-template-columns:1fr;gap:28px}
  .split.rev>figure{order:0}
  .rule{margin-top:40px;padding-top:28px}
  figure.ltd,figure.ltd-wide{max-width:100%}
  /* Logo scales but stays two-line; leave room for Menu */
  .logo-icon svg{height:46px}
  .logo-top{font-size:18px}
  .logo-bot{font-size:15px}
  .logo-lockup{gap:10px}
  .bar{gap:10px;padding-top:10px;padding-bottom:10px}
  .foot-logo .logo-icon svg{height:48px}
  .foot-logo .logo-top{font-size:20px}
  .foot-logo .logo-bot{font-size:16px}
  .org-panel{padding:18px 14px 20px;border-radius:12px}
  .org-tiles{gap:10px}
  .org-tile{padding:16px 10px 14px}
  .org-tile h3{font-size:.86rem}
}
