:root{color-scheme:dark;--bg:#1d1921;--surface:#302a35;--accent:#e0c3a2;--text:#f6efe8;--muted:#b7abb9;--line:#665a69;--error:#f0b7bd;--success:#c6d1be;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:Consolas,'Courier New',monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--leading:1.65;--radius:6px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--text-base);line-height:var(--leading);overflow-wrap:break-word}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--bg)}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2;font-weight:400}a,button{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);z-index:99;background:var(--accent);color:var(--bg);padding:12px}.skip:focus{transform:none}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
/* Public Black & Crimson theme. Loaded only by the portfolio build.
   Source: ORLIQ.me v4.2.1, crimson theme. Accessible variants documented in docs/RELATORIO-crimson.md. */
:root{
 --sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
 --serif:Georgia,"Times New Roman",serif;
 --bg:#0d0d0f;
 --surface:#18181b;
 --surface-raised:#242125;
 --text:#f7f4f3;
 --muted:#bdb1b6;
 --subtle:#9e9197;
 --line:#4c4147;
 --accent:#e63950;
 --accent-text:#f05268;
 --action-bg:#d32f46;
 --action-hover:#902337;
 --action-ink:#ffffff;
 --type-contact:clamp(2.875rem,3.4vw,3.5rem);
 --type-hero:clamp(76px,8.1vw,128px);
 --type-body:1.125rem;
 --type-lead:clamp(1.125rem,1.4vw,1.25rem);
 --type-reading:1.1875rem;
 --type-interest:1.5rem;
 --type-secondary:1.0625rem;
 --type-label:1rem;
 --type-nav:1rem;
 --type-action:1rem;
 --weight-body:400;
 --weight-label:500;
 --weight-action:600;
 --weight-editorial:400;
 --leading-body:1.65;
 --leading-compact:1.45;
 --tracking-body:0;
 --tracking-label:.035em;
 --tracking-heading:-.025em;
}
body{font-family:var(--sans);font-size:var(--type-body);font-weight:var(--weight-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}
@media(max-width:1050px){:root{--type-contact:2.5rem;--type-hero:clamp(64px,8.2vw,86px)}}
@media(max-width:700px){:root{--type-contact:clamp(1.75rem,12cqi,2.25rem);--type-hero:clamp(2rem,16cqi,5.375rem);--type-body:1.0625rem;--type-reading:1.125rem;--type-interest:1.375rem;--type-secondary:.9375rem;--type-nav:.9375rem}}

/* Black & Crimson - public portfolio; layout and typography preserved. */
html{scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
.wrap{width:min(1760px,92%);margin-inline:auto;container-type:inline-size}
.skip{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:20;background:var(--accent);color:var(--bg);padding:12px 20px}
.skip:focus{transform:none}

.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:88px;background:var(--bg)}
.topbar #public-navigation{grid-column:2;grid-row:1}
.nav-links,.language{display:flex;align-items:center}
.nav-links{gap:36px}
.nav-links a{font-size:var(--type-nav);font-weight:var(--weight-label);line-height:var(--leading-compact);color:var(--text);padding:14px 0;transition:color .18s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent-text)}
.language{grid-column:3;grid-row:1;justify-self:end;gap:2px}
.language a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:var(--type-label);font-weight:var(--weight-label);color:var(--muted)}
.language a[aria-current]{color:var(--accent-text);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.language a:hover{color:var(--text)}
.topbar .no-script-navigation,.menu-toggle{display:none}
@container(max-width:680px){
 .topbar{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;min-height:72px}
 .language{grid-column:2}
 .language a{min-width:44px}
 .menu-toggle:not([hidden]){grid-column:1;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:12px 0;border:0;background:none;color:var(--text);font:inherit;font-size:var(--type-nav);font-weight:var(--weight-label);min-height:44px;cursor:pointer}
 .menu-symbol{position:relative;width:16px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .18s}
 .menu-toggle[aria-expanded=true] .menu-symbol{transform:rotate(90deg)}
 .topbar #public-navigation{display:none;grid-column:1/-1;grid-row:2;padding:0 0 12px}
 .topbar[data-open] #public-navigation{display:block}
 .nav-links{justify-content:center;flex-wrap:wrap;gap:0 22px}
 .topbar noscript{grid-column:1/-1}
 .topbar .no-script-navigation{display:block;padding-bottom:12px}
}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(40px,6vw,112px);align-items:center;padding:clamp(64px,6vw,104px) 0}
.eyebrow{margin:0 0 22px;font-size:var(--type-label);line-height:var(--leading-compact);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--accent-text);font-weight:500}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--serif);font-size:var(--type-hero);font-weight:var(--weight-editorial);line-height:1.05;letter-spacing:-.055em;margin-bottom:0}
h1>span:first-child{display:block;font-size:.48em;line-height:1.3;letter-spacing:var(--tracking-heading);margin-bottom:3px}
.hero-stop{color:var(--accent)}
.hero-name .eyebrow{margin-bottom:28px}
.hero-intro{padding-top:0;min-width:0}
 .hero-intro>p{font-size:var(--type-lead);line-height:var(--leading-body);color:var(--muted);margin-bottom:28px;max-width:50ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.hero-actions a{white-space:nowrap}
.download-icon{width:19px;height:19px;flex:none}
.hero-actions .contact-action{font-weight:var(--weight-label);border-color:transparent;color:var(--muted)}
.hero-actions .contact-action:hover{color:var(--accent-text);border-color:var(--accent-text)}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;font-size:var(--type-action);font-weight:var(--weight-action);line-height:var(--leading-compact);border-bottom:1px solid var(--line);transition:color .18s,border-color .18s}
.text-link:hover{color:var(--accent-text);border-color:var(--accent-text)}
[data-resume-primary] a{border:1px solid var(--accent);border-radius:4px;color:var(--action-ink);background:var(--action-bg);padding:14px 22px;font-weight:600;min-height:48px}
[data-resume-primary] a:hover{background:var(--action-hover);border-color:var(--accent);color:var(--action-ink)}
[data-resume-primary] a:active{background:var(--action-hover)}
.contact-channel:active,.text-link:active{color:var(--accent-text)}
.resume-download{display:block}
.resume-download a{min-height:44px;gap:8px;color:var(--text);font-size:var(--type-action);font-weight:var(--weight-label);border-bottom:none}
.resume-download a:hover{text-decoration:underline;text-underline-offset:4px}
.section{border-top:1px solid var(--line);padding:clamp(56px,5vw,88px) 0}
h2{font-family:var(--serif);font-size:clamp(36px,3.6vw,56px);font-weight:var(--weight-editorial);line-height:1.16;letter-spacing:var(--tracking-heading);margin-bottom:24px}
.about-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.3fr);gap:clamp(48px,7vw,128px);align-items:center}
.about-layout picture{display:block;max-width:520px;width:100%}
.portrait{display:block;width:100%;height:auto;border-radius:5px}
.about-copy h2{max-width:23ch;text-wrap:balance}
 .about-copy>p:not(.eyebrow){font-size:var(--type-reading);line-height:var(--leading-body);color:var(--muted);max-width:60ch;margin-bottom:20px}
