:root{--bg:#050505;--panel:#0d0d0d;--text:#f2f2f2;--muted:#a7a7a7;--accent:#52c8d0;--line:#232323;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Trebuchet MS",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.brand-header{background:#000;text-align:center;overflow:hidden}.brand-link{display:flex;flex-direction:column;align-items:center}.brand-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center}.brand-header-home .brand-image{max-width:2048px}.brand-service,.brand-architect{position:relative;z-index:2;display:block;text-align:center;line-height:1.2;text-transform:uppercase}.brand-service{color:var(--accent);font-size:clamp(14px,1.55vw,23px);letter-spacing:.02em;margin-top:-28px}.brand-architect{color:var(--accent);font-size:clamp(16px,1.75vw,27px);letter-spacing:.025em;margin:6px 0 30px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:48px 0 40px;text-align:center}.intro h2{font-size:18px;letter-spacing:.04em;margin:0 0 5px}.intro p{color:#b8b8b8;font-size:17px;margin:0}.section-title{text-align:center;color:#606060;font-weight:500;font-size:42px;margin:30px 0 65px}.home-choices{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:100px}.choice{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:29px;line-height:1.25;padding:25px;position:relative;overflow:hidden;border-top:1px solid #202020;border-bottom:1px solid #202020;background:linear-gradient(90deg,transparent,#111,transparent);transition:.35s}.choice:before{content:"";position:absolute;inset:40% 0;background:linear-gradient(90deg,transparent,#343434,transparent);filter:blur(12px);opacity:.5}.choice span{position:relative;z-index:1}.choice:hover{transform:translateY(-5px);color:var(--accent);border-color:#3e777b}.contact{text-align:center;padding:20px 0 75px}.contact h2{color:#626262;font-size:41px;font-weight:500;line-height:1.3}.contact p{margin:3px 0;color:#eee}
.page-head{padding:24px 0 22px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:rgba(5,5,5,.94);backdrop-filter:blur(12px)}.page-head-gallery{padding:18px 0}.back{display:inline-flex;gap:9px;align-items:center;color:#bdbdbd;font-size:14px;text-transform:uppercase;letter-spacing:.12em}.back:hover{color:var(--accent)}.page-head h1{font-size:clamp(35px,6vw,78px);line-height:1.05;margin:22px 0 4px;font-weight:500}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:12px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:55px 0 90px}.category-grid.two{grid-template-columns:repeat(2,1fr)}.category-card{height:430px;position:relative;overflow:hidden;background:#111;border:1px solid #202020}.category-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(35%);transition:.7s}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.9))}.category-card .info{position:absolute;z-index:2;left:28px;right:28px;bottom:25px}.category-card h2{margin:0;font-size:27px;font-weight:500}.category-card p{margin:5px 0 0;color:#bbb}.category-card:hover img{transform:scale(1.06);filter:grayscale(0)}.category-card:hover h2{color:var(--accent)}.gallery-heading{padding:45px 0 28px}.gallery-heading h1{font-size:clamp(38px,6vw,74px);font-weight:500;margin:20px 0 5px}.gallery-heading p{color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-bottom:80px;align-items:stretch}.gallery-item{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid #1c1c1c;cursor:pointer;overflow:hidden}.gallery-item img{display:block;width:100%;height:260px;object-fit:cover;object-position:center;transition:.5s}.gallery-item:hover img{transform:scale(1.025);opacity:.85}.caption{display:flex;flex-direction:column;flex:1;min-height:132px;padding:14px 15px 16px}.caption h3{margin:0 0 7px;font-size:17px;font-weight:500;line-height:1.35}.caption p{margin:0;color:#8e8e8e;font-size:13px;line-height:1.65}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:55px}.lightbox.open{display:flex}.lightbox-inner{max-width:1200px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain}.lightbox-caption{text-align:center;margin-top:15px}.lightbox-caption h3{margin:0;font-size:19px}.lightbox-caption p{margin:3px 0;color:#aaa;font-size:13px}.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:rgba(25,25,25,.75);color:white;cursor:pointer;width:50px;height:50px;font-size:24px}.lb-close{right:20px;top:20px}.lb-prev{left:20px;top:50%;transform:translateY(-50%)}.lb-next{right:20px;top:50%;transform:translateY(-50%)}.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--accent);color:#000}.footer{border-top:1px solid var(--line);padding:28px 0;color:#777;text-align:center;font-size:13px}
@media(max-width:1100px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item img{height:240px}}
@media(max-width:850px){.intro{grid-template-columns:1fr;gap:30px}.home-choices,.category-grid,.category-grid.two{grid-template-columns:1fr}.choice{min-height:135px}.category-card{height:360px}.section-title{font-size:34px;margin-bottom:40px}.contact h2{font-size:32px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item img{height:230px}.lightbox{padding:70px 15px}.lb-prev{left:6px}.lb-next{right:6px}}
@media(max-width:520px){.wrap{width:min(100% - 24px,var(--max))}.brand-header-home .brand-image{min-height:210px;object-fit:cover;object-position:center}.brand-service{font-size:13px;margin-top:-10px}.brand-architect{font-size:15px;margin-bottom:22px}.intro p{font-size:14px}.choice{font-size:24px}.gallery{grid-template-columns:1fr}.gallery-item img{height:250px}.caption{min-height:auto}.page-head h1{font-size:40px}.category-card{height:300px}}
