/* Medidas em px da arte original (992 px de largura).
   No computador a página inteira escala junto (--z, definido em script.js). */
:root{
  --magenta:#c4004f;
  --amarelo:#fdb507;
  --dourado:#ffb234;
  --creme:#fff4f2;
  --tinta:#252b33;
  --serif:'DM Serif Display', Georgia, serif;
  --sans:'DM Sans', system-ui, sans-serif;
  --manuscrita:'Kaushan Script', cursive;
  --pincel:'Caveat Brush', cursive;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; background:#a60444;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{background:#a60444; font-family:var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
strong{font-weight:700;}
.ic, .servico-icone svg{fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
a:focus-visible, button:focus-visible{outline:2px solid #ffd24a; outline-offset:3px; border-radius:4px;}

.site{position:relative; width:992px; margin:0 auto; zoom:var(--z, 1); overflow:hidden; line-height:1;}
.site section, .site footer{position:relative;}

/* ================= MARCA ================= */
.marca{position:absolute; left:60px; top:8px; width:275px; height:82px; display:block;}
.marca-be{position:absolute; left:2px; top:2px; width:auto; height:80px;}
.marca-texto{position:absolute; left:106px; top:0; white-space:nowrap;}
.marca-l1, .marca-l2, .marca-l3{position:absolute; left:0; line-height:1;}
.marca-l1{top:15.3px; font-weight:300; font-size:17.5px; letter-spacing:6.69px; color:#fff;}
.marca-l2{top:36.3px; font-weight:500; font-size:17.5px; letter-spacing:8.18px; color:#f9b31f;}
.marca-l3{top:68.9px; font-size:6.25px; letter-spacing:.98px; color:#fff;}
.slogan-ponto{font-style:normal; color:#f9b31f; margin:0 .45em;}

/* ================= CABEÇALHO ================= */
.topo{position:absolute; left:0; top:0; width:992px; height:100px; z-index:10;}
.menu{position:absolute; left:444px; top:44.2px; display:flex; gap:32.5px;}
.menu a{position:relative; font-weight:500; font-size:11.62px; line-height:1; color:#fff;}
.menu a:hover{color:#ffd24a;}
.menu a.ativo::after{content:""; position:absolute; left:-4px; right:-2px; top:21.8px; height:3px; border-radius:2px; background:#ffb032;}
.btn-topo{position:absolute; left:806px; top:32px; width:157px; height:38px; border-radius:19px; background:var(--amarelo);
  display:flex; align-items:center; padding-left:14px; gap:10px; color:#3e2a00;
  font-weight:700; font-size:9.14px; letter-spacing:1.19px; white-space:nowrap; box-shadow:0 4px 10px -4px rgba(80,0,20,.4);}
.btn-topo .ic{width:20px; height:20px; color:#7a2410; stroke-width:1.7;}
.btn-topo:hover, .btn-amarelo:hover, .contato-pilula a:hover{filter:brightness(1.05);}
.menu-abrir{display:none;}

/* ================= BANNER ================= */
.banner{height:543px; background:#c20050 var(--fundo-banner, none) center/100% 100% no-repeat;}
.banner-foto{position:absolute; left:421px; top:88px; width:482px; height:455px; object-fit:contain; object-position:bottom; z-index:2;}
.banner-recado{position:absolute; left:858px; top:178px; z-index:3; color:#fff; font-family:var(--manuscrita);
  font-size:22px; line-height:1.27; transform:rotate(-14deg); transform-origin:0 0; white-space:nowrap;}
.banner-recado-traco{position:absolute; left:893px; top:287px; width:72px; height:12px; color:var(--dourado); transform:rotate(-16deg); z-index:3;}
.banner-recado-coracao{position:absolute; left:923px; top:304px; width:34px; height:42px; fill:none; stroke:var(--dourado); stroke-width:1.9; stroke-linecap:round; z-index:3;}

.banner-texto{position:absolute; left:55px; top:139px; width:470px; z-index:3;}
.selo{display:inline-block; margin-left:-1px; height:28px; padding:7.7px 4px 0 8px; background:#ffb40e;
  font-weight:800; font-size:13.54px; letter-spacing:2.43px; color:#ab1d2a; line-height:1;
  clip-path:polygon(0 6%, 100% 0, 98.8% 100%, .8% 94%);}
.banner-titulo{margin:2px 0 0 1px; font-family:var(--serif); font-weight:400; font-size:60.44px; line-height:57px; color:var(--creme);}
.banner-destaque{position:relative; display:block; margin:2.8px 0 0 -3px; font-family:var(--manuscrita); font-size:51.4px; line-height:1; color:var(--dourado);}
.banner-destaque svg{position:absolute; color:var(--dourado);}
.traco-a{left:69px; top:59px; width:139px; height:12px;}
.traco-b{left:217px; top:52px; width:160px; height:10px;}
.banner-lead{margin:33.8px 0 0 5px; font-weight:500; font-size:16.86px; line-height:22px; color:#fff;}
.btn-amarelo{display:inline-flex; align-items:center; gap:12px; margin:19px 0 0 4px; height:40px; padding:0 18px; border-radius:20px;
  background:var(--amarelo); color:#3e2a00; font-weight:600; font-size:13.62px; white-space:nowrap; box-shadow:0 6px 14px -8px rgba(60,0,20,.6);}
.btn-amarelo .ic{width:14px; height:14px; color:#7a1030; stroke-width:2.6;}
.banner-local{position:relative; display:flex; align-items:center; margin:20px 0 0 4px; height:18px; font-weight:500; font-size:13.6px; color:#fff; white-space:nowrap;}
.banner-local .ic{width:14px; height:18px; color:#ffb222; margin-right:10px;}
.ponto{display:inline-block; width:4px; height:4px; border-radius:50%; background:#ffb222; margin:0 7px 0 6px;}
.banner-local-traco{position:absolute; left:26px; top:20px; width:247px; height:10px; color:#ffb222;}

/* ================= FAIXA ================= */
.faixa{height:72px; background:linear-gradient(#fcefe2, #fbf2e8);}
.faixa p{position:absolute; left:0; right:0; top:21.3px; text-align:center; font-family:var(--pincel); font-size:38.36px; line-height:1; color:#bc0f52;}
.faixa-orn{position:absolute; left:128px; top:25px; width:90px; height:30px;}
.faixa-orn--dir{left:776px; transform:scaleX(-1);}

/* ================= SOBRE ================= */
.sobre{height:308px; background:#fefaef;}
.sobre-foto{position:absolute; left:24px; top:1px; width:332px; height:306px;}
.sobre-foto img{width:100%; height:100%; object-fit:contain;}
.sobre-selo{position:absolute; left:13px; top:231px; width:120px; padding:9px 6px 8px; background:#ffb61a; text-align:center;
  font-family:var(--manuscrita); font-size:15.5px; line-height:1.08; color:#d6125f; transform:rotate(-11deg);
  clip-path:polygon(2% 8%, 98% 0, 100% 92%, 0 100%); box-shadow:0 4px 8px -4px rgba(0,0,0,.3);}
.sobre-selo svg{display:inline-block; width:14px; height:15px; margin-left:3px; vertical-align:-2px; fill:none; stroke:#d6125f; stroke-width:2.2; stroke-linecap:round;}
.sobre-texto{position:absolute; left:375px; top:27.1px; width:345px;}
.rotulo{font-weight:700; line-height:1; white-space:nowrap;}
.rotulo--sobre{font-size:13.71px; letter-spacing:2.59px; color:#7a6c58;}
.rotulo .azul{color:#23577a;}
.sobre-nome{margin-top:.4px; font-family:var(--serif); font-weight:400; font-size:54.59px; line-height:1; color:#e0045f;}
.sobre-paragrafos p{font-size:13.02px; line-height:19.67px; color:var(--tinta);}
.sobre-paragrafos p:first-child{margin-top:12.9px;}
.sobre-paragrafos p + p{margin-top:11.3px;}
.divisor{display:flex; align-items:center; width:325px; height:20px; margin-top:12.3px;}
.divisor i{flex:1; height:1.6px; background:#eaa53c; border-radius:1px;}
.divisor svg{width:18px; height:18px; margin:0 9px;}
.sobre-recado{position:absolute; left:756px; top:25px; width:207px; height:260px; border-radius:8px; background:linear-gradient(#fde8ea, #fde4e4);}
.sobre-recado-coracao{position:absolute; left:81px; top:21px; width:44px; height:52px; fill:none; stroke:#e0045f; stroke-width:2.1; stroke-linecap:round;}
.sobre-recado p{position:absolute; left:30px; top:106px; font-family:var(--manuscrita); font-size:23px; line-height:1.22; color:#e0045f; white-space:nowrap; transform:rotate(-11deg); transform-origin:0 0;}
.sobre-recado-traco{position:absolute; left:54px; top:222px; width:120px; height:13px; color:#ffb61a; transform:rotate(-12deg);}

/* ================= SERVIÇOS ================= */
.servicos{height:290px; background:#c20050 var(--fundo-servicos, none) center/100% 100% no-repeat;}
.servicos-texto{position:absolute; left:54px; top:36.9px; width:290px;}
.rotulo--claro{font-weight:600; font-size:12.24px; letter-spacing:2.74px; color:#ffe6ef;}
.titulo-serif{font-family:var(--serif); font-weight:400;}
.titulo--servicos{margin-top:9.4px; font-size:37.98px; line-height:33px; color:var(--creme);}
.titulo--servicos .destaque{color:#fbb70c;}
.servicos-lead{margin:16.75px 0 0 2px; font-size:13.81px; line-height:19.5px; color:#ffeef5;}
.divisor--claro{width:214px; height:18px; margin-top:9.25px;}
.divisor--claro i{background:#f0b04a;}
.servicos-lista{position:absolute; left:363px; top:36px; width:591px; display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;}
.servico{position:relative; height:113px; padding-top:6px; border-radius:8px; background:#fdf3e9; text-align:center;
  box-shadow:0 7px 12px -6px rgba(70,0,25,.45);}
.servico::after{content:""; position:absolute; left:50%; bottom:5.5px; width:42px; height:2.5px; margin-left:-21px; border-radius:2px; background:#e8a84a;}
.servico-icone{display:flex; align-items:center; justify-content:center; width:50px; height:50px; margin:0 auto; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #f0287d, #c10050 72%); box-shadow:0 5px 7px -3px rgba(120,0,40,.5); color:#ffc21a;}
.servico-icone svg{width:26px; height:26px;}
.servico h3{margin-top:8.5px; font-weight:500; font-size:11.66px; line-height:15px; color:#3a323a;}

/* ================= PORTFÓLIO ================= */
.portfolio{height:193px; background:#fdf6ee var(--fundo-portfolio, none) center top/100% auto no-repeat;}
.portfolio-texto{position:absolute; left:52px; top:27.3px; width:260px;}
.rotulo--rosa{font-size:10.35px; letter-spacing:2.79px; color:#b02a5c;}
.titulo--portfolio{margin-top:5.9px; font-size:23.89px; line-height:24px; color:#9b154a;}
.portfolio-lead{margin-top:10.2px; font-size:11.45px; line-height:13.67px; color:#413e40;}
.portfolio-texto .divisor{width:189px; height:17px; margin-top:11.6px;}
.portfolio-texto .divisor svg{width:16px; height:16px;}
.portfolio-lista{position:absolute; left:333px; top:20px; width:615px; display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;}
.trabalho-abrir{position:relative; display:block; width:100%; padding:0; border:0; cursor:pointer; font:inherit; background:#ddd; height:164px; border-radius:7px; overflow:hidden; box-shadow:0 7px 14px -8px rgba(60,20,30,.5);}
.trabalho img{width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.trabalho-abrir:hover img, .trabalho-abrir:focus-visible img{transform:scale(1.04);}
.trabalho-barra{position:absolute; left:5px; right:5px; bottom:4px; height:25px; border-radius:6px; display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:10.97px; color:#fff; white-space:nowrap;}
.trabalho-barra--magenta{background:#c2044f;}
.trabalho-barra--amarelo{background:#f4a902; color:#443000;}
.trabalho-barra--azul{background:#085f95;}
.trabalho-abrir:focus-visible{outline:3px solid #ffd24a; outline-offset:3px;}
.trabalho-qtd{position:absolute; top:6px; right:6px; display:flex; align-items:center; gap:4px; padding:3px 7px; border-radius:10px;
  background:rgba(20,0,10,.55); color:#fff; font-weight:600; font-size:9px; opacity:0; transition:opacity .2s;}
.trabalho-qtd svg{width:9px; height:9px; fill:currentColor;}
.trabalho-abrir:hover .trabalho-qtd, .trabalho-abrir:focus-visible .trabalho-qtd{opacity:1;}

/* ================= CONTATO ================= */
.contato{height:75px;}
.contato::before{content:""; position:absolute; left:0; right:0; top:-7px; bottom:0; background:var(--fundo-faixa-contato, none) center bottom/100% 100% no-repeat;}
.contato-chamada{position:absolute; left:144px; top:31px; font-family:var(--manuscrita); font-size:23.7px; line-height:.98; color:#ffb61a; transform:rotate(-12deg); transform-origin:0 0; white-space:nowrap;}
.contato-chamada svg{position:absolute; left:92px; top:30px; width:20px; height:22px; fill:none; stroke:#ffb61a; stroke-width:2; stroke-linecap:round; transform:rotate(12deg);}
.contato-texto{position:absolute; left:306px; top:23.5px; font-weight:500; font-size:12.23px; line-height:17px; color:#fff; white-space:nowrap;}
.contato-texto .destaque{color:#ffa62b;}
.contato-pilula{position:absolute; left:568px; top:22px; width:318px; height:36px; border-radius:18px; background:var(--amarelo); box-shadow:0 6px 12px -8px rgba(60,0,20,.6);}
.contato-pilula a{position:absolute; top:0; height:36px; display:flex; align-items:center; white-space:nowrap;}
.contato-pilula a:first-child{left:0; width:165px; padding-left:22px; gap:10px; border-radius:18px 0 0 18px;}
.contato-pilula a:last-child{left:184px; right:0; gap:9px; border-radius:0 18px 18px 0;}
.contato-pilula .ic{width:20px; height:20px; color:#8a1535; stroke-width:1.7;}
.contato-pilula a:last-child .ic{width:21px; height:21px;}
.contato-rotulo{font-weight:700; font-size:7.7px; letter-spacing:1.41px; color:#4a3208;}
.contato-rotulo b{color:#a8173a;}
.contato-barra{position:absolute; left:165px; top:8px; width:2px; height:20px; background:rgba(110,50,10,.55);}
.contato-handle{font-weight:600; font-size:8.48px; color:#b3163f;}

/* ================= RODAPÉ ================= */
.rodape{height:130px; background:#a80548 var(--fundo-rodape, none) center top/100% 100% no-repeat;}
.rodape > *{translate:0 12px;}
.marca--rodape{left:94px; top:13px; transform:scale(.77); transform-origin:0 0;}
.rodape-linha{position:absolute; width:1.5px; background:#f0b04a;}
.rodape-linha--1{left:381px; top:20px; height:57px;}
.rodape-linha--2{left:629px; top:23px; height:47px;}
.rodape-recado{position:absolute; left:451px; top:31px; font-family:var(--manuscrita); font-size:14px; line-height:1.15; color:#fff; white-space:nowrap; transform:rotate(-10deg); transform-origin:0 0;}
.rodape-recado svg{position:absolute; left:92px; top:30px; width:20px; height:24px; fill:none; stroke:#ffb61a; stroke-width:2; stroke-linecap:round; transform:rotate(10deg);}
.rodape-redes{position:absolute; left:697px; top:22px; width:160px;}
.rodape-icones{display:flex; gap:17px; margin-left:32px;}
.rodape-icones a{display:block; width:16px; height:16px; color:#fff;}
.rodape-icones .ic{width:16px; height:16px;}
.rodape-icones a:hover, .rodape-handle:hover{color:#ffd24a;}
.rodape-handle{display:block; margin-top:11.9px; font-weight:500; font-size:14.22px; letter-spacing:.3px; color:#fff; white-space:nowrap;}

/* ================= GALERIA (pop-up do portfólio) ================= */
.galeria{position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:24px;
  font-family:var(--sans); line-height:1.4; opacity:0; transition:opacity .2s ease;}
.galeria[hidden]{display:none;}
.galeria.aberta{opacity:1;}
.galeria-fundo{position:absolute; inset:0; background:rgba(40,0,18,.82); backdrop-filter:blur(4px);}
.galeria-caixa{position:relative; width:min(960px, 100%); max-height:100%; display:flex; flex-direction:column; border-radius:18px; overflow:hidden;
  background:#fffaf3; box-shadow:0 30px 80px -20px rgba(0,0,0,.6); transform:translateY(12px) scale(.98); transition:transform .25s ease;}
.galeria.aberta .galeria-caixa{transform:none;}
.galeria-topo{display:flex; align-items:center; gap:14px; padding:16px 18px 16px 24px; background:#c4004f; color:#fff;}
.galeria-topo h3{flex:1; font-family:var(--serif); font-weight:400; font-size:28px; line-height:1.1;}
.galeria-topo small{display:block; font-family:var(--sans); font-size:13px; opacity:.8; margin-top:2px;}
.galeria-fechar{width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.16); color:#fff; font-size:26px; line-height:1; cursor:pointer;}
.galeria-fechar:hover{background:rgba(255,255,255,.28);}
.galeria-palco{position:relative; display:flex; align-items:center; justify-content:center; background:#1c0610; min-height:200px; height:min(62vh, 560px); user-select:none;}
.galeria-palco img{max-width:100%; max-height:100%; object-fit:contain; display:block;}
.galeria-seta{position:absolute; top:50%; width:48px; height:48px; margin-top:-24px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.9); color:#9b154a; box-shadow:0 6px 16px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center;}
.galeria-seta svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;}
.galeria-seta--ant{left:14px;} .galeria-seta--ant svg{transform:scaleX(-1);}
.galeria-seta--prox{right:14px;}
.galeria-seta[hidden]{display:none;}
.galeria-legenda{padding:12px 24px 0; min-height:12px; color:#413e40; font-size:15px;}
.galeria-rodape{display:flex; align-items:center; gap:14px; padding:12px 18px 18px 24px;}
.galeria-miniaturas{flex:1; display:flex; gap:8px; overflow-x:auto; padding:4px 2px; scrollbar-width:thin;}
.galeria-miniaturas[hidden]{display:none;}
.galeria-miniaturas button{flex:0 0 auto; width:64px; height:64px; padding:0; border:3px solid transparent; border-radius:10px; overflow:hidden; cursor:pointer; background:#eee; opacity:.65;}
.galeria-miniaturas button img{width:100%; height:100%; object-fit:cover; display:block;}
.galeria-miniaturas button.atual{border-color:#e0045f; opacity:1;}
.galeria-link{flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px; background:#fdb507; color:#3e2a00; font-weight:700; font-size:14px;}
.galeria-link[hidden]{display:none;}
.galeria-link svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8;}
.galeria-pe{display:flex; justify-content:flex-end; padding:0 18px 18px;}
.galeria-pe[hidden], .galeria-videos[hidden], .galeria-fotos[hidden], .galeria-abas[hidden], .ig-player[hidden], .ig-grade[hidden]{display:none;}
.galeria-caixa{overflow:hidden;}
.galeria-videos, .galeria-fotos{flex:1 1 auto; min-height:0; overflow:auto;}
.galeria-abas{display:flex; gap:6px; padding:12px 20px 0; background:#fffaf3;}
.galeria-abas button{padding:9px 16px; border:0; border-radius:999px; background:#f3e6ea; color:#6f3a4f; font:600 14px var(--sans); cursor:pointer;}
.galeria-abas button[aria-selected="true"]{background:#c4004f; color:#fff;}

/* grade de conteúdos do Instagram */
.ig-grade{display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:14px; padding:18px 20px 8px;}
.ig-card{position:relative; display:block; padding:0; border:0; border-radius:14px; overflow:hidden; cursor:pointer; text-align:left; font:inherit;
  aspect-ratio:4/5; background:linear-gradient(135deg, #feda75, #fa7e1e 25%, #d62976 55%, #962fbf 80%, #4f5bd5); box-shadow:0 10px 20px -12px rgba(60,0,25,.6);}
.ig-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.ig-card:hover img, .ig-card:focus-visible img{transform:scale(1.05);}
.ig-card:focus-visible{outline:3px solid #ffd24a; outline-offset:3px;}
.ig-card::after{content:""; position:absolute; inset:0; background:linear-gradient(transparent 45%, rgba(20,0,10,.75));}
.ig-card-sem-capa{position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:center; padding-top:16%; color:#fff;}
.ig-card-sem-capa svg{width:54px; height:54px; fill:none; stroke:currentColor; stroke-width:1.6; opacity:.9;}
.ig-play{position:absolute; left:50%; top:45%; z-index:2; width:52px; height:52px; margin:-26px 0 0 -26px; border-radius:50%;
  background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(0,0,0,.35); transition:transform .2s;}
.ig-play svg{width:22px; height:22px; margin-left:3px; fill:#c4004f;}
.ig-card:hover .ig-play{transform:scale(1.1);}
.ig-tipo{position:absolute; top:10px; left:10px; z-index:2; padding:3px 9px; border-radius:999px; background:rgba(20,0,10,.6); color:#fff; font:600 11px var(--sans); letter-spacing:.04em;}
.ig-titulo{position:absolute; left:12px; right:12px; bottom:10px; z-index:2; color:#fff; font:600 13px/1.3 var(--sans);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

/* player */
.ig-player{display:flex; flex-direction:column; min-height:0;}
.ig-player-barra{display:flex; align-items:center; gap:12px; padding:12px 20px; border-bottom:1px solid #f0e2e7;}
.ig-voltar{padding:8px 14px; border:1.5px solid #e8d6dd; border-radius:999px; background:#fff; color:#6f3a4f; font:600 14px var(--sans); cursor:pointer;}
.ig-voltar:hover{border-color:#c4004f; color:#c4004f;}
.ig-player-pos{flex:1; color:#8a7580; font-size:13px;}
.ig-abrir{display:inline-flex; align-items:center; gap:7px; color:#c4004f; font-weight:700; font-size:14px;}
.ig-abrir svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8;}
.ig-player-palco{position:relative; display:flex; justify-content:center; padding:16px 70px 20px; background:#f7eef1; overflow:auto; max-height:min(72vh, 760px);}
.ig-player-palco iframe{width:min(420px, 100%); height:640px; border:0; border-radius:12px; background:#fff; box-shadow:0 12px 30px -16px rgba(60,0,25,.5);}
.ig-player-palco .galeria-seta{position:sticky; top:45%; margin-top:0; flex:0 0 auto;}
.ig-player-palco .galeria-seta--ant{order:-1; margin-right:14px;}
.ig-player-palco .galeria-seta--prox{margin-left:14px;}
body.sem-rolagem{overflow:hidden;}
@media (max-width: 720px){
  .galeria{padding:0;}
  .galeria-caixa{height:100%; border-radius:0;}
  .galeria-topo h3{font-size:24px;}
  .galeria-palco{flex:1; height:auto;}
  .galeria-seta{width:40px; height:40px; margin-top:-20px;}
  .galeria-rodape{flex-direction:column; align-items:stretch;}
  .galeria-link{justify-content:center; width:100%;}
  .galeria-pe{padding:0 14px 14px;}
  .ig-grade{grid-template-columns:repeat(2, 1fr); gap:10px; padding:14px;}
  .ig-player-barra{padding:10px 12px; gap:8px;}
  .ig-player-pos{display:none;}
  .ig-player-palco{padding:10px 0 14px; max-height:none; flex:1;}
  .ig-player-palco iframe{width:100%; border-radius:0; height:600px;}
  .ig-player-palco .galeria-seta{position:absolute; top:40%; z-index:2;}
  .ig-player-palco .galeria-seta--ant{left:6px; margin:0;}
  .ig-player-palco .galeria-seta--prox{right:6px; margin:0;}
}

/* ================= CELULAR ================= */
@media (max-width: 720px){
  .site{width:100%; zoom:1;}

  /* cabeçalho */
  .topo{position:absolute; top:0; left:0; right:0; height:64px; width:auto; display:flex; align-items:center; justify-content:space-between; padding:0 14px 0 16px;}
  .topo .marca{position:relative; left:0; top:0; transform:scale(.56); transform-origin:0 50%; width:275px; height:82px; margin-right:-121px;}
  .btn-topo{display:none;}
  .menu-abrir{display:flex; position:relative; z-index:30; flex-direction:column; gap:5px; background:rgba(0,0,0,.12); border:0; border-radius:10px; padding:11px 9px; cursor:pointer;}
  .menu-abrir span{width:22px; height:2px; background:#fff; border-radius:2px; transition:.25s;}
  .menu-abrir[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-abrir[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .menu-abrir[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .menu{position:fixed; top:0; right:0; bottom:0; width:78%; max-width:320px; flex-direction:column; gap:0; padding:86px 26px 26px;
    background:#8f0039; box-shadow:-12px 0 30px rgba(0,0,0,.25); transform:translateX(105%); transition:transform .3s ease; z-index:20;}
  .menu.aberto{transform:none;}
  .menu a{display:block; padding:15px 0; font-size:17px; border-bottom:1px solid rgba(255,255,255,.15);}
  .menu a.ativo{color:#ffd24a;}
  .menu a.ativo::after{display:none;}

  /* banner: foto em destaque e o texto entrando por cima do fim dela */
  .banner{height:auto; padding:58px 20px 40px; display:flex; flex-direction:column; background-size:cover; background-position:62% top; overflow:hidden;}
  .banner-foto{order:1; position:relative; left:0; top:0; width:calc(100% + 40px); max-width:none; height:auto; margin:0 -20px;
    -webkit-mask-image:linear-gradient(#000 68%, transparent 97%); mask-image:linear-gradient(#000 68%, transparent 97%);}
  .banner-recado{display:block; left:auto; right:26px; top:92px; font-size:16px; line-height:1.2; text-shadow:0 2px 10px rgba(80,0,30,.45); transform:rotate(-12deg); transform-origin:100% 0; text-align:right;}
  .banner-recado-traco, .banner-recado-coracao{display:none;}
  .banner-texto{order:2; position:relative; z-index:3; left:0; top:0; width:auto; margin-top:-96px;}
  .selo{font-size:11.5px; letter-spacing:2px; height:25px; padding-top:7px;}
  .banner-titulo{margin-top:10px; font-size:40px; line-height:41px; text-shadow:0 3px 18px rgba(90,0,35,.35);}
  .banner-destaque{font-size:35px; margin:6px 0 0;}
  .banner-destaque svg{display:none;}
  .banner-lead{margin:16px 0 0; font-size:16px; line-height:24px;}
  .banner-lead br{display:none;}
  .btn-amarelo{display:flex; justify-content:center; width:100%; height:52px; margin:22px 0 0; border-radius:26px; font-size:15px;}
  .banner-local{justify-content:center; margin:18px 0 0; font-size:14px;}
  .banner-local-traco{display:none;}

  /* faixa */
  .faixa{height:auto; padding:16px 12px;}
  .faixa p{position:static; font-size:23px; line-height:1.1;}
  .faixa-orn{display:none;}

  .sobre, .servicos, .portfolio, .contato, .rodape{height:auto;}
  .sobre{padding:32px 20px; display:flex; flex-direction:column; gap:24px;}
  .sobre-foto{position:relative; left:0; top:0; width:100%; max-width:332px; height:auto; margin:0 auto;}
  .sobre-texto, .sobre-recado{position:relative; left:0; top:0; width:auto;}
  .sobre-paragrafos p{font-size:15px; line-height:23px;}
  .sobre-paragrafos br, .servicos-lead br, .portfolio-lead br{display:none;}
  .sobre-recado{height:auto; padding:70px 20px 40px; text-align:center;}
  .sobre-recado-coracao{position:absolute; left:50%; margin-left:-22px; top:14px;}
  .sobre-recado p{position:static; transform:rotate(-6deg); white-space:normal;}
  .sobre-recado-traco{display:none;}
  .divisor{max-width:100%;}

  .servicos{padding:36px 20px; background-size:cover;}
  .servicos-texto, .servicos-lista{position:relative; left:0; top:0; width:auto;}
  .titulo--servicos{font-size:34px; line-height:34px;}
  .servicos-lead{font-size:15px; line-height:22px;}
  .servicos-lista{margin-top:24px; grid-template-columns:repeat(2, 1fr);}
  .servico{height:auto; min-height:120px; padding:10px 8px 20px;}
  .servico h3{font-size:13px; line-height:17px;}

  .portfolio{padding:36px 20px; background-size:cover;}
  .portfolio-texto, .portfolio-lista{position:relative; left:0; top:0; width:auto;}
  .titulo--portfolio{font-size:28px; line-height:30px;}
  .portfolio-lead{font-size:14px; line-height:20px;}
  .portfolio-lista{margin-top:24px; grid-template-columns:repeat(2, 1fr);}
  .trabalho-abrir{height:200px;}
  .trabalho-barra{font-size:13px; height:30px;}

  /* contato: dois botões separados */
  .contato{padding:40px 20px 34px; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; background:linear-gradient(#df015b 40px, #c9004f);}
  .contato::before{top:-6px; bottom:auto; height:84px; background-size:250% auto; background-position:center top;
    -webkit-mask-image:linear-gradient(#000 55%, transparent); mask-image:linear-gradient(#000 55%, transparent);}
  .contato > *{position:relative; z-index:1;}
  .contato-chamada, .contato-texto{left:0; top:0;}
  .contato-chamada{transform:rotate(-4deg); font-size:30px;}
  .contato-chamada br{display:none;}
  .contato-chamada svg{display:none;}
  .contato-texto{font-size:15px; line-height:22px; white-space:normal;}
  .contato-texto br{display:none;}
  .contato-pilula{position:relative; left:0; top:0; display:flex; flex-direction:column; gap:10px; width:100%; max-width:340px; height:auto; margin-top:6px; background:none; box-shadow:none;}
  .contato-pilula a, .contato-pilula a:first-child, .contato-pilula a:last-child{position:static; width:100%; height:50px; padding:0 18px; gap:10px; justify-content:center; border-radius:25px;}
  .contato-pilula a:first-child{background:var(--amarelo); box-shadow:0 8px 16px -10px rgba(60,0,20,.7);}
  .contato-pilula a:last-child{background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.45);}
  .contato-pilula a:last-child .ic{color:#fff;}
  .contato-rotulo{font-size:12.5px; letter-spacing:1.6px;}
  .contato-handle{font-size:14px; color:#fff;}
  .contato-barra{display:none;}

  /* rodapé: padrão geométrico como faixa estreita à direita */
  .rodape{padding:36px 20px 32px; display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;
    background:#a80548 var(--fundo-rodape, none) left top/auto 100% no-repeat;}
  .rodape::after{content:""; position:absolute; right:0; top:0; width:58px; height:180px; pointer-events:none;
    background:var(--fundo-padrao-rodape, none) right top/100% auto repeat-y;
    -webkit-mask-image:linear-gradient(#000 55%, transparent); mask-image:linear-gradient(#000 55%, transparent);}
  .rodape > *{translate:none;}
  .marca--rodape{position:relative; left:0; top:0; width:275px; height:82px; transform:scale(.72); transform-origin:50% 0; margin-bottom:-22px;}
  .rodape-linha{display:none;}
  .rodape-recado{position:relative; left:0; top:0; transform:rotate(-4deg); font-size:19px; line-height:1.25; white-space:normal;}
  .rodape-recado svg{display:inline-block; position:static; width:18px; height:20px; margin-left:4px; vertical-align:-3px; transform:none;}
  .rodape-redes{position:relative; left:0; top:0; width:auto; display:flex; flex-direction:column; align-items:center; gap:12px;}
  .rodape-icones{margin-left:0; justify-content:center; gap:14px;}
  .rodape-icones a{display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(255,255,255,.4);}
  .rodape-icones .ic{width:20px; height:20px;}
  .rodape-handle{margin-top:0; font-size:15px;}
}
