/* Shared dark control states and compact form treatment. */
.field-grid input,.field-grid textarea,.field-grid select{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default)}
.field-grid input::placeholder,.field-grid textarea::placeholder{color:var(--text-subtle);opacity:1}
.field-grid select option{background:var(--bg-tertiary);color:var(--text-primary)}
.field-grid input:focus,.field-grid textarea:focus,.field-grid select:focus{border-color:var(--accent);outline:2px solid rgba(208,106,75,.35);outline-offset:2px}
.field-grid input[aria-invalid=true],.field-grid textarea[aria-invalid=true],.field-grid select[aria-invalid=true]{border-color:var(--text-error)}
.field-grid input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-tertiary) inset}
.form-status{color:var(--text-error)}.form-status.is-success{color:var(--text-success)}
.honeypot{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.inquiry-form:not(.js-enabled) .form-step{display:block}
.btn{border-color:var(--border-default);background:transparent;color:var(--text-primary)}.btn:hover,.btn:focus-visible{background:var(--text-primary);color:var(--paper)}.btn:disabled{border-color:var(--text-subtle);color:var(--text-subtle);background:transparent;cursor:wait}
:root{--inner-max:1240px}body{background:var(--paper);color:var(--ink)}.page-main{min-height:60vh}.page-intro{padding:clamp(6rem,13vw,12rem) 0 clamp(4rem,8vw,8rem);border-bottom:1px solid var(--line)}.page-intro__grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:clamp(2rem,8vw,9rem)}.page-intro h1{max-width:950px}.page-intro__copy{max-width:620px;margin-top:2rem;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.5}.page-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:2.5rem}.page-meta span:not(:last-child)::after{content:"/";color:var(--accent);margin-left:1.25rem}.subnav{border-bottom:1px solid var(--line);padding:1rem 0}.subnav__inner{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.subnav a{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-decoration:none;text-transform:uppercase}.subnav a:hover,.subnav a:focus-visible{color:var(--ink)}.content-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:clamp(2rem,8vw,9rem)}.content-section{padding:clamp(5rem,10vw,10rem) 0;border-bottom:1px solid var(--line)}.content-section--tonal{background:var(--paper-deep)}.content-section h2{max-width:850px}.content-section h3{margin-bottom:.8rem}.content-copy{max-width:680px;margin-top:1.5rem;font-size:1.05rem}.editorial-list{border-top:1px solid var(--line);margin-top:2.5rem}.editorial-list__row{display:grid;grid-template-columns:1fr 2fr 2rem;gap:2rem;align-items:start;border-bottom:1px solid var(--line);padding:1.5rem 0}.editorial-list__row>span{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.editorial-list__row h3{font-size:clamp(1.4rem,2.8vw,2.7rem)}.editorial-list__row p{margin-top:.7rem}.row-arrow{color:var(--accent);font-size:1.4rem;text-decoration:none}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.5rem}.tag-cloud span{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.tag-cloud span:not(:last-child)::after{content:"/";color:var(--accent);margin-left:1rem}.stage-list,.number-list{display:grid;border-top:1px solid var(--line);margin-top:2.5rem}.stage-list li,.number-list li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:1.25rem 0;list-style:none}.stage-list li>span,.number-list li>span{color:var(--accent);font-family:var(--mono);font-size:.7rem}.stage-list h3,.number-list h3{font-size:1.35rem}.stage-list p,.number-list p{margin-top:.35rem}.dark-panel{background:var(--dark);color:var(--ink)}.dark-panel p,.dark-panel .section-label{color:var(--muted)}.dark-panel h2,.dark-panel h3{color:var(--ink)}.index-table{border-top:1px solid var(--line);margin-top:2rem}.index-table__row{display:grid;grid-template-columns:1fr 2fr;gap:2rem;border-bottom:1px solid var(--line);padding:1.2rem 0}.index-table__row span{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.index-table__row strong{font-weight:500}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.filter-btn{border:1px solid var(--line);background:transparent;color:var(--muted);padding:.55rem .75rem;font:inherit;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;cursor:pointer}.filter-btn:hover,.filter-btn:focus-visible,.filter-btn.is-active{border-color:var(--ink);color:var(--ink)}.filter-btn.is-active{background:var(--ink);color:var(--paper)}.project-row--page{display:grid;grid-template-columns:1fr 2fr 1fr 2rem;gap:1.5rem;align-items:center;border-bottom:1px solid var(--line);padding:1.5rem 0;cursor:pointer}.project-row--page>span{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.project-row--page strong{font-weight:500}.project-row--page i{color:var(--accent);font-style:normal}.project-row--page small{display:none;grid-column:2/4;color:var(--muted)}.project-row--page[aria-expanded=true] small{display:block}.project-row--page[aria-expanded=true] i{transform:rotate(45deg)}.legal-copy{max-width:720px}.legal-copy h2{font-size:clamp(1.8rem,3vw,3.2rem);margin:3rem 0 1rem}.legal-copy h3{font-size:1.35rem;margin:2rem 0 .6rem}.legal-copy ul{padding-left:1.2rem;color:var(--muted)}.legal-copy li+li{margin-top:.5rem}.notice{border-left:2px solid var(--accent);padding:1rem 1.2rem;background:var(--paper-deep);color:var(--muted);margin-top:2rem}.form-shell{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.inquiry-form{max-width:760px}.form-step{display:none}.form-step.is-visible{display:block}.form-step h3{margin-bottom:1.5rem}.radio-grid,.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.radio-grid label,.checkbox-row{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--line);padding:.85rem;color:var(--muted);cursor:pointer}.radio-grid label:has(input:checked){border-color:var(--accent);color:var(--ink)}.field-grid label{display:grid;gap:.45rem;color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}.field-grid .full-width{grid-column:1/-1}.field-grid input,.field-grid textarea,.field-grid select{width:100%;border:1px solid var(--line);background:#101010;color:var(--ink);padding:.8rem;font:inherit;font-family:var(--sans);font-size:1rem}.field-grid textarea{resize:vertical}.field-grid input::placeholder,.field-grid textarea::placeholder{color:#777}.field-grid input:focus,.field-grid textarea:focus,.field-grid select:focus{border-color:var(--accent);outline:2px solid rgba(208,106,75,.25);outline-offset:2px}.field-grid input[aria-invalid=true],.field-grid textarea[aria-invalid=true],.field-grid select[aria-invalid=true]{border-color:#e07a6a}.form-navigation,.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.form-status{min-height:1.5rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:.8rem 1rem;font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer}.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--paper)}.btn--primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.btn--primary:hover,.btn--primary:focus-visible{background:transparent;color:var(--ink)}.hidden{display:none!important}.page-cta{padding:clamp(5rem,10vw,10rem) 0;background:var(--paper-deep)}.page-cta h2{max-width:900px}.page-cta a{display:inline-flex;margin-top:2rem}.availability{color:var(--muted);font-family:var(--mono);font-size:.68rem;text-transform:uppercase}@media(max-width:800px){.page-intro__grid,.content-grid{grid-template-columns:1fr;gap:2.5rem}.editorial-list__row{grid-template-columns:1fr 2rem;gap:.75rem}.editorial-list__row>span,.editorial-list__row>div{grid-column:1}.row-arrow{grid-column:2;grid-row:1/3}.index-table__row{grid-template-columns:1fr;gap:.5rem}.project-row--page{grid-template-columns:1fr 2rem;gap:.5rem}.project-row--page>span,.project-row--page strong{grid-column:1}.project-row--page i{grid-column:2;grid-row:1/3}.project-row--page small{grid-column:1/-1}.radio-grid,.field-grid{grid-template-columns:1fr}.field-grid .full-width{grid-column:auto}.page-meta{line-height:1.8}}

/* Projects page refinement */
.inner-page--case-studies .content-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(52, 132, 83, .065), transparent 28%),
    radial-gradient(circle at 10% 88%, rgba(38, 96, 64, .04), transparent 24%),
    var(--paper);
}

.inner-page--case-studies .filter-bar {
  gap: .65rem;
  padding-bottom: 1.5rem;
  margin-bottom: 0;
}

.inner-page--case-studies .filter-btn {
  min-height: 44px;
  padding: .7rem 1rem;
  border-color: rgba(255,255,255,.16);
  color: var(--text-secondary);
  background: rgba(255,255,255,.015);
  transition: color var(--ease), border-color var(--ease), background var(--ease), transform var(--ease);
}

.inner-page--case-studies .filter-btn:hover,
.inner-page--case-studies .filter-btn:focus-visible {
  color: var(--text-primary);
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.035);
}

