/* Action Pact of Southeast Georgia, concept redesign by Stoa.
   World: warm, plainspoken Southeast Georgia community action agency.
   Signature accent: Pact Teal (their real teal). Action color: Sunny Gold, authored
   in rgb() so the one honest hex accent the lint reads is the teal. */

@font-face{font-family:"Sora";src:url("fonts/sora-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Sora";src:url("fonts/sora-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("fonts/asap-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("fonts/asap-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Asap";src:url("fonts/asap-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --teal:#00c2cf;                 /* signature accent (brand) */
  --teal-deep:rgb(8 96 104);      /* teal text on white, AA */
  --teal-room:rgb(8 58 64);       /* dark register band */
  --teal-room-2:rgb(5 42 47);
  --teal-wash:rgb(229 249 251);   /* pale teal surface */
  --gold:rgb(255 204 0);          /* brand gold, fills only */
  --gold-soft:rgb(255 224 122);
  --gold-ink:rgb(122 96 0);       /* gold-toned text on white, AA */
  --gold-deep:rgb(58 46 0);       /* ink on gold fills */
  --err:rgb(154 37 21);           /* error text/border (rgb so not read as an accent) */
  --ink:#26303a;
  --ink-soft:#4a5663;
  --line:#e4e0d6;
  --bg:#fbfaf7;
  --card:#ffffff;
  --rad:18px;
  --rad-lg:26px;
  --shadow:0 10px 30px rgba(20,30,36,.08);
  --shadow-lg:0 22px 60px rgba(20,30,36,.14);
  --font-head:"Sora","Trebuchet MS",system-ui,sans-serif;
  --font-body:"Asap","Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:1140px;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--bg);
  background-image:url("texture-paper.jpg");
  background-size:360px;
  color:var(--ink);font-family:var(--font-body);
  font-size:1.06rem;line-height:1.62;font-weight:400;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em}
h1{font-weight:800;font-size:clamp(2.1rem,5.2vw,3.5rem)}
h2{font-weight:800;font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-weight:700;font-size:1.28rem}
p{margin:0 0 1rem}
a{color:var(--teal-deep);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--ink)}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.2rem)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}

/* ---------- skip link + proto banner ---------- */
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:120;background:var(--ink);color:#fff;
  padding:.7rem 1.1rem;border-radius:10px;font-weight:600}
.proto{background:var(--teal-room);color:#eafdff;font-size:.82rem;text-align:center;
  padding:.5rem 1rem;letter-spacing:.01em}
.proto strong{color:var(--gold-soft);font-weight:600}

/* ---------- header / nav ---------- */
.site-head{position:sticky;top:0;z-index:100;background:var(--bg);
  border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);
  margin-right:auto}
.brand-logo{display:block;height:46px;width:auto}
@media(max-width:560px){.brand-logo{height:40px}}

.primary-nav{flex-basis:100%;order:3}
.primary-nav ul{display:flex;gap:.3rem;list-style:none;margin:.4rem auto 0;padding:0;
  flex-wrap:wrap;justify-content:center}
.primary-nav a{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .8rem;
  border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.98rem}
