*{box-sizing:border-box}
html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:"Courier New",monospace;color:#000;background:#fff}a{color:#000;text-decoration:none}button,input{font-family:inherit;color:#000}button{-webkit-appearance:none;appearance:none}
.page-wrap{flex:1;padding:118px 42px 72px}.site-header{position:fixed;top:0;left:0;right:0;height:92px;z-index:100;background:transparent!important;display:flex;align-items:center;justify-content:space-between;padding:0 42px;pointer-events:none}.brand,.menu-toggle{pointer-events:auto}.brand img{width:128px;height:auto;display:block}.menu-toggle,.menu-top button{border:0;background:transparent!important;font:900 32px Arial,sans-serif;cursor:pointer;color:#000!important;text-decoration:none;-webkit-text-fill-color:#000}.menu-overlay{position:fixed;inset:0;z-index:300;background:rgba(255,255,255,.96);display:none;padding:26px 42px;text-align:center}.menu-overlay.active{display:block}.menu-top{display:flex;justify-content:space-between;align-items:center}.overlay-links{margin-top:70px;display:flex;flex-direction:column;gap:12px;align-items:center}.overlay-links a{font-size:28px;line-height:1.05;opacity:0;transform:translateY(-22px)}.menu-overlay.active .overlay-links a{animation:drop .45s forwards}.menu-overlay.active .overlay-links a:nth-child(1){animation-delay:.04s}.menu-overlay.active .overlay-links a:nth-child(2){animation-delay:.08s}.menu-overlay.active .overlay-links a:nth-child(3){animation-delay:.12s}.menu-overlay.active .overlay-links a:nth-child(4){animation-delay:.16s}.menu-overlay.active .overlay-links a:nth-child(5){animation-delay:.20s}.menu-overlay.active .overlay-links a:nth-child(6){animation-delay:.24s}.menu-overlay.active .overlay-links a:nth-child(7){animation-delay:.28s}@keyframes drop{to{opacity:1;transform:translateY(0)}}.overlay-contact{margin-top:42px;font-size:16px;line-height:1.55}.overlay-social{margin-top:18px;display:flex;justify-content:center;gap:18px}
.site-footer{margin-top:auto;border-top:1px solid #eee;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:28px 42px;font-size:16px}.site-footer div:nth-child(2){text-align:center}.site-footer div:nth-child(3){text-align:right}.footer-links{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}.footer-links a:hover,.overlay-links a:hover{text-decoration:underline}
.nav-pills{margin:14px 0 12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tag-scroll{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 48px;padding-bottom:8px;-webkit-overflow-scrolling:touch}.pill{border:1.5px solid #000;background:#fff;border-radius:28px;padding:8px 20px;font-size:22px;line-height:1;display:inline-flex;white-space:nowrap;transition:.2s;cursor:pointer}.pill.gray{border-color:transparent;background:#ececec}.pill:hover,.btn:hover,.pill.active{background:#000;color:#fff}.section-title{font:bold 52px Arial,sans-serif;margin:0 0 42px}.intro-text{font-size:24px;line-height:1.45;max-width:1000px}.search-row{margin:22px 0 62px;color:#999;font:bold 28px "Courier New",monospace;display:flex;align-items:center;gap:8px}.search-row input{border:0;outline:0;font:bold 28px "Courier New",monospace;color:#999;background:transparent;width:min(720px,80vw)}.search-row input::placeholder{color:#999}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:72px 0 34px}.section-head .section-title{margin:0}.section-head.center{justify-content:center;text-align:center}.grid-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:70px 46px}.project-card{text-align:center;display:block}.project-card img{width:100%;height:260px;object-fit:cover;background:#eee}.project-card .type{margin-top:16px;text-transform:uppercase;font-size:15px;letter-spacing:.02em}.project-card h3{font-size:18px;line-height:1.45;font-weight:400;margin:8px 0}.btn-wrap{text-align:center;margin:56px 0 30px}.btn{display:inline-block;border:1.5px solid #000;border-radius:28px;padding:11px 30px;font-size:17px;background:#fff;transition:.2s}.news-page{text-align:center}.news-page .section-title{text-align:center}.news-title-center{text-align:center}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;text-align:center}.news-card img{width:100%;height:280px;object-fit:cover;background:#eee;display:block}.news-card h3{font-size:23px;font-weight:400;line-height:1.35}.news-card small{display:block;margin-top:14px}.news-detail{max-width:1120px;margin:0 auto;text-align:center}.news-detail img{width:100%;height:560px;object-fit:cover;display:block;margin:25px auto 40px}.news-detail .intro-text{text-align:left;margin-left:auto;margin-right:auto}.filter-row{margin-bottom:22px}.project-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}.project-info h1{font-size:32px;margin:0 0 8px}.project-info .location{font-size:27px;margin-bottom:26px}.project-info p{max-width:950px;line-height:1.65}.main-image img{width:100%;height:auto;display:block}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:65px}.gallery-grid img{width:100%;height:auto;display:block}.accordion{margin-top:70px}.acc-item{border-top:1px solid #eee;padding:30px 0}.acc-head{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.acc-head h2{margin:0;font-size:30px}.acc-sign{font-size:34px}.acc-body{display:none;max-width:900px;line-height:1.6;margin-top:22px}.acc-item.open .acc-body{display:block}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.page-simple{max-width:1200px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px}.service-item,.job-item{border-top:1px solid #ddd;padding:30px 0}.service-item h2,.job-item h2{font-size:30px;margin:0 0 14px}.job-meta{color:#666}.map iframe{width:100%;height:420px;border:0;filter:grayscale(1)}.admin-body{padding:30px}.form{max-width:900px}.form input,.form textarea,.form select{width:100%;padding:12px;border:1px solid #ccc;margin:7px 0 16px;font-family:inherit}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}.skeleton{display:grid;grid-template-columns:repeat(4,1fr);gap:46px}.sk{height:310px;border-radius:8px;background:linear-gradient(90deg,#eee,#f7f7f7,#eee);background-size:200% 100%;animation:shimmer 1s infinite}@keyframes shimmer{to{background-position:-200% 0}}.loading-ready .skeleton{display:none}.no-results{display:none;margin:30px 0;font-size:20px;color:#777}.pswp__img{object-fit:contain!important}.pswp__bg{background:#111!important}
@media(max-width:900px){.page-wrap{padding:92px 26px 45px}.site-header{height:78px;padding:0 26px;background:transparent!important;backdrop-filter:none}.brand img{width:118px}.menu-toggle{font-size:28px;font-weight:900!important;color:#000!important;-webkit-text-fill-color:#000!important}.site-footer{grid-template-columns:1fr;text-align:left}.site-footer div:nth-child(2),.site-footer div:nth-child(3){text-align:left}.footer-links{justify-content:flex-start}.nav-pills{flex-wrap:wrap;overflow:visible;gap:9px;margin-bottom:16px;padding-bottom:0}.tag-scroll,.filter-row{flex-wrap:nowrap;overflow-x:auto;gap:9px;margin-bottom:28px;padding-bottom:8px;scrollbar-width:none}.tag-scroll::-webkit-scrollbar,.filter-row::-webkit-scrollbar{display:none}.pill{font-size:18px;padding:8px 17px}.search-row{font-size:22px;margin:18px 0 40px}.search-row input{font-size:22px;width:76vw}.section-head{display:block;margin:52px 0 30px}.section-head .btn{margin-top:18px}.grid-projects{grid-template-columns:1fr;gap:46px}.project-card img{height:auto}.news-grid{grid-template-columns:1fr}.news-card img{height:245px}.section-title{font-size:42px}.project-hero{grid-template-columns:1fr;gap:30px}.gallery-grid,.related-grid,.split{grid-template-columns:1fr}.overlay-links a{font-size:25px}.skeleton{grid-template-columns:1fr}.menu-overlay{padding:24px 26px}.menu-top button{font-size:26px;color:#000!important}.news-detail{text-align:left}.news-detail .section-title{text-align:left}.news-detail img{height:260px}.project-info .location{font-size:22px}}

/* v9/v10 fixes */
.project-detail-wrap{margin-top:0}.project-detail-wrap .project-hero{margin-top:0}.project-detail-wrap .gallery-grid a{display:block}.image-loader{position:relative;background:#eee;overflow:hidden}.image-loader:before,.project-card:before,.news-card:before{content:"";display:none;position:absolute;inset:0;background:linear-gradient(90deg,#eee,#f8f8f8,#eee);background-size:220% 100%;animation:shimmer 1.1s infinite;z-index:1}.image-loader.is-loading:before{display:block}.image-loader img{position:relative;z-index:2}.project-card,.news-card{position:relative}.project-card img,.news-card img{background:#eee}.about-split{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.about-image img{width:100%;height:auto;display:block}.pswp{--pswp-bg:#111}.pswp__img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}.pswp__button--zoom-button-custom{font-size:28px!important;color:#fff!important}.pswp__scroll-wrap{overflow:hidden!important}.pswp__item{overflow:hidden!important}
@media(max-width:900px){.about-split{display:flex;flex-direction:column}.about-image{order:-1}.about-image img{width:100%;height:auto}.project-detail-wrap .gallery-grid{gap:22px}.project-hero{gap:22px}.main-image img{width:100%;height:auto}.project-info{order:1}.main-image{order:2}}


.brand-text {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-family: Arial, sans-serif;
    font-weight: 900;
    font-size: 31px;
    line-height: 1;
    color: #000;
    text-decoration: none;
    overflow: hidden;
    min-width: 42px;
    height: 36px;
}

.brand-text .brand-short,
.brand-text .brand-full {
    display: inline-block;
    transition: transform 0.35s ease, opacity 0.35s ease;
    white-space: nowrap;
}

.brand-text .brand-full {
    position: absolute;
    left: 0;
    top: 2px;
    opacity: 0;
    transform: translateY(18px);
}

.brand-text:hover .brand-short {
    opacity: 0;
    transform: translateY(-18px);
}

.brand-text:hover .brand-full {
    opacity: 1;
    transform: translateY(0);
}

.menu-toggle,
.menu-top button {
    font-family: Arial, sans-serif;
    font-weight: 900;
    font-size: 31px;
    color: #000 !important;
    background: transparent;
    border: 0;
    cursor: pointer;
    line-height: 1;
}

@media (max-width: 768px) {
    .brand-text,
    .menu-toggle,
    .menu-top button {
        font-size: 28px;
    }

    .brand-text {
        height: 32px;
    }
}
