/* Light brand palette. Outcome-led storytelling; implementation details stay private. */
:root {
  --paper: #faf9f5;
  --surface: #fff;
  --ink: #20201d;
  --muted: #66635b;
  --rule: #dad7ce;
  --gold: #806329;
  --gold-soft: #f0e8d8;
  --orange: #806329;
}

html {
  color-scheme: light;
  scrollbar-color: #b9ad94 #faf9f5;
}

body {
  background: var(--paper);
}

.site-header {
  background: rgba(250, 249, 245, .97);
}

.brand-mark {
  background: #111;
}

.site-header.has-scrolled {
  border-bottom-color: #b9ad94;
}

.hero {
  padding-block: 60px;
}

.hero h1 {
  font-size: clamp(43px, 6.4vw, 86px);
}

.hero-one-liner {
  font-weight: 400;
  max-width: 590px;
  color: var(--muted);
}

.site-header nav .nav-cta,
.button-dark,
.button-light {
  background: #25241f;
  color: #fff;
  border-color: #25241f;
}

.site-header nav .nav-cta:hover,
.button-dark:hover,
.button-light:hover {
  background: #4e4432;
  color: #fff;
}

.button-dark:focus-visible,
.button-light:focus-visible {
  outline-color: var(--gold);
}

.problem-section,
.contact-section,
.site-footer {
  background: var(--paper);
  color: var(--ink);
  --paper: #faf9f5;
}

.contact-details>a,
.contact-details>a.contact-phone,
.contact-details>p,
.site-footer p,
.footer-inner>div {
  color: var(--muted);
}

.contact-details>a:first-of-type {
  color: var(--ink);
}

.contact-section {
  border-top: 1px solid var(--rule);
}

.site-footer {
  border-color: var(--rule);
}

.team-initial {
  color: var(--gold);
}

.evidence-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  padding-block: 48px;
  border-bottom: 1px solid var(--rule);
}

.evidence-section h2 {
  font-size: clamp(29px, 3.1vw, 42px);
  max-width: 520px;
}

.evidence-section>div>p {
  color: var(--muted);
  margin-top: 18px;
}

.research-count {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  align-items: center;
  gap: 10px 18px;
}

.research-count strong {
  font-size: 46px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -2px;
}

.research-count span {
  color: var(--muted);
  font-size: 12px;
  max-width: 90px;
}

.evidence-findings>p {
  margin-top: 23px;
  font-size: 15px;
}

.evidence-findings>a {
  display: inline-block;
  margin-top: 15px;
  font-size: 11px;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.evidence-findings>small {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.method-experience.is-scroll-driven {
  height: calc(var(--stage-travel, 2400px) + 420px);
}

.method-stage {
  background: #f3f0e8;
  border-color: #d3ccbd;
}

.method-stage-head {
  border-color: var(--rule);
}

.method-stage-head>.mono {
  color: var(--gold);
}

.method-stage-footer {
  border-color: var(--rule);
}

.method-scenes {
  height: 300px;
}

.method-scene {
  transition: opacity 420ms, transform 600ms var(--ease-out), visibility 420ms;
}

.outcome-visual {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 17px;
  height: 100%;
  padding: 25px;
}

.outcome-visual>span {
  border: 1px solid #d7cfbf;
  background: #fff;
  border-radius: 6px;
  padding: 14px 20px;
  font-size: 15px;
  min-width: 210px;
  text-align: center;
}

.outcome-visual>b {
  color: var(--gold);
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
}

.outcome-visual>strong {
  margin-top: 6px;
  font-size: 18px;
  font-family: var(--serif);
  font-weight: 600;
  color: #4d4432;
  text-align: center;
}

.method-flow li.is-current>button {
  background: #25241f;
  color: #fff;
  border-color: #25241f;
}

.applications-section {
  border-top: 1px solid var(--rule);
}

.application-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
}

.application-list article {
  padding-top: 23px;
  border-top: 1px solid var(--rule);
}

.application-list .mono {
  font-size: 10px;
  color: var(--gold);
}

.application-list h3 {
  font-size: 30px;
  margin: 13px 0;
}

.application-list p {
  font-size: 15px;
  color: var(--muted);
  max-width: 450px;
}

.application-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 25px;
}

