/* Denkwerk System homepage — v4.1 editorial rebuild
   Rhythm, type scale and spacing are aligned with the Denkschrift landing page. */
.page-home-editorial{
  --max:1500px;--space:clamp(1.25rem,3vw,3.25rem);
  --hp-paper:#FDF8EF;--hp-paper-2:#FEFBF5;--hp-ink:#171A1F;--hp-ink-2:#2B3037;--hp-muted:#626B75;
  --hp-sand:#F1E5CF;--hp-sand-2:#F7EDDD;--hp-line:#D9C8A8;--hp-amber:#C28A25;--hp-amber-2:#C99532;--hp-amber-dark:#8B681F;
  --home-hero-image:url('/assets/img/home/homepage-hero-tree.webp');
  background:var(--hp-paper);color:var(--hp-ink);font-family:var(--sans)
}
.page-home-editorial h1,.page-home-editorial h2,.page-home-editorial h3{font-family:var(--serif);color:var(--hp-ink)}
.page-home-editorial .site-header{background:rgba(253,248,239,.94);border-bottom:1px solid rgba(217,200,168,.72);backdrop-filter:blur(14px)}
.hp-shell{width:min(var(--max),calc(100% - 2*var(--space)));margin-inline:auto}
.hp-kicker{margin:0 0 .42rem;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hp-amber-dark)}
.hp-meta{margin:0 0 .5rem;font-family:var(--sans);font-size:.61rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-muted)}
.hp-button{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem .92rem;border:0;border-radius:5px;background:var(--hp-amber);color:#fff;text-decoration:none;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase;transition:transform .18s ease,background .18s ease}
.hp-button:hover{transform:translateY(-1px);background:#B67E1F}.hp-button span{transition:transform .18s ease}.hp-button:hover span{transform:translateX(4px)}
.hp-button--dark{background:var(--hp-ink)}.hp-button--dark:hover{background:#2B3037}
.hp-text-link{display:inline-flex;align-items:center;gap:.5rem;padding-bottom:.1rem;border-bottom:1px solid currentColor;color:var(--hp-amber-dark);text-decoration:none;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.04em}.hp-text-link span{transition:transform .18s ease}.hp-text-link:hover span{transform:translateX(4px)}
.hp-action-row{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap}
.hp-section-head{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(420px,1.14fr);gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:1.35rem}
.hp-section-head h2{max-width:17ch;margin:0;font-size:clamp(2rem,2.85vw,3.45rem);line-height:1.04;letter-spacing:-.012em}
.hp-section-head>p{max-width:56rem;margin:0;color:var(--hp-ink-2);font-size:.94rem;line-height:1.66}
.hp-section-tail{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:.95rem;border-top:1px solid var(--hp-line)}

/* Hero */
.hp-hero{position:relative;min-height:680px;overflow:hidden;border-bottom:1px solid var(--hp-line);background:#E7D7BC}
.hp-hero-backdrop{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(253,248,239,.84) 0%,rgba(253,248,239,.68) 34%,rgba(253,248,239,.22) 57%,rgba(253,248,239,.03) 100%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(66,42,16,.08)),var(--home-hero-image);background-size:cover;background-position:center center;background-repeat:no-repeat}
.hp-hero-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,26,31,.015),transparent 58%,rgba(23,26,31,.11) 100%)}
.hp-hero-inner{position:relative;z-index:2;min-height:680px;display:flex;align-items:center;padding:2.8rem 0 3rem}
.hp-hero-copy{max-width:790px;padding-left:clamp(.15rem,.8vw,.7rem)}
.hp-kicker--hero{margin-bottom:.65rem;color:var(--hp-amber-dark)}
.hp-hero h1{max-width:11.2ch;margin:0 0 .8rem;font-size:clamp(3.7rem,5.35vw,5.9rem);line-height:.97;letter-spacing:-.04em;text-wrap:balance}
.hp-hero-lead{max-width:47rem;margin:0 0 .75rem;color:var(--hp-ink-2);font-family:var(--serif);font-size:clamp(1.08rem,1.35vw,1.33rem);line-height:1.46}
.hp-hero-support{max-width:46rem;margin:0 0 1.15rem;color:var(--hp-ink-2);font-size:.94rem;line-height:1.62}
.hp-hero-actions{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap}
.hp-text-link--hero{color:var(--hp-ink)}

