:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:#c8ad77;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.header nav>a{position:relative;transition:color .25s}
.header nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:-9px;left:0;width:100%;height:1px;background:#c8ad77;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}
.header nav>a:hover:after,.header nav>a.is-active:after{transform:scaleX(1)}
.header nav>a.is-active{color:#c8ad77}
.service summary{position:relative;isolation:isolate;transition:padding .45s var(--motion-ease),color .3s}
.service summary:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(440px circle at var(--pointer-x,50%) var(--pointer-y,50%),#c8ad7725,transparent 75%);transition:opacity .35s}
.service summary:hover:before{opacity:1}
.service[open] .service-body{animation:detail-enter .5s var(--motion-ease)}
.service[open] summary h3{color:#806b3e}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .3s,transform .4s var(--motion-ease),box-shadow .4s}
.button:before{content:'';position:absolute;inset:0;background:radial-gradient(160px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff42,transparent 75%);opacity:0;z-index:-1;transition:opacity .3s;pointer-events:none}
.button:hover:before{opacity:1}
.button span,.text-link span,.contact-email span,.nav-cta span{display:inline-block;transition:transform .4s var(--motion-ease)}
.button:hover span,.text-link:hover span,.contact-email:hover span,.nav-cta:hover span{transform:translate(3px,-3px)}
.text-link[href="#solucoes"]:hover span{transform:translateY(4px)}
.step{transform:translateY(var(--depth,0px)) skewY(-25deg);transition:filter .6s var(--motion-ease)}
.step2{transform:translateY(calc(var(--depth,0px) * .65)) skewY(-25deg)}
.step3{transform:translateY(calc(var(--depth,0px) * .3)) skewY(-25deg)}
.step4{transform:translateY(calc(var(--depth,0px) * -.2)) skewY(-25deg)}
.focus-art:hover .step{filter:brightness(1.07)}
@keyframes detail-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.service summary:hover{padding-left:10px;padding-right:10px}.method-grid li{transition:border-color .4s}.method-grid li:hover{border-color:#9d7a36}.method-number{display:inline-block;transition:transform .4s var(--motion-ease)}.method-grid li:hover .method-number{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.service summary,.button,.step,.header nav>a:after,.method-number{transition:none!important}.service[open] .service-body{animation:none}.hero-photo img{transform:none!important}.step{transform:skewY(-25deg)!important}}

/* Direction drawn from the course's Parallax Geometry, Flux and Animation Clean examples. */
.title-mask{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.title-mask>span{display:block}
.hero-photo img{animation:architectural-drift 16s ease-in-out infinite alternate}
.architecture-grid{position:absolute;inset:8% 8% 12% 14%;z-index:1;border:1px solid #d9bf8640;transform:perspective(800px) rotateY(-14deg);animation:grid-drift 9s ease-in-out infinite alternate;pointer-events:none}
.architecture-grid i{position:absolute;border:1px solid #d9bf8630;inset:16% -5%}.architecture-grid i:nth-child(2){inset:32% -10%}.architecture-grid i:nth-child(3){inset:48% -15%}
.hero-plaque{position:absolute;z-index:2;right:9%;bottom:17%;padding:26px 30px;border:1px solid #d4c19665;background:linear-gradient(130deg,#252b26d9,#1b221b8a);backdrop-filter:blur(16px);box-shadow:0 25px 60px #0004;animation:plaque-float 7s ease-in-out infinite alternate;pointer-events:none}
.hero-plaque>span{font-size:11px;color:#d1bd91;letter-spacing:2px}.hero-plaque strong{display:block;font:500 29px/1.25 Manrope,Arial;margin:18px 0 24px;letter-spacing:-1px}.hero-plaque i{font-size:10px;letter-spacing:1.5px;font-style:normal;color:#bcc3b6}
.hero h1 em{background:linear-gradient(100deg,#ad8d51 0%,#f2e2b5 35%,#c8ad77 58%,#f4e4b8 76%,#ad8d51 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gold-light 9s ease-in-out infinite alternate}
.discipline-strip{display:block;overflow:hidden;padding:28px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.discipline-track{display:flex;width:max-content;animation:discipline-travel 35s linear infinite}.discipline-track>div{display:flex;align-items:center;gap:48px;padding-right:48px}.discipline-track span{font:500 21px/1.3 Manrope,Arial;white-space:nowrap}.discipline-track i{display:block;width:6px;height:6px}.discipline-strip:hover .discipline-track{animation-play-state:paused}
.rights-card{position:relative;isolation:isolate;transition:transform .5s var(--motion-ease),box-shadow .5s,border-color .5s;overflow:hidden}.rights-card:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(480px circle at var(--pointer-x,50%) var(--pointer-y,50%),#d6c18b45,transparent 70%);opacity:0;transition:opacity .4s}.rights-card:hover:after{opacity:1}.rights-card:hover{transform:translateY(-8px);border-color:#796332;box-shadow:0 24px 55px #17211712}
.focus-art{--assembly:0;perspective:1200px}.focus-art .step{transform:translateY(calc((1 - var(--assembly)) * 100px)) translateX(calc((1 - var(--assembly)) * -60px)) skewY(-25deg);opacity:calc(.35 + var(--assembly) * .6);transition:filter .4s}.focus-art .step2{transform:translateY(calc((1 - var(--assembly)) * 40px)) skewY(-25deg)}.focus-art .step3{transform:translateY(calc((1 - var(--assembly)) * -40px)) skewY(-25deg)}.focus-art .step4{transform:translateY(calc((1 - var(--assembly)) * -100px)) translateX(calc((1 - var(--assembly)) * 60px)) skewY(-25deg)}
.method-grid li{position:relative}.method-grid li:before{content:'';position:absolute;top:-2px;left:0;width:100%;height:2px;background:#a28b5c;transform:scaleX(var(--method-progress,0));transform-origin:left}
@keyframes architectural-drift{from{scale:1.02}to{scale:1.13}}@keyframes grid-drift{from{transform:perspective(800px) rotateY(-14deg) translateY(-8px)}to{transform:perspective(800px) rotateY(-4deg) translateY(12px)}}@keyframes plaque-float{from{translate:0 0}to{translate:0 -16px}}@keyframes gold-light{to{background-position:100% 50%}}@keyframes discipline-travel{to{transform:translateX(-50%)}}
@media(min-width:1101px){.hero-photo{width:47%}.hero-content{width:69%}.hero-plaque{right:10%;bottom:12%}}
@media(max-width:1100px){.hero-plaque{right:8%;bottom:9%;padding:20px}.hero-plaque strong{font-size:24px}}
@media(max-width:720px){.hero-plaque{display:none}.architecture-grid{inset:10% 8% 8% 35%}.discipline-track span{font-size:18px}.discipline-track>div{gap:30px;padding-right:30px}.discipline-strip{padding:24px 0}.rights-card:hover{transform:none}.hero-photo img{animation-duration:12s}.focus-art .step{opacity:.95}}
@media(prefers-reduced-motion:reduce){.hero-photo img,.architecture-grid,.hero-plaque,.hero h1 em,.discipline-track{animation:none!important}.focus-art .step{transform:skewY(-25deg)!important;opacity:.95}.method-grid li:before{transform:scaleX(1)}}
