/* Munay Ayni Sanctuary — house stylesheet v2.0 (green-led palette)
   Tokens follow brand/01-brand-guide.md §5. Do not introduce colours outside this block. */

:root{
  /* --- greens: the spine of the identity --- */
  --forest:#132A1D;      /* deepest green-black — dark grounds, body text */
  --moss:#2C6B41;        /* deep green — text-safe accent, links */
  --green:#3E8C57;       /* living green — primary display accent */
  --lime:#8FB93B;        /* bright growth — highlights, small marks */
  --fern:#DCE8CE;        /* pale green fill — cards, chips */

  /* --- grounds --- */
  --parchment:#F1F4E9;   /* page ground, green-tinted paper */
  --paper:#FAFCF3;       /* raised surfaces */
  --mist:#E2EAD6;        /* section bands, dividers, table stripes */

  /* --- the wider chorus: each hue means something (see brand guide) --- */
  --gold:#C9932B;        /* the ecosystem thread · Keeper Reciprocity */
  --gold-lt:#E3B855;     /* gold on dark grounds */
  --river:#26707E;       /* water · Land & Water Stewardship */
  --river-lt:#4FA3B2;
  --berry:#8C3E63;       /* culture · Cultural Education */
  --berry-lt:#C07A9B;
  --clay:#B04A29;        /* warmth, care, calls to action · Health Access */
  --clay-lt:#DB8460;

  --stone:#5B6653;       /* green-biased neutral — secondary text */
  --hair:#CBD6BC;        /* hairlines on light */

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --measure:38rem;
  --wide:72rem;
  --r:10px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--parchment);color:var(--forest);
     font-family:var(--sans);font-size:17px;line-height:1.65;
     -webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--moss);text-underline-offset:3px}
a:hover{color:var(--clay)}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.32rem}
p{margin:0 0 1.1em}
.lede{font-size:clamp(1.1rem,2.1vw,1.32rem);color:var(--stone);line-height:1.55}
.eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;
         text-transform:uppercase;color:var(--moss);margin:0 0 1rem}
.measure{max-width:var(--measure)}
.small{font-size:.88rem;color:var(--stone)}
.mono{font-family:var(--mono)}

/* ---------- layout ---------- */
.wrap{max-width:var(--wide);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
section{padding:clamp(3.5rem,8vw,6rem) 0}
section.tight{padding:clamp(2.5rem,5vw,3.5rem) 0}
.rule{height:1px;background:var(--hair);border:0;margin:0}

/* a band of colour between sections */
.band{height:6px;border:0;margin:0;
      background:linear-gradient(90deg,var(--green) 0 22%,var(--lime) 22% 40%,
                 var(--gold) 40% 60%,var(--river) 60% 80%,var(--berry) 80% 100%)}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:20;background:rgba(241,244,233,.93);
           backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
                 gap:1rem;min-height:72px;flex-wrap:wrap}
.brandlink{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--forest)}
.brandlink svg,.brandlink img{width:34px;height:34px;flex:none}
.brandlink b{font-family:var(--serif);font-size:1.22rem;font-weight:600;letter-spacing:.02em;
             display:block;line-height:1.05}
.brandlink span{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;
                text-transform:uppercase;color:var(--moss)}
.site-nav{display:flex;gap:clamp(.9rem,2.4vw,1.7rem);align-items:center;flex-wrap:wrap}
.site-nav a{color:var(--forest);text-decoration:none;font-size:.93rem;font-weight:500}
.site-nav a:not(.btn):hover,.site-nav a:not(.btn)[aria-current="page"]{color:var(--clay)}
.site-nav a:not(.btn)[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--lime);
                                           text-decoration-thickness:2px}
.site-nav a.btn[aria-current="page"]{box-shadow:0 0 0 3px rgba(143,185,59,.4)}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--moss);color:var(--paper);padding:.85rem 1.7rem;
     border-radius:var(--r);text-decoration:none;font-weight:600;font-size:.97rem;
     border:1px solid var(--moss);cursor:pointer;font-family:var(--sans);
     transition:transform .15s ease,background .15s ease}