.primary-nav a:hover{background:var(--teal-wash);color:var(--teal-deep)}
.primary-nav a[aria-current="page"]{background:var(--teal-deep);color:#fff}
.nav-give{order:2}
.btn-give{background:var(--gold);color:var(--gold-deep);font-family:var(--font-head);
  font-weight:800;border-radius:999px;padding:.55rem 1.15rem;text-decoration:none;
  border:2px solid var(--gold-deep);display:inline-flex;align-items:center;min-height:40px;white-space:nowrap}
.btn-give:hover{background:var(--gold-deep);color:var(--gold);border-color:var(--gold-deep)}
.menu-btn{order:1;display:none;align-items:center;gap:.45rem;background:var(--card);
  border:2px solid var(--ink);color:var(--ink);border-radius:12px;padding:.45rem .8rem;
  font-family:var(--font-head);font-weight:700;font-size:.95rem;min-height:40px;cursor:pointer}
.menu-btn .bars{width:18px;height:13px;position:relative;display:inline-block}
.menu-btn .bars::before,.menu-btn .bars::after,.menu-btn .bars i{position:absolute;left:0;right:0;
  height:2.5px;background:var(--ink);border-radius:2px;content:""}
.menu-btn .bars::before{top:0}.menu-btn .bars i{top:5px}.menu-btn .bars::after{bottom:0}

@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .primary-nav{order:4;display:none}
  .primary-nav.open{display:block}
  .primary-nav ul{flex-direction:column;align-items:stretch;gap:.15rem;margin:.5rem 0 .3rem}
  .primary-nav a{justify-content:flex-start;border-radius:12px;font-size:1.05rem;min-height:46px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;
  padding:.7rem 1.4rem;border-radius:999px;font-family:var(--font-head);font-weight:700;
  font-size:1.02rem;text-decoration:none;cursor:pointer;border:2px solid transparent}
.btn-primary{background:var(--gold);color:var(--gold-deep);border-color:var(--gold-deep)}
.btn-primary:hover{background:var(--gold-deep);color:var(--gold)}
.btn-teal{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.btn-teal:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ghost{background:transparent;color:var(--teal-deep);border-color:var(--teal-deep)}
.btn-ghost:hover{background:var(--teal-wash)}
.btn-lg{font-size:1.1rem;min-height:54px;padding:.85rem 1.7rem}

/* ---------- motif: the "together" cluster ---------- */
.cluster{display:inline-block;position:relative;width:54px;height:30px}
.cluster i{position:absolute;border-radius:50%;display:block}
.cluster i:nth-child(1){width:24px;height:24px;left:0;top:3px;background:var(--teal)}
.cluster i:nth-child(2){width:24px;height:24px;right:0;top:3px;background:var(--gold)}
.cluster i:nth-child(3){width:20px;height:20px;left:17px;top:0;background:var(--teal-deep);opacity:.85}
.divider{display:flex;align-items:center;gap:1rem;color:var(--line);margin:0}
.divider::before,.divider::after{content:"";height:2px;background:var(--line);flex:1;border-radius:2px}

/* ---------- generic sections ---------- */
section{padding:clamp(2.6rem,6vw,4.4rem) 0}
.section-room{position:relative;overflow:hidden;color:#eafdff;
  background:
    linear-gradient(180deg,rgba(8,58,64,.9) 0%,rgba(5,42,47,.95) 100%),
    url("room-dusk.jpg") center 40%/cover no-repeat}
.section-room>.wrap{position:relative;z-index:1}
.section-room h2,.section-room h3{color:#fff}
.section-room a:not(.btn){color:var(--gold-soft)}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-head);
  font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-deep);margin:0 0 .8rem}
.section-room .eyebrow{color:var(--gold-soft)}
.lead{font-size:1.18rem;color:var(--ink-soft);max-width:60ch}
.section-room .lead{color:#cfeef1}

/* ---------- porch-window photo frame ---------- */
.porch{background:var(--gold);padding:0 0 12px;border-radius:var(--rad-lg);
  box-shadow:var(--shadow);position:relative}
.porch img{border-radius:var(--rad-lg) var(--rad-lg) 6px 6px;width:100%;height:100%;object-fit:cover;
  display:block;aspect-ratio:4/3}
.porch figcaption{color:var(--gold-deep);font-size:.82rem;font-weight:600;padding:.5rem 1rem .2rem;text-align:center}
figure{margin:0}

/* ---------- search (header + page) ---------- */
.searchbar{display:flex;gap:.5rem;width:100%}
.searchbar .field{position:relative;flex:1}
.searchbar input[type=search]{width:100%;font:inherit;padding:.85rem 1rem .85rem 2.6rem;
  border:2px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);min-height:52px}
