@import url("style.css");
/* Isolated visual concept: warm paper, graphite and copper and editorial typography. */
:root[data-theme="light"] {
 --bg:#fafafa; --surface:#fff; --surface-2:#f0f0f2; --text:#18191d;
 --muted:#6c6e75; --line:#e2e2e7; --accent:#ce2033; --accent-soft:#fcebee;
 --hero-bg:#fafafa; --hero-text:#18191d; --hero-muted:#6c6e75;
 --radius:18px; --max:1180px; color-scheme:light;
}
body {font-family:'DM Sans',sans-serif;}
h1,h2,h3,.brand {font-family:Manrope,sans-serif;}
html {scroll-padding-top:110px;}
.nav {background:rgba(250,250,250,.95);border-bottom:1px solid var(--line);}
.nav .wrap {height:84px;gap:30px;}
.brand {font-size:18px;white-space:nowrap;letter-spacing:-.04em;}
.brand::before {content:'';display:inline-block;width:9px;height:9px;background:var(--accent);border-radius:50%;margin-right:10px;}
.nav ul {gap:22px;margin-left:auto;}
.nav ul a {font-size:13px;}
.original-link {font-size:11px;white-space:nowrap;color:var(--muted);}
.lang {border-color:var(--line);background:#fff;}
.lang a {padding:3px 8px;font-size:11px;}
.lang a[aria-current] {background:var(--accent);}
.lang a:hover {color:var(--accent);background:var(--accent-soft);}
.hero {padding:85px 0 72px;border-bottom:1px solid var(--line);}
.hero .wrap {grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:80px;}
.eyebrow {font-size:11px;letter-spacing:.14em;display:flex;align-items:center;gap:9px;margin-bottom:25px;}
.eyebrow::before {content:'';height:6px;width:6px;border-radius:50%;background:#ce2033;}
.hero h1 {font-size:clamp(50px,6.4vw,82px);font-weight:500;letter-spacing:-.07em;margin-bottom:22px;}
.hero .role {font-size:clamp(20px,2vw,25px);font-weight:400;color:#555760;line-height:1.45;max-width:580px;}
.hero .role strong {color:var(--accent);font-weight:600;}
.hero p.lead {font-size:14px;line-height:1.85;max-width:590px;margin-bottom:25px;}
.facts {gap:16px 25px;font-size:11px;margin-bottom:30px;color:var(--muted);}
.facts li {display:flex;flex-direction:column;border-left:1px solid #dedee4;padding-left:14px;}
.facts b {font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.04em;color:var(--text);margin:0 0 3px;}
.btn {font-size:12px;padding:12px 17px;border-radius:8px;}
.btn-primary {background:var(--accent);color:white;box-shadow:0 3px 6px #1c1c2410;}
.btn-ghost {color:var(--text);border-color:#d8d8df;background:transparent;}
.btn-ghost:hover {background:#fceff1;}
.actions .btn:last-child {border-color:transparent;}
.identity {background:#202126;border:1px solid #34353d;border-radius:24px;padding:24px;transform:rotate(2deg);box-shadow:12px 18px 0 #ededf0;}
.identity-top {display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em;color:#b6b7bf;}
.status-dot {width:7px;height:7px;background:#e33145;border-radius:50%;box-shadow:0 0 0 4px #522731;}
.identity-art {margin:12px -15px;}
.identity-art svg {display:block;width:100%;height:auto;}
.identity-bottom {display:flex;justify-content:space-between;align-items:end;font-size:10px;line-height:1.6;letter-spacing:.1em;color:#bfc0c8;}
.identity-arrow {font-size:31px;font-weight:400;}
section.block {padding:76px 0;}
.sec-head {max-width:690px;margin-bottom:35px;}
.sec-head .num {font-size:10px;letter-spacing:.16em;font-weight:600;}
.sec-head h2 {font-weight:500;font-size:clamp(27px,3vw,36px);letter-spacing:-.05em;line-height:1.25;margin:12px 0;}
.sec-head p {font-size:14px;line-height:1.8;}
.grid {gap:16px;}
.card {padding:25px;border-color:#e5e5ea;box-shadow:0 3px 10px #1c1c2403;}
.card h3 {font-size:16px;letter-spacing:-.03em;font-weight:700;}
.card p {font-size:13px;line-height:1.85;}
.card .meta {font-size:11px;}
.card .result {font-size:12px;line-height:1.7;border-top-style:solid;}
.tags {gap:5px;margin-bottom:0;}
.tags li {font-size:10px;padding:3px 8px;border-radius:5px;font-weight:500;}
.timeline {margin-top:45px;border-left:1px solid #d9d9e0;}
.timeline li {padding-left:30px;padding-bottom:30px;}
.timeline li::before {width:9px;height:9px;left:-5px;border-width:1px;}
.timeline .when {font-size:11px;letter-spacing:.03em;}
.timeline h3 {font-size:16px;margin:6px 0;letter-spacing:-.025em;}
.timeline p {font-size:13px;line-height:1.85;max-width:850px;}
#projetos,#projects,#formacao,#education {background:#f1f1f4;}
.feature {padding:35px;gap:45px;border-radius:20px;grid-template-columns:1.5fr 1fr;}
.feature h3 {font-size:30px;font-weight:500;letter-spacing:-.05em;}
.feature p,.feature ul.points {font-size:13px;line-height:1.85;}
.feature .kicker,.feature .links {font-size:11px;}
.feature .side {font-size:12px;background:#f4f4f6;padding:25px;}
.feature .side h4 {font-size:10px;}
.integ .logo {border-radius:9px;width:36px;height:36px;font-size:12px;}
.integ .card .via {font-size:11px;}
.certs {font-size:13px;line-height:1.9;}
.badge-card img {width:85px;height:85px;}
.cta {background:#18191e;border-radius:20px;padding:40px;color:#fafafa;}
.cta h2 {font-size:32px;font-weight:500;letter-spacing:-.05em;}
.cta p {font-size:13px;color:#bcbec8;}
.cta .btn-primary {background:#e3263c;color:#ffffff;}
.contact small {font-size:11px;}
.contact span {font-size:13px;}
.contact svg {width:22px;height:22px;}
footer {font-size:11px;}
a:focus-visible {outline:2px solid var(--accent);outline-offset:5px;}
@media(max-width:1050px){.nav .wrap{gap:18px;}.nav ul{gap:15px;}.original-link{display:none;}.hero .wrap{gap:40px;}}
@media(max-width:860px){
 .nav .wrap{height:68px;}.nav ul{display:none;}.original-link{display:block;margin-left:auto;font-size:10px;}
 .hero{padding:50px 0;}.hero .wrap{grid-template-columns:minmax(0,1fr) 230px;gap:30px;}
 .hero h1{font-size:58px;}.identity{padding:18px;}.hero p.lead{font-size:13px;}
 .g3{grid-template-columns:repeat(2,minmax(0,1fr));}.g2{grid-template-columns:1fr;}
 section.block{padding:55px 0;}.feature{grid-template-columns:1fr;gap:25px;}.edu,.contact,.cta{grid-template-columns:1fr;}
}
@media(max-width:620px){
 .hero .wrap{grid-template-columns:1fr;}.identity{display:none;}.hero h1{font-size:60px;}.hero .role{font-size:22px;}
 .g3{grid-template-columns:1fr;}.facts{gap:15px;}.facts li{padding-left:10px;font-size:10px;}.facts b{font-size:17px;}
 .wrap{padding:0 22px;}.actions{gap:8px;}.actions .btn{flex:initial;justify-content:center;padding:12px;font-size:11px;}
 .actions .btn:last-child{padding-left:0;}.hero p.lead{font-size:14px;}.hero{padding:43px 0 45px;}
 .eyebrow{font-size:10px;}.card{padding:23px;}.feature,.cta{padding:25px;}.brand{font-size:16px;}.original-link{max-width:90px;text-align:right;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}


/* Stack grouped by its role in a system. */
.identity {transform:none;padding:23px 25px;}
.stack-map {margin:24px 0 28px;}
.stack-map-title {display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.14em;color:#bfc0c8;margin-bottom:23px;}
.stack-symbol {display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#303538;color:#e9c29a;font-family:monospace;font-size:19px;letter-spacing:-.12em;padding-right:3px;}
.stack-group {position:relative;padding:0 0 17px 16px;border-left:1px solid #d7c8b7;}
.stack-group:last-child {padding-bottom:0;}
.stack-group::before {content:'';position:absolute;left:-3px;top:4px;width:5px;height:5px;border-radius:50%;background:#e33145;}
.stack-group-label {font-size:8px;font-weight:600;letter-spacing:.13em;color:#b6b7bf;margin-bottom:8px;}
.stack-items {display:flex;flex-wrap:wrap;gap:6px;}
.stack-items span {font-size:10px;line-height:1.4;background:#fff;border:1px solid #d9d9e0;border-radius:6px;padding:6px 9px;color:#73482c;white-space:nowrap;}
.identity-bottom {border-top:1px solid #d9d9e0;padding-top:16px;}
@media(max-width:860px){.identity{padding:20px 17px;}.stack-items span{font-size:9px;padding:5px 7px;}}

/* Slightly tilted card, matching the original visual concept. */
.identity { transform: rotate(2deg); }

/* Modern red and charcoal palette for the current stack illustration. */
.cta .btn-primary {background:#e3263c;color:#fff;}
.btn-primary:hover {background:#b91c30;}
.lang a[aria-current]:hover {background:#b91c30;color:#fff;}
.identity-bottom {border-color:#3e3f47;}

.preview-switch {font-size:11px;white-space:nowrap;font-weight:600;}
@media(max-width:1050px){.preview-switch{font-size:10px;}}
@media(max-width:620px){.original-link{display:none;}.preview-switch{margin-left:auto;}}
