/* =====================================================================
   STILURI COMUNE — Asociația Coloni Urbariali Florești 1892
   Folosit de toate paginile (index.html, comunitate.html etc.).
   Nu conține text; textul vine din content.js.
   ===================================================================== */

:root{
  --ink:#1C2B24; --paper:#F7F4EC; --forest:#2E5D4B; --forest-dark:#244A3C;
  --bronze:#9A6A3A; --sage:#C9CDBF; --line:#E4DECF; --paper-2:#FBF9F3;
  --maxw:1140px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* Conținutul vine din JSON, deci la primul cadru pagina e încă goală: antetul
   și subsolul ar apărea lipite, o clipă, în capul ecranului. Ținem corpul
   ascuns până la prima randare — site.js pune atunci clasa „site-ready".
   Plasă de siguranță: dacă JS-ul nu rulează deloc, animația descoperă
   pagina după 3 secunde, ca site-ul să nu rămână alb. */
html:not(.site-ready) body{visibility:hidden;animation:site-failsafe 0s 3s forwards;}
@keyframes site-failsafe{to{visibility:visible;}}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;line-height:1.7;font-size:17px;}
.sans{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--forest);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{font-weight:400;line-height:1.25;margin:0 0 .5em;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);}

/* Header */
header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.topbar{display:flex;align-items:center;gap:16px;padding:12px 24px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{width:46px;height:46px;mix-blend-mode:multiply;}
.brand .name{font-size:15px;line-height:1.15;}
.brand .name b{font-weight:400;letter-spacing:.02em;}
.brand .name span{display:block;font-family:-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);}
.spacer{flex:1;}
.util{display:flex;align-items:center;gap:10px;font-family:-apple-system,sans-serif;font-size:13px;}
.btn-lang{display:inline-flex;border:1px solid var(--sage);border-radius:20px;overflow:hidden;}
.lang-opt{border:none;background:transparent;color:#6b6b64;cursor:pointer;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12.5px;
  padding:5px 11px;line-height:1.2;}
