/* ==========================================================
   Bark Balls — shared site layer (nav, footer CTA, page kit)
   Loaded on every page AFTER the page's own styles.
   Brand tokens are repeated here so this file works alone.
   ========================================================== */
:root{
  --g:#1a5c2a; --gd:#143d1c; --y:#d4e910; --yl:#e9f73d;
  --b:#3fa8d5; --bd:#2990bb; --bl:#dff0f9; --bll:#eef7fc;
  --w:#ffffff; --iv:#f8f8f3; --sg:#eaede6;
  --tx:#1c2a1c; --mu:#5a7060; --bdr:#d8e4d8;
}

/* ---------- announcement bar ---------- */
.ann-bar{background:var(--y);color:var(--g);text-align:center;padding:.65rem 1.25rem;font-size:.82rem;font-weight:700;letter-spacing:.02em;font-family:'Plus Jakarta Sans',sans-serif;}
.ann-bar a{color:var(--gd);text-decoration:underline;font-weight:800;}

/* ---------- main nav ---------- */
.bbnav{position:sticky;top:0;z-index:500;background:var(--g);height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 4%;box-shadow:0 2px 20px rgba(0,0,0,.2);font-family:'Plus Jakarta Sans',sans-serif;}
.bbnav-logo{display:flex;align-items:center;flex-shrink:0;}
.bbnav-logo-wrap{width:62px;height:62px;border-radius:50%;overflow:hidden;background:#fff;position:relative;}
.bbnav-logo-wrap img{position:absolute;width:155%;height:155%;max-width:none;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:cover;}
.bbnav-menu{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0;}
.bbnav-menu>li{position:relative;list-style:none;}
.bbnav-link,.bbnav-top{display:flex;align-items:center;gap:.3rem;background:none;border:0;cursor:pointer;color:rgba(255,255,255,.88);font-family:inherit;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.5rem .75rem;border-radius:3px;white-space:nowrap;text-decoration:none;transition:color .18s,background .18s;}
.bbnav-link:hover,.bbnav-top:hover,.bbnav-link.is-active,.bbnav-top.is-active{color:var(--y);}
.bbnav-link.is-active,.bbnav-top.is-active{background:rgba(212,233,16,.1);}
.bbnav-caret{width:10px;height:10px;transition:transform .18s;flex-shrink:0;}
.bbnav-dd{position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:#fff;border-radius:10px;box-shadow:0 16px 40px rgba(13,22,13,.22);padding:.5rem;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s,transform .16s,visibility .16s;}
.bbnav-dd::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px;}
.bbnav-dd a{display:block;padding:.6rem .85rem;border-radius:6px;color:var(--tx);font-size:.88rem;font-weight:700;text-decoration:none;line-height:1.3;}
.bbnav-dd a small{display:block;font-size:.72rem;font-weight:600;color:var(--mu);margin-top:.1rem;}
.bbnav-dd a:hover,.bbnav-dd a.is-active{background:var(--bll);color:var(--g);}
.bbnav-item.has-dd:hover>.bbnav-dd,.bbnav-item.has-dd:focus-within>.bbnav-dd,.bbnav-item.has-dd.open>.bbnav-dd{opacity:1;visibility:visible;transform:none;}
.bbnav-item.has-dd:hover .bbnav-caret,.bbnav-item.has-dd.open .bbnav-caret{transform:rotate(180deg);}
.bbnav-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
.bbnav-shop{background:var(--y);color:var(--g);font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.55rem 1.25rem;border-radius:3px;text-decoration:none;white-space:nowrap;transition:background .18s,transform .18s;}
.bbnav-shop:hover{background:var(--yl);transform:translateY(-1px);}
.bbnav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;border:0;background:transparent;cursor:pointer;}
.bbnav-burger span{display:block;width:26px;height:2.5px;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s;}
.bbnav.open .bbnav-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.bbnav.open .bbnav-burger span:nth-child(2){opacity:0;}
.bbnav.open .bbnav-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

