/* Currículo de Gutembergue Samuel
   Camada isolada para manter o restante do site intacto. */

body.resume-page{
    --resume-bg:#050914;
    --resume-surface:#0b1220;
    --resume-surface-soft:rgba(13,23,40,.78);
    --resume-line:rgba(148,163,184,.18);
    --resume-accent:#58d7ff;
    --resume-accent-strong:#199bff;
    --resume-violet:#8b7cff;
    --resume-green:#56f2b1;
    --resume-text:#f8fbff;
    --resume-muted:#a8b5c7;
    --resume-heading:'Space Grotesk', sans-serif;
    background:
        radial-gradient(circle at 8% 7%, rgba(25,155,255,.16), transparent 28rem),
        radial-gradient(circle at 92% 24%, rgba(139,124,255,.13), transparent 30rem),
        linear-gradient(180deg, #050914 0%, #060b14 46%, #04070d 100%);
    color:var(--resume-text);
    font-family:'Inter', sans-serif;
}

.resume-page button,
.resume-page a,
.resume-page p,
.resume-page span,
.resume-page strong,
.resume-page li{
    font-family:'Inter', sans-serif;
}

.resume-page .container{
    width:min(1220px, calc(100% - 48px));
    max-width:1220px;
}

.resume-page .bg-grid{
    opacity:.24;
    background-size:72px 72px;
}

.resume-page .site-header{
    padding:10px 0;
    border-color:rgba(148,163,184,.12);
    background:rgba(5,9,20,.78);
}

.resume-page .site-header .nav-shell{
    gap:20px;
}

.resume-page .brand-mark{
    gap:12px;
    flex:0 1 auto;
}

.resume-page .brand-monogram{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(88,215,255,.44);
    border-radius:13px;
    color:#06101c;
    background:linear-gradient(145deg, #dffaff, var(--resume-accent) 55%, var(--resume-violet));
    box-shadow:0 10px 32px rgba(25,155,255,.24);
    font:800 .9rem var(--resume-heading);
    letter-spacing:-.04em;
}

.resume-page .brand-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    color:inherit;
}

.resume-page .brand-copy strong{
    font:700 .84rem var(--resume-heading);
    letter-spacing:.045em;
    color:#f8fbff;
}

.resume-page .brand-copy small{
    color:#91a4ba;
    font:500 .7rem 'Inter', sans-serif;
}

.resume-page nav.desktop{
    margin-left:auto;
}

.resume-page nav.desktop ul{
    gap:3px;
}

.resume-page nav.desktop a{
    min-height:36px;
    padding:0 11px;
    color:#aab7c8;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:none;
}

.resume-page nav.desktop a:hover,
.resume-page nav.desktop a.is-active{
    color:#06101c !important;
    background:linear-gradient(135deg, #dffaff, var(--resume-accent));
    border-color:rgba(88,215,255,.44);
}

.header-print{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 14px;
    border:1px solid rgba(88,215,255,.28);
    border-radius:12px;
    color:#dffaff;
    background:rgba(88,215,255,.08);
    font-size:.75rem;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}

.header-print:hover{
    border-color:rgba(88,215,255,.65);
    background:rgba(88,215,255,.15);
    transform:translateY(-1px);
}

.resume-page .resume-hero{
    min-height:940px;
    padding:136px 0 92px;
}

.resume-page .resume-hero::after{
    background:linear-gradient(90deg, transparent, rgba(88,215,255,.54), rgba(139,124,255,.28), transparent);
}

.resume-page .resume-hero .hero-grid{
    grid-template-columns:minmax(0, 1.08fr) minmax(390px, .92fr);
    gap:58px;
}

.resume-page #globe-canvas-container{
    opacity:.44;
    filter:hue-rotate(5deg);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.14), #000 56%, #000);
    mask-image:linear-gradient(90deg, rgba(0,0,0,.14), #000 56%, #000);
}

.availability-pill,
.cta-spotlight{
    width:max-content;
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:32px;
    padding:0 12px;
    border:1px solid rgba(86,242,177,.22);
    border-radius:999px;
    color:#bbfbe0;
    background:rgba(86,242,177,.07);
    font-size:.71rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.availability-pill i,
.cta-spotlight i,
.profile-status i,
.experience-period i{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--resume-green);
    box-shadow:0 0 0 5px rgba(86,242,177,.09), 0 0 15px rgba(86,242,177,.6);
}

.resume-page .hero-intro{
    margin:28px 0 6px;
    color:#9fb0c4;
    font-size:1.05rem;
    font-weight:600;
}

.resume-page .hero-copy h1{
    max-width:760px;
    margin:0;
    color:#f8fbff;
    font:700 clamp(3.5rem, 6.1vw, 6.4rem)/.88 var(--resume-heading);
    letter-spacing:-.072em;
    text-transform:none;
}

.resume-page .hero-copy h1 span{
    display:block;
    color:var(--resume-accent);
    text-shadow:0 0 42px rgba(88,215,255,.28);
}

.nickname-line{
    display:flex;
    align-items:center;
    gap:12px;
    margin:18px 0 22px;
    color:#95a8be;
    font-size:.88rem;
    font-weight:600;
}

.nickname-line::before{
    content:'';
    width:36px;
    height:1px;
    background:linear-gradient(90deg, var(--resume-accent), transparent);
}

.nickname-line strong{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 13px;
    border:1px solid rgba(88,215,255,.25);
    border-radius:999px;
    color:#06101c;
    background:linear-gradient(135deg, #dffaff, var(--resume-accent));
    box-shadow:0 10px 30px rgba(25,155,255,.18);
    font-size:.88rem;
    font-weight:800;
}

.resume-page .hero-role{
    max-width:640px;
    margin:0 0 14px;
    color:#edf5ff;
    font:600 clamp(1.45rem, 2.3vw, 2.05rem)/1.13 var(--resume-heading);
    letter-spacing:-.035em;
    text-transform:none;
}

.resume-page .hero-copy .hero-summary{
    max-width:680px;
    margin:0;
    color:#b1bed0;
    font-size:1.02rem;
    line-height:1.75;
}

.resume-page .hero-actions{
    gap:10px;
    margin-top:27px;
}

.resume-page .btn-neo,
.resume-page .btn-ghost{
    min-height:48px;
    border-radius:13px;
    padding:0 17px;
    font-size:.78rem;
    font-weight:800;
}

.resume-page .btn-neo{
    color:#06101c;
    background:linear-gradient(135deg, #dffaff, var(--resume-accent) 62%, #8ebfff);
    box-shadow:0 16px 36px rgba(25,155,255,.2);
}

.resume-page .btn-ghost{
    color:#eaf4ff;
    background:rgba(11,22,38,.72);
}

.resume-page button.btn-ghost{
    cursor:pointer;
}

.resume-page .hero-metrics{
    max-width:680px;
    gap:10px;
    margin-top:24px;
}

.resume-page .metric-pill{
    min-height:84px;
    padding:15px 16px;
    border-color:rgba(148,163,184,.16);
    border-radius:15px;
    background:rgba(11,20,34,.62);
    backdrop-filter:blur(12px);
}

.resume-page .metric-pill strong{
    color:#f8fbff;
    font:700 1.28rem var(--resume-heading);
}

.resume-page .metric-pill span{
    color:#8fa0b5;
    font-size:.78rem;
    line-height:1.35;
}

.executive-profile{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.2);
    border-radius:30px;
    background:
        linear-gradient(145deg, rgba(17,31,53,.96), rgba(7,13,24,.94)),
        var(--resume-surface);
    box-shadow:0 34px 100px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.08);
    transform-style:preserve-3d;
}

.executive-profile::before{
    content:'';
    position:absolute;
    top:-130px;
    right:-90px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(88,215,255,.19), transparent 66%);
    pointer-events:none;
}

