/* Portfolio público: solo contenido publicado, sin scripts ni servicios externos. */
:root{font-family:"Segoe UI Variable","Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;color:#eef1f8;background:#10131b;color-scheme:dark;--accent:#9aafff;--muted:#9aa7bd;--line:#2c3546;--card:#192130;--soft:#232d40}
*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;line-height:1.15;letter-spacing:-.045em}button,a,input{ -webkit-tap-highlight-color:transparent}svg.icon{width:19px;height:19px;flex:none;vertical-align:middle}:focus-visible{outline:3px solid #637fee;outline-offset:5px}[hidden]{display:none!important}.public-visually-hidden{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.public-skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:white;padding:12px 20px;border-radius:8px}.public-skip:focus{top:15px}
.public-header{max-width:1200px;margin:auto;padding:29px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px}.public-brand{display:inline-flex;align-items:center;gap:12px;font-size:18px;font-weight:650;letter-spacing:-.03em}.brand-mark{display:flex;align-items:center;justify-content:center;width:35px;height:35px;flex:none;border-radius:11px;background:linear-gradient(180deg,#40216d,#a476e4);color:white;font-size:29px;font-weight:750;letter-spacing:-2px;line-height:1;padding:0 3px 4px 0}.brand-mark span{color:#e8dcff}.public-header nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:500}.public-access{display:flex;align-items:center;gap:9px;background:var(--soft);border:1px solid var(--line);padding:10px 15px;border-radius:8px}
#content{max-width:1200px;padding:0 36px;margin:auto;min-height:65vh}.public-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;background:#0b1019;color:#f7f8fc;border:1px solid var(--line);border-radius:20px;padding:75px 60px;align-items:center;margin:12px 0 70px}.public-eyebrow{display:block;font-size:11px;font-weight:550;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.public-hero .public-eyebrow{color:#aeb7ce}.public-hero h1{font-size:clamp(64px,7vw,94px);font-weight:650;letter-spacing:-.07em;line-height:1;margin-bottom:22px}.public-hero h1>span{color:#ad8be6}.public-headline{font-size:21px;color:#d7dded;letter-spacing:-.02em}.hero-introduction{color:#aeb9ce;max-width:480px;font-size:15px;line-height:1.8;margin:22px 0 32px}.public-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.public-button{display:inline-flex;align-items:center;gap:10px;background:#3e6fe4;color:white;border:1px solid #3e6fe4;border-radius:8px;padding:12px 18px;font-size:13px;font-weight:550}.public-button:hover{background:#2e5fce;color:white}.public-text-link{font-size:13px;font-weight:550}.public-hero .public-text-link{color:#c9d4eb}.hero-profile{background:#1c2432;border:1px solid #303a4b;border-radius:16px;padding:18px}.public-monogram{display:flex;align-items:center;justify-content:center;min-height:226px;background:#242e40;border-radius:9px;font-size:130px;font-weight:600;line-height:1;color:#c9b5f0;letter-spacing:-.06em}.public-portrait{display:block;width:100%;height:236px;object-fit:cover;border-radius:10px}.hero-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.hero-topics span{font-size:10px;padding:5px 8px;border:1px solid #34415a;color:#c0cbe0;border-radius:5px}
.public-section{padding:0 10px;margin:0 0 70px;scroll-margin-top:35px}.public-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}.public-section-heading .public-eyebrow{margin-bottom:12px}.public-section h2{font-size:31px;font-weight:600}.public-empty{padding:28px 0;color:var(--muted);font-size:14px;border-top:1px solid var(--line);width:100%}.public-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.public-project-grid>.public-empty{grid-column:1/-1}.public-project{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.public-project>img{display:block;width:100%;height:220px;object-fit:cover}.project-placeholder{display:flex;align-items:center;justify-content:center;height:160px;background:var(--soft);color:#6981b0}.project-placeholder .icon{width:45px;height:45px}.public-project-content{padding:25px}.public-project-content>span{font-size:11px;color:var(--muted)}.public-project h3{font-size:23px;font-weight:600;margin:12px 0}.public-project p{font-size:13px;color:var(--muted);line-height:1.8}.public-post{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding:26px 0}.public-post>time{font-size:11px;min-width:95px;color:var(--muted)}.public-post>div{flex:1;min-width:0}.public-post h3,.public-post h2{font-size:20px;font-weight:550}.public-post p{font-size:13px;color:var(--muted);margin-top:8px}.public-post>span{color:var(--muted)}.public-about{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px}.section-number{font-size:12px;color:var(--muted)}
.public-contact{padding:45px 50px;border:1px solid var(--line);border-radius:16px;background:var(--card);margin-bottom:50px}.public-contact h2{font-size:44px;font-weight:600;margin-bottom:20px}.public-contact>a{font-size:16px;color:var(--accent);overflow-wrap:anywhere}.public-footer{max-width:1128px;margin:auto;padding:30px 10px 45px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.public-footer>div{display:flex;gap:20px}.public-article{max-width:790px;margin:30px auto 80px}.public-back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:45px}.public-article .public-eyebrow{margin-bottom:16px}.public-article h1{font-size:clamp(34px,4vw,54px);font-weight:600;overflow-wrap:anywhere}.article-lead{font-size:18px;color:var(--muted);margin:25px 0;line-height:1.7}.article-cover{display:block;width:100%;max-height:450px;object-fit:cover;border-radius:14px;margin:35px 0}.public-prose{font-size:16px;line-height:1.85;overflow-wrap:anywhere}.public-prose p,.public-prose ul,.public-prose ol{margin:0 0 20px}.public-prose h2{font-size:28px;margin:40px 0 18px}.public-prose h3{font-size:22px;margin:32px 0 16px}.public-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.public-prose code{font-family:"Cascadia Code",Consolas,monospace;background:var(--soft);padding:2px 5px;border-radius:4px;font-size:.88em}.public-prose pre{background:#151c29;color:#e8edf7;padding:22px;border-radius:9px;overflow-x:auto;max-width:100%;font-size:13px}.public-prose pre code{background:none;padding:0}.public-prose blockquote{border-left:3px solid #9472cd;margin:25px 0;padding:5px 0 5px 25px;color:var(--muted)}.public-prose table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto}.public-prose th,.public-prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}.project-details{margin-top:35px;padding-top:25px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;flex-wrap:wrap}.project-details>p{width:100%;font-size:13px;color:var(--muted)}.blog-page{padding-top:45px;min-height:60vh}.blog-page>h1{font-size:50px;font-weight:600}.blog-page>h1>span{color:#8a62c5}.public-search{display:flex;gap:10px;margin:35px 0}.public-search input{min-width:0;background:var(--card);border:1px solid var(--line);padding:11px 15px;border-radius:7px;max-width:350px;flex:1;font-size:13px;color:#eef1f8}.public-search button{border:0;background:#315fce;color:white;border-radius:7px;padding:10px 18px;font-size:13px;cursor:pointer}.public-pagination{display:flex;justify-content:center;gap:25px;margin-top:35px;font-size:13px}.preview-banner{padding:12px;background:#ede2ff;color:#51307e;text-align:center;font-size:13px}
@media(max-width:850px){.public-header{padding:23px 25px}.public-header nav{gap:20px}.public-header nav>a:first-child{display:none}#content{padding:0 25px}.public-hero{grid-template-columns:minmax(0,1fr) 230px;padding:45px 35px;gap:30px}.public-monogram{min-height:190px;font-size:100px}.public-portrait{height:190px}.public-hero h1{font-size:68px}.public-about{grid-template-columns:1fr;gap:25px}.public-footer{margin:0 35px}.public-article{padding:0 10px}.public-hero .public-actions{gap:18px}}
@media(max-width:600px){.public-header{padding:20px;gap:15px;align-items:center}.public-brand{font-size:16px;gap:9px}.brand-mark{height:31px;width:31px;font-size:25px}.public-header nav{gap:15px;font-size:12px}.public-header nav>a:nth-child(2){display:none}.public-access{padding:8px 10px;font-size:11px}.public-access .icon{display:none}#content{padding:0 16px}.public-hero{grid-template-columns:1fr;padding:36px 26px;margin:7px 0 45px;gap:35px;border-radius:14px}.public-hero h1{font-size:68px}.public-headline{font-size:18px}.hero-introduction{font-size:14px;line-height:1.8}.hero-profile{display:flex;align-items:center;gap:20px;padding:15px}.public-monogram{height:120px;min-height:0;width:120px;font-size:76px;flex:none}.public-portrait{height:120px;width:120px;flex:none}.hero-topics{margin:0;gap:7px;align-content:center}.hero-topics span{font-size:10px}.public-section{padding:0 9px;margin-bottom:45px}.public-section h2{font-size:25px}.public-section-heading{gap:20px;align-items:flex-start}.public-section-heading>.public-text-link{font-size:11px;max-width:90px;text-align:right}.public-project-grid{grid-template-columns:1fr;gap:20px}.public-post{flex-wrap:wrap;gap:9px 15px;padding:22px 0}.public-post>time{flex-basis:100%}.public-post h3,.public-post h2{font-size:19px}.public-post p{font-size:12px}.public-empty{font-size:13px}.public-contact{padding:30px 25px;margin-bottom:35px}.public-contact h2{font-size:35px}.public-contact>a{font-size:14px}.public-footer{margin:0 25px;padding-bottom:30px;flex-wrap:wrap}.public-article{padding:0 9px;margin:20px auto 50px}.public-article h1{font-size:36px}.article-lead{font-size:16px}.public-prose{font-size:15px}.public-prose h2{font-size:24px}.public-prose h3{font-size:20px}.public-back{margin-bottom:30px}.blog-page{padding-top:25px}.blog-page>h1{font-size:37px}.public-header .public-brand{max-width:140px;overflow:hidden}.public-prose pre{padding:17px}.public-project h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
