*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{letter-spacing:.01em;color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.5}html{scroll-behavior:smooth}body{color:#111;background:#fff;min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{color:#111;font-weight:700;line-height:1.15}p{color:#444;line-height:1.7}a{color:inherit}img{max-width:100%;display:block}button{font-family:inherit}.navbar{z-index:100;background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.25rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar-logo{letter-spacing:.12em;text-transform:uppercase;color:#111;font-size:1.1rem;font-weight:700;text-decoration:none}.navbar-links{align-items:center;gap:2.5rem;display:flex}.nav-link{letter-spacing:.08em;text-transform:uppercase;color:#777;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:#111;width:0;height:1px;transition:width .25s;position:absolute;bottom:-3px;left:0}.nav-link:hover,.nav-link.active{color:#111}.nav-link:hover:after,.nav-link.active:after{width:100%}@media (width<=600px){.navbar{padding:1rem 1.25rem}.navbar-links{gap:1.25rem}}.footer{letter-spacing:.06em;color:#aaa;text-transform:uppercase;border-top:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:2rem 3rem;font-size:.78rem;display:flex}.footer-links{align-items:center;gap:.5rem;display:flex}.footer a{color:#aaa;text-decoration:none;transition:color .2s}.footer a:hover{color:#111}.footer-sep{color:#ccc}@media (width<=600px){.footer{text-align:center;flex-direction:column;gap:.75rem;padding:1.5rem 1.25rem}}.hero{border-bottom:1px solid #e0e0e0;flex-direction:column;justify-content:center;min-height:100vh;padding:0 3rem;display:flex}.hero-tag{letter-spacing:.18em;text-transform:uppercase;color:#999;margin-bottom:1.5rem;font-size:.75rem}.hero-title{color:#111;margin:0 0 1.5rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.1}.hero-name{display:inline-block;position:relative}.hero-name:after{content:"";background:#111;width:100%;height:3px;position:absolute;bottom:2px;left:0}.hero-sub{color:#555;max-width:540px;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn-primary{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#111;border:1px solid #111;padding:.85rem 2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.btn-primary:hover{background:#333}.btn-secondary{color:#111;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #ccc;padding:.85rem 2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .2s}.btn-secondary:hover{border-color:#111}.about{border-bottom:1px solid #e0e0e0;padding:6rem 3rem}.about-grid{grid-template-columns:1fr 1fr;gap:5rem;max-width:1100px;display:grid}.section-title{letter-spacing:.18em;text-transform:uppercase;color:#999;margin:0 0 2rem;font-size:.75rem}.about-text p{color:#333;margin-bottom:1.25rem;font-size:1rem;line-height:1.8}.about-info{border-top:1px solid #e0e0e0;flex-direction:column;gap:1rem;margin-top:2.5rem;padding-top:2rem;display:flex}.info-item{justify-content:space-between;font-size:.88rem;display:flex}.info-label{color:#aaa;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.info-value{color:#111;font-weight:500}.skills-title{letter-spacing:.18em;text-transform:uppercase;color:#999;margin:0 0 2rem;font-size:.75rem;font-weight:400}.skills-list{flex-direction:column;gap:2rem;display:flex}.skill-group{gap:2rem;display:flex}.skill-cat{letter-spacing:.06em;text-transform:uppercase;color:#aaa;min-width:110px;padding-top:.1rem;font-size:.78rem}.skill-items{flex-wrap:wrap;gap:.4rem .75rem;margin:0;padding:0;list-style:none;display:flex}.skill-items li{color:#222;border:1px solid #ddd;border-radius:2px;padding:.3rem .7rem;font-size:.9rem}.featured{padding:6rem 3rem}.section-header{justify-content:space-between;align-items:baseline;margin-bottom:3rem;display:flex}.see-all{letter-spacing:.08em;text-transform:uppercase;color:#777;font-size:.82rem;text-decoration:none;transition:color .2s}.see-all:hover{color:#111}.featured-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.project-card{color:inherit;border:1px solid #e0e0e0;text-decoration:none;transition:border-color .2s,transform .2s;display:block}.project-card:hover{border-color:#111;transform:translateY(-2px)}.card-img-placeholder{letter-spacing:.12em;text-transform:uppercase;color:#bbb;background:#f4f4f4;border-bottom:1px solid #e0e0e0;justify-content:center;align-items:center;height:200px;font-size:.75rem;display:flex}.card-body{padding:1.5rem}.card-meta{justify-content:space-between;margin-bottom:.75rem;display:flex}.card-tag{letter-spacing:.1em;text-transform:uppercase;color:#999;font-size:.7rem}.card-year{color:#ccc;font-size:.7rem}.card-title{color:#111;margin:0 0 .6rem;font-size:1.15rem;font-weight:700}.card-desc{color:#666;margin:0;font-size:.88rem;line-height:1.6}.competence-schemas{flex-direction:column;gap:1rem;margin-top:2.5rem;display:flex}.competence-img{background:#111;width:100%;padding:1.25rem;display:block}.card-img{object-fit:cover;border-bottom:1px solid #e0e0e0;width:100%;height:200px;display:block}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=600px){.hero,.about,.featured{padding-left:1.25rem;padding-right:1.25rem}.hero{min-height:calc(100vh - 60px)}}.projects-page{max-width:1200px;margin:0 auto;padding:8rem 3rem 6rem}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;display:flex}.page-tag{letter-spacing:.18em;text-transform:uppercase;color:#aaa;margin-bottom:.75rem;font-size:.72rem;display:block}.page-title{color:#111;margin:0 0 .75rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}.page-sub{color:#777;max-width:460px;margin:0;font-size:.95rem;line-height:1.6}.filters{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{letter-spacing:.08em;text-transform:uppercase;color:#888;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:2px;padding:.4rem 1rem;font-size:.75rem;transition:all .2s}.filter-btn:hover{color:#111;border-color:#111}.filter-btn.active{color:#fff;background:#111;border-color:#111}.projects-count{letter-spacing:.1em;text-transform:uppercase;color:#bbb;border-top:1px solid #e0e0e0;margin-bottom:3rem;padding-top:1.5rem;font-size:.75rem}.projects-grid{flex-direction:column;gap:0;display:flex}.proj-card{color:inherit;border-bottom:1px solid #e8e8e8;grid-template-columns:60px 320px 1fr;align-items:center;gap:2.5rem;padding:2.5rem 0;text-decoration:none;transition:background .15s;display:grid}.proj-card:hover{color:inherit}.proj-card:hover .proj-img-placeholder{background:#eaeaea}.proj-card:hover .proj-link{color:#111}.proj-number{letter-spacing:.1em;color:#ccc;align-self:flex-start;padding-top:.2rem;font-size:.72rem;font-weight:600}.proj-img{object-fit:cover;border:1px solid #e0e0e0;flex-shrink:0;width:320px;height:200px;transition:opacity .2s}.proj-card:hover .proj-img{opacity:.9}.proj-img-placeholder{letter-spacing:.1em;text-transform:uppercase;color:#bbb;background:#f4f4f4;border:1px solid #e0e0e0;flex-shrink:0;justify-content:center;align-items:center;width:320px;height:200px;font-size:.72rem;transition:background .2s;display:flex}.proj-info{flex-direction:column;gap:.6rem;display:flex}.proj-meta{align-items:center;gap:1.5rem;display:flex}.proj-cat{letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-size:.7rem}.proj-year{color:#ccc;font-size:.7rem}.proj-title{color:#111;margin:0;font-size:1.5rem;font-weight:700}.proj-desc{color:#666;max-width:480px;margin:0;font-size:.9rem;line-height:1.65}.proj-tags{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.proj-link{letter-spacing:.08em;text-transform:uppercase;color:#bbb;margin-top:.5rem;font-size:.78rem;transition:color .2s}@media (width<=900px){.proj-card{grid-template-columns:1fr;gap:1.25rem}.proj-img-placeholder{width:100%;height:180px}.proj-number{display:none}}@media (width<=600px){.projects-page{padding:7rem 1.25rem 4rem}.projects-header{flex-direction:column;align-items:flex-start}}.detail-page{max-width:1100px;margin:0 auto;padding:8rem 3rem 6rem}.detail-not-found{text-align:center;padding:10rem 3rem}.back-btn{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:#999;background:0 0;border:none;margin-bottom:3rem;padding:0;font-size:.78rem;text-decoration:none;transition:color .2s;display:inline-block}.back-btn:hover{color:#111}.detail-header{margin-bottom:3rem}.detail-meta{gap:1.5rem;margin-bottom:1rem;display:flex}.detail-cat{letter-spacing:.12em;text-transform:uppercase;color:#aaa;font-size:.72rem}.detail-year{color:#ccc;font-size:.72rem}.detail-title{color:#111;margin:0 0 1rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.1}.detail-short{color:#666;max-width:600px;margin:0;font-size:1.05rem;line-height:1.7}.detail-hero-img{width:100%;margin-bottom:4rem}.detail-hero-img img{object-fit:cover;border:1px solid #e0e0e0;width:100%;max-height:480px;display:block}.detail-hero-placeholder{letter-spacing:.1em;text-transform:uppercase;color:#bbb;background:#f0f0f0;border:1px solid #e0e0e0;justify-content:center;align-items:center;width:100%;height:420px;margin-bottom:4rem;font-size:.8rem;display:flex}.detail-video-wrapper{border:1px solid #e0e0e0;width:100%;height:0;margin-bottom:4rem;padding-bottom:56.25%;position:relative;overflow:hidden}.detail-video{width:100%;height:100%;position:absolute;top:0;left:0}.detail-duration{color:#ccc;font-size:.72rem}.detail-content{grid-template-columns:240px 1fr;gap:5rem;margin-bottom:5rem;display:grid}.detail-sidebar{flex-direction:column;gap:2.5rem;display:flex}.sidebar-block{flex-direction:column;gap:.6rem;display:flex}.sidebar-label{letter-spacing:.15em;text-transform:uppercase;color:#aaa;font-size:.68rem}.sidebar-value{color:#333;margin:0;font-size:.88rem;line-height:1.6}.sidebar-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{letter-spacing:.06em;text-transform:uppercase;color:#999;border:1px solid #e0e0e0;border-radius:2px;padding:.2rem .6rem;font-size:.68rem}.detail-article h2+p{margin-top:0}.article-section-title{letter-spacing:.15em;text-transform:uppercase;color:#aaa;margin:2.5rem 0 1rem;font-size:.72rem;font-weight:400}.article-section-title:first-child{margin-top:0}.detail-article p{color:#333;margin:0 0 1.25rem;font-size:1rem;line-height:1.8}.detail-gallery{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.detail-gallery--logo{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.gallery-img{aspect-ratio:16/9;object-fit:cover;border:1px solid #e0e0e0;width:100%;display:block}.gallery-img-placeholder{aspect-ratio:4/3;letter-spacing:.1em;text-transform:uppercase;color:#ccc;background:#f4f4f4;border:1px solid #e0e0e0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.detail-list{flex-direction:column;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.detail-list li{color:#333;border-left:2px solid #ddd;padding-left:1rem;font-size:.9rem;line-height:1.6}.analyse-points{grid-template-columns:1fr 1fr;gap:2rem;margin:1rem 0 2rem;display:grid}.points-title{letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:600}.points-pos{color:#555}.points-neg{color:#888}.detail-nav{border-top:1px solid #e0e0e0;justify-content:space-between;padding-top:2.5rem;display:flex}.detail-nav-link{flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.detail-nav-link.next{align-items:flex-end}.dnl-dir{letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-size:.7rem;transition:color .2s}.dnl-title{color:#111;font-size:1rem;font-weight:600;transition:color .2s}.detail-nav-link:hover .dnl-dir,.detail-nav-link:hover .dnl-title{color:#555}@media (width<=820px){.detail-content{grid-template-columns:1fr;gap:2.5rem}.detail-sidebar{flex-flow:wrap;gap:2rem}}@media (width<=600px){.detail-page{padding:7rem 1.25rem 4rem}.detail-hero-img{height:220px}}
