/* CUECO – Communities United for Environmental Conservation */
:root{
  --forest:#0d3b1c;
  --leaf:#1d7a33;
  --moss:#5a9a2c;
  --sun:#f6b800;
  --sun-soft:#fff3c4;
  --soil:#4a2f1a;
  --ink:#16201a;
  --muted:#52615a;
  --line:#dbe4dc;
  --tint:#f1f6ef;
  --white:#fff;
  --head:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--leaf);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--forest)}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px;top:0;background:var(--sun);color:var(--forest);padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}

h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.05;letter-spacing:.005em;margin:0 0 .6em;color:var(--forest)}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.65rem}
p{margin:0 0 1.1em;max-width:68ch}

/* top bar */
.topbar{background:var(--forest);color:#d9ead9;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:40px;flex-wrap:wrap}
.topbar a{color:#d9ead9;text-decoration:none}
.topbar a:hover{color:var(--sun)}
.topbar ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}

/* header */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:92px}
.brand img{height:72px;width:auto}
.nav{display:flex;align-items:center;gap:.25rem}
.nav>ul{display:flex;list-style:none;margin:0;padding:0;gap:.15rem}
.nav li{position:relative}
.nav a.top,.nav button.top{font:600 1rem var(--body);color:var(--forest);text-decoration:none;padding:.9rem .85rem;display:block;background:none;border:0;cursor:pointer}
.nav a.top:hover,.nav button.top:hover,.nav a.top[aria-current="page"]{color:var(--leaf)}
.nav a.top[aria-current="page"]{box-shadow:inset 0 -3px var(--sun)}
.nav button.top::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:.45em}
.sub{position:absolute;left:0;top:100%;min-width:230px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--sun);padding:.4rem 0;margin:0;list-style:none;display:none;box-shadow:0 12px 30px rgba(13,59,28,.12)}
.nav li:hover>.sub,.nav li:focus-within>.sub,.nav li.open>.sub{display:block}
.sub a{display:block;padding:.55rem 1.1rem;color:var(--ink);text-decoration:none;font-size:.98rem}
.sub a:hover{background:var(--tint);color:var(--leaf)}
.btn{display:inline-block;font:700 1rem var(--body);padding:.8rem 1.5rem;border-radius:3px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-sun{background:var(--sun);color:var(--forest)}
.btn-sun:hover{background:var(--forest);color:var(--sun)}
.btn-green{background:var(--leaf);color:#fff}
.btn-green:hover{background:var(--forest);color:#fff}
.btn-line{border-color:#fff;color:#fff}
.btn-line:hover{background:#fff;color:var(--forest)}
.menu-toggle{display:none;background:none;border:2px solid var(--forest);color:var(--forest);font:700 .95rem var(--body);padding:.5rem .9rem;border-radius:3px;cursor:pointer}

@media (max-width:980px){
  .menu-toggle{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:.5rem 1.25rem 1.25rem;display:none;max-height:calc(100vh - 124px);overflow:auto}
  .nav.open{display:flex}
  .nav>ul{flex-direction:column}
  .sub{position:static;display:none;box-shadow:none;border:0;border-left:3px solid var(--sun);margin-left:.8rem}
  .nav li:hover>.sub{display:none}
  .nav li.open>.sub{display:block}
  .nav .btn{margin-top:.75rem;text-align:center}
}

/* hero slider */
.hero{position:relative;background:var(--forest);color:#fff;overflow:hidden;isolation:isolate}
.slides{position:relative;min-height:min(82vh,720px)}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slide.active{opacity:1;visibility:visible}
.slide::before{content:"";position:absolute;inset:0;background:var(--photo,none) center/cover no-repeat;z-index:-2}
.slide::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(circle at 82% 62%,var(--sun) 0 11%,rgba(246,184,0,.35) 11.2% 19%,rgba(246,184,0,.12) 19.2% 30%,transparent 30.2%),
  linear-gradient(100deg,rgba(13,59,28,.97) 28%,rgba(13,59,28,.72) 62%,rgba(29,122,51,.55))}
.slide.s2::after{background:
  radial-gradient(circle at 78% 30%,var(--sun) 0 8%,rgba(246,184,0,.3) 8.2% 15%,transparent 15.2%),
  linear-gradient(100deg,rgba(13,59,28,.97) 28%,rgba(29,122,51,.8))}
.slide.s3::after{background:
  radial-gradient(circle at 88% 78%,var(--sun) 0 13%,rgba(246,184,0,.3) 13.2% 24%,transparent 24.2%),
  linear-gradient(100deg,rgba(13,59,28,.97) 30%,rgba(74,47,26,.7))}
.slide .wrap{width:100%;padding-top:4rem;padding-bottom:5.5rem}
.slide h1{color:#fff;max-width:14ch}
.slide p{font-size:1.25rem;max-width:46ch;color:#e6f2e6}
.slide .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.hero-ctrl{position:absolute;left:0;right:0;bottom:1.4rem;z-index:5}
.hero-ctrl .wrap{display:flex;gap:.6rem;align-items:center}
.dot{width:38px;height:6px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;border-radius:0}
.dot[aria-current="true"]{background:var(--sun)}
.hero-ctrl .pp{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;font:600 .85rem var(--body);padding:.3rem .7rem;cursor:pointer}

/* sections */
section.block{padding:5rem 0}
.tint{background:var(--tint)}
.dark{background:var(--forest);color:#e1eee1}
.dark h2,.dark h3{color:#fff}
.lead{font-size:1.3rem;line-height:1.5;color:var(--forest);font-weight:500}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.2rem;flex-wrap:wrap}
.sec-head h2{margin:0}
.welcome{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:start}
.welcome h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
@media (max-width:860px){.welcome{grid-template-columns:1fr;gap:1.5rem}}

/* programmes */
.programmes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.prog{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.prog .pic{aspect-ratio:16/10;background:var(--photo,none) center/cover,linear-gradient(135deg,var(--leaf),var(--forest));position:relative;overflow:hidden}
.prog:nth-child(2) .pic{background:var(--photo,none) center/cover,linear-gradient(135deg,var(--moss),var(--leaf))}
.prog:nth-child(3) .pic{background:var(--photo,none) center/cover,linear-gradient(135deg,var(--soil),var(--forest))}
.prog .pic::after{content:"";position:absolute;right:-12%;bottom:-30%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--sun);opacity:.9}
.prog .body{padding:1.5rem 1.5rem 1.7rem;display:flex;flex-direction:column;flex:1}
.prog h3{margin-bottom:.4em}
.prog p{color:var(--muted);font-size:1rem}
.prog a.more{margin-top:auto;font-weight:700}
@media (max-width:900px){.programmes{grid-template-columns:1fr}}

/* vision/mission */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.vm h3{color:var(--sun);font-size:2rem}
.vm p{font-size:1.25rem;line-height:1.5;color:#fff}
@media (max-width:800px){.vm{grid-template-columns:1fr;gap:1.5rem}}

/* cards: news, events, pubs */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.card .pic{aspect-ratio:16/9;background:var(--photo,none) center/cover,linear-gradient(135deg,var(--tint),#dcebd7);display:flex;align-items:flex-end;padding:.7rem}
.card .tag{background:var(--forest);color:#fff;font:600 .8rem var(--body);padding:.15rem .6rem}
.card .body{padding:1.1rem 1.25rem 1.4rem;display:flex;flex-direction:column;flex:1}
.card time{font-size:.88rem;color:var(--muted)}
.card h3{font-size:1.4rem;margin:.25rem 0 .5rem}
.card h3 a{color:var(--forest);text-decoration:none}
.card h3 a:hover{color:var(--leaf)}
.card p{font-size:.98rem;color:var(--muted)}
.card .more{margin-top:auto;font-weight:700}
.empty{padding:2rem;border:2px dashed var(--line);color:var(--muted);text-align:center;grid-column:1/-1}

.events{display:grid;gap:1rem}
.event{display:grid;grid-template-columns:96px 1fr;gap:1.25rem;background:#fff;border:1px solid var(--line);padding:1rem 1.25rem;align-items:center}
.event .date{background:var(--forest);color:#fff;text-align:center;padding:.6rem .3rem;font-family:var(--head);line-height:1}
.event .date b{display:block;font-size:2.4rem;color:var(--sun)}
.event .date span{font-size:1.1rem}
.event h3{font-size:1.35rem;margin:0 0 .2rem}
.event .meta{font-size:.92rem;color:var(--muted);margin:0}
@media (max-width:520px){.event{grid-template-columns:1fr}.event .date{display:flex;gap:.5rem;align-items:baseline;justify-content:flex-start;padding:.4rem .8rem}.event .date b{font-size:1.6rem}}

/* lists */
.objectives{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2.5rem;counter-reset:o}
.objectives li{counter-increment:o;padding:1rem 0 1rem 3.2rem;border-top:1px solid var(--line);position:relative}
.objectives li::before{content:counter(o);position:absolute;left:0;top:.7rem;font:700 2rem var(--head);color:var(--leaf);width:2.4rem}
.objectives strong{display:block;font:700 1.35rem var(--head);color:var(--forest);margin-bottom:.15rem}
.objectives span{color:var(--muted);font-size:1rem}
@media (max-width:760px){.objectives{grid-template-columns:1fr}}
.values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.values li{background:#fff;border-left:5px solid var(--sun);padding:1.1rem 1.25rem;font:700 1.35rem/1.15 var(--head);color:var(--forest)}
@media (max-width:800px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.values{grid-template-columns:1fr}}
.pillars{display:grid;gap:3.5rem}
.pillar{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start;scroll-margin-top:110px}
.pillar>div:first-child{position:sticky;top:110px}
@media (max-width:860px){.pillar{grid-template-columns:1fr;gap:1rem}.pillar>div:first-child{position:static}}
.pillar ul{margin:0;padding:0;list-style:none}
.pillar li{padding:1rem 0;border-top:1px solid var(--line)}
.pillar li strong{display:block;font:700 1.3rem var(--head);color:var(--forest)}
.pillar li span{color:var(--muted)}

/* page banner */
.banner{background:linear-gradient(100deg,var(--forest) 40%,var(--leaf));color:#fff;padding:4.2rem 0 3.6rem;position:relative;overflow:hidden}
.banner h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);margin:0 0 .3em;position:relative;z-index:1}
.banner p{color:#d9ead9;margin:0;font-size:1.2rem;position:relative;z-index:1}
.crumbs{font-size:.9rem;margin-bottom:1rem;position:relative;z-index:1}
.crumbs a{color:#cfe4cf}
.prose h2{margin-top:2rem}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.panel{background:var(--tint);padding:1.6rem;border-top:4px solid var(--sun)}
.panel h3{margin-bottom:.5rem}

/* team / partners / gallery placeholders */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media (max-width:900px){.grid4{grid-template-columns:1fr 1fr}}
.person{background:#fff;border:1px solid var(--line);text-align:center;padding-bottom:1rem}
.person .ph{aspect-ratio:1;background:linear-gradient(135deg,#dcebd7,var(--tint));display:grid;place-items:center;color:var(--leaf);font:700 3rem var(--head);margin-bottom:.8rem}
.person b{display:block;font:700 1.25rem var(--head);color:var(--forest)}
.person span{font-size:.92rem;color:var(--muted)}
.partners{display:flex;flex-wrap:wrap;gap:1rem}
.partner{flex:1 1 170px;min-height:92px;border:1px dashed #b6c9b8;display:grid;place-items:center;color:var(--muted);font-weight:600;text-align:center;padding:.5rem;background:#fff}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr}}

/* forms */
form.f{display:grid;gap:1rem}
.f label{font-weight:600;display:block;margin-bottom:.25rem;color:var(--forest)}
.f input,.f textarea,.f select{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid #aebdb0;border-radius:3px;background:#fff}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--leaf);outline:3px solid rgba(246,184,0,.5)}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.f .row{grid-template-columns:1fr}}
.note{font-size:.9rem;color:var(--muted)}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem;align-items:center}
.filters button{font:600 .95rem var(--body);padding:.45rem 1rem;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--forest)}
.filters button[aria-pressed="true"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.filters input{flex:1 1 220px;max-width:340px;margin-left:auto;font:inherit;padding:.5rem .8rem;border:1px solid #aebdb0}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media (max-width:900px){.ways{grid-template-columns:1fr}}
.way{background:#fff;border-top:5px solid var(--sun);padding:1.6rem;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}

/* subscribe + footer */
.subscribe{background:var(--sun);padding:2.6rem 0}
.subscribe .wrap{display:flex;gap:2rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.subscribe h2{margin:0;font-size:2.2rem}
.subscribe form{display:flex;gap:.5rem;flex:1 1 380px;max-width:520px}
.subscribe input{flex:1;font:inherit;padding:.8rem 1rem;border:2px solid var(--forest);background:#fff;min-width:0}
.subscribe button{border:2px solid var(--forest);background:var(--forest);color:#fff;font:700 1rem var(--body);padding:.8rem 1.4rem;cursor:pointer}
.subscribe button:hover{background:#fff;color:var(--forest)}
footer.site-footer{background:var(--forest);color:#c6dcc7;padding:4rem 0 0;font-size:.98rem}
.site-footer h4{color:#fff;font-size:1.3rem;margin-bottom:.8rem}
.site-footer a{color:#c6dcc7;text-decoration:none}
.site-footer a:hover{color:var(--sun)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem}
.fgrid ul{list-style:none;margin:0;padding:0}
.fgrid li{margin-bottom:.45rem}
.fgrid .logo{background:#fff;padding:.6rem .8rem;display:inline-block;margin-bottom:1rem}
.fgrid .logo img{height:54px}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}.fgrid>div:first-child,.fgrid>div:last-child{grid-column:1/-1}}

.copy{border-top:1px solid rgba(255,255,255,.15);margin-top:3rem;padding:1.2rem 0;font-size:.88rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .slide{transition:none}
}


/* ===== photography: leaf-cut corners echo the sapling in the logo ===== */
:root{--leaf-r:72px}
.leaf{border-radius:0 var(--leaf-r) 0 var(--leaf-r);overflow:hidden}
.photo{background:var(--photo) var(--pos,center)/cover no-repeat;min-height:460px}
@media (max-width:860px){:root{--leaf-r:44px}.photo{min-height:300px}}

/* hero: centred, flat, photo-led */
.slide::before{background:var(--photo) var(--pos,center)/cover no-repeat}
.slide::after,.slide.s1::after,.slide.s2::after,.slide.s3::after{background:
  radial-gradient(ellipse at 50% 45%,rgba(13,59,28,.74),rgba(13,59,28,.93) 85%)}
.slide .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:5rem;padding-bottom:7rem}
.slide h1{max-width:17ch;margin-left:auto;margin-right:auto;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.slide p{margin-left:auto;margin-right:auto}
.slide .actions{justify-content:center}
.slide .tagline{font:600 1.05rem var(--body);color:var(--sun);margin:0 0 1rem}
.hero-ctrl{bottom:2rem}
.hero-ctrl .wrap{justify-content:center;padding:0}
.hero-ctrl .pp{margin-left:1rem}

/* welcome: text + framed photo with a sun-yellow offset block */
.welcome-sec{padding:5.5rem 0}
.welcome-sec .welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.welcome-text h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.frame{position:relative}
.frame::before{content:"";position:absolute;inset:auto -18px -18px auto;width:62%;height:62%;background:var(--sun);border-radius:0 var(--leaf-r) 0 var(--leaf-r);z-index:0}
.frame .photo{position:relative;z-index:1}
@media (max-width:860px){.welcome-sec .welcome-grid{grid-template-columns:1fr;gap:2.5rem}.frame::before{inset:auto -10px -10px auto}}

/* cards */
.prog .pic,.card .pic,.prog:nth-child(2) .pic,.prog:nth-child(3) .pic{background:var(--photo) var(--pos,center)/cover no-repeat,linear-gradient(135deg,var(--leaf),var(--forest));aspect-ratio:4/3;border-radius:0 46px 0 0}
.prog .pic::after{display:none}
.card .pic{align-items:flex-start}
.prog .body{padding-top:1.4rem}


/* ===== centred layout for balance ===== */
p{margin-left:auto;margin-right:auto}
.sec-head{flex-direction:column;align-items:center;text-align:center;margin-bottom:2.6rem}
.sec-head a{font-weight:700}
h2{text-align:center}
.dark h2,.tint h2{text-align:center}
.lead{text-align:center}

/* banners: centred title, wide photo overlapping into the page */
.banner{padding:3.6rem 0 0;text-align:center;position:relative;z-index:2;overflow:visible}
.banner .wrap{display:flex;flex-direction:column;align-items:center}
.banner p{margin-left:auto;margin-right:auto}
.banner-photo{width:100%;height:300px;margin:2.6rem 0 -4rem;background:var(--photo) var(--pos,center)/cover no-repeat;box-shadow:0 18px 40px rgba(13,59,28,.25)}
.banner+section{padding-top:8rem}
@media (max-width:860px){.banner-photo{height:200px;margin-bottom:-3rem}.banner+section{padding-top:6rem}}

/* welcome: text above a wide framed photo */
.welcome-sec .welcome-grid{grid-template-columns:1fr;gap:3.2rem;max-width:900px;text-align:center}
.welcome-sec .photo{min-height:380px}
.frame::before{inset:auto auto -18px -18px;border-radius:var(--leaf-r) 0 var(--leaf-r) 0}

/* programmes, cards, ways */
.prog .body,.card .body,.way{text-align:center;align-items:center}
.card time{display:block}
.way{display:flex;flex-direction:column}
.way .btn{margin-top:auto}
.prog a.more,.card .more{margin-top:auto}

/* vision / mission */
.vm{text-align:center}
.vm p{margin-left:auto;margin-right:auto}

/* values, partners, filters, team */
.values li{text-align:center;border-left:0;border-top:5px solid var(--sun);display:flex;align-items:center;justify-content:center;min-height:96px}
.partners{justify-content:center}
.filters{justify-content:center}
.filters input{margin-left:0}
.events{max-width:860px;margin-left:auto;margin-right:auto}

/* two-part layouts become one centred column */
.two{grid-template-columns:1fr;max-width:820px;margin-left:auto;margin-right:auto;gap:2.5rem;text-align:center}
.two .photo{min-height:360px;width:100%}
.f{text-align:left}
.panel{text-align:center}
.prose h2{margin-top:0}

/* what we do: centred headings above two-column lists */
.pillar{grid-template-columns:1fr;gap:1.5rem;text-align:center}
.pillar>div:first-child{position:static}
.pillar ul{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;text-align:left;max-width:960px;margin:0 auto;width:100%}
@media (max-width:760px){.pillar ul{grid-template-columns:1fr}}
.objectives{max-width:1000px;margin:0 auto}

/* subscribe + footer */
.subscribe .wrap{flex-direction:column;text-align:center;justify-content:center}
.subscribe form{width:100%;max-width:520px;flex:0 1 auto}
.fgrid{text-align:center}
.fgrid .logo{display:inline-block}
.fgrid p{margin-left:auto;margin-right:auto}
.copy{justify-content:center;text-align:center}

.block .wrap>p,.prose p{text-align:center}
.note{text-align:center}

/* larger logo, simpler top bar */
.topbar .wrap{justify-content:center}
.brand img{height:96px}
.site-header .wrap{min-height:116px}
@media (max-width:980px){.brand img{height:72px}.site-header .wrap{min-height:92px}.nav{max-height:calc(100vh - 140px)}}

/* ===== stories, NetZero, socials (added) ===== */
.story-head{padding:3.4rem 0 1.5rem;text-align:center}
.story-head .wrap{display:flex;flex-direction:column;align-items:center}
.story-head h1{font-size:clamp(2.2rem,5vw,3.7rem);max-width:22ch;margin-left:auto;margin-right:auto}
.crumbs a{color:var(--leaf)}
.story-meta{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:.98rem;margin:0}
.story-meta span{padding-left:1.2rem;border-left:2px solid var(--sun)}
.story.block{padding-top:1.5rem}
.story-body{max-width:700px;margin:0 auto;padding:0 1.25rem;font-size:1.14rem;line-height:1.75}
.story-body p{max-width:none;text-align:left;margin-left:0;margin-right:0}
.story-body h2{text-align:left;font-size:clamp(1.7rem,3.2vw,2.2rem);margin:2.2rem 0 .6rem}
.story-summary{font-size:1.28rem!important;color:var(--forest);font-weight:600;border-left:4px solid var(--sun);padding-left:1.1rem}
.story-fig{margin:0 auto 2.4rem;max-width:900px;position:relative;left:50%;transform:translateX(-50%);width:min(900px,calc(100vw - 2.5rem))}
.story-fig.portrait{width:min(460px,calc(100vw - 2.5rem))}
.story-fig img{width:100%;height:auto;border-radius:0 var(--leaf-r) 0 var(--leaf-r);box-shadow:0 16px 36px rgba(13,59,28,.2)}
.story-fig figcaption{font-size:.92rem;color:var(--muted);margin-top:.8rem;text-align:center;max-width:60ch;margin-left:auto;margin-right:auto}
.story-cta{margin-top:3rem;padding:1.8rem;background:var(--tint);border-top:4px solid var(--sun);text-align:center}
.story-cta p{text-align:center!important;margin-left:auto;margin-right:auto}
.btn-line-dark{border-color:var(--forest);color:var(--forest)}
.btn-line-dark:hover{background:var(--forest);color:#fff}
.initiative .wrap{text-align:center}
.initiative .lead{color:#e1eee1;margin:0 auto 1.8rem;max-width:62ch}
.initiative .actions,.dark .actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
a.partner{text-decoration:none;border:1px solid var(--line);flex-direction:column;gap:.2rem;color:var(--muted)}
a.partner b{font:700 1.5rem var(--head);color:var(--forest)}
a.partner span{font-size:.92rem}
a.partner.nz{border:2px solid var(--leaf);background:var(--tint)}
a.partner:hover{border-color:var(--sun)}
.partner.more-partners{border-style:dashed}
.nz-list{list-style:none;margin:0 auto;padding:0;max-width:760px}
.nz-list li{padding:1rem 0;border-bottom:1px solid var(--line);text-align:left}
.nz-list a{font:700 1.4rem/1.2 var(--head);color:var(--forest);text-decoration:none;display:block}
.nz-list a:hover{color:var(--leaf)}
.nz-list span{font-size:.92rem;color:var(--muted)}
.pillar>p{text-align:center}
.social{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:2.2rem 0 0;padding:0}
.social a{display:inline-block;border:1px solid rgba(255,255,255,.3);padding:.35rem .9rem;border-radius:999px;font-weight:600;font-size:.92rem}
.social a:hover{border-color:var(--sun)}
.empty{text-align:center;color:var(--muted)}
.banner .crumbs,.banner .crumbs a{color:#e1eee1}.banner .crumbs a:hover{color:var(--sun)}

/* ===== v3: image heroes, blog layout, icons ===== */
.banner{background:linear-gradient(rgba(8,38,18,.6),rgba(8,38,18,.82)),var(--photo) var(--pos,center)/cover no-repeat;padding:7rem 0 6rem;overflow:hidden;z-index:auto}
.banner h1{max-width:20ch;margin-left:auto;margin-right:auto;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.banner p{color:#eef6ee;max-width:60ch}
.banner+section{padding-top:4.5rem}
.banner .crumbs,.banner .crumbs a{color:#e1eee1}
.story-hero{padding:6.5rem 0 5rem}
.story-hero h1{max-width:24ch;font-size:clamp(2.2rem,5vw,3.8rem)}
.story-meta{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem!important;font-size:1rem}
.story-meta span{display:inline-flex;align-items:center;gap:.45rem}
.story-meta .ic{width:1.05rem;height:1.05rem}
.ic{width:1.25rem;height:1.25rem;flex:none}
/* story body */
.story.block{padding-top:3.5rem}
.story-body{max-width:720px;margin:0 auto;padding:0 1.25rem;font-size:1.16rem;line-height:1.8}
.story-body p{max-width:none;text-align:left;margin-left:0;margin-right:0}
.story-body h2{text-align:left;font-size:clamp(1.8rem,3.2vw,2.3rem);margin:2.4rem 0 .5rem}
.story-summary{font-size:1.3rem!important;line-height:1.55;color:var(--forest);font-weight:600}
.story-body blockquote{margin:2.2rem 0;padding:.4rem 0 .4rem 1.4rem;border-left:5px solid var(--sun);font:700 clamp(1.6rem,3vw,2.1rem)/1.2 var(--head);color:var(--leaf)}
.story-body>p:nth-of-type(2)::first-letter{font:700 4.2rem/.85 var(--head);float:left;padding:.25rem .55rem 0 0;color:var(--forest)}
.share{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:1.6rem 0;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.share>span{font-weight:700;color:var(--forest);margin-right:.4rem}
.share a,.share button{position:relative;width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--forest);border:1px solid var(--line);cursor:pointer;padding:0;transition:background .15s,color .15s}
.share a:hover,.share button:hover{background:var(--forest);color:#fff}
.share .copied{position:absolute;top:-1.9rem;left:50%;transform:translateX(-50%);background:var(--forest);color:#fff;font-size:.8rem;padding:.1rem .5rem;border-radius:3px;white-space:nowrap}
.share .copied:empty{display:none}
.share-end{margin-top:3rem}
.story-cta{margin-top:2rem;padding:1.8rem;background:var(--tint);border-top:4px solid var(--sun);text-align:center}
.story-cta p{text-align:center!important;margin:0 auto 1.2rem}
.btn-line-dark{border-color:var(--forest);color:var(--forest)}
.btn-line-dark:hover{background:var(--forest);color:#fff}
/* blog cards + featured */
.card .pic{display:flex}
.card .rt,.feature .rt{font-size:.88rem;color:var(--muted);margin:.2rem 0 .8rem}
.feature{display:grid;grid-template-columns:1.25fr 1fr;margin:0 0 2.5rem;background:#fff;border:1px solid var(--line)}
.feature-pic{min-height:380px;background:var(--photo) var(--pos,center)/cover no-repeat;border-radius:0 var(--leaf-r) 0 0}
.feature-body{padding:2.2rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.feature-body h3{font-size:clamp(1.9rem,3vw,2.6rem)}
.feature-body h3 a{color:var(--forest);text-decoration:none}
.feature-body h3 a:hover{color:var(--leaf)}
.feature-body p{color:var(--muted);margin-left:0}
.feature .tag{background:var(--forest);color:#fff;font:600 .8rem var(--body);padding:.15rem .6rem;margin-bottom:.9rem}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature-pic{min-height:240px}}
/* partners with logos */
.partners{justify-content:center}
a.partner,.partner.nz{flex:0 1 340px;min-height:150px;border:1px solid var(--line);background:#fff;text-decoration:none;gap:.5rem;padding:1.2rem 1.6rem}
a.partner img{max-height:70px;width:auto;max-width:100%;object-fit:contain}
a.partner span{font-size:.9rem;color:var(--muted)}
a.partner b{font:700 1.5rem var(--head);color:var(--forest)}
a.partner:hover{border-color:var(--leaf)}
.partner-note{text-align:center;margin:1.5rem auto 0}
/* social + contact icons */
.social{display:flex;gap:.7rem;justify-content:center;margin:2.2rem 0 0;flex-wrap:wrap}
.social a.soc{width:2.7rem;height:2.7rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);color:#fff}
.social a.soc:hover{background:var(--sun);color:var(--forest);border-color:var(--sun)}
.social.light{margin:.6rem 0 0}
.social.light a.soc{border-color:var(--forest);color:var(--forest)}
.social.light a.soc:hover{background:var(--forest);color:#fff}
.clist{list-style:none;margin:0 0 1.4rem;padding:0}
.clist li{display:flex;gap:.7rem;align-items:flex-start;justify-content:center;text-align:left;margin-bottom:.7rem}
.clist .ic{margin-top:.3rem;color:var(--sun)}
.contact-panel .clist .ic{color:var(--leaf)}
.fgrid .clist li{justify-content:center;text-align:left}
.fgrid .clist{display:inline-block}

/* ===== v4: new brand header, preloader, aligned contact lists ===== */
.site-header .wrap{min-height:96px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit}
.brand-icon{height:70px;width:auto;transform-origin:50% 100%;animation:icon-grow .9s cubic-bezier(.2,.9,.3,1.2) .15s both}
.brand:hover .brand-icon{animation:icon-sway 1.2s ease-in-out}
.brand-text{display:flex;flex-direction:column;line-height:1;animation:text-in .8s ease .45s both}
.brand-text b{font:700 2.5rem/.95 var(--head);letter-spacing:.01em;color:#0b0b0b}
.brand-text small{font:600 .86rem/1.15 var(--head);color:#247a2a;text-transform:uppercase;max-width:300px;margin-top:.3rem;letter-spacing:.01em}
@keyframes icon-grow{from{opacity:0;transform:scale(.4) rotate(-6deg)}to{opacity:1;transform:none}}
@keyframes icon-sway{0%,100%{transform:rotate(0)}30%{transform:rotate(-4deg) scale(1.04)}65%{transform:rotate(3deg) scale(1.04)}}
@keyframes text-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media (max-width:980px){.site-header .wrap{min-height:76px}.brand-icon{height:52px}.brand-text b{font-size:1.9rem}.brand-text small{font-size:.66rem;max-width:210px}}
@media (max-width:420px){.brand-text small{display:none}.brand-text b{font-size:1.7rem}}
/* preloader (shown once per visit) */
.preloader{position:fixed;inset:0;z-index:999;background:#fff;display:grid;place-items:center;animation:pl-out .6s ease 2.3s forwards}
.no-splash .preloader{display:none}
.pl-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem}
.pl-icon{height:clamp(120px,22vh,170px);width:auto;animation:pl-icon 1.3s cubic-bezier(.2,.9,.3,1.1) both;filter:drop-shadow(0 10px 18px rgba(13,59,28,.25))}
.pl-word{font:700 clamp(2.6rem,9vw,4.2rem)/1 var(--head);color:#0b0b0b;margin-top:1rem;letter-spacing:.04em;animation:pl-rise .7s ease .7s both}
.pl-sub{font:600 clamp(.7rem,2.6vw,.95rem)/1.2 var(--head);color:#247a2a;text-transform:uppercase;max-width:34ch;margin-top:.5rem;animation:pl-rise .7s ease .95s both}
.pl-bar{width:min(220px,60vw);height:4px;background:var(--tint);margin-top:1.6rem;overflow:hidden;border-radius:2px;animation:pl-rise .5s ease 1s both}
.pl-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--leaf),var(--sun));transform:translateX(-100%);animation:pl-load 1.3s ease-in-out 1s forwards}
@keyframes pl-icon{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:scale(.8)}60%{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1.04)}100%{opacity:1;clip-path:inset(0);transform:scale(1)}}
@keyframes pl-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pl-load{to{transform:translateX(0)}}
@keyframes pl-out{to{opacity:0;visibility:hidden}}
.preloader.done{animation:pl-out .5s ease forwards}
@media (prefers-reduced-motion:reduce){.preloader{animation:pl-out .2s ease .4s forwards}.pl-icon,.pl-word,.pl-sub,.pl-bar,.pl-bar i,.brand-icon,.brand-text{animation:none!important}.pl-bar i{transform:none}}
/* contact lists: icons start on the same line */
.clist{display:inline-block;text-align:left;margin:0 0 1.4rem;padding:0;list-style:none}
.clist li{display:grid;grid-template-columns:1.4rem 1fr;gap:.75rem;align-items:start;justify-content:start;text-align:left;margin-bottom:.8rem}
.clist .ic{margin-top:.28rem}
.clist li>span,.clist li>a{text-align:left}
/* header fit */
.site-header .wrap{padding-top:.55rem;padding-bottom:.55rem;gap:1rem}
.brand-icon{height:62px}
.brand-text b{font-size:2.2rem}
.brand-text small{font-size:.78rem;max-width:250px}
.nav .top,.nav a.top,.nav button.top{white-space:nowrap}
@media (min-width:981px){.nav>ul{gap:.1rem}.nav .top{padding-left:.6rem;padding-right:.6rem}}

/* ===== v5: CEBCO lockup visible and animated on every screen ===== */
.brand-text b{clip-path:inset(0 100% 0 0);animation:word-wipe .9s cubic-bezier(.65,0,.35,1) .5s forwards}
.brand-text small{opacity:0;animation:small-in .8s ease 1.1s forwards}
.brand-icon{animation:icon-grow .9s cubic-bezier(.2,.9,.3,1.2) .15s both,sun-glow 5s ease-in-out 2.5s infinite}
@keyframes word-wipe{to{clip-path:inset(0 0 0 0)}}
@keyframes small-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes sun-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(246,184,0,0))}50%{filter:drop-shadow(0 0 10px rgba(246,184,0,.75))}}
.brand:hover .brand-icon{animation:icon-sway 1.2s ease-in-out}
/* footer lockup on dark */
.fgrid .logo.on-dark{background:none;padding:0;display:inline-flex;margin-bottom:1rem;text-align:left}
.on-dark .brand-icon{height:64px}
.on-dark .brand-text b{color:#fff;font-size:2.3rem}
.on-dark .brand-text small{color:var(--sun);max-width:230px}
/* mobile: icon, name and full words all stay visible */
@media (max-width:980px){
  .site-header .wrap{gap:.6rem}
  .brand{gap:.55rem;min-width:0}
  .brand-icon{height:50px}
  .brand-text b{font-size:1.75rem}
  .brand-text small{display:block!important;font-size:.6rem;line-height:1.15;max-width:200px;margin-top:.2rem}
}
@media (max-width:420px){
  .brand-icon{height:46px}
  .brand-text b{font-size:1.55rem}
  .brand-text small{display:block!important;font-size:.56rem;max-width:165px}
  .menu-toggle{padding:.5rem .8rem}
}
@media (prefers-reduced-motion:reduce){.brand-text b{clip-path:none;animation:none!important}.brand-text small{opacity:1;animation:none!important}}

/* ===== polish: alignment, rhythm, scroll animation, protection ===== */
.block{padding:clamp(3.5rem,7vw,5.5rem) 0}
.block h2{margin-bottom:1.4rem}
.block h2::after{content:"";display:block;width:64px;height:4px;background:var(--sun);border-radius:2px;margin:.6rem auto 0}
.dark h2::after{background:var(--sun)}
.block .wrap>p{max-width:68ch;margin-left:auto;margin-right:auto}
.prose p,.prose li{text-align:left;max-width:68ch;margin-left:auto;margin-right:auto;line-height:1.75}
.cards,.grid4,.values,.ways,.gallery,.objectives,.programmes{align-items:stretch}
.card{height:100%;transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(13,59,28,.14)}
.card .pic{overflow:hidden}
.gallery figure{overflow:hidden;border-radius:6px}
.gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery figure:hover img{transform:scale(1.06)}
.btn{transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.site-header{transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 4px 18px rgba(13,59,28,.14)}
.site-footer .clist li{align-items:flex-start}
.scroll-bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--sun);transform:scaleX(0);transform-origin:0 50%;z-index:200;pointer-events:none}

/* reveal on scroll: only active when JS has enabled it */
.rv .rvl{opacity:0;transform:translate3d(0,32px,0);transition:opacity .75s cubic-bezier(.2,.65,.2,1) var(--d,0ms),transform .75s cubic-bezier(.2,.65,.2,1) var(--d,0ms);will-change:opacity,transform}
.rv .rvl.zoom{transform:scale(.92)}
@media (min-width:861px){.rv .rvl.from-l{transform:translate3d(-48px,0,0)}.rv .rvl.from-r{transform:translate3d(48px,0,0)}}
.rv .rvl.in{opacity:1;transform:none;will-change:auto}
.hero .slide.active h1,.hero .slide.active p,.hero .slide.active .tagline{animation:heroIn .9s cubic-bezier(.2,.65,.2,1) both}
.hero .slide.active p{animation-delay:.15s}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rv .rvl{opacity:1;transform:none;transition:none}.hero .slide.active *{animation:none}}

/* content protection */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
input,textarea,select{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
.devtools-msg{display:none}
.devtools-open body>*:not(.devtools-msg){visibility:hidden!important}
.devtools-open .devtools-msg{display:flex;position:fixed;inset:0;z-index:99999;background:var(--forest);color:#fff;align-items:center;justify-content:center;text-align:center;font:600 1.3rem/1.5 var(--body);padding:2rem}
@media print{body{display:none!important}}

/* ===== v2: hero balance, mobile type scale, uniform text flow, smoother motion ===== */
html{scroll-padding-top:110px;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:normal;hyphens:none}
/* text flows on full lines, no stranded words; short intros centred and balanced */
p,li,blockquote{text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}
.block .wrap>p{max-width:78ch;text-wrap:balance}
.block p,.block li{max-width:none}
.block .wrap>p{max-width:78ch}
.prose p,.prose li{text-align:left;max-width:none;text-wrap:pretty}
.welcome-text p,.card p,.panel p,.pillar p,.values p,.vm p,.two p,.way p,.prog p{max-width:62ch;margin-left:auto;margin-right:auto;text-wrap:balance}
.prose{max-width:760px;margin-left:auto;margin-right:auto}

/* hero */
.slides{min-height:min(80vh,680px);min-height:min(80svh,680px)}
.slide .wrap{padding-top:4.5rem;padding-bottom:6.5rem}
.slide h1{font-size:clamp(2rem,5.2vw,4.2rem);max-width:18ch}
.slide p{font-size:clamp(1rem,1.6vw,1.2rem);max-width:52ch}
.slide .actions .btn{padding:.7rem 1.35rem;font-size:.98rem}
.slide::before{inset:-4% 0;translate:0 var(--py,0px)}
.slide.active::before{animation:kb 10s ease-out both}
@keyframes kb{from{scale:1}to{scale:1.07}}

@media (max-width:760px){
  body{font-size:1rem;line-height:1.6}
  h1{font-size:clamp(1.9rem,8vw,2.4rem)}
  h2{font-size:clamp(1.55rem,6.4vw,1.95rem)}
  h3{font-size:1.3rem}
  .block{padding:2.8rem 0}
  .block h2::after{width:48px;height:3px}
  .card h3{font-size:1.2rem}
  .card p,.block p,.block li{font-size:.97rem}
  .wrap{padding:0 1.1rem}
  .site-header .wrap{min-height:72px}
  .brand-icon{width:48px;height:auto}
  .brand-text b{font-size:1.35rem}
  .brand-text small{font-size:.62rem;line-height:1.2}
  .banner{padding:4.2rem 0 3.4rem}
  .banner h1{font-size:clamp(1.8rem,7.6vw,2.3rem)}
  .banner p{font-size:1rem}
  /* hero: shorter, lighter, compact buttons */
  .slides{min-height:min(68vh,500px);min-height:min(68svh,500px)}
  .slide .wrap{padding-top:2.6rem;padding-bottom:4.4rem}
  .slide h1{font-size:clamp(1.65rem,7.2vw,2.1rem);max-width:16ch;margin-bottom:.45em}
  .slide p{font-size:.95rem;line-height:1.5;max-width:34ch;margin-bottom:.4em}
  .slide .tagline{font-size:.78rem;letter-spacing:.02em;margin-bottom:.6rem;max-width:30ch}
  .slide .actions{gap:.5rem;margin-top:1rem;flex-wrap:nowrap;justify-content:center}
  .slide .actions .btn{padding:.55rem .95rem;font-size:.86rem;border-width:1.5px;white-space:nowrap}
  .hero-ctrl{bottom:1rem}
  .dot{width:22px;height:4px}
  .hero-ctrl .pp{padding:.15rem .5rem;font-size:.72rem;margin-left:.6rem}
  .btn{padding:.7rem 1.2rem;font-size:.95rem}
}
@media (max-width:380px){.slide .actions .btn{padding:.5rem .75rem;font-size:.8rem}}

/* motion */
.site-header{transition:box-shadow .3s,transform .4s cubic-bezier(.2,.65,.2,1)}
.site-header.hide{transform:translateY(-100%)}
.rv .rvl{transform:translate3d(0,26px,0);transition-duration:.9s;transition-timing-function:cubic-bezier(.22,.8,.24,1)}
.rv .rvl.zoom{transform:scale(.94)}
.block h2::after{transform:scaleX(0);transition:transform .8s .25s cubic-bezier(.22,.8,.24,1)}
.rv h2.in::after{transform:scaleX(1)}
.rv .card .pic,.rv .photo{transition:transform .9s cubic-bezier(.22,.8,.24,1)}
a,button{-webkit-tap-highlight-color:transparent}
@media (max-width:860px){.rv .rvl.from-l,.rv .rvl.from-r{transform:translate3d(0,24px,0)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide.active::before{animation:none}.block h2::after{transform:none}.site-header{transition:none}}

/* ===== team, partner marquee, bank details ===== */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,270px));justify-content:center;gap:1.8rem;margin-top:2rem}
.person{border-radius:10px;overflow:hidden;box-shadow:0 6px 22px rgba(13,59,28,.08);transition:transform .4s cubic-bezier(.22,.8,.24,1),box-shadow .4s;padding-bottom:1.3rem}
.person:hover{transform:translateY(-8px);box-shadow:0 18px 38px rgba(13,59,28,.16)}
.person .ph{overflow:hidden;margin-bottom:1rem}
.person .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.22,.8,.24,1)}
.person:hover .ph img{transform:scale(1.07)}
.person span{display:inline-block;margin-top:.3rem;padding:.2rem .8rem;background:var(--tint);color:var(--leaf);font-weight:600;border-radius:99px}

.marquee{overflow:hidden;padding:.8rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee .track{display:flex;width:max-content;animation:mq 34s linear infinite;will-change:transform}
.marquee:hover .track,.marquee:focus-within .track,.marquee:active .track{animation-play-state:paused}
.marquee .grp{display:flex;gap:1.2rem;padding-right:1.2rem}
@keyframes mq{to{transform:translate3d(-50%,0,0)}}
.marquee a.partner{flex:0 0 250px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 4px 16px rgba(13,59,28,.06);transition:transform .35s,box-shadow .35s,border-color .35s;text-align:center}
.marquee a.partner:hover{transform:translateY(-5px);border-color:var(--sun);box-shadow:0 14px 30px rgba(13,59,28,.14)}
.marquee a.partner b{font:700 1.15rem/1.2 var(--head);color:var(--forest)}
.marquee a.partner span{font-size:.82rem;color:var(--muted)}
.marquee a.partner img{max-height:44px}
.mono{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--forest);color:var(--sun);font:700 1.05rem var(--head);font-style:normal;margin-bottom:.3rem}
@media (max-width:760px){.marquee a.partner{flex-basis:200px;min-height:112px}.marquee .track{animation-duration:26s}.mono{width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.marquee .grp:last-child{display:none}.marquee .grp{flex-wrap:wrap;justify-content:center}}

.bank{margin:1.1rem 0;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;-webkit-user-select:text;user-select:text}
.bank>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--line)}
.bank>div:last-child{border-bottom:0}
.bank dt{color:var(--muted);font-size:.9rem}
.bank dd{margin:0;font-weight:700;color:var(--forest);text-align:right;word-break:break-all}
.copyable,.copyable *{-webkit-user-select:text;user-select:text}

/* partner logos */
.marquee a.partner{flex-basis:260px;min-height:170px;gap:.6rem}
.marquee a.partner img{height:76px;width:auto;max-width:200px;object-fit:contain;transition:transform .4s cubic-bezier(.22,.8,.24,1)}
.marquee a.partner:hover img{transform:scale(1.08)}
.marquee a.partner b{font:600 .88rem var(--body);color:var(--muted)}
.marquee a.partner.nz img{height:52px}
@media (max-width:760px){.marquee a.partner{flex-basis:200px;min-height:140px}.marquee a.partner img{height:58px;max-width:150px}}