.executive-profile::after{
    content:'';
    position:absolute;
    right:24px;
    bottom:20px;
    width:70px;
    height:70px;
    border:1px solid rgba(139,124,255,.16);
    border-radius:20px;
    transform:rotate(18deg);
    pointer-events:none;
}

.profile-card-top{
    min-height:55px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0 23px;
    border-bottom:1px solid rgba(148,163,184,.13);
    background:rgba(3,8,16,.42);
}

.profile-label{
    color:#cbd8e8;
    font-size:.71rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.profile-status{
    display:flex;
    align-items:center;
    gap:8px;
    color:#91a5bc;
    font-size:.68rem;
    font-weight:600;
}

.profile-status i{
    width:6px;
    height:6px;
    flex-basis:6px;
}

.profile-identity{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:20px;
    align-items:center;
    padding:27px 27px 22px;
}

.profile-avatar{
    width:92px;
    height:92px;
    display:grid;
    place-items:center;
    position:relative;
    border:1px solid rgba(88,215,255,.38);
    border-radius:25px;
    color:#06101c;
    background:
        linear-gradient(145deg, rgba(255,255,255,.72), transparent 42%),
        linear-gradient(145deg, #8ee9ff, var(--resume-accent-strong) 58%, var(--resume-violet));
    box-shadow:0 18px 42px rgba(25,155,255,.24);
}

.profile-avatar span{
    font:800 2rem var(--resume-heading);
    letter-spacing:-.09em;
}

.profile-avatar i{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    position:absolute;
    right:-7px;
    bottom:-7px;
    border:4px solid #0b1423;
    border-radius:10px;
    color:#06101c;
    background:var(--resume-green);
    font-size:.62rem;
}

.profile-hello{
    color:#8295ac;
    font-size:.75rem;
    font-weight:600;
}

.profile-identity h2{
    margin:3px 0 5px;
    color:#fff;
    font:700 clamp(1.45rem, 2.2vw, 2rem)/1.04 var(--resume-heading);
    letter-spacing:-.04em;
    text-transform:none;
}

.profile-identity p{
    color:#9caec3;
    font-size:.78rem;
}

.profile-identity p strong{
    color:var(--resume-accent);
}

.profile-role{
    margin:0 27px;
    padding:17px 18px;
    border:1px solid rgba(88,215,255,.17);
    border-radius:17px;
    background:linear-gradient(115deg, rgba(88,215,255,.08), rgba(139,124,255,.055));
}

.profile-role > span{
    display:block;
    margin-bottom:4px;
    color:#7e93ab;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.profile-role > strong{
    display:block;
    color:#edf7ff;
    font:700 1.05rem var(--resume-heading);
}

.profile-role p{
    margin:5px 0 0;
    color:#91a4bb;
    font-size:.7rem;
    line-height:1.45;
}

.profile-checklist{
    display:grid;
    gap:11px;
    margin:0;
    padding:22px 27px;
    list-style:none;
}

.profile-checklist li{
    display:grid;
    grid-template-columns:20px 1fr;
    gap:8px;
    align-items:start;
    color:#a8b7c9;
    font-size:.75rem;
    line-height:1.5;
}

.profile-checklist i{
    margin-top:2px;
    color:var(--resume-green);
}

.profile-checklist strong{
    color:#eff7ff;
}

.profile-links{
    display:grid;
    grid-template-columns:1.35fr .8fr;
    gap:9px;
    padding:0 27px 27px;
}

.profile-links a{
    min-width:0;
    min-height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 10px;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.16);
    border-radius:13px;
    color:#dce8f5;
    background:rgba(3,8,16,.46);
    font-size:.67rem;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

.profile-links a:hover{
    border-color:rgba(88,215,255,.45);
    background:rgba(88,215,255,.08);
}

.profile-links i{
    color:var(--resume-accent);
    font-size:.95rem;
}

.resume-page .portfolio-ticker{
    border-color:rgba(148,163,184,.14);
    background:rgba(4,9,17,.82);
}

.resume-page .ticker-track{
    min-height:54px;
}

.resume-page .ticker-track span{
    color:#9fb0c4;
    font:700 .68rem 'Inter', sans-serif;
    letter-spacing:.08em;
}

.resume-page .ticker-track i{
    background:var(--resume-accent);
    box-shadow:0 0 16px rgba(88,215,255,.65);
}

.recruiter-snapshot{
    padding:76px 0 70px;
    border-bottom:1px solid rgba(148,163,184,.1);
}

.snapshot-heading{
    display:grid;
    grid-template-columns:54px minmax(300px, 1fr) minmax(280px, 400px);
    gap:24px;
    align-items:end;
    margin-bottom:28px;
}

.snapshot-number{
    color:rgba(88,215,255,.35);
    font:700 2.5rem var(--resume-heading);
    letter-spacing:-.08em;
}

.snapshot-heading h2,
.resume-page #sobre-dev h2,
.resume-page #stack-dev h2,
.journey-heading h2{
    max-width:780px;
    margin:10px 0 0;
    color:#f8fbff;
    font:700 clamp(2.25rem, 4.5vw, 4.25rem)/.98 var(--resume-heading);
    letter-spacing:-.055em;
    text-transform:none;
}

.snapshot-heading > p,
.journey-heading > p{
    margin:0;
    color:#93a5ba;
    font-size:.92rem;
    line-height:1.7;
}

.snapshot-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    overflow:hidden;
    border:1px solid var(--resume-line);
    border-radius:22px;
    background:rgba(9,17,30,.62);
}

.snapshot-grid article{
    min-height:162px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:22px;
    padding:24px;
    position:relative;
    border-right:1px solid var(--resume-line);
}

.snapshot-grid article:last-child{
    border-right:0;
}

.snapshot-grid article::after{
    content:'';
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:2px;
    background:linear-gradient(90deg, transparent, var(--resume-accent), transparent);
    opacity:0;
    transform:scaleX(.5);
    transition:.25s ease;
}

.snapshot-grid article:hover::after{
    opacity:1;
    transform:scaleX(1);
}

.snapshot-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid rgba(88,215,255,.2);
    border-radius:12px;
    color:var(--resume-accent);
    background:rgba(88,215,255,.08);
}

