/* Refinamentos independentes de serviços externos. */
body { position: relative; isolation: isolate; }
[hidden] { display: none !important; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:12px 18px; background:#ffcb2e; color:#08121b; border-radius:12px; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
header h1 { text-wrap:balance; }
header p { text-wrap:pretty; }
.glass { box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.link-card { overflow:hidden; }
.link-card::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 15%,rgba(255,214,92,.06) 50%,transparent 85%); transform:translateX(-110%); transition:transform .65s ease; pointer-events:none; }
.link-card:focus-visible::after { transform:translateX(110%); }
.link-card:active, .btn-gold:active { transform:scale(.985); }
.link-card > span:first-child { min-width:0; }
.link-card > span:first-child > span:first-child { flex-shrink:0; }
.arrow { flex-shrink:0; margin-left:8px; }
.btn-gold { position:relative; overflow:hidden; }
.quote-dot { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; }
.quote-dot span { width:7px; height:7px; border-radius:99px; background:#7e8a97; transition:width .25s ease,background .25s ease; }
.quote-dot[aria-pressed=true] span { width:24px; background:#ffbe00; }
#quote { min-height:140px; }
#sol-panel { min-height:245px; }
#contact-toggle[aria-expanded=true] .arrow { transform:rotate(90deg); color:#ffbe00; }
.project-fallback { position:absolute; inset:0; display:grid; place-items:center; padding:24px; font-size:24px; font-weight:800; text-align:center; color:#ffd65c; background:radial-gradient(ellipse at top right,#394127,#142534 70%); }
[class*="text-white/35"], [class*="text-white/40"], [class*="text-white/45"], [class*="text-white/50"] { color:#9aa8b7; }
.animate-float { animation:ambient-float 14s ease-in-out infinite; }
.animate-rise { animation:soft-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.fragment { animation:soft-rise .35s ease both; }
@keyframes ambient-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(12px,-24px,0); } }
@keyframes soft-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) { .link-card:hover::after { transform:translateX(110%); } }
@media (hover:none) { .link-card:hover, .btn-gold:hover { transform:none; } }
@media (min-width:768px) { body > .mx-auto { padding-top:64px; } header h1 { font-size:34px; } }
@media (max-width:360px) { body > .mx-auto { padding-left:16px; padding-right:16px; } #portfolio { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; } .btn-gold { gap:8px; } .fixed .btn-gold { padding-left:12px; padding-right:12px; white-space:nowrap; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