.review-window {
  background: #fff;
  border-color: #d3ccbd;
  box-shadow: 0 8px 25px #4b3c2210;
}

.window-bar {
  background: #f0ede5;
  color: #686052;
  border-bottom-color: var(--rule);
}

.window-code {
  color: var(--muted);
}

.demo-tabs {
  border-color: var(--rule);
}

.recommendation {
  background: #f4f0e6;
  border-color: #d3c8b2;
  color: var(--ink);
}

.recommendation-top,
.recommendation p,
.recommendation-foot {
  color: #625b4e;
}

.recommendation-foot {
  border-color: #ded5c3;
}

.confidence {
  color: #65522d;
  border-color: #cbbc9e;
}

.document-icon,
.evidence-plus {
  color: var(--gold);
}

.prototype-label {
  background: #ede7db;
  color: #665029;
}

.evidence-toggle {
  border-color: var(--rule);
}

.case-evidence {
  background: #f6f5f0;
  color: var(--ink);
}

.case-evidence dl div {
  border-color: var(--rule);
}

.case-evidence dt,
.case-evidence p {
  color: var(--muted);
}

.decision-actions button {
  border-color: #d0cabc;
}

.decision-actions .approve-button {
  background: #25241f;
  border-color: #25241f;
  color: #fff;
}

.decision-actions .approve-button:hover {
  background: #4e4432;
  color: #fff;
}

.decision-actions button:hover {
  background: #f0e8d8;
  color: var(--ink);
}

#reason-form textarea {
  background: #fff;
  color: var(--ink);
  border-color: #b8ae9b;
}

.demo-result,
.demo-result.is-correct {
  background: #f3efe5;
  border-color: #d3c5a8;
  color: var(--ink);
}

.known-answer {
  border-color: #d8d0bf;
}

.known-answer strong {
  color: #65522d;
}

.demo-result>p,
.adjudication-note,
.event-record summary,
.event-record dt,
.event-record dd {
  color: var(--muted);
}

.event-record,
.event-record dl div {
  border-color: var(--rule);
}

#catch-grid i {
  background: #806329;
}

#catch-grid i.miss,
.report-panel .chart-legend .miss {
  background: #dfd8ca;
}

.chart-legend {
  color: var(--muted);
}

.back-to-top {
  background: #fff;
  color: var(--gold);
  border-color: #b9ad94;
}

.back-to-top:hover {
  background: #f0e8d8;
}

@media(max-width:860px) {
  .evidence-section {
    grid-template-columns: 1fr;
    gap: 26px;
    padding-block: 36px;
  }

  .evidence-section h2 br {
    display: none;
  }

  .evidence-findings {
    max-width: 600px;
  }

  .application-list {
    gap: 30px;
  }
}

