
/* ── Card icons ──
   The real Buzz icon library (assets/img/icons/) is black line art on a
   transparent background, so it needs an explicit box: without these rules the
   PNGs render at their intrinsic ~1100px size and get squashed to 0px inside a
   flex row, which is what was happening live. Icons are never force-lightened
   with a CSS filter — where an icon lands on the black freedoms band it sits on
   a light tile instead, so the line art stays crisp. */
.card-icon{display:block;width:56px;height:56px;object-fit:contain;flex-shrink:0;margin:0 0 18px}
.freedom-card .card-icon{width:56px;height:56px;margin:0;padding:9px;background:#f4f4ee;border-radius:14px}

/* ── Freedoms ── */
.freedoms-section{background:#070707;padding:72px 22px}
/* Guides + Mindsets joined the nav on 27 Jul (114 of 141 pages were footer-only
   before that). Ten items overflow the header between the 960px hamburger
   breakpoint and ~1200px, so tighten spacing across that band. */
@media(min-width:961px) and (max-width:1200px){.nav-menu a{padding:10px 7px;font-size:.86rem}}
@media(min-width:961px) and (max-width:1040px){.nav-menu a{padding:9px 5px;font-size:.82rem}}
.freedoms-grid{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto;align-items:stretch}
.freedoms-label{color:#fff;font-family:"Anton",Impact,sans-serif;font-size:clamp(18px,2.2vw,26px);line-height:1.3;padding-right:24px;max-width:220px;display:flex;flex-direction:column;justify-content:center}
.freedom-card{display:flex;gap:14px;align-items:flex-start;background:#111;border:2px solid #2a2a2a;border-radius:14px;padding:20px}
.freedom-card-text strong{display:block;color:#fff;font-size:15px;font-weight:900;margin-bottom:6px}
.freedom-card-text span{color:#9a9a8e;font-size:13px;line-height:1.5}
.freedom-card svg{flex-shrink:0}

/* ── Ecosystem ── */
.ecosystem-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:1180px;margin:0 auto}
.eco-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;background:#fff;border:2px solid #dedede;border-radius:10px;color:#202020;font-weight:700;font-size:0.8rem;text-align:center;transition:border-color .2s,background .2s}
.eco-card:hover{border-color:#cfea3d;background:#ffffff}
.eco-card-active{border-color:#0e0e0e;background:#cfea3d}
.eco-card-soon{opacity:0.4;cursor:default;pointer-events:none}

/* ── Dev stream grid ── */
.dev-stream-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.dev-stream-card{background:var(--soft);border:2px solid #dedede;border-radius:14px;padding:28px;display:flex;flex-direction:column}
.dev-stream-card h3{font-family:"Anton",Impact,sans-serif;font-size:1.7rem;font-weight:400;margin:0 0 10px}
.dev-stream-card p{color:#585858;flex:1;margin-bottom:20px}
.dev-stream-card a.stream-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);border-bottom:2px solid #cfea3d}
.dev-stream-card a.stream-link:hover{color:#6b6b64}

/* ── Stat strip ── */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.stat-item{text-align:center;padding:24px;background:var(--soft);border-radius:10px}
.stat-item strong{display:block;font-family:"Anton",Impact,sans-serif;font-size:2.6rem;color:#070707}
.stat-item span{font-size:0.88rem;color:#585858}

/* ── Process steps ── */
.process-step{display:flex;gap:20px;margin-bottom:28px;align-items:flex-start}
.process-num{flex-shrink:0;width:42px;height:42px;background:#cfea3d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem}
.process-content h4{margin:0 0 6px;font-size:1rem;font-weight:900}
.process-content p{color:#585858;font-size:0.94rem}

/* ── Guide grid ── */
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.guide-card{border:2px solid #e8e8e0;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;box-shadow:0 8px 0 rgba(7,7,7,.06);transition:transform .14s ease,box-shadow .14s ease}
.guide-card:hover{transform:translateY(-2px);box-shadow:0 12px 0 rgba(7,7,7,.1)}
.guide-card-img{height:160px;overflow:hidden}
.guide-card-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(30%)}
.guide-card-body{padding:22px;flex:1;display:flex;flex-direction:column}
.guide-card-pill{display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:14px;line-height:1.4}
.guide-card h3{font-size:1.05rem;font-weight:900;margin:0 0 8px;line-height:1.3}
.guide-card p{font-size:0.88rem;color:#585858;flex:1;margin-bottom:16px}
.guide-card a.read-link{font-weight:700;font-size:0.88rem;color:var(--ink);border-bottom:2px solid #cfea3d;align-self:flex-start}

/* ── Guide article layout ── */
.guide-article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;max-width:1180px;margin:0 auto;padding:60px 22px}
.guide-article h1{font-family:"Anton",Impact,sans-serif;font-size:3.2rem;font-weight:400;line-height:1.05;margin:0 0 20px}
.guide-article h2{font-size:1.35rem;font-weight:900;margin:32px 0 12px}
.guide-article p{margin-bottom:16px;line-height:1.65}
.guide-article ul{padding-left:20px;margin-bottom:16px}
.guide-article li{margin-bottom:6px;line-height:1.55}
.guide-sidebar{position:sticky;top:110px;align-self:start}
.guide-cta-box{background:#070707;color:#fff;border-radius:12px;padding:24px;margin-bottom:24px}
.guide-cta-box h3{font-family:"Anton",Impact,sans-serif;font-size:1.5rem;font-weight:400;color:#cfea3d;margin:0 0 10px}
.guide-cta-box p{font-size:0.88rem;color:#c0c0b8;margin-bottom:16px}
.related-guides{border:2px solid #dedede;border-radius:12px;padding:20px}
.related-guides h4{font-weight:900;font-size:0.92rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em}
.related-guides a{display:block;font-size:0.88rem;font-weight:700;padding:6px 0;border-bottom:1px solid #ebebeb;color:var(--ink)}
.related-guides a:last-child{border-bottom:none}
.related-guides a:hover{color:#6b6b64}

/* ── 6-card feature grid ── */
.feature-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.feature-card{background:var(--soft);border:2px solid #dedede;border-radius:12px;padding:24px}
.feature-card h3{font-size:1rem;font-weight:900;margin:0 0 8px}
.feature-card p{font-size:0.88rem;color:#585858;margin:0}

/* ── Problem band cards ── */
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.problem-card{background:#1e1e1e;border:2px solid #444;border-radius:12px;padding:24px;color:#e0e0d8}
.problem-card h3{font-size:1rem;font-weight:900;color:#fff;margin:0 0 10px}
.problem-card p{font-size:0.88rem;color:#b8b8b0;margin:0}

/* ── Testimonials ── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.testi-card{background:#111;border:2px solid #2a2a2a;border-radius:12px;padding:28px}
.testi-card blockquote{color:#e0e0d8;font-size:0.94rem;line-height:1.6;margin:0 0 16px;font-style:italic}
.testi-card cite{color:#9a9a8e;font-size:0.82rem;font-style:normal;font-weight:700}

/* ── FAQ ── */
.faq-list{margin-top:32px;max-width:780px}
.faq-item{border-bottom:2px solid #dedede;padding:0}
.faq-item:first-child{border-top:2px solid #dedede}
.faq-item summary{font-size:1.02rem;font-weight:700;padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.4rem;font-weight:300;flex-shrink:0;color:#070707;line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item p{font-size:0.91rem;color:#585858;margin:0 0 18px;line-height:1.6}
.faq-item h3{font-size:1.02rem;font-weight:900;margin:0 0 8px}

/* ── CTA band ── */
.cta-band{background:#cfea3d;padding:72px 22px;text-align:center}
.cta-band h2{font-family:"Anton",Impact,sans-serif;font-size:3rem;font-weight:400;margin:0 0 12px}
.cta-band p{font-size:1.05rem;margin:0 0 24px;color:#333}

/* ── Page hero ── */
.page-hero{background:#070707;color:#fff;padding:72px 22px 60px;border-bottom:2px solid #222}
.page-hero .inner{max-width:1180px;margin:0 auto}
.page-hero .eyebrow{color:#cfea3d}
.page-hero h1{font-family:"Anton",Impact,sans-serif;font-size:4rem;font-weight:400;line-height:1.05;margin:0 0 20px;color:#fff}
.page-hero h1 span{color:#cfea3d;display:block}
.page-hero .lead{font-size:1.12rem;max-width:680px;color:rgba(255,255,255,0.75)}
/* split hero with image */
.page-hero-split{background:#070707;color:#fff;padding:0;border-bottom:2px solid #222;overflow:hidden}
.page-hero-split .inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;align-items:center;gap:0}
.page-hero-split .hero-copy{padding:72px 48px 60px 22px}
.page-hero-split .hero-img{height:100%;min-height:420px;position:relative}
.page-hero-split .hero-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:0.85}
.page-hero-split .eyebrow{color:#cfea3d;display:block;font-size:0.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.page-hero-split h1{font-family:"Anton",Impact,sans-serif;font-size:3.6rem;font-weight:400;line-height:1.05;margin:0 0 20px;color:#fff}
.page-hero-split h1 span{color:#cfea3d;display:block}
.page-hero-split .lead{font-size:1.05rem;color:rgba(255,255,255,0.75);margin:0}
@media(max-width:900px){
  .page-hero-split .inner{grid-template-columns:1fr}
  .page-hero-split .hero-img{min-height:260px}
  .page-hero-split .hero-copy{padding:48px 22px 36px}
  .page-hero-split h1{font-size:2.8rem}
}

/* ── Responsive ── */
@media(max-width:900px){
  .freedoms-grid{grid-template-columns:1fr 1fr;row-gap:12px}
  .freedoms-label{grid-column:1/-1;max-width:none;font-size:1.2rem}
  .ecosystem-strip{grid-template-columns:repeat(3,1fr)}
  .dev-stream-grid,.guide-grid,.feature-grid-6,.problem-grid,.testi-grid,.stat-strip{grid-template-columns:repeat(2,1fr)}
  .guide-article-wrap{grid-template-columns:1fr}
  .guide-sidebar{position:static}
}
@media(max-width:600px){
  .freedoms-grid,.dev-stream-grid,.ecosystem-strip,.guide-grid,.feature-grid-6,.problem-grid,.testi-grid,.stat-strip{grid-template-columns:1fr}
  .page-hero h1{font-size:2.8rem}
  .freedoms-label{max-width:none}
}
/* ── Contact form ── */
.contact-form{margin-top:8px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group label{font-size:0.85rem;font-weight:700;color:#202020}
.form-group input,.form-group textarea,.form-group select{border:2px solid #dedede;border-radius:8px;padding:10px 14px;font-size:0.95rem;font-family:inherit;width:100%;box-sizing:border-box;transition:border-color .15s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#cfea3d}
.form-group textarea{resize:vertical}
.form-group select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23202020' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;padding-right:38px}
.form-group select:focus{outline:none;border-color:#cfea3d}

/* Explainer panel beside the form — same structure as the approved Buzz Legal
   contact page, built from this site's own components. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start}
.contact-panel{padding-top:4px}
.contact-panel .process-step:last-of-type{margin-bottom:0}
.contact-form{background:#fff;border:2px solid #dedede;border-radius:16px;padding:32px}
.form-top{margin-bottom:22px}
.form-top small{display:block;font-size:0.72rem;font-weight:900;letter-spacing:0.12em;text-transform:uppercase;color:#6b6b64;margin-bottom:6px}
.form-top h3{font-family:"Anton",Impact,sans-serif;font-size:1.8rem;font-weight:400;margin:0}
.consent-field{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:0.85rem;line-height:1.5;color:#585858}
.consent-field input{margin-top:3px;width:16px;height:16px;flex-shrink:0;accent-color:#cfea3d}
.consent-field a{border-bottom:2px solid #cfea3d}
.form-note{margin:12px 0 0;font-size:0.82rem;color:#6b6b64;text-align:center}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:36px}}
@media(max-width:600px){.form-row{grid-template-columns:1fr}.contact-form{padding:24px}}