.education{margin:32px 0 0;border-top:1px solid var(--line)}
.education div{display:grid;grid-template-columns:165px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:var(--type-secondary)}
.education dt{color:var(--muted)}
.education dd{margin:0;text-align:right}
.interests-layout{display:block}
.interests-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px clamp(32px,3.4vw,60px)}
.interests-layout h2{max-width:none;margin-bottom:40px}
.interest-row{display:grid;grid-template-rows:subgrid;grid-row:span 2;padding:26px 0 0;border-top:1px solid var(--line)}


.interest-row h3{font-family:var(--sans);font-size:var(--type-interest);font-weight:var(--weight-label);line-height:1.35;letter-spacing:var(--tracking-heading);margin-bottom:0;text-wrap:balance}
 .interest-row p{font-size:var(--type-reading);line-height:var(--leading-body);color:var(--muted);margin-bottom:0;max-width:600px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,104px);padding:clamp(32px,4vw,64px);border:1px solid var(--line);border-radius:8px;margin:8px 0 32px;background:var(--surface)}
.contact .eyebrow{margin-bottom:16px}
.contact h2{font-size:var(--type-contact);margin-bottom:20px}
 .contact-intro>p:last-child{font-size:var(--type-reading);color:var(--muted);line-height:var(--leading-body);max-width:46ch;margin-bottom:0}