@media (max-width:1120px){
  .bbnav{padding:0 5%;}
  .bbnav-burger{display:flex;}
  .bbnav-menu{position:fixed;top:74px;left:0;right:0;bottom:0;background:var(--g);flex-direction:column;align-items:stretch;gap:0;padding:1rem 6% 3rem;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;}
  .bbnav.open .bbnav-menu{opacity:1;visibility:visible;}
  .bbnav-menu>li{border-bottom:1px solid rgba(255,255,255,.1);}
  .bbnav-link,.bbnav-top{width:100%;justify-content:space-between;font-size:1.05rem;padding:1rem .25rem;border-radius:0;color:#fff;}
  .bbnav-link.is-active,.bbnav-top.is-active{background:none;}
  .bbnav-dd{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:0 0 .75rem .75rem;min-width:0;display:none;}
  .bbnav-item.has-dd.open>.bbnav-dd{display:block;}
  .bbnav-item.has-dd:hover .bbnav-caret{transform:none;}
  .bbnav-item.has-dd.open .bbnav-caret{transform:rotate(180deg);}
  .bbnav-dd a{color:rgba(255,255,255,.85);font-size:.98rem;padding:.6rem .5rem;}
  .bbnav-dd a small{color:rgba(255,255,255,.55);}
  .bbnav-dd a:hover,.bbnav-dd a.is-active{background:rgba(255,255,255,.08);color:var(--y);}
  .bbnav-mshop{display:block!important;border-bottom:0!important;margin-top:1.25rem;}
  .bbnav-mshop a{display:block;text-align:center;background:var(--y);color:var(--g);font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.9rem;border-radius:4px;text-decoration:none;}
  body.bbnav-lock{overflow:hidden;}
}
@media (max-width:480px){ .bbnav-shop{display:none;} }
.bbnav-mshop{display:none;}

/* ---------- footer CTA band + footer bits ---------- */
.bb-fcta{background:var(--bll);border-top:1px solid var(--bdr);padding:2.75rem 7%;}
.bb-fcta-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;}
.bb-fcta p{font-family:'Fraunces',serif;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:700;color:var(--g);line-height:1.35;max-width:640px;margin:0;}
.f-col .f-lbl{display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.1rem;}
.f-col li.f-contact{margin-bottom:.85rem;}

/* ---------- page kit (new pages) ---------- */
.pg-hero{background:var(--g);color:#fff;padding:5rem 7% 4.5rem;position:relative;overflow:hidden;}
.pg-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 15% 10%,rgba(212,233,16,.10) 0%,transparent 55%);pointer-events:none;}
.pg-hero-in{position:relative;max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:center;}
.pg-hero-in.solo{grid-template-columns:1fr;max-width:820px;text-align:center;}
.pg-hero h1{font-family:'Fraunces',serif;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:900;line-height:1.05;letter-spacing:-.03em;color:#fff;margin:0 0 1.1rem;}
.pg-hero h1 em{font-style:italic;color:var(--y);}
.pg-hero .lead{font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.78);margin:0 0 1.75rem;max-width:620px;}
.pg-hero-in.solo .lead{margin-left:auto;margin-right:auto;}
.pg-hero-img{border-radius:14px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 18px 50px rgba(0,0,0,.3);border:4px solid rgba(255,255,255,.12);}
.pg-hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pg-btns{display:flex;gap:.85rem;flex-wrap:wrap;}
.pg-hero-in.solo .pg-btns{justify-content:center;}
.pg-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem;}
.pg-hero-in.solo .pg-chips{justify-content:center;}
.pg-chip{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.78rem;font-weight:700;padding:.4rem .9rem;border-radius:100px;}

.pg-sec{padding:5.5rem 7%;}
.pg-w{background:var(--w);} .pg-iv{background:var(--iv);} .pg-bl{background:var(--bll);} .pg-sg{background:var(--sg);}
.pg-dk{background:var(--gd);color:#fff;}
.pg-in{max-width:1100px;margin:0 auto;}
.pg-narrow{max-width:760px;margin:0 auto;}
.pg-head{text-align:center;max-width:700px;margin:0 auto 3rem;}
.pg-head .body-lg{margin-top:.75rem;}
.pg-dk .sh{color:#fff;} .pg-dk .body-lg{color:rgba(255,255,255,.72);}

.pg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;counter-reset:pgstep;list-style:none;padding:0;margin:0;}
.pg-step{background:var(--w);border:1.5px solid var(--bdr);border-radius:14px;padding:1.6rem 1.4rem;position:relative;}
.pg-iv .pg-step,.pg-bl .pg-step{background:var(--w);}
.pg-w .pg-step{background:var(--iv);}
.pg-step::before{counter-increment:pgstep;content:counter(pgstep);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--y);color:var(--g);font-family:'Fraunces',serif;font-weight:900;font-size:1.1rem;margin-bottom:.9rem;}
.pg-step h3{font-family:'Fraunces',serif;font-size:1.12rem;font-weight:800;color:var(--g);margin:0 0 .4rem;line-height:1.25;}
.pg-step p{font-size:.92rem;color:var(--mu);line-height:1.65;margin:0;}

.pg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;}
.pg-card{background:var(--w);border:1.5px solid var(--bdr);border-radius:14px;padding:1.9rem 1.75rem;}
.pg-w .pg-card{background:var(--iv);}
.pg-card .pg-ico{font-size:1.7rem;line-height:1;margin-bottom:.8rem;}
.pg-card h3{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:800;color:var(--g);margin:0 0 .5rem;line-height:1.25;}
.pg-card p{font-size:.94rem;color:var(--mu);line-height:1.7;margin:0;}
.pg-card.accent{border-top:4px solid var(--y);}
.pg-card.accent-b{border-top:4px solid var(--b);}
.pg-card.accent-g{border-top:4px solid var(--g);}

