/* ===== BRAND PALETTE — matched to Battle to Bloom logo (navy · sunflower gold · ribbon pink · ivory) ===== */
:root{
  --rose:#c85d84;        /* ribbon pink — primary CTA */
  --rose-dk:#25355b;     /* navy — headings & hover (from logo script) */
  --rose-lt:#e7a6bd;
  --blush:#f6d6df;       /* soft pink */
  --blush-soft:#fdf2f5;  /* palest pink */
  --sage:#6f8b4e;        /* leaf green — "grow" */
  --sage-dk:#526a39;
  --cream:#fbf7ec;       /* warm ivory */
  --ivory:#fffdf7;
  --ink:#2c2f3a;
  --muted:#7f7d89;
  --line:#ece1cf;
  --gold:#e3a72f;        /* sunflower gold */
  --gold-dk:#bf861a;
  --navy:#25355b;
  --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--ink);background:var(--ivory);line-height:1.75;font-weight:300}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;line-height:1.14}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.narrow{max-width:820px;margin:0 auto}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-dk);font-weight:500}
.btn{display:inline-block;background:var(--rose);color:#fff;font-family:'Poppins';font-weight:500;padding:14px 30px;border-radius:40px;font-size:.82rem;letter-spacing:.06em;transition:.22s;border:none;cursor:pointer}
.btn:hover{background:var(--rose-dk)}
.btn-ghost{background:transparent;color:var(--rose-dk);border:1px solid var(--rose)}
.btn-ghost:hover{background:var(--rose);color:#fff}
.btn-sage{background:var(--sage);}
.btn-sage:hover{background:var(--sage-dk)}
.btn-light{background:#fff;color:var(--rose-dk)}
.btn-light:hover{background:var(--blush)}
.sec-h{font-size:2.6rem;color:var(--rose-dk);line-height:1.1;margin:8px 0 16px}
.sec-sub{color:var(--muted);max-width:660px;font-size:1.04rem}
.pad{padding:90px 0}.center{text-align:center}.center .sec-sub{margin:0 auto}
.rule{width:56px;height:2px;background:var(--sage);margin:0 auto 22px;border-radius:2px}
/* announcement */
.announce{background:var(--rose-dk);color:#fbe7ec;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding:9px 20px}
/* header */
header{position:sticky;top:0;z-index:200;background:rgba(255,253,251,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding:15px 28px;gap:16px}
.logo{display:flex;align-items:center;gap:12px}
.logo .mark{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 50% 42%,var(--gold) 0%,var(--gold-dk) 70%);display:flex;align-items:center;justify-content:center;color:var(--navy);font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem;flex:0 0 auto;border:2px solid var(--cream);box-shadow:0 0 0 1px var(--gold-dk)}
.logo b{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--rose-dk);line-height:1}
.logo small{display:block;font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-dk);font-weight:500;margin-top:3px}
nav.main{display:flex;gap:26px;align-items:center}
nav.main a:not(.btn){font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}
nav.main a:not(.btn):hover{color:var(--rose)}
@media(max-width:940px){nav.main a:not(.btn){display:none}}
/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--blush-soft) 0%,var(--cream) 55%,#f2ede4 100%)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,rgba(201,106,134,.14),transparent 42%),radial-gradient(circle at 12% 88%,rgba(138,154,123,.16),transparent 44%)}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:84px 28px}
.hero h1{font-size:3.6rem;color:var(--rose-dk);margin:16px 0 14px;line-height:1.08}
.hero h1 em{font-style:italic;color:var(--gold-dk)}
.hero p{max-width:520px;margin:0 0 30px;color:var(--ink);font-size:1.06rem}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hero-photo{position:relative;height:440px;border-radius:16px;background:linear-gradient(150deg,var(--rose-lt),var(--sage));display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 30px 60px rgba(142,63,92,.2)}
.hero-photo span{position:relative;z-index:2;margin:20px;color:#fff;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);padding:5px 12px;border-radius:20px}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:30px}.hero h1{font-size:2.6rem}.hero-photo{order:-1;height:300px}}
/* ribbon divider */
.mission{background:var(--white);text-align:center}
.mission p{font-family:'Playfair Display',serif;font-size:1.7rem;line-height:1.5;color:var(--rose-dk);max-width:860px;margin:0 auto;font-weight:500}
.mission .sig{margin-top:18px;font-family:'Playfair Display',serif;font-style:italic;color:var(--sage-dk);font-size:1.05rem}
/* story */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
@media(max-width:860px){.story{grid-template-columns:1fr;gap:32px}}
.story-photo{height:460px;border-radius:16px;background:linear-gradient(150deg,var(--sage),var(--rose-lt));display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 26px 54px rgba(95,110,82,.2)}
.story-photo span{margin:18px;color:#fff;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);padding:5px 12px;border-radius:20px}
.story h2{font-size:2.4rem;color:var(--rose-dk);margin:8px 0 16px}
.story p{color:var(--ink);margin-bottom:16px}
.ph-note{background:var(--blush-soft);border:1px dashed var(--rose-lt);border-radius:10px;padding:14px 18px;font-size:.82rem;color:var(--rose-dk);margin-top:8px}
/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}
.pillar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px 30px;text-align:left;transition:.2s;display:flex;flex-direction:column}
.pillar:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(142,63,92,.14)}
.pillar .ic{width:54px;height:54px;border-radius:14px;background:var(--blush);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pillar .ic svg{width:26px;height:26px;fill:var(--rose-dk)}
.pillar h3{font-size:1.4rem;color:var(--rose-dk);margin-bottom:8px}
.pillar p{font-size:.94rem;color:var(--muted);margin-bottom:18px;flex:1}
.pillar a{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-dk);font-weight:500}
.pillar a:hover{color:var(--rose)}
/* impact */
.impact{background:linear-gradient(160deg,var(--cream),var(--blush-soft))}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
@media(max-width:720px){.stats{grid-template-columns:1fr}}
.stat{background:#fff;border-radius:14px;padding:30px 26px;text-align:center;border:1px solid var(--line)}
.stat .n{font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--rose);font-weight:700;line-height:1}
.stat .l{font-size:.9rem;color:var(--ink);margin-top:8px}
.impact .foot{font-size:.78rem;color:var(--muted);text-align:center;margin-top:26px;max-width:760px;margin-left:auto;margin-right:auto}
.impact .foot a{color:var(--rose-dk);text-decoration:underline}
/* donate band */
.donate-band{background:linear-gradient(140deg,var(--rose),var(--rose-dk));color:#fff;text-align:center;position:relative;overflow:hidden}
.donate-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.12),transparent 40%)}
.donate-band .wrap{position:relative;z-index:2}
.donate-band h2{color:#fff;font-size:2.4rem;margin-bottom:12px}
.donate-band p{color:#fbe3ea;max-width:600px;margin:0 auto 26px}
/* newsletter */
.news{text-align:center}
.news form{display:flex;gap:10px;max-width:480px;margin:24px auto 0}
.news input{flex:1;padding:14px 18px;border:1px solid var(--line);border-radius:40px;font-family:'Poppins';font-size:.9rem}
.news input:focus{outline:none;border-color:var(--rose)}
@media(max-width:520px){.news form{flex-direction:column}}
/* footer */
footer{background:var(--rose-dk);color:#f3d9e0;padding:56px 0 26px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
@media(max-width:760px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:14px}
footer a{color:#f3d9e0}footer a:hover{color:#fff}
footer .fl{display:block;margin-bottom:8px;font-size:.9rem}
.socials{display:flex;gap:12px;margin-top:14px}
.socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:.2s}
.socials a:hover{background:var(--sage)}
.socials svg{width:19px;height:19px;fill:#fff}
.disc{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:20px;font-size:.74rem;color:#e3bcc8;line-height:1.7}
.copy{margin-top:14px;font-size:.74rem;color:#dcb0be}
.demo-tag{background:var(--sage-dk);color:#eef2e8;text-align:center;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:8px 20px}
/* values HEAL GROW BLOOM TOGETHER */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
@media(max-width:820px){.values{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.values{grid-template-columns:1fr}}
.val{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 24px;text-align:center;border-top:4px solid var(--gold)}
.val h3{font-size:1.5rem;color:var(--rose-dk);margin-bottom:8px;letter-spacing:.02em}
.val p{font-size:.9rem;color:var(--muted)}
.val:nth-child(2){border-top-color:var(--sage)}
.val:nth-child(3){border-top-color:var(--rose)}
.val:nth-child(4){border-top-color:var(--navy)}
/* prose (story/legal) */
.prose p{margin-bottom:18px;color:var(--ink)}
.prose h3{color:var(--rose-dk);font-size:1.5rem;margin:30px 0 12px}
.legal-card{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:26px 30px;margin-top:24px;font-size:.94rem}
.legal-card b{color:var(--rose-dk)}
/* donation tiers */
.gift-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
@media(max-width:640px){.gift-grid{grid-template-columns:1fr}}
.gift{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;display:flex;gap:18px;align-items:flex-start;transition:.2s}
.gift:hover{border-color:var(--rose);box-shadow:0 16px 40px rgba(142,63,92,.12)}
.gift .amt{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--rose);font-weight:700;line-height:1;flex:0 0 auto;min-width:78px}
.gift .amt.custom{color:var(--sage-dk)}
.gift p{font-size:.92rem;color:var(--muted);margin:0}
.gift a{display:block;margin-top:10px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-dk);font-weight:600}
/* shop */
.cat-h{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--rose-dk);margin:44px 0 4px;display:flex;align-items:center;gap:12px}
.cat-h::before{content:"";width:26px;height:3px;background:var(--gold);border-radius:2px}
.merch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:20px}
@media(max-width:900px){.merch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.merch-grid{grid-template-columns:1fr}}
.merch{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s}
.merch:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(142,63,92,.14)}
.merch .thumb{height:150px;background:linear-gradient(150deg,var(--blush),var(--rose-lt));display:flex;align-items:center;justify-content:center;color:#fff}
.merch .thumb svg{width:40px;height:40px;fill:#fff;opacity:.85}
.merch .b{padding:16px 18px}
.merch h4{font-family:'Poppins';font-weight:600;font-size:.98rem;color:var(--ink)}
.merch .pr{font-size:.82rem;color:var(--sage-dk);margin-top:4px;font-weight:500}
/* quote form (coffee) */
.qform{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 34px;box-shadow:0 20px 50px rgba(37,53,91,.08);max-width:760px;margin:34px auto 0}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.qgrid{grid-template-columns:1fr}}
.qf{margin-bottom:4px}
.qf.full{grid-column:1/-1}
.qf label{display:block;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage-dk);font-weight:500;margin-bottom:6px}
.qf input,.qf select,.qf textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:'Poppins';font-size:.92rem;font-weight:300}
.qf input:focus,.qf select:focus,.qf textarea:focus{outline:none;border-color:var(--rose)}
/* event tags */
.event-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;justify-content:center}
.event-tags span{background:var(--blush-soft);border:1px solid var(--blush);color:var(--rose-dk);font-size:.82rem;padding:8px 16px;border-radius:30px}
/* resources */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
@media(max-width:860px){.res-grid{grid-template-columns:1fr}}
.res{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 26px;border-left:4px solid var(--sage)}
.res h3{font-size:1.2rem;color:var(--rose-dk);margin-bottom:8px}
.res p{font-size:.92rem;color:var(--muted)}
/* media features */
.media-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
@media(max-width:760px){.media-row{grid-template-columns:1fr}}
.media{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;transition:.2s}
.media:hover{border-color:var(--rose);box-shadow:0 14px 34px rgba(142,63,92,.1)}
.media .src{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);font-weight:600}
.media h4{font-family:'Poppins';font-weight:600;font-size:1rem;color:var(--rose-dk);margin:8px 0 4px}
.media span{font-size:.84rem;color:var(--rose);font-weight:500}
.logo-img{height:60px;width:auto;display:block;border-radius:8px}
@media(max-width:520px){.logo-img{height:50px}}