.searchbar input[type=search]:focus{border-color:var(--teal);outline:none;
  box-shadow:0 0 0 4px rgba(0,194,207,.22)}
.searchbar .ico{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border:2.5px solid var(--teal-deep);border-radius:50%;pointer-events:none}
.searchbar .ico::after{content:"";position:absolute;right:-6px;bottom:-5px;width:9px;height:2.5px;
  background:var(--teal-deep);transform:rotate(45deg);border-radius:2px}
.searchbar button{flex:none}
.search-results{margin-top:1.2rem;display:grid;gap:.7rem}
.result{display:block;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--teal);
  border-radius:14px;padding:.9rem 1.1rem;text-decoration:none;color:var(--ink)}
.result:hover{box-shadow:var(--shadow);border-left-color:var(--gold)}
.result .kicker{font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--teal-deep)}
.result h3{margin:.15rem 0 .2rem;font-size:1.12rem}
.result p{margin:0;color:var(--ink-soft);font-size:.96rem}
.result mark{background:var(--gold-soft);color:var(--gold-deep);border-radius:3px;padding:0 .1em}
.search-empty{background:var(--teal-wash);border-radius:14px;padding:1.4rem;color:var(--ink-soft)}
.search-empty .cluster{margin-bottom:.6rem;filter:grayscale(.3);opacity:.8}

/* ---------- cards / doors / grids ---------- */
.grid{display:grid;gap:1.3rem}
.doors{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.door{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);
  padding:1.5rem 1.4rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:.4rem;transition:transform .15s ease,box-shadow .15s ease}
.door .num{font-family:var(--font-head);font-weight:800;color:var(--gold-ink);font-size:.9rem;letter-spacing:.1em}
.door h3{margin:0}
.door p{margin:0;color:var(--ink-soft);font-size:1rem}
.door .go{margin-top:auto;font-family:var(--font-head);font-weight:700;color:var(--teal-deep)}
.door::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:var(--rad) 0 0 var(--rad);
  background:var(--teal)}
.door:nth-child(2)::before{background:var(--gold)}
.door:nth-child(3)::before{background:var(--teal-deep)}
.door:nth-child(4)::before{background:var(--gold-ink)}
@media (prefers-reduced-motion:no-preference){.door:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}
.door:hover{box-shadow:var(--shadow-lg)}

.cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:1.4rem;box-shadow:var(--shadow)}
.card h3{margin-top:0}

/* program list (joined-disc markers) */
.proglist{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.proglist li{padding:.2rem 0}
.proglist a{display:flex;gap:.9rem;align-items:flex-start;text-decoration:none;color:var(--ink);
  padding:.85rem 1rem;border-radius:14px;border:1px solid transparent}
.proglist a:hover{background:var(--teal-wash);border-color:var(--line)}
.proglist .dot{flex:none;width:26px;height:18px;position:relative;margin-top:.25rem}
.proglist .dot::before,.proglist .dot::after{content:"";position:absolute;top:0;width:16px;height:16px;border-radius:50%}
.proglist .dot::before{left:0;background:var(--teal)}
.proglist .dot::after{right:0;background:var(--gold)}
.proglist b{font-family:var(--font-head);font-weight:700;display:block}
.proglist span{color:var(--ink-soft);font-size:.95rem}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:1.3rem}
.stat b{font-family:var(--font-head);font-weight:800;font-size:2.3rem;display:block;color:var(--teal-deep);line-height:1}
.stat span{color:var(--ink-soft);font-size:.95rem;display:block;margin-top:.4rem}
.stat em{display:block;font-size:.74rem;color:var(--ink-soft);font-style:normal;margin-top:.3rem}

/* ---------- hero ---------- */
.hero{padding-top:clamp(2.4rem,5vw,3.8rem);padding-bottom:clamp(2.6rem,6vw,4rem);position:relative;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(100deg,rgba(251,250,247,.975) 0%,rgba(251,250,247,.95) 44%,rgba(251,250,247,.52) 100%),
    url("hero-pines.jpg") right center/cover no-repeat}
