/* Direção visual 02 — precisão, profundidade e movimento discreto. */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
.header{transition:box-shadow .35s,background .35s;background:#17191bf5;backdrop-filter:blur(14px)}
.header.scrolled{box-shadow:0 8px 30px #0003}.header nav a{position:relative}.header nav a:not(.nav-contact):after{content:"";position:absolute;height:2px;bottom:-10px;left:0;right:0;transform:scaleX(0);transform-origin:left;background:#ef5e83;transition:transform .35s var(--ease)}
.header nav a[aria-current="location"]:after,.header nav a:hover:after{transform:scaleX(1)}
.button{position:relative;overflow:hidden;border-radius:3px;box-shadow:0 8px 25px #cc00331a;transition:background .3s,box-shadow .3s,transform .3s var(--ease)}
.button:hover{box-shadow:0 12px 30px #cc003338;transform:translateY(-3px)}.button span,.text-link span,.secondary-link span{transition:transform .3s var(--ease)}.button:hover span,.text-link:hover span,.secondary-link:hover span{transform:translate(3px,-3px)}
.eyebrow{gap:6px;margin-bottom:25px;height:10px}.eyebrow>span:first-child{width:36px}.eyebrow>span:nth-child(2){width:8px;height:8px;background:transparent;border:1px solid var(--red);transform:rotate(45deg)}.eyebrow>span:nth-child(3){width:6px;height:2px;opacity:.45}
.hero{position:relative;background:radial-gradient(ellipse at 85% 30%,#3b1823 0,transparent 49%),#17191b;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-grid{grid-template-columns:1.12fr 1fr;gap:65px;padding-top:75px;padding-bottom:110px;min-height:720px}.hero-copy{position:relative;z-index:3}
.hero h1{font-weight:550;font-size:clamp(42px,4.3vw,60px);line-height:1.13;letter-spacing:-.055em;margin-bottom:34px}.hero h1>span{position:relative;display:inline-block;color:#f2c0cc}.hero h1 svg{position:absolute;bottom:-9px;left:0;width:100%;height:15px;overflow:visible}.hero h1 path{stroke:#cc0033;stroke-width:3;fill:none;stroke-dasharray:550;stroke-dashoffset:0}
.hero-actions{margin-top:35px;gap:19px}.hero p{line-height:1.85}.hero-visual{height:520px;margin:0 0 15px;padding:0 0 0 20px;isolation:isolate}
.hero-photo{width:83%;height:88%;margin-left:auto;object-position:50% 48%;border-radius:6px 6px 60px 6px;box-shadow:0 30px 70px #0005;position:relative;z-index:1}
.photo-outline{inset:-20px -16px 40px 38%;border:1px solid #ea658954;border-radius:7px 7px 70px 7px;z-index:-1;transform:translateY(var(--photo-drift,0px))}
.photo-outline:after{content:"";position:absolute;right:-2px;top:34px;width:4px;height:70px;background:var(--red)}
.precision-grid{position:absolute;width:300px;height:300px;left:-15px;bottom:10px;border-radius:50%;border:1px solid #ffffff13;z-index:-1;background:repeating-radial-gradient(circle,transparent 0,transparent 39px,#ffffff0b 40px,transparent 41px)}
.precision-grid:before,.precision-grid:after{content:"";position:absolute;background:#ffffff16}.precision-grid:before{height:1px;width:100%;top:50%}.precision-grid:after{width:1px;height:100%;left:50%}
.corner-marks{position:absolute;top:18%;left:14%;width:33px;height:33px;border-top:2px solid #ce0033;border-left:2px solid #ce0033;z-index:4}
.hero-team-photo{position:absolute;left:0;bottom:-35px;width:68%;z-index:2;padding:8px;background:#f2efeb;border-radius:4px;box-shadow:0 25px 50px #0005;transform:rotate(-3deg)}.hero-team-photo img{width:100%;height:auto;border-radius:1px}
.year-stamp{left:auto;right:-15px;bottom:-15px;width:155px;z-index:3;padding:22px;background:linear-gradient(135deg,#e0003c,#b5002d);border-radius:4px;box-shadow:0 12px 40px #6b001c55}.year-stamp strong{font-size:43px}.year-stamp>span:last-child{font-size:9px;line-height:1.6}.vertical-note{right:-32px;top:5px;letter-spacing:.2em}
.hero-bottom{padding-bottom:28px;min-height:90px;font-size:12px;gap:45px;border-color:#ffffff15}.hero-bottom>span{display:flex;align-items:center;gap:12px}.hero-bottom>span:before{content:"";width:4px;height:4px;background:#d35474;border-radius:50%}
.clients{position:relative;padding-top:70px;padding-bottom:75px}.client-grid{border:1px solid #ece9e5;padding:25px 20px;background:#fff;box-shadow:0 16px 45px #17191b08;border-radius:6px;gap:18px}.client-grid figure{transition:transform .3s var(--ease)}.client-grid figure:hover{transform:translateY(-5px)}.client-grid img{height:55px}.client-grid figcaption{font-size:10px}
.section-intro h2{max-width:560px}.section-intro{gap:75px}.section-intro>p,.section-intro>div>p{font-size:15px}.services{position:relative;background:#f5f4f1}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;border:0;background:none}
.service{position:relative;grid-column:span 2;background:#fff;border:1px solid #e5e2de;border-radius:5px;padding:30px;min-height:370px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s}
.service:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.service:hover{transform:translateY(-5px);border-color:#cfb4bc;box-shadow:0 20px 40px #17191b0d}.service:hover:before{transform:scaleY(1)}
.service:nth-child(-n+2){grid-column:span 3;min-height:320px;padding:36px}.service:nth-child(-n+2) h3{font-size:28px;max-width:420px}.service-top{margin-bottom:25px;align-items:flex-start}.service-top>span{font-size:44px;line-height:1;letter-spacing:-.07em;color:#e6e2df}.service-top svg{width:39px;height:39px;padding:5px;box-sizing:content-box;background:#fff4f6;border-radius:8px}.service h3{max-width:none;line-height:1.25}.service p{line-height:1.8}.service .text-link{font-size:12px;border-color:#ded6d8;padding-bottom:12px}.service .text-link span{color:var(--red)}
.service-last{grid-column:1/-1;min-height:130px;flex-direction:row;align-items:center;padding:28px 36px;background:linear-gradient(115deg,#17191b 50%,#361a22);color:white;border:0;box-shadow:none;isolation:isolate}
.service-last:after{content:"";position:absolute;width:340px;height:340px;right:14%;top:-105px;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 45px #ffffff03,0 0 0 90px #ffffff02;z-index:-1}.service-last .mini-mark{width:auto;font-size:46px;gap:35px}.service-last .mini-mark>span{display:none}.service-last .button{width:auto;min-width:235px}
.about{position:relative;padding-bottom:85px}.about-top{gap:70px}.about-photo{padding:12px;background:#f1efeb;border-radius:4px;transform:rotate(-1.5deg)}.about-photo:before{width:100px;height:100px;top:-16px;left:-16px;border-radius:3px}.about-photo img{border-radius:2px}.photo-caption{background:transparent;color:var(--ink);padding:20px 5px 7px;font-size:9px}.photo-caption span+span{color:#666}.about-top h2{font-size:clamp(30px,3.6vw,47px)}.about-top p{font-size:15px}.stats-title{font-size:16px;letter-spacing:0;margin:65px 0 22px;color:#555}
.stats{margin-top:0;padding:35px;background:var(--ink);color:#fff;border:0;position:relative;isolation:isolate;border-radius:5px;gap:28px}.stats:before{content:"";position:absolute;left:0;top:0;width:100px;height:3px;background:var(--red)}.stats article+article{border-color:#ffffff20;padding-left:25px}.stats article>span{color:#c6c5c5;font-size:10px}.stats strong{color:#f5bdca}.stats .stat-words{font-size:24px}.stats p{color:#c5c6c8;font-size:12px;line-height:1.8}
.team{background:linear-gradient(180deg,#f5f4f1,#eeece8)}.carousel-toolbar{gap:30px}.carousel-line{height:1px;background:#d9d4cf;flex:1}.carousel-controls button{border-color:#c9c1bc;border-radius:50%;width:48px;height:48px;transition:background .25s,color .25s,transform .3s}.carousel-controls button:hover:not(:disabled){transform:translateY(-3px)}
.person{border-radius:5px;overflow:hidden;box-shadow:0 12px 25px #17191b05}.portrait{margin:8px 8px 0;border-radius:3px}.portrait img{height:350px;transition:transform .8s var(--ease),filter .8s;filter:saturate(.8)}.person:hover .portrait img{transform:scale(1.035);filter:saturate(1)}.person-number{border-radius:3px 0 0 0;padding:10px 19px}.person-copy{padding:28px}.role{font-size:11px}.person .text-link{border-bottom-color:#ded6d8}.team-track{padding-bottom:20px}.team-footer{margin-top:15px}
.process{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 90% 0,#341a22,transparent 60%),#17191b}.process:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff05;border-radius:50%;bottom:-480px;right:0;box-shadow:0 0 0 80px #ffffff02,0 0 0 160px #ffffff01;z-index:-1}.steps{position:relative;gap:32px;padding-top:40px;border:0}.steps:before{content:"";position:absolute;top:69px;height:1px;background:linear-gradient(90deg,#cc0033,#ffffff22);left:0;right:0;transform-origin:left}.steps article{position:relative;padding:0 25px 0 0}.step-number{display:flex;width:62px;height:62px;border:1px solid #d74b6e;background:#261a20;border-radius:50%;font-size:24px;letter-spacing:-.03em;align-items:center;justify-content:center;position:relative;z-index:1;color:#f5bdca}.steps h3{font-size:23px;letter-spacing:-.03em;margin-top:25px}.steps p{font-size:14px}.steps article:hover .step-number{background:var(--red);color:white;transition:background .3s}
.faq-list details{border:1px solid #e7e3df;margin-bottom:12px;padding:0 24px;border-radius:4px;transition:border-color .3s,box-shadow .3s,background .3s}.faq-list details:last-child{border-bottom:1px solid #e7e3df}.faq-list details[open]{border-color:#d9b6c0;box-shadow:0 12px 30px #17191b06;background:#fcfaf9}.faq summary{padding:23px 0;font-size:14px}.faq details p{padding-right:0}.faq summary>span{display:flex;align-items:center;justify-content:center;border-radius:50%;width:27px;height:27px;background:#f6edef;font-size:20px;transition:transform .3s}.faq details[open] p{animation:answer-in .35s var(--ease)}
.contact{position:relative;background:linear-gradient(120deg,#eeeae5,#f9f8f5);isolation:isolate;overflow:hidden}.contact:before{content:"";position:absolute;left:-220px;bottom:-300px;width:650px;height:650px;border:1px solid #cc003309;border-radius:50%;box-shadow:0 0 0 70px #cc003303,0 0 0 140px #cc003302;z-index:-1}.contact form{border-radius:7px;border-top:3px solid var(--red);box-shadow:0 20px 65px #2d152014;padding:40px}.contact-list h3{font-size:18px}.contact-list>a{display:block;width:fit-content}.contact-list>a span:first-child{text-transform:none;font-size:11px;letter-spacing:0}.contact-list>p>span{font-size:11px;letter-spacing:0}input,select,textarea{border-radius:3px;background:#faf9f7;transition:background .25s,border-color .25s,box-shadow .25s}input:focus,select:focus,textarea:focus{background:white;border-color:#bb4060;box-shadow:0 0 0 3px #cc00330a;outline:none}.fields label:focus-within{color:#a9002a}.contact form .button{margin-top:5px}
footer{border-top:3px solid #cc0033;padding-top:55px}.footer-top{padding-bottom:40px}.footer-top img{width:255px}
/* O conteúdo permanece visível se JavaScript ou IntersectionObserver não estiverem disponíveis. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:hero-in .9s var(--ease) both}.hero-visual{animation:photo-in 1.2s var(--ease) .15s both}.hero h1 path{animation:draw-line 1.3s var(--ease) .5s both}.year-stamp{animation:stamp-in 1s var(--ease) .55s both}.hero-team-photo{animation:team-in 1.1s var(--ease) .4s both}
 .motion-pending{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--reveal-delay,0ms)}
 .motion-pending.is-visible,.motion-pending:focus-within{opacity:1;transform:translateY(0)}.motion-pending.motion-photo{transform:translateY(24px) rotate(-1.5deg)}.motion-pending.motion-photo.is-visible{transform:translateY(0) rotate(-1.5deg)}
 .steps.motion-pending:before{transform:scaleX(0);transition:transform 1.3s var(--ease) .2s}.steps.is-visible:before{transform:scaleX(1)}
}
@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:0;transform:translate(25px,10px)}to{opacity:1;transform:none}}@keyframes draw-line{from{stroke-dashoffset:550}to{stroke-dashoffset:0}}@keyframes stamp-in{from{opacity:0;transform:translateY(25px) scale(.95)}to{opacity:1;transform:none}}@keyframes team-in{from{opacity:0;transform:translateY(24px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}@keyframes answer-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-grid{gap:35px;padding-top:65px}.hero h1{font-size:45px}.hero-visual{height:490px}.hero-team-photo{width:75%}.year-stamp{right:-5px;bottom:-45px;width:135px;padding:17px}.year-stamp strong{font-size:38px}.service:nth-child(-n+2){padding:28px}.service{padding:25px}.service h3{font-size:21px}.stats{padding:28px;gap:20px}.stats article+article{padding-left:20px}.stats .stat-words{font-size:21px}.contact form{padding:28px}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:55px;padding-top:40px;padding-bottom:90px}.hero h1{font-size:clamp(42px,6.8vw,55px);max-width:650px}.hero-visual{width:100%;max-width:590px;height:430px;margin:auto}.hero-photo{width:73%;height:95%;object-position:center 50%}.hero-team-photo{width:60%;bottom:-35px}.year-stamp{right:5px;bottom:0;width:160px;padding:22px}.year-stamp strong{font-size:43px}.precision-grid{left:0}.vertical-note{right:-15px}.hero-bottom{padding-bottom:15px;min-height:75px}.service{grid-column:span 3}.service:nth-child(-n+2){grid-column:span 3}.service:nth-child(5){grid-column:1/-1;min-height:260px}.service-last{grid-column:1/-1;min-height:120px}.service:nth-child(-n+2) h3{font-size:24px}.section-intro{gap:25px}.about-top{gap:40px}.about-photo{transform:none;margin:0 8px}.about-photo.motion-pending.motion-photo.is-visible{transform:none}.stats{grid-template-columns:repeat(2,1fr);padding:30px}.stats-title{margin-top:45px}.stats article:nth-child(3){padding-left:0}.stats .stat-words{font-size:25px}.portrait img{height:340px}.steps h3{font-size:20px}.steps article{padding-right:0}.faq-grid{gap:35px}.contact form{padding:32px}}
@media(max-width:520px){.hero-grid{padding-top:32px;padding-bottom:75px;gap:45px}.hero h1{font-size:40px;line-height:1.15;margin-bottom:30px}.hero h1>span{display:inline}.hero h1 svg{display:none}.hero p{font-size:15px}.hero .eyebrow{margin-bottom:20px}.hero-visual{height:310px;max-width:350px;padding-left:0}.hero-photo{width:76%;height:93%;border-radius:4px 4px 34px 4px}.hero-team-photo{width:65%;left:3px;bottom:-20px;padding:5px}.year-stamp{right:-3px;bottom:-32px;width:120px;padding:15px}.year-stamp strong{font-size:33px}.year-stamp>span:last-child{font-size:8px}.photo-outline{inset:-12px -7px 25px 40%;border-radius:5px 5px 45px 5px}.vertical-note{right:-16px;font-size:6px}.corner-marks{width:23px;height:23px;left:10%}.precision-grid{width:220px;height:220px}.hero-bottom{gap:13px;font-size:8px;min-height:65px}.hero-bottom>span{gap:5px}.hero-bottom>span:before{width:3px;height:3px}.clients{padding-top:50px;padding-bottom:50px}.client-grid{gap:22px 13px;padding:20px 13px;grid-template-columns:repeat(2,1fr)}.client-grid img{height:48px}.client-grid figcaption{font-size:10px}.section-intro>p,.section-intro>div>p{font-size:14px}.services-grid{display:flex;flex-direction:column;gap:15px}.service,.service:nth-child(-n+2){padding:28px;min-height:unset}.service h3,.service:nth-child(-n+2) h3{font-size:25px}.service:nth-child(5){min-height:unset}.service-last{min-height:100px;padding:23px;gap:20px;flex-wrap:wrap}.service-last .mini-mark{font-size:35px}.service-last .button{min-width:0;width:auto;padding:15px 18px}.service-top>span{font-size:40px}.about-top h2{font-size:33px}.about-top p{font-size:14px}.about-photo{padding:7px;margin:0 5px}.photo-caption{font-size:7px;padding:15px 3px 7px}.stats{padding:27px 20px;gap:30px 15px}.stats article+article{padding-left:15px}.stats article:nth-child(3){padding-left:0}.stats strong{font-size:43px}.stats .stat-words{font-size:20px}.stats p{font-size:11px}.stats-title{font-size:15px}.person-copy{padding:24px}.person p{font-size:14px}.team-track{grid-auto-columns:88%}.portrait img{height:335px}.steps{gap:32px;padding-top:20px}.steps:before{left:27px;top:45px;bottom:50px;height:auto;width:1px;background:linear-gradient(#cc0033,#ffffff22)}.steps article{grid-template-columns:55px 1fr;gap:12px 20px}.step-number{width:55px;height:55px;font-size:21px;grid-row:1/3}.steps h3{margin-top:3px;font-size:23px}.steps p{font-size:14px}.faq-list details{padding:0 18px}.faq summary{font-size:14px;gap:16px}.faq-grid{gap:30px}.contact form{padding:28px 20px}.footer-top img{width:220px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual,.year-stamp,.hero-team-photo,.hero h1 path,.faq details[open] p{animation:none!important}.motion-pending{opacity:1!important;transform:none!important}.photo-outline{transform:none}.button:hover,.service:hover,.client-grid figure:hover,.person:hover .portrait img{transform:none}}

/* Faixa de serviços: assinatura oficial completa e composição compacta. */
.service-last{width:100%;max-width:820px;justify-self:center;justify-content:center;gap:35px;min-height:112px;padding:27px 34px;margin-top:10px;background:linear-gradient(110deg,#17191b 55%,#2a1920)}
.service-last .services-logo{display:block;width:280px;max-width:100%;height:auto;object-fit:contain;flex:0 1 280px}
.services-divider{height:43px;width:1px;background:#ffffff26;flex:none}
.service-last .button{flex:none;min-width:235px}
@media(max-width:800px){.service-last{gap:25px;padding:26px}.service-last .services-logo{width:245px;flex-basis:245px}.service-last .button{min-width:215px}}
@media(max-width:600px){.service-last{flex-direction:column;gap:22px;padding:30px 24px;max-width:100%;min-height:0}.service-last .services-logo{width:260px;flex:0 1 auto}.services-divider{height:1px;width:65px}.service-last .button{width:100%;max-width:280px;min-width:0;justify-content:space-between}}