@media(max-width:600px) {
  .hero {
    padding-block: 40px;
  }

  .hero h1 {
    font-size: 40px;
  }

  .hero-actions {
    flex-wrap: wrap;
  }

  .research-count strong {
    font-size: 38px;
  }

  .research-count {
    gap: 10px;
  }

  .research-count span {
    font-size: 11px;
  }

  .application-list {
    grid-template-columns: 1fr;
  }

  .application-list h3 {
    font-size: 26px;
  }

  .method-scenes {
    height: 285px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .method-scene {
    transition: none;
    transform: none;
  }
}

.window-bar>.mono,
.recommendation-top>.mono {
  color: #625b4e;
}

.recommendation-foot>span {
  color: #806329;
}

.recommendation>p {
  font-size: 13px;
}

.case-evidence dt,
.case-evidence dd {
  font-size: 12px;
}

.demo-result>p {
  font-size: 12px;
}
/* White, softly tinted chapters. Each chapter has room to stand on its own. */
:root { --paper:#fff; --gold:#96722d; --gold-soft:#eaf3ef; --orange:#96722d; --rule:#e3e8e5; }
body { background:#fff; }
.site-header { background:rgba(255,255,255,.96); }
main>section { position:relative; isolation:isolate; scroll-margin-top:88px; }
main>section::before { content:""; position:absolute; z-index:-1; inset:0 calc((100% - 100vw)/2); pointer-events:none; background:radial-gradient(ellipse at 85% 60%,var(--chapter-tint,#faf6eb) 0%,transparent 65%); }
main>section::after { content:""; position:absolute; z-index:-1; inset:0 calc((100% - 100vw)/2); pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
#hero { --chapter-tint:#faf6eb; }
#evidence { --chapter-tint:#edf1fd; }
#method { --chapter-tint:#f0edfa; }
#applications { --chapter-tint:#fff1e5; }
#demo { --chapter-tint:#e8f3f6; }
#report { --chapter-tint:#edf5e9; }
#team { --chapter-tint:#fceeee; }
#branches { --chapter-tint:#edf7f6; }
#publications { --chapter-tint:#f5f0fa; }
#contact { --chapter-tint:#faf6eb; }
main>section:not(#method) { min-height:calc(100svh - 88px); padding-block:64px; align-content:center; }
.hero { display:flex; align-items:center; }
.evidence-section,.demo-section { align-items:center; }
.demo-story { position:static; padding-top:0; }
.method-section { padding-block:0; }
.method-experience.is-scroll-driven { height:calc(var(--stage-travel,2400px) + 100svh - 88px); }
.method-sticky { min-height:calc(100svh - 88px); padding-block:36px; gap:24px 60px; align-content:center; }
.is-scroll-driven .method-sticky { top:88px; }
.method-sticky>.section-heading { grid-column:1/-1; margin-bottom:0; }
.method-sticky>.method-boundary { grid-column:1/-1; margin:0; padding:0; }
.method-stage { background:rgba(255,255,255,.76); border-color:#dedbe8; box-shadow:0 14px 48px #65538408; }
.method-scenes { height:260px; }
.outcome-visual>span { border-color:#e0dce9; background:#faf9fe; }
.outcome-visual>strong,.method-stage-head>.mono { color:#67547c; }
.study-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; border-top:1px solid var(--rule); }
.report-story h2 { font-size:clamp(32px,3.5vw,48px); }
.report-story>p { margin:24px 0; max-width:350px; color:var(--muted); font-size:15px; }
.report-window { width:100%; }
.report-main strong>[data-count] { font-size:inherit; }
.report-metrics strong>[data-count] { font-size:inherit; }
.scenario-tabs { display:grid; grid-template-columns:repeat(3,1fr); }
.scenario-tabs>button { min-height:44px; font-size:12px; padding:14px 8px; border-bottom:2px solid transparent; }
.scenario-tabs>button[aria-selected=true] { background:#eef6f7; border-bottom-color:#457683; color:#315862; }
.window-bar { background:#f1f7f8; }
.recommendation { background:#f2f7fb; border-color:#d6e3ef; }
.recommendation-top>.mono,.recommendation-foot>span,.confidence { color:#45647c; }
.demo-result,.demo-result.is-correct { background:#eef6f0; border-color:#cbded1; }
.known-answer strong { color:#326447; }
.team-grid { gap:36px; }
.team-grid article { padding-top:0; border-top:0; }
.team-avatar-wrap { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--rule); }
.team-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--mono,"IBM Plex Mono",monospace); font-size:16px; font-weight:600; letter-spacing:-.5px; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.team-grid article:hover .team-avatar { transform:translateY(-2px); }
.avatar-business { background:#fbf5e8; color:#96722d; border:1.5px solid #dfc79b; box-shadow:0 4px 14px rgba(150,114,45,.12); }
.avatar-research { background:#eef6f7; color:#2e5963; border:1.5px solid #a8ccd1; box-shadow:0 4px 14px rgba(46,89,99,.12); }
.avatar-tech { background:#f3f0f9; color:#5d4875; border:1.5px solid #c7bedb; box-shadow:0 4px 14px rgba(93,72,117,.12); }
.team-discipline { font-size:9px; letter-spacing:1.2px; color:var(--muted); text-transform:uppercase; background:#f5f4ef; padding:4px 10px; border-radius:12px; border:1px solid #e7e5dc; font-weight:500; }
.team-name-last { display:inline-flex; align-items:center; white-space:nowrap; }
.team-linkedin-btn { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; margin-left:8px; vertical-align:middle; color:#0a66c2; border-radius:4px; text-decoration:none; transition:transform .18s ease,opacity .18s ease,color .18s ease,background-color .18s ease; }
.team-linkedin-btn:hover { transform:translateY(-1px); color:#004182; background-color:rgba(10,102,194,.09); }
.team-linkedin-btn:focus-visible { outline:2px solid #0a66c2; outline-offset:2px; }
.team-linkedin-btn svg { width:16px; height:16px; display:block; }
.branches-section { border-top:1px solid var(--rule); }
.branches-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:36px; }
.branch-card { display:flex; flex-direction:column; justify-content:space-between; padding:30px 26px; border:1px solid var(--rule); border-radius:8px; background:rgba(255,255,255,.85); backdrop-filter:blur(8px); position:relative; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.branch-card:hover { transform:translateY(-2px); border-color:#cfd4d6; box-shadow:0 10px 28px rgba(15,23,42,.05); }
.branch-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.branch-num { font-size:10px; letter-spacing:1px; color:#96722d; font-weight:600; }
.branch-tag { font-size:9px; letter-spacing:1px; color:var(--muted); text-transform:uppercase; background:#f7f6f1; padding:3px 8px; border-radius:10px; border:1px solid #ebe8df; font-weight:500; }
.branch-card-body h3 { font-size:24px; line-height:1.2; letter-spacing:-.5px; margin-bottom:12px; color:#0b0b0d; }
.branch-card-body p { font-size:13.5px; line-height:1.65; color:var(--muted); margin-bottom:22px; }
.branch-card-footer { border-top:1px solid var(--rule); padding-top:16px; margin-top:auto; }
.branch-link { display:inline-flex; align-items:center; gap:6px; font-size:12px; letter-spacing:.3px; color:#96722d; text-decoration:none; font-weight:500; transition:color .18s ease; }
.branch-link:hover { color:#0b0b0d; }
.branch-link .link-arrow { transition:transform .18s ease; }
.branch-card:hover .branch-link .link-arrow { transform:translate(2px,-2px); }
@media(max-width:860px) { .branches-grid { grid-template-columns:1fr; gap:20px; } }
[data-count] { display:inline-block; font-variant-numeric:tabular-nums; }
.contact-section,.site-footer { --paper:#fff; }
@media(min-width:861px) and (max-height:760px) { main>section:not(#method) { padding-block:36px; } .method-sticky { padding-block:24px; gap:18px 45px; } .method-scenes { height:220px; } .method-section h2 { font-size:34px; } }
@media(max-width:860px) { main>section:not(#method) { min-height:calc(100svh - 78px); padding-block:48px; } .method-sticky { min-height:calc(100svh - 78px); padding-block:48px; gap:24px; } .method-sticky>.section-heading { margin-bottom:0; } .study-section { grid-template-columns:1fr; gap:30px; } .report-story>p { max-width:600px; } }
@media(max-width:600px) { .demo-section { gap:26px; } .demo-story h2 { font-size:34px; } .demo-story p { font-size:15px; margin-block:14px; max-width:100%; } .report-story h2 { font-size:32px; } .team-grid { gap:34px; } main>section::before,main>section::after { inset-inline:-20px; } #contact::before,#contact::after { inset-inline:0; } }
:root { --header-height:88px; }
html { scroll-padding-top:0; }
@media(max-width:860px) { :root { --header-height:78px; } main>section { scroll-margin-top:78px; } .site-header nav { top:77px; } }