@media(max-width:820px){
  .hero{background:
    linear-gradient(180deg,rgba(251,250,247,.97) 0%,rgba(251,250,247,.93) 100%),
    url("hero-pines.jpg") center/cover no-repeat}
}
.hero-grid{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:center;grid-template-columns:1.1fr .9fr}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}}
.hero h1{margin-bottom:.4rem}
.hero .lead{margin-bottom:1.4rem}
.hero .hero-search{margin-top:1.3rem}
.hero .hint{font-size:.9rem;color:var(--ink-soft);margin-top:.6rem}
.hero .hint a{color:var(--teal-deep);font-weight:600}
.hero figure.porch img{aspect-ratio:5/4}
.hero-photoscrim{position:relative}

/* ---------- forms ---------- */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-lg);
  padding:clamp(1.3rem,3vw,2.2rem);box-shadow:var(--shadow);max-width:680px}
fieldset{border:1px solid var(--line);border-radius:var(--rad);padding:1.2rem 1.2rem 1.4rem;margin:0 0 1.4rem}
legend{font-family:var(--font-head);font-weight:700;padding:0 .5rem;color:var(--teal-deep)}
.field-row{display:grid;gap:1rem;margin-bottom:1rem}
@media(min-width:560px){.field-row.two{grid-template-columns:1fr 1fr}}
label{display:block;font-weight:600;margin-bottom:.35rem}
label .req{color:var(--gold-ink)}
input,select,textarea{font:inherit;width:100%;padding:.7rem .85rem;border:2px solid var(--line);
  border-radius:12px;background:var(--card);color:var(--ink);min-height:48px}
textarea{min-height:120px}
input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 4px rgba(0,194,207,.2)}
.help{font-size:.86rem;color:var(--ink-soft);margin:.3rem 0 0}
.choice{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .8rem;border:2px solid var(--line);
  border-radius:12px;margin-bottom:.6rem;cursor:pointer}
.choice:hover{border-color:var(--teal)}
.choice input{width:auto;min-height:auto;margin-top:.2rem}
.err{color:var(--err);font-weight:600;font-size:.9rem;margin:.3rem 0 0}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--err);background:#fdf3f1}
.form-note{background:var(--gold-soft);color:var(--gold-deep);border-radius:12px;padding:.7rem 1rem;
  font-size:.9rem;font-weight:600;margin-bottom:1.4rem}
.form-ok{background:var(--teal-wash);border:1px solid var(--teal);border-radius:var(--rad);
  padding:1.3rem 1.4rem;margin-top:1rem}
.form-ok h3{margin-top:0;color:var(--teal-deep)}

/* donation amounts */
.amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.7rem;margin:.4rem 0 1rem}
.amount{position:relative}
.amount input{position:absolute;opacity:0;inset:0;cursor:pointer}
.amount span{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px solid var(--line);
  border-radius:14px;font-family:var(--font-head);font-weight:800;font-size:1.2rem;background:var(--card)}
.amount input:checked+span{border-color:var(--gold-ink);background:var(--gold);color:var(--gold-deep)}
.amount input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.toggle{display:flex;gap:.7rem;align-items:center;background:var(--teal-wash);border-radius:14px;padding:.8rem 1rem;margin:.6rem 0 1.2rem}
.toggle input{width:auto;min-height:auto}
.give-breakdown{display:grid;gap:.7rem;margin-top:1rem}
.give-breakdown li{list-style:none;display:flex;gap:.8rem;align-items:baseline;background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem}
.give-breakdown b{font-family:var(--font-head);color:var(--teal-deep);min-width:3.4rem}

/* ---------- news / events ---------- */
.feed{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;
  box-shadow:var(--shadow);display:flex;flex-direction:column}
