/*
Theme Name: Shinecom
Description: Tema institucional editável da Shinecom Comunicação Total.
Version: 1.2.7
Requires PHP: 7.4
Text Domain: shinecom
*/

:root{--black:#171717;--red:#F04432;--yellow:#F9BB32;--cream:#FFF3D6;--blue:#4554D9;--green:#B9C64A;--bg:var(--cream);--ink:var(--black);--line:rgba(22,22,22,.18);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171717;--ink:#FFF3D6;--line:rgba(255,243,214,.2);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#171717;--ink:#FFF3D6;--line:rgba(255,243,214,.2);color-scheme:dark}
html{scroll-padding-top:5rem;scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"itc-avant-garde-gothic-pro","ITC Avant Garde Gothic Pro","Avant Garde","Jost","Century Gothic",sans-serif;line-height:1.55;font-size:1.0625rem;overflow-x:hidden}
a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-weight:800;line-height:1;letter-spacing:-.025em;margin:0;text-transform:lowercase}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.sec{padding:clamp(3.5rem,8vw,7rem) 0}
.sec>.wrap>h2{font-size:clamp(2.3rem,6vw,4.6rem)}
.lead{max-width:36rem;margin:1.2rem 0 2.2rem}
.btn{display:inline-block;border:0;background:var(--red);color:var(--black);font-weight:800;text-decoration:none;padding:.9rem 1.7rem;border-radius:999px;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.btn:hover{transform:scale(1.07) rotate(-1.5deg)}
.btn.alt{background:var(--black);color:var(--cream)}
#bar{position:fixed;left:0;top:0;height:5px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%;z-index:60}
#intro{position:fixed;inset:0;background:var(--red);z-index:80;display:grid;place-items:center;transition:transform .8s cubic-bezier(.7,0,.2,1) .5s}
#intro svg{width:90px;color:var(--cream);animation:sp 1.1s cubic-bezier(.5,0,.2,1) both}
#intro.go{transform:translateY(-101%)}
@keyframes sp{from{transform:rotate(-240deg) scale(.2)}to{transform:none}}
.cur{position:fixed;left:0;top:0;width:26px;height:26px;border:3px solid var(--red);border-radius:50%;pointer-events:none;z-index:70;transition:width .2s,height .2s,background .2s,margin .2s;margin:-13px 0 0 -13px;display:none}
.cur.big{width:60px;height:60px;margin:-30px 0 0 -30px;background:rgba(240,70,51,.25)}
@media(pointer:fine){.cur{display:block}}

header{position:sticky;top:0;z-index:50;padding:.9rem 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.mark{display:inline-flex;align-items:center;font-weight:800;letter-spacing:-.04em;line-height:1;text-decoration:none;font-size:1.8rem}
.mark .o{width:.78em;height:.78em;border-radius:50%;background:var(--red);margin:0 .02em;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.mark:hover .o{transform:translateX(.12em) scale(1.2)}
.mark svg{width:.55em;height:.55em;color:var(--red);align-self:flex-start;margin-left:.04em}
nav{display:flex;align-items:center;gap:clamp(.9rem,3vw,2rem);font-weight:500}
nav a{text-decoration:none;position:relative}
nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;border-radius:3px;background:var(--red);transform:scaleX(0);transition:transform .25s}
nav a:not(.btn):hover::after,nav a.on::after{transform:scaleX(1)}
nav .btn{padding:.55rem 1.1rem}
@media(max-width:700px){nav{gap:.8rem;font-size:.95rem}nav .btn{display:none}}

.hero{padding:clamp(2rem,6vw,4.5rem) 0 clamp(2.5rem,6vw,5rem)}
.hero .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center}
.hero h1{font-size:clamp(3rem,9vw,7.4rem)}
.hero h1 span{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 b{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.9,.2,1)}
body.ready .hero h1 b{transform:none}
.hero h1 span:nth-child(2) b{transition-delay:.12s}
.hero p{max-width:33rem;font-size:1.2rem;margin:1.6rem 0 2rem}
.shapes{position:relative;aspect-ratio:1/1.05}
.shapes>*{position:absolute;transition:transform .25s ease-out}
.s1{width:46%;aspect-ratio:1;border-radius:50%;background:var(--red);left:4%;top:14%;transform:translate(calc(var(--mx,0)*30px),calc(var(--my,0)*30px))}
.s2{width:78%;height:19%;border-radius:999px;background:var(--blue);right:0;top:2%;transform:translate(calc(var(--mx,0)*-20px),calc(var(--my,0)*-14px))}
.s3{display:flex;left:0;bottom:6%;width:70%;transform:translate(calc(var(--mx,0)*18px),calc(var(--my,0)*-22px))}
.s3 i{flex:1;aspect-ratio:1;border-radius:50%;background:var(--green);margin-right:-12%}
.s4{width:48%;right:0;bottom:16%;color:var(--yellow);transform:translate(calc(var(--mx,0)*-26px),calc(var(--my,0)*20px))}
.s4 svg{width:100%;display:block;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.shapes{max-width:340px}}

.marq{background:var(--black);color:var(--cream);overflow:hidden;white-space:nowrap;padding:1rem 0;transform:rotate(-1.4deg);margin:1rem -2vw}
.marq div{display:inline-flex;gap:2.5rem;animation:mq 28s linear infinite;font-weight:800;font-size:clamp(1.3rem,3vw,2rem);text-transform:lowercase}
.marq:hover div{animation-play-state:paused}
.marq svg{width:1em;height:1em;color:var(--red);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

.svc{list-style:none;margin:2rem 0 0;padding:0;border-top:2px solid var(--line)}
.svc li{border-bottom:2px solid var(--line);transition:background .3s,color .3s}
.svc button{width:100%;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:1.2rem;background:none;border:0;text-align:left;padding:1.4rem .5rem}
.svc h3{font-size:clamp(1.7rem,4.5vw,3.2rem)}
.svc .ic{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--c);transition:border-radius .35s,transform .35s}
.svc li:hover .ic,.svc li.open .ic{border-radius:30%;transform:rotate(45deg) scale(1.1)}
.svc .pl{font-size:2rem;font-weight:800;transition:transform .3s}
.svc li.open .pl{transform:rotate(45deg)}
.svc .d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}
.svc li.open .d{grid-template-rows:1fr}
.svc .d p{overflow:hidden;margin:0;padding:0 .5rem 0 4.4rem;max-width:42rem}
.svc li.open .d p{padding-bottom:1.6rem}
.svc li:hover,.svc li.open{background:var(--c);color:var(--black)}
.svc li[data-k=b]:hover,.svc li[data-k=b].open{color:var(--cream)}

