:root{
  --bg:#0b0b0c;
  --bg-2:#111113;
  --panel:#171719;
  --panel-soft:#1d1d20;
  --text:#f7f4ef;
  --muted:#aaa6a1;
  --brand:#e83a64;
  --brand-soft:#eb5b56;
  --line:rgba(255,255,255,.12);
  --radius:32px;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Manrope",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--brand);color:white}

.site-header{
  position:fixed;z-index:100;top:0;left:0;right:0;
  height:94px;padding:0 4.4vw;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  background:linear-gradient(180deg,rgba(5,5,6,.86),rgba(5,5,6,.16));
  backdrop-filter:blur(8px);
  transition:.35s ease;
}
.site-header.scrolled{
  height:74px;background:rgba(10,10,11,.92);
  border-bottom:1px solid var(--line);
}
.brand{width:auto;height:76px;display:flex;align-items:center;overflow:visible}
.brand img{
  width:auto;height:66px;max-width:none;
  transform:none;
  transition:height .3s ease;
}
.site-header.scrolled .brand img{height:52px}
.desktop-nav{display:flex;gap:42px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.desktop-nav a{position:relative;color:#ebe7e2}
.desktop-nav a:after{
  content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--brand);
  transition:.25s ease
}
.desktop-nav a:hover:after{width:100%}
.header-actions{justify-self:end;display:flex;gap:10px}
.header-actions a,.floating-whatsapp{
  width:40px;height:40px;border:1px solid rgba(255,255,255,.25);
  border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:11px;
}
.header-actions a:hover{background:var(--brand);border-color:var(--brand)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;height:1px;background:white;margin:8px 0}
.mobile-menu{display:none}

.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#111}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 7s ease;
}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.42) 50%,rgba(0,0,0,.2) 100%),
    linear-gradient(0deg,rgba(0,0,0,.6),transparent 45%);
}
.hero-content{
  position:absolute;left:7vw;bottom:14vh;z-index:2;max-width:780px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:#f4b2bf;text-transform:uppercase;font-size:12px;font-weight:700;
  letter-spacing:.18em;margin-bottom:22px;
}
.eyebrow:before{content:"";width:26px;height:1px;background:var(--brand)}
.hero h1,.hero h2{
  font-size:clamp(54px,6.2vw,108px);line-height:.92;letter-spacing:-.055em;
  margin:0 0 28px;font-weight:700;max-width:1000px;
}
.hero p{font-size:17px;line-height:1.7;color:#d7d2cc;max-width:600px;margin:0 0 34px}
.btn{
  display:inline-flex;align-items:center;gap:18px;justify-content:center;
  min-height:58px;padding:0 25px;border-radius:999px;border:1px solid transparent;
  font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;
  transition:.25s ease;
}
.btn span{font-size:20px;font-weight:400;transition:.25s}
.btn:hover span{transform:translate(3px,-3px)}
.btn-primary{background:var(--brand);color:white}
.btn-primary:hover{background:#f14870}
.btn-outline{border-color:rgba(255,255,255,.55)}
.btn-outline:hover{background:white;color:#111}
.hero-controls{
  position:absolute;right:5vw;bottom:6vh;z-index:4;display:flex;align-items:center;gap:18px;
}
.hero-controls button,.testimonial-nav button{
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.23);
  background:rgba(0,0,0,.22);color:white;font-size:18px;
}
.hero-dots{display:flex;gap:8px}
.hero-dots button{
  width:32px;height:2px;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.35)
}
.hero-dots button.active{background:var(--brand)}

.intro{
  max-width:var(--max);margin:auto;padding:150px 5vw 160px;
  display:grid;grid-template-columns:180px 1fr 420px;gap:70px;align-items:start;
}
.section-kicker{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#74716e;
  border-top:1px solid var(--line);padding-top:18px;
}
.intro-copy h2,.partnership-heading h2,.testimonial-head h2,.contact-copy h2{
  margin:0 0 35px;font-size:clamp(42px,5vw,78px);letter-spacing:-.05em;line-height:.98;font-weight:600;
}
.intro-copy em,.partnership-heading em,.testimonial-head em,.contact-copy em{
  color:var(--brand-soft);font-family:Georgia,serif;font-weight:400;
}
.intro-copy p{max-width:680px;color:#b9b5af;line-height:1.85;font-size:16px}
.intro-image{margin:10px 0 0;position:relative}
.intro-image:before{
  content:"";position:absolute;inset:-12px 14px 14px -12px;border:1px solid rgba(232,58,100,.5);
  border-radius:26px;z-index:-1;
}
.intro-image img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;filter:saturate(.85) contrast(1.04)}
.intro-image figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#827e79;margin-top:16px}

.event-strip{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;background:#0e0e10}
.event-strip-track{
  display:flex;gap:28px;align-items:center;width:max-content;
  font-size:13px;font-weight:700;letter-spacing:.15em;color:#b3afa9;
  animation:marquee 20s linear infinite;
}
.event-strip-track i{color:var(--brand);font-style:normal}
@keyframes marquee{to{transform:translateX(-25%)}}

.event-section{
  max-width:var(--max);margin:auto;padding:140px 5vw;
  display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:center;
}
.event-visual{position:relative}
.event-visual img{width:100%;height:690px;object-fit:cover;border-radius:var(--radius);filter:brightness(.8) saturate(.8)}
.image-tag{
  position:absolute;left:22px;bottom:22px;background:rgba(12,12,13,.82);
  backdrop-filter:blur(10px);border:1px solid var(--line);padding:14px 18px;border-radius:999px;
  font-size:12px;text-transform:uppercase;letter-spacing:.13em;
}
.event-copy h2{
  font-size:clamp(42px,4.2vw,72px);line-height:1.01;letter-spacing:-.045em;margin:0 0 28px;font-weight:600;
}
.event-copy p{font-size:16px;line-height:1.9;color:#aaa6a1;margin:0 0 34px;max-width:600px}
.text-link{
  display:inline-flex;gap:12px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.13em;
  border-bottom:1px solid var(--brand);padding-bottom:8px;
}

.store-banner{height:760px;position:relative;overflow:hidden}
.store-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.store-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.25) 58%,rgba(0,0,0,.1))}
.store-content{position:absolute;left:7vw;top:50%;transform:translateY(-50%);z-index:2;max-width:760px}
.store-content h2{font-size:clamp(50px,5.7vw,92px);line-height:.96;letter-spacing:-.05em;margin:0 0 25px}
.store-content p{color:#d0cbc5;margin:0 0 32px}
.store-number{
  position:absolute;right:4vw;bottom:-70px;font-size:270px;line-height:1;font-weight:800;letter-spacing:-.08em;
  color:rgba(255,255,255,.08);
}

.partnerships{max-width:var(--max);margin:auto;padding:150px 5vw}
.partnership-heading{display:grid;grid-template-columns:180px 1fr 420px;gap:70px;align-items:start;margin-bottom:70px}
.partnership-heading h2{margin:0}
.partnership-heading p{color:#aaa6a1;line-height:1.8;margin:10px 0 0}
.partnership-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.partner-card{
  min-height:560px;border:1px solid var(--line);border-radius:30px;padding:30px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--panel);
  transition:transform .35s ease,border-color .35s ease;
}
.partner-card:hover{transform:translateY(-6px);border-color:rgba(232,58,100,.5)}
.partner-kiosk{
  background:
    radial-gradient(circle at 80% 20%,rgba(232,58,100,.24),transparent 33%),
    linear-gradient(135deg,#19191c,#0d0d0f);
}
.partner-store{background:#101012}
.partner-card-image{position:absolute;inset:0}
.partner-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d0d0f 0%,rgba(13,13,15,.4) 65%,rgba(13,13,15,.24))}
.partner-card-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) brightness(.58)}
.partner-card-top,.partner-card-body{position:relative;z-index:2}
.partner-card-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#c7c2bc}
.partner-card-body{margin-top:auto}
.partner-card h3{font-size:clamp(48px,5vw,78px);letter-spacing:-.06em;margin:0 0 15px}
.partner-card p{max-width:480px;color:#bdb8b2;line-height:1.7;margin-bottom:22px}
.partner-card a{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#f3a3b4}

.gallery{padding:120px 0 150px}
.gallery-head{max-width:var(--max);margin:auto;padding:0 5vw 42px;display:grid;grid-template-columns:1fr auto;align-items:end}
.gallery-head .eyebrow{grid-column:1/-1}
.gallery-head h2{font-size:clamp(46px,5vw,78px);letter-spacing:-.05em;margin:0}
.gallery-head>a{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#c1bdb7}
.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .75fr 1.05fr;gap:8px;height:520px}
.gallery-grid figure{margin:0;overflow:hidden}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s ease;filter:saturate(.82)}
.gallery-grid figure:hover img{transform:scale(1.035);filter:saturate(1)}

.testimonials{max-width:var(--max);margin:auto;padding:140px 5vw;border-top:1px solid var(--line)}
.testimonial-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin:34px 0 58px}
.testimonial-head h2{margin:0}
.testimonial-nav{display:flex;gap:8px}
.testimonial-viewport{overflow:hidden}
.testimonial-track{display:flex;gap:20px;transition:transform .5s cubic-bezier(.22,.8,.25,1)}
.testimonial{
  flex:0 0 calc(33.333% - 14px);min-height:350px;background:var(--panel);border:1px solid var(--line);
  border-radius:28px;padding:34px;display:flex;flex-direction:column;
}
.stars{color:var(--brand);letter-spacing:.16em}
.testimonial blockquote{font-size:21px;line-height:1.55;letter-spacing:-.02em;margin:60px 0 28px}
.testimonial p{margin:auto 0 0;color:#88847f;font-size:12px;text-transform:uppercase;letter-spacing:.12em}

.contact{
  background:#e9e5df;color:#151517;padding:130px max(5vw,calc((100vw - 1440px)/2 + 5vw));
  display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start;
}
.contact .section-kicker{color:#77716b;border-top-color:rgba(0,0,0,.18)}
.contact-copy h2{margin-top:35px}
.contact-copy p{color:#615d58;line-height:1.8;max-width:520px}
.contact-meta{margin-top:55px;display:flex;flex-direction:column;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact-meta a{font-size:20px;text-transform:none;letter-spacing:0}
.contact-form{display:grid;gap:22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:9px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#655f59}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;border:0;border-bottom:1px solid rgba(0,0,0,.26);background:transparent;border-radius:0;
  padding:14px 4px;color:#111;outline:none;resize:vertical;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand)}
.submit-btn{justify-self:start;margin-top:8px;border:0}

.site-footer{padding:85px 5vw 28px;background:#070708}
.footer-top{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;padding-bottom:80px}
.footer-logo{width:170px;filter:brightness(0) invert(1)}
.footer-top p{margin:0;color:#8e8a85;line-height:1.6}
.footer-links{justify-self:end;display:grid;grid-template-columns:1fr 1fr;gap:15px 44px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.footer-bottom{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:28px;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#6f6b67}
.footer-bottom .made-by{margin-left:auto;display:flex;align-items:center;gap:10px}
.footer-bottom .made-by img{width:38px;filter:invert(1);opacity:.75}
.floating-whatsapp{
  position:fixed;right:24px;bottom:24px;z-index:80;background:var(--brand);border:0;color:white;
  box-shadow:0 12px 35px rgba(0,0,0,.3)
}

@media (max-width:1100px){
  .desktop-nav,.header-actions{display:none}
  .site-header{grid-template-columns:1fr auto}
  .menu-toggle{display:block;justify-self:end}
  .mobile-menu{
    position:fixed;z-index:95;inset:0;background:#0a0a0b;padding:110px 7vw 40px;
    flex-direction:column;gap:22px;
  }
  .mobile-menu.open{display:flex}
  .mobile-menu-links a{font-size:44px;letter-spacing:-.04em}
  .intro{grid-template-columns:1fr 1fr;gap:45px}
  .intro>.section-kicker{grid-column:1/-1}
  .partnership-heading{grid-template-columns:1fr 1fr}
  .partnership-heading>.section-kicker{grid-column:1/-1}
  .event-section{gap:5vw}
  .event-visual img{height:580px}
  .testimonial{flex-basis:calc(50% - 10px)}
}
@media (max-width:760px){
  .site-header{height:76px;padding:0 20px}
  .brand img{height:54px}
  .hero{min-height:680px;height:92svh}
  .hero-content{left:22px;right:22px;bottom:120px}
  .hero h1,.hero h2{font-size:52px}
  .hero p{font-size:15px}
  .hero-controls{left:22px;right:auto;bottom:35px}
  .intro,.event-section,.partnerships,.testimonials{padding:90px 22px}
  .intro{grid-template-columns:1fr}
  .intro>.section-kicker{grid-column:auto}
  .intro-image{max-width:85%;margin-left:auto}
  .event-section{grid-template-columns:1fr}
  .event-visual img{height:480px}
  .event-copy{padding-top:20px}
  .store-banner{height:700px}
  .store-content{left:22px;right:22px}
  .store-content h2{font-size:52px}
  .store-number{font-size:150px;bottom:-40px}
  .partnership-heading{grid-template-columns:1fr;gap:28px}
  .partnership-heading>.section-kicker{grid-column:auto}
  .partnership-grid{grid-template-columns:1fr}
  .partner-card{min-height:500px}
  .gallery{padding:80px 0}
  .gallery-head{padding:0 22px 28px;grid-template-columns:1fr;gap:18px}
  .gallery-grid{grid-template-columns:1fr 1fr;height:720px}
  .gallery-grid .g4{display:none}
  .gallery-grid .g1{grid-row:span 2}
  .testimonial-head{grid-template-columns:1fr;gap:25px}
  .testimonial{flex-basis:88%}
  .contact{padding:90px 22px;grid-template-columns:1fr;gap:65px}
  .form-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-links{justify-self:start}
  .footer-bottom{flex-wrap:wrap;gap:14px 22px}
  .footer-bottom .made-by{margin-left:0;width:100%;margin-top:16px}
}


/* V2 — direção artesanal, menos template */
body{font-family:"DM Sans",system-ui,sans-serif;background:#0c0b0b}
.hero h1,.hero h2,.intro-copy h2,.event-copy h2,.store-content h2,
.partnership-heading h2,.partner-card h3,.gallery-head h2,
.testimonial-head h2,.contact-copy h2{
  font-family:"Fraunces",Georgia,serif;
  letter-spacing:-.035em;
  font-weight:600;
}
.intro-copy em,.partnership-heading em,.testimonial-head em,.contact-copy em{
  font-family:"Fraunces",Georgia,serif;font-style:italic;
}
.section-kicker{
  border:0;padding:0;color:#e69aa9;font-family:"Fraunces",Georgia,serif;
  font-size:18px;letter-spacing:0;text-transform:none;font-style:italic;
}
.section-kicker:before{content:"✦";font-family:serif;font-style:normal;color:var(--brand);margin-right:9px;font-size:11px}
.header-actions a{border:0;width:34px;height:34px}
.header-actions svg,.floating-whatsapp svg{width:20px;height:20px;fill:currentColor}
.header-actions a:hover{background:transparent;color:var(--brand)}
.hero-content{max-width:850px}
.hero .eyebrow{font-family:"Fraunces",Georgia,serif;text-transform:none;letter-spacing:0;font-size:18px;font-style:italic}
.hero .eyebrow:before{display:none}
.hero h1,.hero h2{font-size:clamp(60px,6.7vw,118px);line-height:.91}
.hero-shade{
  background:
    radial-gradient(circle at 22% 54%,rgba(0,0,0,.12),rgba(0,0,0,.62) 64%),
    linear-gradient(90deg,rgba(8,5,6,.76),rgba(8,5,6,.12) 70%),
    linear-gradient(0deg,rgba(8,5,6,.58),transparent 50%);
}
.intro{grid-template-columns:130px minmax(0,1fr) minmax(320px,430px);position:relative}
.intro:after{
  content:"";position:absolute;width:170px;height:170px;right:3vw;bottom:55px;border-radius:50%;
  border:1px solid rgba(232,58,100,.18);pointer-events:none
}
.intro-image{transform:rotate(1.6deg)}
.intro-image:before{border-radius:44% 56% 50% 50%/52% 44% 56% 48%;inset:-15px 17px 13px -14px}
.intro-image img{border-radius:44% 56% 48% 52%/38% 42% 58% 62%;aspect-ratio:4/5;object-position:50% 52%}
.event-section{position:relative}
.event-visual img{border-radius:52% 48% 30px 30px/15% 15% 30px 30px;object-position:50% 54%}
.store-banner>img{object-position:center 64%}
.partnership-heading{grid-template-columns:130px 1fr 420px}
.partner-card{border-radius:44px 44px 18px 44px}
.partner-card:nth-child(2){border-radius:44px 18px 44px 44px}
.partner-card-top{font-family:"Fraunces",Georgia,serif;text-transform:none;letter-spacing:0;font-style:italic;font-size:15px}
.partner-card-image img{object-position:center 55%}
.gallery-grid{gap:12px;padding:0 1vw}
.gallery-grid figure{border-radius:180px 180px 18px 18px}
.gallery-grid figure:nth-child(even){border-radius:18px 18px 180px 180px}
.gallery-grid .g1 img{object-position:50% 45%}
.gallery-grid .g2 img{object-position:50% 48%}
.gallery-grid .g3 img{object-position:50% 42%}
.gallery-grid .g4 img{object-position:50% 46%}
.testimonial{border-radius:60px 22px 60px 22px}
.testimonial blockquote{font-family:"Fraunces",Georgia,serif;font-size:23px}
.contact{background:#eee6dc}
.contact-form input,.contact-form select,.contact-form textarea{font-family:"DM Sans",sans-serif}
.floating-whatsapp{font-size:0;background:#25D366}
.footer-logo{filter:none}
@media(max-width:760px){
  .intro{grid-template-columns:1fr}
  .partnership-heading{grid-template-columns:1fr}
  .hero h1,.hero h2{font-size:54px}
  .gallery-grid figure,.gallery-grid figure:nth-child(even){border-radius:34px}
}


/* V3 — dark mais leve, equilibrado com o rosa/coral da Dosfê */
:root{
  --bg:#171315;
  --bg-2:#20191c;
  --panel:#2a2024;
  --panel-soft:#33262b;
  --text:#fff8f3;
  --muted:#d2beb8;
  --brand:#d65b59;
  --brand-soft:#e98283;
  --rose-wash:#f0b4b2;
  --cream:#f7eee7;
  --line:rgba(255,235,231,.14);
}
body{
  background:
    radial-gradient(circle at 85% 8%,rgba(214,91,89,.10),transparent 25%),
    var(--bg);
}
.site-header.scrolled{background:rgba(25,18,21,.93)}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(29,17,21,.72) 0%,rgba(29,17,21,.27) 55%,rgba(29,17,21,.08) 100%),
    linear-gradient(0deg,rgba(29,17,21,.48),transparent 48%);
}
.hero .eyebrow{color:#ffc8c5}
.btn-primary{background:var(--brand)}
.btn-primary:hover{background:#e56d6b}
.intro{background:linear-gradient(180deg,transparent,rgba(214,91,89,.035))}
.intro-copy p,.event-copy p,.partnership-heading p{color:#d3c1bb}
.intro-image:before{border-color:rgba(240,180,178,.65)}
.event-strip{
  background:var(--brand);
  border:0;
}
.event-strip-track{color:#fff6f2}
.event-strip-track i{color:#4a242c}
.event-section{
  position:relative;
  background:linear-gradient(135deg,rgba(214,91,89,.08),transparent 42%);
}
.store-banner:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(214,91,89,.18),transparent 42%);
}
.store-content{z-index:3}
.partnerships{
  background:
    radial-gradient(circle at 8% 28%,rgba(214,91,89,.13),transparent 25%),
    #21191c;
  max-width:none;
  padding-left:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  padding-right:max(5vw,calc((100vw - 1440px)/2 + 5vw));
}
.partnership-heading,.partnership-grid{max-width:1296px;margin-left:auto;margin-right:auto}
.partnership-heading{margin-bottom:70px}
.partner-card{
  background:#2a2024;
  border-color:rgba(240,180,178,.18);
}
.partner-kiosk{
  background:
    radial-gradient(circle at 78% 22%,rgba(240,180,178,.27),transparent 32%),
    linear-gradient(145deg,#39272d,#251b1f 68%);
}
.partner-card:hover{border-color:var(--rose-wash)}
.gallery{
  background:var(--cream);
  color:#2a1d21;
}
.gallery .eyebrow{color:#b7494d}
.gallery .eyebrow:before{background:#b7494d}
.gallery-head>a{color:#8c5b5c}
.testimonials{
  max-width:none;
  padding-left:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  padding-right:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  background:#d86a69;
  border:0;
}
.testimonials>.section-kicker,
.testimonials .testimonial-head{max-width:1296px;margin-left:auto;margin-right:auto}
.testimonials .section-kicker{color:#ffe6df}
.testimonials .section-kicker:before{color:#5d2932}
.testimonials .testimonial-head em{color:#5a2931}
.testimonial-viewport{max-width:1296px;margin:auto}
.testimonial{
  background:#f8ece5;
  color:#2b2023;
  border:0;
}
.testimonial p{color:#8a6663}
.stars{color:#c94e55}
.testimonial-nav button{
  border-color:rgba(72,28,38,.28);
  background:rgba(72,28,38,.12);
}
.contact{
  background:#f5e8df;
}
.site-footer{
  background:#21171a;
}
.floating-whatsapp{
  background:#25D366;
  border:3px solid #f7eee7;
}
@media(max-width:760px){
  .partnerships,.testimonials{
    padding-left:22px;
    padding-right:22px;
  }
}


/* V4 — remove faixa/ticker e ampliar a cor institucional Dosfê */
.event-strip{display:none!important}

:root{
  --brand:#d85d59;
  --brand-soft:#e77b78;
  --rose-wash:#f2b3ae;
  --rose-pale:#f6d8d2;
  --cream:#fff3ec;
  --bg:#21181b;
  --bg-2:#291d21;
  --panel:#342328;
  --panel-soft:#3c292e;
}

/* O site deixa de ser predominantemente dark: coral/rosa vira superfície */
.intro{
  max-width:none;
  padding-left:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  padding-right:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  background:#d85d59;
  color:#fff9f5;
}
.intro>.section-kicker,
.intro>.intro-copy,
.intro>.intro-image{max-width:100%}
.intro .section-kicker{color:#ffe7df}
.intro .section-kicker:before{color:#5d2930}
.intro-copy em{color:#5b2930}
.intro-copy p{color:#fff0e9}
.intro-image:before{border-color:rgba(91,41,48,.38)}
.intro-image figcaption{color:#ffe4dc}

.event-section{
  max-width:none;
  margin:0;
  padding-left:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  padding-right:max(5vw,calc((100vw - 1440px)/2 + 5vw));
  background:#fff1ea;
  color:#2b1d21;
}
.event-section .eyebrow{color:#b84c4e}
.event-section .eyebrow:before{background:#b84c4e}
.event-copy p{color:#705a58}
.event-section .text-link{border-color:#d85d59}

.store-banner{border-top:14px solid #d85d59;border-bottom:14px solid #d85d59}

.partnerships{
  background:#f2b3ae;
  color:#321f24;
}
.partnerships .section-kicker{color:#8f3e43}
.partnerships .section-kicker:before{color:#8f3e43}
.partnership-heading em{color:#a43f48}
.partnership-heading p{color:#69494a}
.partner-card{
  background:#fff2eb;
  color:#332126;
  border-color:rgba(98,42,49,.16);
}
.partner-kiosk{
  background:
    radial-gradient(circle at 78% 22%,rgba(216,93,89,.22),transparent 34%),
    #fff2eb;
}
.partner-card p{color:#715759}
.partner-card a{color:#b8404b}
.partner-card-top{color:#8c6262}
.partner-store .partner-card-body,
.partner-store .partner-card-top{color:#fff}
.partner-store .partner-card-body p{color:#f5ded8}
.partner-store .partner-card-body a{color:#ffc2bd}

.gallery{background:#fff7f1}

.testimonials{background:#d85d59}
.contact{background:#f8d8d1}

.site-footer{
  background:#4b2b31;
}
.footer-top p,.footer-bottom{color:#dcbab7}

/* Botões e pequenos elementos passam a usar a cor com mais presença */
.btn-primary{background:#d85d59}
.hero-controls button{border-color:rgba(242,179,174,.5)}
.hero-dots button.active{background:#f2b3ae}
.image-tag{background:#d85d59;border-color:#d85d59}
.stars{color:#b13f49}

@media(max-width:760px){
  .intro,.event-section{
    padding-left:22px;
    padding-right:22px;
  }
}


/* V5 — rodapé mais autoral + assinatura Mustache correta */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 28%,rgba(255,220,214,.15),transparent 23%),
    linear-gradient(118deg,#d85d59 0%,#d85d59 34%,#b94b52 34.1%,#6b303b 69%,#382027 100%);
}
.site-footer:before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-150px;top:-250px;
  border:1px solid rgba(255,239,233,.24);
  border-radius:50%;
}
.site-footer:after{
  content:"";
  position:absolute;
  width:230px;height:230px;
  right:70px;top:-150px;
  border:1px solid rgba(255,239,233,.18);
  border-radius:50%;
}
.footer-top,.footer-bottom{position:relative;z-index:2}
.footer-top{padding-top:10px}
.footer-logo{
  width:165px;
  filter:brightness(0) invert(1);
}
.footer-top p{color:#fff0e9}
.footer-links a{color:#fff9f5}
.footer-links a:hover{opacity:.72}
.footer-bottom{
  border-top-color:rgba(255,255,255,.24);
  color:#ffe6df;
}
.footer-bottom>a:not(.made-by){color:#ffe6df}

.footer-bottom .made-by{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-transform:none;
  letter-spacing:0;
}
.made-label{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  opacity:.72;
}
.mustache-signature{
  display:flex;
  align-items:center;
  gap:7px;
}
.footer-bottom .made-by .mustache-signature img{
  width:25px;
  height:15px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:1;
}
.mustache-signature strong{
  font-family:"Ubuntu","Arial",sans-serif;
  font-size:15px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
  color:#fff;
}
.footer-bottom .made-by:hover .mustache-signature{opacity:.78}

@media(max-width:760px){
  .site-footer{
    background:
      radial-gradient(circle at 100% 10%,rgba(255,220,214,.15),transparent 25%),
      linear-gradient(145deg,#d85d59 0%,#bd4e53 52%,#4a2730 100%);
  }
  .footer-bottom .made-by{align-items:center}
}


/* V6 — LP de conversão: Mega Loja protagonista e formulário qualificador */
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.conversion-partnerships{background:#f2b3ae}
.mega-feature{
  max-width:1296px;margin:0 auto 28px;
  display:grid;grid-template-columns:1.12fr .88fr;
  min-height:720px;background:#fff4ed;color:#302025;border-radius:46px;overflow:hidden;
  box-shadow:0 25px 70px rgba(91,41,48,.12);
}
.mega-image{position:relative;min-height:650px}
.mega-image img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.mega-badge{
  position:absolute;left:25px;top:25px;background:#d85d59;color:white;border-radius:999px;
  padding:11px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700
}
.mega-copy{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}
.mega-copy .eyebrow{color:#b4484c}
.mega-copy .eyebrow:before{background:#b4484c}
.mega-copy h3{
  font-family:"Fraunces",Georgia,serif;font-size:clamp(48px,4.5vw,74px);line-height:.98;
  letter-spacing:-.04em;margin:0 0 28px;font-weight:600
}
.mega-copy h3 em{color:#b4484c;font-weight:500}
.mega-copy p{color:#705759;line-height:1.8;font-size:15px}
.pending-copy{
  border-left:2px solid #d85d59;padding-left:17px!important;font-size:12px!important;
  color:#967271!important;margin:7px 0 30px!important
}
.mega-copy .btn{align-self:flex-start}
.secondary-options{
  max-width:1296px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px
}
.option-card{
  min-height:560px;background:#fff4ed;color:#302025;border-radius:40px;overflow:hidden;
  display:grid;grid-template-rows:300px 1fr
}
.option-visual{overflow:hidden}
.option-visual img{width:100%;height:100%;object-fit:cover}
.kiosk-option .option-visual img{object-position:center 52%}
.event-option .option-visual img{object-position:center 50%}
.option-copy{padding:34px 38px 40px}
.option-copy .eyebrow{color:#b4484c;margin-bottom:14px}
.option-copy .eyebrow:before{background:#b4484c}
.option-copy h3{
  font-family:"Fraunces",Georgia,serif;font-size:38px;line-height:1.03;letter-spacing:-.035em;margin:0 0 16px
}
.option-copy p{color:#755c5d;line-height:1.7}
.option-copy>a{
  display:inline-block;margin-top:12px;color:#b4484c;font-size:11px;text-transform:uppercase;
  letter-spacing:.1em;border-bottom:1px solid #d85d59;padding-bottom:6px
}

.qualified-form{gap:28px}
.interest-picker{border:0;padding:0;margin:0 0 15px}
.interest-picker legend{
  font-family:"Fraunces",Georgia,serif;font-size:27px;font-weight:600;margin-bottom:18px;color:#2d2023
}
.interest-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.interest-option{position:relative;display:block!important;cursor:pointer;height:100%}
.interest-option input{position:absolute;opacity:0;pointer-events:none}
.interest-option span{
  min-height:160px;height:100%;box-sizing:border-box;padding:22px;border:1px solid rgba(80,38,44,.18);border-radius:22px;
  display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.28);
  transition:.2s ease
}
.interest-option strong{
  font-family:"Fraunces",Georgia,serif;font-size:24px;text-transform:none;letter-spacing:-.02em;color:#312025
}
.interest-option small{
  font-size:11px;line-height:1.5;text-transform:none;letter-spacing:0;color:#755c5d
}
.interest-option input:checked+span{
  background:#d85d59;color:white;border-color:#d85d59;box-shadow:0 10px 25px rgba(143,57,65,.15)
}
.interest-option input:checked+span strong,.interest-option input:checked+span small{color:white}
.conditional-fields{display:none}
.conditional-fields.visible{display:block}

@media(max-width:1100px) and (min-width:901px){
  .interest-options{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .mega-feature{grid-template-columns:1fr}
  .mega-image{min-height:520px}
  .mega-copy{padding:50px 35px}
  .secondary-options{grid-template-columns:1fr}
  .interest-options{grid-template-columns:1fr}
  .interest-option span{min-height:auto}
}
@media(max-width:760px){
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .mega-feature{border-radius:30px}
  .mega-image{min-height:430px}
  .mega-copy{padding:42px 25px}
  .mega-copy h3{font-size:46px}
  .option-card{border-radius:30px}
}

/* V9 — correção de escala: mantém o layout original e trata principalmente os banners */
.hero{height:min(860px,100svh);min-height:680px}
.hero-slide{background-size:cover;transform:none;transition:opacity .9s ease}
.hero-slide.is-active{transform:none}
/* enquadramento por banner, sem ampliar além do necessário */
.hero-slide:nth-child(1){background-position:center 54%}
.hero-slide:nth-child(2){background-position:center 52%}
.hero-slide:nth-child(3){background-position:center 50%}
.hero-content{bottom:11vh;max-width:700px}
.hero h1,.hero h2{font-size:clamp(48px,5.4vw,88px)}
.store-banner{height:clamp(600px,72vh,720px)}
.store-banner>img{object-position:center 53%;filter:none}
.store-content{max-width:680px}
.store-content h2{font-size:clamp(46px,5vw,80px)}
/* blocos de imagem voltam à proporção original, sem gigantismo */
.event-visual img{height:620px;object-position:center 52%}
.mega-image{min-height:560px}
.mega-image img{object-position:center 54%}
.option-card{grid-template-rows:300px auto}
.option-visual{min-height:0}
.option-visual img{object-fit:cover}
.kiosk-option .option-visual img{object-position:center 50%}
.event-option .option-visual img{object-position:center 48%}
/* galeria volta a ter respiro e altura editorial, sem ocupar a tela inteira */
.gallery{padding:105px 0 130px}
.gallery-grid{height:440px;gap:12px;padding:0 1.2vw}
.gallery-grid figure{overflow:hidden}
.gallery-grid img{object-fit:cover;transform:none}
.gallery-grid .g1 img{object-position:50% 45%}
.gallery-grid .g2 img{object-position:50% 47%}
.gallery-grid .g3 img{object-position:50% 43%}
.gallery-grid .g4 img{object-position:50% 45%}
.gallery-grid figure:hover img{transform:scale(1.018)}
@media(max-width:1100px){
 .hero{min-height:650px}
 .event-visual img{height:540px}
 .mega-image{min-height:480px}
 .gallery-grid{height:390px}
}
@media(max-width:760px){
 .hero{height:82svh;min-height:610px}
 .hero-slide:nth-child(1),.hero-slide:nth-child(2),.hero-slide:nth-child(3){background-position:center center}
 .hero h1,.hero h2{font-size:clamp(43px,13vw,62px)}
 .store-banner{height:620px}
 .store-banner>img{object-position:center center}
 .event-visual img{height:480px}
 .option-card{grid-template-rows:260px auto}
 .gallery-grid{height:auto;padding:0 16px;gap:14px}
 .gallery-grid figure{height:300px}
}

/* V10 — PARCERIAS: composição desktop compacta, sem coluna estreita e sem rolagem interminável */
@media (min-width:1101px){
  .conversion-partnerships{
    max-width:none !important;
    padding:88px clamp(32px,5vw,96px) 100px !important;
  }
  .conversion-partnerships .partnership-heading{
    width:100% !important;
    max-width:1500px !important;
    grid-template-columns:150px minmax(420px,.95fr) minmax(340px,.75fr) !important;
    gap:clamp(30px,4vw,70px) !important;
    margin:0 auto 46px !important;
    align-items:start;
  }
  .conversion-partnerships .partnership-heading h2{
    font-size:clamp(46px,4.1vw,68px) !important;
    line-height:.96 !important;
  }
  .conversion-partnerships .partnership-heading p{
    max-width:440px;
    font-size:14px;
    line-height:1.65;
  }
  .conversion-partnerships .mega-feature{
    width:100% !important;
    max-width:1500px !important;
    min-height:0 !important;
    height:480px !important;
    grid-template-columns:1.18fr .82fr !important;
    margin:0 auto 24px !important;
    border-radius:34px !important;
  }
  .conversion-partnerships .mega-image{
    min-height:0 !important;
    height:480px !important;
  }
  .conversion-partnerships .mega-image img{
    object-position:center 58% !important;
  }
  .conversion-partnerships .mega-copy{
    padding:42px 46px !important;
  }
  .conversion-partnerships .mega-copy h3{
    font-size:clamp(42px,3.25vw,58px) !important;
    line-height:.96 !important;
    margin-bottom:18px !important;
  }
  .conversion-partnerships .mega-copy p{
    font-size:13px !important;
    line-height:1.6 !important;
    margin:0 0 12px !important;
  }
  .conversion-partnerships .pending-copy{
    margin:4px 0 18px !important;
  }
  .conversion-partnerships .secondary-options{
    width:100% !important;
    max-width:1500px !important;
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
    margin:0 auto !important;
  }
  .conversion-partnerships .option-card{
    min-height:0 !important;
    height:390px !important;
    grid-template-columns:46% 54% !important;
    grid-template-rows:1fr !important;
    border-radius:30px !important;
  }
  .conversion-partnerships .option-visual{
    height:390px !important;
    min-height:0 !important;
  }
  .conversion-partnerships .option-visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .conversion-partnerships .kiosk-option .option-visual img{object-position:center 48% !important}
  .conversion-partnerships .event-option .option-visual img{object-position:center 50% !important}
  .conversion-partnerships .option-copy{
    padding:34px 34px !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .conversion-partnerships .option-copy h3{
    font-size:clamp(30px,2.4vw,42px) !important;
    margin-bottom:12px !important;
  }
  .conversion-partnerships .option-copy p{
    font-size:13px !important;
    line-height:1.6 !important;
    margin:0 0 10px !important;
  }
}

@media (min-width:1500px){
  .conversion-partnerships .partnership-heading,
  .conversion-partnerships .mega-feature,
  .conversion-partnerships .secondary-options{max-width:1600px !important}
}

/* V11 — refinamento final: banners, enquadramentos e escala editorial */
.store-number{display:none!important}
@media (min-width:1101px){
  .hero{height:760px;min-height:680px;max-height:82vh}
  .hero-content{bottom:86px;max-width:650px}
  .hero h1,.hero h2{font-size:clamp(52px,4.7vw,78px);line-height:.94}
  .hero p{font-size:15px;line-height:1.6;max-width:560px}
  .hero-slide:nth-child(1){background-position:center 58%}
  .hero-slide:nth-child(2){background-position:center 57%}
  .hero-slide:nth-child(3){background-position:center 54%}
  .store-banner{height:620px;border-top-width:10px;border-bottom-width:10px}
  .store-banner>img{object-position:center 58%}
  .store-content{left:7vw;max-width:610px}
  .store-content h2{font-size:clamp(50px,4.5vw,72px);line-height:.96}
  .store-overlay{background:linear-gradient(90deg,rgba(30,15,20,.76) 0%,rgba(30,15,20,.34) 42%,rgba(30,15,20,.05) 72%)}
  .conversion-partnerships{padding-top:74px!important}
  .conversion-partnerships .partnership-heading{margin-bottom:38px!important}
  .conversion-partnerships .mega-feature{height:430px!important}
  .conversion-partnerships .mega-image{height:430px!important}
  .conversion-partnerships .secondary-options{gap:22px!important}
  .conversion-partnerships .option-card{height:330px!important;grid-template-columns:45% 55%!important}
  .conversion-partnerships .option-visual{height:330px!important}
  .conversion-partnerships .option-copy{padding:26px 30px!important}
  .conversion-partnerships .option-copy h3{font-size:clamp(28px,2vw,36px)!important}
  .gallery{padding:90px 0 110px}
  .gallery-grid{height:380px;gap:14px;padding:0 3vw}
  .gallery-grid figure{border-radius:30px;position:relative}
  .gallery-grid figure:nth-child(odd){border-radius:999px 999px 30px 30px}
  .gallery-grid figure:after{content:"";position:absolute;inset:8px;border:1px solid rgba(216,93,89,.5);border-radius:inherit;pointer-events:none;animation:dosfeFloat 5.5s ease-in-out infinite alternate}
  .gallery-grid figure:nth-child(2):after,.gallery-grid figure:nth-child(4):after{animation-delay:-2s}
}
@keyframes dosfeFloat{from{transform:translate(0,0)}to{transform:translate(3px,-4px)}}

/* V12 — correções consolidadas 25/08: banners tratados, formas orgânicas e movimento sutil */
@media (min-width:1101px){
  .hero{height:720px;min-height:650px;max-height:none}
  .hero-slide{background-size:cover;background-repeat:no-repeat}
  .hero-slide:nth-child(1),.hero-slide:nth-child(2){background-position:center center}
  .hero-slide:nth-child(3){background-position:center 48%}
  .hero-content{bottom:72px;max-width:650px}
  .hero h1,.hero h2{font-size:clamp(50px,4.35vw,76px)}
  .event-section{padding-top:92px;padding-bottom:92px}
  .event-visual{position:relative;isolation:isolate}
  .event-visual img{height:570px;border-radius:48% 52% 42% 58%/16% 18% 82% 84%;object-position:center center}
  .event-visual:before,.event-visual:after{content:"";position:absolute;pointer-events:none;z-index:2;border:1px solid rgba(216,93,89,.55);border-radius:48% 52% 42% 58%/16% 18% 82% 84%}
  .event-visual:before{inset:-10px 13px 9px -9px;animation:organicLineA 7s ease-in-out infinite alternate}
  .event-visual:after{inset:10px -9px -8px 16px;opacity:.38;animation:organicLineB 8.5s ease-in-out infinite alternate}
  .store-banner{height:560px}
  .store-banner>img{object-position:center center}
  .store-content{max-width:580px}
  .store-content h2{font-size:clamp(48px,4.2vw,68px)}
  .conversion-partnerships .mega-feature{height:auto!important;min-height:440px!important;overflow:hidden}
  .conversion-partnerships .mega-image{height:auto!important;min-height:440px!important}
  .conversion-partnerships .mega-image img{object-position:center center!important}
  .conversion-partnerships .mega-copy{padding:34px 42px!important;justify-content:center}
  .conversion-partnerships .mega-copy h3{font-size:clamp(38px,3vw,54px)!important;margin-bottom:14px!important}
  .conversion-partnerships .mega-copy p{line-height:1.55!important}
  .conversion-partnerships .option-card{height:350px!important}
  .conversion-partnerships .option-visual{height:350px!important}
  .gallery-grid{height:390px;gap:18px;padding:0 3vw;align-items:center}
  .gallery-grid figure{height:350px;border-radius:46% 54% 18px 18px/18% 20% 18px 18px;transform:translateY(0);animation:cardDrift 7s ease-in-out infinite alternate}
  .gallery-grid figure:nth-child(even){border-radius:18px 18px 48% 52%/18px 18px 18% 20%;animation-delay:-2.4s}
  .gallery-grid figure:nth-child(3){animation-delay:-4.2s}
  .gallery-grid figure:before,.gallery-grid figure:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(216,93,89,.5);border-radius:inherit;z-index:2}
  .gallery-grid figure:before{inset:7px;animation:organicLineA 6s ease-in-out infinite alternate}
  .gallery-grid figure:after{inset:-5px 9px 10px -6px;opacity:.38;animation:organicLineB 8s ease-in-out infinite alternate}
  .gallery-grid img{object-fit:cover}
}
.intro-image figcaption{font-family:"Fraunces",Georgia,serif;font-size:15px;font-style:italic;letter-spacing:.02em;text-transform:none;margin-top:18px;position:relative;padding-left:34px}
.intro-image figcaption:before{content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:currentColor;transform-origin:left center;animation:captionLine 4s ease-in-out infinite alternate}
.intro-image:before{animation:organicLineA 7.5s ease-in-out infinite alternate}
@keyframes organicLineA{0%{transform:translate(0,0) rotate(0deg) scale(1)}100%{transform:translate(4px,-3px) rotate(.45deg) scale(1.008)}}
@keyframes organicLineB{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(-4px,4px) rotate(-.55deg)}}
@keyframes cardDrift{0%{transform:translateY(0)}100%{transform:translateY(-7px)}}
@keyframes captionLine{0%{transform:scaleX(.7)}100%{transform:scaleX(1.2)}}
@media(max-width:760px){
 .hero-slide:nth-child(1),.hero-slide:nth-child(2){background-position:center center}
 .hero-slide:nth-child(3){background-position:48% center}
 .intro-image figcaption{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.event-visual:before,.event-visual:after,.gallery-grid figure,.gallery-grid figure:before,.gallery-grid figure:after,.intro-image:before,.intro-image figcaption:before{animation:none!important}}

/* V13 — refinamento de experiência e linguagem visual */
.hero-slide:nth-child(2){background-position:center center!important}
.hero-slide{animation:heroBreath 11s ease-in-out infinite alternate}
@keyframes heroBreath{from{background-size:100% auto}to{background-size:103% auto}}
@media (max-aspect-ratio:16/9){.hero-slide{animation:none;background-size:cover}}

/* pequenos ícones artesanais distribuídos como assinatura visual */
.intro-copy:before,.event-copy:before,.partnership-heading:before,.gallery-head:before{
  content:"✦";display:block;color:#d85d59;font-size:16px;margin-bottom:14px;
  animation:iconDrift 4.8s ease-in-out infinite alternate;
}
.event-copy:before{content:"◇"}.partnership-heading:before{content:"✣"}.gallery-head:before{content:"✦"}
@keyframes iconDrift{to{transform:translate(5px,-3px) rotate(8deg)}}

/* linguagem de ícones para categorias */
.partnership-heading:after{content:"◯   ◇   ✦";display:block;margin-top:20px;color:#d85d59;letter-spacing:18px;font-size:18px;opacity:.72}

/* movimento editorial sutil */
.intro-image,.event-visual,.mega-feature,.option-card,.gallery-grid figure{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease}
.intro-image:hover,.event-visual:hover{transform:translateY(-5px)}
.mega-feature:hover,.option-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(68,28,31,.09)}
.gallery-grid figure:nth-child(odd){animation:galleryFloatA 7s ease-in-out infinite alternate}
.gallery-grid figure:nth-child(even){animation:galleryFloatB 8s ease-in-out infinite alternate}
@keyframes galleryFloatA{to{transform:translateY(-6px)}}
@keyframes galleryFloatB{to{transform:translateY(5px)}}

/* risquinhos orgânicos em movimento */
.intro-image:before{content:"";position:absolute;inset:-11px 10px 8px -10px;border:1px solid rgba(111,46,50,.42);border-radius:50% 48% 46% 52%/18% 22% 78% 82%;pointer-events:none;animation:organicLineA 7s ease-in-out infinite alternate}
.intro-image{position:relative}
@keyframes organicLineA{to{transform:translate(4px,-4px) rotate(.6deg)}}
@keyframes organicLineB{to{transform:translate(-4px,3px) rotate(-.5deg)}}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* V15 — correção estrutural da área de parcerias e remoção total de rollovers */

/* PARCERIAS: composição limpa, compacta e sem grandes vazios */
.conversion-partnerships{
  position:relative;
  overflow:hidden;
}
.conversion-partnerships .partnership-heading{
  width:min(1360px,90vw) !important;
  max-width:1360px !important;
  margin:0 auto 42px !important;
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) 390px !important;
  gap:42px !important;
  align-items:start !important;
}
.conversion-partnerships .partnership-heading .section-kicker{
  margin:7px 0 0 !important;
  max-width:150px !important;
  line-height:1.25 !important;
}
.conversion-partnerships .partnership-heading h2{
  margin:0 !important;
  max-width:650px !important;
  font-size:clamp(52px,4vw,72px) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
}
.conversion-partnerships .partnership-heading h2 em{
  display:block;
  margin-top:3px;
}
.conversion-partnerships .partnership-heading p{
  margin:9px 0 0 !important;
  max-width:390px !important;
  font-size:14px !important;
  line-height:1.7 !important;
}

/* ícones de produto integrados abaixo do texto, sem ficarem perdidos no vazio */
.product-icons{
  width:min(1360px,90vw) !important;
  max-width:1360px !important;
  margin:0 auto 34px !important;
  padding-left:212px !important;
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
}
.product-icon{
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(156,56,63,.35) !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  color:#a84248 !important;
  background:rgba(255,244,238,.28) !important;
  position:relative !important;
  transform:none !important;
}
.product-icon svg{
  width:24px !important;
  height:24px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.65 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.product-icon:after{
  content:"";
  position:absolute;
  inset:-5px;
  border:0;
  border-top:1px solid rgba(168,66,72,.48);
  border-radius:50%;
  animation:iconOrbit 7s ease-in-out infinite alternate;
}
.product-icon:nth-child(2):after{animation-delay:-2.3s}
.product-icon:nth-child(3):after{animation-delay:-4.2s}
@keyframes iconOrbit{
  from{transform:rotate(-8deg) translate(0,0)}
  to{transform:rotate(7deg) translate(2px,-1px)}
}

/* NÃO EXISTE ROLLOVER: nenhum elemento se move, cresce, satura ou troca acabamento com mouse */
.desktop-nav a:after{display:none !important;width:0 !important}
.desktop-nav a:hover:after{width:0 !important}
.header-actions a:hover,
.btn-primary:hover,
.btn-outline:hover,
.footer-links a:hover,
.footer-bottom .made-by:hover,
.text-link:hover,
.option-copy>a:hover,
.partner-card:hover{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}
.header-actions a:hover{background:transparent !important;border-color:rgba(255,255,255,.25) !important;color:inherit !important}
.btn-primary:hover{background:var(--brand) !important;color:#fff !important}
.btn-outline:hover{background:transparent !important;color:#fff !important}
.btn:hover span{transform:none !important}
.intro-image:hover,
.event-visual:hover,
.mega-feature:hover,
.option-card:hover,
.gallery-grid figure:hover,
.gallery-grid figure:hover img{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}
.intro-image,.event-visual,.mega-feature,.option-card,.gallery-grid figure,.gallery-grid figure img,.btn,.btn span,a{
  transition:none !important;
}

/* mantém apenas movimento automático e editorial, independente do mouse */
.gallery-grid figure{animation:none !important}
.gallery-grid figure img{transform:none !important}
.gallery-grid{overflow:visible !important}
.gallery-grid figure{overflow:visible !important;position:relative !important}
.gallery-grid figure:before{
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  pointer-events:none !important;
  top:-14px !important;
  left:9% !important;
  right:16% !important;
  height:20px !important;
  border:0 !important;
  border-top:1px solid rgba(181,65,72,.58) !important;
  border-radius:58% 42% 0 0 !important;
  animation:handLineA 6.8s ease-in-out infinite alternate !important;
}
.gallery-grid figure:after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  pointer-events:none !important;
  inset:-5px 8px 8px -7px !important;
  border:1px solid rgba(181,65,72,.23) !important;
  border-radius:inherit !important;
  animation:handLineB 8.2s ease-in-out infinite alternate !important;
}
.gallery-grid figure:nth-child(even):before{
  left:18% !important;
  right:6% !important;
  animation-delay:-2.4s !important;
}
.gallery-grid figure:nth-child(3):before{animation-delay:-4.1s !important}
.gallery-grid figure:nth-child(even):after{animation-delay:-3.2s !important}
@keyframes handLineA{
  0%{transform:translate(-2px,1px) rotate(-1.3deg) scaleX(.96)}
  100%{transform:translate(5px,-2px) rotate(.8deg) scaleX(1.04)}
}
@keyframes handLineB{
  0%{transform:translate(-2px,1px) rotate(-.3deg)}
  100%{transform:translate(3px,-3px) rotate(.45deg)}
}

@media (max-width:1100px){
  .conversion-partnerships .partnership-heading{
    grid-template-columns:1fr 1fr !important;
    gap:24px 34px !important;
  }
  .conversion-partnerships .partnership-heading .section-kicker{
    grid-column:1/-1 !important;
  }
  .product-icons{
    padding-left:0 !important;
  }
}
@media (max-width:760px){
  .conversion-partnerships .partnership-heading{
    width:auto !important;
    margin:0 22px 30px !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .conversion-partnerships .partnership-heading .section-kicker{
    grid-column:auto !important;
  }
  .conversion-partnerships .partnership-heading h2{
    font-size:clamp(42px,12vw,58px) !important;
  }
  .conversion-partnerships .partnership-heading p{
    max-width:none !important;
  }
  .product-icons{
    width:auto !important;
    margin:0 22px 28px !important;
    padding-left:0 !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .product-icon:after,.gallery-grid figure:before,.gallery-grid figure:after{animation:none !important}
}

/* V16 — correção definitiva: bloco de parcerias + galeria editorial */
@media (min-width:1101px){
  .conversion-partnerships .partnership-heading{
    width:min(1500px,88vw)!important;max-width:1500px!important;
    display:grid!important;grid-template-columns:220px minmax(520px,760px) minmax(280px,390px)!important;
    gap:clamp(34px,4vw,72px)!important;align-items:start!important;
    margin:0 auto 34px!important;
  }
  .conversion-partnerships .partnership-heading:before,
  .conversion-partnerships .partnership-heading:after{display:none!important}
  .conversion-partnerships .partnership-heading .section-kicker{margin:8px 0 0!important;max-width:180px!important}
  .conversion-partnerships .partnership-heading h2{font-size:clamp(50px,3.7vw,68px)!important;max-width:760px!important;line-height:.93!important}
  .conversion-partnerships .partnership-heading p{font-size:14px!important;line-height:1.65!important;max-width:390px!important;margin:8px 0 0!important}
  .product-icons{width:min(1500px,88vw)!important;max-width:1500px!important;margin:0 auto 30px!important;padding-left:220px!important;gap:14px!important}

  .gallery{padding:92px 0 122px!important;overflow:hidden}
  .gallery-head{max-width:1500px!important;padding:0 4vw 44px!important}
  .gallery-grid{
    width:100%;height:390px!important;padding:0 3vw!important;gap:18px!important;
    grid-template-columns:1.08fr .9fr .74fr 1.04fr!important;align-items:center!important;overflow:visible!important;
  }
  .gallery-grid figure{height:350px!important;position:relative!important;overflow:hidden!important;animation:none!important;transform:none!important}
  .gallery-grid .g1{border-radius:52% 48% 18px 18px / 22% 18% 18px 18px!important}
  .gallery-grid .g2{border-radius:18px 18px 48% 52% / 18px 18px 22% 18%!important}
  .gallery-grid .g3{border-radius:50% 50% 20px 20px / 20% 18% 20px 20px!important}
  .gallery-grid .g4{border-radius:20px 20px 50% 50% / 20px 20px 18% 22%!important}
  .gallery-grid img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;filter:none!important;transition:none!important}
  .gallery-grid .g1 img{object-position:50% 46%!important}
  .gallery-grid .g2 img{object-position:50% 48%!important}
  .gallery-grid .g3 img{object-position:50% 44%!important}
  .gallery-grid .g4 img{object-position:50% 46%!important}
  .gallery-grid figure:before{
    content:""!important;position:absolute!important;z-index:4!important;pointer-events:none!important;
    top:7px!important;left:8%!important;right:14%!important;height:18px!important;
    border:0!important;border-top:1px solid rgba(181,65,72,.62)!important;
    border-radius:62% 38% 0 0!important;animation:dosfeSketchTop 6.6s ease-in-out infinite alternate!important;
  }
  .gallery-grid figure:after{
    content:""!important;position:absolute!important;z-index:3!important;pointer-events:none!important;
    inset:7px!important;border:1px solid rgba(181,65,72,.32)!important;border-radius:inherit!important;
    animation:dosfeSketchFrame 8s ease-in-out infinite alternate!important;
  }
  .gallery-grid figure:nth-child(2):before{left:17%!important;right:7%!important;animation-delay:-1.7s!important}
  .gallery-grid figure:nth-child(3):before{left:10%!important;right:20%!important;animation-delay:-3.4s!important}
  .gallery-grid figure:nth-child(4):before{left:15%!important;right:5%!important;animation-delay:-4.8s!important}
  .gallery-grid figure:nth-child(even):after{animation-delay:-2.6s!important}
}
@keyframes dosfeSketchTop{0%{transform:translateX(-3px) translateY(0) rotate(-1.2deg) scaleX(.96)}100%{transform:translateX(5px) translateY(-2px) rotate(.9deg) scaleX(1.045)}}
@keyframes dosfeSketchFrame{0%{transform:translate(-2px,2px) rotate(-.28deg)}100%{transform:translate(3px,-3px) rotate(.42deg)}}

/* nenhuma interação visual por mouse nas imagens ou cards */
.gallery-grid figure:hover,.gallery-grid figure:hover img,.mega-feature:hover,.option-card:hover,.intro-image:hover,.event-visual:hover{transform:none!important;filter:none!important;box-shadow:none!important}

/* FIX FINAL: foto "Feito para ser lembrado" totalmente imune ao mouse.
   Preserva somente a linha orgânica automática ao redor da foto. */
.intro-image,
.intro-image:hover,
.intro-image:focus,
.intro-image:focus-within{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition:none !important;
}
.intro-image img,
.intro-image:hover img,
.intro-image:focus img,
.intro-image:focus-within img{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  transition:none !important;
  animation:none !important;
}

/* AJUSTE APROVADO: contorno orgânico vivo, sem qualquer hover na foto */
.intro-image{position:relative!important;isolation:isolate!important;overflow:visible!important}
.intro-image:before,
.intro-image:after{content:""!important;position:absolute!important;pointer-events:none!important;z-index:3!important;border:1px solid rgba(111,46,50,.46)!important;transition:none!important}
.intro-image:before{inset:-12px 9px 7px -11px!important;border-radius:52% 48% 46% 54%/20% 24% 76% 80%!important;animation:introOrganicA 7.2s ease-in-out infinite alternate!important}
.intro-image:after{inset:5px -8px -10px 12px!important;border-color:rgba(111,46,50,.25)!important;border-radius:47% 53% 51% 49%/23% 18% 82% 77%!important;animation:introOrganicB 8.8s ease-in-out infinite alternate!important}
.intro-image:hover:before,.intro-image:hover:after{transition:none!important}
.intro-image figcaption{display:none!important}
@keyframes introOrganicA{0%{transform:translate(-2px,1px) rotate(-.35deg) scale(1)}50%{transform:translate(2px,-2px) rotate(.18deg) scale(1.006)}100%{transform:translate(4px,-3px) rotate(.42deg) scale(.998)}}
@keyframes introOrganicB{0%{transform:translate(2px,-1px) rotate(.28deg)}50%{transform:translate(-2px,2px) rotate(-.18deg)}100%{transform:translate(-4px,3px) rotate(-.4deg)}}



/* RESTAURAÇÃO — mantém o visual aprovado e anima SOMENTE as linhas existentes */
@keyframes dosfeApprovedLineA{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(2px,-1px,0) rotate(.18deg)}
  100%{transform:translate3d(-1px,2px,0) rotate(-.12deg)}
}
@keyframes dosfeApprovedLineB{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(-2px,1px,0) rotate(-.16deg)}
  100%{transform:translate3d(1px,-1px,0) rotate(.1deg)}
}

/* Apenas os contornos orgânicos já existentes recebem movimento leve */
.intro-image::before,
.event-visual::before,
.gallery-grid figure::before{
  animation:dosfeApprovedLineA 8.5s ease-in-out infinite alternate !important;
  transform-origin:center;
}
.intro-image::after,
.event-visual::after,
.gallery-grid figure::after{
  animation:dosfeApprovedLineB 10.5s ease-in-out infinite alternate !important;
  transform-origin:center;
}

/* Sem qualquer alteração no hover das fotos nesta restauração */
.intro-image:hover,
.event-visual:hover,
.gallery-grid figure:hover,
.intro-image:hover img,
.event-visual:hover img,
.gallery-grid figure:hover img{
  transform:none !important;
  filter:none !important;
}

@media (prefers-reduced-motion: reduce){
  .intro-image::before,.intro-image::after,
  .event-visual::before,.event-visual::after,
  .gallery-grid figure::before,.gallery-grid figure::after{
    animation:none !important;
  }
}



/* V21 — GALERIA: preserva exatamente os formatos aprovados e põe os contornos FORA */
.gallery-grid figure{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate !important;
  animation:none !important;
  transform:none !important;
}
.gallery-photo-clip{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  overflow:hidden;
  position:relative;
  z-index:2;
}
.gallery-photo-clip img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:inherit !important;
  transform:scale(1) !important;
  transition:transform .9s cubic-bezier(.22,.61,.36,1) !important;
  will-change:transform;
}
.gallery-grid figure:hover .gallery-photo-clip img{
  transform:scale(1.015) !important;
}

/* contorno completo, claramente externo, sem invadir a imagem */
.gallery-grid figure::before,
.gallery-grid figure::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  pointer-events:none !important;
  background:transparent !important;
  z-index:4 !important;
  border-radius:inherit !important;
  box-sizing:border-box !important;
}
.gallery-grid figure::before{
  inset:-10px -10px -10px -10px !important;
  border:1px solid rgba(215,91,91,.42) !important;
  animation:dosfeOuterLineA 8.8s ease-in-out infinite alternate !important;
}
.gallery-grid figure::after{
  inset:-17px -13px -14px -16px !important;
  border:1px solid rgba(215,91,91,.20) !important;
  animation:dosfeOuterLineB 11.2s ease-in-out infinite alternate !important;
}
/* ligeira irregularidade individual, sem mudar as fotos */
.gallery-grid .g1::before{border-radius:54% 46% 20px 20px / 24% 18% 20px 20px !important}
.gallery-grid .g1::after{border-radius:50% 50% 24px 18px / 20% 23% 19px 21px !important}
.gallery-grid .g2::before{border-radius:22px 18px 51% 49% / 18px 22px 24% 18% !important}
.gallery-grid .g2::after{border-radius:18px 25px 48% 52% / 23px 18px 19% 26% !important}
.gallery-grid .g3::before{border-radius:52% 48% 20px 20px / 22% 18% 20px 20px !important}
.gallery-grid .g3::after{border-radius:48% 52% 23px 18px / 18% 24% 19px 22px !important}
.gallery-grid .g4::before{border-radius:20px 22px 50% 50% / 20px 20px 18% 22% !important}
.gallery-grid .g4::after{border-radius:24px 18px 52% 48% / 18px 25px 22% 18% !important}

@keyframes dosfeOuterLineA{
  0%{transform:translate3d(-1px,0,0) rotate(-.16deg)}
  50%{transform:translate3d(2px,-1px,0) rotate(.12deg)}
  100%{transform:translate3d(0,2px,0) rotate(-.08deg)}
}
@keyframes dosfeOuterLineB{
  0%{transform:translate3d(1px,-1px,0) rotate(.10deg)}
  50%{transform:translate3d(-2px,1px,0) rotate(-.12deg)}
  100%{transform:translate3d(1px,0,0) rotate(.07deg)}
}
@media (hover:none),(pointer:coarse){
  .gallery-grid figure:hover .gallery-photo-clip img{transform:scale(1) !important}
}
@media (prefers-reduced-motion:reduce){
  .gallery-grid figure::before,.gallery-grid figure::after{animation:none !important}
  .gallery-photo-clip img{transition:none !important}
}


/* V22 — CORREÇÃO EXCLUSIVA DA GALERIA
   Fotos 100% estáticas. Sem hover, zoom, giro, transição ou animação.
   Remove os contornos completos que estavam criando "caixas" em volta das fotos.
   Mantém somente UM risco orgânico acima de cada foto, totalmente fora dela. */

.gallery-grid{
  overflow:visible !important;
}

.gallery-grid figure,
.gallery-grid figure:hover{
  position:relative !important;
  overflow:visible !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* recorte aprovado da foto permanece intacto */
.gallery-photo-clip{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  position:relative !important;
  z-index:2 !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
}

.gallery-photo-clip img,
.gallery-grid figure:hover .gallery-photo-clip img,
.gallery-grid figure:hover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:inherit !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
  filter:none !important;
  box-shadow:none !important;
}

/* apaga definitivamente a moldura externa completa */
.gallery-grid figure::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  animation:none !important;
}

/* único risco decorativo: acima e sem tocar na foto */
.gallery-grid figure::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  pointer-events:none !important;
  z-index:5 !important;
  top:-22px !important;
  left:7% !important;
  width:86% !important;
  height:14px !important;
  right:auto !important;
  bottom:auto !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid rgba(215,91,91,.36) !important;
  border-radius:50% !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
}

/* pequenas diferenças no comprimento/posição, sem invadir as fotos */
.gallery-grid .g1::before{left:4% !important;width:91% !important;top:-21px !important}
.gallery-grid .g2::before{left:16% !important;width:76% !important;top:-19px !important}
.gallery-grid .g3::before{left:10% !important;width:72% !important;top:-22px !important}
.gallery-grid .g4::before{left:15% !important;width:80% !important;top:-20px !important}



/* V23 — CORREÇÃO LIMPA: galeria sem pseudo-contornos e fotos sem qualquer hover */

/* 1. GALERIA: mata TODOS os riscos/molduras antigos de pseudo-elementos */
.gallery-grid figure::before,
.gallery-grid figure::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  animation:none !important;
}

/* 2. Risquinho dedicado em SVG: sempre FORA da foto, sem caixa, sem borda lateral */
.gallery-grid figure{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate !important;
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
  animation:none !important;
  transition:none !important;
}
.gallery-stroke{
  position:absolute;
  z-index:6;
  top:-19px;
  left:6%;
  width:88%;
  height:18px;
  overflow:visible;
  pointer-events:none;
  fill:none;
  stroke:rgba(214,91,91,.42);
  stroke-width:.55;
  vector-effect:non-scaling-stroke;
  animation:galleryStrokeBreathe 8.5s ease-in-out infinite alternate;
}
.gallery-stroke.s2{left:12%;width:80%;top:-17px;animation-delay:-1.9s}
.gallery-stroke.s3{left:8%;width:78%;top:-20px;animation-delay:-3.2s}
.gallery-stroke.s4{left:13%;width:82%;top:-18px;animation-delay:-4.6s}

@keyframes galleryStrokeBreathe{
  0%{transform:translate3d(-2px,1px,0) scaleX(.985)}
  50%{transform:translate3d(2px,-1px,0) scaleX(1.012)}
  100%{transform:translate3d(1px,1px,0) scaleX(.995)}
}

/* 3. FOTOS DA GALERIA: absolutamente estáticas */
.gallery-photo-clip,
.gallery-photo-clip:hover,
.gallery-grid figure:hover .gallery-photo-clip{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
  box-shadow:none !important;
}
.gallery-photo-clip img,
.gallery-photo-clip:hover img,
.gallery-grid figure img,
.gallery-grid figure:hover img,
.gallery-grid figure:hover .gallery-photo-clip img{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
  box-shadow:none !important;
}

/* 4. "DO CORPORATIVO À CELEBRAÇÃO": remove de vez claro/escuro e qualquer hover */
.event-visual,
.event-visual:hover,
.event-visual:focus,
.event-visual:focus-within{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
  box-shadow:none !important;
}
.event-visual img,
.event-visual:hover img,
.event-visual:focus img,
.event-visual:focus-within img{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
  box-shadow:none !important;
}

/* 5. Regra geral: nenhuma foto isolada recebe efeito de mouse */
.intro-image img,
.intro-image:hover img,
.mega-image img,
.mega-image:hover img,
.option-visual img,
.option-visual:hover img,
.store-banner>img,
.store-banner:hover>img{
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  transition:none !important;
  animation:none !important;
}

/* Mantém somente as linhas orgânicas automáticas aprovadas nas fotos isoladas */
.intro-image:hover,
.event-visual:hover,
.mega-image:hover,
.option-visual:hover{
  transform:none !important;
  filter:none !important;
  box-shadow:none !important;
}

@media (prefers-reduced-motion: reduce){
  .gallery-stroke{animation:none !important}
}


/* ============================================================
   V24 — POLIMENTO GERAL (25/08)
   - corrige a logo do header (crop quebrado deixava a marca invisível)
   - corrige o "risquinho" da galeria: passa a usar o MESMO contorno
     orgânico duplo já aprovado em "Feito para ser lembrado" e em
     "Do corporativo à celebração", em vez do traço solto/desconectado
   - ícone do menu mobile vira um "X" quando aberto
   - aviso de privacidade (LGPD) com botão de aceite, responsivo
   - checkbox de consentimento no formulário de contato
   ============================================================ */

/* --- Galeria: mesmo tratamento visual das outras seções ---
   Traço fino e duplo que ACOMPANHA o contorno real de cada foto.
   Importante: versões antigas do CSS têm regras .g1/.g2/.g3/.g4::before
   com a MESMA especificidade (top/left/width fixos, sem "inset") — por
   isso as posições/raios abaixo são declaradas por figura (não no
   seletor genérico "figure"), senão a regra antiga vence e a linha
   volta a flutuar solta acima da foto. */
.gallery-stroke{display:none !important}
.gallery-grid figure::before,
.gallery-grid figure::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  pointer-events:none !important;
  z-index:5 !important;
  border-radius:inherit !important;
  box-sizing:border-box !important;
  transform:none !important;
  right:auto !important;
  bottom:auto !important;
}
.gallery-grid .g1::before,.gallery-grid .g2::before,.gallery-grid .g3::before,.gallery-grid .g4::before{
  top:-6px !important;left:-5px !important;right:4px !important;bottom:3px !important;width:auto !important;height:auto !important;
  border:1px solid rgba(111,46,50,.4) !important;
  animation:dosfeApprovedLineA 9s ease-in-out infinite alternate !important;
}
.gallery-grid .g1::after,.gallery-grid .g2::after,.gallery-grid .g3::after,.gallery-grid .g4::after{
  top:3px !important;left:5px !important;right:-4px !important;bottom:-5px !important;width:auto !important;height:auto !important;
  border:1px solid rgba(111,46,50,.22) !important;
  animation:dosfeApprovedLineB 11s ease-in-out infinite alternate !important;
}
/* raio idêntico ao das fotos no desktop (onde o formato é o "domo" orgânico) */
@media (min-width:1101px){
  .gallery-grid .g1::before{border-radius:55% 45% 21px 19px / 25% 19% 20px 21px !important}
  .gallery-grid .g1::after{border-radius:50% 50% 24px 17px / 21% 24% 18px 22px !important}
  .gallery-grid .g2::before{border-radius:20px 22px 46% 54% / 19px 21px 25% 19% !important}
  .gallery-grid .g2::after{border-radius:18px 25px 49% 51% / 23px 18px 20% 26% !important}
  .gallery-grid .g3::before{border-radius:53% 47% 21px 19px / 23% 19% 21px 19% !important}
  .gallery-grid .g3::after{border-radius:48% 52% 24px 17px / 19% 24% 19px 23% !important}
  .gallery-grid .g4::before{border-radius:21px 19px 51% 49% / 21px 19px 19% 23% !important}
  .gallery-grid .g4::after{border-radius:24px 17px 53% 47% / 18px 26% 23% 18% !important}
}
@media (prefers-reduced-motion:reduce){
  .gallery-grid figure::before,.gallery-grid figure::after{animation:none !important}
}

/* --- Ícone do menu mobile: vira "X" ao abrir --- */
.menu-toggle{position:relative;transition:.25s ease}
.menu-toggle span{transition:transform .3s ease,opacity .3s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(9px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-9px) rotate(-45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}

/* --- Aviso de privacidade / consentimento --- */
.privacy-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  display:none;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:rgba(12,10,11,.97);backdrop-filter:blur(10px);
  color:#fff6f2;border-top:1px solid rgba(255,235,231,.16);
  padding:22px 4.4vw;box-shadow:0 -14px 34px rgba(0,0,0,.28);
}
.privacy-banner.visible{display:flex}
.privacy-banner p{margin:0;max-width:740px;font-size:13px;line-height:1.65;color:#e9e2dd}
.privacy-banner a{text-decoration:underline;text-underline-offset:3px;color:#f4b2bf}
.privacy-banner-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.privacy-banner-link{font-size:11px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.privacy-accept{min-height:48px;padding:0 26px;white-space:nowrap}
body.privacy-pending .floating-whatsapp{transition:bottom .3s ease;bottom:112px}
@media (max-width:760px){
  .privacy-banner{padding:18px 20px 20px;flex-direction:column;align-items:stretch;gap:14px}
  .privacy-banner p{max-width:none}
  .privacy-banner-actions{justify-content:space-between;gap:14px}
  .privacy-accept{flex:1}
  body.privacy-pending .floating-whatsapp{bottom:190px}
}

/* --- Consentimento no formulário de contato --- */
.consent-field{
  display:flex !important;align-items:flex-start;gap:12px;
  font-size:12px !important;text-transform:none !important;letter-spacing:0 !important;
  color:#4c4642 !important;line-height:1.55;
}
.consent-field input{width:18px;height:18px;margin-top:2px;accent-color:var(--brand);flex:none}
.consent-field a{text-decoration:underline;text-underline-offset:2px;color:#151517}
.form-feedback{
  display:none;margin-top:4px;padding:16px 18px;border-radius:16px;
  background:rgba(216,93,89,.12);border:1px solid rgba(216,93,89,.35);
  color:#7a2e2f;font-size:13px;line-height:1.6;
}
.form-feedback.visible{display:block}

/* --- Página de Política de Privacidade --- */
.policy-hero{
  background:var(--bg-2,#20191c);color:var(--text);
  padding:172px 5vw 50px;
}
.policy-hero .section-kicker{color:#e69aa9}
.policy-hero .section-kicker:before{color:var(--brand)}
.policy-hero h1{
  font-family:"Fraunces",Georgia,serif;font-weight:600;
  font-size:clamp(40px,5vw,72px);letter-spacing:-.04em;line-height:.98;margin:18px 0 14px;
  max-width:820px;
}
.policy-updated{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0}

.policy-body{
  background:var(--cream,#fff3ec);color:#332126;
  padding:10px 5vw 130px;
}
.policy-body article{max-width:820px;margin:0 auto}
.policy-body h2{
  font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:clamp(22px,2.4vw,28px);
  letter-spacing:-.02em;margin:46px 0 14px;color:#2b1d21;
}
.policy-body article>p:first-child{margin-top:44px}
.policy-body h2:first-of-type{margin-top:44px}
.policy-body p{color:#5b4744;line-height:1.85;font-size:15.5px;margin:0 0 16px}
.policy-body ul{margin:0 0 16px;padding-left:22px;color:#5b4744;line-height:1.8;font-size:15.5px}
.policy-body li{margin-bottom:6px}
.policy-body a{color:#b4484c;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){
  .policy-hero{padding:128px 22px 32px}
  .policy-body{padding:10px 22px 90px}
}


/* ============================================================
   V25 — polimento adicional (25/08, rodada 2)
   - marca + redes sociais dentro do menu mobile
   - "Do corporativo à celebração" com o mesmo formato/traço do desktop
     em qualquer tamanho de tela
   - legibilidade do texto do hero sobre a foto (mobile)
   ============================================================ */

/* --- Menu mobile: marca no topo + redes sociais embaixo ---
   Evita logo duplicada: enquanto o menu está aberto, a logo do
   cabeçalho fica escondida e só a logo de dentro do menu aparece.
   O aviso de privacidade também some, para não cobrir os links. */
.mobile-menu-brand{display:none}
.mobile-menu-social{display:none}
@media (max-width:1100px){
  .mobile-menu.open{display:flex !important;flex-direction:column}
  .mobile-menu-brand{display:flex !important;align-items:center;margin-bottom:6px}
  .mobile-menu-brand img{height:36px;width:auto;display:block}
  .mobile-menu-links{display:flex;flex-direction:column;gap:20px;flex:1;justify-content:center}
  .mobile-menu-social{
    display:flex !important;gap:12px;padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .mobile-menu-social a{
    width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
    display:grid;place-items:center;color:#fff;
  }
  .mobile-menu-social svg{width:19px;height:19px;fill:currentColor}
  body.menu-open .site-header .brand{visibility:hidden}
  body.menu-open .privacy-banner{display:none !important}
}
@media (max-width:420px){
  .mobile-menu{padding-top:96px}
  .mobile-menu-links a{font-size:38px}
}

/* --- Galeria: mostra as 4 fotos no mobile também (antes só 3 apareciam) --- */
@media (max-width:760px){
  .gallery-grid{grid-template-columns:1fr 1fr !important}
  .gallery-grid .g1{grid-row:auto !important}
  .gallery-grid .g4{display:block !important}
}

/* --- "Do corporativo à celebração": mesmo tratamento em qualquer tela --- */
.event-visual{isolation:isolate}
.event-visual img{
  border-radius:48% 52% 42% 58%/16% 18% 82% 84% !important;
  object-position:center center;
}
.event-visual::before,.event-visual::after{
  content:"";position:absolute;pointer-events:none;z-index:2;
  border:1px solid rgba(216,93,89,.55);border-radius:48% 52% 42% 58%/16% 18% 82% 84%;
}
.event-visual::before{inset:-10px 13px 9px -9px;animation:organicLineA 7s ease-in-out infinite alternate}
.event-visual::after{inset:10px -9px -8px 16px;opacity:.38;animation:organicLineB 8.5s ease-in-out infinite alternate}
@media (max-width:760px){
  .event-visual::before{inset:-7px 9px 6px -6px}
  .event-visual::after{inset:7px -6px -6px 11px}
}
@media (prefers-reduced-motion:reduce){
  .event-visual::before,.event-visual::after{animation:none !important}
}

/* --- Hero: texto sempre legível sobre a foto (mobile e desktop) --- */
.hero .eyebrow,.hero h1,.hero h2,.hero p{
  text-shadow:0 1px 4px rgba(0,0,0,.85),0 10px 34px rgba(0,0,0,.6);
}
@media (max-width:760px){
  .hero-shade{
    background:
      linear-gradient(0deg,rgba(10,5,7,.94) 0%,rgba(10,5,7,.8) 38%,rgba(10,5,7,.4) 62%,rgba(10,5,7,.1) 85%,transparent 100%),
      linear-gradient(90deg,rgba(10,5,7,.55),transparent 75%) !important;
  }
}
