/* ============================================================
   EDIT LOOK HERE: colors, fonts and images for the whole site.
   Look echoes the original Google Site (cosmic banner, black band, Lato).
   ============================================================ */
:root{
  --hero-img:url("assets/hero-banner.jpg");   /* hero banner art */
  --night:#0b0b12;      /* near-black bands (Google Site band) */
  --deep:#16123a;       /* deep space navy */
  --ink:#ffffff;        /* text on dark */
  --muted:#c9c4e6;
  --teal:#3fd0d4;       /* banner teal swirl */
  --pink:#ff4f9a;       /* banner magenta */
  --orange:#ff9a3c;     /* banner planet orange */
  --paper:#f6f4fb;      /* light page background */
  --text:#1c1838;
  --font:"Lato",system-ui,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font:400 1.0625rem/1.65 var(--font);color:var(--text);background:var(--paper)}
h1,h2,h3{font-family:var(--font);font-weight:900;line-height:1.15;margin:0 0 .5em}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}

/* Hero: cosmic banner with dark overlay, like the Google Site header */
.hero{position:relative;color:var(--ink);text-align:center;padding:clamp(2.5rem,7vh,4rem) 0 clamp(2.75rem,7.5vh,4.25rem);
  background:linear-gradient(180deg,rgba(11,11,18,.55),rgba(11,11,18,.7) 70%,var(--night)),var(--hero-img) center/cover no-repeat,var(--night)}
.hero h1{font-size:clamp(2.3rem,6.5vw,4.3rem);text-shadow:0 3px 18px rgba(0,0,0,.6)}
.eyebrow{display:inline-block;color:var(--ink);background:rgba(11,11,18,.55);border:1px solid rgba(255,255,255,.25);padding:.3rem .9rem;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700}
.tagline{font-size:clamp(1.4rem,3.5vw,2.2rem);font-weight:900;margin:.2em 0;
  background:linear-gradient(90deg,var(--teal),var(--pink),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.logo{width:clamp(130px,min(22vw,22vh),190px);height:auto;aspect-ratio:1/1;object-fit:contain;padding:clamp(10px,1.6vw,16px);margin:0 auto .9rem;display:block;border-radius:22px;background:rgba(11,11,18,.55);box-shadow:0 0 0 2px rgba(63,208,212,.35),0 0 40px rgba(63,208,212,.35)}
.btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.2rem}
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px)}
.primary{background:linear-gradient(90deg,var(--teal),#7fe3c9);color:var(--night);box-shadow:0 6px 20px rgba(63,208,212,.35)}
.ghost{border:2px solid currentColor;color:inherit}
.hero .ghost{color:var(--ink);background:rgba(11,11,18,.35)}

/* Wavy rainbow divider under the hero (echoes the banner swirls) */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--teal),var(--pink),var(--orange),var(--teal))}

section.wrap{padding:3.4rem 1.25rem}
h2{font-size:2.1rem;color:var(--deep)}
h2::after{content:"";display:block;width:72px;height:5px;margin-top:.45rem;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--pink),var(--orange))}
.mission{margin:0 0 1.25rem;padding:1.4rem 1.6rem;background:var(--deep);color:var(--ink);border-radius:16px;font-size:1.25rem;font-weight:700;border-left:6px solid var(--pink);box-shadow:0 10px 30px rgba(22,18,58,.18)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{position:relative;background:#fff;border-radius:18px;padding:1.6rem;box-shadow:0 8px 24px rgba(22,18,58,.1);overflow:hidden}
.card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--teal)}
.card:nth-child(2)::before{background:var(--pink)}
.card:nth-child(3)::before{background:var(--orange)}

/* Black band with banner art, like the Google Site event band */
.band{margin:1rem auto;padding:2.5rem 1.5rem!important;color:var(--ink);border-radius:22px;text-align:center;
  background:linear-gradient(rgba(11,11,18,.82),rgba(11,11,18,.82)),var(--hero-img) center/cover,var(--night)}
.band h2{color:var(--ink)}
.band h2::after{margin:.45rem auto 0}
.todo{background:#fff3b0;color:#5a4300;border:2px dashed #c9a400;box-shadow:none}

.photo{margin:0 auto;padding:1rem 1.25rem 0}
.photo img{width:100%;height:auto;border-radius:22px;display:block;box-shadow:0 0 0 5px #fff,0 0 0 9px var(--teal),0 18px 40px rgba(22,18,58,.25)}
.photo figcaption{text-align:center;color:#5d5790;font-size:.9rem;margin-top:1rem}
.split{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.split p{margin-top:0}
.art{width:100%;max-width:320px;height:auto;justify-self:center;border-radius:50%;box-shadow:0 0 0 6px #fff,0 0 50px rgba(255,79,154,.4)}

footer{background:var(--night);color:var(--muted);padding:1.75rem 0;text-align:center;margin-top:1.5rem;border-top:6px solid;border-image:linear-gradient(90deg,var(--teal),var(--pink),var(--orange)) 1}
footer strong{color:var(--ink)}
.small{font-size:.85rem}
a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
@media (max-width:700px){.split{grid-template-columns:1fr}.art{max-width:220px}.hero{padding:3rem 0 3.25rem}}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

/* Art projects gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}
.gallery-item{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(22,18,58,.1)}
.gallery-item img{width:100%;height:200px;object-fit:cover;display:block}
.gallery-item figcaption{padding:.75rem 1rem;font-size:.9rem;color:#5d5790;text-align:center}
.gallery-item.placeholder .ph{height:200px;display:flex;align-items:center;justify-content:center;background:#fff3b0;color:#5a4300;border:2px dashed #c9a400;font-weight:700;font-size:.95rem;text-align:center;padding:1rem}
.gallery-item.placeholder figcaption{color:#5a4300}

/* Workshops & events list */
.event-list{list-style:none;padding:0;margin:1.25rem 0 0}
.event-list li{background:#fff;border-radius:14px;padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:0 6px 18px rgba(22,18,58,.08)}
.todo-item{background:#fff3b0!important;color:#5a4300;border:2px dashed #c9a400;font-weight:700}

/* Transparency doc links */
.doc-links{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.75rem}
.doc-links a{display:inline-block;padding:.7rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:700}

/* Nonprofit checklist additions */
.taxline{font-size:.95rem;opacity:.9;margin-top:1rem}
.note{padding:.8rem 1.1rem;border-radius:12px;margin:1rem 0}
.board{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:.6rem}
.board li{font-weight:700;font-size:1.1rem}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.7rem 1.5rem;margin:1.5rem 0}
.facts dt{font-weight:900}
.facts dd{margin:0}
@media (max-width:600px){.facts{grid-template-columns:1fr;gap:.2rem}.facts dd{margin-bottom:.7rem}}
footer a{color:var(--ink)}
.privacy-todo{max-width:720px;margin:4rem auto;padding:0 1.25rem}

/* Desktop: hero stays within ~60vh via vh-based padding/logo (no max-height, so nothing clips) */
@media (min-width:900px){.hero{padding:clamp(2rem,5vh,3rem) 0 clamp(2.25rem,5.5vh,3.25rem)}.hero .logo{width:clamp(130px,17vh,170px)}.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);margin-bottom:.3em}.hero .tagline{margin:.1em 0}.hero .btns{margin-top:1rem}}

/* Camp life legacy strip */
.legacy-strip .gallery-item img{height:260px}
.hero .lead{max-width:40rem;margin:.5em auto 0;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.5;opacity:.92}
