.navbar{z-index:1000;background:#fff;align-items:center;width:100%;height:72px;padding:0 2.5rem;display:flex;position:sticky;top:0}.navbar__logo{letter-spacing:0;color:#1a1a1a;justify-content:center;align-items:center;width:40px;height:40px;font-family:Gotham,sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.navbar__logo:hover{opacity:.6}.navbar__links{align-items:center;gap:2.5rem;margin-left:auto;display:flex}.navbar__links a{letter-spacing:.12em;text-transform:uppercase;color:#666;font-family:Gotham,sans-serif;font-size:.8rem;font-weight:300;text-decoration:none;transition:color .2s,font-weight .2s}.navbar__links a.navbar__link--active{color:#1a1a1a;font-weight:500}.navbar__links a:hover{color:#444}.navbar__links a.navbar__link--active:hover{color:#1a1a1a}.navbar__toggle{cursor:pointer;background:0 0;border:none;width:40px;height:40px;padding:0;display:none;position:relative}.navbar__toggle span{background:#1a1a1a;width:26px;height:1.5px;transition:transform .25s,top .25s;position:absolute;left:7px}.navbar__toggle span:first-child{top:15px}.navbar__toggle span:last-child{top:23px}.navbar__toggle--open span:first-child{top:19px;transform:rotate(45deg)}.navbar__toggle--open span:last-child{top:19px;transform:rotate(-45deg)}@media (width<=640px){.navbar{justify-content:space-between;height:64px;padding:0 1.25rem}.navbar__logo{width:36px;height:36px;font-size:1.35rem}.navbar__toggle{display:block}.navbar__links{background:#fff;border-top:1px solid #eee;flex-direction:column;align-items:center;gap:0;width:100%;max-height:0;margin:0;padding:0;transition:max-height .3s,padding .3s;display:flex;position:absolute;top:64px;left:0;overflow:hidden}.navbar__links--open{max-height:300px;padding:1rem 0 1.25rem}.navbar__links a{text-align:center;width:100%;padding:.9rem 1rem;font-size:.8rem}}.skeleton-image-wrapper{background:#e8e8e8;width:100%;height:100%;position:relative;overflow:hidden}.skeleton-image-shimmer{background:linear-gradient(90deg,#e8e8e8 0%,#f2f2f2 50%,#e8e8e8 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-image-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .4s;display:block}.skeleton-image-img--loaded{opacity:1}.project-slider__wrapper{width:100%;position:relative;overflow:hidden}.project-slider{cursor:grab;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff;width:100%;padding:40px 16px 60px;overflow:hidden}.project-slider__track{will-change:transform;width:max-content;display:flex}.project-slider__item{cursor:pointer;border-radius:12px;flex:none;width:520px;height:360px;margin-right:24px;transition:transform .35s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.project-slider__item:hover{transform:translateY(-6px);box-shadow:0 12px 30px #00000026}.project-slider__item .skeleton-image-wrapper{pointer-events:none;width:100%;height:100%}.project-slider__item:hover .skeleton-image-img{transform:scale(1.05)}.project-slider__title{color:#fff;letter-spacing:.3px;background:linear-gradient(#0000,#000000a6);padding:14px 16px;font-size:20px;position:absolute;bottom:0;left:0;right:0}.project-slider__arrow{z-index:2;color:#1a1a1a;cursor:pointer;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;line-height:1;transition:background .25s,transform .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #00000026}.project-slider__arrow:hover{background:#fff;transform:translateY(-50%)scale(1.08)}.project-slider__arrow--left{left:8px}.project-slider__arrow--right{right:8px}@media (width<=640px){.project-slider{padding:24px 12px 40px}.project-slider__item{width:260px;height:190px;margin-right:16px}.project-slider__title{padding:10px 12px;font-size:16px}.project-slider__arrow{width:32px;height:32px;font-size:18px}}@media (width<=380px){.project-slider__item{width:220px;height:160px}}.home-hero{text-align:center;box-sizing:border-box;background:#fff;width:100%;max-width:none;min-height:50vh;padding:60px 24px 0}.home-hero p{color:#444;text-align:justify;max-width:600px;margin:0 auto 2rem}.home-hero .cta-link{letter-spacing:.08em;text-transform:uppercase;border:1px solid #1a1a1a;border-radius:2px;padding:.75rem 1.75rem;font-size:.85rem;font-weight:600;transition:background .2s,color .2s;display:inline-block}.home-hero .cta-link:hover{color:#fff;background:#1a1a1a}@media (width<=640px){.home-hero{padding:40px 20px 0}.home-hero p{text-align:left}}.projects-page{background:#fff;width:100%}.projects-intro{text-align:center;max-width:780px;margin:0 auto;padding:5rem 1.5rem 4rem}.projects-intro h1{letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;margin-bottom:1.5rem;font-size:2.4rem;font-weight:700}.projects-intro__lead{color:#333;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.projects-intro__body{color:#555;font-size:.95rem;line-height:1.8}.category-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:0 1.5rem;display:grid}.category-card{aspect-ratio:4/3;background:#ddd;position:relative;overflow:hidden}.category-card .skeleton-image-wrapper{width:100%;height:100%}.category-card:hover .skeleton-image-img{transform:scale(1.05)}.category-card h3{color:#fff;letter-spacing:.08em;text-transform:uppercase;opacity:0;z-index:1;background:linear-gradient(#0000,#0009);padding:1rem;font-size:.95rem;font-weight:600;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.category-card:hover h3{opacity:1}@media (width<=720px){.category-grid{grid-template-columns:1fr;gap:1.5rem}.projects-intro{padding:3rem 1.25rem 2.5rem}.projects-intro h1{letter-spacing:.3em;font-size:1.8rem}}.project-detail__hero .skeleton-image-wrapper{width:100%;height:100%}.project-detail__hero h1{color:#fff;text-shadow:0 2px 12px #00000080;text-transform:none;letter-spacing:normal;z-index:1;font-size:2.5rem;font-weight:700;position:absolute;bottom:2rem;left:2rem}.drawings-gallery__item .skeleton-image-wrapper{aspect-ratio:4/3;border:1px solid #eee;border-radius:4px;width:100%;margin-bottom:.5rem}.lightbox__image.skeleton-image-wrapper{cursor:zoom-in;background:0 0;border-radius:2px;width:auto;max-width:100%;height:auto;max-height:75vh;transition:transform .3s}.lightbox__image .skeleton-image-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:75vh}.lightbox__image--zoomed.skeleton-image-wrapper{cursor:zoom-out;max-height:none;transform:scale(1.8)}@media (width<=720px){.project-detail__hero{height:220px}.project-detail__hero h1{font-size:1.6rem;bottom:1.25rem;left:1.25rem}.project-detail__meta{grid-template-columns:1fr 1fr;gap:1.5rem}.drawings-gallery{grid-template-columns:1fr}.lightbox__nav{padding:.4rem .6rem;font-size:2rem}.lightbox__image--zoomed.skeleton-image-wrapper{transform:scale(1.3)}}.project-detail{background:#fff;width:100%}.project-detail__hero{width:100%;height:340px;position:relative;overflow:hidden}.project-detail__hero img{object-fit:cover;width:100%;height:100%}.project-detail__hero h1{color:#fff;text-shadow:0 2px 12px #00000080;text-transform:none;letter-spacing:normal;font-size:2.5rem;font-weight:700;position:absolute;bottom:2rem;left:2rem}.project-detail__body{max-width:900px;margin:0 auto;padding:3rem 1.5rem 4rem}.project-detail__meta{border-bottom:1px solid #eee;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;margin-bottom:2.5rem;padding-bottom:2.5rem;display:grid}.project-detail__meta-item h3{letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:.4rem;font-size:.85rem;font-weight:700}.project-detail__meta-item p{color:#1a1a1a;margin:0;font-size:1rem}.project-detail__description p{color:#333;margin-bottom:1.25rem;font-size:1rem;line-height:1.8}.project-detail__description p:last-child{margin-bottom:3rem}.drawings-gallery{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.drawings-gallery__item{cursor:pointer;transition:transform .2s}.drawings-gallery__item:hover{transform:translateY(-4px)}.drawings-gallery__item img{border:1px solid #eee;border-radius:4px;width:100%;margin-bottom:.5rem}.drawings-gallery__item figcaption{color:#666;text-align:center;font-size:.85rem}.lightbox{z-index:1000;background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox__content{flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex}.lightbox__image{object-fit:contain;cursor:zoom-in;border-radius:2px;max-width:100%;max-height:75vh;transition:transform .3s}.lightbox__image--zoomed{cursor:zoom-out;max-height:none;transform:scale(1.8)}.lightbox__caption{color:#eee;text-align:center;margin-top:1rem;font-size:.9rem}.lightbox__close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2.5rem;line-height:1;position:absolute;top:1.5rem;right:2rem}.lightbox__nav{color:#fff;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:3rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:.5rem}.lightbox__nav--next{right:.5rem}@media (width<=720px){.project-detail__hero{height:220px}.project-detail__hero h1{font-size:1.6rem;bottom:1.25rem;left:1.25rem}.project-detail__meta{grid-template-columns:1fr 1fr;gap:1.5rem}.drawings-gallery{grid-template-columns:1fr}.lightbox__nav{padding:.4rem .6rem;font-size:2rem}.lightbox__image--zoomed{transform:scale(1.3)}}.about-page{background:#fff;width:100%}.about-intro{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:3rem;max-width:1000px;margin:0 auto;padding:4rem 1.5rem 3rem;display:flex}.about-intro__text{text-align:justify;flex:360px;max-width:460px}.about-intro__greeting{text-transform:none;flex-direction:column;margin-bottom:1.25rem;font-size:1.4rem;font-weight:700;line-height:1.3;display:flex}.about-intro__text p{color:#333;margin-bottom:1rem;font-size:.95rem;line-height:1.7}.about-intro__text p strong{font-weight:700}.about-intro__photo img{object-fit:cover;border-radius:4px;width:100%;height:280px}.about-cv{text-align:center;border-top:1px solid #e5e5e5;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:1000px;margin:0 auto;padding:3rem 1.5rem 4rem;display:grid}.about-cv__column h2{letter-spacing:.12em;text-transform:uppercase;color:#666;margin-bottom:1.75rem;font-size:.95rem;font-weight:700}.about-cv__entry{margin-bottom:1.5rem}.about-cv__period{color:#1a1a1a;margin-bottom:.25rem;font-size:.85rem;font-weight:700}.about-cv__place{color:#555;margin-bottom:.25rem;font-size:.85rem}.about-cv__role{color:#333;font-size:.85rem;font-weight:600}.about-skills{border-top:1px solid #e5e5e5;max-width:800px;margin:0 auto;padding:3rem 1.5rem 4rem}.about-skills h2{letter-spacing:.12em;text-transform:uppercase;color:#666;text-align:center;margin-bottom:2rem;font-size:.95rem;font-weight:700}.about-skills__grid{grid-template-columns:repeat(2,1fr);gap:2rem 3rem;display:grid}.skill-bar{width:100%}.skill-bar__head{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.skill-bar__name{color:#1a1a1a;font-size:.9rem;font-weight:600}.skill-bar__percent{color:#888;font-size:.8rem;font-weight:700;transition:color .3s}.skill-bar__track{background:#eee;border-radius:999px;width:100%;height:10px;position:relative;overflow:hidden}.skill-bar__fill{border-radius:999px;width:0%;height:100%;transition:width 1.1s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.skill-bar__fill:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff80 50%,#fff0 100%);width:100%;height:100%;animation:1.6s ease-in-out infinite shimmer;position:absolute;top:0;left:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (width<=720px){.about-intro{text-align:center;flex-direction:column-reverse;align-items:center;padding:3rem 1.25rem 2rem}.about-intro__text{max-width:100%}.about-cv{grid-template-columns:1fr;gap:2.5rem}.about-skills__grid{grid-template-columns:1fr;gap:1.75rem}}.about-intro__photo{flex:none;width:220px}.about-intro__photo .skeleton-image-wrapper{border-radius:4px;width:100%;height:280px}.contact-page{background:#fff;width:100%}.contact-heading{text-align:center;letter-spacing:.5em;text-indent:.5em;padding:4rem 1.5rem 2.5rem;font-size:2rem;font-weight:600}.contact-card{background:#f5f5f5;border-radius:4px;justify-content:center;align-items:center;max-width:700px;margin:0 auto 4rem;padding:2.5rem 3rem;display:flex}.contact-info{text-align:left;width:100%}.contact-line{margin-bottom:.9rem;display:block}.contact-line--primary{color:#1a1a1a;font-size:1.1rem;font-weight:400;text-decoration:underline}.contact-line--phone{color:#1a1a1a;font-size:1.1rem;font-weight:700;text-decoration:underline}.contact-line--address{color:#444;font-size:.95rem;font-weight:400}.contact-line--link{color:#1a1a1a;font-size:.95rem;font-weight:400;text-decoration:underline}.contact-socials{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.contact-socials__link{color:#1a1a1a;border:1px solid #d5d5d5;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;transition:color .2s,background-color .2s,border-color .2s,transform .2s;display:flex}.contact-socials__link:hover{color:#fff;background-color:#1a1a1a;border-color:#1a1a1a;transform:translateY(-2px)}.contact-socials__link svg{width:18px;height:18px;display:block}@media (width<=640px){.contact-heading{letter-spacing:.3em;padding:3rem 1.25rem 2rem;font-size:1.5rem}.contact-card{width:calc(100% - 2rem);max-width:none;margin:0 auto 3rem;padding:2rem 1.5rem}.contact-info{text-align:center}.contact-line--primary,.contact-line--phone{font-size:1rem}.contact-line--address,.contact-line--link{font-size:.9rem}.contact-socials{justify-content:center}}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-XLight.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Book.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Black.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-Ultra.woff2)format("woff2");font-weight:950;font-style:normal;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-ThinItalic.woff2)format("woff2");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-XLightItalic.woff2)format("woff2");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-LightItalic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-BookItalic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-MediumItalic.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-BlackItalic.woff2)format("woff2");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/gotham/Gotham-UltraItalic.woff2)format("woff2");font-weight:950;font-style:italic;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#1a1a1a;background:#fafafa;font-family:Gotham,sans-serif;font-style:normal;font-weight:400;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}section{max-width:1100px;margin:0 auto;padding:2.5rem 1.25rem 4rem}section h1{letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;font-size:2rem;font-weight:700}section h2{letter-spacing:.1em;color:#666;text-transform:uppercase;margin-bottom:1.5rem;font-size:1.1rem;font-weight:400}.site-footer{text-align:center;background:#fff;border-top:1px solid #e5e5e5;width:100%;padding:1.5rem 1rem}.site-footer p{letter-spacing:.05em;color:#888;font-size:.8rem;font-weight:400}@media (width<=640px){section{padding:1.75rem 1rem 3rem}section h1{font-size:1.5rem}}