.pg-list{list-style:none;padding:0;margin:0;}
.pg-list li{position:relative;padding:0 0 0 1.85rem;margin-bottom:.8rem;font-size:.95rem;line-height:1.65;color:var(--tx);}
.pg-list li::before{content:"";position:absolute;left:0;top:.3rem;width:18px;height:18px;border-radius:50%;background:var(--y) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a5c2a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;}

.pg-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.pg-box{background:var(--w);border:1.5px solid var(--bdr);border-radius:14px;padding:2rem 1.9rem;}
.pg-box h3{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:800;color:var(--g);margin:0 0 1.1rem;}
.pg-box.y{border-top:5px solid var(--y);} .pg-box.b{border-top:5px solid var(--b);}

.pg-fine{max-width:760px;margin:2.5rem auto 0;background:var(--w);border:1.5px dashed var(--bdr);border-radius:12px;padding:1.2rem 1.5rem;font-size:.86rem;line-height:1.65;color:var(--mu);}
.pg-fine strong{color:var(--tx);}
.pg-fine ul{margin:.35rem 0 0 1.1rem;padding:0;}
.pg-fine li{margin-bottom:.25rem;}

.pg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;}
.pg-stat{background:var(--w);border:1.5px solid var(--bdr);border-radius:12px;padding:1.4rem 1rem;text-align:center;border-top:4px solid var(--g);}
.pg-stat:nth-child(3n+2){border-top-color:var(--b);} .pg-stat:nth-child(3n){border-top-color:var(--y);}
.pg-stat .n{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:var(--g);line-height:1.05;}
.pg-stat .l{font-size:.82rem;font-weight:700;color:var(--mu);margin-top:.45rem;line-height:1.35;}
.pg-asof{text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mu);margin-top:1.1rem;}

.pg-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.pg-split img{width:100%;border-radius:14px;display:block;object-fit:cover;}
.pg-split .sh{margin-bottom:1rem;}
.pg-split p{font-size:1rem;line-height:1.75;color:var(--mu);margin:0 0 1rem;}
.pg-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;}
.pg-gallery figure{margin:0;}
.pg-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;display:block;}
.pg-gallery figcaption{font-size:.8rem;font-weight:700;color:var(--mu);margin-top:.5rem;text-align:center;}
.pg-badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--y);color:var(--gd);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .9rem;border-radius:100px;}

.pg-partners{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;}
.pg-partner{background:var(--w);border:1.5px solid var(--bdr);border-radius:100px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:700;color:var(--g);}