.post .body{padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.post .chan{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;
  font-family:var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep)}
.post .chan::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--teal)}
.post.fb .chan::before{background:rgb(24 119 242)}.post.ig .chan::before{background:rgb(214 41 118)}
.post.li .chan::before{background:rgb(10 102 194)}.post.ev .chan::before{background:var(--gold-ink)}
.post h3{margin:0;font-size:1.1rem}
.post time{font-size:.84rem;color:var(--ink-soft)}
.post .meta{margin-top:auto;font-size:.84rem;color:var(--ink-soft)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.filters button{background:var(--card);border:2px solid var(--line);border-radius:999px;padding:.45rem 1rem;
  font-family:var(--font-head);font-weight:700;font-size:.92rem;min-height:42px;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}

/* events list */
.events{display:grid;gap:.8rem}
.event{display:grid;grid-template-columns:auto 1fr;gap:1rem;background:var(--card);border:1px solid var(--line);
  border-radius:var(--rad);padding:1rem 1.2rem;align-items:center}
.event .date{text-align:center;background:var(--teal-wash);border-radius:12px;padding:.5rem .7rem;min-width:62px}
.event .date b{display:block;font-family:var(--font-head);font-weight:800;font-size:1.5rem;color:var(--teal-deep);line-height:1}
.event .date span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}

/* ---------- locations ---------- */
.loc-grid{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.loc{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow)}
.loc .map{height:170px;position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.loc .map img{width:100%;height:100%;object-fit:cover;display:block}
.loc .body{padding:1.2rem 1.3rem}
.loc h3{margin-top:0}
.loc address{font-style:normal;color:var(--ink-soft);line-height:1.7}
.loc a{font-weight:600}

/* ---------- before/after accessibility ---------- */
.ba{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1.2rem 0}
.ba .col{border-radius:var(--rad);padding:1.2rem 1.3rem;border:1px solid var(--line)}
.ba .before{background:rgb(251 242 238);border-color:rgb(232 201 189)}
.ba .after{background:var(--teal-wash);border-color:var(--teal)}
.ba h3{margin:.2rem 0 .5rem;font-family:var(--font-head);font-size:1.05rem}
.ba .tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-head)}
.ba .before .tag{color:var(--err)}.ba .after .tag{color:var(--teal-deep)}
.ba .swatch-row{display:flex;align-items:center;gap:.6rem;margin:.4rem 0 .2rem}
.ba .swatch{width:48px;height:30px;border-radius:8px;flex:none;border:1px solid rgba(0,0,0,.12)}
.ba .swatch-gold{background:var(--gold)}
.ba .swatch-note{font-size:.86rem;font-weight:600;color:var(--ink)}
.ba .demo-good{display:inline-block;background:var(--gold);color:var(--gold-deep);font-weight:800;
  padding:.5rem 1rem;border-radius:8px;border:2px solid var(--gold-deep)}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.checklist li{display:flex;gap:.7rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:.8rem 1rem}
.checklist .ck{flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal-deep);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;margin-top:.1rem}

/* ---------- callout / CTA band ---------- */
.cta-room{display:grid;gap:1.4rem;align-items:center;grid-template-columns:1.2fr .8fr}
@media(max-width:760px){.cta-room{grid-template-columns:1fr}}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.twoact{display:grid;gap:1.3rem;grid-template-columns:1fr 1fr}
@media(max-width:680px){.twoact{grid-template-columns:1fr}}
.split2{display:grid;gap:2.2rem;align-items:start;grid-template-columns:1fr 1fr}
@media(max-width:760px){.split2{grid-template-columns:1fr}}
.act{border-radius:var(--rad-lg);padding:1.6rem;border:1px solid var(--line)}
.act.give{background:var(--gold-soft)}
.act.give h3,.act.give .eyebrow{color:var(--gold-deep)}
.act.vol{background:var(--teal-wash)}