.snapshot-grid strong{
    color:#edf6ff;
    font:700 .94rem var(--resume-heading);
}

.snapshot-grid p{
    margin:7px 0 0;
    color:#8799ae;
    font-size:.74rem;
    line-height:1.55;
}

.resume-page #sobre-dev{
    padding:108px 0;
}

.resume-page #sobre-dev .split-section{
    grid-template-columns:minmax(0, 1.08fr) minmax(360px, .72fr);
    gap:70px;
}

.about-copy > p{
    max-width:700px;
    margin:20px 0 0;
    color:#aab8ca;
    font-size:.98rem;
    line-height:1.82;
}

.about-copy > p strong{
    color:#eaf4ff;
}

.about-copy blockquote{
    max-width:700px;
    display:grid;
    grid-template-columns:34px 1fr;
    gap:14px;
    margin:27px 0 0;
    padding:19px 22px;
    border:1px solid rgba(88,215,255,.16);
    border-left:3px solid var(--resume-accent);
    border-radius:0 17px 17px 0;
    background:rgba(88,215,255,.055);
}

.about-copy blockquote i{
    color:var(--resume-accent);
    font-size:1.15rem;
}

.about-copy blockquote p{
    margin:0;
    color:#c9d6e4;
    font-size:.88rem;
    font-weight:600;
    line-height:1.62;
}

