/* commonFrame local composition pass: open reading rhythm, tangible nested work. */
body.page-commonframe { --cf-font-mono: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible Next Fallback", sans-serif; overflow-x:hidden; }
body.page-commonframe main { font-weight:450; }
body.page-commonframe .wrap { max-width:1200px; }
body.page-commonframe .flag,
body.page-commonframe .k { clip-path:none; background:transparent; color:var(--cf-ink-brown); padding:0; font-family:var(--cf-font-mono); font-size:.82rem; font-weight:600; letter-spacing:.055em; }
body.page-commonframe .flag--entity,
body.page-commonframe .card--entity .k,
body.page-commonframe .ledger-row--entity .k { color:var(--cf-entity-core); }
body.page-commonframe .flag--quiet { color:var(--cf-muted); }
body.page-commonframe .movement h2 { max-width:24ch; font-size:clamp(2.5rem,4.6vw,4.15rem); font-weight:700; line-height:1.04; letter-spacing:-.035em; }
body.page-commonframe p.intro { max-width:56ch; font-size:clamp(1.05rem,1.6vw,1.18rem); line-height:1.6; }
body.page-commonframe .hero { margin:24px 24px 0; padding:clamp(56px,7vw,96px) 0; background:var(--cf-paper-deep); border-radius:34px 58px 38px 50px; }
body.page-commonframe .hero h1 { max-width:13ch; font-size:clamp(2.9rem,5.4vw,5rem); font-weight:700; line-height:1.02; letter-spacing:-.038em; }
body.page-commonframe .hero .lede { max-width:52ch; font-size:1.12rem; line-height:1.55; }
body.page-commonframe .hero .lede + .lede { margin-top:.7rem; }
body.page-commonframe .hero .lede:last-of-type { font-size:1rem; color:var(--cf-muted); }
body.page-commonframe .hero-links { margin-top:1.6rem; }
body.page-commonframe .btn { border-radius:10px 17px 11px 15px; font-weight:650; }
body.page-commonframe .pin-card { max-width:26rem; border-radius:16px 28px 18px 25px; box-shadow:0 35px 60px -42px rgba(92,56,27,.5); }
body.page-commonframe .pin-head,body.page-commonframe .pin-foot,body.page-commonframe .pin-row { font-size:.8rem; letter-spacing:0; text-transform:none; }
body.page-commonframe .pin-row span:first-child { font-size:.73rem; }
body.page-commonframe #record { padding-block:clamp(72px,8vw,112px); }
body.page-commonframe #record h2 { margin-bottom:1rem; }
body.page-commonframe #record p.intro { margin-bottom:2.5rem; }
body.page-commonframe .ledger { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.page-commonframe .ledger-row { display:block; border:0; border-radius:20px 32px 22px 28px; min-height:100%; background:#f0e4d4; box-shadow:none; }
body.page-commonframe .ledger-row:nth-child(2) { background:#e8edf0; }
body.page-commonframe .ledger-row:nth-child(3) { background:#ede7dc; }
body.page-commonframe .ledger-row:nth-child(4) { background:#f0ece5; }
body.page-commonframe .ledger-key { padding:24px 26px 0; }
body.page-commonframe .ledger-body { padding:10px 26px 28px; }
body.page-commonframe .ledger-body h3 { font-size:1.35rem; line-height:1.22; margin-bottom:.55rem; }
body.page-commonframe .ledger-body p { line-height:1.6; }
body.page-commonframe .darp-example { margin-top:28px; border-radius:28px 48px 30px 40px; }
body.page-commonframe .band { padding:1.65rem 0; border:0; background:transparent; }
body.page-commonframe .band .wrap { border-left:0; padding:0 24px; display:flex; align-items:baseline; gap:1.2rem; }
body.page-commonframe .band .lead { max-width:38ch; font-size:1.25rem; color:var(--cf-ink-brown); }
body.page-commonframe .band .sub { margin:0; max-width:55ch; font-size:.95rem; }
body.page-commonframe .band--entity .lead { color:var(--cf-entity-core); }
body.page-commonframe #theater { margin:40px 24px 0; padding-block:clamp(76px,8vw,108px); border-radius:32px 56px 36px 48px; background:#e7eff2; }
body.page-commonframe #theater .split--theater { align-items:center; }
body.page-commonframe .stage-well { padding:18px; border:1px solid rgba(14,92,130,.16); border-radius:22px 38px 24px 32px; background:#d9e8ec; }
body.page-commonframe .theater-frame { border-radius:14px 24px 16px 22px; }
body.page-commonframe .theater-cards { margin-top:2rem; }
body.page-commonframe .card { border:0; border-radius:20px 32px 22px 28px; padding:1.5rem 1.65rem; box-shadow:none; background:#f0e6d9; }
body.page-commonframe #theater .card { background:#faf8f3; }
body.page-commonframe .card h3 { margin:.45rem 0 .55rem; font-size:1.3rem; line-height:1.2; }
body.page-commonframe .card p { line-height:1.55; }
body.page-commonframe #workshop { padding-block:clamp(96px,10vw,128px); }
body.page-commonframe #workshop > .wrap > p.intro { max-width:64ch; margin-bottom:2.3rem; }
body.page-commonframe #workshop .split--theater { align-items:center; padding:clamp(22px,3vw,38px); border-radius:28px 46px 30px 40px; background:#eee0cc; }
body.page-commonframe #workshop .split-copy h3 { font-size:1.75rem; line-height:1.2; margin:.55rem 0 1rem; }
body.page-commonframe .modes { gap:.65rem; }
body.page-commonframe .modes li::before { border-radius:50%; }
body.page-commonframe #workshop .cards { margin-top:24px; }
body.page-commonframe #workshop .card:nth-child(2) { background:#e7eff2; }
body.page-commonframe #walls { margin:0 24px; padding:0 0 clamp(64px,7vw,92px); border-radius:30px 54px 34px 46px; background:#ece9e2; overflow:hidden; }
body.page-commonframe .statement { padding:clamp(52px,6vw,80px) 0 0; background:transparent; box-shadow:none; }
body.page-commonframe .statement h2 { max-width:20ch; }
body.page-commonframe .walls-body { padding-top:1.5rem; }
body.page-commonframe .walls-body p.intro { margin-bottom:2.2rem; }
body.page-commonframe .walls-proofs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.page-commonframe .wall-proof,body.page-commonframe .wall-proof:nth-child(even) { display:flex; flex-direction:column; align-self:stretch; width:auto; border:0; border-radius:20px 32px 22px 28px; box-shadow:none; background:#fdf8ef; }
body.page-commonframe .wall-proof:nth-child(2) { background:#e3edf0; }
body.page-commonframe .wall-proof-key { padding:1.5rem 1.5rem .2rem; border:0; background:transparent; }
body.page-commonframe .wall-proof h3 { max-width:none; font-size:1.3rem; }
body.page-commonframe .wall-proof-body { display:block; padding:.5rem 1.5rem 1.6rem; }
body.page-commonframe .wall-proof p { font-size:.97rem; line-height:1.55; }
body.page-commonframe #neighborhood { padding-block:clamp(96px,10vw,136px); }
body.page-commonframe #neighborhood .split--hood { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:5rem; }
body.page-commonframe #neighborhood .hood-quote blockquote { margin-top:2rem; font-size:clamp(1.7rem,3vw,2.6rem); }
body.page-commonframe .hood-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.page-commonframe .hood-cards .card { padding:1.5rem; }
body.page-commonframe .hood-cards .card:nth-child(2),body.page-commonframe .hood-cards .card:nth-child(3) { background:#e7eff2; }
body.page-commonframe .invite { margin:0 24px 24px; padding:clamp(68px,7vw,96px) 0; border:0; border-radius:30px 54px 34px 46px; background:#efddc7; }
body.page-commonframe .invite-inner { max-width:900px; margin:auto; padding:clamp(28px,5vw,60px); border:0; border-radius:24px 42px 26px 36px; box-shadow:0 30px 65px -48px rgba(90,62,40,.45); }
body.page-commonframe .invite h2 { max-width:16ch; font-size:clamp(2.5rem,4.8vw,4.2rem); font-weight:700; }
body.page-commonframe .invite p { font-size:1.1rem; line-height:1.6; }
body.page-commonframe .invite-detail { max-width:590px; margin:1.6rem auto 0; padding:.3rem 1rem; border:1px solid var(--cf-border); border-radius:12px 20px 14px 18px; text-align:left; }
body.page-commonframe .invite-detail summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; cursor:pointer; font-weight:650; list-style:none; }
body.page-commonframe .invite-detail summary::-webkit-details-marker { display:none; }
body.page-commonframe .invite-detail summary::after { content:"+"; font-size:1.5rem; }
body.page-commonframe .invite-detail[open] summary::after { content:"−"; }
body.page-commonframe .invite-detail p { margin:.5rem 0 1rem; font-size:.95rem; }
@media(max-width:1000px) {
 body.page-commonframe .walls-proofs { grid-template-columns:1fr; }
 body.page-commonframe #neighborhood .split--hood { grid-template-columns:1fr; gap:2rem; }
 body.page-commonframe .hood-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body.page-commonframe .hero,body.page-commonframe #theater,body.page-commonframe #walls,body.page-commonframe .invite { margin-inline:10px; border-radius:24px 38px 26px 34px; }
 body.page-commonframe .hero { padding-block:52px; }
 body.page-commonframe .hero h1 { font-size:clamp(2.55rem,10vw,3.2rem); }
 body.page-commonframe .movement h2 { font-size:clamp(2.25rem,9vw,3rem); }
 body.page-commonframe .ledger,.page-commonframe .hood-cards { grid-template-columns:1fr; }
 body.page-commonframe .band .wrap { display:block; }
 body.page-commonframe .band .sub { margin-top:.45rem; }
 body.page-commonframe #theater { padding-block:64px; }
 body.page-commonframe #workshop .split--theater { padding:20px; }
 body.page-commonframe #walls { padding-bottom:56px; }
 body.page-commonframe .invite { padding:54px 12px; }
 body.page-commonframe .invite-inner { padding:30px 22px; }
}
body.page-commonframe .card-detail { margin-top:auto; padding-top:.8rem; border-top:1px solid var(--cf-border); }
body.page-commonframe .card-detail summary { display:flex; align-items:center; justify-content:space-between; min-height:42px; color:var(--cf-ink-brown); font-family:var(--cf-font-mono); font-size:.84rem; font-weight:600; cursor:pointer; list-style:none; }
body.page-commonframe .card-detail summary::-webkit-details-marker { display:none; }
body.page-commonframe .card-detail summary::after { content:"+"; font-size:1.35rem; }
body.page-commonframe .card-detail[open] summary::after { content:"−"; }
body.page-commonframe .card-detail p { padding:.55rem 0 .4rem; font-size:.94rem; }
body.page-commonframe .hood-cards .card,body.page-commonframe .wall-proof-body { display:flex; flex-direction:column; }
body.page-commonframe .wall-proof-body { flex:1; }
body.page-commonframe .wall-proof-body { align-items:stretch; }
body.page-commonframe .card-detail { width:100%; }
