*{box-sizing:border-box}body{margin:0;background:#f7f8fb;color:#17202e;font-family:Inter,Arial,sans-serif}button,input{font:inherit}.topbar{height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 4%;background:white}.topbar a{font-size:12px;font-weight:700;color:#263043;text-decoration:none}.hero{min-height:295px;background:linear-gradient(110deg,#101924,#303f4c 55%,#5b6570);position:relative;display:flex;align-items:center;padding:38px max(4%,calc((100vw - 1440px)/2));overflow:hidden}.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,#67707a55,transparent 45%);pointer-events:none}.hero-shade{position:relative;z-index:1;max-width:610px;color:white}.hero small{font-size:11px;letter-spacing:2px;font-weight:800}.hero h1{font-size:clamp(44px,5vw,70px);line-height:1.02;letter-spacing:-2px;margin:14px 0}.hero h1 span{color:#747d86}.hero p{font-size:18px;line-height:1.55;color:#e2e6ec;max-width:520px}.hero-logo{width:170px;max-height:145px;object-fit:contain;position:absolute;right:7%;top:25%;z-index:1;filter:drop-shadow(0 4px 15px #0005)}main{max-width:1440px;margin:auto;padding:28px 4% 80px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:30px}.chip{border:0;background:#edf0f4;border-radius:40px;padding:13px 22px;cursor:pointer;color:#293344;font-size:13px}.chip.active,.gallery-btn{background:#343b43;color:white}.search{background:#edf0f4;border-radius:40px;padding:12px 17px;display:flex;gap:8px;align-items:center}.search input{background:transparent;border:0;outline:0;width:175px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project{background:white;border:0;padding:0;text-align:left;border-radius:13px;overflow:hidden;box-shadow:0 3px 13px #1b273014;cursor:pointer;color:inherit}.project[hidden]{display:none}.cover{height:220px;position:relative;background:#1c2533}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.project:hover img{transform:scale(1.04)}.tag{position:absolute;top:16px;left:16px;border-radius:24px;background:#fffffff0;padding:10px 14px;font-size:12px;font-weight:700}.project-info{padding:17px 18px 22px;position:relative;display:grid;gap:9px}.project-info strong{font-size:16px}.project-info span{font-size:13px;color:#66758a}.project-info i{position:absolute;right:18px;top:17px;border-radius:50%;box-shadow:0 1px 8px #0002;width:33px;height:33px;text-align:center;line-height:30px;font-size:25px;font-style:normal}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;align-items:center;padding:22px}.scrim{position:absolute;inset:0;background:#0a13237a}.modal-panel{position:relative;background:white;border-radius:15px;width:min(480px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:24px;box-shadow:0 10px 60px #0004}.close{position:absolute;right:13px;top:8px;border:0;background:white;z-index:2;font-size:27px;cursor:pointer}.main-photo{position:relative;height:280px;margin-top:4px}.main-photo img{width:100%;height:100%;object-fit:cover;border-radius:10px}.prev,.next{position:absolute;top:45%;border:0;border-radius:50%;background:white;width:36px;height:36px;font-size:25px;cursor:pointer}.prev{left:8px}.next{right:8px}.thumbs{display:flex;gap:5px;overflow:auto;margin:10px 0 25px}.thumbs button{border:2px solid transparent;background:none;padding:0;min-width:65px;width:65px;height:52px;cursor:pointer}.thumbs button.selected{border-color:#747d86}.thumbs img{width:100%;height:100%;object-fit:cover;border-radius:5px}.modal-heading{display:flex;justify-content:space-between;gap:12px}.modal-heading h2{font-size:22px;margin:0}.modal-heading p{font-size:13px;color:#69778a}.modal-heading span{font-size:13px;color:#69778a}.modal-content>p{font-size:14px;color:#637184;line-height:1.7;margin:24px 0}.gallery-btn{display:block;text-align:center;text-decoration:none;padding:15px;border-radius:35px;font-size:14px;font-weight:700}#empty{padding:35px;color:#637184}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-logo{opacity:.25}}@media(max-width:570px){.cards{grid-template-columns:1fr}.hero{min-height:250px}.hero p{font-size:15px}.modal{padding:8px}.modal-panel{padding:15px;max-height:98vh}.main-photo{height:230px}}