/* Shared section rhythm */
.hp-domains,.hp-focus,.hp-research,.hp-whitepapers,.hp-method,.hp-person{border-bottom:1px solid var(--hp-line)}
.hp-domains{padding:3.15rem 0 3.35rem;background:var(--hp-paper-2)}
.hp-focus{padding:2.75rem 0 3rem;background:linear-gradient(180deg,#F7EDDD 0%,#FDF8EF 100%)}
.hp-research{padding:3.25rem 0 3.5rem;background:var(--hp-paper-2)}
.hp-whitepapers{padding:3.25rem 0 3.45rem;background:linear-gradient(180deg,#F7EDDD 0%,#FBF6EC 100%)}
.hp-method{padding:3.25rem 0 3.5rem;background:var(--hp-paper-2)}
.hp-person{padding:2.9rem 0 3.1rem;background:#F8F0E2}

/* Domains + homepage sphere */
.hp-domains-layout{display:grid;grid-template-columns:minmax(500px,.94fr) minmax(520px,1.06fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.hp-domains-copy h2{max-width:14ch;margin:0 0 .75rem;font-size:clamp(2.2rem,3.2vw,3.8rem);line-height:1.02;letter-spacing:-.015em}
.hp-domains-intro{max-width:59ch;margin:0 0 1.1rem;color:var(--hp-ink-2);font-size:.92rem;line-height:1.64}
.hp-domain-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line)}
.hp-domain-grid article{display:grid;grid-template-columns:34px 1fr;gap:.6rem;min-height:78px;padding:.68rem .75rem .7rem 0;border-bottom:1px solid var(--hp-line)}
.hp-domain-grid article:nth-child(odd){padding-right:1rem;border-right:1px solid var(--hp-line)}
.hp-domain-grid article:nth-child(even){padding-left:1rem}
.hp-domain-grid article:nth-last-child(-n+2){border-bottom:0}
.hp-domain-grid article>span{padding-top:.06rem;color:var(--hp-amber-dark);font-family:var(--serif);font-size:1.05rem}
.hp-domain-grid strong{display:block;margin-bottom:.22rem;font-family:var(--serif);font-size:.93rem;line-height:1.15}
.hp-domain-grid p{margin:0;color:var(--hp-muted);font-size:.62rem;line-height:1.38}
.hp-domain-principle{margin:.85rem 0 0;padding:.72rem .82rem;border-left:3px solid var(--hp-amber);background:var(--hp-sand-2);color:var(--hp-ink-2);font-size:.76rem;line-height:1.5}
.hp-domain-principle strong{color:var(--hp-ink);font-family:var(--serif);font-size:.94rem}
.hp-domain-stage{position:relative;min-width:0;padding:1rem 1rem .85rem;border:1px solid var(--hp-line);border-radius:18px;background:linear-gradient(145deg,#F8EEDC 0%,#FFFDF8 72%);box-shadow:0 20px 52px rgba(23,26,31,.055)}
.hp-domain-note{max-width:54ch;margin:.5rem auto 0;color:var(--hp-muted);text-align:center;font-size:.66rem;line-height:1.45}

/* Denkschrift focus */
.hp-focus-grid{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(500px,1.25fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hp-focus-visual{position:relative;min-height:445px;margin:0;overflow:hidden;border:1px solid rgba(139,104,31,.22);border-radius:18px;background:#E7DAC5;box-shadow:0 22px 55px rgba(23,26,31,.065)}
.hp-focus-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,26,31,.01) 52%,rgba(23,26,31,.58) 100%);pointer-events:none}
.hp-focus-hero-image{display:block;width:100%;height:100%;min-height:445px;object-fit:cover;object-position:center center;filter:saturate(.84) contrast(.98);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hp-focus-visual:hover .hp-focus-hero-image{transform:scale(1.012)}
.hp-focus-visual figcaption{position:absolute;z-index:2;left:1rem;right:1rem;bottom:.9rem;color:#fff;font-family:var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hp-focus-copy h2{max-width:12ch;margin:0 0 .55rem;font-size:clamp(2.55rem,3.9vw,4.6rem);line-height:.99}
.hp-focus-subtitle{max-width:39rem;margin:0 0 1rem;color:var(--hp-ink-2);font-family:var(--serif);font-size:clamp(1.08rem,1.35vw,1.3rem);line-height:1.45}
.hp-focus-body{max-width:43rem;margin:0 0 .82rem;color:var(--hp-ink-2);font-size:.9rem;line-height:1.64}
.hp-focus-body--lead{font-size:.95rem;color:var(--hp-ink)}
.hp-focus-meta{display:flex;flex-wrap:wrap;gap:.42rem 1rem;margin:1rem 0 1.2rem;padding-top:.85rem;border-top:1px solid var(--hp-line);font-size:.58rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--hp-muted)}
.hp-focus-meta span{display:flex;align-items:center;gap:1rem}.hp-focus-meta span:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;background:var(--hp-amber)}

/* Research programs */
.hp-research-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.hp-program-card{overflow:hidden;border:1px solid var(--hp-line);border-radius:16px;background:#FFFDF8;box-shadow:0 15px 38px rgba(23,26,31,.045)}
.hp-program-media{display:block;height:235px;overflow:hidden;background:#E7DAC5}
.hp-program-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.98);transition:transform .45s ease,filter .25s ease}
.hp-program-media:hover img{transform:scale(1.012);filter:saturate(.94)}
.hp-program-body{padding:1.15rem 1.2rem 1.3rem}
.hp-program-body h3{max-width:16ch;margin:0 0 .5rem;font-size:clamp(1.8rem,2.35vw,2.7rem);line-height:1.04}
.hp-program-body>p:not(.hp-meta){max-width:54rem;margin:0 0 .9rem;color:var(--hp-muted);font-size:.84rem;line-height:1.6}
.hp-program-facts{display:flex;gap:.38rem;flex-wrap:wrap;margin:0 0 .9rem;padding-top:.75rem;border-top:1px solid var(--hp-line)}
.hp-program-facts span{padding:.42rem .52rem;border:1px solid var(--hp-line);border-radius:7px;background:#FBF5E9;color:var(--hp-muted);font-size:.61rem;font-weight:700}
.hp-program-facts strong{color:var(--hp-amber-dark);font-family:var(--serif);font-size:.95rem}

/* Whitepaper themes */
.hp-whitepaper-themes{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:1rem;border:1px solid var(--hp-line);border-radius:14px;overflow:hidden;background:#FFFDF8}
.hp-whitepaper-themes article{display:grid;grid-template-columns:36px 1fr;gap:.65rem;min-height:132px;padding:.9rem 1rem 1rem;border-right:1px solid var(--hp-line)}
.hp-whitepaper-themes article:last-child{border-right:0}
.hp-whitepaper-themes article>span{color:var(--hp-amber-dark);font-family:var(--serif);font-size:1.1rem}
.hp-whitepaper-themes h3{margin:0 0 .32rem;font-size:1.05rem;line-height:1.15}
.hp-whitepaper-themes p{margin:0;color:var(--hp-muted);font-size:.69rem;line-height:1.48}

/* Whitepaper list */
.hp-paper-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--hp-line)}
.hp-paper-item{position:relative;min-height:170px;padding:1.15rem 3.4rem 1.3rem 0;border-bottom:1px solid var(--hp-line);text-decoration:none;transition:background .18s ease,padding .18s ease}
.hp-paper-item:nth-child(odd){padding-right:2.7rem;border-right:1px solid var(--hp-line)}.hp-paper-item:nth-child(even){padding-left:2.7rem;padding-right:2.7rem}
.hp-paper-item:hover{background:rgba(255,253,248,.56)}.hp-paper-item:nth-child(odd):hover{padding-left:.4rem}.hp-paper-item:nth-child(even):hover{padding-left:3.1rem}
.hp-paper-meta{display:block;margin-bottom:.55rem;font-size:.59rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hp-amber-dark)}
.hp-paper-item h3{max-width:26ch;margin:0 0 .42rem;font-size:clamp(1.3rem,1.72vw,1.75rem);line-height:1.15}
.hp-paper-item p{max-width:38rem;margin:0;color:var(--hp-muted);font-size:.76rem;line-height:1.52}
.hp-paper-item i{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-style:normal;color:var(--hp-amber-dark);transition:transform .18s ease}.hp-paper-item:hover i{transform:translate(4px,-50%)}

/* Method */
.hp-method-layout{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);gap:.85rem;align-items:stretch}
.hp-method-visual{margin:0;min-height:330px;display:flex;align-items:center;justify-content:center;padding:1rem;border:1px solid var(--hp-line);border-radius:16px;background:#FFFDF8;box-shadow:0 18px 48px rgba(23,26,31,.045);overflow:hidden}
.hp-method-visual img{display:block;width:100%;height:100%;max-height:390px;object-fit:contain}
.hp-method-copy{padding:1.2rem 1.3rem;border:1px solid var(--hp-line);border-radius:16px;background:#FBF5E9}
.hp-method-copy h3{max-width:18ch;margin:0 0 .65rem;font-size:clamp(1.8rem,2.25vw,2.55rem);line-height:1.05}
.hp-method-copy>p:not(.hp-meta){margin:0 0 1rem;color:var(--hp-ink-2);font-size:.84rem;line-height:1.62}
.hp-phase-strip{display:grid;grid-template-columns:repeat(5,1fr);margin-top:.8rem;border:1px solid var(--hp-line);border-radius:14px;overflow:hidden;background:#FFFDF8}
.hp-phase-strip article{min-width:0;padding:.82rem .72rem .9rem;border-right:1px solid var(--hp-line)}.hp-phase-strip article:last-child{border-right:0}
.hp-phase-strip span{display:block;margin-bottom:.42rem;color:var(--hp-amber-dark);font-family:var(--serif);font-size:1.1rem}.hp-phase-strip strong{display:block;margin-bottom:.32rem;font-family:var(--serif);font-size:.91rem;line-height:1.15}.hp-phase-strip p{margin:0;color:var(--hp-muted);font-size:.61rem;line-height:1.4}
.hp-evidence-note{display:grid;grid-template-columns:145px 1fr;gap:1rem;margin-top:.7rem;padding:.8rem .9rem;border-left:3px solid var(--hp-amber);background:var(--hp-sand-2)}
.hp-evidence-note .hp-kicker{margin:.15rem 0 0}.hp-evidence-note p{max-width:72rem;margin:0;color:var(--hp-ink-2);font-size:.76rem;line-height:1.52}

/* Person */
.hp-person-grid{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(520px,1.32fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hp-person-media{height:430px;margin:0;overflow:hidden;border-radius:17px;background:#E4D7C2;box-shadow:0 20px 50px rgba(23,26,31,.08)}
.hp-person-media img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(.98)}
.hp-person-copy h2{max-width:15ch;margin:0 0 .55rem;font-size:clamp(2.2rem,3.2vw,3.8rem);line-height:1.02}
.hp-person-role{margin:0 0 .9rem;color:var(--hp-amber-dark);font-family:var(--serif);font-size:1.05rem}
.hp-person-copy>p:not(.hp-kicker):not(.hp-person-role){max-width:52rem;margin:0 0 .78rem;color:var(--hp-ink-2);font-size:.88rem;line-height:1.64}
.hp-values{display:flex;flex-wrap:wrap;gap:.38rem;margin:1rem 0 1.05rem;padding-top:.9rem;border-top:1px solid var(--hp-line)}
.hp-values span{padding:.42rem .55rem;border:1px solid var(--hp-line);border-radius:999px;background:#FFFDF8;color:var(--hp-muted);font-size:.61rem;font-weight:700}


@media(max-width:1180px){
  .hp-section-head{grid-template-columns:minmax(260px,.8fr) minmax(380px,1.2fr);gap:2.2rem}
  .hp-domains-layout{grid-template-columns:minmax(430px,.94fr) minmax(430px,1.06fr);gap:1.5rem}.hp-domain-grid article{min-height:84px}
  .hp-focus-grid{grid-template-columns:420px 1fr;gap:2.2rem}.hp-focus-visual,.hp-focus-hero-image{min-height:390px}
  .hp-method-layout{grid-template-columns:1fr 1fr}.hp-phase-strip{grid-template-columns:repeat(3,1fr)}.hp-phase-strip article{border-bottom:1px solid var(--hp-line)}.hp-phase-strip article:nth-child(3n){border-right:0}.hp-phase-strip article:nth-last-child(-n+2){border-bottom:0}.hp-phase-strip article:nth-child(4){border-right:1px solid var(--hp-line)}
}

@media(max-width:900px){
  .hp-section-head{grid-template-columns:1fr;gap:.7rem;margin-bottom:1rem}.hp-section-head h2{font-size:2.25rem}.hp-section-head>p{font-size:.84rem}
  .hp-domains,.hp-focus,.hp-research,.hp-whitepapers,.hp-method,.hp-person{padding:2.35rem 0 2.55rem}
  .hp-domains-layout{grid-template-columns:1fr;gap:1rem}.hp-domain-stage{max-width:760px;width:100%;margin-inline:auto}
  .hp-focus-grid,.hp-person-grid,.hp-method-layout{grid-template-columns:1fr;gap:1rem}.hp-focus-visual,.hp-focus-hero-image{min-height:360px}.hp-focus-copy h2,.hp-person-copy h2{font-size:2.5rem}
  .hp-research-grid{grid-template-columns:1fr}.hp-program-media{height:260px}
  .hp-whitepaper-themes{grid-template-columns:1fr}.hp-whitepaper-themes article{min-height:0;border-right:0;border-bottom:1px solid var(--hp-line)}.hp-whitepaper-themes article:last-child{border-bottom:0}
  .hp-paper-grid{grid-template-columns:1fr}.hp-paper-item,.hp-paper-item:nth-child(odd),.hp-paper-item:nth-child(even){min-height:150px;padding:1rem 2.4rem 1.15rem 0;border-right:0}.hp-paper-item:hover,.hp-paper-item:nth-child(odd):hover,.hp-paper-item:nth-child(even):hover{padding-left:.35rem}
  .hp-method-visual{min-height:260px}.hp-phase-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.hp-phase-strip article{flex:0 0 62vw;scroll-snap-align:start;border-right:1px solid var(--hp-line)!important;border-bottom:0!important}.hp-evidence-note{grid-template-columns:1fr;gap:.25rem}
  .hp-person-media{height:360px}
}

@media(max-width:680px){
  .hp-shell{width:min(100% - 2rem,var(--max))}
  .hp-hero{min-height:0}.hp-hero-backdrop{background-image:linear-gradient(180deg,rgba(253,248,239,.9) 0%,rgba(253,248,239,.72) 58%,rgba(253,248,239,.5) 100%),var(--home-hero-image);background-position:62% center}.hp-hero-inner{min-height:0;padding:2.3rem 0 2.5rem}.hp-hero-copy{padding:0}.hp-hero h1{max-width:none;font-size:3rem;line-height:.98}.hp-hero-lead{font-size:1.04rem}.hp-hero-support{font-size:.84rem}.hp-hero-actions{align-items:flex-start;flex-direction:column;gap:.7rem}
  .hp-section-head h2{font-size:2.05rem}.hp-domains-copy h2{font-size:2.15rem}.hp-domain-grid{grid-template-columns:1fr}.hp-domain-grid article,.hp-domain-grid article:nth-child(odd),.hp-domain-grid article:nth-child(even){min-height:0;padding:.62rem 0;border-right:0;border-bottom:1px solid var(--hp-line)}.hp-domain-grid article:last-child{border-bottom:0}.hp-domain-stage{padding:.7rem .7rem .65rem}.hp-focus-visual,.hp-focus-hero-image{min-height:300px}.hp-focus-copy h2,.hp-person-copy h2{font-size:2.15rem}.hp-focus-subtitle{font-size:1.04rem}.hp-focus-body,.hp-person-copy>p:not(.hp-kicker):not(.hp-person-role){font-size:.83rem}
  .hp-program-media{height:210px}.hp-program-body h3{font-size:2rem}.hp-paper-item h3{font-size:1.4rem}
  .hp-method-copy h3{font-size:1.95rem}.hp-phase-strip article{flex-basis:76vw}.hp-person-media{height:300px}
}

/* Landing-page parity: Briefing + footer */
.page-home-editorial #briefing,
.page-home-editorial .site-footer{
  --max:1240px;
  --space:clamp(1.25rem,3vw,3rem);
}
.page-home-editorial #briefing{
  font-family:var(--serif);
  color:var(--ink);
}
.page-home-editorial #briefing.section-rule{padding:3rem 0 3.2rem}
.page-home-editorial #briefing h2{
  font-family:var(--serif);
  color:var(--ink);
  font-size:clamp(2rem,2.7vw,2.9rem);
  line-height:1.05;
}
.page-home-editorial .site-footer{
  font-family:var(--serif);
  color:var(--paper);
  background:var(--ink);
}
.page-home-editorial .site-footer h2{
  font-family:var(--sans);
  color:var(--paper);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:680px){
  .page-home-editorial #briefing.section-rule{padding:2.35rem 0 2.55rem}
}