.inner-page--case-studies .filter-btn.is-active {
  color: var(--text-primary);
  border-color: rgba(83, 155, 105, .55);
  background: rgba(57, 126, 79, .12);
}

.inner-page--case-studies .project-list {
  border-top: 1px solid var(--line);
}

.inner-page--case-studies .project-row--page {
  position: relative;
  width: 100%;
  min-height: 112px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  padding: 1.7rem 1rem;
  transition: background var(--ease), box-shadow var(--ease), transform var(--ease);
}

.inner-page--case-studies .project-row--page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, rgba(47, 112, 72, .12), rgba(47, 112, 72, .035) 42%, transparent 78%);
  transition: opacity var(--ease);
}

.inner-page--case-studies .project-row--page:hover,
.inner-page--case-studies .project-row--page:focus-visible,
.inner-page--case-studies .project-row--page[aria-expanded="true"] {
  background: rgba(255,255,255,.018);
  box-shadow: inset 2px 0 0 rgba(87, 160, 108, .72);
}

.inner-page--case-studies .project-row--page:hover::before,
.inner-page--case-studies .project-row--page:focus-visible::before,
.inner-page--case-studies .project-row--page[aria-expanded="true"]::before {
  opacity: 1;
}

.inner-page--case-studies .project-row--page > * {
  position: relative;
  z-index: 1;
}