.resume-page .about-panel{
    padding:14px;
    border-color:rgba(148,163,184,.18);
    border-radius:25px;
    background:linear-gradient(145deg, rgba(16,29,48,.88), rgba(8,14,25,.9));
    box-shadow:0 30px 80px rgba(0,0,0,.35);
    transform:none;
}

.about-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:9px 10px 17px;
    color:#91a5bc;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.about-panel-head i{
    color:var(--resume-accent);
    font-size:1.05rem;
}

.resume-page .about-panel .panel-row{
    min-height:78px;
    grid-template-columns:37px 1fr auto;
    gap:12px;
    margin-bottom:8px;
    padding:13px;
    border:1px solid rgba(148,163,184,.11);
    border-radius:15px;
    background:rgba(3,8,16,.45);
}

.resume-page .about-panel .panel-row:last-child{
    margin-bottom:0;
}

.resume-page .about-panel .panel-row > i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:var(--resume-accent);
    background:rgba(88,215,255,.08);
}

.resume-page .about-panel .panel-row strong{
    color:#edf5ff;
    font-size:.79rem;
}

.resume-page .about-panel .panel-row span{
    display:block;
    margin-top:3px;
    color:#8295aa;
    font-size:.67rem;
    line-height:1.45;
}

.resume-page .about-panel .panel-row em{
    color:rgba(88,215,255,.44);
    font:700 .67rem var(--resume-heading);
}

.resume-page #stack-dev{
    padding:100px 0 110px;
    border-block:1px solid rgba(148,163,184,.09);
    background:linear-gradient(180deg, rgba(11,20,34,.35), rgba(4,8,15,.16));
}

.resume-page #stack-dev .section-title{
    max-width:920px;
    margin-bottom:38px;
}

.resume-page #stack-dev .section-title p{
    max-width:760px;
    margin-top:20px;
    color:#93a5ba;
    font-size:.96rem;
    line-height:1.72;
}

.resume-page .resume-stack-grid{
    gap:14px;
}

.resume-page .resume-stack-grid .service-card{
    min-height:235px;
    padding:25px;
    border-color:rgba(148,163,184,.15);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(16,28,47,.78), rgba(7,13,23,.78));
    box-shadow:none;
}

.resume-page .resume-stack-grid .service-card::before{
    background:linear-gradient(90deg, var(--resume-accent), var(--resume-violet));
}

.resume-page .resume-stack-grid .service-card:hover{
    border-color:rgba(88,215,255,.4);
    transform:translateY(-5px);
}

