/* Readable typography, preserving the original composition. */
:root{--muted:#5c6055}
body{font-size:16px;line-height:1.6}
h1{font-weight:600;letter-spacing:-.045em}h2{font-weight:600;letter-spacing:-.035em}h3{font-weight:600;letter-spacing:-.025em}
nav{font-size:15px;font-weight:600;gap:26px}.languages{font-size:13px}.languages button{font-weight:600}.nav-cta{font-size:14px;font-weight:600;gap:18px;white-space:nowrap}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.25px}.intro{font-size:18px;font-weight:600;max-width:445px;color:#50554b}
.button,.text-link{font-size:14px;font-weight:600}.hero .text-link{margin-left:0;display:flex;width:max-content}.hero .button{margin-bottom:3px}.button>span:last-child{transition:transform .3s ease}
.hero-bottom,.hero-bottom>div{font-size:13px;font-weight:600;letter-spacing:.5px}.hero-bottom div span{margin:0 9px}
.section-head>p:last-child,.service-content p,.about-copy p:not(.large),.project p,.steps p,.contact-intro{font-size:16px;font-weight:600;line-height:1.8}
.section-head h2 span{color:#74796b}.service-num{font-size:13px;font-weight:700}.tag{font-size:10px;font-weight:700}.chips span{font-size:12px;font-weight:600}
.about-copy .large{font-size:25px;font-weight:600}.about-copy p:not(.large){color:#c4c8ba}.about-foot,.project-link{font-size:14px;font-weight:600}
.project-top{font-size:11px;font-weight:700;letter-spacing:.6px}.project-top span:last-child{max-width:210px}.project{justify-content:space-between}.project h3{line-height:1.3}
.steps article>span{font-size:13px;font-weight:700}.steps h3{font-size:23px}.contact-intro{max-width:390px}.phone{font-size:20px;font-weight:600}.whatsapp,.hours,address{font-size:14px;font-weight:600}address strong{font-weight:700}
.form-intro{font-size:15px;font-weight:600}label{font-size:13px;font-weight:600}input,textarea,select{font-size:16px;font-weight:600}.form-note{font-size:13px;font-weight:600}#form-status,#email-fallback{font-size:14px}
footer{font-size:12px;font-weight:600}footer>span:nth-last-child(2){font-size:11px;letter-spacing:.6px}.coordinate,.art-label,.art-bottom,.data-art>span{font-size:10px;font-weight:600}
.art-bottom{gap:16px}.art-bottom>span:last-child{text-align:right}
/* Transform and opacity only: natural scrolling remains native. */
header{transition:box-shadow .3s ease}header.is-scrolled{box-shadow:0 6px 24px #24261f0b}header:after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
nav a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}nav a[aria-current="location"]:after,nav a:hover:after{transform:scaleX(1)}
.reveal-pending{opacity:0;transform:translateY(34px)}.reveal-enter{animation:section-arrive .8s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes section-arrive{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.hero-art .orbital{transform:translate3d(var(--orbit-x,0px),var(--orbit-y,0px),0) rotate(var(--orbit-turn,0deg));transition:transform .55s cubic-bezier(.2,.65,.25,1);transform-origin:51% 50%}
.motion-enabled .orbital .outer-orbit{animation:orbit-arrive 1.8s ease-out both;transform-origin:307px 277px}
@keyframes orbit-arrive{from{opacity:0;stroke-dasharray:2 20}to{opacity:1;stroke-dasharray:2 0}}
.project-link span:last-child,.about-foot a,.email span,.text-link>span:last-child{display:inline-block;transition:transform .3s ease}
summary{transition:color .25s ease,background .25s ease}summary:hover{color:#b84420;background:#e9eae140}details[open] .service-content{animation:detail-arrive .4s ease-out}
@keyframes detail-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.bars i{transform-origin:bottom}.reveal-enter .bars i{animation:bar-arrive .9s cubic-bezier(.2,.65,.25,1) both;animation-delay:calc(.15s + var(--bar-delay,0ms))}
@keyframes bar-arrive{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
.project{transition:box-shadow .35s ease}.project .wemine-mark svg{transition:transform .4s ease}.chips span{transition:background .25s ease,border-color .25s ease}
@media(hover:hover) and (pointer:fine){.project:hover{box-shadow:0 14px 32px #24261f14}.project:hover .wemine-mark svg{transform:rotate(-6deg) translateY(-4px)}.project:hover .project-link span:last-child,.button:hover>span:last-child,.email:hover span{transform:translate(3px,-3px)}.text-link:hover>span:last-child{transform:translateY(3px)}.chips span:hover{background:#e3e5d8;border-color:#b7bba9}}
@media(max-width:1100px){header{gap:20px}nav{gap:17px;font-size:14px}.nav-cta{font-size:13px;padding:12px}.header-actions{gap:15px}.hero-bottom{flex-wrap:wrap}.hero-bottom>span{flex:1 0 100%}.section-head{grid-template-columns:1.35fr 1fr}.art-bottom{font-size:9px}}
@media(max-width:760px){.intro{font-size:17px}.eyebrow{font-size:11px}.hero .text-link{margin-left:0;font-size:14px}.button{font-size:14px}h1{letter-spacing:-.045em}.hero-art{height:360px}.hero-bottom>span{font-size:13px}.hero-bottom>div{font-size:10px;letter-spacing:.2px}.hero-bottom div span{margin:0 5px}.section-head{display:block}.service-num{font-size:12px}.tag{font-size:10px}.chips span{font-size:11px}.service-content{padding-left:0}.about-copy .large{font-size:23px}.project-top{font-size:10px}.project-top span:last-child{max-width:165px}.project{padding:24px}.project h3{font-size:24px}.project p{font-size:16px}.project-grid{gap:26px}.steps h3{font-size:23px}.coordinate,.art-label{font-size:9px}.art-label{bottom:44px}.art-bottom{font-size:8px}.form-intro{font-size:15px}.contact-grid form{padding:24px}footer{font-size:11px}footer>span:nth-last-child(2){font-size:10px}nav{font-size:16px}.reveal-pending{transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending,.reveal-enter{opacity:1;transform:none}.hero-art .orbital{transform:none}.bars i{transform:none}}
@media print{.reveal-pending,.reveal-enter{opacity:1!important;transform:none!important;animation:none!important}}
