:root{--ink:#20301f;--leaf:#2f7d32;--leaf-dark:#1e5d29;--lime:#86bf45;--carrot:#ef7d25;--tomato:#df3b2f;--banana:#f5c842;--cream:#fff8e8;--paper:#fffdf7;--wood:#8a542c;--sky:#dff4ff;--purple:#6c3a8f;--muted:#687468;--shadow:0 18px 45px rgba(48,66,33,.14);--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Trebuchet MS",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--leaf)}.eyebrow.light{color:#bfe0b5}.badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.5rem .85rem;background:#eff9e7;color:var(--leaf-dark);font-weight:900;font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:0;border-radius:999px;padding:.92rem 1.25rem;font-weight:900;cursor:pointer;transition:.2s;box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--leaf),#4ba843);box-shadow:0 10px 24px rgba(47,125,50,.24)}.btn.orange{color:#fff;background:linear-gradient(135deg,#ef7d25,#f3a33c);box-shadow:0 10px 24px rgba(239,125,37,.24)}.btn.ghost{border:2px solid #c9ddc2;background:#fff;color:var(--leaf-dark)}.btn.small{padding:.68rem 1rem;font-size:.88rem}.center{text-align:center;margin-top:28px}.darkghost{color:#fff!important;background:transparent!important;border-color:#769e74!important}
.topbar{background:#183b22;color:#e9f6e8;text-align:center;padding:.45rem 1rem;font-weight:800;font-size:.78rem;letter-spacing:.05em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e9e2d3}.nav{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand img{width:150px;height:58px;object-fit:contain;object-position:center;border-radius:12px;box-shadow:0 4px 14px rgba(65,43,16,.14);background:#fff;padding:3px}.navlinks{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:.92rem;font-weight:800}.navlinks a:hover{color:var(--leaf)}.mobile-toggle{display:none;margin-left:auto;background:transparent;border:0;font-size:1.6rem;color:var(--leaf-dark)}
.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden;background:#eff8e9}.hero-bg{position:absolute;inset:0;background:url('/canva/hero.png') center/cover no-repeat}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,45,24,.88) 0%,rgba(18,45,24,.68) 36%,rgba(18,45,24,.14) 69%,rgba(18,45,24,.05))}.hero .container{position:relative;z-index:2}.hero-copy{width:min(620px,92%);color:#fff;padding:72px 0}.hero-copy .badge{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);color:#fff}.hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.93;margin:.8rem 0 1rem;letter-spacing:-.045em;text-shadow:0 5px 24px rgba(0,0,0,.28)}.hero p{font-size:1.16rem;max-width:570px;color:#f5f9f0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero .btn.ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff}.hero-note{margin-top:22px;font-size:.82rem;color:#e0eadb}
.section{padding:88px 0}.section.alt{background:#f2f8ec}.section.sun{background:linear-gradient(#fffaf0,#fff3d0)}.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-head h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.02;margin:.55rem 0 .9rem;letter-spacing:-.035em}.section-head p{color:var(--muted);font-size:1.02rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #e8e6db;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:26px}.mission-card{padding:30px;background:#fff;border-radius:var(--radius);border:1px solid #e5e7d8;box-shadow:var(--shadow)}.mission-card .icon{font-size:2.1rem}.mission-card h3{margin:.55rem 0 .4rem;font-size:1.25rem}.mission-card p{margin:0;color:var(--muted)}
.character-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:stretch}.character-feature{position:relative;min-height:500px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}.character-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.character-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,37,19,.88),rgba(14,37,19,.03) 60%)}.character-feature .overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.character-feature h3{font-size:2.1rem;margin:.2rem 0 .4rem}.character-feature p{margin:0;color:#e7f1e3}.character-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mini-character{padding:22px;border-radius:24px;background:#fff;border:1px solid #e8e6db;box-shadow:0 10px 28px rgba(42,63,36,.08)}.veggie-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:2.4rem;margin-bottom:14px;background:var(--avatar,#edf7e8);box-shadow:inset 0 0 0 4px rgba(255,255,255,.75)}.mini-character h3{margin:.2rem 0;font-size:1.1rem}.mini-character p{margin:0;color:var(--muted);font-size:.9rem}
.recipe-card{display:flex;flex-direction:column;height:100%}.recipe-top{min-height:165px;padding:24px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(135deg,var(--recipe,#4a9c46),#284f25)}.recipe-top .food{font-size:3.4rem;margin-right:auto}.recipe-top .time{background:rgba(255,255,255,.17);padding:.45rem .7rem;border-radius:999px;font-size:.78rem;font-weight:900}.recipe-card h3{font-size:1.35rem;margin:.25rem 0 .5rem}.recipe-card p{color:var(--muted);margin:0 0 16px}.activity-pair{margin-top:auto;border-radius:18px;padding:16px;background:#eff8e9;border:1px dashed #a9ca98}.activity-pair b{display:block;color:var(--leaf-dark)}.activity-pair span{font-size:.87rem;color:#667362}
.book-band{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:#173b22;border-radius:34px;padding:54px;color:#fff;overflow:hidden;position:relative}.book-band:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:#ef7d25;opacity:.16;right:-100px;top:-130px}.book-art{border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);transform:rotate(-2deg)}.book-band h2{font-size:clamp(2.4rem,4vw,4.4rem);line-height:1;margin:.5rem 0 1rem}.book-band p{color:#dfeddc}
.page-hero{padding:78px 0 60px;background:linear-gradient(145deg,#e8f7dd,#fff7db);border-bottom:1px solid #e3e4d6}.page-hero h1{font-size:clamp(3rem,6vw,5rem);line-height:.95;margin:.5rem 0 1rem;letter-spacing:-.04em}.page-hero p{max-width:760px;color:var(--muted);font-size:1.05rem}.character-grid,.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.character-card,.product-card,.info-card{background:#fff;border:1px solid #e6e4d9;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.character-media{height:260px;background:linear-gradient(135deg,#edf7e8,#d6ecc9);display:grid;place-items:center;overflow:hidden}.character-media img{width:100%;height:100%;object-fit:cover}.character-media .big-veg{font-size:6.5rem}.character-card .content,.product-card .content,.info-card{padding:24px}.character-card h2,.product-card h2{margin:.15rem 0 .25rem}.quote{font-weight:900;color:var(--leaf-dark)}.fact-list{padding-left:1.15rem;color:var(--muted);font-size:.92rem}.fact-list li{margin:.45rem 0}.source-note{font-size:.76rem;color:#7c8679;margin-top:12px}
.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.recipe-detail{background:#fff;border:1px solid #e7e3d6;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.recipe-head{display:flex;gap:18px;align-items:center}.recipe-emoji{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;font-size:2.7rem;background:#f2f8ec}.recipe-detail h3{font-size:1rem;margin:1.35rem 0 .5rem;color:var(--leaf-dark)}.recipe-detail ul,.recipe-detail ol{padding-left:1.25rem;color:#556253}.move-box{margin-top:20px;padding:20px;border-radius:20px;background:#fff4cf;border:1px solid #efd985}.move-box strong{display:block;color:#7d5710}
.parent-layout{display:grid;grid-template-columns:1fr .85fr;gap:34px;align-items:start}.parent-copy h2{font-size:2.25rem;margin:0 0 .6rem}.parent-copy p{color:var(--muted)}.callout{padding:24px;border-radius:22px;background:#eef8e9;border-left:6px solid var(--leaf);margin:24px 0}.stat-stack{display:grid;gap:16px}.stat{padding:24px;border-radius:24px;background:#fff;border:1px solid #e8e5da;box-shadow:0 10px 28px rgba(42,63,36,.08)}.stat strong{display:block;font-size:1.3rem;color:var(--leaf-dark)}.stat span{color:var(--muted);font-size:.9rem}.product-image{height:300px;background:#eff7e9;display:grid;place-items:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-card .price{font-size:1.5rem;font-weight:900;color:var(--leaf-dark);margin:.75rem 0}.notice{padding:16px 18px;border-radius:16px;background:#fff5d7;border:1px solid #ecd485;color:#6f5719;font-size:.88rem}
.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.story-card{position:relative;min-height:410px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.story-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,39,22,.85),transparent 62%)}.story-card .copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}
.footer{background:#173b22;color:#e8f3e4;padding:54px 0 28px;margin-top:70px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:35px}.footer .brand img{width:165px;height:58px}.footer p,.footer a{color:#c9dac4;font-size:.9rem}.footer h4{color:#fff;margin-top:0}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:#9eb59a;font-size:.76rem}
@media(max-width:900px){.navlinks{position:fixed;top:78px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;padding:20px;border-radius:20px;background:#fff;border:1px solid #e5e3d7;box-shadow:var(--shadow)}.navlinks.open{display:flex}.mobile-toggle{display:block}.nav .btn.small{display:none}.grid-3,.character-grid,.shop-grid{grid-template-columns:repeat(2,1fr)}.character-strip,.book-band,.parent-layout{grid-template-columns:1fr}.recipe-grid,.story-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.hero{min-height:640px}.hero-bg{background-position:58% center}.hero-bg:after{background:linear-gradient(0deg,rgba(18,45,24,.92),rgba(18,45,24,.4) 72%)}.hero-copy{padding:250px 0 45px;width:100%}.hero h1{font-size:3.25rem}.section{padding:66px 0}.grid-3,.character-grid,.shop-grid{grid-template-columns:1fr}.character-list{grid-template-columns:1fr 1fr}.book-band{padding:30px 24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.recipe-detail{padding:22px}.page-hero{padding:58px 0 48px}}
/* Original Market Veggies Canva artwork integration */
.veggie-avatar.photo{overflow:hidden;padding:0;background:#fff}.veggie-avatar.photo img{width:100%;height:100%;object-fit:cover}.character-media.canva-art img{object-fit:cover}.character-media.book-cover{background:#fff}.character-media.book-cover img{object-fit:contain;padding:10px}.recipe-emoji.art{overflow:hidden;padding:0}.recipe-emoji.art img{width:100%;height:100%;object-fit:cover}.store-extra-art{width:100%;height:190px;object-fit:cover;border-radius:20px;margin-bottom:22px}.footer .brand img{width:175px;height:72px;object-fit:contain}@media(max-width:620px){.brand img{width:130px;height:50px}}

/* Homepage banner rotator + official circular logo */
.brand{min-width:auto}
.brand img{
  width:68px;
  height:68px;
  object-fit:contain;
  object-position:center;
  border-radius:50%;
  background:transparent;
  padding:0;
  box-shadow:none
}
.nav{min-height:82px;height:82px}
.home-banner{
  position:relative;
  width:100%;
  background:#0b4ea2;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.08)
}
.banner-track{
  position:relative;
  width:100%;
  aspect-ratio:3/1;
  max-height:min(33.333vw,724px);
  margin:0 auto
}
.banner-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transition:opacity .8s ease;
  pointer-events:none
}
.banner-slide.active{opacity:1;pointer-events:auto}
.banner-dots{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:4;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(5px)
}
.banner-dot{
  width:10px;
  height:10px;
  border:0;
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.55);
  cursor:pointer
}
.banner-dot.active{background:#fff;transform:scale(1.15)}
.footer .brand img{width:90px;height:90px}
@media(max-width:900px){
  .nav{height:76px;min-height:76px}
  .brand img{width:60px;height:60px}
  .navlinks{top:76px}
}
@media(max-width:620px){
  .brand img{width:54px;height:54px}
  .home-banner{background:#0b4ea2}
  .banner-track{aspect-ratio:3/1;max-height:none}
  .banner-dots{bottom:7px;padding:4px 7px}
  .banner-dot{width:8px;height:8px}
}
@media(prefers-reduced-motion:reduce){
  .banner-slide{transition:none}
}

/* Homepage mission hero: original banner artwork rotates behind the existing message */
.mission-hero{
  position:relative;
  min-height:clamp(560px,37vw,710px);
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:#123f25
}
.mission-bg-rotator,
.mission-bg-slide,
.mission-bg-shade{
  position:absolute;
  inset:0
}
.mission-bg-rotator{z-index:-3}
.mission-bg-slide{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transition:opacity 1s ease
}
.mission-bg-slide.active{opacity:1}
.mission-bg-shade{
  z-index:-2;
  background:linear-gradient(90deg,rgba(10,31,18,.78),rgba(10,31,18,.58) 48%,rgba(10,31,18,.72));
}
.mission-hero-content{
  max-width:1080px;
  text-align:center;
  color:#fff;
  padding:72px 20px
}
.mission-hero .eyebrow{color:#dff4bb}
.mission-hero h1{
  max-width:1050px;
  margin:.55rem auto 1rem;
  font-size:clamp(3rem,5.7vw,6.1rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-shadow:0 4px 24px rgba(0,0,0,.48)
}
.mission-hero p{
  max-width:920px;
  margin:0 auto;
  color:#f6fbf3;
  font-size:clamp(1rem,1.45vw,1.28rem);
  text-shadow:0 2px 12px rgba(0,0,0,.58)
}
.mission-cards-section{padding-top:58px}
@media(max-width:900px){
  .mission-hero{min-height:620px}
  .mission-bg-slide{object-position:center}
  .mission-bg-shade{background:rgba(10,31,18,.67)}
  .mission-hero-content{padding:70px 16px}
}
@media(max-width:620px){
  .mission-hero{min-height:600px}
  .mission-bg-slide{object-fit:cover}
  .mission-hero h1{font-size:clamp(2.65rem,12vw,4.1rem)}
  .mission-hero p{font-size:1rem}
  .mission-cards-section{padding-top:44px}
}

/* Exact user-provided hero images: preserve their 1920x711 composition on desktop */
.mission-hero{
  min-height:0;
  aspect-ratio:1920/711;
}
.mission-bg-slide{
  object-fit:contain;
  object-position:center;
  background:#0b4ea2;
}
.mission-bg-shade{
  background:linear-gradient(90deg,rgba(9,28,16,.72),rgba(9,28,16,.56) 50%,rgba(9,28,16,.72));
}
.mission-hero-content{
  padding:clamp(30px,4vw,72px) 20px;
}
.mission-hero h1{
  font-size:clamp(2.6rem,4.7vw,5.4rem);
}
@media(max-width:760px){
  .mission-hero{
    aspect-ratio:auto;
    min-height:560px;
  }
  .mission-bg-slide{
    object-fit:cover;
  }
  .mission-bg-shade{
    background:rgba(9,28,16,.7);
  }
}

/* =========================================================
   Market Veggies legacy-inspired blue homepage refresh
   Keeps the current content + exact rotating hero artwork,
   while bringing back the brighter blue children's-brand feel.
   ========================================================= */
.home-page{
  --mv-blue:#0752a8;
  --mv-blue-deep:#073477;
  --mv-blue-night:#08285b;
  --mv-sky:#eaf7ff;
  --mv-yellow:#ffd938;
  --mv-orange:#ff8a22;
  --mv-green:#59b431;
  --mv-red:#ef3d2f;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.08),transparent 22%),
    radial-gradient(circle at 88% 42%,rgba(255,217,56,.08),transparent 20%),
    linear-gradient(180deg,var(--mv-blue) 0%,#0a61b7 50%,var(--mv-blue-deep) 100%);
  color:#16321d;
}
.home-page .topbar{
  background:linear-gradient(90deg,#ffce2f,#ffd94d,#ffce2f);
  color:#073477;
  font-weight:1000;
  letter-spacing:.08em;
  border-bottom:3px solid #f3a323;
  text-shadow:0 1px 0 rgba(255,255,255,.5)
}
.home-page .site-header{
  background:linear-gradient(180deg,#0a58af 0%,#074a9a 100%);
  border-bottom:4px solid #ffd938;
  box-shadow:0 8px 22px rgba(1,29,76,.28);
  backdrop-filter:none
}
.home-page .navlinks a{
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.22)
}
.home-page .navlinks a:hover{
  color:#ffd938
}
.home-page .mobile-toggle{
  color:#fff
}
.home-page .brand img{
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.24))
}
.home-page .btn.orange{
  background:linear-gradient(180deg,#ff9d2f,#f07b19);
  color:#fff;
  border:2px solid #ffd65a;
  box-shadow:0 7px 0 #c75f0d,0 12px 24px rgba(3,32,74,.25)
}
.home-page .btn.orange:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 0 #c75f0d,0 10px 20px rgba(3,32,74,.23)
}
.home-page .btn.primary{
  background:linear-gradient(180deg,#68c43f,#3d9d2e);
  border:2px solid #bce990;
  box-shadow:0 7px 0 #28761e,0 12px 24px rgba(3,32,74,.2)
}
.home-page .mission-hero{
  border-bottom:5px solid #ffd938;
  box-shadow:0 18px 38px rgba(2,31,77,.25)
}
.home-page .mission-bg-shade{
  background:
    linear-gradient(90deg,rgba(4,33,85,.72),rgba(4,45,98,.48) 50%,rgba(4,33,85,.72)),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.12))
}
.home-page .mission-hero-content{
  max-width:1000px
}
.home-page .mission-hero-content:before{
  content:"";
  position:absolute;
  inset:14% 6%;
  z-index:-1;
  border-radius:44px;
  background:radial-gradient(ellipse at center,rgba(3,35,88,.58),rgba(3,35,88,.18) 68%,transparent 78%);
  filter:blur(2px)
}
.home-page .mission-hero-content{
  position:relative
}
.home-page .mission-hero .eyebrow{
  color:#ffe04d;
  text-shadow:0 2px 5px rgba(0,0,0,.55)
}
.home-page .mission-hero h1{
  color:#fff;
  text-shadow:0 5px 0 rgba(2,35,80,.28),0 8px 26px rgba(0,0,0,.48)
}
.home-page .mission-hero p{
  color:#fff;
  font-weight:800;
  text-shadow:0 2px 8px rgba(0,0,0,.7)
}
.home-page .section{
  position:relative
}
.home-page .mission-cards-section{
  background:transparent;
  padding-top:70px;
  padding-bottom:82px
}
.home-page .mission-card{
  border:4px solid rgba(255,255,255,.92);
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);
  box-shadow:0 12px 0 rgba(4,43,100,.16),0 22px 42px rgba(2,29,71,.28)
}
.home-page .mission-card .icon{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:#e9f7ff;
  border:3px solid #bfe8ff;
  box-shadow:0 5px 0 #9fd4ef
}
.home-page .mission-card h3{
  color:#083c7b
}
.home-page .section.alt{
  background:
    linear-gradient(rgba(255,255,255,.97),rgba(244,251,255,.97)),
    linear-gradient(135deg,#d8f1ff,#fff8c4);
  border-top:5px solid #ffd938;
  border-bottom:5px solid #ffd938
}
.home-page .section.alt .section-head h2,
.home-page .section.alt .section-head p{
  color:#17356a
}
.home-page .section.alt .eyebrow{
  color:#e66f17
}
.home-page .character-feature{
  border:5px solid #0b5cad;
  box-shadow:0 11px 0 #073b7c,0 24px 45px rgba(2,32,72,.22)
}
.home-page .mini-character{
  border:4px solid #bfe7ff;
  box-shadow:0 8px 0 #9ccfe9,0 18px 35px rgba(7,54,105,.14)
}
.home-page .mini-character h3{
  color:#0a4f98
}
.home-page .section.sun{
  background:
    radial-gradient(circle at 10% 15%,rgba(255,255,255,.16),transparent 26%),
    linear-gradient(180deg,#0a64bb,#0752a8);
  border-bottom:5px solid #ffd938
}
.home-page .section.sun .section-head h2,
.home-page .section.sun .section-head p{
  color:#fff
}
.home-page .section.sun .eyebrow{
  color:#ffe04d
}
.home-page .section.sun .card{
  border:4px solid #fff;
  box-shadow:0 10px 0 rgba(5,42,93,.32),0 22px 38px rgba(2,32,75,.28)
}
.home-page .section.sun .activity-pair{
  background:#eef9e6;
  border:2px dashed #69b94a
}
.home-page main > .section:last-of-type{
  background:linear-gradient(180deg,#f8fcff,#eaf7ff);
  padding-top:82px;
  padding-bottom:88px
}
.home-page .book-band{
  background:
    radial-gradient(circle at 86% 18%,rgba(255,216,56,.24),transparent 28%),
    linear-gradient(135deg,#073477 0%,#0a57a8 70%,#073477 100%);
  border:5px solid #ffd938;
  box-shadow:0 12px 0 #05285c,0 26px 45px rgba(2,31,71,.3)
}
.home-page .book-band:before{
  background:#ffd938;
  opacity:.18
}
.home-page .book-band .eyebrow{
  color:#ffe04d
}
.home-page .book-band p{
  color:#edf8ff
}
.home-page .footer{
  background:#06295f;
  border-top:5px solid #ffd938;
  margin-top:0
}
.home-page .footer p,
.home-page .footer a{
  color:#dceeff
}
.home-page .footer-bottom{
  color:#a8c9e9
}
.home-page .footer h4{
  color:#ffe04d
}
@media(max-width:900px){
  .home-page .navlinks{
    background:#074a9a;
    border:3px solid #ffd938
  }
  .home-page .navlinks a{
    padding:.55rem .4rem
  }
}
@media(max-width:760px){
  .home-page .mission-hero-content:before{
    inset:8% 0
  }
  .home-page .mission-hero{
    min-height:600px
  }
}

/* =========================================================
   SITE-WIDE MARKET VEGGIES THEME
   Extends the legacy-inspired blue/yellow/orange language
   across every page while preserving each page's content.
   ========================================================= */
.market-theme{
  --mv-blue:#0752a8;
  --mv-blue-mid:#0a63ba;
  --mv-blue-deep:#073477;
  --mv-blue-night:#06265b;
  --mv-yellow:#ffd938;
  --mv-orange:#ff8a22;
  --mv-green:#59b431;
  --mv-red:#ef3d2f;
  --mv-sky:#eaf7ff;
  --mv-paper:#f7fcff;
  background:
    radial-gradient(circle at 12% 15%,rgba(255,255,255,.08),transparent 23%),
    radial-gradient(circle at 88% 52%,rgba(255,217,56,.07),transparent 20%),
    linear-gradient(180deg,var(--mv-blue-mid) 0%,var(--mv-blue) 48%,var(--mv-blue-deep) 100%);
}
.market-theme .topbar{
  background:linear-gradient(90deg,#ffca2e,#ffe15b,#ffca2e);
  color:#073477;
  border-bottom:3px solid #f09a1c;
  font-weight:1000;
  letter-spacing:.08em;
  text-shadow:0 1px 0 rgba(255,255,255,.45)
}
.market-theme .site-header{
  background:linear-gradient(180deg,#0a5db5 0%,#074a99 100%);
  border-bottom:4px solid var(--mv-yellow);
  box-shadow:0 8px 24px rgba(2,26,65,.3);
  backdrop-filter:none
}
.market-theme .navlinks a{
  color:#fff;
  text-shadow:0 2px 5px rgba(0,0,0,.22)
}
.market-theme .navlinks a:hover,
.market-theme .navlinks a.active{
  color:var(--mv-yellow)
}
.market-theme .mobile-toggle{color:#fff}
.market-theme .brand img{
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.22))
}
.market-theme .btn.orange{
  background:linear-gradient(180deg,#ff9e32,#f17a18);
  border:2px solid #ffd65d;
  box-shadow:0 7px 0 #c75d0d,0 12px 24px rgba(3,32,74,.2)
}
.market-theme .btn.primary{
  background:linear-gradient(180deg,#69c843,#3c9d2d);
  border:2px solid #bce990;
  box-shadow:0 7px 0 #28761e,0 12px 24px rgba(3,32,74,.18)
}
.market-theme .btn.ghost{
  border:3px solid #bfe5ff;
  background:#fff;
  color:#0752a8
}

/* Standard inner-page hero */
.market-theme .page-hero{
  position:relative;
  overflow:hidden;
  padding:82px 0 68px;
  background:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.16),transparent 24%),
    radial-gradient(circle at 88% 70%,rgba(255,217,56,.16),transparent 20%),
    linear-gradient(135deg,#0b67bf 0%,#0752a8 55%,#073477 100%);
  border-bottom:5px solid var(--mv-yellow);
  box-shadow:0 18px 36px rgba(1,31,77,.24)
}
.market-theme .page-hero:before,
.market-theme .page-hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none
}
.market-theme .page-hero:before{
  width:220px;height:220px;
  right:-70px;top:-60px;
  background:rgba(255,255,255,.08)
}
.market-theme .page-hero:after{
  width:170px;height:170px;
  left:-60px;bottom:-90px;
  background:rgba(255,217,56,.12)
}
.market-theme .page-hero .container{position:relative;z-index:2}
.market-theme .page-hero .eyebrow{
  color:#ffe24d;
  text-shadow:0 2px 4px rgba(0,0,0,.28)
}
.market-theme .page-hero h1{
  color:#fff;
  text-shadow:0 5px 0 rgba(3,42,92,.28),0 8px 24px rgba(0,0,0,.26)
}
.market-theme .page-hero p{
  color:#edf8ff;
  font-weight:700
}

/* Shared content sections */
.market-theme main > .section{
  background:linear-gradient(180deg,#f9fdff 0%,#edf8ff 100%);
}
.market-theme main > .section.alt{
  background:
    radial-gradient(circle at 12% 16%,rgba(255,255,255,.13),transparent 23%),
    linear-gradient(180deg,#0a63b8,#0752a8);
  border-top:5px solid var(--mv-yellow);
  border-bottom:5px solid var(--mv-yellow)
}
.market-theme main > .section.sun{
  background:
    radial-gradient(circle at 86% 12%,rgba(255,216,56,.14),transparent 24%),
    linear-gradient(180deg,#0a62b7,#0752a8);
  border-top:5px solid var(--mv-yellow);
  border-bottom:5px solid var(--mv-yellow)
}
.market-theme .section.alt .section-head h2,
.market-theme .section.alt .section-head p,
.market-theme .section.sun .section-head h2,
.market-theme .section.sun .section-head p{
  color:#fff
}
.market-theme .section.alt .eyebrow,
.market-theme .section.sun .eyebrow{
  color:#ffe24d
}
.market-theme .section-head h2{color:#0a4486}
.market-theme .section-head p{color:#50677d}

/* Cards and content blocks */
.market-theme .card,
.market-theme .mission-card,
.market-theme .character-card,
.market-theme .product-card,
.market-theme .info-card,
.market-theme .recipe-detail,
.market-theme .stat{
  background:linear-gradient(180deg,#fff 0%,#f5fbff 100%);
  border:4px solid #c6eaff;
  box-shadow:0 9px 0 #9fcfe8,0 20px 38px rgba(3,43,91,.16)
}
.market-theme .character-card h2,
.market-theme .product-card h2,
.market-theme .recipe-detail h2,
.market-theme .info-card h2,
.market-theme .stat strong{
  color:#0a4e97
}
.market-theme .quote{color:#e66f17}
.market-theme .fact-list,
.market-theme .recipe-detail ul,
.market-theme .recipe-detail ol,
.market-theme .parent-copy p,
.market-theme .info-card p{
  color:#51697d
}
.market-theme .badge{
  background:#fff3b9;
  color:#a55408;
  border:2px solid #ffd95d
}
.market-theme .callout{
  background:#eef9ff;
  border:3px solid #bfe8ff;
  border-left:7px solid #0a63b8;
  color:#37546c
}
.market-theme .notice{
  background:#fff5c9;
  border:2px solid #f0cf52;
  color:#6a4b0c
}
.market-theme .move-box{
  background:#fff4c7;
  border:2px solid #f0d25b
}
.market-theme .activity-pair{
  background:#eff9e9;
  border:2px dashed #61b440
}

/* Character page */
.market-theme .character-media{
  background:linear-gradient(145deg,#dff3ff,#eefadf)
}
.market-theme .character-card{
  overflow:hidden
}

/* Parent/Educator page */
.market-theme .parent-layout{
  padding:6px 0
}
.market-theme .stat{
  border-color:#c9e9ff
}

/* About page */
.market-theme .story-card{
  border:5px solid #fff;
  box-shadow:0 10px 0 #073b7c,0 22px 40px rgba(2,30,75,.22)
}
.market-theme .story-card:after{
  background:linear-gradient(0deg,rgba(4,37,86,.9),rgba(4,37,86,.08) 68%)
}

/* Bookstore */
.market-theme .product-image{
  background:linear-gradient(145deg,#e5f6ff,#fff7cf)
}
.market-theme .shop-grid{
  align-items:stretch
}

/* Footer */
.market-theme .footer{
  background:#06295f;
  border-top:5px solid var(--mv-yellow);
  margin-top:0
}
.market-theme .footer h4{color:#ffe24d}
.market-theme .footer p,
.market-theme .footer a{color:#dcedff}
.market-theme .footer-bottom{color:#a9cae9}

/* Responsive navigation */
@media(max-width:900px){
  .market-theme .navlinks{
    background:#074a99;
    border:3px solid var(--mv-yellow)
  }
  .market-theme .navlinks a{
    padding:.55rem .4rem
  }
}
@media(max-width:620px){
  .market-theme .page-hero{
    padding:62px 0 52px
  }
}

/* Carry Market Crew card */
.market-theme .mini-character.carry-card{
  position:relative;
  overflow:hidden;
  padding:22px;
  background:
    linear-gradient(180deg,rgba(7,52,119,.05),rgba(7,52,119,.22)),
    url("assets/carry-card-market-bg.png") center/cover no-repeat;
  border:4px solid #fff;
  box-shadow:0 8px 0 #9ccfe9,0 18px 35px rgba(7,54,105,.22);
}
.market-theme .carry-card .veggie-avatar{
  width:88px;
  height:88px;
  margin-bottom:18px;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.24);
}
.market-theme .carry-card .mini-character-copy{
  padding:16px 17px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.90);
  border:2px solid rgba(255,255,255,.98);
  box-shadow:0 8px 20px rgba(4,37,86,.18);
  backdrop-filter:blur(4px);
}
.market-theme .carry-card .mini-character-copy h3{
  margin:0 0 7px;
  color:#0752a8;
}
.market-theme .carry-card .mini-character-copy p{
  margin:0;
  color:#52665a;
}

/* Unified Market Crew character cards */
.market-theme .mini-character.crew-card{
  position:relative;
  overflow:hidden;
  padding:22px;
  border:4px solid #fff;
  box-shadow:0 8px 0 #9ccfe9,0 18px 35px rgba(7,54,105,.22);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.market-theme .crew-card.carry-card{
  background-image:
    linear-gradient(180deg,rgba(7,52,119,.04),rgba(7,52,119,.18)),
    url("assets/carry-card-market-bg.png");
}
.market-theme .crew-card.artie-card{
  background-image:
    linear-gradient(180deg,rgba(7,52,119,.04),rgba(7,52,119,.18)),
    url("assets/artie-card-bg.png");
}
.market-theme .crew-card.tommy-card{
  background-image:
    linear-gradient(180deg,rgba(7,52,119,.04),rgba(7,52,119,.18)),
    url("assets/tommy-card-bg.png");
}
.market-theme .crew-card.nanner-card{
  background-image:
    linear-gradient(180deg,rgba(7,52,119,.04),rgba(7,52,119,.18)),
    url("assets/nanner-card-bg.png");
}
.market-theme .crew-card .veggie-avatar{
  width:88px;
  height:88px;
  margin-bottom:18px;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.24);
}
.market-theme .crew-card .veggie-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.market-theme .crew-card .mini-character-copy{
  padding:16px 17px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.90);
  border:2px solid rgba(255,255,255,.98);
  box-shadow:0 8px 20px rgba(4,37,86,.18);
  backdrop-filter:blur(4px);
}
.market-theme .crew-card .mini-character-copy h3{
  margin:0 0 7px;
  color:#0752a8;
}
.market-theme .crew-card .mini-character-copy p{
  margin:0;
  color:#52665a;
}

/* Illustrated mission cards */
.home-page .mission-cards-section .mission-card{
  position:relative;
  min-height:380px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:0;
  isolation:isolate;
  background-color:#fff;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  border:4px solid #c6eaff;
  box-shadow:0 9px 0 #9fcfe8,0 20px 38px rgba(3,43,91,.16);
}
.home-page .mission-cards-section .mission-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.10) 37%,
      rgba(255,255,255,.82) 66%,
      rgba(255,255,255,.98) 100%
    );
}
.home-page .mission-cards-section .mission-card-food{
  background-image:url("assets/mission-healthy-food-familiar.png");
  background-position:center 34%;
}
.home-page .mission-cards-section .mission-card-kitchen{
  background-image:url("assets/mission-kids-kitchen-black-final.png");
  background-position:center 38%;
}
.home-page .mission-cards-section .mission-card-movement{
  background-image:url("assets/mission-fuel-movement.png");
  background-position:center 40%;
}
.home-page .mission-cards-section .mission-card .icon{
  position:absolute;
  top:22px;
  left:22px;
  z-index:2;
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  font-size:2rem;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  border:3px solid #bfe8ff;
  box-shadow:0 5px 0 #9fd4ef,0 10px 18px rgba(3,43,91,.15);
  backdrop-filter:blur(5px);
}
.home-page .mission-cards-section .mission-card-copy{
  width:100%;
  padding:112px 28px 28px;
  position:relative;
  z-index:2;
}
.home-page .mission-cards-section .mission-card-copy h3{
  margin:0 0 8px;
  color:#083c7b;
  font-size:1.35rem;
  text-shadow:0 1px 0 rgba(255,255,255,.85);
}
.home-page .mission-cards-section .mission-card-copy p{
  margin:0;
  color:#425b52;
  font-weight:650;
  line-height:1.55;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
@media(max-width:900px){
  .home-page .mission-cards-section .mission-card{
    min-height:360px;
  }
}
@media(max-width:620px){
  .home-page .mission-cards-section .mission-card{
    min-height:340px;
  }
  .home-page .mission-cards-section .mission-card-copy{
    padding:105px 22px 24px;
  }
}

/* Home recipes + activities illustrated section */
.home-page .recipe-adventures-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(rgba(5,82,174,.08),rgba(5,82,174,.08)),
    url("assets/recipes-section-veggie-bg.png") center center / cover no-repeat;
  border-top:5px solid #ffd938;
  border-bottom:5px solid #ffd938;
}
.home-page .recipe-adventures-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    180deg,
    rgba(5,82,174,.12) 0%,
    rgba(5,82,174,.03) 32%,
    rgba(5,82,174,.04) 70%,
    rgba(5,82,174,.14) 100%
  );
  pointer-events:none;
}
.home-page .recipe-adventures-section .container{
  position:relative;
  z-index:1;
}
.home-page .recipe-adventures-section .section-head{
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
}
.home-page .recipe-adventures-section .section-head h2,
.home-page .recipe-adventures-section .section-head p{
  color:#fff;
  text-shadow:0 3px 12px rgba(0,39,92,.42);
}
.home-page .recipe-adventures-section .section-head .eyebrow{
  color:#ffe03b;
  text-shadow:0 2px 8px rgba(0,36,83,.35);
}
@media(max-width:900px){
  .home-page .recipe-adventures-section{
    background-size:auto 100%;
    background-position:center center;
  }
}
@media(max-width:620px){
  .home-page .recipe-adventures-section{
    background-size:auto 100%;
    background-position:center center;
  }
}

/* Book recipe preview cards */
.home-page .book-recipe-card{
  overflow:hidden;
  border:4px solid rgba(255,255,255,.96);
  background:#fff;
  box-shadow:0 10px 0 rgba(3,45,97,.22),0 22px 42px rgba(2,29,71,.26);
}
.home-page .book-recipe-card .recipe-art{
  position:relative;
  height:255px;
  overflow:hidden;
  background:#0b5cad;
}
.home-page .book-recipe-card .recipe-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-page .book-recipe-card .recipe-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(4,39,84,.20));
  pointer-events:none;
}
.home-page .book-recipe-card .recipe-book-badge{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0752a8;
  border:2px solid #bfe8ff;
  box-shadow:0 4px 10px rgba(0,0,0,.13);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.07em;
}
.home-page .book-recipe-card .card-pad{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px;
}
.home-page .book-recipe-card .recipe-character{
  display:block;
  color:#e36f18;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.055em;
  margin-bottom:6px;
}
.home-page .book-recipe-card h3{
  color:#083c7b;
  font-size:1.45rem;
  margin:0 0 10px;
}
.home-page .book-recipe-card p{
  color:#50677d;
  line-height:1.55;
  margin:0 0 18px;
}
.home-page .book-recipe-card .recipe-snippet{
  margin-top:auto;
  padding:14px 15px;
  border-radius:16px;
  background:#eef9ff;
  border:2px solid #bfe8ff;
}
.home-page .book-recipe-card .recipe-snippet b{
  display:block;
  color:#0752a8;
  margin-bottom:4px;
  font-size:.84rem;
}
.home-page .book-recipe-card .recipe-snippet span{
  display:block;
  color:#536a7d;
  font-size:.82rem;
  line-height:1.45;
}
@media(max-width:620px){
  .home-page .book-recipe-card .recipe-art{
    height:225px;
  }
}

/* Homepage keyword marker highlights */
.home-page .hl{
  display:inline;
  padding:0 .06em .02em;
  border-radius:.16em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  font-weight:inherit;
}
.home-page .hl-orange{
  background:linear-gradient(
    180deg,
    transparent 0 56%,
    rgba(255,132,28,.82) 56% 91%,
    transparent 91% 100%
  );
}
.home-page .hl-yellow{
  background:linear-gradient(
    180deg,
    transparent 0 56%,
    rgba(255,225,58,.90) 56% 91%,
    transparent 91% 100%
  );
}
.home-page .hl-green{
  background:linear-gradient(
    180deg,
    transparent 0 56%,
    rgba(112,201,82,.82) 56% 91%,
    transparent 91% 100%
  );
}

/* Override keyword marker treatment: use actual word colors */
.home-page .hl{
  background:none !important;
  padding:0 !important;
  border-radius:0 !important;
  -webkit-box-decoration-break:slice;
  box-decoration-break:slice;
}
.home-page .hl-orange{
  color:#f47c20 !important;
}
.home-page .hl-yellow{
  color:#ffd633 !important;
}
.home-page .hl-green{
  color:#5fbf3f !important;
}


/* =========================================================
   HOME INTERACTION + MOTION PASS
   ========================================================= */

.home-page .btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s ease,
    background .24s ease,
    color .24s ease,
    border-color .24s ease;
}
.home-page .btn:active{
  transform:translateY(0) scale(.97);
}
.home-page .btn:focus-visible,
.home-page .navlinks a:focus-visible{
  outline:4px solid rgba(255,214,51,.75);
  outline-offset:4px;
}

/* Orange -> blue */
.home-page .btn.orange:hover,
.home-page .btn.orange:focus-visible{
  color:#fff;
  background:linear-gradient(135deg,#0752a8,#1b86df);
  box-shadow:0 14px 28px rgba(7,82,168,.30);
  transform:translateY(-4px) scale(1.025);
}

/* Yellow -> green */
.home-page .btn.yellow{
  color:#173b22;
  background:linear-gradient(135deg,#ffe04d,#f4c928);
  box-shadow:0 10px 24px rgba(245,200,66,.28);
}
.home-page .btn.yellow:hover,
.home-page .btn.yellow:focus-visible{
  color:#fff;
  background:linear-gradient(135deg,#2f7d32,#59ae43);
  box-shadow:0 14px 28px rgba(47,125,50,.30);
  transform:translateY(-4px) scale(1.025);
}

/* Ghost buttons still react */
.home-page .btn.ghost:hover,
.home-page .btn.ghost:focus-visible{
  color:#0752a8;
  border-color:#74b9ef;
  background:#eef8ff;
  box-shadow:0 12px 24px rgba(7,82,168,.16);
  transform:translateY(-4px);
}
.home-page .btn.darkghost:hover,
.home-page .btn.darkghost:focus-visible{
  color:#173b22!important;
  background:#ffe04d!important;
  border-color:#ffe04d!important;
}

/* Navigation gets a sliding underline */
.home-page .navlinks a{
  position:relative;
  transition:color .2s ease,transform .2s ease;
}
.home-page .navlinks a::after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-7px;
  height:3px;
  border-radius:999px;
  background:#ef7d25;
  transition:left .22s ease,right .22s ease,background .22s ease;
}
.home-page .navlinks a:hover{
  color:#8ed8ff;
  transform:translateY(-1px);
}
.home-page .navlinks a:hover::after,
.home-page .navlinks a:focus-visible::after{
  left:0;
  right:0;
  background:#f5c842;
}

/* Gentle living motion in the rotating hero */
@keyframes mvHeroDrift{
  from{transform:scale(1.00)}
  to{transform:scale(1.035)}
}
.home-page .mission-bg-slide.active{
  animation:mvHeroDrift 6.5s ease-out both;
}

/* Mission cards */
.home-page .mission-cards-section .mission-card{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-position .45s ease;
}
.home-page .mission-cards-section .mission-card .icon,
.home-page .mission-cards-section .mission-card-copy{
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.home-page .mission-cards-section .mission-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:3px solid transparent;
  pointer-events:none;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.home-page .mission-cards-section .mission-card:hover{
  transform:translateY(-11px) scale(1.018);
  box-shadow:0 18px 0 rgba(7,82,168,.12),0 30px 52px rgba(6,47,101,.25);
}
.home-page .mission-cards-section .mission-card:nth-child(1):hover{transform:translateY(-11px) rotate(-.55deg) scale(1.018)}
.home-page .mission-cards-section .mission-card:nth-child(3):hover{transform:translateY(-11px) rotate(.55deg) scale(1.018)}
.home-page .mission-cards-section .mission-card:hover::after{
  border-color:rgba(255,214,51,.72);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.50);
}
.home-page .mission-cards-section .mission-card:hover .icon{
  transform:translateY(-5px) rotate(-7deg) scale(1.10);
}
.home-page .mission-cards-section .mission-card:hover .mission-card-copy{
  transform:translateY(-3px);
}

/* Main Gary feature */
.home-page .character-feature{
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
.home-page .character-feature img{
  transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s ease;
}
.home-page .character-feature .overlay{
  transition:transform .3s ease;
}
.home-page .character-feature:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 52px rgba(4,40,82,.28);
}
.home-page .character-feature:hover img{
  transform:scale(1.065);
  filter:saturate(1.08);
}
.home-page .character-feature:hover .overlay{
  transform:translateY(-7px);
}

/* Small crew cards */
.home-page .crew-card{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    background-position .45s ease;
}
.home-page .crew-card .veggie-avatar,
.home-page .crew-card .mini-character-copy{
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease;
}
.home-page .crew-card:hover{
  transform:translateY(-9px) scale(1.02);
  box-shadow:0 11px 0 #f5c842,0 24px 42px rgba(7,54,105,.28);
  background-position:center 46%;
}
.home-page .crew-card:hover .veggie-avatar{
  transform:translateY(-4px) rotate(-4deg) scale(1.07);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.home-page .crew-card:hover .mini-character-copy{
  transform:translateY(-2px);
}

/* Recipe cards */
.home-page .book-recipe-card{
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s ease,
    border-color .3s ease;
}
.home-page .book-recipe-card .recipe-art img{
  transition:transform .62s cubic-bezier(.2,.8,.2,1),filter .4s ease;
}
.home-page .book-recipe-card .recipe-book-badge,
.home-page .book-recipe-card .recipe-snippet{
  transition:transform .26s ease,background .26s ease,border-color .26s ease;
}
.home-page .book-recipe-card:hover{
  transform:translateY(-12px) scale(1.018);
  border-color:#ffe04d;
  box-shadow:0 12px 0 rgba(7,82,168,.24),0 32px 54px rgba(2,29,71,.30);
}
.home-page .book-recipe-card:hover .recipe-art img{
  transform:scale(1.075);
  filter:saturate(1.08);
}
.home-page .book-recipe-card:hover .recipe-book-badge{
  transform:translateY(-3px) rotate(-2deg);
  background:#ffe04d;
  border-color:#ffe04d;
}
.home-page .book-recipe-card:hover .recipe-snippet{
  transform:translateY(-2px);
  border-color:#7bc4ef;
  background:#f5fbff;
}

/* Book section */
.home-page .book-band{
  transition:transform .3s ease,box-shadow .3s ease;
}
.home-page .book-band::before{
  transition:transform .55s ease,opacity .4s ease;
}
.home-page .book-art{
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;
}
.home-page .book-band:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 58px rgba(14,59,34,.20);
}
.home-page .book-band:hover::before{
  transform:scale(1.14) translate(-12px,12px);
  opacity:.24;
}
.home-page .book-band:hover .book-art{
  transform:rotate(0deg) translateY(-7px) scale(1.015);
  box-shadow:0 30px 68px rgba(0,0,0,.34);
}

/* Scroll reveals added by app.js */
.home-page .mv-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--mv-delay,0ms);
}
.home-page .mv-reveal.mv-in-view{
  opacity:1;
  transform:none;
}

/* Keep touch/mobile behavior clean */
@media (hover:hover) and (pointer:fine){
  .home-page .mission-cards-section .mission-card,
  .home-page .character-feature,
  .home-page .crew-card,
  .home-page .book-recipe-card,
  .home-page .book-band{
    cursor:default;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-page *,
  .home-page *::before,
  .home-page *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
  .home-page .mv-reveal{
    opacity:1!important;
    transform:none!important;
  }
}

.home-page .navlinks a:focus-visible{
  color:#8ed8ff;
}


/* Meet the Characters hero artwork */
.characters-page .characters-hero{
  min-height:530px;
  display:grid;
  place-items:center;
  padding:72px 0;
  background:
    linear-gradient(90deg,rgba(3,47,113,.20),rgba(3,47,113,.34) 48%,rgba(3,47,113,.20)),
    url("assets/characters-hero-crew.png") center center/cover no-repeat;
  border-bottom:5px solid var(--mv-yellow);
  box-shadow:0 18px 36px rgba(1,31,77,.24);
}
.characters-page .characters-hero::before,
.characters-page .characters-hero::after{
  display:none;
}
.characters-page .characters-hero .container{
  width:min(960px,calc(100% - 48px));
  text-align:center;
  padding:32px 38px 36px;
  border-radius:32px;
  background:rgba(5,61,132,.22);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(1.5px);
}
.characters-page .characters-hero .eyebrow{
  color:#ffe24d;
}
.characters-page .characters-hero h1{
  margin:.45rem auto 1rem;
  max-width:920px;
  color:#fff;
  font-size:clamp(3.2rem,5.4vw,5.9rem);
  line-height:.96;
  text-shadow:0 5px 0 rgba(3,42,92,.30),0 9px 26px rgba(0,0,0,.28);
}
.characters-page .characters-hero p{
  max-width:820px;
  margin:0 auto;
  color:#f4fbff;
  font-size:clamp(1rem,1.3vw,1.18rem);
  line-height:1.65;
  text-shadow:0 2px 10px rgba(0,0,0,.30);
}
@media(max-width:900px){
  .characters-page .characters-hero{
    min-height:560px;
    background-position:center center;
  }
  .characters-page .characters-hero .container{
    width:min(92%,760px);
    padding:28px 26px 32px;
  }
}
@media(max-width:620px){
  .characters-page .characters-hero{
    min-height:590px;
    padding:58px 0;
    background-position:center center;
  }
  .characters-page .characters-hero .container{
    width:calc(100% - 28px);
    padding:24px 20px 28px;
    border-radius:24px;
    background:rgba(5,61,132,.38);
  }
  .characters-page .characters-hero h1{
    font-size:clamp(2.65rem,12vw,4rem);
  }
}


/* =========================================================
   CHARACTERS PAGE — STORY CAROUSEL
   ========================================================= */
.characters-page .character-story-section{
  position:relative;
  overflow:hidden;
  padding:76px 0 90px;
  background:
    radial-gradient(circle at 10% 12%,rgba(255,224,77,.18),transparent 24%),
    radial-gradient(circle at 88% 20%,rgba(73,185,255,.18),transparent 25%),
    linear-gradient(180deg,#f7fcff 0%,#eaf7ff 100%);
}
.characters-page .character-story-top{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.characters-page .character-story-top h2{
  margin:.5rem 0 .45rem;
  color:#0752a8;
  font-size:clamp(2.4rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.035em;
}
.characters-page .character-story-top p{
  max-width:760px;
  margin:0;
  color:#5a7186;
}
.characters-page .character-progress{
  flex:0 0 auto;
  padding:10px 16px;
  border-radius:999px;
  background:#0752a8;
  color:#fff;
  font-weight:950;
  box-shadow:0 6px 0 #f5c842;
}

.characters-page .character-carousel{
  position:relative;
  overflow:hidden;
  border-radius:38px;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 14px 0 #9ccfe9,0 30px 60px rgba(7,54,105,.20);
  outline:none;
  touch-action:pan-y;
}
.characters-page .character-track{
  display:flex;
  transition:transform .58s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.characters-page .character-story-slide{
  flex:0 0 100%;
  min-width:0;
  min-height:690px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  gap:0;
}
.characters-page .character-art-zone{
  position:relative;
  min-height:690px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:36px;
  isolation:isolate;
}
.characters-page .character-art-zone::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.92),rgba(255,255,255,.38) 48%,transparent 72%);
}
.characters-page .gary-story .character-art-zone{background:linear-gradient(160deg,#dff6ff,#9bdcff 55%,#fff4c9)}
.characters-page .carry-story .character-art-zone{background:linear-gradient(160deg,#fff0dc,#ffd09e)}
.characters-page .artie-story .character-art-zone{background:linear-gradient(160deg,#e8f7df,#bfe4a5)}
.characters-page .tommy-story .character-art-zone{background:linear-gradient(160deg,#ffe8e2,#ffb6aa)}
.characters-page .nanner-story .character-art-zone{background:linear-gradient(160deg,#fff9cc,#ffe874)}
.characters-page .gingy-story .character-art-zone{background:linear-gradient(160deg,#fff2df,#edc699)}

.characters-page .character-name-ribbon{
  position:absolute;
  top:24px;
  left:24px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#0752a8;
  border:2px solid #bfe8ff;
  box-shadow:0 5px 0 rgba(7,82,168,.16);
  font-weight:950;
  letter-spacing:.04em;
}
.characters-page .gary-art-frame,
.characters-page .standard-character-art{
  width:min(90%,560px);
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
}
.characters-page .gary-art-frame img,
.characters-page .standard-character-art img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(3,44,92,.18));
  transition:transform .34s ease,opacity .2s ease,filter .3s ease;
}
.characters-page .gary-art-frame img.swap-out{
  opacity:.15;
  transform:scale(.94) rotate(-2deg);
}
.characters-page .gary-art-frame img.swap-in{
  animation:garyPop .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes garyPop{
  0%{transform:scale(.92) rotate(1deg)}
  65%{transform:scale(1.025) rotate(-.5deg)}
  100%{transform:scale(1)}
}
.characters-page .gary-speech{
  position:absolute;
  left:32px;
  right:32px;
  bottom:26px;
  z-index:3;
  padding:16px 20px;
  border-radius:22px;
  background:#fff;
  color:#073477;
  border:3px solid #69bff1;
  box-shadow:0 8px 0 rgba(7,82,168,.12);
  font-weight:950;
  text-align:center;
  line-height:1.35;
}
.characters-page .character-story-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 52px;
  background:
    radial-gradient(circle at 86% 10%,rgba(255,225,68,.16),transparent 22%),
    #fff;
}
.characters-page .story-kicker{
  color:#ef7d25;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.14em;
}
.characters-page .character-story-copy h3{
  margin:.45rem 0 .8rem;
  color:#0752a8;
  font-size:clamp(2.5rem,4vw,4.4rem);
  line-height:.96;
  letter-spacing:-.045em;
}
.characters-page .character-story-copy h3 span{color:#ef7d25}
.characters-page .story-summary{
  margin:0 0 22px;
  color:#52697d;
  font-size:1.02rem;
  line-height:1.65;
}
.characters-page .gary-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 0 18px;
}
.characters-page .gary-fact{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  padding:13px 14px;
  border-radius:18px;
  border:2px solid #c9e9fb;
  background:#f6fcff;
  color:#0752a8;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.characters-page .gary-fact span{font-size:1.4rem}
.characters-page .gary-fact b{font-size:.82rem;line-height:1.2}
.characters-page .gary-fact:hover,
.characters-page .gary-fact:focus-visible{
  transform:translateY(-3px);
  border-color:#f5c842;
  background:#fffbea;
  box-shadow:0 7px 0 rgba(245,200,66,.20);
}
.characters-page .gary-fact.active{
  color:#fff;
  background:linear-gradient(135deg,#0752a8,#1c85db);
  border-color:#0752a8;
  box-shadow:0 6px 0 #f5c842;
}
.characters-page .gary-explainer{
  min-height:205px;
  padding:20px 21px;
  border-radius:22px;
  background:linear-gradient(145deg,#eef9ff,#fffaf0);
  border:2px solid #bfe8ff;
}
.characters-page .gary-explainer-label{
  display:block;
  margin-bottom:2px;
  color:#6f8ea7;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
}
.characters-page .gary-explainer h4{
  margin:.2rem 0 .35rem;
  color:#0752a8;
  font-size:1.45rem;
}
.characters-page .gary-explainer p{
  margin:0;
  color:#536b7e;
}
.characters-page .crush-clove{
  margin-top:14px;
  padding:10px 15px;
  border:0;
  border-radius:999px;
  background:#f5c842;
  color:#173b22;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.characters-page .crush-clove:hover{
  transform:translateY(-2px) rotate(-1deg);
  background:#2f7d32;
  color:#fff;
}
.characters-page .crush-result{
  margin-top:12px!important;
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border-left:5px solid #ef7d25;
}
.characters-page .crush-result.pop{
  animation:crushPop .35s ease;
}
@keyframes crushPop{
  from{transform:scale(.96);opacity:.15}
  to{transform:scale(1);opacity:1}
}

.characters-page .simple-fact-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:4px 0 22px;
}
.characters-page .simple-fact-cloud span{
  padding:10px 13px;
  border-radius:999px;
  background:#eef8ff;
  border:2px solid #c4e7fa;
  color:#0752a8;
  font-weight:900;
  font-size:.86rem;
}
.characters-page .character-story-copy > p:last-child{
  color:#536b7e;
  line-height:1.7;
}
.characters-page .gingy-placeholder{
  font-size:clamp(10rem,26vw,22rem);
  filter:drop-shadow(0 18px 24px rgba(91,54,15,.18));
}

.characters-page .character-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:#0752a8;
  color:#fff;
  box-shadow:0 7px 0 rgba(245,200,66,.85);
  transform:translateY(-50%);
  cursor:pointer;
  font-size:1.6rem;
  font-weight:950;
  transition:transform .2s ease,background .2s ease;
}
.characters-page .character-arrow:hover{
  background:#ef7d25;
  transform:translateY(-50%) scale(1.06);
}
.characters-page .character-prev{left:16px}
.characters-page .character-next{right:16px}

.characters-page .character-selector{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.characters-page .character-dot{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 14px;
  border:2px solid #c7e8fb;
  border-radius:999px;
  background:#fff;
  color:#0752a8;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.characters-page .character-dot:hover{
  transform:translateY(-2px);
  border-color:#f5c842;
}
.characters-page .character-dot.active{
  background:#0752a8;
  border-color:#0752a8;
  color:#fff;
  box-shadow:0 4px 0 #f5c842;
}
.characters-page .source-note{
  margin:30px auto 0;
  max-width:900px;
  text-align:center;
}

@media(max-width:980px){
  .characters-page .character-story-slide{
    grid-template-columns:1fr;
  }
  .characters-page .character-art-zone{
    min-height:520px;
  }
  .characters-page .gary-art-frame,
  .characters-page .standard-character-art{
    width:min(74%,500px);
    aspect-ratio:1/1;
  }
  .characters-page .character-story-copy{
    padding:38px 34px 44px;
  }
  .characters-page .character-arrow{
    top:260px;
  }
}
@media(max-width:680px){
  .characters-page .character-story-section{padding:58px 0 72px}
  .characters-page .character-story-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .characters-page .character-carousel{border-radius:28px}
  .characters-page .character-art-zone{
    min-height:430px;
    padding:28px 22px 72px;
  }
  .characters-page .gary-art-frame,
  .characters-page .standard-character-art{
    width:min(88%,390px);
  }
  .characters-page .character-name-ribbon{
    top:16px;
    left:16px;
    font-size:.73rem;
    padding:8px 12px;
  }
  .characters-page .gary-speech{
    left:16px;
    right:16px;
    bottom:16px;
    font-size:.87rem;
  }
  .characters-page .character-story-copy{
    padding:32px 22px 36px;
  }
  .characters-page .gary-fact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .characters-page .gary-fact{min-height:82px}
  .characters-page .character-arrow{
    top:215px;
    width:46px;
    height:46px;
  }
  .characters-page .character-prev{left:9px}
  .characters-page .character-next{right:9px}
  .characters-page .character-dot{
    font-size:.78rem;
    padding:8px 11px;
  }
}
@media(prefers-reduced-motion:reduce){
  .characters-page .character-track,
  .characters-page .gary-art-frame img,
  .characters-page .gary-fact,
  .characters-page .character-dot,
  .characters-page .character-arrow{
    transition:none!important;
    animation:none!important;
  }
}


/* Carry interactive explainer */
.characters-page .carry-art-frame{
  width:min(90%,560px);
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
}
.characters-page .carry-art-frame img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(92,56,8,.16));
  transition:transform .34s ease,opacity .2s ease,filter .3s ease;
}
.characters-page .carry-art-frame img.swap-out{
  opacity:.15;
  transform:scale(.94) rotate(2deg);
}
.characters-page .carry-art-frame img.swap-in{
  animation:carryPop .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes carryPop{
  0%{transform:scale(.92) rotate(-1deg)}
  65%{transform:scale(1.025) rotate(.5deg)}
  100%{transform:scale(1)}
}
.characters-page .carry-speech{
  position:absolute;
  left:32px;
  right:32px;
  bottom:26px;
  z-index:3;
  padding:16px 20px;
  border-radius:22px;
  background:#fff;
  color:#9c4f00;
  border:3px solid #ffb15c;
  box-shadow:0 8px 0 rgba(239,125,37,.12);
  font-weight:950;
  text-align:center;
  line-height:1.35;
}
.characters-page .carry-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 0 18px;
}
.characters-page .carry-fact{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  padding:13px 14px;
  border-radius:18px;
  border:2px solid #ffd0a8;
  background:#fff9f2;
  color:#9c4f00;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.characters-page .carry-fact span{font-size:1.4rem}
.characters-page .carry-fact b{font-size:.82rem;line-height:1.2}
.characters-page .carry-fact:hover,
.characters-page .carry-fact:focus-visible{
  transform:translateY(-3px);
  border-color:#f5c842;
  background:#fffbea;
  box-shadow:0 7px 0 rgba(245,200,66,.20);
}
.characters-page .carry-fact.active{
  color:#fff;
  background:linear-gradient(135deg,#ef7d25,#f3a33c);
  border-color:#ef7d25;
  box-shadow:0 6px 0 #f5c842;
}
.characters-page .carry-explainer{
  min-height:205px;
  padding:20px 21px;
  border-radius:22px;
  background:linear-gradient(145deg,#fff8ef,#fffbea);
  border:2px solid #ffd0a8;
}
.characters-page .carry-explainer-label{
  display:block;
  margin-bottom:2px;
  color:#a97a54;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
}
.characters-page .carry-explainer h4{
  margin:.2rem 0 .35rem;
  color:#9c4f00;
  font-size:1.45rem;
}
.characters-page .carry-explainer > p{
  margin:0;
  color:#6f5d50;
}
.characters-page .carry-crunch-wrap{
  margin-top:14px;
}
.characters-page .pick-crunch{
  padding:10px 15px;
  border:0;
  border-radius:999px;
  background:#f5c842;
  color:#173b22;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.characters-page .pick-crunch:hover{
  transform:translateY(-2px) rotate(1deg);
  background:#2f7d32;
  color:#fff;
}
.characters-page .crunch-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.characters-page .crunch-choice{
  padding:9px 13px;
  border-radius:999px;
  border:2px solid #ffbd78;
  background:#fff;
  color:#9c4f00;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.characters-page .crunch-choice:hover,
.characters-page .crunch-choice:focus-visible{
  transform:translateY(-2px);
  background:#ef7d25;
  color:#fff;
  border-color:#ef7d25;
}
.characters-page .crunch-result-box{
  margin-top:12px;
  padding:13px 14px;
  border-radius:15px;
  background:#fff;
  border-left:5px solid #2f7d32;
  color:#5f665a;
}
.characters-page .crunch-result-box b{
  display:block;
  margin-bottom:4px;
  color:#9c4f00;
}
.characters-page .crunch-result-box p{
  margin:0 0 8px;
}
.characters-page .crunch-result-box span{
  display:block;
  color:#2f7d32;
  font-weight:900;
}
.characters-page .crunch-result-box.pop{
  animation:crushPop .35s ease;
}

@media(max-width:980px){
  .characters-page .carry-art-frame{
    width:min(74%,500px);
    aspect-ratio:1/1;
  }
}
@media(max-width:680px){
  .characters-page .carry-art-frame{
    width:min(88%,390px);
  }
  .characters-page .carry-speech{
    left:16px;
    right:16px;
    bottom:16px;
    font-size:.87rem;
  }
  .characters-page .carry-fact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .characters-page .carry-fact{min-height:82px}
}


/* Artie interactive explainer */
.characters-page .artie-art-frame{
  width:min(90%,560px);
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
}
.characters-page .artie-art-frame img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(42,99,24,.18));
  transition:transform .34s ease,opacity .2s ease,filter .3s ease;
}
.characters-page .artie-art-frame img.swap-out{
  opacity:.15;
  transform:scale(.94) rotate(-2deg);
}
.characters-page .artie-art-frame img.swap-in{
  animation:artiePop .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes artiePop{
  0%{transform:scale(.92) rotate(1deg)}
  65%{transform:scale(1.025) rotate(-.5deg)}
  100%{transform:scale(1)}
}
.characters-page .artie-speech{
  position:absolute;
  left:32px;
  right:32px;
  bottom:26px;
  z-index:3;
  padding:16px 20px;
  border-radius:22px;
  background:#fff;
  color:#2f6f27;
  border:3px solid #8fc66e;
  box-shadow:0 8px 0 rgba(83,139,54,.12);
  font-weight:950;
  text-align:center;
  line-height:1.35;
}
.characters-page .artie-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 0 18px;
}
.characters-page .artie-fact{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  padding:13px 14px;
  border-radius:18px;
  border:2px solid #cde8bc;
  background:#f7fff2;
  color:#2f6f27;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.characters-page .artie-fact span{font-size:1.4rem}
.characters-page .artie-fact b{font-size:.82rem;line-height:1.2}
.characters-page .artie-fact:hover,
.characters-page .artie-fact:focus-visible{
  transform:translateY(-3px);
  border-color:#f5c842;
  background:#fffbea;
  box-shadow:0 7px 0 rgba(245,200,66,.20);
}
.characters-page .artie-fact.active{
  color:#fff;
  background:linear-gradient(135deg,#2f7d32,#66a943);
  border-color:#2f7d32;
  box-shadow:0 6px 0 #f5c842;
}
.characters-page .artie-explainer{
  min-height:215px;
  padding:20px 21px;
  border-radius:22px;
  background:linear-gradient(145deg,#f4fff0,#fffbea);
  border:2px solid #cde8bc;
}
.characters-page .artie-explainer-label{
  display:block;
  margin-bottom:2px;
  color:#719265;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
}
.characters-page .artie-explainer h4{
  margin:.2rem 0 .35rem;
  color:#2f6f27;
  font-size:1.45rem;
}
.characters-page .artie-explainer > p{
  margin:0;
  color:#5e7158;
}
.characters-page .artie-peel-wrap{
  margin-top:14px;
}
.characters-page .peel-heart{
  padding:10px 15px;
  border:0;
  border-radius:999px;
  background:#f5c842;
  color:#173b22;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.characters-page .peel-heart:hover{
  transform:translateY(-2px) rotate(-1deg);
  background:#2f7d32;
  color:#fff;
}
.characters-page .peel-progress{
  margin-top:13px;
}
.characters-page .peel-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.characters-page .peel-step{
  padding:8px 7px;
  border-radius:12px;
  background:#edf7e7;
  border:2px solid #d4e8c9;
  color:#68835c;
  font-size:.72rem;
  font-weight:900;
  text-align:center;
}
.characters-page .peel-step.active{
  background:#2f7d32;
  border-color:#2f7d32;
  color:#fff;
}
.characters-page .peel-result-box{
  padding:13px 14px;
  border-radius:15px;
  background:#fff;
  border-left:5px solid #8fc66e;
  color:#5e7158;
}
.characters-page .peel-result-box b{
  display:block;
  margin-bottom:4px;
  color:#2f6f27;
}
.characters-page .peel-result-box p{
  margin:0 0 8px;
}
.characters-page .peel-result-box span{
  display:block;
  color:#2f7d32;
  font-weight:900;
}
.characters-page .peel-result-box.pop{
  animation:crushPop .35s ease;
}
.characters-page .peel-next{
  margin-top:10px;
  padding:9px 13px;
  border-radius:999px;
  border:2px solid #8fc66e;
  background:#fff;
  color:#2f6f27;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.characters-page .peel-next:hover,
.characters-page .peel-next:focus-visible{
  transform:translateY(-2px);
  background:#2f7d32;
  color:#fff;
}
.characters-page .peel-next.done{
  background:#ef7d25;
  border-color:#ef7d25;
  color:#fff;
}

@media(max-width:980px){
  .characters-page .artie-art-frame{
    width:min(74%,500px);
    aspect-ratio:1/1;
  }
}
@media(max-width:680px){
  .characters-page .artie-art-frame{
    width:min(88%,390px);
  }
  .characters-page .artie-speech{
    left:16px;
    right:16px;
    bottom:16px;
    font-size:.87rem;
  }
  .characters-page .artie-fact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .characters-page .artie-fact{min-height:82px}
  .characters-page .peel-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Tommy interactive explainer */
.characters-page .tommy-art-frame{
  width:min(90%,560px);
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
  position:relative;
}
.characters-page .tommy-art-frame::after{
  content:"";
  position:absolute;
  width:62%;
  height:18%;
  left:19%;
  bottom:8%;
  border-radius:50%;
  background:rgba(132,30,22,.14);
  filter:blur(12px);
  z-index:-1;
}
.characters-page .tommy-art-frame img{
  /* Explicitly size the grid image to its frame. Without this,
     its intrinsic 1402px height stretches every carousel slide. */
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(126,36,26,.18));
  transform-origin:50% 80%;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .3s ease;
}
.characters-page .tommy-art-frame[data-pose="heart"] img{transform:scale(1.015);filter:drop-shadow(0 18px 24px rgba(126,36,26,.20)) saturate(1.08)}
.characters-page .tommy-art-frame[data-pose="bounce"] img{animation:tommyBounce .46s cubic-bezier(.2,.8,.2,1)}
.characters-page .tommy-art-frame[data-pose="power"] img{transform:rotate(-2deg) scale(1.035);filter:drop-shadow(0 20px 26px rgba(126,36,26,.22)) saturate(1.12)}
.characters-page .tommy-art-frame[data-pose="float"] img{animation:tommyFloat .9s ease-in-out alternate 2}
.characters-page .tommy-art-frame[data-pose="cook"] img{transform:rotate(2deg) scale(1.025)}
.characters-page .tommy-art-frame[data-pose="debate"] img{animation:tommyThink .48s ease}
@keyframes tommyBounce{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-16px) scale(1.03)}100%{transform:translateY(0) scale(1)}}
@keyframes tommyFloat{from{transform:translateY(4px) scale(1)}to{transform:translateY(-10px) scale(1.015)}}
@keyframes tommyThink{0%{transform:rotate(0)}28%{transform:rotate(-3deg)}62%{transform:rotate(3deg)}100%{transform:rotate(0)}}
.characters-page .tommy-speech{
  position:absolute;
  left:32px;
  right:32px;
  bottom:26px;
  z-index:3;
  padding:16px 20px;
  border-radius:22px;
  background:#fff;
  color:#9f261f;
  border:3px solid #ef6c5d;
  box-shadow:0 8px 0 rgba(223,59,47,.13);
  font-weight:950;
  text-align:center;
  line-height:1.35;
}
.characters-page .tommy-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 0 18px;
}
.characters-page .tommy-fact{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  padding:13px 14px;
  border-radius:18px;
  border:2px solid #ffc9c1;
  background:#fff8f6;
  color:#9f261f;
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease;
}
.characters-page .tommy-fact span{font-size:1.4rem}
.characters-page .tommy-fact b{font-size:.82rem;line-height:1.2}
.characters-page .tommy-fact:hover,
.characters-page .tommy-fact:focus-visible{
  transform:translateY(-3px);
  border-color:#f5c842;
  background:#fffbea;
  box-shadow:0 7px 0 rgba(245,200,66,.20);
}
.characters-page .tommy-fact.active{
  color:#fff;
  background:linear-gradient(135deg,#cf3027,#ef6557);
  border-color:#c92e25;
  box-shadow:0 6px 0 #f5c842;
}
.characters-page .tommy-explainer{
  min-height:215px;
  padding:20px 21px;
  border-radius:22px;
  background:linear-gradient(145deg,#fff4f1,#fffbea);
  border:2px solid #ffc9c1;
}
.characters-page .tommy-explainer-label{
  display:block;
  margin-bottom:2px;
  color:#a86e68;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
}
.characters-page .tommy-explainer h4{
  margin:.2rem 0 .35rem;
  color:#9f261f;
  font-size:1.45rem;
}
.characters-page .tommy-explainer > p{
  margin:0;
  color:#6f5b58;
}
.characters-page .tommy-debate-wrap{margin-top:14px}
.characters-page .tomato-debate{
  padding:10px 15px;
  border:0;
  border-radius:999px;
  background:#f5c842;
  color:#173b22;
  font-weight:950;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.characters-page .tomato-debate:hover{
  transform:translateY(-2px) rotate(-1deg);
  background:#2f7d32;
  color:#fff;
}
.characters-page .tomato-debate-options[hidden],
.characters-page .tomato-debate-result[hidden]{display:none!important}
.characters-page .tomato-debate-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.characters-page .tomato-debate-choice{
  padding:9px 13px;
  border-radius:999px;
  border:2px solid #ef8d80;
  background:#fff;
  color:#9f261f;
  font-weight:900;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.characters-page .tomato-debate-choice:hover,
.characters-page .tomato-debate-choice:focus-visible{
  transform:translateY(-2px);
  background:#df3b2f;
  border-color:#df3b2f;
  color:#fff;
}
.characters-page .tomato-debate-result{
  margin-top:12px;
  padding:13px 14px;
  border-radius:15px;
  background:#fff;
  border-left:5px solid #2f7d32;
  color:#665b58;
}
.characters-page .tomato-debate-result b{
  display:block;
  margin-bottom:4px;
  color:#9f261f;
}
.characters-page .tomato-debate-result p{margin:0 0 8px}
.characters-page .tomato-debate-result span{
  display:block;
  color:#2f7d32;
  font-weight:900;
}
.characters-page .tomato-debate-result.pop{animation:crushPop .35s ease}
/* Keep Tommy's full explainer within the original desktop carousel footprint.
   Only Tommy is compacted; Gary, Carry, and Artie retain their layouts. */
@media(min-width:981px){
  .characters-page .tommy-story .character-story-copy{
    padding:24px 34px;
  }
  .characters-page .tommy-story .character-story-copy h3{
    font-size:clamp(2.05rem,2.7vw,3.1rem);
    line-height:1.04;
    margin:.35rem 0 .55rem;
  }
  .characters-page .tommy-story .story-summary{
    font-size:.91rem;
    line-height:1.42;
    margin-bottom:12px;
  }
  .characters-page .tommy-art-frame{
    width:min(84%,470px);
  }
  .characters-page .tommy-fact-grid{
    gap:7px;
    margin:0 0 12px;
  }
  .characters-page .tommy-fact{
    min-height:67px;
    padding:7px 10px;
    border-radius:14px;
    gap:2px;
  }
  .characters-page .tommy-fact span{font-size:1.04rem}
  .characters-page .tommy-fact b{font-size:.77rem}
  .characters-page .tommy-explainer{
    min-height:0;
    padding:13px 16px;
    border-radius:17px;
  }
  .characters-page .tommy-explainer h4{
    font-size:1.2rem;
    margin:.15rem 0 .25rem;
  }
  .characters-page .tommy-explainer > p{
    font-size:.87rem;
    line-height:1.38;
  }
  .characters-page .tommy-debate-wrap{margin-top:9px}
  .characters-page .tomato-debate{padding:8px 12px;font-size:.86rem}
  .characters-page .tomato-debate-options{gap:6px;margin-top:8px}
  .characters-page .tomato-debate-choice{padding:6px 10px;font-size:.81rem}
  .characters-page .tomato-debate-result{
    margin-top:8px;
    padding:9px 11px;
    font-size:.85rem;
    line-height:1.35;
  }
  .characters-page .tomato-debate-result b{margin-bottom:2px}
  .characters-page .tomato-debate-result p{margin-bottom:4px}
}
@media(max-width:980px){
  .characters-page .tommy-art-frame{width:min(74%,500px);aspect-ratio:1/1}
}
@media(max-width:680px){
  .characters-page .tommy-art-frame{width:min(88%,390px)}
  .characters-page .tommy-speech{left:16px;right:16px;bottom:16px;font-size:.87rem}
  .characters-page .tommy-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .characters-page .tommy-fact{min-height:82px}
}
@media(prefers-reduced-motion:reduce){
  .characters-page .tommy-art-frame img,
  .characters-page .tommy-fact,
  .characters-page .tomato-debate,
  .characters-page .tomato-debate-choice{transition:none!important;animation:none!important}
}

/* Nanner interactive explainer: fixed-size artwork and compact in-place game.
   Keep the shared 690px desktop carousel untouched. */
.characters-page .nanner-art-frame{
  width:min(84%,470px);
  aspect-ratio:4/5;
  display:grid;
  place-items:center;
  position:relative;
  min-width:0;
  min-height:0;
}
.characters-page .nanner-art-frame img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 15px 22px rgba(129,99,7,.18));
  transition:opacity .24s ease,transform .3s ease;
}
.characters-page .nanner-art-frame img.nanner-swapping{
  animation:nannerSwap .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes nannerSwap{
  from{opacity:.58;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}
.characters-page .nanner-speech{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  z-index:3;
  padding:11px 15px;
  border-radius:18px;
  background:#fff;
  color:#815107;
  border:3px solid #f6c84f;
  box-shadow:0 6px 0 rgba(189,145,18,.16);
  font-weight:900;
  text-align:center;
  line-height:1.35;
  font-size:.92rem;
}
.characters-page .nanner-story .character-story-copy{
  padding:22px 32px;
}
.characters-page .nanner-story .character-story-copy h3{
  font-size:clamp(2.1rem,2.8vw,3.05rem);
  line-height:1.04;
  margin:.33rem 0 .52rem;
}
.characters-page .nanner-story .story-summary{
  font-size:.91rem;
  line-height:1.42;
  margin:0 0 11px;
}
.characters-page .nanner-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 12px;
}
.characters-page .nanner-fact{
  min-width:0;
  min-height:67px;
  padding:7px 10px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  border-radius:14px;
  border:2px solid #f6dea4;
  background:#fffaf0;
  color:#805100;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.characters-page .nanner-fact span{font-size:1.06rem;line-height:1}
.characters-page .nanner-fact b{font-size:.78rem;line-height:1.2}
.characters-page .nanner-fact:hover,
.characters-page .nanner-fact:focus-visible{
  border-color:#edaf21;
  background:#fff0ba;
  transform:translateY(-2px);
}
.characters-page .nanner-fact.active{
  color:#fff;
  border-color:#986208;
  background:linear-gradient(130deg,#cb850b,#f1b62e);
  box-shadow:0 5px 0 #f5d55e;
}
.characters-page .nanner-explainer{
  min-height:174px;
  padding:13px 16px;
  border-radius:17px;
  background:linear-gradient(145deg,#fff8df,#fffdf1);
  border:2px solid #f3d887;
}
.characters-page .nanner-explainer [hidden]{display:none!important}
.characters-page .nanner-explainer-label{
  display:block;
  margin-bottom:2px;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.1em;
  color:#986c2d;
}
.characters-page .nanner-explainer h4{
  margin:.15rem 0 .3rem;
  color:#875700;
  font-size:1.18rem;
  line-height:1.13;
}
.characters-page .nanner-explainer p{
  margin:0;
  color:#6b5e44;
  line-height:1.37;
  font-size:.86rem;
}
.characters-page .nanner-remix-button{
  margin-top:10px;
  border:0;
  padding:8px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:.85rem;
  background:#f5c842;
  color:#173b22;
  cursor:pointer;
}
.characters-page .nanner-remix-button:hover,
.characters-page .nanner-remix-button:focus-visible{background:#2f7d32;color:white}
.characters-page .nanner-stage-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:7px 0;
}
.characters-page .nanner-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  border:2px solid #dfc36c;
  border-radius:10px;
  background:#fff;
  color:#815107;
  padding:6px 4px;
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
}
.characters-page .nanner-stage[aria-pressed="true"]{
  border-color:#805900;
  background:#fae59e;
  box-shadow:inset 0 0 0 1px #805900;
}
.characters-page .nanner-stage-icon{display:inline-block;font-size:1rem}
.characters-page .nanner-stage-green{filter:hue-rotate(55deg) saturate(1.2)}
.characters-page .nanner-stage-spotted{filter:sepia(.65) brightness(.85)}
.characters-page .nanner-back-button{
  display:inline-block;
  margin-top:8px;
  padding:4px 0;
  border:0;
  background:none;
  color:#0752a8;
  text-decoration:underline;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
@media(max-width:980px){
  .characters-page .nanner-art-frame{width:min(74%,500px);aspect-ratio:1/1}
  .characters-page .nanner-story .character-story-copy{padding:30px}
}
@media(max-width:680px){
  .characters-page .nanner-art-frame{width:min(88%,390px)}
  .characters-page .nanner-speech{left:14px;right:14px;bottom:14px;font-size:.82rem}
  .characters-page .nanner-story .character-story-copy{padding:24px 19px}
  .characters-page .nanner-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .characters-page .nanner-fact{min-height:74px}
}
@media(prefers-reduced-motion:reduce){
  .characters-page .nanner-art-frame img,
  .characters-page .nanner-fact{animation:none!important;transition:none!important}
}


/* Gingy: compact interactive explainer with image-backed flavor choices.
   All styles stay inside Gingy's slide; preserve the 690px shared carousel. */
.characters-page .gingy-art-frame{
  width:min(84%,470px);
  aspect-ratio:4/5;
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
}
.characters-page .gingy-art-frame img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  min-width:0;
  min-height:0;
  object-fit:contain;
  filter:drop-shadow(0 15px 22px rgba(105,62,19,.18));
  transition:opacity .24s ease,transform .3s ease;
}
.characters-page .gingy-art-frame img.gingy-swapping{
  animation:gingySwap .38s cubic-bezier(.2,.8,.2,1);
}
@keyframes gingySwap{
  from{opacity:.58;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}
.characters-page .gingy-speech{
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  z-index:3;
  padding:11px 15px;
  border:3px solid #dca762;
  border-radius:18px;
  background:#fffaf3;
  color:#744219;
  box-shadow:0 6px 0 rgba(142,88,35,.13);
  font-size:.92rem;
  font-weight:900;
  line-height:1.35;
  text-align:center;
}
.characters-page .gingy-story .character-story-copy{padding:22px 32px}
.characters-page .gingy-story .character-story-copy h3{
  margin:.33rem 0 .52rem;
  font-size:clamp(2.08rem,2.8vw,3.05rem);
  line-height:1.04;
}
.characters-page .gingy-story .story-summary{
  margin:0 0 11px;
  font-size:.91rem;
  line-height:1.42;
}
.characters-page .gingy-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 12px;
}
.characters-page .gingy-fact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  min-width:0;
  min-height:67px;
  padding:7px 10px;
  border-radius:14px;
  border:2px solid #e8c79c;
  background:#fff9f0;
  color:#79501f;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.characters-page .gingy-fact span{font-size:1.06rem;line-height:1}
.characters-page .gingy-fact b{font-size:.78rem;line-height:1.2}
.characters-page .gingy-fact:hover,
.characters-page .gingy-fact:focus-visible{
  border-color:#c67b2f;
  background:#ffebcd;
  transform:translateY(-2px);
}
.characters-page .gingy-fact.active{
  color:white;
  border-color:#875018;
  background:linear-gradient(130deg,#986027,#ce8d3c);
  box-shadow:0 5px 0 #efd1a4;
}
.characters-page .gingy-explainer{
  min-height:174px;
  padding:13px 16px;
  border-radius:17px;
  border:2px solid #e6c394;
  background:linear-gradient(145deg,#fff2df,#fffaf0);
}
.characters-page .gingy-explainer [hidden]{display:none!important}
.characters-page .gingy-explainer-label{
  display:block;
  margin-bottom:2px;
  color:#976436;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.1em;
}
.characters-page .gingy-explainer h4{
  margin:.15rem 0 .3rem;
  color:#77471c;
  font-size:1.18rem;
  line-height:1.13;
}
.characters-page .gingy-explainer p{
  margin:0;
  color:#675743;
  font-size:.86rem;
  line-height:1.37;
}
.characters-page .gingy-match-button{
  margin-top:10px;
  padding:8px 12px;
  border:0;
  border-radius:999px;
  background:#f5c842;
  color:#173b22;
  font-size:.85rem;
  font-weight:900;
  cursor:pointer;
}
.characters-page .gingy-match-button:hover,
.characters-page .gingy-match-button:focus-visible{
  background:#8a5725;
  color:white;
}
.characters-page .gingy-match-choices{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:7px 0;
}
.characters-page .gingy-match-choice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  padding:7px 4px;
  border:2px solid #ddb782;
  border-radius:10px;
  background:white;
  color:#75441c;
  font-size:.8rem;
  font-weight:900;
  cursor:pointer;
}
.characters-page .gingy-match-choice:hover,
.characters-page .gingy-match-choice:focus-visible{border-color:#94551d;background:#fff1d9}
.characters-page .gingy-match-choice[aria-pressed="true"]{
  border-color:#855019;
  background:#ffe1ad;
  box-shadow:inset 0 0 0 1px #855019;
}
.characters-page .gingy-back-button{
  display:inline-block;
  margin-top:8px;
  padding:4px 0;
  border:0;
  background:none;
  color:#0752a8;
  font-size:.78rem;
  font-weight:850;
  text-decoration:underline;
  cursor:pointer;
}
@media(max-width:980px){
  .characters-page .gingy-art-frame{width:min(74%,500px);aspect-ratio:1/1}
  .characters-page .gingy-story .character-story-copy{padding:30px}
}
@media(max-width:680px){
  .characters-page .gingy-art-frame{width:min(88%,390px)}
  .characters-page .gingy-speech{left:14px;right:14px;bottom:14px;font-size:.82rem}
  .characters-page .gingy-story .character-story-copy{padding:24px 19px}
  .characters-page .gingy-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .characters-page .gingy-fact{min-height:74px}
}
@media(prefers-reduced-motion:reduce){
  .characters-page .gingy-art-frame img,
  .characters-page .gingy-fact{animation:none!important;transition:none!important}
}


/* Character-themed PAGE background (outside and BEHIND the character carousel).
   The artwork zone, white explainer panels, and shared carousel dimensions stay untouched. */
.characters-page .character-story-section{
  --story-background:#f5f0e6;
  --story-ink:#8e7856;
  isolation:isolate;
  background-color:var(--story-background);
  background-image:
    radial-gradient(circle at 10% 9%,rgba(255,255,255,.22),transparent 35%),
    radial-gradient(circle at 95% 79%,rgba(255,255,255,.12),transparent 38%);
  transition:background-color .5s ease;
}
.characters-page .character-story-section[data-character-theme="gary"]{
  --story-background:#eedfc4;
  --story-ink:#94734e;
}
.characters-page .character-story-section[data-character-theme="carry"]{
  --story-background:#ffd09d;
  --story-ink:#b76023;
}
.characters-page .character-story-section[data-character-theme="artie"]{
  --story-background:#d0e9bf;
  --story-ink:#387847;
}
.characters-page .character-story-section[data-character-theme="tommy"]{
  --story-background:#ffc8c1;
  --story-ink:#b43d36;
}
.characters-page .character-story-section[data-character-theme="nanner"]{
  --story-background:#ffeba0;
  --story-ink:#9a7114;
}
.characters-page .character-story-section[data-character-theme="gingy"]{
  --story-background:#ebc79f;
  --story-ink:#8f572c;
}
.characters-page .character-story-section > .container{
  position:relative;
  z-index:1;
}
.characters-page .character-story-atmosphere{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:0;
  pointer-events:none;
}
.characters-page .character-atmosphere-layer{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .45s ease,visibility .45s ease;
}
.characters-page .character-atmosphere-layer.active{
  opacity:1;
  visibility:visible;
}
.characters-page .character-atmosphere-layer > span{
  position:absolute;
  display:block;
  white-space:nowrap;
  user-select:none;
  line-height:1;
  pointer-events:none;
}
.characters-page .character-atmosphere-icon{
  font-size:clamp(2.3rem,4.3vw,5.4rem);
  opacity:.22;
  filter:saturate(.68);
}
.characters-page .character-atmosphere-keyword{
  color:var(--story-ink);
  font-weight:950;
  font-size:clamp(.95rem,1.65vw,1.75rem);
  letter-spacing:.12em;
  opacity:.16;
}
.characters-page .character-atmosphere-layer > :nth-child(1){top:4%;left:2%;transform:rotate(-15deg)}
.characters-page .character-atmosphere-layer > :nth-child(2){top:13%;right:3%;transform:rotate(10deg)}
.characters-page .character-atmosphere-layer > :nth-child(3){top:29%;left:4%;transform:rotate(13deg)}
.characters-page .character-atmosphere-layer > :nth-child(4){top:39%;right:1%;transform:rotate(-13deg)}
.characters-page .character-atmosphere-layer > :nth-child(5){top:49%;left:0%;transform:rotate(-18deg)}
.characters-page .character-atmosphere-layer > :nth-child(6){top:59%;right:0%;transform:rotate(14deg)}
.characters-page .character-atmosphere-layer > :nth-child(7){bottom:22%;left:1%;transform:rotate(-10deg)}
.characters-page .character-atmosphere-layer > :nth-child(8){bottom:22%;right:1%;transform:rotate(12deg)}
.characters-page .character-atmosphere-layer > :nth-child(9){bottom:5%;left:7%;transform:rotate(8deg)}
.characters-page .character-atmosphere-layer > :nth-child(10){bottom:4%;right:11%;transform:rotate(-12deg)}
.characters-page .character-atmosphere-layer > :nth-child(11){top:5%;left:46%;transform:rotate(4deg)}
.characters-page .character-atmosphere-layer > :nth-child(12){bottom:2%;left:47%;transform:rotate(-8deg)}
@media(max-width:980px){
  .characters-page .character-atmosphere-icon{font-size:clamp(2rem,6vw,4rem)}
  .characters-page .character-atmosphere-keyword{font-size:clamp(.8rem,2.2vw,1.3rem)}
}
@media(max-width:680px){
  .characters-page .character-atmosphere-icon{opacity:.17}
  .characters-page .character-atmosphere-keyword{opacity:.12;font-size:.8rem;letter-spacing:.08em}
  .characters-page .character-atmosphere-layer > :nth-child(4),
  .characters-page .character-atmosphere-layer > :nth-child(6),
  .characters-page .character-atmosphere-layer > :nth-child(11){display:none}
}
@media(prefers-reduced-motion:reduce){
  .characters-page .character-story-section,
  .characters-page .character-atmosphere-layer{transition:none!important}
}

/* SPECIFICITY FIX: the shared .market-theme main > .section paints an OPAQUE
   blue-white gradient above background-color. Override the entire background
   for this single page section, without touching the carousel or explainer. */
.market-theme.characters-page main > .character-story-section{
  background:
    radial-gradient(circle at 10% 9%,rgba(255,255,255,.22),transparent 35%),
    radial-gradient(circle at 95% 79%,rgba(255,255,255,.12),transparent 38%),
    var(--story-background);
  transition:background-color .5s ease;
}

/* Characters page: exact Home keyword text colors.
   Only intentionally highlighted prose receives these colors; navigation,
   buttons, photo panels, and the six character backgrounds stay unchanged. */
.characters-page .hl{
  display:inline;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  -webkit-box-decoration-break:slice;
  box-decoration-break:slice;
  font-weight:inherit;
}
.characters-page .hl-orange{color:#f47c20!important}
.characters-page .hl-yellow{color:#ffd633!important}
.characters-page .hl-green{color:#5fbf3f!important}
/* Keep yellow words legible on lighter story panels. */
.characters-page .character-story-copy .hl-yellow,
.characters-page .character-story-top .hl-yellow{
  text-shadow:0 1px 1px rgba(69,54,4,.22);
}
