/* Clear CV hierarchy, with the original visual work kept as supporting material. */
@property --personal-edge-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.cv-layout .section-shell{width:min(1160px,calc(100% - 80px))}
.cv-layout .section-space{padding-block:72px}
.cv-layout .site-header{height:78px;padding-inline:40px}
.cv-layout .site-header nav{gap:24px;font-size:12px}
.cv-layout .hero{grid-template-columns:1.2fr .8fr;gap:35px 64px;padding-top:46px}
.cv-layout .hero h1.cv-title{font-size:clamp(48px,5.2vw,70px);letter-spacing:-3px;margin:20px 0 16px}
.cv-layout .cv-profession{font-size:22px;line-height:1.4}
.cv-layout .hero-description{max-width:560px;font-size:14px;line-height:1.85}
.cv-layout .cv-at-a-glance{margin-top:20px}
.cv-layout .hero .hero-person{margin-top:22px;gap:18px}
.cv-layout .hero .hero-person img{width:90px;height:108px;border-radius:10px;object-fit:cover;object-position:center 30%}
.cv-layout .hero .hero-person span{font-size:14px;line-height:1.6}
.cv-layout .hero .hero-person small{font-size:8px;line-height:1.8;margin-top:7px}
.cv-direct-contact{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;font-size:12px;color:var(--muted)}
.cv-direct-contact a:hover{color:var(--accent)}
.cv-layout .hero-art{align-self:center;min-width:0}
.cv-art-caption{font:9px var(--mono);letter-spacing:1px;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
.cv-layout .stage-top{display:none}
.cv-layout .scene-wrap{height:300px}
.cv-layout .orbit-caption{display:none}
.cv-layout .hero-bottom{padding:22px 0;border-bottom:1px solid var(--line)}
.cv-personal-note{font-size:13px;color:var(--muted);line-height:1.9;margin-top:24px;padding:18px 0 0;border-top:1px solid var(--line)}
.cv-layout .section-heading{margin-bottom:30px;align-items:end}
.cv-layout .section-heading h2,.cv-layout .education h2{font-size:clamp(32px,3.4vw,44px);line-height:1.14;letter-spacing:-1.6px;font-weight:500;margin-top:16px}
.cv-layout .project-grid{grid-template-columns:1fr;gap:20px}
.cv-layout .project-open{display:grid;grid-template-columns:290px 1fr;gap:30px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);width:100%;text-align:left}
.cv-layout .project-art{height:215px;width:100%;border-radius:8px}
.cv-layout .project-art svg{width:100%;height:100%}
.cv-layout .project-meta{margin:0 0 13px;font-size:9px}
.cv-layout .project-card h3{font-size:26px}
.cv-layout .project-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cv-layout .project-summary p{max-width:none;font-size:13px;margin:14px 0 18px}
.cv-layout .project-cta{font-size:11px}
.cv-layout .github-spotlight{grid-template-columns:70px 1fr auto;padding:24px;gap:25px;margin-top:26px}
.cv-layout .github-logo{width:64px;height:64px;margin:0}
.cv-layout .github-visual>span,.cv-layout .github-handle{display:none}
.cv-layout .github-copy h3{font-size:24px;letter-spacing:-.6px;margin:8px 0}
.cv-layout .github-action{grid-column:auto;margin-top:0}
.cv-layout .education{margin:0;padding:0;border:0;grid-template-columns:.7fr 1.3fr;gap:64px}
.cv-layout .education-overview>.education-intro{margin-top:0;padding-top:20px}
.cv-layout .education-timeline h3{font-size:20px;line-height:1.5;letter-spacing:-.5px;margin:14px 0 10px;font-weight:500}
.cv-layout .education article{padding-bottom:36px}
.cv-layout .education article:last-child{padding-bottom:0}
.cv-layout .education-details{font-size:13px}
.cv-skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cv-skill-grid .skill-panel{padding:0;min-width:0}
.cv-skill-grid .skill-panel h3{font-size:22px;line-height:1.3;letter-spacing:-.6px}
.cv-skill-grid .skill-panel>p{font-size:13px}
.cv-layout .languages{margin-top:36px;padding-top:24px}
.cv-layout .languages h3{font-size:11px;margin-bottom:18px}
.cv-layout .languages>div{gap:50px}
.cv-layout .contact{margin-top:64px;padding:36px}
.cv-layout .contact h2{font-size:clamp(32px,4vw,50px)}
.cv-layout #sobre-mi{scroll-margin-top:100px}
.cv-layout .hero .hero-person{gap:22px}
.cv-layout .hero .hero-person img{width:104px;height:124px;transform:rotate(-2deg);border:1px solid var(--line);padding:4px;background:var(--surface);border-radius:5px}
.cv-layout .hero .hero-person span{font-size:19px;font-weight:500;letter-spacing:-.4px}
.cv-layout .cv-personal-note{position:relative;padding:20px 0 0 20px;border-top:0;border-left:1px solid var(--line);margin-top:28px}
.personal-note-label{display:block;font:10px var(--mono);letter-spacing:.6px;color:var(--muted);margin-bottom:12px}
.cv-personal-note p{line-height:1.85}
.cv-personal-note p+p{margin-top:10px}
.personal-signoff{display:inline-block;font:italic 26px Georgia,serif;color:var(--text);margin-top:12px;transform:rotate(-3deg)}
.personal-signoff>span{color:var(--accent)}
.cv-layout .project-open{position:relative;isolation:isolate}
.cv-layout .project-open::after,.cv-layout .github-spotlight::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--personal-edge-angle),transparent 0deg 270deg,var(--accent) 318deg,transparent 360deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.32;animation:personal-edge-drift 24s linear infinite;animation-play-state:paused;transition:opacity .8s ease;z-index:1}
.cv-layout .project-card:nth-child(2) .project-open::after{animation-delay:-8s}
.cv-layout .project-card:nth-child(3) .project-open::after{animation-delay:-16s}
.cv-layout .github-spotlight::after{animation-delay:-4s;animation-duration:28s}
.cv-layout .project-card.art-in-view .project-open::after,.cv-layout .github-spotlight.art-in-view::after{animation-play-state:running}
.cv-layout .project-open:hover::after,.cv-layout .project-open:focus-visible::after,.cv-layout .github-spotlight:hover::after,.cv-layout .github-spotlight:focus-visible::after{opacity:.55}
.cv-layout .github-spotlight::before{animation-duration:18s;opacity:.45}
.cv-layout .project-cta>span{transition:transform .7s ease}
.cv-layout .project-open:hover .project-cta>span{transform:translate(2px,-2px)}
.cv-layout.art-paused .project-open::after,.cv-layout.art-paused .github-spotlight::after,.cv-layout.modal-open .project-open::after,.cv-layout.modal-open .github-spotlight::after{animation-play-state:paused!important}
@keyframes personal-edge-drift{to{--personal-edge-angle:360deg}}
@media(prefers-reduced-motion:reduce),print{.cv-layout .project-open::after,.cv-layout .github-spotlight::after{animation:none!important;display:none}.cv-layout .project-cta>span{transition:none;transform:none!important}}
@media(forced-colors:active){.cv-layout .project-open::after,.cv-layout .github-spotlight::after{display:none}}
@media(max-width:950px){.cv-layout .hero{gap:30px;grid-template-columns:1.15fr .85fr}.cv-layout .project-open{grid-template-columns:240px 1fr;gap:24px}.cv-layout .project-summary{grid-template-columns:1fr;gap:0}.cv-layout .project-summary p{margin:10px 0}.cv-layout .education{gap:34px}.cv-layout .site-header nav{gap:14px;font-size:11px}.cv-layout .site-header{padding-inline:24px}.cv-layout .github-spotlight{grid-template-columns:65px 1fr}.cv-layout .github-action{grid-column:2}.cv-skill-grid{grid-template-columns:1fr;gap:28px}.cv-skill-grid .skill-panel+.skill-panel{border-top:1px solid var(--line);padding-top:28px}}
@media(max-width:620px){.cv-layout .section-shell{width:calc(100% - 40px)}.cv-layout .section-space{padding-block:48px}.cv-layout .hero{grid-template-columns:1fr;padding-top:32px;gap:28px}.cv-layout .hero h1.cv-title{font-size:52px}.cv-layout .hero-art{margin-top:0}.cv-layout .scene-wrap{height:250px}.cv-layout .hero .hero-person img{width:80px;height:96px}.cv-layout .hero .hero-person span{font-size:13px}.cv-layout .hero .hero-person small{font-size:7px}.cv-layout .hero-actions{gap:16px;flex-wrap:wrap}.cv-layout .project-open{grid-template-columns:1fr;gap:20px;padding:18px}.cv-layout .project-art{height:200px}.cv-layout .project-summary{grid-template-columns:1fr}.cv-layout .project-card h3{font-size:24px}.cv-layout .education{grid-template-columns:1fr;gap:28px}.cv-layout .education-timeline h3{font-size:18px}.cv-layout .section-heading h2,.cv-layout .education h2{font-size:32px}.cv-layout .github-spotlight{grid-template-columns:52px 1fr;padding:20px;gap:16px}.cv-layout .github-logo{width:48px;height:48px}.cv-layout .github-copy h3{font-size:22px}.cv-layout .github-visual{margin:0}.cv-layout .github-action{grid-column:1/-1;justify-self:start}.cv-layout .languages>div{gap:28px}.cv-layout .contact{margin-top:40px;padding:28px 22px}.cv-layout .site-header{height:72px;padding-inline:20px}.cv-layout .site-header nav{font-size:15px}.cv-layout .hero .eyebrow{font-size:8px;letter-spacing:.8px}}
@media print{.cv-layout .hero-art,.cv-layout .project-art,.cv-layout .github-visual,.cv-layout .filters,.cv-layout .art-motion-controls,.cv-layout .contact-motion-row,.cv-layout .header-actions,.cv-layout .hero-bottom{display:none!important}.cv-layout .section-shell{width:100%}.cv-layout .hero,.cv-layout .project-open{display:block}.cv-layout .chapter-panel,.cv-layout .hero{mask-image:none!important;transform:none!important}.cv-layout .section-space{padding-block:20px}.cv-layout .project-card,.cv-layout .education article{break-inside:avoid}.cv-layout .site-header{position:static}}
