/* ARCAVERSE | CSS original e mobile-first */
:root {
  --ink: #20334f;
  --ink-soft: #59708a;
  --navy: #173855;
  --sky: #80d9f6;
  --cream: #fffdf7;
  --orange: #f69a32;
  --yellow: #ffca67;
  --green: #77bf7e;
  --pink: #ff97af;
  --shadow: 0 18px 40px rgba(43, 76, 96, .12);
  --shadow-heavy: 0 24px 65px rgba(35, 63, 83, .18);
  --radius: 26px;
  --heading: 'Fredoka', 'Trebuchet MS', system-ui, sans-serif;
  --body: 'Nunito', 'Trebuchet MS', system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--body); font-size: 16px; line-height: 1.58; overflow-x: hidden; }
img, svg { max-width: 100%; }
img { display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 3px solid #e77d27; outline-offset: 4px; }
::selection { background: #ffdc83; color: var(--ink); }
.shell { width: min(100% - 36px, 1200px); margin-inline: auto; }
.section-pad { padding: 78px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { z-index: 1000; position: fixed; top: -100px; left: 12px; padding: 11px 16px; border-radius: 12px; background: white; color: #172942; }
.skip-link:focus { top: 12px; }
.top-strip { background: #244567; color: #fff6df; text-align: center; font-size: .7rem; font-weight: 800; letter-spacing: .07em; }
.top-strip__inner { padding: 8px 8px; }
.top-strip__inner span { color: #ffdd78; padding-inline: 5px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,253,247,.92); border-bottom: 1px solid rgba(71,111,132,.08); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.nav { min-height: 74px; display: flex; align-items: center; justify-content: space-between; position: relative; gap: 16px; }
.nav__brand { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }
.nav__brand-icon { width: 49px; height: 49px; object-fit: contain; filter: drop-shadow(0 4px 5px rgba(72,58,27,.12)); }
.nav__brand-text { font: 700 1.62rem/.92 var(--heading); color: #c76a28; letter-spacing: -.035em; text-shadow: 0 2px #ffdc8d; }
.nav__brand-text span { color: #f49c28; }
.menu-toggle { display: inline-flex; width: 46px; height: 46px; border: 0; border-radius: 14px; background: #fbe9cd; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; box-shadow: 0 4px 0 #efd9b5; }
.menu-toggle span { width: 20px; height: 3px; border-radius: 5px; background: #754b29; transition: transform .24s ease, opacity .24s ease; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.nav__links { position: absolute; display: none; left: 0; right: 0; top: calc(100% + 8px); padding: 14px; background: #fffefb; border-radius: 20px; border: 1px solid #f2ead8; box-shadow: var(--shadow-heavy); flex-direction: column; gap: 5px; }
.nav__links.is-open { display: flex; animation: pop-down .26s ease both; }
.nav__link { display: flex; align-items: center; gap: 11px; font-size: .96rem; font-weight: 900; padding: 10px 14px; border-radius: 12px; transition: background .2s ease, transform .2s ease; }
.nav__link:hover { background: #e8f9fc; transform: translateX(3px); }
.nav__link-icon { width: 23px; text-align: center; }
.nav__link--support { background: #ffda8c; color: #57371d; justify-content: center; }
.nav__link--support:hover { background: #ffca68; }

/* HERO: Céu e mundo ilustrado inteiramente em CSS + SVG */
.hero { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(180deg, #bceeff 0%, #d2f4fb 52%, #c0ebbb 95%); }
.hero::before { content: ''; position: absolute; width: 770px; height: 770px; top: -490px; right: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.95), rgba(255,249,207,.7) 28%, transparent 67%); pointer-events: none; z-index: -1; }
.hero__inner { position: relative; z-index: 1; padding: 55px 0 104px; display: flex; flex-direction: column; align-items: center; }
.hero__intro { position: relative; z-index: 4; text-align: center; width: 100%; max-width: 750px; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 7px; color: #ba6835; font-size: .72rem; font-weight: 900; letter-spacing: .095em; line-height: 1.3; }
.eyebrow { background: #fff8e8; border: 1px solid rgba(255,255,255,.9); box-shadow: 0 8px 18px rgba(92,135,162,.10); border-radius: 50px; padding: 10px 14px; }
.eyebrow__star { color: #f3b03f; font-size: 1.15rem; }
.hero__wordmark { width: min(97%, 680px); aspect-ratio: 3/1; object-fit: contain; margin: 2px auto -8px; filter: drop-shadow(0 13px 8px rgba(83,105,78,.14)); animation: logo-rise 1.1s cubic-bezier(.18,.88,.35,1) both; }
.hero h1, .section-heading h2, .values-layout h2, .faith-panel h2, .mission-copy h2, .support-copy h2 { font-family: var(--heading); line-height: 1.08; letter-spacing: -.024em; margin: 0; }
.hero h1 { font-size: clamp(2rem, 6.8vw, 3.35rem); color: #224766; }
.hero h1 span { color: #e88a37; white-space: nowrap; }
.hero__intro > p { font-weight: 700; font-size: .99rem; color: #4c7184; max-width: 580px; margin: 18px auto 24px; }
.hero__actions { display: flex; align-items: stretch; justify-content: center; flex-direction: column; gap: 12px; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: 11px; border-radius: 60px; font-weight: 900; padding: 13px 23px; text-align: center; cursor: pointer; border: 0; line-height: 1.3; min-height: 50px; transition: transform .22s ease, box-shadow .22s ease, filter .22s ease; }
.btn:hover { transform: translateY(-4px); filter: saturate(1.08); }
.btn:active { transform: translateY(1px); }
.btn--primary { color: #503312; background: linear-gradient(135deg,#ffd879,#ffae52); box-shadow: 0 6px 0 #db8732, 0 12px 22px rgba(230,154,68,.2); }
.btn--light { color: #285879; background: white; box-shadow: 0 6px 0 #b4dae5, 0 11px 18px rgba(92,151,174,.17); }
.hero__tiny { margin-top: 24px; font-size: .78rem; color: #547c84; font-weight: 800; }
.hero__tiny-sun { color: #efad39; margin-right: 5px; font-size: 1.15rem; }
.cloud { position: absolute; width: 130px; height: 36px; border-radius: 50px; background: rgba(255,255,255,.78); filter: blur(.3px); z-index: -1; animation: cloud-drift 14s ease-in-out infinite alternate; }
.cloud::before { content: ''; position: absolute; left: 26px; bottom: 6px; width: 63px; height: 58px; border-radius: 50%; background: inherit; }
.cloud::after { content: ''; position: absolute; left: 69px; bottom: 6px; width: 46px; height: 45px; border-radius: 50%; background: inherit; }
.cloud--one { left: -20px; top: 110px; opacity: .8; }
.cloud--two { right: -20px; top: 220px; transform: scale(.75); animation-delay: -5s; opacity: .9; }
.cloud--three { left: 50%; top: 30px; opacity: .4; transform: scale(.55); animation-delay: -8s; }
.sky-orb { position: absolute; pointer-events: none; border-radius: 50%; }
.sky-orb--one { width: 60px; height: 60px; left: -30px; top: 55%; background: #f3fff6; opacity: .4; }
.sky-orb--two { width: 16px; height: 16px; right: 18%; top: 20%; background: #fff5ad; box-shadow: 0 0 24px #ffed8d; }
.hero-spark { position:absolute; color:#fff4a0; font-size: 32px; animation: twinkle 3.4s infinite alternate; }
.hero-spark--a { left: 8%; top: 35%; }.hero-spark--b { right: 9%; top: 35%; animation-delay: .9s; }.hero-spark--c { left: 16%; bottom: 27%; font-size: 20px; animation-delay: 2s; }
.hero__bottom-wave { position: absolute; bottom: -1px; width: 100%; line-height: 0; z-index: 2; }
.hero__bottom-wave svg { width: 100%; height: 65px; }
/* hero meadow */
.hero__scene { margin-top: 12px; position: relative; flex-shrink: 0; width: min(100%, 560px); height: 285px; isolation: isolate; }
.hero__scene-glow { position:absolute; z-index:-3; width: 270px; height: 240px; left:50%; top:10px; transform: translateX(-50%); border-radius:50%; background: radial-gradient(circle, #fffde9, #feebbb 35%, rgba(255,255,255,.1) 70%, transparent); }
.scene-rainbow { position:absolute; z-index:-2; left:50%; top: 10px; width: 320px; height: 165px; transform: translateX(-50%); border-radius: 180px 180px 0 0; border-top: 18px solid rgba(255,162,149,.52); border-left: 18px solid rgba(255,162,149,.2); border-right: 18px solid rgba(255,162,149,.2); }
.scene-rainbow--two { width: 278px; height: 143px; top: 28px; border-top-color: rgba(255,217,122,.6); border-left-color: transparent; border-right-color: transparent; }
.hero__scene-hill { position:absolute; left: 4%; right:4%; bottom: 13px; height: 100px; border-radius: 48% 52% 0 0 / 100% 100% 0 0; z-index:-1; }
.hero__scene-hill--back { background: #aadd9e; bottom: 50px; left: -7%; right:-7%; height: 118px; }
.hero__scene-hill--front { background: linear-gradient(#83c974, #4fa767); border-bottom: 13px solid #458c5c; }
.hero__scene-grass { position:absolute; bottom: 10px; left:4%; width:92%; height:22px; border-radius: 100%; background: #459b5b; z-index:2; filter: blur(2px); }
.hero-friend { position:absolute; z-index:1; bottom: 26px; width: 106px; transform-origin: 50% 100%; animation: friend-float 4s ease-in-out infinite alternate; filter: drop-shadow(0 8px 4px rgba(61,91,65,.17)); }
.hero-friend .character { display: block; width: 100%; }
.hero-friend--elephant { left: 4%; width: 123px; animation-delay: -.4s; }
.hero-friend--monkey { left: 25%; width: 103px; bottom: 38px; animation-delay: -2.3s; }
.hero-friend--lion { left: 42%; width: 134px; bottom: 39px; z-index: 3; animation-delay: -.8s; }
.hero-friend--lamb { right: 16%; width: 100px; bottom: 40px; animation-delay:-1.7s; }
.hero-friend--jesus { right: -3%; width: 106px; bottom: 38px; animation-delay:-3s; }
.scene-bubble { position: absolute; z-index: 6; right: 2%; top: 5px; max-width: 128px; padding: 7px 12px; border-radius: 17px 17px 17px 4px; background:#fff; box-shadow: 0 8px 16px rgba(77,113,135,.15); color:#66817c; font-size: .66rem; font-weight:900; transform: rotate(7deg); animation: bubble-bob 4s ease-in-out infinite alternate; }
.scene-bubble strong { color: #e4774c; }.scene-bubble span { color: #ff8ba3; }
.scene-star { position:absolute; color:#ffb65c; font-size:28px; animation: twinkle 2.7s ease-in-out infinite alternate; }
.scene-star--one { left: 10%; top: 21px; }.scene-star--two { right:20%; top: 12px; animation-delay: 1.3s; }.scene-star--three { left:52%; top: -10px; color:#fff; animation-delay: .5s; }
.scene-flowers { position: absolute; z-index:4; bottom: 1px; left: 13%; width: 76%; text-align: center; color: #ffdf7a; font-size: 23px; letter-spacing: 21px; white-space: nowrap; animation: flower-dance 5s ease-in-out infinite alternate; }

/* Reusable illustrated characters; moving eyes / ears / hands */
.character { overflow: visible; width: 100%; height: auto; transform-origin: 50% 80%; }
.char-head, .char-ear, .char-trunk, .char-wave { transform-box: fill-box; }
.char-head { transform-origin: 50% 68%; animation: head-tilt 6.5s ease-in-out infinite alternate; }
.char-eye { transform-origin: 50% 50%; animation: blink 5.2s infinite; }
.char-ear { transform-origin: right center; animation: ear-wiggle 5s ease-in-out infinite; }
.char-ear--right { transform-origin: left center; animation-delay: -1.2s; }
.char-trunk { transform-origin: top center; animation: trunk-wiggle 3.6s ease-in-out infinite alternate; }
.char-wave { transform-origin: 50% 80%; animation: gentle-wave 2.3s ease-in-out infinite alternate; }

/* Section title */
.section-heading { text-align: center; max-width: 690px; margin: 0 auto 33px; }
.section-heading h2, .values-layout h2, .faith-panel h2, .mission-copy h2, .support-copy h2 { font-size: clamp(2.05rem, 6vw, 3.55rem); margin-top: 12px; }
.section-heading h2 span, .values-layout h2 span, .faith-panel h2 span, .mission-copy h2 span { color: #e68b3d; }
.section-heading p { margin: 15px auto 0; max-width: 565px; font-weight:700; color:var(--ink-soft); font-size:.96rem; }
/* animal navigation */
.character-section { position: relative; background: var(--cream); }
.character-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }
.character-card { position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-height: 226px; border-radius: 23px; padding: 12px 6px 16px; text-align:center; border:3px solid rgba(255,255,255,.8); box-shadow: 0 9px 0 rgba(50,75,74,.055), 0 16px 28px rgba(48,91,81,.07); transition: transform .26s ease, box-shadow .26s ease; }
.character-card:hover, .character-card:focus-visible { transform: translateY(-9px) rotate(-1deg); box-shadow: 0 16px 0 rgba(50,75,74,.045), 0 20px 30px rgba(48,91,81,.10); }
.character-card::before { content:""; position:absolute; width: 115%; height: 90px; left:-5%; bottom:-38px; background:rgba(255,255,255,.25); border-radius:50% 50% 0 0; z-index:-1; }
.character-card--lion { background: linear-gradient(160deg,#ffedb7,#ffd59a); }
.character-card--elephant { background: linear-gradient(160deg,#e0eaff,#c7dbfc); }
.character-card--monkey { background: linear-gradient(160deg,#ffd7c6,#ffbfa6); }
.character-card--lamb { background: linear-gradient(160deg,#f3e9ff,#e8d9ff); }
.character-card--jesus { background: linear-gradient(160deg,#ccefed,#b7e6dd); }
.character-card__portrait { display:block; width: min(95%, 128px); margin-top: 6px; z-index:1; filter:drop-shadow(0 7px 5px rgba(45,60,70,.12)); transition: transform .3s ease; }
.character-card:hover .character-card__portrait { transform: translateY(-5px) rotate(-3deg) scale(1.04); }
.character-card__name { z-index:1; font: 600 1.3rem/1.05 var(--heading); color:#354c62; margin-top:-2px; }
.character-card__action { z-index:1; color:#6e7990; font-size:.74rem; font-weight: 900; margin-top:6px; }
.character-card__action span { color:#d18847; }
.character-card__star { position:absolute; right:13px; top:4px; color:rgba(255,255,255,.85); font-size:30px; animation:twinkle 2.6s ease-in-out infinite alternate; }
/* films */
.films-section { position:relative; overflow:hidden; background:#fff4e8; }
.films-section::before, .films-section::after { content:""; position:absolute; pointer-events:none; width:250px; height:250px; background:#fce3c6; opacity:.6; border-radius:50%; }
.films-section::before { top:-130px; left:-150px; }.films-section::after { bottom:-140px; right:-145px; }
.films-section__glow {position:absolute;width:380px;height:380px;top:5%;right:0;background:radial-gradient(circle,#fff9cf,transparent 65%);pointer-events:none}
.film-grid { display: grid; gap: 22px; }
.film-card { overflow:hidden; border: 1px solid rgba(242,206,164,.5); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(108,79,53,.08); transition: transform .25s ease, box-shadow .25s ease; }
.film-card:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(108,79,53,.14); }
.film-card__poster { position:relative; height: 206px; overflow:hidden; isolation:isolate; background:linear-gradient(#94d8ec,#c8e9ca); }
.film-card--biblia .film-card__poster { background:linear-gradient(155deg,#91b7e8 0%,#d7c4fa 56%,#ffc8ab); }
.film-card--aventura .film-card__poster { background:linear-gradient(155deg,#8edfb3 0%,#b7eadb 50%,#ffe29b); }
.film-card--aprender .film-card__poster { background:linear-gradient(155deg,#f0bce4 0%,#ffe5ad 55%,#f6efd1); }
.film-card__mini-sun { position:absolute; top:14%; right:19%; width:97px; height:97px; border-radius:50%; background:#fff8d4; box-shadow:0 0 70px 42px rgba(255,246,215,.35); }
.film-card__poster-hill {position:absolute;bottom:-65px;left:-10%;width:120%;height:144px;background:#88b87c;border-radius:50% 45% 0 0;transform:rotate(-4deg);}
.film-card--aventura .film-card__poster-hill { background:#63ab83; }.film-card--aprender .film-card__poster-hill { background:#98c5b8; }
.film-card__emoji {position:absolute;z-index:3;left:50%;top:46%;transform:translate(-50%,-50%);font-size:100px;filter:drop-shadow(0 14px 7px rgba(61,81,62,.15));animation:poster-drift 3.6s ease-in-out infinite alternate;}
.film-card__spark {position:absolute;color:white;font-size:32px;z-index:2;animation:twinkle 3s infinite alternate;}.film-card__spark--one{top:22px;left:13%;}.film-card__spark--two{top:68px;right:13%;animation-delay:1.3s;}
.film-card__badge {position:absolute;z-index:4;top:15px;left:15px;padding:5px 10px;border-radius:30px;color:#5e4d41;background:#fff9e7;font-size:.69rem;font-weight:900;letter-spacing:.08em;box-shadow:0 3px 8px rgba(0,0,0,.08);}
.film-card__content { padding: 22px; }
.film-card__category {font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#cb7b4c;font-weight:900;}
.film-card h3 {font:600 1.47rem/1.08 var(--heading);margin:9px 0;color:#243d52;}
.film-card p { color:#728396;font-weight:700;font-size:.9rem;margin:0 0 20px;min-height:48px; }
.film-card__footer {display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid #f0ece7;color:#6a8c7a;font-size:.8rem;font-weight:900;}
.film-card__footer--link { color:#ba7139; justify-content:space-between; }
.film-card__status-dot {width:9px;height:9px;background:#83c796;border-radius:50%;box-shadow:0 0 0 4px #e9f6ed;}
.films-section__cta { text-align:center; margin: 30px auto 0; color:#8a725c;font-weight:800; font-size:.9rem; }
/* values section */
.values-section {background:#f0f9ec;position:relative;overflow:hidden;}
.values-layout {display:grid;align-items:center;gap:35px;}
.values-layout h2 {max-width:540px;}
.values-layout__copy > p {color:var(--ink-soft);font-size:1rem;font-weight:700;max-width:530px;margin:22px 0 25px;}
.value-tags {display:flex;flex-wrap:wrap;gap:10px;max-width:520px;}
.value-tags span {padding:10px 15px;background:#fff;border:1px solid #e7eedf;border-radius:30px;font-weight:900;color:#6a8474;font-size:.82rem;box-shadow:0 6px 14px rgba(70,98,65,.06);transition:transform .2s ease;}
.value-tags span:hover {transform:translateY(-5px) rotate(-3deg);}
.values-layout__visual {position:relative;width: min(100%,340px);height: 310px;margin:auto;display:grid;place-items:center;}
.values-planet {position:relative;width:265px;height:265px;background:radial-gradient(circle at 30% 26%,#e1f8fa,#9cdbed 68%,#62bcdf);border:12px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 20px 38px rgba(64,132,145,.15), inset 0 -15px 15px rgba(66,132,144,.1);animation:planet-bob 6s ease-in-out infinite alternate;}
.values-planet__rainbow {position:absolute;font-size:116px;left:46px;top:8px;transform:rotate(-10deg);}
.values-planet__book {position:absolute;font-size:95px;left:65px;top:105px;transform:rotate(-8deg);filter:drop-shadow(0 10px 8px rgba(54,96,90,.17));}
.values-planet__spark {position:absolute;right:11px;top:28px;color:#fff8ba;font-size:43px;animation:twinkle 3s ease-in-out infinite alternate;}
.values-planet__spark--other{left:-1px;right:auto;top:132px;font-size:30px;animation-delay:-1s;}
.values-orbit {position:absolute;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;box-shadow:0 10px 22px rgba(54,101,99,.13);font-size:26px;animation:orbit-bob 4s ease-in-out infinite alternate;}
.values-orbit--one {left:6px;top:28px;background:#ffe7ec;color:#f78ca7;}
.values-orbit--two {right:0;bottom:20px;background:#fff0bb;color:#f0ac44;animation-delay:-2s;}
/* Faith with Jesus */
.faith-section {background:#fffdf7;}
.faith-panel {display:grid;align-items:center;gap:14px;overflow:hidden;position:relative;border-radius:34px;padding:35px 23px;background:linear-gradient(130deg,#faedd2,#fff6e6 59%,#e1f6ed);border:2px solid #fff;box-shadow:0 15px 40px rgba(110,119,96,.07);}
.faith-panel__character {height:230px;position:relative;display:grid;place-items:center;order:-1;}
.faith-panel__aura {width:195px;height:195px;border-radius:50%;background:radial-gradient(circle,#fffaf1 36%,#ffdd9e 65%,rgba(255,225,154,0) 73%);position:absolute;animation:aura-pulse 4s infinite alternate;}
.faith-panel__character .character {width:205px;position:relative;filter:drop-shadow(0 13px 10px rgba(101,73,47,.12));animation:friend-float 5s infinite alternate;}
.faith-panel__heart {position:absolute;top:12px;right:22%;font-size:33px;color:#f5a3a9;animation:twinkle 3s infinite alternate;}
.faith-panel h2 {font-size:clamp(2.08rem, 6vw, 3.25rem);max-width:600px;}
.faith-panel p {color:#748074;font-size:.97rem;font-weight:700;margin:20px 0;max-width:650px;}
.faith-panel blockquote {margin:0;padding:18px 23px;border-left:5px solid #e9bb70;border-radius:0 14px 14px 0;background:rgba(255,255,255,.65);font:500 1.13rem/1.45 var(--heading);color:#9f6a4a;max-width:545px;}
.faith-panel cite {display:block;font:800 .75rem/1.3 var(--body);color:#8c8b78;margin-top:8px;}
/* mission */
.mission-section {background:#e8f5fc;}
.mission-grid {display:grid;gap:32px;align-items:center;}
.mission-copy > p {color:#647d8c;font-size:.97rem;font-weight:700;margin:18px 0 0;max-width:580px;}
.text-link {display:inline-flex;align-items:center;gap:9px;margin-top:25px;color:#c47a3f;font-weight:900;border-bottom:2px solid #edbc8e;padding-bottom:4px;}
.text-link:hover span {transform:translateX(5px);}.text-link span {transition:transform .2s;}
.mission-card {position:relative;overflow:hidden;text-align:center;padding:39px 25px 32px;border-radius:32px;background:#fff;box-shadow:var(--shadow);border:1px solid #e7eff1;}
.mission-card::before {content:'';position:absolute;inset:-60px auto auto -40px;width:150px;height:150px;background:#ffebc3;border-radius:50%;opacity:.65;}
.mission-card__icon {position:relative;font-size:76px;animation:poster-drift 3s ease-in-out infinite alternate;}
.mission-card h3 {font:600 1.7rem/1.15 var(--heading);margin:15px 0 8px;}
.mission-card p {color:#6d8290;font-weight:700;font-size:.94rem;max-width:360px;margin:auto;}
.mission-card__decoration {margin-top:23px;color:#f7c266;letter-spacing:12px;font-size:19px;}
/* Donation */
.support-section {position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 8% 20%,#315d81 0%,#1c476d 44%,#133954 100%);color:white;}
.support-section::before {content:'✧';position:absolute;font-size:290px;color:rgba(255,255,255,.04);left:-60px;top:-100px;z-index:-1;}
.support-section::after {content:'✦';position:absolute;font-size:260px;color:rgba(255,255,255,.06);right:-20px;bottom:-120px;z-index:-1;}
.support-grid {display:grid;gap:33px;align-items:center;}
.section-kicker--light {color:#ffdb9f;}
.support-copy h2 {color:#fff;margin-top:14px;max-width:480px;}
.support-copy h2 span {color:#ffd57d;}
.support-copy > p {max-width:500px;font-weight:700;color:#d2e5ef;font-size:1rem;margin:21px 0;}
.support-benefits {display:flex;flex-direction:column;align-items:flex-start;gap:11px;color:#ffe2a6;font-weight:900;font-size:.9rem;}
.support-note {display:block;color:#afcee0;font-size:.76rem;font-weight:700;max-width:460px;margin-top:27px;}
.pix-card {background:#fffdf9;color:var(--ink);border-radius:30px;padding:26px 20px;text-align:center;box-shadow:0 22px 70px rgba(4,25,42,.2);width:100%;max-width:440px;margin:0 auto;border: 5px solid rgba(255,255,255,.3);}
.pix-card__badge {display:inline-block;padding:7px 14px;color:#ad7440;background:#fff3d9;border-radius:40px;font-size:.71rem;font-weight:900;letter-spacing:.09em;}
.pix-card__qr-frame {width:min(100%,244px);aspect-ratio:1;margin:17px auto 10px;padding:11px;background:#fff;border-radius:17px;border:1px solid #f1e9dc;box-shadow:0 8px 19px rgba(42,52,50,.08);}
.pix-card__qr-frame img {width:100%;height:100%;object-fit:contain;image-rendering:auto;}
.pix-card h3 {font:600 1.62rem/1.1 var(--heading);margin:13px 0 6px;color:#39536a;}
.pix-card > p {color:#778699;font-size:.84rem;font-weight:700;line-height:1.45;max-width:310px;margin:10px auto 15px;}
.pix-card__key {border-radius:14px;padding:12px;background:#f2f6f6;display:flex;align-items:center;flex-direction:column;gap:0;margin:14px 0;}
.pix-card__key span {font-size:.73rem;color:#7c8d92;font-weight:800;}
.pix-card__key strong {font:600 1.43rem/1.4 var(--heading);color:#3a5c73;letter-spacing:.018em;}
.pix-card__key small {font-size:.72rem;color:#7d8f9b;font-weight:800;}
.pix-card__actions {display:flex;flex-direction:column;gap:9px;}
.btn--pix {background:#80caa2;color:#184b3b;padding:12px 15px;}
.btn--pix:hover {box-shadow:0 6px 15px rgba(72,151,104,.2);}
.btn--pix-secondary {color:#40667a;background:#e9f3f7;padding:11px 15px;}
.pix-card__disclaimer {display:block;color:#89949b;line-height:1.4;font-size:.68rem;margin-top:14px;}
/* footer */
.site-footer {background:#fff7e8;color:#5a6c78;}
.footer-inner {display:flex;flex-direction:column;gap:22px;align-items:center;text-align:center;padding-block:38px 28px;}
.footer-brand {display:flex;flex-direction:column;align-items:center;gap:0;}
.footer-brand img {width: 205px;height:auto;}
.footer-brand span {font-weight:900;font-size:.75rem;color:#8b8a82;}
.footer-links {display:flex;align-items:center;justify-content:center;gap:12px 20px;flex-wrap:wrap;}
.footer-links a {font-size:.79rem;font-weight:900;}.footer-links a:hover {color:#cd844c;}
.footer-bottom {border-top:1px solid #ecdfca;padding-block:20px 26px;display:flex;flex-direction:column;gap:3px;text-align:center;font-size:.72rem;font-weight:800;color:#9a9690;}
/* reveal animation, with sensible no-JS fallback */
.reveal {opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0s);}
.reveal.is-visible {opacity:1;transform:translateY(0);}
/* Animations */
@keyframes logo-rise {from{opacity:0;transform:translateY(17px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cloud-drift {from{translate:-18px 0}to{translate:32px 2px}}
@keyframes twinkle {0%{opacity:.55;transform:scale(.82) rotate(-11deg)}100%{opacity:1;transform:scale(1.13) rotate(15deg)}}
@keyframes friend-float {from{transform:translateY(2px) rotate(-2deg)}to{transform:translateY(-8px) rotate(2deg)}}
@keyframes bubble-bob {from{transform:translateY(0) rotate(7deg)}to{transform:translateY(-7px) rotate(2deg)}}
@keyframes flower-dance {from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
@keyframes head-tilt {0%,35%,100%{transform:rotate(0)}40%,60%{transform:rotate(-3deg)}68%{transform:rotate(2deg)}}
@keyframes blink {0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.12)}}
@keyframes ear-wiggle {0%,75%,100%{transform:rotate(0)}81%{transform:rotate(-7deg)}88%{transform:rotate(4deg)}}
@keyframes trunk-wiggle {from{transform:rotate(-2deg)}to{transform:rotate(7deg)}}
@keyframes gentle-wave {from{transform:rotate(-8deg)}to{transform:rotate(12deg)}}
@keyframes poster-drift {from{transform:translate(-50%,-50%) rotate(-5deg)}to{transform:translate(-50%,-55%) rotate(5deg)}}
@keyframes planet-bob {from{transform:translateY(5px) rotate(-4deg)}to{transform:translateY(-8px) rotate(4deg)}}
@keyframes orbit-bob {from{transform:translateY(0)}to{transform:translateY(-13px)}}
@keyframes aura-pulse {from{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}
@keyframes pop-down {from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
/* Responsividade: progressiva a partir do celular */
@media (min-width: 440px) {
  .hero__actions {flex-direction:row;flex-wrap:wrap;}
  .character-card {min-height:242px;}
}
@media (min-width: 620px) {
  .shell {width:min(100% - 56px, 1200px);}
  .section-pad {padding:95px 0;}
  .hero__inner {padding-top:75px;}
  .hero__scene {height:340px;margin-top:4px;}
  .hero-friend {bottom: 34px;}
  .hero-friend--elephant {width:145px;left:5%;}
  .hero-friend--monkey {width:120px;left:26%;bottom:44px;}
  .hero-friend--lion {width:156px;left:43%;bottom:48px;}
  .hero-friend--lamb {width:120px;right:13%;bottom:44px;}
  .hero-friend--jesus {width:131px;right:-2%;bottom:42px;}
  .hero__scene-hill--back {height:145px;}
  .hero__scene-hill--front {height:120px;}
  .character-grid {grid-template-columns:repeat(3, minmax(0,1fr));gap:17px;}
  .character-card {min-height:260px;}
  .character-card__portrait {width:145px;}
  .film-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .pix-card {padding:30px;}
  .pix-card__actions {flex-direction:row;}
  .pix-card__actions .btn {width:50%;font-size:.81rem;padding:11px 10px;}
}
@media (min-width: 900px) {
  .top-strip {font-size:.73rem;}
  .nav {min-height:82px;}
  .menu-toggle {display:none;}
  .nav__links {position:static;display:flex;flex-direction:row;align-items:center;padding:0;border:0;background:transparent;box-shadow:none;gap:4px;}
  .nav__link {font-size:.78rem;padding:11px 12px;gap:5px;}
  .nav__link-icon {width:auto;}
  .nav__link--support {border-radius:50px;padding:12px 20px;box-shadow:0 4px 0 #efbc71;}
  .nav__link:hover {transform:translateY(-3px);}
  .hero__inner {padding-top:77px;padding-bottom:130px;}
  .hero__wordmark {margin-top:-12px;margin-bottom:-20px;}
  .hero h1 {font-size:3.45rem;}
  .hero__intro > p {font-size:1.08rem;max-width:660px;}
  .hero__scene {width:680px;height:330px;margin-top:12px;}
  .hero__scene-hill {bottom:5px;}
  .hero__scene-grass {bottom:3px;}
  .hero__bottom-wave svg {height:87px;}
  .section-heading {margin-bottom:42px;}
  .character-grid {grid-template-columns: repeat(5,minmax(0,1fr));gap:18px;}
  .character-card {min-height:258px;}
  .character-card__portrait {width:150px;}
  .character-card__name {font-size:1.32rem;}
  .film-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;}
  .film-card__poster {height:225px;}
  .values-layout {grid-template-columns:1.1fr .9fr;gap:70px;}
  .values-layout__visual {height:380px;width:390px;}
  .values-planet {width:300px;height:300px;}
  .values-planet__rainbow {font-size:128px;left:55px;top:11px;}
  .values-planet__book {font-size:104px;left:76px;top:127px;}
  .faith-panel {grid-template-columns:.7fr 1.3fr;gap:44px;padding:42px 70px 42px 35px;}
  .faith-panel__character {height:310px;order:0;}
  .faith-panel__character .character {width:265px;}
  .faith-panel__aura {height:300px;width:300px;}
  .faith-panel__text {order:1;}
  .mission-grid {grid-template-columns:1.2fr .8fr;gap:90px;}
  .support-grid {grid-template-columns:1fr 1fr;gap:80px;}
  .support-benefits {flex-direction:row;flex-wrap:wrap;gap:12px 20px;}
  .pix-card__qr-frame {width: min(100%,255px);}
  .footer-inner {flex-direction:row;justify-content:space-between;text-align:left;}
  .footer-brand {align-items:flex-start;}
  .footer-links {justify-content:flex-end;}
  .footer-bottom {flex-direction:row;justify-content:space-between;text-align:left;}
}
@media (min-width: 1200px) {
  .hero__scene {width:720px;}
  .hero__scene-hill--back {bottom:54px;}
  .character-card {min-height:270px;}
  .character-card__portrait {width:160px;}
}
@media (max-width: 359px) {
  .nav__brand-text {font-size:1.3rem;}
  .character-grid {gap:8px;}
  .character-card {min-height:206px;}
  .character-card__name {font-size:1.05rem;}
  .hero-friend--elephant {left:-7%;}.hero-friend--jesus{right:-8%;}
  .scene-bubble {right:0;}
  .hero__wordmark {width:110%;max-width:none;margin-left:-5%;}
  .btn {font-size:.88rem;}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal {opacity:1;transform:none;}
}