/* ---------- page header band ---------- */
.page-head{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
  padding:clamp(2rem,5vw,3.2rem) 0 clamp(1.6rem,4vw,2.6rem);
  background:
    linear-gradient(0deg,rgba(229,249,251,.86),rgba(229,249,251,.92)),
    url("hero-pines.jpg") center 38%/cover no-repeat}
.page-head::after{content:"";position:absolute;right:clamp(-30px,-2vw,-10px);bottom:-26px;
  width:clamp(140px,18vw,210px);height:clamp(140px,18vw,210px);
  background:url("pine-sprig.png") right bottom/contain no-repeat;
  opacity:.55;pointer-events:none;transform:scaleX(-1)}
.page-head .wrap{position:relative;z-index:1}
.crumb{font-size:.86rem;color:var(--ink-soft);margin-bottom:.6rem}
.crumb a{color:var(--teal-deep);font-weight:600}
.page-head p.lead{margin-bottom:0}

/* ---------- footer ---------- */
.site-foot{position:relative;color:#cfe9ec;padding:clamp(2.4rem,5vw,3.4rem) 0 2rem;
  background-color:var(--teal-room-2);
  background-image:
    linear-gradient(180deg,rgba(5,42,47,.93) 0%,rgba(5,42,47,.97) 100%),
    url("room-dusk.jpg");
  background-size:cover;background-position:center 60%;background-repeat:no-repeat}
.site-foot>.wrap{position:relative;z-index:1}
.foot-grid{display:grid;gap:1.6rem;grid-template-columns:1.3fr 1fr 1fr 1.2fr}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}
.site-foot h3{color:#fff;font-size:1.04rem;margin-bottom:.6rem}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:hover{color:var(--gold-soft);text-decoration:underline}
.site-foot address{font-style:normal;line-height:1.8;color:#bfe2e6}
.site-foot ul{list-style:none;margin:0;padding:0;line-height:2}
.foot-logo{display:block;height:42px;width:auto}
.foot-disclaim{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.3rem;
  font-size:.84rem;color:#9fc7cc;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-disclaim .cluster{transform:scale(.8)}

/* utilities */
.center{text-align:center}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.tag-sample{display:inline-block;background:var(--gold-soft);color:var(--gold-deep);font-size:.72rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.15rem .6rem;vertical-align:middle}
.prose{max-width:68ch}
.prose h2{margin-top:1.8rem}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:.4rem}
.flow>*+*{margin-top:1.1rem}

/* ---------- visual polish: door icons, motif sprig, accents ---------- */
.door .door-ico{width:60px;height:60px;display:flex;align-items:center;justify-content:center;
  border-radius:16px;background:var(--teal-wash);margin-bottom:.3rem;
  transition:background .15s ease,transform .15s ease}
.door .door-ico img{width:38px;height:38px;object-fit:contain;display:block}
.door:nth-child(2) .door-ico{background:var(--gold-soft)}
.door:nth-child(4) .door-ico{background:var(--gold-soft)}
@media (prefers-reduced-motion:no-preference){.door:hover .door-ico{transform:scale(1.06) rotate(-3deg)}}

/* longleaf pine sprig, domain motif */
.motif-sprig{display:block;margin:0 auto;width:clamp(48px,7vw,68px);height:auto;opacity:.92}
.divider-sprig{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin:0;color:var(--line)}
.divider-sprig::before,.divider-sprig::after{content:"";height:2px;background:var(--line);
  flex:1;max-width:200px;border-radius:2px}

/* stat cards get a warm top accent so the strip is not flat */
.stat{border-top:3px solid var(--teal);position:relative}
.stat:nth-child(2),.stat:nth-child(4){border-top-color:var(--gold)}

/* 404 / empty motif */
.notfound-sprig{width:clamp(70px,12vw,104px);height:auto;margin:.5rem auto 1.4rem;display:block;opacity:.9}