.contact-intro{align-self:center}
.contact-links{align-self:center}
.contact-channel{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-icon{display:block;width:28px;height:28px;color:var(--accent)}
.contact-copy{min-width:0}
.contact-channel:first-child{padding-top:0}
.contact-channel:last-child{border-bottom:0;padding-bottom:0}
.contact-channel strong{display:block;font-size:var(--type-body);font-weight:var(--weight-label);line-height:var(--leading-compact)}
.contact-channel small{display:block;font-size:var(--type-secondary);color:var(--muted);margin-top:3px;overflow-wrap:anywhere;line-height:1.6}
.contact-channel:hover strong{text-decoration:underline;text-underline-offset:5px}
.footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:12px 0 32px;font-size:var(--type-secondary)}
.footer>div{display:flex;gap:26px;align-items:center}
.footer-meta,.footer a{color:var(--muted)}
.footer a{min-height:44px;display:inline-flex;align-items:center;gap:14px}
.footer a:hover{color:var(--accent-text)}
.project-list article{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.project-list h3{font-size:24px;line-height:1.4}
.project-list h3 a:hover{color:var(--accent-text)}
.project-list p{color:var(--muted);margin-bottom:12px}
.project-detail{padding:clamp(56px,5vw,88px) 0;max-width:800px;margin:auto;min-height:65vh}
.project-detail h1{font-size:54px;margin:36px 0}
.project-detail h2{font-size:28px;margin:36px 0 16px}
.project-detail p{white-space:pre-line;overflow-wrap:anywhere}
.project-detail .links{display:flex;gap:24px;flex-wrap:wrap}
.project-image{display:block;max-width:100%;height:auto;margin:24px 0;border-radius:4px}

@media(max-width:1050px){
.wrap{width:92%}
.hero{gap:36px;padding:56px 0}
.hero-actions [data-resume-primary]{flex-basis:100%}

.about-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}
.interests-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}.interest-row:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:32px;margin-top:18px}.interest-row:last-child p{max-width:none}
.education div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}
.contact{gap:40px;padding:36px}
.footer>div{display:block}.footer-meta{display:block;margin-top:4px}
}
@media(min-width:701px) and (max-width:900px){
.about-layout{align-items:start}
.contact{grid-template-columns:1fr;gap:32px}
.contact-intro>p:last-child{max-width:56ch}
.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.contact-channel:first-child{grid-column:1/-1;padding-bottom:18px}
.contact-channel:last-child{padding-top:18px}
.contact-channel:nth-child(2){border-bottom:0}
}
@media(max-width:700px){
html{scroll-padding-top:100px}
.wrap{width:calc(100% - 40px)}
}
@container(max-width:680px){
.hero{display:block;padding:40px 0;--type-hero:clamp(2rem,16cqi,5.375rem)}
.hero .eyebrow{margin-bottom:20px}

.hero-intro{padding-top:26px}.hero-intro>p{margin-bottom:22px;max-width:none}
.hero-actions{gap:8px 24px}
.section{padding:40px 0}
.about-layout,.interests-layout{display:block}
.interests-list{display:block}
.about-layout picture{max-width:420px;margin:0 auto 32px}
.about-copy .eyebrow{margin-bottom:16px}
h2{font-size:34px}.about-copy h2{max-width:440px}

.education{margin-top:24px}
.interests-layout h2{max-width:none;margin-bottom:28px}
.interest-row,.interest-row:last-child{display:block;padding:24px 0;margin-top:0}.interest-row h3{font-size:var(--type-interest);margin-bottom:12px;text-wrap:initial}
.contact{display:block;padding:28px 22px;margin:4px 0 28px;--type-contact:clamp(1.75rem,12cqi,2.25rem)}
.contact-links{display:block}

.contact-links{margin-top:28px}
.footer{align-items:flex-start;gap:12px 20px;padding-bottom:24px}
.footer>div{display:block;max-width:185px}.footer-meta{display:block;margin-top:4px}.footer a{gap:8px;white-space:nowrap;min-height:44px}
.project-list article{display:block}.project-list h3{font-size:22px}
.project-detail{padding:40px 0}.project-detail h1{font-size:38px;overflow-wrap:anywhere}
}
@container(max-width:300px){
.hero-actions>[data-resume]{max-width:100%}
.hero-actions a{white-space:normal;max-width:100%}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