.inner-page--case-studies .project-row--page > span {
  color: var(--text-muted);
  letter-spacing: .045em;
}

.inner-page--case-studies .project-row--page > span:nth-of-type(2) {
  color: var(--text-secondary);
}

.inner-page--case-studies .project-row--page strong {
  color: var(--text-primary);
  font-size: clamp(1.2rem, 1.65vw, 1.62rem);
  line-height: 1.18;
  letter-spacing: -.025em;
  font-weight: 500;
  transition: color var(--ease), transform var(--ease);
}

.inner-page--case-studies .project-row--page:hover strong,
.inner-page--case-studies .project-row--page:focus-visible strong {
  color: #ffffff;
  transform: translateX(4px);
}

.inner-page--case-studies .project-row--page i {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  justify-self: end;
  border: 1px solid rgba(208,106,75,.45);
  border-radius: 50%;
  color: var(--accent);
  font-size: 1rem;
  line-height: 1;
  transition: transform var(--ease), border-color var(--ease), background var(--ease);
}

.inner-page--case-studies .project-row--page:hover i,
.inner-page--case-studies .project-row--page:focus-visible i,
.inner-page--case-studies .project-row--page[aria-expanded="true"] i {
  border-color: var(--accent);
  background: rgba(208,106,75,.08);
}

.inner-page--case-studies .project-row--page small {
  margin-top: .45rem;
  padding: 1rem 1.1rem;
  border-left: 1px solid rgba(83,155,105,.45);
  background: rgba(52,132,83,.045);
  color: var(--text-secondary);
  font-size: .9rem;
  line-height: 1.65;
}

.inner-page--case-studies .project-row--page[hidden] {
  display: none !important;
}