.lang-opt+.lang-opt{border-left:1px solid var(--line);}
.lang-opt:hover{color:var(--ink);}
.lang-opt.active{background:var(--forest);color:#fff;}
.member{border:1px solid var(--line);color:#6b6b64;padding:5px 11px;border-radius:20px;}

/* Nav */
nav.main{border-top:1px solid var(--line);background:var(--paper-2);}
.navrow{display:flex;flex-wrap:wrap;max-width:var(--maxw);margin:0 auto;padding:0 16px;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;}
.navitem{position:relative;}
.navitem>a{display:block;padding:13px 14px;color:var(--ink);border-bottom:2px solid transparent;}
.navitem:hover>a{border-bottom-color:var(--bronze);text-decoration:none;}
.dropdown{position:absolute;top:100%;left:0;min-width:250px;background:#fff;
  border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(28,43,36,.12);
  padding:7px;display:none;}
.navitem:hover .dropdown{display:block;}
.dropdown a{display:block;padding:9px 12px;color:#3a4a40;border-radius:6px;font-size:13.5px;}
.dropdown a:hover{background:var(--paper);color:var(--ink);text-decoration:none;}
.dropdown .grp{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a79b83;padding:6px 12px 4px;}

/* Hero */
.hero{position:relative;background:var(--forest);color:var(--paper);overflow:hidden;}
.hero .emblem-bg{position:absolute;right:40px;top:50%;transform:translateY(-50%);
  width:430px;max-width:42vw;opacity:.55;pointer-events:none;}
/* Emblema stă în spatele textului. Sub lățimea maximă a paginii, rândurile
   ajung peste ea și se citește greu (măsurat: la 375 px textul intră 158 px
   în ea, la 768 px, 250 px). Pe telefon, pe tabletă și pe ferestre înguste
   antetul rămâne doar text; emblema revine pe ecran lat. */
@media(max-width:1140px){ .hero .emblem-bg{display:none;} }
.hero .wrap{padding:76px 24px 64px;position:relative;}
.hero h1{font-size:31px;max-width:22em;color:var(--paper);}
.hero h1 .tline{display:block;}
.hero .lead{font-size:19px;max-width:34em;color:#DCE7DF;margin:0 0 28px;}
.thread{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 30px;
  font-family:-apple-system,sans-serif;font-size:13.5px;}
.thread .chip{background:rgba(247,244,236,.12);color:var(--paper);padding:7px 14px;border-radius:22px;}
.thread .sep{opacity:.55;}
.cta{display:inline-block;font-family:-apple-system,sans-serif;font-size:14.5px;
  padding:12px 22px;border-radius:8px;margin:0 10px 10px 0;cursor:pointer;}
.cta.primary{background:var(--bronze);color:#fff;}
.cta.primary:hover{background:#835832;text-decoration:none;}
.cta.ghost{border:1px solid rgba(247,244,236,.5);color:var(--paper);}
.cta.ghost:hover{border-color:var(--paper);text-decoration:none;}

/* Stats */
.stats{background:var(--paper-2);border-bottom:1px solid var(--line);}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:var(--maxw);margin:0 auto;}
.stat{padding:26px 24px;text-align:center;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat .num{font-size:34px;color:var(--forest);}
.stat .lbl{font-family:-apple-system,sans-serif;font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:#6b6b64;}

/* Sections */
section.block{padding:70px 0;border-bottom:1px solid var(--line);}
section.block.alt{background:var(--paper-2);}
.sec-cta{display:inline-block;margin-top:30px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14.5px;background:var(--forest);color:#fff;padding:12px 24px;border-radius:8px;}
.sec-cta:hover{background:var(--forest-dark);text-decoration:none;color:#fff;}
.block h2{font-size:32px;}
.block .intro{font-size:18px;max-width:40em;color:#3a4a40;}
.block .intro.oneline{max-width:none;white-space:nowrap;}
.block .intro.full{max-width:none;}
@media(max-width:960px){.block .intro.oneline{white-space:normal;max-width:40em;}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:36px;}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;overflow:hidden;}
.card.wide{grid-column:span 2;}
@media(max-width:760px){.card.wide{grid-column:span 1;}}
.card .tag{font-family:-apple-system,sans-serif;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--bronze);margin-bottom:8px;}
.card h3{font-size:21px;}
.card p{font-size:15.5px;color:#3a4a40;margin:.4em 0 0;}
.card .meta{font-family:-apple-system,sans-serif;font-size:13px;color:#6b6b64;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.badge{display:inline-block;font-family:-apple-system,sans-serif;font-size:12px;
  background:var(--paper);border:1px solid var(--line);color:var(--forest-dark);
  padding:3px 10px;border-radius:20px;margin:0 6px 6px 0;}
.toconfirm{color:var(--bronze);font-style:italic;}

/* Credit foto — discret, sub imagini (în pagini/articole, NU pe hero) */
.credit{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;line-height:1.4;color:#9a9384;font-style:italic;}

/* Fotografii verticale al căror subiect stă sus (vârful puietului): le aliniem
   sus în cadru, altfel decuparea din centru le taie vârful. Se aplică oriunde
   apare fotografia — antet de articol, card de listă, card pe Acasă. */
img[src$="pnrr-prima-impadurire.webp"],
img[src$="sebastian-peter-portret.webp"]{object-position:top;}

/* Invers pentru pășunea cu margarete: florile sunt în partea de jos a cadrului,
   deci aliniem jos, altfel decuparea din centru arată mai mult iarbă decât flori. */
img[src$="pasune-margarete.webp"]{object-position:bottom;}
/* În cardul de pe Acasă banda vizibilă e mult mai îngustă (220px). Chiar la
   bază intră mai mult iarbă decât flori, așa că urcăm puțin decupajul, la
   zona în care margaretele sunt dese. */
.card .ph[src$="pasune-margarete.webp"]{object-position:50% 73%;}

/* Imagini în carduri (Patrimoniu, Proiecte) */
.card .ph{display:block;width:calc(100% + 48px);height:220px;
  margin:-24px -24px 10px -24px;object-fit:cover;background:var(--sage);}
.card .credit{display:block;text-align:right;margin:0 0 14px;font-size:11.5px;color:#9a9384;}

/* Pagina Contact — două coloane (adresă / e-mail + investitori) */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:8px;}
.contact-col h4{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);
  margin:0 0 10px;font-weight:600;}
.contact-col h4.grp2{margin-top:26px;}
.contact-col p{margin:0 0 5px;font-size:17px;color:#2b3a32;}
.contact-col a{color:var(--forest);text-decoration:underline;}
@media(max-width:600px){.contact-grid{grid-template-columns:1fr;gap:26px;}}

/* Secțiuni cu imagine (Despre noi, Istoric, Comunitate) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;margin-top:10px;}
.split .txt h2{font-size:30px;}
.split .txt p{margin:.6em 0 0;}
.split .media{border-radius:14px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(28,43,36,.10);}
.split .media img{display:block;width:100%;height:380px;object-fit:cover;background:var(--sage);}
.split .credit{display:block;text-align:right;margin:9px 2px 0;}
@media(max-width:760px){
  .split{grid-template-columns:1fr;gap:24px;}
  .split .media img{height:260px;}
}

/* ---- Antet de subpagină (banner verde, fără emblemă mare) ---- */
.pagehead{background:var(--forest);color:var(--paper);}
.pagehead .wrap{padding:52px 24px 44px;}
.pagehead .eyebrow{color:#D9B98C;}
/* Antetul subpaginilor Comunitate: text mic (14pt), model uniform pe toate. */
.pagehead h1{font-size:14pt;line-height:1.55;font-weight:400;color:var(--paper);
  max-width:none;margin:.5em 0 0;}
.pagehead .lead{font-size:14pt;line-height:1.55;color:#DCE7DF;max-width:none;margin:10px 0 0;}
.pagehead .note{display:inline-block;margin-top:16px;font-family:-apple-system,sans-serif;
  font-size:12.5px;color:#cfe0d4;background:rgba(247,244,236,.12);
  padding:6px 13px;border-radius:20px;}

/* ---- Listă de articole (Comunitate) ---- */
.articles{padding:52px 0 20px;}
.artlist{display:grid;grid-template-columns:1fr;gap:24px;}
.artcard{display:grid;grid-template-columns:290px 1fr;gap:0;background:#fff;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.artcard .thumb{position:relative;background:var(--sage);min-height:200px;overflow:hidden;}
.artcard .thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;}
.artcard.no-img{grid-template-columns:1fr;}
.artcard .body{padding:22px 26px 22px;}
.artcard h3{font-size:22px;margin:0 0 .4em;}
.artcard p{font-size:15.5px;color:#3a4a40;margin:0;}
.artcard p + p{margin-top:.7em;}
.artcard .more{display:inline-block;margin-top:16px;font-family:-apple-system,sans-serif;
  font-size:13.5px;color:var(--forest);border:1px solid var(--sage);border-radius:8px;padding:8px 16px;}
.artcard .more:hover{border-color:var(--bronze);color:var(--forest-dark);
  background:var(--paper);text-decoration:none;}
@media(max-width:680px){
  .artcard{grid-template-columns:1fr;}
  .artcard .thumb{min-height:0;height:220px;}
}

/* Eticheta mică din fișa de proiect (deasupra titlului, în listă) */
.artcard .tag{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);
  margin:0 0 6px;}

/* Eticheta de deasupra titlului pe pagina unui proiect */
.post .post-tag{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze);
  margin:6px 0 6px;}
.post .post-tag:empty{display:none;}

/* ---- Convocare AGA (bloc de invitație) ---- */
.invite-wrap{padding:46px 0 6px;}
.invite{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--bronze);
  border-radius:12px;padding:26px 30px;}
.invite-tag{font-family:-apple-system,sans-serif;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--bronze);margin:0 0 8px;}
.invite h2{font-size:26px;margin:0 0 12px;}
.invite .invite-body{font-size:17px;color:#3a4a40;margin:0;max-width:48em;}

/* ---- Listă documente (variantă alternativă, dacă e nevoie) ---- */
.doclist{display:grid;grid-template-columns:1fr;gap:0;}
.docs-empty{font-size:17px;color:#6b6b64;font-style:italic;padding:20px 0;}
.docrow{display:flex;align-items:center;gap:20px;padding:20px 4px;border-bottom:1px solid var(--line);}
.docrow:first-child{border-top:1px solid var(--line);}
.docrow .ico{flex:none;width:46px;height:56px;border:1px solid var(--line);border-radius:7px;
  background:#fff;display:flex;align-items:center;justify-content:center;
  font-family:-apple-system,sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--bronze);}
.docrow .info{flex:1;min-width:0;}
.docrow .info .meta{font-family:-apple-system,sans-serif;font-size:12px;color:#6b6b64;margin-bottom:3px;}
.docrow .info h3{font-size:19px;margin:0;}
.docrow .info p{font-size:14.5px;color:#3a4a40;margin:4px 0 0;}
.docrow a.dl{flex:none;font-family:-apple-system,sans-serif;font-size:13.5px;color:var(--forest);
  border:1px solid var(--sage);border-radius:8px;padding:9px 16px;white-space:nowrap;}
.docrow a.dl:hover{border-color:var(--bronze);background:var(--paper);text-decoration:none;}
@media(max-width:600px){
  .docrow{flex-wrap:wrap;gap:12px 16px;}
  .docrow a.dl{margin-left:66px;}
}

/* ---- Pagina unui articol (articol.html) ---- */
.post{padding:8px 0 30px;}
.post .wrap{max-width:760px;}
.post .back{display:inline-block;font-family:-apple-system,sans-serif;font-size:13px;
  color:var(--forest);margin:30px 0 18px;}
.post h1{font-size:38px;line-height:1.18;margin:0 0 14px;}
.post .dek{font-size:20px;line-height:1.5;color:#3a4a40;margin:0 0 26px;font-style:italic;}

/* Figuri (imagine principală + imagini în corp) */
.post-figure{margin:0 0 30px;}
.post-figure .frame{border-radius:14px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 14px 34px rgba(28,43,36,.10);background:var(--sage);}
.post-figure img{display:block;width:100%;max-height:460px;object-fit:cover;}
.inline-fig{margin:28px 0;}
.inline-fig .frame{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--sage);}
.inline-fig img{display:block;width:100%;max-height:520px;object-fit:cover;}

/* ---- Figuri verticale: plutesc lateral, alternând stânga–dreapta ---- */
.inline-fig.side{width:min(34%,240px);margin:4px 0 16px;}
.inline-fig.side.left{float:left;margin-right:26px;}
.inline-fig.side.right{float:right;margin-left:26px;}
.inline-fig.side.mica{width:min(32%,230px);}   /* rezoluție mică → nu o mărim forțat */
.inline-fig.side img{width:100%;height:auto;max-height:none;object-fit:contain;}
/* rămâne flex (nu block): flex-ul dă spațiul dintre legendă și credit.
   Doar le strângem la stânga și le lăsăm să curgă pe două rânduri. */
.inline-fig.side figcaption{font-size:12.5px;line-height:1.45;}

/* REGULA DE ALINIERE: textul curge în jurul unei figuri plutitoare doar în
   paragraful imediat următor. Orice alt paragraf, titlu sau figură începe de
   la marginea din stânga — un paragraf nou nu pornește din mijlocul rândului.
   Când textul de lângă imagine e prea scurt, se comasează paragrafele. */
.post-body p,
.post-body .post-sub,
.inline-fig{clear:both;}
.inline-fig.side + p{clear:none;}

/* Colajele se văd întregi, centrate, fără decupare — sunt compoziții, nu cadre. */
.inline-fig img[src*="/colaj-"]{width:auto;height:auto;max-width:100%;
  max-height:none;margin:0 auto;object-fit:contain;}

/* ---- Documente scanate: întregi, la finalul paginii ---- */
.inline-fig.doc{clear:both;margin:34px auto 0;max-width:620px;}
/* documentul umple lățimea cadrului: fără benzi albe laterale */
.inline-fig.doc img{display:block;width:100%;height:auto;max-height:none;
  object-fit:contain;}


@media(max-width:760px){
  /* pe ecran îngust nu mai are sens curgerea laterală */
  .inline-fig.side,.inline-fig.side.mica{float:none;width:100%;margin:0 0 18px;}
}
/* Legenda ocupă rândul întreg, până la marginea fotografiei; creditul vine
   dedesubt, pe rândul lui. Nu stau alături: legenda ar rămâne pe o coloană
   îngustă, iar creditul ar atârna în dreapta. */
figcaption{margin-top:9px;display:block;}
figcaption .cap{display:block;font-family:-apple-system,sans-serif;font-size:13px;
  color:#6b6b64;font-style:italic;}
figcaption .credit{display:block;margin-top:3px;}

.post-body{font-size:18px;color:#2b3a32;}
.post-body p{margin:0 0 1.1em;}
.post-body .post-sub{font-size:22px;font-weight:400;color:var(--forest-dark);
  margin:1.5em 0 .35em;line-height:1.3;}
.post-body .post-sub:first-child{margin-top:0;}
.post-body ul,.post-body ol{margin:0 0 1.1em;padding-left:1.4em;}
.post-body li{margin:0 0 .55em;}
.post-table{width:100%;border-collapse:collapse;margin:2px 0 1.4em;font-size:16px;}
.post-table th,.post-table td{text-align:left;padding:9px 14px 9px 0;border-bottom:1px solid var(--line);}
.post-table th{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--forest-dark);}
.post-table tbody tr:last-child td{border-bottom:none;}
.post-table td:first-child{width:38%;color:#3a4a40;}

/* Bloc de vizibilitate PNRR (obligatoriu la finalul postării) */
.pnrr-foot{margin-top:36px;padding:20px 22px;background:var(--paper-2);
  border:1px solid var(--line);border-radius:12px;
  font-family:-apple-system,sans-serif;font-size:12.5px;line-height:1.55;color:#5b6b62;}
.pnrr-foot .pnrr-doc{margin:0 0 16px;text-align:center;}
.pnrr-foot .pnrr-doc img{display:block;width:100%;max-width:520px;margin:0 auto;
  border:1px solid var(--line);border-radius:8px;background:#fff;}
.pnrr-foot .pnrr-doc figcaption{display:block;margin-top:8px;font-size:11.5px;color:#9a9384;}
.pnrr-foot .line{margin:0 0 8px;font-weight:600;color:var(--ink);}
.pnrr-foot .disc{margin:0 0 8px;}
.pnrr-foot .det{margin:0;}
.post-foot{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);}
@media(max-width:760px){ .post h1{font-size:29px;} .post .dek{font-size:18px;} }

/* ---- Pagină legală (Politica de confidențialitate) ---- */
.legal{padding:40px 0 46px;}
.legal .wrap{max-width:760px;}
.legal h2{font-size:23px;line-height:1.3;color:var(--forest-dark);
  margin:40px 0 12px;padding-top:6px;border-top:1px solid var(--line);}
.legal h2:first-child{margin-top:0;border-top:none;padding-top:0;}
.legal h3.legal-sub{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;font-weight:600;letter-spacing:.01em;color:var(--forest-dark);
  margin:22px 0 8px;}
.legal p{font-size:17px;line-height:1.65;color:#2b3a32;margin:0 0 1em;}
.legal ul{margin:0 0 1.15em;padding-left:1.35em;}
.legal li{font-size:17px;line-height:1.55;color:#2b3a32;margin:0 0 .4em;}
.legal a{color:var(--forest);text-decoration:underline;}
@media(max-width:760px){ .legal h2{font-size:20px;} }

/* ---- Paginare (săgeți + numere) ---- */
.pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;
  margin:38px 0 6px;font-family:-apple-system,sans-serif;}
.pager button{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);
  background:#fff;color:var(--ink);border-radius:8px;cursor:pointer;font-size:14px;}
.pager button:hover:not(:disabled){border-color:var(--bronze);}
.pager button.active{background:var(--forest);color:#fff;border-color:var(--forest);}
.pager button:disabled{opacity:.38;cursor:default;}
.pager .arrow{font-size:18px;line-height:1;}
.pagenote{text-align:center;font-family:-apple-system,sans-serif;font-size:12.5px;
  color:#8f8a7e;margin:0 0 46px;}

/* ---- Galerie foto (grilă + lightbox) ---- */
.gallery-wrap{padding:40px 0 20px;}
.galgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;}
.galitem{position:relative;padding:0;border:1px solid var(--line);background:var(--sage);
  border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:1/1;}
.galitem img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.galitem:hover img{transform:scale(1.06);}
.galitem .galcredit{position:absolute;left:0;right:0;bottom:0;padding:14px 10px 7px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;color:#fff;
  background:linear-gradient(to top,rgba(20,28,24,.72),rgba(20,28,24,0));
  opacity:0;transition:opacity .25s;text-align:left;}
.galitem:hover .galcredit,.galitem:focus-visible .galcredit{opacity:1;}
@media(max-width:600px){ .galgrid{grid-template-columns:repeat(2,1fr);} }

.lightbox{position:fixed;inset:0;z-index:100;background:rgba(18,26,22,.94);
  display:none;align-items:center;justify-content:center;flex-direction:column;padding:34px 16px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:78vh;object-fit:contain;border-radius:6px;
  box-shadow:0 20px 60px rgba(0,0,0,.55);background:#0d1310;}
.lb-cap{color:#e8ede9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;line-height:1.5;margin:16px 0 0;text-align:center;max-width:760px;}
.lb-cap .lb-credit{color:#b9c4bd;font-style:italic;}
.lb-close{position:absolute;top:14px;right:22px;font-size:34px;line-height:1;color:#fff;
  background:none;border:0;cursor:pointer;padding:4px 8px;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:44px;line-height:1;
  color:#fff;background:none;border:0;cursor:pointer;padding:8px 18px;opacity:.8;}
.lb-nav:hover{opacity:1;}
.lb-prev{left:6px;} .lb-next{right:6px;}
@media(max-width:600px){ .lb-nav{font-size:34px;padding:6px 10px;} }

/* Footer */
footer{background:var(--ink);color:#C7D0C9;padding:54px 0 30px;font-size:14.5px;}
footer .grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;}
footer h4{font-family:-apple-system,sans-serif;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#8fa79a;margin:0 0 12px;font-weight:600;}
footer a{color:#C7D0C9;}
footer .fine{border-top:1px solid #34433b;margin-top:36px;padding-top:18px;
  font-size:12.5px;color:#7c8b82;}
footer .madeby{font-size:12.5px;color:#7c8b82;margin-top:6px;}
footer .madeby a{color:#8fa79a;text-decoration:underline;}
footer .invest{background:#22332c;border:1px solid #34433b;border-radius:12px;
  padding:20px 24px;margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;}
footer .invest .lead2{flex:1;min-width:240px;}
footer .invest h4{color:#D9B98C;margin:0 0 5px;}
footer .invest p{margin:0;color:#C7D0C9;font-size:14px;}
footer .invest a.cta-inv{font-family:-apple-system,sans-serif;font-size:14px;
  background:var(--bronze);color:#fff;padding:11px 20px;border-radius:8px;white-space:nowrap;}
footer .invest a.cta-inv:hover{background:#835832;text-decoration:none;}
@media(max-width:760px){
  .hero h1{font-size:24px;} .stats .row{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;} footer .grid{grid-template-columns:1fr;}
  .topbar{flex-wrap:wrap;}
}