/* forms */
.pg-form-wrap{max-width:720px;margin:0 auto;}
.pg-form{background:var(--w);border-radius:16px;padding:2.25rem 2.25rem 2rem;box-shadow:0 14px 40px rgba(13,22,13,.12);border:1.5px solid var(--bdr);}
.pg-form .req-note{font-size:.78rem;color:var(--mu);margin:0 0 1.25rem;}
.pg-form .form-group{margin-bottom:1.15rem;}
.pg-form .form-group label,.pg-form .pg-legend{display:block;font-size:.84rem;font-weight:700;color:var(--tx);margin-bottom:.4rem;}
.pg-form .opt{font-weight:500;color:var(--mu);}
.pg-form input[type=text],.pg-form input[type=email],.pg-form input[type=tel],.pg-form input[type=number],.pg-form input[type=file],.pg-form select,.pg-form textarea{width:100%;padding:.8rem 1rem;border:2px solid var(--bdr);border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;color:var(--tx);background:#fff;transition:border-color .18s;}
.pg-form input[type=file]{padding:.6rem;font-size:.85rem;}
.pg-form textarea{min-height:110px;resize:vertical;}
.pg-form input:focus,.pg-form select:focus,.pg-form textarea:focus{outline:none;border-color:var(--b);}
.pg-form .hint{font-size:.76rem;color:var(--mu);margin-top:.35rem;}
.pg-form .form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
.pg-opts{display:flex;flex-wrap:wrap;gap:.5rem;}
.pg-opts label{display:inline-flex!important;align-items:center;gap:.45rem;margin:0!important;background:var(--iv);border:2px solid var(--bdr);border-radius:8px;padding:.55rem .9rem;font-size:.88rem!important;font-weight:600!important;cursor:pointer;}
.pg-opts input{accent-color:var(--g);width:16px;height:16px;}
.pg-opts label:has(input:checked){border-color:var(--g);background:rgba(26,92,42,.06);}
.pg-checks label{display:flex!important;align-items:flex-start;gap:.55rem;font-weight:600!important;font-size:.9rem!important;margin-bottom:.5rem!important;cursor:pointer;}
.pg-checks input{accent-color:var(--g);width:17px;height:17px;margin-top:.15rem;flex-shrink:0;}
.pg-form .btn{width:100%;text-align:center;padding:1rem;font-size:.9rem;margin-top:.5rem;}
.pg-form-alt{text-align:center;font-size:.84rem;color:var(--mu);margin-top:1.1rem;}
.pg-form-alt a{color:var(--g);font-weight:700;text-decoration:underline;}
.pg-dk .pg-form-alt{color:rgba(255,255,255,.6);} .pg-dk .pg-form-alt a{color:var(--y);}
.pg-success{display:none;background:var(--w);border-radius:16px;padding:2.5rem 2rem;text-align:center;border:2px solid var(--y);box-shadow:0 14px 40px rgba(13,22,13,.12);}
.pg-success.show{display:block;}
.pg-success h3{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:900;color:var(--g);margin:0 0 .5rem;}
.pg-success p{font-size:.98rem;color:var(--mu);line-height:1.65;margin:0;}
.pg-err{display:none;background:#fff4f2;border:1.5px solid #f0b8ad;color:#8a2a17;border-radius:10px;padding:.85rem 1rem;font-size:.86rem;margin-top:1rem;}
.pg-err.show{display:block;}
.pg-err a{color:#8a2a17;font-weight:700;text-decoration:underline;}

.pg-quote{font-family:'Fraunces',serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;font-style:italic;color:var(--g);line-height:1.3;text-align:center;max-width:820px;margin:0 auto;}
.pg-dk .pg-quote{color:#fff;}

@media (max-width:900px){
  .pg-hero{padding:3.75rem 6% 3.5rem;}
  .pg-hero-in{grid-template-columns:1fr;gap:2.25rem;}
  .pg-hero-img{aspect-ratio:16/11;}
  .pg-sec{padding:4rem 6%;}
  .pg-two,.pg-split{grid-template-columns:1fr;gap:1.5rem;}
  .pg-gallery{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .pg-form{padding:1.6rem 1.25rem 1.4rem;}
  .pg-form .form-grid-2{grid-template-columns:1fr;}
  .pg-gallery{grid-template-columns:1fr 1fr;}
  .pg-hero .btn,.pg-btns .btn{width:100%;text-align:center;}
}

/* product prices on cards (home + shop) */
.p-price,.pack-price{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:900;color:var(--g);line-height:1;margin:.1rem 0 .65rem;}
.p-price small,.pack-price small{font-family:'Plus Jakarta Sans',sans-serif;font-size:.75rem;font-weight:700;color:var(--mu);margin-left:.3rem;}

/* about page bits */
.about-cred{display:inline-block;background:rgba(212,233,16,.14);border:1px solid rgba(212,233,16,.4);color:var(--y)!important;font-size:.82rem!important;font-weight:800;letter-spacing:.03em;padding:.4rem .9rem;border-radius:100px;margin:-.4rem 0 1.4rem!important;}
.story-sign{font-family:'Fraunces',serif;font-size:1.25rem!important;font-weight:800;font-style:italic;color:var(--g)!important;}
.press-section{padding:4.5rem 7%;background:var(--w);}
.press-logos{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.75rem;}
.press-item{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:900;color:var(--mu);border:1.5px solid var(--bdr);border-radius:10px;padding:.9rem 2rem;}

/* impact page bits */
.ip-stats-in{grid-template-columns:repeat(3,1fr)!important;row-gap:2rem!important;}
@media (max-width:700px){.ip-stats-in{grid-template-columns:1fr 1fr!important;}}
.ip-asof{text-align:center;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);margin-top:2rem;}
.ip-story{max-width:760px;margin:0 auto 2.5rem;background:var(--w);border:1.5px solid var(--bdr);border-left:5px solid var(--y);border-radius:12px;padding:1.6rem 1.75rem;}
.ip-story-tag{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--b);margin-bottom:.35rem;}
.ip-story h3{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:800;color:var(--g);margin:0 0 .5rem;}
.ip-story p{font-size:.98rem;line-height:1.7;color:var(--tx);margin:0;}

/* footer grid (same on every page) */
footer{display:grid;grid-template-columns:1.6fr 1fr 1.15fr .95fr 1.35fr;gap:2.25rem;}
@media (max-width:1024px){footer{grid-template-columns:1fr 1fr;gap:2rem;}}
@media (max-width:600px){footer{grid-template-columns:1fr;}}
.trust-bar .ti-harvard{flex-basis:100%;justify-content:center;}