@media (max-width: 800px) {
  .inner-page--case-studies .content-section {
    background:
      radial-gradient(circle at 90% 8%, rgba(52,132,83,.055), transparent 26%),
      var(--paper);
  }

  .inner-page--case-studies .filter-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    margin-inline: calc((100vw - 100%) / -2);
    padding-inline: max(1.5rem, calc((100vw - var(--container)) / 2));
    padding-bottom: 1.1rem;
  }

  .inner-page--case-studies .filter-bar::-webkit-scrollbar { display: none; }

  .inner-page--case-studies .filter-btn {
    flex: 0 0 auto;
    min-height: 40px;
    padding: .62rem .82rem;
  }

  .inner-page--case-studies .project-row--page {
    min-height: 0;
    padding: 1.35rem .35rem;
    gap: .35rem .75rem;
  }

  .inner-page--case-studies .project-row--page > span:first-child {
    margin-bottom: .15rem;
  }

  .inner-page--case-studies .project-row--page strong {
    font-size: clamp(1.16rem, 5.2vw, 1.4rem);
    padding-right: .5rem;
  }

  .inner-page--case-studies .project-row--page > span:nth-of-type(2) {
    margin-top: .25rem;
    font-size: .64rem;
  }

  .inner-page--case-studies .project-row--page i {
    width: 28px;
    height: 28px;
    grid-row: 1 / 4;
  }

  .inner-page--case-studies .project-row--page small {
    margin-top: .8rem;
    padding: .85rem .9rem;
    font-size: .85rem;
  }
}

/* About / founder page */
.about-intro { background:radial-gradient(circle at 82% 18%,rgba(49,136,82,.09),transparent 28%),var(--paper); }
.founder-grid { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr); gap:clamp(2.5rem,7vw,7rem); align-items:start; }
.founder-media { position:sticky; top:110px; }
.founder-photo { position:relative; aspect-ratio:4/5; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:radial-gradient(circle at 70% 20%,rgba(56,146,88,.15),transparent 35%),#0c0f0d; }
.founder-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.founder-photo__placeholder { display:none; position:absolute; inset:0; place-content:center; text-align:center; gap:.7rem; padding:2rem; color:var(--text-muted); }
.founder-photo__placeholder strong { color:var(--text-primary); font-size:1rem; font-weight:500; }
.founder-photo.is-placeholder .founder-photo__placeholder { display:grid; }
.founder-photo.is-placeholder::after { content:""; position:absolute; inset:12%; border:1px solid rgba(255,255,255,.08); background:linear-gradient(145deg,transparent 48%,rgba(81,172,112,.07) 49%,rgba(81,172,112,.07) 51%,transparent 52%); pointer-events:none; }
.founder-media__meta { display:flex; justify-content:space-between; gap:1rem; padding-top:.9rem; color:var(--text-muted); }
.founder-copy h2 { margin-top:1.2rem; max-width:800px; }
.founder-copy p { max-width:720px; margin-top:1.4rem; font-size:1.02rem; line-height:1.68; }
.founder-copy .founder-lead { font-size:clamp(1.15rem,1.8vw,1.45rem); color:var(--text-secondary); }
.founder-copy .text-link { display:inline-flex; margin-top:2rem; }
.career-timeline { margin-top:2.5rem; border-top:1px solid var(--line); }
.career-timeline article { display:grid; grid-template-columns:minmax(130px,.65fr) 2fr; gap:2rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.career-year { color:#72c990; }
.career-timeline h3 { margin:0; font-size:clamp(1.3rem,2vw,1.8rem); }
.career-timeline p { margin-top:.35rem; }
.credential-list { margin-top:2.5rem; border-top:1px solid var(--line); }
.credential-list article { display:grid; grid-template-columns:120px 1fr; gap:2rem; padding:1.4rem 0; border-bottom:1px solid var(--line); }
.credential-list article>span { color:#72c990; }
.credential-list h3 { margin:0; font-size:clamp(1.2rem,1.7vw,1.55rem); }
.credential-list p { margin-top:.3rem; }
@media(max-width:800px){
  .founder-grid { grid-template-columns:1fr; gap:2.2rem; }
  .founder-media { position:static; max-width:520px; }
  .founder-photo { aspect-ratio:4/4.7; }
  .career-timeline article,.credential-list article { grid-template-columns:1fr; gap:.55rem; }
}
@media(max-width:520px){
  .founder-media__meta { flex-direction:column; gap:.35rem; }
  .founder-copy p { font-size:.95rem; }
}