.btn:hover{background:var(--forest);border-color:var(--forest);color:var(--paper);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn.ghost:hover{background:var(--forest);color:var(--paper)}
.btn.gold{background:var(--clay);border-color:var(--clay);color:#fff}
.btn.gold:hover{background:#8A3419;border-color:#8A3419;color:#fff}
.btnrow{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}

/* ---------- hero ---------- */
.hero{background:var(--forest);color:var(--parchment);padding:clamp(4rem,10vw,7.5rem) 0;
      background-image:radial-gradient(120% 90% at 88% 12%,rgba(62,140,87,.34),transparent 62%),
                       radial-gradient(85% 70% at 4% 96%,rgba(38,112,126,.28),transparent 60%)}
.hero h1{color:var(--paper);max-width:16ch}
.hero .lede{color:#C6D3BC;max-width:46ch}
.hero .eyebrow{color:var(--lime)}
.hero .btn{background:var(--lime);border-color:var(--lime);color:var(--forest)}
.hero .btn:hover{background:#a4cd52;border-color:#a4cd52;color:var(--forest)}
.hero .btn.ghost{background:transparent;color:var(--parchment);border-color:#4c6553}
.hero .btn.ghost:hover{background:var(--parchment);color:var(--forest);border-color:var(--parchment)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr}}

/* page-top banner on inner pages */
.pagetop{background:var(--forest);color:var(--parchment);
         background-image:radial-gradient(110% 120% at 92% 0%,rgba(38,112,126,.34),transparent 60%),
                          radial-gradient(80% 90% at 0% 100%,rgba(62,140,87,.3),transparent 60%)}
.pagetop h1{color:var(--paper)}
.pagetop .lede{color:#C6D3BC}
.pagetop .eyebrow{color:var(--lime)}

/* ---------- cards & grids ---------- */
.grid{display:grid;gap:1.5rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r);
      padding:1.7rem 1.6rem;border-top:4px solid var(--green)}
.card h3{margin-bottom:.35em;color:var(--forest)}
.card p:last-child{margin-bottom:0}

/* programme hues — colour that carries meaning, see brand guide §5 */
.card.keeper{border-top-color:var(--gold)}
.card.keeper h3{color:#8a6412}
.card.land{border-top-color:var(--river)}
.card.land h3{color:var(--river)}
.card.education{border-top-color:var(--berry)}
.card.education h3{color:var(--berry)}
.card.health{border-top-color:var(--clay)}
.card.health h3{color:var(--clay)}
.card.pillar-1{border-top-color:var(--green)}
.card.pillar-2{border-top-color:var(--river)}
.card.pillar-3{border-top-color:var(--berry)}

.card .tag{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;
           text-transform:uppercase;font-weight:500;padding:.22rem .6rem;border-radius:99px;
           margin-bottom:.9rem}
.tag.now{background:var(--fern);color:var(--moss)}
.tag.next{background:#DCE9EC;color:var(--river)}
.tag.later{background:#F0E0E8;color:var(--berry)}
.tag.off{background:#F6E2DA;color:var(--clay)}

/* ---------- the flow diagram ---------- */
.flow{list-style:none;margin:0;padding:0;counter-reset:step}
.flow li{position:relative;padding:0 0 1.5rem 2.9rem;counter-increment:step}
.flow li::before{content:counter(step);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;
                 border-radius:99px;background:var(--green);color:var(--paper);
                 display:grid;place-items:center;font-family:var(--mono);font-size:.8rem;font-weight:500}
.flow li:nth-child(2)::before{background:var(--gold)}
.flow li:nth-child(3)::before{background:var(--river)}
.flow li:nth-child(4)::before{background:var(--berry)}
.flow li:nth-child(5)::before{background:var(--clay)}
.flow li:nth-child(6)::before{background:var(--moss)}
.flow li::after{content:"";position:absolute;left:.93rem;top:1.9rem;bottom:.2rem;width:1px;
                background:var(--hair)}
.flow li:last-child{padding-bottom:0}
.flow li:last-child::after{display:none}
.flow b{display:block;font-weight:600}
.flow span{color:var(--stone);font-size:.93rem}

/* ---------- ledger table ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r);background:var(--paper)}
table{border-collapse:collapse;width:100%;min-width:24rem;font-variant-numeric:tabular-nums}
.tablewrap.ledger table{min-width:34rem}
th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--hair);font-size:.93rem}
th{font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
   color:var(--moss);font-weight:500;background:var(--fern)}
td.num,th.num{text-align:right}
td.num,tfoot td{font-family:var(--mono);font-size:.88rem}
tbody tr:last-child td{border-bottom:0}
tfoot td{font-weight:600;background:var(--mist)}
.pending{color:var(--stone)}

/* ---------- callouts ---------- */
.note{border-left:3px solid var(--lime);background:var(--paper);padding:1.1rem 1.3rem;
      border-radius:0 var(--r) var(--r) 0;margin:1.6rem 0}
.note p:last-child{margin-bottom:0}
.note.warn{border-left-color:var(--clay)}
.stat{border-top:3px solid var(--green);padding-top:.9rem}
.stat:nth-child(2){border-top-color:var(--gold)}
.stat:nth-child(3){border-top-color:var(--river)}
.stat b{display:block;font-family:var(--mono);font-weight:500;
        font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.1}
.stat span{font-size:.85rem;color:var(--stone)}

/* ---------- forms ---------- */
form{max-width:32rem}
label{display:block;font-size:.83rem;font-weight:600;margin:1.1rem 0 .35rem}
input,select,textarea{width:100%;padding:.75rem .9rem;border:1px solid #B7C4A8;border-radius:8px;
       background:var(--paper);color:var(--forest);font:inherit;font-size:.97rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:1px;
       border-color:var(--green)}
fieldset{border:0;padding:0;margin:0}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem;margin-top:.5rem}
.tier{position:relative}
.tier input{position:absolute;opacity:0;inset:0}
.tier span{display:block;border:1px solid #B7C4A8;border-radius:var(--r);padding:.85rem;
           background:var(--paper);cursor:pointer;text-align:center}
.tier input:checked + span{border-color:var(--moss);background:var(--fern);
           box-shadow:inset 0 0 0 1px var(--moss)}
.tier input:focus-visible + span{outline:2px solid var(--lime);outline-offset:2px}
.tier b{display:block;font-family:var(--mono);font-weight:500;font-size:1.2rem}
.tier em{display:block;font-style:normal;font-size:.78rem;color:var(--stone)}
.msg{margin-top:1rem;font-size:.92rem;padding:.8rem 1rem;border-radius:8px;display:none}
.msg.show{display:block}
.msg.ok{background:var(--fern);color:var(--moss)}
.msg.err{background:#F6E2DA;color:#93401f}

/* ---------- footer ---------- */
.site-foot{background:var(--forest);color:#A9B8A0;padding:3.5rem 0 2.5rem;font-size:.9rem;
           border-top:6px solid var(--lime)}
.site-foot a{color:var(--parchment)}
.site-foot h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
              color:var(--lime);margin:0 0 .8rem;font-weight:500}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr}}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:.45rem}
.legal{border-top:1px solid #2A4433;margin-top:2.5rem;padding-top:1.5rem;font-size:.8rem;color:#7E8F77}

/* claims that are gated until verified — see assets/config.js */
[data-claim]{display:none}

/* ---------- small screens ---------- */
@media (max-width:720px){
  .site-head{position:static}
  .site-head .wrap{flex-wrap:nowrap;gap:.75rem;min-height:64px}
  .site-nav{flex-wrap:nowrap;overflow-x:auto;gap:1rem;font-size:.88rem;
            scrollbar-width:none;-webkit-overflow-scrolling:touch;
            margin-left:auto;padding-left:.5rem;
            mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav a{white-space:nowrap}
  .brandlink b{font-size:1.05rem}
  .brandlink svg,.brandlink img{width:30px;height:30px}
  .btnrow .btn{flex:1 1 auto;text-align:center}
}
.mobile-nav{display:none;background:var(--paper);border-bottom:1px solid var(--hair);
            padding:.6rem clamp(1.25rem,4vw,2.5rem);overflow-x:auto;white-space:nowrap;
            scrollbar-width:none}
.mobile-nav::-webkit-scrollbar{display:none}
.mobile-nav a{color:var(--forest);text-decoration:none;font-size:.88rem;font-weight:500;margin-right:1.1rem}
.mobile-nav a:last-child{margin-right:0}
@media (max-width:420px){
  .site-nav a:not(.btn){display:none}
  .site-nav a.btn{display:inline-block}
  .mobile-nav{display:block}
}



/* ===== Circular Regeneration Loop — premium minimal, no JS ===== */
.circular{
  --forest:#132A1D; --moss:#2C6B41; --green:#3E8C57; --lime:#8FB93B; --fern:#DCE8CE;
  --parchment:#F1F4E9; --paper:#FAFCF3; --mist:#E2EAD6;
  --gold:#C9932B; --river:#26707E; --berry:#8C3E63; --clay:#B04A29;
  --stone:#5B6653; --hair:#CBD6BC;
  --serif:"Newsreader",Georgia,serif; --sans:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  background:var(--paper);
  border-top:1px solid var(--hair);
  padding:0;
}
.circular .wrap{max-width:72rem;margin:0 auto;padding:clamp(3.2rem,7vw,5.5rem) clamp(1.25rem,4vw,2.5rem)}
.circular .eyebrow{font-family:var(--mono);font-size:.70rem;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin:0 0 .9rem;font-weight:500}
.circular h2{font-family:var(--serif);font-weight:600;line-height:1.08;font-size:clamp(2rem,4.4vw,3.4rem);color:var(--forest);margin:0 0 .6rem;text-wrap:balance}
.circular h2 em{font-weight:400;color:var(--moss);font-style:italic}
.circular .lede{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--stone);line-height:1.55;max-width:44em;margin:0 0 1rem}
.circular input[name="regen"]{position:absolute;opacity:0;pointer-events:none}

.regen-head{max-width:46em;margin-bottom:2.2rem}
.regen-layout{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.8rem,4vw,3.2rem);align-items:center;margin:1.2rem 0 2.2rem}
@media(max-width:900px){.regen-layout{grid-template-columns:1fr;gap:1.8rem}}

/* circle */
.regen-circle-side{position:relative}
.circle-wrap{position:relative;width:100%;aspect-ratio:1;max-width:520px;margin:0 auto;isolation:isolate}
.circle-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.circle-center{position:absolute;inset:28%;background:var(--forest);color:var(--paper);border-radius:50%;display:grid;place-items:center;text-align:center;padding:18px;box-shadow:0 10px 30px rgba(19,42,29,.18);border:1px solid rgba(255,255,255,.08)}
.circle-center b{font-family:var(--serif);font-size:clamp(1.2rem,2.6vw,1.55rem);line-height:1;display:block;letter-spacing:.01em}
.circle-center span{font-size:.82rem;opacity:.86;margin-top:7px;display:block;line-height:1.45;max-width:18ch;margin-left:auto;margin-right:auto}
.circle-center small{font-family:var(--mono);font-size:.60rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-top:8px;display:block}
.node{position:absolute;width:30%;aspect-ratio:1;background:var(--paper);border:1px solid var(--hair);border-radius:50%;display:grid;place-items:center;text-align:center;padding:10px 8px;box-shadow:0 8px 24px rgba(19,42,29,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.node:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 28px rgba(19,42,29,.14);border-color:#b8c8a8}
.node:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.node b{font-family:var(--sans);font-size:.80rem;font-weight:600;line-height:1.15;display:block;color:var(--forest)}
.node small{font-size:.68rem;color:var(--stone);line-height:1.3;margin-top:3px;display:block}
.node-icon{font-size:1.35rem;line-height:1;margin-bottom:4px;display:block}
.node.n1{left:35%;top:0;background:var(--fern);border-color:var(--green)}
.node.n2{right:0;top:18%}
.node.n3{right:4%;bottom:14%}
.node.n4{left:35%;bottom:0;background:#FDEDDC;border-color:#e3a082}
.node.n5{left:4%;bottom:14%}
.node.n6{left:0;top:18%}
.regen-arrow{position:absolute;color:var(--moss);opacity:.38;font-size:1.1rem;font-weight:600;line-height:1;pointer-events:none}
.regen-arrow.a1{left:54%;top:9%;transform:rotate(28deg)}
.regen-arrow.a2{right:13%;top:32%;transform:rotate(68deg)}
.regen-arrow.a3{right:12%;bottom:31%;transform:rotate(148deg)}
.regen-arrow.a4{left:54%;bottom:9%;transform:rotate(208deg)}
.regen-arrow.a5{left:13%;bottom:31%;transform:rotate(248deg)}
.regen-arrow.a6{left:12%;top:32%;transform:rotate(328deg)}

/* active state via :checked */
#regen-1:checked ~ .wrap .n1, #regen-2:checked ~ .wrap .n2, #regen-3:checked ~ .wrap .n3, #regen-4:checked ~ .wrap .n4, #regen-5:checked ~ .wrap .n5, #regen-6:checked ~ .wrap .n6{background:var(--forest);color:var(--paper);border-color:var(--forest);box-shadow:0 14px 32px rgba(19,42,29,.22);transform:scale(1.04)}
#regen-1:checked ~ .wrap .n1 b, #regen-2:checked ~ .wrap .n2 b, #regen-3:checked ~ .wrap .n3 b, #regen-4:checked ~ .wrap .n4 b, #regen-5:checked ~ .wrap .n5 b, #regen-6:checked ~ .wrap .n6 b{color:var(--paper)}
#regen-1:checked ~ .wrap .n1 small, #regen-2:checked ~ .wrap .n2 small, #regen-3:checked ~ .wrap .n3 small, #regen-4:checked ~ .wrap .n4 small, #regen-5:checked ~ .wrap .n5 small, #regen-6:checked ~ .wrap .n6 small{color:#cbd6bc}
#regen-1:checked ~ .wrap .n1 .node-icon, #regen-2:checked ~ .wrap .n2 .node-icon, #regen-3:checked ~ .wrap .n3 .node-icon, #regen-4:checked ~ .wrap .n4 .node-icon, #regen-5:checked ~ .wrap .n5 .node-icon, #regen-6:checked ~ .wrap .n6 .node-icon{filter:brightness(1.2)}

/* detail panels */
.regen-detail h3{font-family:var(--serif);font-weight:600;color:var(--forest)}
.regen-panels{margin-top:1rem;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:var(--paper)}
.regen-panel{display:none;padding:14px 16px;border-left:4px solid var(--green)}
.regen-panel b{font-size:.9rem;color:var(--forest)}
.regen-panel p{font-size:.88rem;color:var(--stone);margin:.3rem 0 0;line-height:1.55}
.regen-panel small{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--moss);display:block;margin-top:.5rem}
#regen-1:checked ~ .wrap .p1, #regen-2:checked ~ .wrap .p2, #regen-3:checked ~ .wrap .p3, #regen-4:checked ~ .wrap .p4, #regen-5:checked ~ .wrap .p5, #regen-6:checked ~ .wrap .p6{display:block;animation:regenIn .28s ease}
.regen-panel.p2{border-left-color:var(--moss)}
.regen-panel.p3{border-left-color:var(--clay)}
.regen-panel.p4{border-left-color:var(--gold)}
.regen-panel.p5{border-left-color:var(--river)}
.regen-panel.p6{border-left-color:var(--berry)}
@keyframes regenIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.regen-spiral{margin-top:1rem;background:var(--fern);border:1px solid var(--hair);border-radius:10px;padding:14px 16px}
.regen-spiral .badge{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:var(--forest);color:var(--paper);padding:5px 9px;border-radius:999px}

/* cards */
.regen-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 18px}
@media(max-width:900px){.regen-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.regen-cards{grid-template-columns:1fr}}
.regen-cards .card{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.regen-cards .card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(19,42,29,.10)}
.regen-cards .card b{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--moss);margin-bottom:.45rem;font-weight:500}
.regen-cards .card h3{font-family:var(--serif);font-size:1.06rem;margin:0 0 .4rem;color:var(--forest);line-height:1.25}
.regen-cards .card p{font-size:.88rem;color:var(--stone);margin:0 0 .6rem;line-height:1.55}
.regen-cards .card .hook{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--moss);background:var(--mist);padding:6px 8px;border-radius:6px;display:inline-block;line-height:1.3}
.regen-cards .card.c1{border-top-color:var(--green)}
.regen-cards .card.c2{border-top-color:var(--lime)}
.regen-cards .card.c3{border-top-color:var(--clay)}
.regen-cards .card.c4{border-top-color:var(--gold)}
.regen-cards .card.c5{border-top-color:var(--river)}
.regen-cards .card.c6{border-top-color:var(--berry)}
#regen-1:checked ~ .wrap .c1, #regen-2:checked ~ .wrap .c2, #regen-3:checked ~ .wrap .c3, #regen-4:checked ~ .wrap .c4, #regen-5:checked ~ .wrap .c5, #regen-6:checked ~ .wrap .c6{border-color:var(--forest);box-shadow:0 10px 26px rgba(19,42,29,.16);transform:translateY(-2px)}

/* integrate */
.regen-integrate{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0 22px}
@media(max-width:760px){.regen-integrate{grid-template-columns:1fr}}
.regen-integrate .integrate{border-top-width:1px;border-left:4px solid var(--green);padding:1.4rem 1.3rem}
.regen-integrate .integrate.school{border-left-color:var(--river)}
.regen-integrate .integrate.farmer{border-left-color:var(--gold)}
.regen-integrate .integrate .kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--moss);font-weight:500;display:block;margin-bottom:.5rem}
.regen-integrate .integrate h3{font-size:1.12rem;margin:0 0 .4rem}
.regen-integrate .integrate p{font-size:.88rem;color:var(--stone);margin:0 0 .7rem}
.regen-integrate .integrate .mono{font-size:.78rem;color:var(--stone)}

/* pillars */
.regen-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:10px;overflow:hidden;margin:22px 0}
.regen-pillars>div{background:var(--paper);padding:16px 14px}
.regen-pillars b{display:block;font-family:var(--serif);font-size:1.02rem;margin-top:9px;color:var(--forest)}
.regen-pillars p{font-size:.84rem;color:var(--stone);margin:.35rem 0 0;line-height:1.5}
.regen-pillars .badge{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--paper);padding:4px 8px;border-radius:999px}
@media(max-width:900px){.regen-pillars{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.regen-pillars{grid-template-columns:1fr}}

/* images */
.regen-images{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
@media(max-width:700px){.regen-images{grid-template-columns:1fr}}
.regen-images figure{margin:0;background:var(--paper);border:1px solid var(--hair);border-radius:10px;overflow:hidden}
.regen-images img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(.96) contrast(1.02)}
.regen-images figcaption{padding:10px 12px;font-size:.82rem;color:var(--stone);line-height:1.5;border-top:1px solid var(--hair)}
.regen-images figcaption b{color:var(--forest);font-weight:600}

/* CTAs */
.regen-ctas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0 4px}
@media(max-width:1000px){.regen-ctas{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.regen-ctas{grid-template-columns:1fr}}
.regen-ctas .cta{background:var(--paper);border:1px solid var(--hair);border-radius:10px;padding:16px 14px;display:flex;flex-direction:column;gap:8px}
.regen-ctas .cta h4{font-family:var(--serif);font-size:1.15rem;margin:0;color:var(--forest)}
.regen-ctas .cta p{font-size:.86rem;color:var(--stone);margin:0;line-height:1.5;flex:1}
.regen-ctas .cta .btn{width:100%;text-align:center;justify-content:center}
.regen-ctas .cta span{font-family:var(--mono);font-size:.68rem;color:var(--stone);letter-spacing:.02em}
.regen-ctas .cta:nth-child(1){border-top:3px solid var(--clay)}
.regen-ctas .cta:nth-child(2){border-top:3px solid var(--green)}
.regen-ctas .cta:nth-child(3){border-top:3px solid var(--river)}
.regen-ctas .cta:nth-child(4){border-top:3px solid var(--gold)}

.circular .note{background:var(--fern);border-left:3px solid var(--lime);padding:12px 16px;border-radius:0 8px 8px 0}
/* ===== PREMIUM UNIFIED EXTENSIONS — hero orbit, trust-bar, manifesto, places, adelaide, programs focus-symbols, funding ===== */
/* Adds Marcellus display for hero/places, keeps Newsreader for editorial headings elsewhere */
:root{--display:"Marcellus",serif}

/* ---- Premium Hero with image + orbit (variant of .hero) ---- */
.hero.hero-image{color:#fff;background:linear-gradient(90deg,rgba(19,42,29,.88) 0%,rgba(19,42,29,.55) 43%,rgba(19,42,29,.08) 72%),url('hero-country-community.jpg') center/cover no-repeat;position:relative;overflow:hidden;padding:clamp(4.5rem,9vw,7rem) 0 clamp(3rem,6vw,4rem);min-height:min(92svh,820px);display:flex;align-items:center}
.hero.hero-image::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 78% 32%,rgba(62,140,87,.18),transparent 62%);pointer-events:none}
.hero.hero-image .wrap{position:relative;z-index:2}
.hero.hero-image .eyebrow{color:var(--gold-lt)}
.hero.hero-image h1{color:#fff;max-width:16ch;font-family:var(--display);font-weight:400;letter-spacing:-.02em}
.hero.hero-image h1 em{color:#e5c27f;font-style:normal;font-weight:400}
.hero.hero-image .lede{color:#E8EFDF;max-width:46ch;opacity:.94}
.hero.hero-image .text-link{color:#fff}
.hero.hero-image .btn{background:#e4c27f;color:var(--forest);border-color:#e4c27f}
.hero.hero-image .btn:hover{background:#edd090;border-color:#edd090}
.hero.hero-image .btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.hero.hero-image .btn.ghost:hover{background:#fff;color:var(--forest);border-color:#fff}
.hero.hero-image .orbit{position:absolute;width:min(460px,52vw);height:min(460px,52vw);border:1px solid rgba(255,255,255,.22);border-radius:50%;right:-70px;bottom:-60px;animation:spin 42s linear infinite;pointer-events:none}
.hero.hero-image .orbit:before{content:"";position:absolute;inset:92px;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.hero.hero-image .orbit span{position:absolute;background:rgba(14,48,39,.72);backdrop-filter:blur(8px);color:#fff;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14)}
.hero.hero-image .orbit span:nth-child(1){left:42%;top:-13px}
.hero.hero-image .orbit span:nth-child(2){right:-18px;top:46%}
.hero.hero-image .orbit span:nth-child(3){left:36%;bottom:-13px}
.hero.hero-image .orbit span:nth-child(4){left:-28px;top:48%}
.hero.hero-image .orbit i{position:absolute;width:78px;height:78px;border-radius:50%;background:rgba(210,157,90,.74);left:50%;top:50%;transform:translate(-50%,-50%)}
.hero.hero-image .scroll{position:absolute;left:clamp(1.25rem,4vw,2.5rem);bottom:18px;font-family:var(--mono);font-size:.70rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);z-index:2}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.hero.hero-image .orbit{opacity:.34;right:-40px;bottom:-30px;width:380px;height:380px}.hero.hero-image{min-height:auto;padding:5rem 0 3.5rem}}
@media(max-width:600px){.hero.hero-image{background-position:62% center}.hero.hero-image::after{content:"";position:absolute;inset:0;background:rgba(8,31,25,.20);pointer-events:none}}

/* ---- Trust bar ---- */
.trust-bar{padding:16px clamp(1.25rem,4vw,2.5rem);background:var(--forest);color:#fff;display:flex;gap:28px;align-items:center;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;flex-wrap:wrap;border-bottom:1px solid #1e3a25}
.trust-bar span{opacity:.92}
.trust-bar a{margin-left:auto;color:var(--gold-lt);text-decoration:none;font-weight:600}
.trust-bar a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.trust-bar{gap:12px 20px}.trust-bar a{margin-left:0}}

/* ---- Vision / intro ---- */
.intro-premium{padding:clamp(3.5rem,8vw,6rem) 0;background:var(--paper);border-bottom:1px solid var(--hair)}
.intro-premium .eyebrow{margin-bottom:.9rem}
.intro-premium h2{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;max-width:22ch}
.intro-premium .two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);margin:2.2rem 0 0;max-width:var(--wide)}
.intro-premium .mini-title{display:block;color:var(--clay);font:1.15rem var(--display);margin-bottom:12px}
.intro-premium .two-col p{color:var(--stone);margin:0}
@media(max-width:700px){.intro-premium .two-col{grid-template-columns:1fr}}

/* ---- Image manifesto ---- */
.image-manifesto{min-height:560px;display:grid;grid-template-columns:1.12fr .88fr;background:var(--paper);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:hidden}
.image-manifesto img{width:100%;height:100%;object-fit:cover;display:block;min-height:380px;filter:saturate(.97) contrast(1.02)}
.image-manifesto>div{padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,2.8rem);display:flex;flex-direction:column;justify-content:center;background:var(--parchment)}
.image-manifesto h2{font-family:var(--serif);margin-bottom:1rem}
.image-manifesto .text-link{margin-top:1.8rem;font-weight:600;color:var(--moss);text-decoration:none}
.image-manifesto .text-link:hover{color:var(--clay)}
@media(max-width:900px){.image-manifesto{grid-template-columns:1fr}.image-manifesto img{height:420px}.image-manifesto>div{padding:2.2rem clamp(1.25rem,4vw,2.5rem)}}

/* ---- Places (Northern Rivers + Adelaide) ---- */
.places-premium{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,2.5rem);max-width:var(--wide);margin:0 auto}
.places-premium .section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}
.places-premium .section-head h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em;max-width:18ch}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden}
.place{min-height:520px;padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;align-items:flex-start;position:relative}
.place.dark{background:var(--forest);color:var(--parchment);background-image:radial-gradient(120% 90% at 88% 12%,rgba(62,140,87,.22),transparent 60%)}
.place.clay{background:var(--clay);color:#fff7e9;background-image:radial-gradient(110% 90% at 92% 0%,rgba(255,255,255,.10),transparent 60%)}
.place .number{font-family:var(--mono);font-size:.72rem;border:1px solid currentColor;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;margin-bottom:auto;opacity:.9}
.place .tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;margin-top:1.2rem;opacity:.85}
.place h3{font-family:var(--display);font-size:clamp(1.9rem,3.2vw,2.8rem);margin:12px 0 16px;line-height:1.05;font-weight:400}
.place p{max-width:46ch;color:inherit;opacity:.92;font-size:.95rem}
.place ul{padding-left:18px;margin:18px 0 24px;opacity:.92}
.place li{margin-bottom:.35rem;font-size:.92rem}
.place a{margin-top:auto;color:inherit;text-decoration:none;font-weight:600;font-size:.9rem;border-bottom:1px solid currentColor;padding-bottom:2px}
.place a:hover{opacity:.8}
@media(max-width:800px){.place-grid{grid-template-columns:1fr}.place{min-height:440px}}