.resume-page .resume-stack-grid .service-card > i{
    width:46px;
    height:46px;
    margin-bottom:25px;
    border:1px solid rgba(88,215,255,.17);
    border-radius:13px;
    color:var(--resume-accent);
    background:rgba(88,215,255,.075);
    font-size:1.2rem;
}

.resume-page .resume-stack-grid h3{
    color:#edf5ff;
    font:700 1.02rem var(--resume-heading);
    letter-spacing:-.02em;
}

.resume-page .resume-stack-grid p{
    margin:0;
    color:#8496aa;
    font-size:.78rem;
    line-height:1.65;
}

.resume-page .project-showcase{
    padding-top:112px;
}

.resume-page .showcase-heading h2,
.resume-page .more-heading h2{
    color:#f8fbff;
    font:700 clamp(2.4rem, 4.8vw, 4.5rem)/.96 var(--resume-heading);
    letter-spacing:-.06em;
    text-transform:none;
}

.resume-page .showcase-heading h2 span{
    color:var(--resume-accent);
}

.resume-page .showcase-heading > p{
    color:#8fa1b5;
    font-size:.88rem;
}

.resume-page .showcase-viewport{
    border-color:rgba(148,163,184,.18);
    background:#070d17;
}

.resume-page .showcase-copy p,
.resume-page .showcase-tags span,
.resume-page .project-open,
.resume-page .project-link,
.resume-page .portfolio-card p,
.resume-page .card-tags span{
    font-family:'Inter', sans-serif;
}

.resume-page .showcase-copy p{
    font-size:.88rem;
}

.resume-page .portfolio-more{
    padding-top:72px;
}

.professional-journey{
    padding:112px 0;
    border-top:1px solid rgba(148,163,184,.1);
}

.journey-heading{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(280px, 390px);
    gap:50px;
    align-items:end;
    margin-bottom:38px;
}

.experience-grid{
    display:grid;
    grid-template-columns:minmax(0, 1.34fr) minmax(330px, .66fr);
    gap:16px;
    align-items:stretch;
}

.experience-card,
.work-method{
    border:1px solid rgba(148,163,184,.17);
    border-radius:25px;
    background:linear-gradient(145deg, rgba(16,29,49,.88), rgba(7,13,23,.88));
    box-shadow:0 28px 80px rgba(0,0,0,.28);
}

.experience-card{
    padding:32px;
}

.experience-card-head{
    display:flex;
    justify-content:space-between;
    gap:30px;
    padding-bottom:25px;
    border-bottom:1px solid rgba(148,163,184,.12);
}