.pf{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tile{border:0;text-align:left;padding:1.4rem;aspect-ratio:1/1;min-height:0;border-radius:2.4rem;background:var(--c);color:var(--black);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;animation:pop .5s cubic-bezier(.3,1.4,.5,1) both;transition:transform .3s,border-radius .3s}
.tile:hover{transform:translateY(-6px) rotate(-1deg)}
.tile[data-k=b],.tile[data-k=k]{color:var(--cream)}
.tile .art{position:absolute;right:-12%;top:-8%;width:62%;aspect-ratio:1;background:rgba(255,255,255,.28);transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
.tile:hover .art{transform:rotate(90deg) scale(1.15)}
.art.circle{border-radius:50%}.art.pill{border-radius:999px;height:28%;aspect-ratio:auto;width:90%;top:8%}.art.ast{background:none;color:rgba(255,255,255,.4)}.art.sq{border-radius:28%}
.tile h3{font-size:1.9rem;position:relative}.tile span{position:relative;font-weight:500}
@keyframes pop{from{opacity:0;transform:scale(.85)}}
@media(max-width:820px){.pf{grid-template-columns:1fr 1fr}}@media(max-width:520px){.pf{grid-template-columns:1fr}}

.ed{margin-top:2.5rem;padding:1.6rem;border:3px dashed var(--ink);border-radius:2rem;display:none}
.ed.show{display:block}.ed h3{font-size:1.6rem;margin-bottom:1rem}
.ed input,.ed textarea,.ed select{display:block;width:100%;margin:0 0 .8rem;padding:.8rem 1rem;border:2px solid var(--ink);border-radius:1rem;background:var(--bg);color:var(--ink);font:inherit}
.ed textarea{min-height:170px}
.note{font-size:.9rem;opacity:.75;margin:.6rem 0 0}

.about{background:var(--black);color:var(--cream);border-radius:clamp(2rem,5vw,4rem)}
.about h2{font-size:clamp(2.6rem,8vw,6.2rem)!important;max-width:15ch}.about em{font-style:normal;color:var(--yellow)}
.about .cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem;max-width:56rem}.about p{margin:0}
@media(max-width:700px){.about .cols{grid-template-columns:1fr}}
.box{background:var(--blue);color:var(--cream);border-radius:clamp(2rem,5vw,4rem);padding:clamp(2rem,6vw,5rem);position:relative;overflow:hidden}
.box>*{position:relative}.box h2{font-size:clamp(2.4rem,7vw,5.5rem)}.box p{max-width:30rem;margin:1.2rem 0 2rem}
.box .star{position:absolute;width:clamp(120px,22vw,260px);right:-20px;top:-20px;color:var(--red);animation:spin 18s linear infinite}
.info{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin-top:2rem;font-weight:500}
footer{padding:2rem 0 3rem}footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem}footer .mark{font-size:1.4rem}

.rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s cubic-bezier(.2,.9,.2,1)}.rv.in{opacity:1;transform:none}
.wa{position:fixed;right:max(1rem,env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:55;display:flex;align-items:center;gap:.6rem;background:var(--green);color:var(--black);font-weight:800;text-decoration:none;padding:.8rem 1.3rem .8rem 1rem;border-radius:999px;box-shadow:0 6px 22px rgba(0,0,0,.28);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.wa:hover{transform:scale(1.07) rotate(-2deg)}
.wa svg{width:1.7rem;height:1.7rem;flex:none}
.wa::after{content:"";position:absolute;inset:0;border-radius:999px;border:3px solid var(--green);animation:wp 2.4s ease-out infinite;pointer-events:none}
@keyframes wp{from{transform:scale(1);opacity:.9}to{transform:scale(1.35,1.6);opacity:0}}
@media(max-width:520px){.wa span{display:none}.wa{padding:.85rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv{opacity:1;transform:none}.hero h1 b{transform:none}#intro{display:none}}
.quiz{background:var(--yellow);color:var(--black);border-radius:clamp(2rem,5vw,4rem);padding:clamp(2rem,5vw,4rem)}
.quiz h2{font-size:clamp(2rem,5vw,3.6rem)}.quiz h3{font-size:2rem;margin-bottom:.6rem}.quiz p{margin:0 0 1rem;max-width:34rem}
.opts{display:grid;gap:.7rem;margin:1.2rem 0;max-width:34rem}
.opt{background:var(--cream);border:3px solid var(--black);border-radius:999px;padding:.8rem 1.3rem;text-align:left;font-weight:500;color:var(--black);transition:transform .2s}.opt:hover{transform:translateX(8px) rotate(-.5deg)}
.qbar{height:8px;border-radius:8px;background:rgba(22,22,22,.2);max-width:34rem}.qbar i{display:block;height:100%;width:0;background:var(--black);border-radius:8px;transition:width .4s}
.strip{overflow:hidden;white-space:nowrap;margin:2rem 0}.strip div{display:inline-flex;gap:1rem;animation:mq 36s linear infinite}.strip:hover div{animation-play-state:paused}
.lgo{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.6rem;border:2px solid var(--ink);border-radius:999px;font-weight:800;font-size:1.2rem}.lgo i{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--c)}
.tm{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tm figure{margin:0;padding:1.8rem;border-radius:2rem;background:var(--c);color:var(--black);display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem}
.tm figure:nth-child(2){border-radius:2rem 2rem 6rem 2rem}.tm[data-x] figure[data-k=b]{color:var(--cream)}.tm blockquote{margin:0;font-size:1.15rem;font-weight:500}.tm figcaption{font-weight:800}.tm figcaption small{display:block;font-weight:400}
@media(max-width:820px){.tm{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:600px){.two{grid-template-columns:1fr}}
.fm{max-width:720px}.fm input,.fm select,.fm textarea,.nl input{display:block;width:100%;margin:0 0 .8rem;padding:.8rem 1rem;border:2px solid var(--ink);border-radius:1rem;background:var(--bg);color:var(--ink);font:inherit}.fm textarea{min-height:130px}
#inbox ul{margin:.4rem 0 1rem;padding-left:1.2rem}
.logo{display:inline-flex;line-height:0}.logo img{height:2.3rem;width:auto;display:block;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}.logo:hover img{transform:rotate(-2deg) scale(1.05)}.logo.foot img{height:3.4rem}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:invert(1) hue-rotate(180deg)}}
:root[data-theme="dark"] .logo img{filter:invert(1) hue-rotate(180deg)}
@media(max-width:700px){.logo img{height:1.9rem}}
.cp{position:fixed;inset:0;z-index:65;background:var(--bg);color:var(--ink);overflow:auto;transform:translateY(100%);visibility:hidden;transition:transform .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s;padding-bottom:3rem}
.cp.on{transform:none;visibility:visible;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.back{position:fixed;top:calc(1rem + env(safe-area-inset-top,0px));left:1rem;z-index:3;border:0;background:var(--black);color:var(--cream);font-weight:800;border-radius:999px;padding:.7rem 1.3rem}
.ch{background:var(--c);color:var(--black);padding:6rem clamp(1.25rem,6vw,5rem) clamp(2.5rem,6vw,4.5rem);margin-bottom:2.5rem;border-radius:0 0 clamp(2rem,5vw,4rem) clamp(2rem,5vw,4rem)}
.cp[data-k=b] .ch,.cp[data-k=k] .ch{color:var(--cream)}
.ch h2{font-size:clamp(2.6rem,9vw,7rem);margin:.6rem 0 1rem}.ch p{max-width:40rem;font-size:1.2rem;margin:0}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0 0 3rem}.cols3 h3{font-size:1.6rem;margin-bottom:.6rem}.cols3 p{margin:0}
@media(max-width:760px){.cols3{grid-template-columns:1fr}}
.gh{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1.5rem}
#gal{columns:3 260px;column-gap:1rem}#gal figure{margin:0 0 1rem;break-inside:avoid;position:relative;border-radius:1.5rem;overflow:hidden;background:var(--line)}#gal img,#gal video{width:100%;display:block}#gal figcaption{padding:.6rem 1rem;font-size:.95rem}
.del{position:absolute;top:.6rem;right:.6rem;width:2.2rem;height:2.2rem;border-radius:50%;border:0;background:var(--red);color:var(--black);font-weight:800}
.cta{margin:3rem 0 2rem;display:flex;gap:.8rem;flex-wrap:wrap}.wa{z-index:66}

/* Direção editorial e ajustes de acessibilidade */
[hidden]{display:none!important}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.skip{position:fixed;top:1rem;left:1rem;z-index:100;padding:.7rem 1rem;background:var(--black);color:var(--cream);transform:translateY(-180%)}
.skip:focus{transform:none}
.wrap{max-width:1440px;padding-inline:clamp(1.2rem,5vw,5rem)}
header{border-bottom:1px solid var(--line)}
.hero{padding:clamp(3.5rem,9vw,8rem) 0 clamp(3rem,7vw,6rem)}
.hero .wrap{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem)}
.hero h1{font-size:clamp(3rem,8.25vw,8.8rem);letter-spacing:-.075em}
.hero h1 span:last-child{color:var(--blue)}
.hero .edition{margin:0 0 1.5rem;display:flex;justify-content:space-between;gap:.5rem;max-width:34rem;border-top:1px solid var(--ink);padding-top:.7rem;font-size:.72rem;font-weight:800;letter-spacing:.14em}
.hero .btn{margin:0 .3rem .6rem 0}
.shapes{isolation:isolate;max-width:none;width:100%;aspect-ratio:1}
.shapes::before{content:"";position:absolute;inset:4% 1%;background:var(--blue);border-radius:28% 28% 48% 28%;transform:rotate(-8deg)}
.s1{left:11%;top:15%;width:56%}
.s2{background:var(--cream);width:43%;height:14%;right:6%;top:21%;rotate:-36deg}
.s3{left:12%;bottom:11%;width:52%}.s3 i{background:var(--yellow)}
.s4{width:44%;bottom:8%;right:5%;color:var(--green)}
.marq{transform:none;margin:0;position:relative;padding-block:1.1rem 2.3rem}
#motion{position:absolute;bottom:.35rem;right:1rem;background:var(--black);color:var(--cream);border:1px solid currentColor;border-radius:999px;font-size:.72rem;padding:.15rem .65rem}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
.motion-paused .shapes>*{transform:none}
.cur:not(.visible),.motion-paused .cur{display:none}
#servicos{border-bottom:1px solid var(--line)}
#portfolio{background:var(--black);color:var(--cream);--ink:var(--cream);--bg:var(--black)}
.pf{grid-template-columns:repeat(6,minmax(0,1fr))}
.tile{grid-column:span 2;aspect-ratio:1.2;border-radius:1.5rem;padding:clamp(1rem,2vw,1.6rem);justify-content:space-between}
.tile:nth-child(5n+1),.tile:nth-child(5n+2){grid-column:span 3;aspect-ratio:1.65}
.tile:nth-child(5n+1){border-bottom-right-radius:30%}
.tile[data-k=k]{border:1px solid var(--cream)}
.tile h3{font-size:clamp(1.65rem,3.8vw,4rem);letter-spacing:-.06em;margin-top:auto;padding-top:1rem;padding-right:1.8rem}
.tile>span{font-size:.78rem;background:var(--black);color:var(--cream);border-radius:999px;padding:.3rem .65rem;align-self:flex-start}
.ch{padding-top:6.2rem}.cp .back{position:sticky;margin:1rem 0 -4rem}
#clientes .note{margin-bottom:1.25rem}
#brief-output{margin-top:1rem}
.wa{z-index:45}.wa::after{animation:none}
.rv:focus-within{opacity:1;transform:none}
@media(max-width:900px){.hero h1{font-size:clamp(2.8rem,8.6vw,5.2rem)}}
@media(max-width:700px){
 header .wrap{flex-wrap:wrap;gap:.65rem}
 nav{flex-wrap:wrap;gap:.4rem .8rem}nav .btn{display:inline-block;padding:.35rem .7rem}
 html{scroll-padding-top:8rem}
 .hero .wrap{grid-template-columns:minmax(0,1fr)}.hero h1{font-size:clamp(2.6rem,12vw,5.4rem)}
 .hero .shapes{max-width:360px;margin:1rem auto 0}
 .pf{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pf .tile{grid-column:auto;aspect-ratio:1.1}
}
@media(max-width:450px){.pf{grid-template-columns:minmax(0,1fr)}.pf .tile{aspect-ratio:1.45}.svc button{grid-template-columns:2.2rem 1fr auto;gap:.7rem}.svc .ic{width:1.8rem;height:1.8rem}.svc .d p{padding-left:2.9rem}.box .btn{margin-bottom:.6rem}}
@media(prefers-reduced-motion:reduce){#motion,.cur{display:none!important}.shapes>*{transform:none}}

.journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding-bottom:clamp(1.6rem,4vw,3rem)}
.journey a{position:relative;display:grid;gap:.45rem;border:1px solid var(--ink);border-radius:1rem;padding:1rem 2.8rem 1rem 1.15rem;text-decoration:none;transition:background .25s,color .25s}
.journey a:hover,.journey a:focus-visible{background:var(--blue);color:var(--cream)}
.journey small{font-size:.68rem;letter-spacing:.13em;font-weight:800}
.journey strong{font-size:clamp(1rem,1.65vw,1.35rem);line-height:1.2}
.journey span{position:absolute;top:.85rem;right:1rem;font-size:1.3rem;transition:transform .25s}
.journey a:hover span{transform:translate(3px,-3px)}
.footer-links{padding-top:1rem;border-top:1px solid var(--line)}
.svc .d{visibility:hidden;transition:grid-template-rows .4s,visibility 0s .4s}
.svc li.open .d{visibility:visible;transition-delay:0s}
.svc .d p a{display:block;width:fit-content;margin-top:.55rem;font-weight:800}
.wa{padding:.72rem 1.1rem;gap:.55rem}
.wa span{display:inline;font-size:.9rem}
.wa::after{animation:contact-ring 4s ease-out 3;opacity:0}
.wa:hover,.wa:focus-visible{animation:contact-nudge .55s ease both}
@keyframes contact-ring{0%,72%{opacity:0;transform:scale(1)}75%{opacity:.75}100%{opacity:0;transform:scale(1.19,1.5)}}
@keyframes contact-nudge{30%{transform:rotate(-13deg)}65%{transform:rotate(9deg)}}
@media(max-width:680px){.journey{grid-template-columns:1fr}.journey a{grid-template-columns:minmax(6rem,.6fr) 1fr;align-items:center}.wa{right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}footer{padding-bottom:5rem}}

body.admin-bar header{top:var(--wp-admin--admin-bar--height,32px)}
.tile-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile:has(.tile-cover) h3{color:#fff;text-shadow:0 1px 6px #000;background:#171717e8}
.shine-inner img{max-width:100%;height:auto}
.shine-inner .wp-block-gallery{margin-inline:0}

.shine-clients{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0;padding:0;list-style:none}
.shine-clients .lgo{display:flex;gap:.75rem}
.shine-clients img{width:auto;height:auto;max-width:7rem;max-height:2.8rem;object-fit:contain}
#clientes .tm{margin-top:2rem}
#clientes .tm figure{background:var(--yellow)}
#clientes .tm figure:nth-child(3n+2){background:var(--blue);color:var(--cream)}
#clientes .tm figure:nth-child(3n){background:var(--green)}
#clientes blockquote p{margin:0 0 .65em}
#clientes blockquote p:last-child{margin-bottom:0}

#clientes .shine-social-empty{margin:1rem 0}
#clientes .shine-social-empty:empty{display:none}

/* ===== v1.2: páginas de projeto, clientes e depoimentos ===== */
.shine-inner .logo img{height:2.3rem;width:auto;max-width:none}
.shine-inner .logo.foot img{height:3.4rem}
@media(max-width:700px){.shine-inner .logo img{height:1.9rem}}

.pj-head{background:var(--c);color:var(--black);padding:clamp(2.2rem,5vw,4rem) 0 clamp(2.5rem,6vw,4.5rem);border-radius:0 0 clamp(2rem,5vw,4rem) clamp(2rem,5vw,4rem)}
.pj-head[data-k=b],.pj-head[data-k=k]{color:var(--cream)}
.pj-back{display:inline-block;margin-bottom:1.6rem;font-weight:800;text-decoration:none}
.pj-back:hover,.pj-back:focus-visible{text-decoration:underline;text-underline-offset:5px}
.pj-kind{display:inline-block;margin:0 0 1rem;padding:.3rem .8rem;border-radius:999px;background:var(--black);color:var(--cream);font-size:.8rem;font-weight:800}
.pj-head[data-k=k] .pj-kind{background:var(--cream);color:var(--black)}
.pj-head h1{font-size:clamp(2.8rem,9vw,7.4rem);letter-spacing:-.05em;overflow-wrap:anywhere}
.pj-lead{max-width:42rem;margin:1.2rem 0 0;font-size:1.2rem}
.pj-body{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,5vw,4rem)}
.pj-hero{margin:0 0 3rem;border-radius:2rem;overflow:hidden}
.pj-hero img{display:block;width:100%;height:auto}
.pj-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.5rem 2.5rem;margin:0 0 3.5rem}
.pj-cols h2{font-size:1.6rem;margin-bottom:.6rem}
.pj-cols p{margin:0;max-width:34rem}
.pj-sec{margin:0 0 3.5rem}
.pj-sec>h2{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1.5rem}
.shine-videos{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:700px){.shine-videos{grid-template-columns:1fr}}
.shine-video{aspect-ratio:16/9;border-radius:1.5rem;overflow:hidden;background:#000}
.shine-video iframe,.shine-video video{display:block;width:100%;height:100%;border:0}
.shine-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.shine-gal figure{margin:0;display:flex;flex-direction:column;border-radius:1.5rem;overflow:hidden;background:var(--line)}
.shine-gal a{display:block;aspect-ratio:4/5;overflow:hidden;cursor:zoom-in}
.shine-gal img,.shine-gal video{display:block;width:100%;height:100%;object-fit:cover}
.shine-gal a img{transition:transform .5s cubic-bezier(.2,.9,.2,1)}
.shine-gal a:hover img,.shine-gal a:focus-visible img{transform:scale(1.05)}
.shine-gal video{aspect-ratio:4/5;object-fit:contain;background:#000}
.shine-gal figcaption{padding:.6rem 1rem;font-size:.95rem}
@media(max-width:820px){.shine-gal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.shine-gal{gap:.6rem}.shine-gal figure{border-radius:1rem}}
.pj-content{max-width:none;width:100%;margin:0 0 3rem}
.pj-content>p,.pj-content>h2,.pj-content>h3,.pj-content>h4,.pj-content>ul,.pj-content>ol,.pj-content>blockquote{max-width:46rem}
.pj-content img,.pj-content video,.pj-content iframe{max-width:100%;height:auto}
.pj-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0 3rem}
.pj-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.pj-nav a{font-weight:800;text-decoration:none}
.pj-nav a:hover,.pj-nav a:focus-visible{text-decoration:underline;text-underline-offset:5px}

dialog.shine-lb{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:1rem;border:0;background:transparent;overflow:hidden}
dialog.shine-lb[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
dialog.shine-lb::backdrop{background:rgba(0,0,0,.9)}
.shine-lb img{max-width:100%;max-height:82vh;width:auto;height:auto;border-radius:1rem}
.shine-lb p{margin:.8rem 0 0;color:#fff;text-align:center}
.shine-lb button{position:fixed;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--cream);color:var(--black);font-size:1.6rem;line-height:1}
.shine-lb .lb-x{top:1rem;right:1rem}
.shine-lb .lb-p,.shine-lb .lb-n{top:50%;transform:translateY(-50%)}
.shine-lb .lb-p{left:1rem}
.shine-lb .lb-n{right:1rem}

.shine-clients .lgo{padding:0;overflow:hidden;background:var(--cream);color:var(--black);border-color:var(--black)}
.shine-clients .lgo-in{display:flex;align-items:center;gap:.75rem;min-height:3.6rem;padding:.7rem 1.4rem;color:inherit;text-decoration:none}
.shine-clients a.lgo-in{transition:transform .25s,background .25s}
.shine-clients a.lgo-in:hover,.shine-clients a.lgo-in:focus-visible{background:var(--yellow);transform:translateY(-3px)}
#clientes .tm{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.pj-back{display:block;width:fit-content}
.tile:has(.tile-cover) h3{width:fit-content;max-width:calc(100% - 3rem);padding:.15rem .7rem .25rem;border-radius:.7rem}
.cp .pj-about h3{font-size:1.6rem;margin-bottom:.6rem}
.pj-about{margin-bottom:3.5rem}
.pj-about .pj-content{margin-bottom:0}

/* v1.2.2 — fotos/vídeos colocados direto no editor ocupam toda a largura, em grade */
.pj-content .wp-block-gallery,.pj-content .blocks-gallery-grid,.pj-content .gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;max-width:none;margin:0 0 1.5rem;padding:0;list-style:none}
.pj-content .wp-block-gallery>figure,.pj-content .wp-block-gallery .blocks-gallery-item,.pj-content .gallery-item{width:auto!important;max-width:none!important;margin:0!important;flex:none!important;border-radius:1.5rem;overflow:hidden;background:var(--line)}
.pj-content .wp-block-gallery img,.pj-content .wp-block-gallery video,.pj-content .gallery img{display:block;width:100%!important;height:100%!important;aspect-ratio:4/5;object-fit:cover}
.pj-content figure.wp-block-image,.pj-content figure.wp-block-video,.pj-content .wp-block-embed{max-width:100%;width:100%;margin:0 0 1.5rem}
.pj-content figure.wp-block-image img,.pj-content .wp-block-video video{width:100%;height:auto;border-radius:1.5rem}
@media(max-width:820px){.pj-content .wp-block-gallery,.pj-content .blocks-gallery-grid,.pj-content .gallery{grid-template-columns:repeat(2,1fr)}}

/* v1.2.3 — logos dos clientes rodando em loop numa linha horizontal, sem contorno */
.shine-marquee{overflow:hidden;margin:2rem 0;padding:.5rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.shine-marquee .shine-clients{display:flex;flex-wrap:nowrap;gap:0;width:max-content;margin:0;animation:shine-logos 45s linear infinite}
.shine-marquee .shine-clients .lgo{flex:0 0 auto;margin-right:3.5rem;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.shine-marquee .shine-clients .lgo-in{min-height:0;padding:0}
.shine-marquee .shine-clients img{height:4rem;width:auto;max-width:none;max-height:none}
.shine-marquee .shine-clients a.lgo-in:hover,.shine-marquee .shine-clients a.lgo-in:focus-visible{background:transparent;transform:translateY(-3px)}
.shine-marquee:hover .shine-clients,.shine-marquee:focus-within .shine-clients{animation-play-state:paused}
@keyframes shine-logos{to{transform:translateX(-50%)}}
@media(max-width:640px){.shine-marquee .shine-clients img{height:3.2rem}.shine-marquee .shine-clients .lgo{margin-right:2.5rem}}
@media(prefers-reduced-motion:reduce){.shine-marquee{-webkit-mask-image:none;mask-image:none}.shine-marquee .shine-clients{flex-wrap:wrap;width:auto;justify-content:center;row-gap:1.5rem}.shine-marquee .shine-clients [aria-hidden="true"]{display:none}}
/* v1.2.4 — título da abertura acompanha a largura da coluna (evita corte em telas grandes) */
.hero .wrap>div:first-child{container-type:inline-size}
@supports(font-size:1cqi){.hero h1{font-size:min(8.8rem,14.5cqi)}}


/* v1.2.6 — fotos e vídeos dos projetos no formato original do upload (sem corte, sem distorção), cantos arredondados.
   Linhas de mesma altura: cada item ocupa a largura proporcional ao seu formato (--r = largura/altura). */
.shine-gal,.pj-content .wp-block-gallery,.pj-content .blocks-gallery-grid,.pj-content .gallery{--h:clamp(130px,24vw,340px);display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:1rem!important;grid-template-columns:none}
.shine-gal::after,.pj-content .wp-block-gallery::after,.pj-content .blocks-gallery-grid::after,.pj-content .gallery::after{content:"";flex:999 1 0;min-width:0}
.shine-gal>figure,.pj-content .wp-block-gallery>figure,.pj-content .wp-block-gallery .blocks-gallery-item,.pj-content .gallery-item{flex:var(--r,1) 1 calc(var(--r,1) * var(--h))!important;width:auto!important;max-width:100%!important;min-width:0!important;height:auto!important;margin:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-self:flex-start!important}
.shine-gal a,.pj-content .wp-block-gallery figure a,.pj-content .gallery-item a{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;flex:none!important}
.shine-gal img,.shine-gal video,.pj-content .wp-block-gallery img,.pj-content .wp-block-gallery video,.pj-content .gallery img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;aspect-ratio:var(--r,auto)!important;object-fit:cover!important;flex:none!important}
.shine-gal video{background:#000}
@media(max-width:480px){.shine-gal,.pj-content .wp-block-gallery,.pj-content .blocks-gallery-grid,.pj-content .gallery{gap:.6rem!important}}
/* v1.2.7 — com o JS ativo, as linhas fecham a largura toda (sem buracos no fim da galeria) */
.is-justified::after{display:none!important}
.pj-content .wp-block-gallery>.blocks-gallery-grid{width:100%}
