/* Webuye Declaration page */
.decl-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2.8rem;align-items:center}
.decl-hero .decl-tagline{font-family:var(--font-head);font-size:clamp(1.25rem,2.6vw,1.8rem);font-weight:800;color:var(--gold-light);margin:.5rem 0 1.1rem}
.decl-hero-text p{margin:.2rem 0}
.decl-hero-fig{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 26px 54px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14)}
.decl-hero-fig img{display:block;width:100%;height:auto}

.decl-pledge{max-width:880px;text-align:center}
.decl-quote{margin:.7rem 0 1.3rem;padding:0;border:0;font-family:var(--font-head);font-weight:800;font-size:clamp(1.6rem,3.6vw,2.7rem);line-height:1.25;color:var(--forest)}
.decl-quote::before{content:"\201C";color:var(--gold);margin-inline-end:.1em}
.decl-quote::after{content:"\201D";color:var(--gold);margin-inline-start:.05em}
.decl-declare{font-size:1.15rem;color:var(--muted);margin:0}

.rule{display:grid;grid-template-columns:1fr 1.15fr;gap:2.6rem;align-items:center;margin-top:3.2rem}
@media (min-width:901px){.rule.flip{grid-template-columns:1.15fr 1fr}.rule.flip .rule-text{order:2}}
.rule-no{display:inline-block;background:var(--gold);color:var(--forest-3);font-weight:800;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;padding:.3rem .8rem;border-radius:99px}
.rule h3{font-size:clamp(1.5rem,2.7vw,2.15rem);margin:.8rem 0 .6rem;line-height:1.2}
.rule p{font-size:1.1rem;color:var(--muted);margin:0}
.rule-fig{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--forest-3);display:flex;justify-content:center}
.rule-fig img{display:block;width:auto;max-width:100%;height:auto;max-height:640px}
.rule .rule-note{margin-top:1rem;font-weight:700;color:var(--forest)}

.decl-law{background:var(--gold);color:var(--forest-3);text-align:center;padding:3.4rem 0}
.decl-law .eyebrow{color:var(--forest);justify-content:center}
.decl-law-text{margin:.3rem 0 0;font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,6vw,4.2rem);line-height:1.1;text-transform:uppercase;letter-spacing:.02em}

.decl-proof{display:grid;grid-template-columns:minmax(240px,380px) 1fr;gap:3.2rem;align-items:start}
.proof-poster{margin:0}
.proof-poster img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.proof-poster figcaption{font-size:.9rem;color:var(--muted);margin-top:.9rem}
.proof-list{display:grid;gap:.9rem;margin:1.6rem 0 0}
.proof-list > div{display:grid;grid-template-columns:7rem 1fr;gap:.8rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--gold);border-radius:var(--radius);padding:1rem 1.2rem}
.proof-list dt{font-weight:800;color:var(--forest)}
.proof-list dd{margin:0;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.proof-list .code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.proof-list a.code{color:var(--green)}
.proof-list .code{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .proof-list .code{text-align:right}
.proof-list dd span:not(.code){color:var(--muted)}

.decl-guardians{background:var(--forest-3);color:#fff}
.decl-guardians-grid{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:3.2rem;align-items:center}
.decl-guardians figure{margin:0}
.decl-guardians img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:0 24px 50px rgba(0,0,0,.45)}
.decl-guardians h2{color:#fff;margin:.4rem 0 1rem}
.decl-guardians p{color:#dbe9de;font-size:1.15rem;margin:.2rem 0}
.decl-signed{margin-top:1.8rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.2)}
.decl-signed p{color:var(--gold-light);font-weight:700}
.decl-strip{background:#04150f;color:#9db3a6;text-align:center;font-size:.9rem;margin:0;padding:1rem 4%}

@media (max-width:900px){
  .decl-hero-grid,.rule,.decl-proof,.decl-guardians-grid{grid-template-columns:1fr}
  .rule{gap:1.2rem;margin-top:2.4rem}
  .rule.flip .rule-text{order:0}
  .decl-proof{gap:2rem}
  .proof-poster{max-width:380px;margin:0 auto}
  .decl-guardians figure{max-width:420px;margin:0 auto}
  .proof-list > div{grid-template-columns:1fr;gap:.2rem}
}