.experience-period{
    display:flex;
    align-items:center;
    gap:9px;
    color:#a7f8d6;
    font-size:.69rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.experience-card h3{
    max-width:600px;
    margin:12px 0 7px;
    color:#f8fbff;
    font:700 clamp(1.55rem, 2.7vw, 2.5rem)/1.03 var(--resume-heading);
    letter-spacing:-.045em;
}

.experience-card-head p{
    margin:0;
    color:#8699ae;
    font-size:.78rem;
}

.experience-mark{
    min-width:84px;
    color:rgba(88,215,255,.24);
    font:700 1rem/1.05 var(--resume-heading);
    letter-spacing:.07em;
    text-align:right;
}

.experience-summary{
    margin:24px 0 20px;
    color:#a6b5c7;
    font-size:.88rem;
    line-height:1.72;
}

.achievement-list{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.achievement-list li{
    display:grid;
    grid-template-columns:23px 1fr;
    gap:10px;
    color:#98aabd;
    font-size:.78rem;
    line-height:1.62;
}

.achievement-list i{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:var(--resume-green);
    background:rgba(86,242,177,.08);
    font-size:.58rem;
}

.achievement-list strong{
    color:#dce7f3;
}

.experience-stack{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:25px;
}

.experience-stack span{
    min-height:28px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border:1px solid rgba(88,215,255,.16);
    border-radius:999px;
    color:#b8c9da;
    background:rgba(88,215,255,.05);
    font-size:.64rem;
    font-weight:700;
}

.work-method{
    padding:25px;
}

.work-method-label{
    display:block;
    margin-bottom:17px;
    color:#8fa2b7;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.work-method ol{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.work-method li{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:10px;
    padding:14px;
    border:1px solid rgba(148,163,184,.1);
    border-radius:14px;
    background:rgba(3,8,16,.42);
}

.work-method li > span{
    color:rgba(88,215,255,.52);
    font:700 .7rem var(--resume-heading);
}

.work-method strong{
    color:#eaf4ff;
    font:700 .83rem var(--resume-heading);
}

.work-method p{
    margin:3px 0 0;
    color:#7f91a6;
    font-size:.67rem;
    line-height:1.48;
}

.method-result{
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:13px;
    padding:15px;
    border:1px solid rgba(86,242,177,.16);
    border-radius:15px;
    background:rgba(86,242,177,.05);
}

.method-result > i{
    color:var(--resume-green);
}

.method-result span{
    display:block;
    color:#789088;
    font-size:.61rem;
    text-transform:uppercase;
}

.method-result strong{
    display:block;
    margin-top:2px;
    color:#dffbed;
    font-size:.72rem;
}

.resume-page #contato-dev{
    padding:62px 0 116px;
}

.resume-page .resume-cta{
    max-width:1000px;
    padding:58px 48px;
    overflow:hidden;
    position:relative;
    border-color:rgba(88,215,255,.22);
    border-radius:30px;
    background:
        radial-gradient(circle at 50% 0, rgba(88,215,255,.12), transparent 46%),
        linear-gradient(145deg, rgba(16,30,49,.94), rgba(7,14,25,.96));
    box-shadow:0 35px 100px rgba(0,0,0,.36);
}

.resume-page .resume-cta::before,
.resume-page .resume-cta::after{
    content:'';
    position:absolute;
    width:160px;
    height:160px;
    border:1px solid rgba(88,215,255,.1);
    border-radius:38px;
    pointer-events:none;
}

.resume-page .resume-cta::before{
    top:-80px;
    left:-80px;
    transform:rotate(24deg);
}

.resume-page .resume-cta::after{
    right:-90px;
    bottom:-90px;
    border-color:rgba(139,124,255,.12);
    transform:rotate(38deg);
}

.resume-page .cta-spotlight{
    margin:0 auto 18px;
}

.cta-name{
    margin:0 0 13px !important;
    color:#8fa2b7 !important;
    font-size:.72rem !important;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.cta-name strong{
    color:var(--resume-accent);
}

.resume-page .resume-cta h2{
    max-width:800px;
    margin:0 auto 19px;
    color:#f8fbff;
    font:700 clamp(2.45rem, 5.1vw, 5rem)/.95 var(--resume-heading);
    letter-spacing:-.065em;
    text-transform:none;
}

.resume-page .resume-cta h2::after{
    display:none;
}

.resume-page .resume-cta > p:not(.cta-name){
    max-width:700px;
    color:#9cadc0;
    font-size:.91rem;
    line-height:1.72;
}

.resume-page .resume-cta .cta-row{
    position:relative;
    z-index:2;
    gap:10px;
    margin-top:28px;
}

.resume-page > footer{
    position:static;
    padding:25px 20px;
    border-color:rgba(148,163,184,.1);
    background:rgba(3,7,13,.7);
}

.resume-page > footer p{
    color:#687b91;
    font-size:.67rem;
    letter-spacing:.04em;
}

.resume-page > footer strong{
    color:#9bafc5;
}

.print-resume{
    display:none;
}

@media (max-width:1120px){
    .header-print span{
        display:none;
    }

    .header-print{
        width:38px;
        padding:0;
    }

    .resume-page nav.desktop a{
        padding:0 8px;
        font-size:.7rem;
    }
}

@media (max-width:900px){
    .resume-page .container{
        width:min(100% - 32px, 720px);
    }

    .resume-page .site-header .header-print{
        display:none;
    }

    .resume-page .resume-hero{
        min-height:auto;
        padding:122px 0 70px;
    }

    .resume-page .resume-hero .hero-grid,
    .resume-page #sobre-dev .split-section,
    .journey-heading,
    .experience-grid{
        grid-template-columns:1fr;
    }

    .resume-page .resume-hero .hero-grid{
        gap:36px;
    }

    .resume-page .hero-copy{
        order:1;
    }

    .executive-profile{
        order:2;
        width:min(100%, 600px);
    }

    .resume-page #globe-canvas-container{
        opacity:.28;
        -webkit-mask-image:linear-gradient(to bottom, #000, transparent 88%);
        mask-image:linear-gradient(to bottom, #000, transparent 88%);
    }

    .snapshot-heading{
        grid-template-columns:46px 1fr;
        align-items:start;
    }

    .snapshot-heading > p{
        grid-column:2;
    }

    .snapshot-grid{
        grid-template-columns:1fr 1fr;
    }

    .snapshot-grid article:nth-child(2){
        border-right:0;
    }

    .snapshot-grid article:nth-child(-n+2){
        border-bottom:1px solid var(--resume-line);
    }

    .resume-page #sobre-dev .split-section{
        gap:42px;
    }

    .resume-page .about-panel{
        width:min(100%, 620px);
    }

    .journey-heading{
        gap:18px;
    }
}

@media (max-width:560px){
    .resume-page .container{
        width:min(100% - 24px, 520px);
    }

    .resume-page .brand-monogram{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .resume-page .brand-copy strong{
        font-size:.7rem;
    }

    .resume-page .brand-copy small{
        font-size:.59rem;
    }

    .resume-page .resume-hero{
        padding-top:105px;
        padding-bottom:52px;
    }

    .availability-pill{
        font-size:.61rem;
    }

    .resume-page .hero-intro{
        margin-top:22px;
    }

    .resume-page .hero-copy h1{
        font-size:clamp(2.65rem, 14.2vw, 4rem);
        line-height:.91;
        letter-spacing:-.065em;
    }

    .nickname-line{
        flex-wrap:wrap;
        gap:8px;
        margin:15px 0 21px;
        font-size:.76rem;
    }

    .nickname-line::before{
        display:none;
    }

    .resume-page .hero-role{
        font-size:1.3rem;
    }

    .resume-page .hero-copy .hero-summary{
        font-size:.9rem;
        line-height:1.68;
    }

    .resume-page .hero-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .resume-page .hero-actions .btn-neo{
        grid-column:1/-1;
    }

    .resume-page .hero-actions .btn-ghost{
        padding:0 10px;
        font-size:.69rem;
    }

    .resume-page .hero-metrics{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:7px;
    }

    .resume-page .hero-grid > .hero-metrics,
    .resume-page .hero-metrics .metric-pill{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .resume-page .metric-pill{
        min-height:82px;
        padding:12px 9px;
    }

    .resume-page .metric-pill strong{
        font-size:1.05rem;
    }

    .resume-page .metric-pill span{
        font-size:.62rem;
    }

    .profile-card-top{
        padding:0 17px;
    }

    .profile-status{
        display:none;
    }

    .profile-identity{
        grid-template-columns:68px 1fr;
        gap:14px;
        padding:22px 18px 18px;
    }

    .profile-avatar{
        width:68px;
        height:68px;
        border-radius:19px;
    }

    .profile-avatar span{
        font-size:1.5rem;
    }

    .profile-identity h2{
        font-size:1.25rem;
    }

    .profile-role{
        margin:0 18px;
    }

    .profile-checklist{
        padding:19px 18px;
    }

    .profile-links{
        grid-template-columns:1fr;
        padding:0 18px 20px;
    }

    .recruiter-snapshot,
    .resume-page #sobre-dev,
    .resume-page #stack-dev,
    .professional-journey{
        padding:72px 0;
    }

    .snapshot-heading{
        grid-template-columns:1fr;
        gap:12px;
    }

    .snapshot-number{
        display:none;
    }

    .snapshot-heading > p{
        grid-column:auto;
    }

    .snapshot-heading h2,
    .resume-page #sobre-dev h2,
    .resume-page #stack-dev h2,
    .journey-heading h2{
        font-size:2.2rem;
    }

    .snapshot-grid{
        grid-template-columns:1fr;
    }

    .snapshot-grid article{
        min-height:0;
        display:grid;
        grid-template-columns:42px 1fr;
        gap:15px;
        border-right:0;
        border-bottom:1px solid var(--resume-line);
    }

    .snapshot-grid article:nth-child(3){
        border-bottom:1px solid var(--resume-line);
    }

    .snapshot-grid article:last-child{
        border-bottom:0;
    }

    .about-copy > p{
        font-size:.88rem;
        line-height:1.75;
    }

    .about-copy blockquote{
        grid-template-columns:25px 1fr;
        padding:17px;
    }

    .resume-page .resume-stack-grid{
        grid-template-columns:1fr;
    }

    .resume-page .resume-stack-grid .service-card{
        min-height:0;
    }

    .experience-card{
        padding:22px;
    }

    .experience-card-head{
        display:block;
    }

    .experience-mark{
        display:none;
    }

    .experience-card h3{
        font-size:1.65rem;
    }

    .work-method{
        padding:18px;
    }

    .resume-page #contato-dev{
        padding:30px 0 76px;
    }

    .resume-page .resume-cta{
        padding:42px 20px;
        border-radius:24px;
    }

    .resume-page .resume-cta h2{
        font-size:2.3rem;
    }

    .resume-page .resume-cta .cta-row{
        display:grid;
    }

    .resume-page .resume-cta .btn-neo,
    .resume-page .resume-cta .btn-ghost{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .resume-page *,
    .resume-page *::before,
    .resume-page *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}

@page{
    size:A4;
    margin:12mm;
}

@media print{
    body.resume-page{
        background:#fff !important;
        color:#172033 !important;
        overflow:visible;
        print-color-adjust:exact;
        -webkit-print-color-adjust:exact;
    }

    body.resume-page > *{
        display:none !important;
    }

    body.resume-page > .print-resume{
        display:block !important;
    }

    .print-resume,
    .print-resume *{
        box-sizing:border-box;
        font-family:Arial, sans-serif !important;
    }

    .print-resume{
        width:100%;
        color:#172033;
        font-size:9.2pt;
        line-height:1.42;
    }

    .print-resume a{
        color:#1564b8;
        text-decoration:none;
    }

    .print-resume .print-header{
        display:grid;
        grid-template-columns:55px 1fr auto;
        gap:15px;
        align-items:center;
        position:static;
        width:auto;
        padding:0 0 14px;
        border-bottom:2px solid #1b86d6;
        background:none;
        color:#172033;
    }

    .print-monogram{
        width:52px;
        height:52px;
        display:grid;
        place-items:center;
        border-radius:13px;
        color:#fff;
        background:#176fb2;
        font-size:16pt;
        font-weight:800;
    }

    .print-header span{
        color:#577087;
        font-size:7pt;
        font-weight:700;
        letter-spacing:.1em;
        text-transform:uppercase;
    }

    .print-header h1{
        margin:1px 0 0;
        color:#0d1b2a;
        font-size:24pt;
        line-height:1;
        letter-spacing:-.04em;
    }

    .print-header p{
        margin:3px 0 0;
        color:#176fb2;
        font-size:9pt;
        font-weight:700;
    }

    .print-contact{
        display:grid;
        gap:4px;
        text-align:right;
        font-size:7.5pt;
    }

    .print-resume section{
        padding:0;
    }

    .print-resume h2{
        margin:0 0 7px;
        color:#176fb2;
        font-size:10pt;
        font-weight:800;
        letter-spacing:.06em;
        text-transform:uppercase;
    }

    .print-summary{
        margin-top:14px;
        padding:11px 13px !important;
        border-left:3px solid #1b86d6;
        background:#eff7fd;
    }

    .print-summary p{
        margin:0;
    }

    .print-columns{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:22px;
        margin-top:15px;
    }

    .print-columns ul,
    .print-experience ul{
        margin:0;
        padding-left:17px;
    }

    .print-columns li,
    .print-experience li{
        margin-bottom:3px;
    }

    .print-tags{
        display:flex;
        flex-wrap:wrap;
        gap:5px;
    }

    .print-tags span{
        padding:4px 7px;
        border:1px solid #c6d7e4;
        border-radius:12px;
        background:#f5f9fc;
        font-size:7.5pt;
        font-weight:700;
    }

    .print-experience{
        margin-top:16px;
        padding-top:12px !important;
        border-top:1px solid #d7e1e9;
        break-inside:avoid;
    }

    .print-title-row{
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .print-title-row span{
        color:#397c56;
        font-size:7.5pt;
        font-weight:700;
        text-transform:uppercase;
    }

    .print-experience h3{
        margin:0;
        color:#172033;
        font-size:12pt;
    }

    .print-subtitle{
        margin:2px 0 8px;
        color:#607487;
        font-size:8pt;
    }

    .print-projects{
        margin-top:15px;
        padding-top:12px !important;
        border-top:1px solid #d7e1e9;
    }

    .print-projects > div{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .print-projects article{
        min-height:82px;
        padding:9px 10px;
        border:1px solid #d7e1e9;
        border-radius:8px;
        break-inside:avoid;
    }

    .print-projects h3{
        margin:0 0 4px;
        color:#172033;
        font-size:9pt;
    }

    .print-projects p{
        margin:0 0 5px;
        color:#4f6274;
        font-size:7.4pt;
        line-height:1.35;
    }

    .print-projects article span{
        color:#176fb2;
        font-size:6.7pt;
        font-weight:700;
    }

    .print-resume .print-footer{
        display:flex;
        justify-content:space-between;
        position:static;
        margin-top:13px;
        padding:9px 0 0;
        border-top:1px solid #d7e1e9;
        background:none;
        color:#65798c;
        font-size:7.2pt;
    }

    .print-footer strong{
        color:#172033;
    }
}