/* ---- Adelaide pathway ---- */
.adelaide-premium{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);padding:clamp(3rem,7vw,5rem) clamp(1.25rem,4vw,2.5rem);max-width:var(--wide);margin:0 auto;background:var(--mist);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.adelaide-premium > div:first-child h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1.08}
.steps-premium{display:grid;gap:0}
.steps-premium article{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:22px 0;border-top:1px solid var(--hair)}
.steps-premium article:last-child{border-bottom:1px solid var(--hair)}
.steps-premium b{grid-row:1/3;color:var(--clay);font:2rem var(--display);line-height:1}
.steps-premium h3{font-size:1.1rem;margin:0 0 .3rem}
.steps-premium p{grid-column:2;margin:0;color:var(--stone);font-size:.92rem;line-height:1.55}
@media(max-width:860px){.adelaide-premium{grid-template-columns:1fr}}

/* ---- Programs premium with focus-symbols ---- */
.programs-premium{padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,4vw,2.5rem);max-width:var(--wide);margin:0 auto;background:var(--paper);border-top:1px solid var(--hair)}
.programs-premium .section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}
.programs-premium .section-head h2{font-family:var(--serif);max-width:20ch}
.programs-premium .stage-note{max-width:52em;margin:0 0 1.8rem;padding:14px 18px;border-left:3px solid var(--clay);background:var(--mist);font-size:.88rem;color:var(--stone);border-radius:0 var(--r) var(--r) 0}
.cards-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cards-premium article{background:var(--parchment);border:1px solid var(--hair);border-top:3px solid var(--green);border-radius:var(--r);padding:1.5rem 1.4rem;transition:transform .18s,box-shadow .18s}
.cards-premium article:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(19,42,29,.10)}
.cards-premium .focus-symbol{width:64px;height:64px;display:block;margin-bottom:18px}
.cards-premium span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;color:var(--moss);font-weight:500;display:block;margin-bottom:.55rem}
.cards-premium h3{font-family:var(--serif);font-size:1.18rem;margin:0 0 .5rem;color:var(--forest)}
.cards-premium p{font-size:.88rem;color:var(--stone);margin:0;line-height:1.55}
.cards-premium article:nth-child(1){border-top-color:var(--gold)}
.cards-premium article:nth-child(2){border-top-color:var(--river)}
.cards-premium article:nth-child(3){border-top-color:var(--moss)}
.cards-premium article:nth-child(4){border-top-color:var(--berry)}
.cards-premium article:nth-child(5){border-top-color:var(--lime)}
.cards-premium article:nth-child(6){border-top-color:var(--clay)}
@media(max-width:1000px){.cards-premium{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.cards-premium{grid-template-columns:1fr}}

/* ---- Circle-image (community circle blockquote) ---- */
.circle-image-premium{position:relative;height:min(680px,82svh);min-height:420px;overflow:hidden;background:var(--forest)}
.circle-image-premium img{width:100%;height:100%;object-fit:cover;opacity:.64;display:block;filter:saturate(.96)}
.circle-image-premium::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,30,25,.82),transparent 68%);pointer-events:none}
.circle-image-premium>div{position:absolute;z-index:2;left:clamp(1.25rem,4vw,2.5rem);right:clamp(1.25rem,4vw,2.5rem);bottom:clamp(2rem,5vw,4rem);color:#fff;max-width:56rem}
.circle-image-premium .eyebrow{color:var(--lime)}
.circle-image-premium blockquote{font:clamp(1.9rem,4vw,3.4rem)/1.12 var(--display);margin:0;text-wrap:balance}

/* ---- Model flow (From generosity to living impact) ---- */
.model-premium{background:var(--forest);color:var(--parchment);padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,4vw,2.5rem)}
.model-premium .wrap{max-width:var(--wide);margin:0 auto}
.model-premium .eyebrow{color:var(--lime)}
.model-premium h2{color:var(--paper);max-width:22ch}
.model-premium .flow-premium{display:flex;gap:12px;align-items:stretch;margin:2rem 0 1.5rem}
.model-premium .flow-premium div{flex:1;border:1px solid rgba(255,255,255,.18);padding:20px 18px;min-height:138px;border-radius:8px;background:rgba(255,255,255,.02)}
.model-premium .flow-premium div.accent{background:var(--lime);color:var(--forest);border-color:var(--lime)}
.model-premium .flow-premium strong{display:block;font-family:var(--serif);font-size:1.05rem;line-height:1.25}
.model-premium .flow-premium small{display:block;margin-top:18px;opacity:.82;font-size:.82rem;line-height:1.45}
.model-premium .flow-premium i{align-self:center;font-style:normal;color:rgba(255,255,255,.6);font-size:1.2rem}
.model-premium .note-premium{max-width:48em;margin:1.5rem auto 0;text-align:center;color:#A9B8A0;font-size:.88rem;opacity:.9}
.model-premium .principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:2.5rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden}
.model-premium .principles article{background:#18372f;padding:22px 18px}
.model-premium .principles b{font:1.15rem var(--display);color:var(--paper);display:block}
.model-premium .principles p{margin-top:10px;font-size:.85rem;color:#A9B8A0;line-height:1.55}
@media(max-width:900px){.model-premium .flow-premium{flex-direction:column}.model-premium .flow-premium i{text-align:center;transform:rotate(90deg)}.model-premium .principles{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.model-premium .principles{grid-template-columns:1fr}}

/* ---- Funding / Choose how you help ---- */
.funding-premium{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,5vw,4rem);padding:clamp(3rem,7vw,5rem) clamp(1.25rem,4vw,2.5rem);max-width:var(--wide);margin:0 auto;background:var(--paper);border-top:1px solid var(--hair)}
.funding-premium h2{font-family:var(--serif);max-width:16ch}
.fund-list-premium{display:grid;gap:0}
.fund-list-premium article{display:grid;grid-template-columns:94px 1fr;gap:6px 16px;border-top:1px solid var(--hair);padding:20px 0}
.fund-list-premium article:last-child{border-bottom:1px solid var(--hair)}
.fund-list-premium b{grid-row:1/3;font:1.55rem var(--display);color:var(--forest);line-height:1}
.fund-list-premium span{font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--clay);font-weight:500}
.fund-list-premium p{grid-column:2;margin:0;color:var(--stone);font-size:.90rem;line-height:1.55}
@media(max-width:860px){.funding-premium{grid-template-columns:1fr}}

/* ---- Join / commitments band ---- */
.join-premium{background:var(--lime);padding:clamp(3rem,7vw,5rem) clamp(1.25rem,4vw,2.5rem);text-align:center}
.join-premium .wrap{max-width:44rem;margin:0 auto}
.join-premium h2{font-family:var(--display);font-weight:400;letter-spacing:-.02em}
.join-premium>p{max-width:44em;margin:1rem auto 2rem;color:var(--forest)}
.commitments-premium{background:var(--fern);border-top:1px solid var(--hair);padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,4vw,2.5rem)}
.commitments-premium .wrap{max-width:var(--wide);margin:0 auto}
.commitments-premium .grid-commit{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.5rem}
.commitments-premium .grid-commit .card{border-top-width:3px}
@media(max-width:900px){.commitments-premium .grid-commit{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.commitments-premium .grid-commit{grid-template-columns:1fr}}

/* ---- Ensure hero orbit text is not selectable as content ---- */
.hero.hero-image .orbit span{user-select:none}

/* ---- Responsive polish for existing .hero-grid when used with hero-image ---- */
.hero.hero-image .hero-grid{grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:800px){.hero.hero-image .hero-grid{grid-template-columns:1fr}}

/* ---- Give page — donation card, Raisely slot, frequency toggle ---- */
.raisely-slot .btn{box-shadow:0 4px 16px rgba(176,74,41,.22)}
.raisely-slot iframe{border-radius:10px}
.freq-toggle{transition:border-color .15s}
.freq-opt span{transition:background .15s,color .15s,border-color .15s,transform .12s}
.freq-opt input:focus-visible + span{outline:2px solid var(--lime);outline-offset:2px}
.give-badges .badge-give{backdrop-filter:blur(6px)}
#giveForm .tiers{grid-template-columns:repeat(3,1fr)}
@media(max-width:520px){#giveForm .tiers{grid-template-columns:1fr 1fr}}
#giveSuccess{animation:giveIn .32s ease}
@keyframes giveIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#giveMsg.msg{border:1px solid transparent}
#giveMsg.msg.ok{border-color:#b9d1a0}
#giveMsg.msg.err{border-color:#e3a082}
