@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--plum:#79004f;--berry:#a10062;--pink:#ec3d80;--yellow:#ffdf15;--orange:#ff9834;--cream:#fff9ef;--paper:#fffdf9;--ink:#251a24;--muted:#665a63;--line:#e7d8de;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}button,select{font:inherit}button{cursor:pointer}em{font-style:normal;color:var(--berry)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.04;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7.4vw,7.4rem);font-weight:800}h2{font-size:clamp(2.5rem,5vw,5.2rem);font-weight:800}h3{font-size:clamp(1.5rem,2.5vw,2.2rem)}p{line-height:1.65}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--yellow);z-index:100;padding:.6rem 1rem}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:96px}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--plum);line-height:.8}.brand-symbol{font-size:3.3rem;line-height:1;transform:rotate(-12deg)}.brand-name{font:900 1.9rem/.85 Outfit,sans-serif;letter-spacing:-.075em}.brand-name small{display:block;font:700 .57rem/1.1 'DM Sans',sans-serif;letter-spacing:.34em;margin-top:.32rem}.main-nav{display:flex;align-items:center;gap:1.8rem}.main-nav a{text-decoration:none;font-size:.9rem;font-weight:700;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current]{color:var(--berry)}.main-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:9px}.menu-button{display:none;border:0;background:none;font-size:1.7rem;color:var(--plum)}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.17em;font-weight:800;line-height:1.4;margin-bottom:1rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:52px;padding:.75rem 1.4rem;border-radius:999px;font-weight:800;font-size:.88rem;text-decoration:none;border:2px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--yellow);color:var(--ink)}.button-outline{border-color:var(--plum);color:var(--plum)}.button-dark{background:var(--plum);color:white}.button-light{background:white;color:var(--plum)}.text-link{display:inline-flex;gap:.8rem;align-items:center;text-decoration:none;font-weight:800;color:var(--plum);border-bottom:2px solid currentColor;padding-bottom:.25rem}.text-link:hover{color:var(--pink)}.text-link.light{color:white}.section{padding:clamp(80px,10vw,140px) 0}.section-cream{background:var(--cream)}.section-yellow{background:var(--yellow)}.section-plum{background:var(--plum);color:white}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading h2{max-width:750px;margin-bottom:0}.section-heading p:last-child{margin-bottom:0}.home-hero{background:linear-gradient(135deg,#fffaf1 0%,#ffe9e9 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;min-height:660px;padding-block:4rem}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{color:var(--berry)}.hero-copy h1{margin-bottom:1.5rem}.hero-copy>p:not(.eyebrow){max-width:530px;font-size:1.16rem;color:#45353f}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-visual{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center}.hero-visual:before{content:'';position:absolute;width:93%;height:88%;border-radius:50%;background:var(--yellow);transform:rotate(-10deg);right:0;top:3%}.hero-poster{position:relative;z-index:1;width:min(67%,340px);height:515px;overflow:hidden;border:10px solid white;border-radius:170px 170px 16px 16px;box-shadow:0 24px 65px #5c174548;transform:rotate(7deg)}.hero-poster img{width:100%;height:100%;object-fit:cover;object-position:top}.hero-sticker{position:absolute;z-index:2;left:0;bottom:5%;display:grid;place-items:center;width:160px;height:160px;border-radius:50%;background:var(--plum);color:white;text-align:center;font:900 1.3rem/1 Outfit,sans-serif;transform:rotate(-14deg)}.hero-sticker span{position:absolute;top:11px;right:24px;font-size:2rem;color:var(--yellow)}.hero-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #d7b6bd;padding:1.2rem 0 1.5rem;color:var(--plum);font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.intro-grid h2{margin-bottom:0}.big-copy{font-family:Outfit,sans-serif;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.35;letter-spacing:-.025em}.intro-grid .text-link{margin-top:1rem}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.project-card{min-height:335px;padding:2rem;display:flex;flex-direction:column;background:white;color:var(--ink);border-radius:16px}.project-index{text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;color:var(--berry);font-weight:800}.project-card h3{margin:2rem 0 1rem;color:var(--plum)}.project-card p{margin-bottom:0}.project-detail{margin-top:auto!important;padding-top:1.7rem;color:var(--muted);font-size:.88rem;border-top:1px solid var(--line)}.teaser-grid{display:grid;grid-template-columns:1fr .86fr;align-items:center;gap:7vw}.teaser-copy h2{max-width:620px}.teaser-copy p:not(.eyebrow){max-width:550px;font-size:1.1rem}.teaser-copy .button{margin-top:1.4rem}.teaser-photo{position:relative;height:560px;background:var(--orange);border-radius:18px;overflow:hidden}.teaser-photo img{width:100%;height:100%;object-fit:cover;object-position:center 16%}.photo-label{position:absolute;left:1rem;bottom:1rem;background:var(--yellow);color:var(--plum);padding:.55rem 1rem;border-radius:99px;font-size:.75rem;font-weight:800}.manifesto{background:var(--berry);color:white;text-align:center}.manifesto p{font:800 clamp(2.5rem,6vw,6.5rem)/1.08 Outfit,sans-serif;letter-spacing:-.055em;margin:1rem 0 2.5rem}.manifesto em{color:var(--yellow)}.page-heading{padding-top:clamp(80px,10vw,145px);padding-bottom:clamp(80px,9vw,125px)}.page-heading .eyebrow{color:var(--berry)}.page-heading h1{max-width:1030px;margin-bottom:1.5rem}.page-heading .lead{max-width:760px;font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--muted);margin:0}.story-grid{display:grid;grid-template-columns:.6fr 1fr;gap:6vw}.story-year{font:800 clamp(5rem,13vw,12rem)/.9 Outfit,sans-serif;color:var(--berry);letter-spacing:-.09em}.story-year span{display:block;font:800 .75rem/1.4 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:1.1rem;color:var(--ink)}.rich-copy h2{font-size:clamp(2.5rem,4.5vw,4.5rem)}.rich-copy p,.festival-intro p{font-size:1.12rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.values-grid article{border-top:4px solid var(--berry);padding-top:1rem}.values-grid span{color:var(--berry);font-weight:900}.values-grid h2{font-size:2.3rem;margin:1.4rem 0}.point-grid{display:grid;grid-template-columns:1fr .75fr;gap:6vw;align-items:center}.point-grid h2{max-width:590px}.point-grid p:not(.eyebrow){max-width:560px;font-size:1.1rem}.point-art{min-height:390px;background:var(--plum);color:white;display:flex;align-items:center;justify-content:center;gap:1rem;border-radius:24px;transform:rotate(3deg)}.point-art span{font-size:7rem;color:var(--yellow)}.point-art strong{font:900 clamp(2.3rem,4vw,4rem)/.9 Outfit,sans-serif}.section-cream .project-card{border:1px solid var(--line)}.section-cream .project-grid{grid-template-columns:repeat(2,1fr)}.callout{background:var(--plum);color:white}.callout-grid{display:grid;grid-template-columns:120px 1fr;gap:4rem;align-items:center}.callout-grid>span{font-size:8rem;color:var(--yellow);line-height:1}.callout h2{max-width:800px}.callout p{font-size:1.15rem}.festival-intro{border-top:1px solid var(--line)}.festival-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.festival-intro-grid h2{margin:0}.between{display:flex;align-items:center;justify-content:space-between;gap:3rem}.between h2{max-width:760px}.between p:last-child{margin-bottom:0}.filter-row{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.filter-row label{font-weight:800}.filter-row select{padding:.7rem 2rem .7rem 1rem;border:2px solid var(--ink);border-radius:999px;background:white}.event-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.event-card{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;padding:1.8rem;background:white;border-radius:18px}.event-date{font:800 1.3rem/1.1 Outfit,sans-serif;color:var(--berry)}.event-city{font-size:.73rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--berry)}.event-card h3{margin:.6rem 0}.event-card p{margin-bottom:.2rem}.event-card small{display:block;color:var(--muted)}.event-card .text-link{margin-top:1rem}.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.poster-card{position:relative;display:block;border-radius:12px;overflow:hidden;text-decoration:none;background:var(--plum)}.poster-card img{height:440px;width:100%;object-fit:cover;object-position:top;transition:transform .35s}.poster-card:hover img{transform:scale(1.04)}.poster-card>span{display:flex;justify-content:space-between;gap:.5rem;align-items:center;position:absolute;bottom:0;left:0;right:0;padding:1rem;color:white;background:linear-gradient(transparent,#3d0832);font-weight:800}.editions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.edition-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:18px}.edition-card img,.edition-art{width:100%;height:230px;object-fit:cover;object-position:top}.edition-art{display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--plum))}.edition-art span{font-size:7rem;color:var(--yellow)}.edition-card:nth-child(3n) .edition-art{background:linear-gradient(135deg,var(--orange),var(--pink))}.edition-copy{padding:1.5rem}.edition-copy .eyebrow{color:var(--berry)}.edition-copy h3{font-size:3rem;margin:.4rem 0}.edition-copy p{min-height:4.5rem}.edition-card .text-link{font-size:.85rem}.archive-note{background:var(--plum);color:white}.archive-note p{max-width:900px;font:600 clamp(1.5rem,3vw,2.5rem)/1.35 Outfit,sans-serif;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-card{padding:clamp(2rem,4vw,4rem);background:white;border:1px solid var(--line);border-radius:20px;min-height:400px}.contact-icon{font:800 4rem/1 Outfit,sans-serif;color:var(--berry)}.contact-card h2{font-size:2.5rem;margin:2rem 0 1rem}.contact-card .text-link{display:flex;width:max-content;margin-top:1rem}.contact-phone{font:700 1.5rem Outfit,sans-serif;color:var(--plum)}.site-footer{background:#240c1d;color:#fff;padding-top:5rem}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:4rem}.footer-brand{text-decoration:none;font:900 2.4rem/.9 Outfit,sans-serif;letter-spacing:-.06em}.footer-brand span{color:var(--yellow)}.footer-main p{color:#d5bfcf}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:.55rem}.footer-main strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow);margin-bottom:.8rem}.footer-main a:not(.footer-brand){text-decoration:none}.footer-main a:hover{color:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #60495a;padding:1.4rem 0;font-size:.75rem;color:#c8b8c3}
@media(max-width:1000px){.main-nav{gap:1rem}.main-nav a{font-size:.8rem}.hero-grid{gap:1rem}.hero-visual{min-height:500px}.hero-poster{height:450px}.poster-card img{height:350px}.values-grid{gap:1rem}.project-card{padding:1.5rem}}
@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:76px}.brand-symbol{font-size:2.7rem}.brand-name{font-size:1.5rem}.menu-button{display:block}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem 16px 1.5rem;box-shadow:0 18px 30px #3b18321c}.main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav a{font-size:1rem;padding:.7rem}.hero-grid,.intro-grid,.teaser-grid,.story-grid,.festival-intro-grid,.point-grid{grid-template-columns:1fr}.hero-grid{padding-top:4rem;gap:0}.hero-copy h1{font-size:clamp(3.2rem,12vw,5.4rem)}.hero-visual{min-height:450px}.hero-poster{height:400px;width:230px}.hero-sticker{width:120px;height:120px;font-size:1rem;left:8%}.hero-bottom span:last-child{display:none}.section{padding:75px 0}.section-heading{align-items:start;flex-direction:column}.intro-grid,.teaser-grid,.story-grid,.festival-intro-grid,.point-grid{gap:2rem}.project-grid,.section-cream .project-grid,.values-grid,.editions-grid,.contact-grid,.event-list{grid-template-columns:1fr}.project-card{min-height:260px}.teaser-photo{height:430px}.point-art{min-height:280px}.poster-grid{grid-template-columns:repeat(2,1fr)}.poster-card img{height:370px}.between{align-items:start;flex-direction:column}.callout-grid{grid-template-columns:1fr;gap:0}.callout-grid>span{font-size:5rem}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.event-card{grid-template-columns:90px 1fr}.page-heading{padding-top:80px;padding-bottom:75px}}
@media(max-width:480px){h1{font-size:3.2rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-visual{min-height:380px}.hero-poster{height:340px;width:210px}.hero-sticker{left:0}.poster-grid{gap:.5rem}.poster-card img{height:260px}.poster-card>span{font-size:.75rem}.event-card{grid-template-columns:1fr;gap:.6rem}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.event-cover{grid-column:1/-1;width:100%;height:230px;object-fit:cover;border-radius:10px}.event-artist{font-weight:700}.event-status{display:inline-block;margin-top:.8rem;padding:.3rem .7rem;border-radius:99px;background:var(--orange);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.teaser-placeholder{display:grid;place-items:center;height:100%;color:var(--plum);font-size:clamp(10rem,20vw,20rem);line-height:1}
.project-cover{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:1.3rem}

/* Marca oficial em meio dente de leão, recortada da prancha de identidade visual. */
.felino-mark{display:inline-block;flex:none;width:27px;height:54px;background:currentColor;-webkit-mask-image:url('../images/felino-symbols-white.png');mask-image:url('../images/felino-symbols-white.png');-webkit-mask-size:795px 360px;mask-size:795px 360px;-webkit-mask-position:-462px -208px;mask-position:-462px -208px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.brand .felino-mark{color:var(--plum)}.footer-brand{display:inline-flex;align-items:center;gap:.35rem}.footer-brand .felino-mark{color:var(--yellow)}.hero-sticker .felino-mark{position:absolute;top:5px;right:24px;color:var(--yellow);transform:scale(.6);transform-origin:top right}

/* O menu do festival abre com mouse, teclado e toque. */
.nav-dropdown{position:relative;display:flex;align-items:center;gap:.1rem}
.nav-dropdown>.nav-festival{display:inline-block}
.submenu-button{border:0;background:none;color:var(--plum);font-size:1.1rem;line-height:1;padding:.4rem .15rem}
.nav-submenu{display:none;position:absolute;top:100%;left:-1rem;min-width:220px;padding:.6rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 30px #3b183229;z-index:30}
.nav-submenu a{display:block;padding:.65rem .7rem;border-radius:7px;white-space:nowrap}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:var(--cream)}
.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.open .nav-submenu{display:block}
@media(hover:hover) and (min-width:761px){.nav-dropdown:hover .nav-submenu{display:block}}

/* Fotos documentais: a composição segue o site Felino, com quadro vertical e controles próprios. */
.photo-carousel{position:relative;z-index:1;width:min(85%,440px);height:540px;border:9px solid white;border-radius:190px 190px 22px 22px;overflow:hidden;box-shadow:0 24px 65px #5c174548;transform:rotate(3deg);background:var(--plum)}
.carousel-stage{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}.carousel-slide.is-active{opacity:1;visibility:visible}.carousel-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.carousel-slide figcaption{position:absolute;left:0;right:0;bottom:0;min-height:92px;padding:2.3rem 1.2rem .95rem;color:white;background:linear-gradient(transparent,#250c1fe8);font-size:.8rem;font-weight:800;letter-spacing:.03em}
.carousel-controls{position:absolute;right:1rem;bottom:4.5rem;display:flex;align-items:center;gap:.45rem;color:white}.carousel-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffffb8;border-radius:50%;background:#250c1f88;color:white;line-height:1}.carousel-arrow:hover,.carousel-arrow:focus-visible{background:var(--yellow);color:var(--plum)}.carousel-counter{min-width:54px;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.08em}.hero-sticker{left:-1.5%;bottom:6%}

.upcoming-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:5rem}.upcoming-grid h2{max-width:680px}.upcoming-grid p:not(.eyebrow){max-width:610px;font-size:1.13rem}.upcoming-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.upcoming-art{height:400px;border-radius:22px;background:var(--plum);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(3deg)}.upcoming-art .felino-mark{width:81px;height:162px;-webkit-mask-size:2385px 1080px;mask-size:2385px 1080px;-webkit-mask-position:-1386px -624px;mask-position:-1386px -624px;color:var(--yellow)}.upcoming-art strong{font:900 clamp(5rem,8vw,8rem)/.85 Outfit,sans-serif;letter-spacing:-.08em}.upcoming-art>span:last-child{margin-top:1rem;text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:.15em}
@media(max-width:760px){.nav-dropdown{display:grid;grid-template-columns:1fr auto}.nav-dropdown>.nav-festival{padding:.7rem;font-size:1rem}.submenu-button{padding:.7rem 1rem}.nav-submenu{position:static;grid-column:1/-1;min-width:0;padding:0 .4rem .4rem;margin:0;border:0;box-shadow:none;background:var(--cream)}.nav-dropdown:focus-within .nav-submenu{display:none}.nav-dropdown.open .nav-submenu{display:block}.nav-submenu a{white-space:normal}.photo-carousel{height:410px;width:min(85%,350px)}.upcoming-grid{grid-template-columns:1fr;gap:3rem}.upcoming-art{height:320px;max-width:450px;width:100%;margin:auto}}
@media(max-width:480px){.photo-carousel{height:350px;width:77%;border-width:7px}.carousel-controls{bottom:4.2rem}.hero-sticker{left:0}.upcoming-actions .button{width:100%}}

/* Movimento e grafismos inspirados nos quadrados coloridos do Festival Felino. */
.hero-sticker{left:auto;bottom:auto;right:-2%;top:4%;width:132px;height:132px;transform:rotate(11deg)}
.home-hero:after,.timeline-section:before,.territory-section:before,.section-plum:before{content:'';display:block;width:100%;height:15px;background:repeating-linear-gradient(90deg,var(--yellow) 0 42px,var(--orange) 42px 84px,var(--berry) 84px 126px,var(--pink) 126px 168px)}
.home-hero:after{height:13px}.timeline-section,.territory-section,.section-plum{position:relative}.timeline-section:before,.territory-section:before,.section-plum:before{position:absolute;top:0;left:0}
.page-heading{position:relative;overflow:hidden}.page-heading:after{content:'';position:absolute;right:3%;bottom:6%;width:81px;height:162px;background:var(--berry);opacity:.1;-webkit-mask-image:url('../images/felino-symbols-white.png');mask-image:url('../images/felino-symbols-white.png');-webkit-mask-size:2385px 1080px;mask-size:2385px 1080px;-webkit-mask-position:-1386px -624px;mask-position:-1386px -624px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}
.button,.project-card,.contact-card,.poster-card,.brand .felino-mark,.photo-carousel,.timeline-rail button,.timeline-step{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.button:hover{box-shadow:0 10px 26px #5c17452d}.button:active,.carousel-arrow:active,.timeline-step:active{transform:scale(.94)}
.brand:hover .felino-mark{transform:rotate(-8deg)}.project-card:hover,.contact-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px #3b183220}.project-card:hover h3{color:var(--berry)}
.photo-carousel:hover{box-shadow:0 30px 70px #5c17456a}.poster-card:active{transform:scale(.98)}.nav-submenu{animation:menu-arrive .2s ease both}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.has-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.has-motion .reveal.is-visible{opacity:1;transform:translateY(0)}

/* Associação: trajetória, modos de fazer e território. */
.about-opening{padding-top:95px}.about-milestones .section-heading{margin-bottom:4rem}.milestone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.milestone-grid:before{content:'';position:absolute;top:28px;left:0;right:0;height:2px;background:#df9cbb}.milestone-grid article{position:relative;padding-top:4.5rem}.milestone-grid article:before{content:'';position:absolute;top:17px;left:0;width:24px;height:24px;border-radius:50%;background:var(--yellow);border:5px solid var(--berry);box-shadow:0 0 0 7px var(--cream)}.milestone-grid article>span{font:900 2.6rem/1 Outfit,sans-serif;color:var(--berry);letter-spacing:-.05em}.milestone-grid h3{margin:1rem 0 .6rem}.milestone-grid p{max-width:340px;color:var(--muted)}
.about-approach{position:relative}.about-approach:before{content:'';position:absolute;right:4%;top:12%;width:80px;height:80px;background:conic-gradient(var(--yellow) 25%,var(--orange) 0 50%,var(--berry) 0 75%,var(--pink) 0);opacity:.5;transform:rotate(12deg)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.approach-grid article{min-height:340px;padding:2rem;border-radius:18px;background:var(--cream);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.approach-grid article:hover{transform:translateY(-6px);box-shadow:0 20px 38px #3b18321f}.approach-grid article>span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:var(--berry)}.approach-grid h3{margin:2.8rem 0 1rem;color:var(--plum)}.approach-grid p{margin-bottom:0}
.about-point .point-grid{grid-template-columns:1fr 1fr}.about-point .point-grid p{max-width:610px}.about-photo-stack{position:relative;min-height:470px}.about-photo-stack figure{position:absolute;margin:0;width:84%;overflow:hidden;border-radius:18px;box-shadow:0 18px 42px #3b18322f;background:var(--plum)}.about-photo-stack figure:first-child{top:0;right:0;transform:rotate(3deg)}.about-photo-stack figure:last-child{bottom:0;left:0;transform:rotate(-5deg);width:70%}.about-photo-stack img{width:100%;height:240px;object-fit:cover}.about-photo-stack figure:last-child img{height:175px}.about-photo-stack figcaption{padding:.6rem .8rem;color:white;font-size:.65rem;font-weight:700}
.territory-section{background:var(--plum);color:white}.territory-grid{display:grid;grid-template-columns:1fr .8fr;gap:6rem;align-items:center}.territory-grid h2{max-width:620px}.territory-grid p:not(.eyebrow){max-width:610px;font-size:1.12rem}.territory-grid .button{margin-top:1rem}.territory-cities{display:grid;gap:.7rem}.territory-cities span{display:block;border:1px solid #ffffff6b;padding:.7rem 1.2rem;border-radius:999px;font:800 clamp(1.2rem,2.3vw,2rem)/1.2 Outfit,sans-serif;transform:translateX(var(--city-shift,0))}.territory-cities span:nth-child(2){--city-shift:1.5rem;background:var(--yellow);color:var(--plum);border-color:var(--yellow)}.territory-cities span:nth-child(3){--city-shift:-1rem;background:var(--pink);border-color:var(--pink)}.territory-cities span:nth-child(4){--city-shift:1rem}

/* Linha do tempo: os pontos controlam um painel de conteúdo e galeria. */
.timeline-section{background:var(--cream);padding-top:105px}.timeline-intro{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.timeline-intro .eyebrow{color:var(--berry);margin:0}.timeline-intro p:last-child{margin:0;font:700 1.05rem Outfit,sans-serif}
.timeline-rail{--timeline-progress:0%;--timeline-progress-mobile:0px;position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.2rem;margin:0 0 2.4rem;padding:0 0 1rem}.timeline-rail:before,.timeline-rail:after{content:'';position:absolute;left:6%;top:22px;height:3px;border-radius:5px}.timeline-rail:before{right:6%;background:#d4b8c9}.timeline-rail:after{width:var(--timeline-progress);background:var(--berry);transition:width .45s ease}.timeline-rail button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;min-height:118px;padding:0 .3rem;border:0;background:none;color:var(--muted);text-align:center;cursor:pointer}.timeline-dot{display:block;width:22px;height:22px;margin:12px auto 1rem;border:5px solid var(--paper);border-radius:50%;background:#caa4bc;box-shadow:0 0 0 2px #caa4bc;transition:transform .25s,background-color .25s,box-shadow .25s}.timeline-rail button:hover .timeline-dot,.timeline-rail button:focus-visible .timeline-dot{transform:scale(1.25);background:var(--orange)}.timeline-rail button[aria-selected="true"]{color:var(--plum)}.timeline-rail button[aria-selected="true"] .timeline-dot{background:var(--yellow);box-shadow:0 0 0 3px var(--berry);transform:scale(1.22)}.timeline-rail strong{font:900 1.25rem/1 Outfit,sans-serif}.timeline-rail small{max-width:115px;margin-top:.4rem;font-size:.63rem;line-height:1.3;font-weight:700}.timeline-rail button:focus-visible{outline:2px solid var(--berry);outline-offset:4px;border-radius:8px}
.timeline-panel{scroll-margin-top:1rem;min-height:600px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 25px 60px #5c174517}.timeline-panel-body{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.timeline-panel-copy{padding:clamp(2rem,4vw,4rem)}.timeline-panel-copy .eyebrow{color:var(--berry)}.timeline-panel h2{font-size:clamp(4.5rem,8vw,8rem);color:var(--berry);margin:0 0 1.8rem}.timeline-panel h2 span{display:block;margin-top:.35rem;color:var(--ink);font-size:clamp(1.8rem,2.5vw,2.6rem);letter-spacing:-.035em}.timeline-story{font-size:1.1rem;line-height:1.6}.timeline-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.7rem 0}.timeline-meta>*{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .8rem;border-radius:99px;background:var(--cream);color:var(--plum);font-size:.72rem;font-weight:800}.timeline-meta strong{background:var(--yellow)}.timeline-highlights{padding:0;list-style:none;margin:0 0 2rem}.timeline-highlights li{padding:.55rem 0 .55rem 1.4rem;position:relative;border-bottom:1px solid var(--line);font-size:.88rem}.timeline-highlights li:before{content:'';position:absolute;left:0;color:var(--orange)}
.timeline-photos{display:grid;grid-template-rows:1fr;gap:.6rem;padding:.7rem;background:var(--plum);min-height:100%}.timeline-photos.has-two{grid-template-rows:1.4fr .8fr}.timeline-photos figure{position:relative;min-height:0;margin:0;border-radius:16px;overflow:hidden;background:#3c2540}.timeline-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.timeline-photos figure:hover img{transform:scale(1.04)}.timeline-photos figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.8rem 1rem .75rem;background:linear-gradient(transparent,#1b1019d9);color:white;font-size:.66rem;font-weight:700}.timeline-image-fallback{display:grid;place-items:center}.timeline-image-fallback .felino-mark{color:var(--yellow)}.timeline-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:700}.timeline-panel-footer>div{display:flex;gap:.5rem}.timeline-step{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--plum);border-radius:50%;background:white;color:var(--plum);font-size:1.3rem}.timeline-step:hover,.timeline-step:focus-visible{background:var(--plum);color:white}.timeline-panel.is-changing .timeline-panel-body{animation:panel-arrive .48s ease both}@keyframes panel-arrive{from{opacity:.2;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.timeline-rail{grid-template-columns:repeat(9,minmax(105px,1fr));overflow-x:auto;padding-bottom:1.4rem}.timeline-rail:before{right:auto;width:835px}.timeline-rail:after{width:var(--timeline-progress-mobile)}}
@media(max-width:760px){.hero-sticker{right:0;top:0;left:auto;bottom:auto;width:106px;height:106px;font-size:.85rem}.about-approach:before,.page-heading:after{display:none}.milestone-grid,.approach-grid,.territory-grid,.timeline-panel-body{grid-template-columns:1fr}.milestone-grid{gap:0}.milestone-grid:before{top:0;bottom:0;left:12px;width:2px;height:auto}.milestone-grid article{padding:0 0 2.4rem 3rem}.milestone-grid article:before{top:0;left:0}.milestone-grid article>span{font-size:2rem}.approach-grid article{min-height:0}.approach-grid h3{margin-top:1.7rem}.about-point .point-grid{grid-template-columns:1fr}.about-photo-stack{min-height:340px}.about-photo-stack img{height:180px}.about-photo-stack figure:last-child img{height:120px}.territory-grid{gap:2.5rem}.territory-cities span{--city-shift:0!important}.timeline-intro{display:block}.timeline-intro p:last-child{margin-top:.5rem}.timeline-panel-body{min-height:0}.timeline-panel-copy{padding:2rem}.timeline-panel h2{font-size:4.5rem}.timeline-photos{height:350px;grid-template-columns:1fr}.timeline-photos.has-two{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.timeline-panel-footer>span{max-width:150px}}
@media(max-width:480px){.hero-sticker{right:0;top:4%;width:92px;height:92px}.timeline-photos{height:290px}.timeline-photos.has-two{height:340px;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.timeline-panel-copy{padding:1.5rem}.timeline-panel h2{font-size:4rem}}
@media(prefers-reduced-motion:reduce){.has-motion .reveal{opacity:1;transform:none}.timeline-panel.is-changing .timeline-panel-body,.nav-submenu{animation:none!important}.timeline-photos figure:hover img{transform:none!important}}

/* A marca institucional usa a arte enviada. As duas camadas isolam o dente de leão para o hover. */
.brand-logo{position:relative;display:block;flex:none;width:190px;aspect-ratio:2172/724}
.brand-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.brand-logo-mark{clip-path:inset(0 88.4% 0 0);transform-origin:5.8% 50%;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.brand-logo-type{clip-path:inset(0 0 0 11.6%)}
.brand:hover .brand-logo-mark,.brand:focus-visible .brand-logo-mark,.footer-brand:hover .brand-logo-mark,.footer-brand:focus-visible .brand-logo-mark{transform:rotate(-9deg)}
.footer-brand .brand-logo{width:235px;filter:brightness(0) invert(1)}

/* Dentes de leão decorativos substituem os antigos asteriscos. */
.manifesto-dandelion{display:flex;justify-content:center;align-items:center;width:108px;height:108px;margin:0 auto 1.5rem;transition:transform .5s ease}
.manifesto-dandelion:hover{transform:rotate(18deg)}
.manifesto-dandelion .felino-mark{width:54px;height:108px;-webkit-mask-size:1590px 720px;mask-size:1590px 720px;-webkit-mask-position:-924px -416px;mask-position:-924px -416px;color:var(--yellow)}
.manifesto-dandelion .felino-mark:last-child{transform:scaleX(-1)}
.teaser-placeholder .felino-mark,.edition-art .felino-mark{width:81px;height:162px;-webkit-mask-size:2385px 1080px;mask-size:2385px 1080px;-webkit-mask-position:-1386px -624px;mask-position:-1386px -624px;color:var(--plum)}
.edition-art .felino-mark{color:var(--yellow)}
.callout-grid>.felino-mark{width:81px;height:162px;-webkit-mask-size:2385px 1080px;mask-size:2385px 1080px;-webkit-mask-position:-1386px -624px;mask-position:-1386px -624px;color:var(--yellow)}
.contact-icon{display:block;height:65px}
.contact-icon .felino-mark{color:var(--berry)}
.timeline-highlights li:before{content:'';top:.8rem;width:8px;height:16px;background:var(--orange);-webkit-mask-image:url('../images/felino-symbols-white.png');mask-image:url('../images/felino-symbols-white.png');-webkit-mask-size:236px 107px;mask-size:236px 107px;-webkit-mask-position:-137px -62px;mask-position:-137px -62px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media(max-width:1000px){.brand-logo{width:160px}}
@media(max-width:760px){.brand-logo{width:155px}.footer-brand .brand-logo{width:210px}.callout-grid>.felino-mark{width:54px;height:108px;-webkit-mask-size:1590px 720px;mask-size:1590px 720px;-webkit-mask-position:-924px -416px;mask-position:-924px -416px}}
@media(prefers-reduced-motion:reduce){.brand-logo-mark,.manifesto-dandelion{transition:none}.brand:hover .brand-logo-mark,.brand:focus-visible .brand-logo-mark,.footer-brand:hover .brand-logo-mark,.footer-brand:focus-visible .brand-logo-mark,.manifesto-dandelion:hover{transform:none}}

/* Redes sociais no cabeçalho e no rodapé. */
.header-inner{gap:1.2rem}
.social-links{display:flex;align-items:center;gap:.4rem}
.social-links a{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;color:var(--plum);background:var(--cream);transition:transform .2s ease,background-color .2s ease,color .2s ease}
.social-links a:hover,.social-links a:focus-visible{background:var(--plum);color:white;transform:translateY(-3px)}
.social-links a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.social-links svg{width:19px;height:19px;display:block}
.social-links [data-network="instagram"] svg{fill:none;stroke:currentColor;stroke-width:1.8}
.social-links [data-network="instagram"] .icon-dot{fill:currentColor;stroke:none}
.social-links [data-network="facebook"] svg{fill:currentColor}
.social-links [data-network="youtube"] rect{fill:none;stroke:currentColor;stroke-width:1.8}
.social-links [data-network="youtube"] path{fill:currentColor}
.social-links-footer{margin-top:1.4rem}
.social-links-footer a{width:40px;height:40px;background:#ffffff17;color:var(--yellow)}
.social-links-footer a:hover,.social-links-footer a:focus-visible{background:var(--yellow);color:var(--plum)}
@media(max-width:760px){.social-links-header{order:2;margin-left:auto;gap:.2rem}.menu-button{order:3}.social-links-header a{width:31px;height:31px}.header-inner{gap:.55rem}}
@media(max-width:380px){.brand-logo{width:137px}.social-links-header a{width:28px;height:28px}.social-links-header svg{width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.social-links a{transition:none}.social-links a:hover,.social-links a:focus-visible{transform:none}}


