:root{--bg: #1a1a1a;--bg-deep: #04070d;--panel: rgba(9, 14, 25, .78);--panel-soft: rgba(12, 19, 33, .66);--text: #ebf4ff;--muted: #8ea2bf;--line: rgba(90, 150, 255, .26);--accent: #4ea9ff;--accent-strong: #2f84dc;--accent-soft: rgba(78, 169, 255, .24);--shadow: 0 22px 56px rgba(0, 0, 0, .45)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{color:var(--text);font-family:Manrope,sans-serif;background-color:var(--bg);background-image:radial-gradient(circle at 12% -10%,rgba(36,88,168,.38),transparent 40%),radial-gradient(circle at 90% -6%,rgba(24,116,207,.32),transparent 42%),radial-gradient(circle at 84% 36%,rgba(22,71,143,.24),transparent 46%),linear-gradient(180deg,var(--bg-deep) 0%,#101722 45%,var(--bg) 100%);line-height:1.6;overflow-x:hidden}a{color:inherit}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-3;opacity:.25;background-image:radial-gradient(circle,rgba(212,232,255,.55) .6px,transparent .6px),radial-gradient(circle,rgba(132,176,239,.34) .6px,transparent .6px);background-position:0 0,22px 22px;background-size:44px 44px,44px 44px}.galaxy-glow{position:fixed;border-radius:999px;filter:blur(88px);pointer-events:none;z-index:-2}.glow-left{width:260px;height:260px;left:-80px;top:22vh;background:#4481e152}.glow-right{width:320px;height:320px;right:-140px;top:10vh;background:#2e7cdb47}.site-header{position:sticky;top:0;z-index:60;border-bottom:1px solid rgba(90,150,255,.2);background:#02060c99;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%)}.header-shell{max-width:1180px;min-height:72px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:14px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:Sora,sans-serif;font-weight:700;letter-spacing:.04em}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px #4ea9ffe6}.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto}.nav-links a{text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:10px;font-size:.94rem;font-weight:700;transition:color .18s ease,background .18s ease}.nav-links a:hover{color:var(--text);background:#4ea9ff24}.header-cta{margin-left:8px;text-decoration:none;font-weight:800;font-size:.93rem;color:#031225;background:linear-gradient(140deg,#69b8ff,#3f95ef);border-radius:11px;padding:10px 14px;box-shadow:0 8px 20px #4ea9ff4d;transition:transform .18s ease}.header-cta:hover{transform:translateY(-2px)}.page{max-width:1180px;margin:0 auto;padding:28px 16px 34px;display:grid;gap:16px}#inicio,#sobre,#portfolio,#contatos{scroll-margin-top:92px}.panel{border-radius:26px;border:1px solid var(--line);background:linear-gradient(160deg,#4c88e31f,#1018278f),var(--panel);box-shadow:var(--shadow)}.hero{padding:clamp(24px,4vw,44px);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(18px,3vw,30px);align-items:center}.eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(125,182,255,.36);color:#b8d4f6;border-radius:999px;padding:6px 12px;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:800}.hero-title{margin-top:14px;font-family:Sora,sans-serif;line-height:1.04;font-size:clamp(2.1rem,5.2vw,4.5rem);max-width:12ch;text-wrap:balance}.hero-title span{display:block}.hero-title span:first-child{color:#ecf5ff}.hero-title span:last-child{background:linear-gradient(95deg,#e7f1ff,#7bbdff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-actions{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border-radius:12px;padding:11px 18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#031224;background:linear-gradient(140deg,#67b6ff,#3b91ea);box-shadow:0 10px 22px #4ea9ff4d}.btn-outline{color:var(--text);border:1px solid var(--line);background:#ffffff08}.btn-outline:hover{border-color:#91c1ff8f}.hero-visual{position:relative;min-height:420px;border-radius:22px;border:1px solid rgba(90,150,255,.26);background:radial-gradient(circle at 50% 45%,rgba(68,131,229,.22),transparent 52%),linear-gradient(175deg,#080e19e6,#0a111ebf);overflow:hidden}.visual-core{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:164px;height:164px;border-radius:40px;border:2px solid rgba(95,158,255,.42);background:linear-gradient(145deg,#071325,#0f2748);box-shadow:0 28px 40px #040a12cc;display:grid;place-items:center;overflow:hidden}.visual-core:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;border-radius:999px;background:radial-gradient(circle,rgba(78,169,255,.35),transparent 70%);z-index:-1}.avatar-core{width:100%;height:100%;object-fit:cover}.visual-line{position:absolute;border:1px solid rgba(105,167,255,.35);opacity:.8}.line-top{left:48%;top:82px;width:140px;height:96px;border-radius:0 20px 20px 0;border-left:none;border-bottom:none}.line-left{left:96px;top:160px;width:146px;height:90px;border-radius:20px 0 0 20px;border-right:none;border-bottom:none}.line-right{right:102px;top:208px;width:150px;height:92px;border-radius:0 18px 18px 0;border-left:none;border-top:none}.line-bottom{left:48%;bottom:40px;width:146px;height:90px;border-radius:20px 0 0 20px;border-right:none;border-top:none}.section{padding:clamp(24px,4vw,38px);background:linear-gradient(165deg,#4480dd1a,#0c1423bd),var(--panel-soft)}.section-head h2{font-family:Sora,sans-serif;font-size:clamp(1.35rem,2.5vw,1.95rem)}.section-head p{margin-top:8px;color:var(--muted);max-width:68ch}.contact .contact-list{margin-top:16px;list-style:none;display:grid;gap:10px}.contact-list li{border-radius:12px;border:1px solid rgba(92,151,245,.3);background:#080e18ad;padding:12px 14px;display:grid;grid-template-columns:40px 1fr;gap:10px 12px;align-items:center}.contact-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(92,151,245,.36);background:#162a4880;color:#8bc4ff;font-size:1.05rem}.contact-icon-image{width:20px;height:20px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.contact-content{display:grid;gap:2px}.contact-content span{color:#b7cae6;font-weight:700;font-size:.86rem;letter-spacing:.02em}.contact-content a,.contact-content strong{text-decoration:none;font-weight:600;color:#e8f3ff}.contact-content a{transition:border-color .18s ease,color .18s ease;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}.contact-content a:hover{color:#b8ddff}.footer{text-align:center;color:#7d91ad;font-weight:700;padding:8px 16px 30px}@media (max-width: 1080px){.hero-grid{grid-template-columns:1fr}.hero-title{max-width:18ch}.hero-visual{min-height:360px}}@media (max-width: 840px){.header-shell{min-height:auto;flex-wrap:wrap;justify-content:space-between;padding-top:12px;padding-bottom:12px}.brand{margin-right:auto}.nav-links{margin-left:0;justify-content:center;order:3;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav-links a{text-align:center;padding:9px 8px}.header-cta{margin-left:0}}@media (max-width: 640px){.page{padding:18px 12px 24px;gap:12px}.panel{border-radius:20px}.hero{padding:18px}.hero-grid{gap:16px}.hero-title{font-size:clamp(2rem,12vw,3.35rem);max-width:10ch}.hero-actions{gap:10px}.btn{width:100%}.hero-visual{min-height:250px}.visual-core{width:128px;height:128px;border-radius:30px}.visual-line{display:none}.section{padding:18px}.section-head p{font-size:.95rem}.contact-list li{grid-template-columns:34px 1fr;padding:10px 11px;gap:8px 10px}.contact-icon{width:34px;height:34px;border-radius:8px;font-size:.96rem}.contact-icon-image{width:18px;height:18px}}@media (max-width: 420px){.header-shell{padding:8px 10px;gap:10px}.nav-links a{font-size:.84rem;padding:7px 5px}.header-cta{order:4;width:100%;text-align:center;margin-top:2px}.page{padding:14px 10px 22px}.hero-visual{min-height:220px}.visual-core{width:112px;height:112px;border-radius:26px}.eyebrow{font-size:.68rem;padding:5px 10px}.contact-content a,.contact-content strong{font-size:.92rem}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
