/* A New Earth United — institutional website
   Quiet, luminous, spacious. Gold used sparingly as accent. */

:root{
  --ivory:#FCFBF8;
  --ivory-2:#F6F3EC;
  --ink:#1C1B18;
  --ink-2:#4A463E;
  --muted:#6E685C;
  --gold:#A9884C;
  --gold-soft:#D9C79A;
  --rule:#E5E0D5;
  --navy:#22303F;
  --maxw:1140px;
  --prose:66ch;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.18;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.1rem,5vw,3.15rem)}
h2{font-size:clamp(1.55rem,3.2vw,2.15rem);margin-top:0}
h3{font-size:1.32rem}
p{margin:0 0 1.15em}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(252,251,248,.94);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;gap:20px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.brand-mk{width:44px;height:30px}
.brand-tx{font-family:var(--serif);font-size:1.22rem;letter-spacing:.02em;white-space:nowrap}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-size:.95rem;color:var(--ink-2)}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav a[aria-current]{box-shadow:inset 0 -1px 0 var(--gold)}
.navbtn{display:none;margin-left:auto;background:none;border:1px solid var(--rule);
  border-radius:3px;padding:9px 11px;cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:20px;height:1.5px;background:var(--ink);content:""}
.bars::before{transform:translateY(-6px)}
.bars::after{transform:translateY(4.5px)}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:13px 26px;border:1px solid var(--navy);background:var(--navy);
  color:#fff;text-decoration:none;font-size:.93rem;letter-spacing:.03em;border-radius:2px}
.btn:hover{background:#2E4055;border-color:#2E4055;color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{background:transparent;color:var(--ink);border-color:var(--gold)}
.btn-sm{padding:9px 18px;font-size:.87rem}
.btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:1.6em}
.lnk{font-size:.93rem;border-bottom:1px solid var(--gold-soft);text-decoration:none;padding-bottom:1px}
.lnk:hover{border-color:var(--gold)}

/* ---------- sections ---------- */
.sec{padding:76px 0}
.sec-alt{background:var(--ivory-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.prose{max-width:var(--prose)}
.prose h2{margin-top:1.9em}
.prose h2:first-child{margin-top:0}
.center{text-align:center}
.center .prose{margin-inline:auto}
.sub{color:var(--muted);font-size:1.08rem;max-width:62ch}
.center .sub{margin-inline:auto}

.hero{padding:70px 0 54px;text-align:center}
.hero-in{display:flex;flex-direction:column;align-items:center;gap:26px}
.hero-mk{width:min(360px,74vw);height:auto}
.lede{font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.85rem);line-height:1.4;
  color:var(--ink-2);max-width:26ch;margin:0}

.pagehead{padding:64px 0 10px;border-bottom:1px solid var(--rule)}
.pagehead h1{margin-bottom:.35em}
.pagehead .sub{margin-bottom:1.3em}

blockquote{margin:1.7em 0;padding:4px 0 4px 26px;border-left:2px solid var(--gold-soft);
  font-family:var(--serif);font-size:1.38rem;line-height:1.45;color:var(--ink)}

.cols{list-style:none;margin:0;padding:0;columns:2;column-gap:56px}
.cols li{break-inside:avoid;padding:12px 0 12px 22px;position:relative;border-bottom:1px solid var(--rule)}
.cols li::before{content:"";position:absolute;left:0;top:23px;width:9px;height:1px;background:var(--gold)}
.bul{margin:0 0 1.2em;padding-left:20px}
.bul li{margin:.35em 0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:26px}
.card{background:var(--ivory);border:1px solid var(--rule);border-radius:3px;padding:28px}
.sec-alt .card{background:var(--ivory)}
.card h3{margin-bottom:.35em}
.card p:last-of-type{margin-bottom:1em}
.kicker{font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .7em}
.meta{font-size:.9rem;color:var(--muted);margin-bottom:.9em}

.idblock{max-width:var(--prose);border:1px solid var(--rule);border-left:3px solid var(--gold);
  background:var(--ivory);border-radius:3px;padding:30px 32px}
.org-id{font-size:1rem;line-height:1.85;margin:0}
.idnote{font-size:.94rem;color:var(--ink-2);margin:1.1em 0 0}
.notice{border-left:2px solid var(--gold-soft);padding:10px 0 10px 20px;color:var(--ink-2);
  font-size:.96rem;margin:1.4em 0 0}

/* ---------- contact ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:start}
.form{margin:0}
.field{display:flex;flex-direction:column;gap:7px;margin:0 0 20px}
.field label{font-size:.87rem;letter-spacing:.04em;color:var(--ink-2)}
.field span{color:var(--gold)}
input,select,textarea{font:inherit;font-size:.97rem;color:var(--ink);background:var(--ivory);
  border:1px solid var(--rule);border-radius:2px;padding:12px 14px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none}
textarea{resize:vertical}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* ---------- footer ---------- */
.ftr{background:var(--ivory-2);border-top:1px solid var(--rule);padding:60px 0 44px;margin-top:0}
.ftr-grid{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:start}
.ftr-org{display:flex;gap:18px;align-items:flex-start}
.ftr-mk{width:59px;height:40px;flex:0 0 auto}
.ftr-note{font-size:.9rem;color:var(--ink-2);margin:0 0 .85em;max-width:62ch}
.ftr-links nav{display:flex;gap:12px;font-size:.92rem;margin-top:1.2em;flex-wrap:wrap}
.ftr-links nav span{color:var(--muted)}
.tagline{font-family:var(--serif);font-size:1.12rem;color:var(--gold);text-align:center;
  margin:44px 0 0;padding-top:26px;border-top:1px solid var(--rule);letter-spacing:.02em}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .two{grid-template-columns:1fr;gap:44px}
  .ftr-grid{grid-template-columns:1fr;gap:34px}
  .cols{columns:1}
}
@media (max-width:760px){
  .navbtn{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--ivory);
    border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;
    gap:0;padding:8px 24px 22px;display:none}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav li{border-bottom:1px solid var(--rule)}
  .nav a{display:block;padding:14px 0;font-size:1rem}
  .nav .btn{margin-top:18px;text-align:center}
  .hdr-in{position:relative}
  .sec{padding:56px 0}
  .btns{justify-content:flex-start}
  .center .btns{justify-content:center}
}
@media print{.hdr,.navbtn,.skip{display:none}body{background:#fff}}

/* nav link colour must not override button text */
.nav .btn{color:#fff}
.nav .btn:hover{color:#fff}
.nav .btn-ghost{color:var(--ink)}

/* prose used directly on .wrap: keep the page gutter, constrain the text column */
.wrap.prose{max-width:var(--maxw)}
.wrap.prose > *{max-width:var(--prose)}
.wrap.prose.center > *{margin-inline:auto}

/* Zeffy donation embed */
.donate-wrap{margin-top:38px}
.zeffy-frame{position:relative;overflow:hidden;height:820px;width:100%}
.zeffy-frame iframe{position:absolute;border:0;inset:0;width:100%;height:100%}
.donate-wrap .idnote{margin-top:18px}
