*{box-sizing:border-box}body{margin:0;background:#f7f8fb;color:#172033;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.nav{background:#fff;border-bottom:1px solid #e9edf3}.navin{max-width:1160px;margin:auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;color:#172033;font-weight:800}.nav nav{display:flex;gap:20px}.nav a{color:#45546a;text-decoration:none}.hero{background:linear-gradient(135deg,#eef5ff 0,#fff 70%);padding:60px 20px}.heroIn{max-width:1160px;margin:auto}.kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:#3976db}.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.05;margin:12px 0}.hero p{color:#68758a;font-size:17px}.search{margin-top:25px;background:#fff;border:1px solid #e0e6ef;box-shadow:0 10px 35px #23405b12;border-radius:14px;max-width:520px;display:flex;align-items:center;padding:0 14px}.search b{font-size:25px}.search input{border:0;outline:0;padding:14px;width:100%;font-size:15px}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.sectionhead h2{margin:5px 0 0;font-size:27px}.homebtn{color:#496078;text-decoration:none}.chips{display:flex;gap:8px;overflow:auto;margin-bottom:20px}.chips button{border:1px solid #e1e6ee;background:#fff;border-radius:999px;padding:8px 14px;color:#526277;white-space:nowrap}.chips .on{background:#1f6feb;color:white;border-color:#1f6feb}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid #e7ebf1;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #1720330a;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #17203316}.card a{text-decoration:none;color:inherit}.pic{position:relative;aspect-ratio:1.55;background:#e8edf4;overflow:hidden}.pic img{width:100%;height:100%;object-fit:cover;display:block}.pic span{position:absolute;right:10px;bottom:10px;background:#111c;color:#fff;padding:6px 9px;border-radius:999px;font-size:11px}.placeholder{height:100%;display:grid;place-items:center;font-size:42px}.ct{padding:13px 14px}.ct h3{font-size:17px;margin:0 0 5px}.ct p{font-size:12px;color:#718096;margin:0}.ct i,.albumhead i{font-style:normal;margin:0 5px}.albumhead{background:#fff;border-bottom:1px solid #e8ecf2;padding:42px 20px}.albumhead>div{max-width:1160px;margin:auto}.albumhead h1{font-size:clamp(28px,5vw,46px);margin:8px 0}.albumhead p{color:#6c788c}.tools{max-width:1160px;margin:0 auto 20px;display:flex;gap:9px;align-items:center}.tools a,.tools button{border:1px solid #e0e6ef;background:#fff;border-radius:10px;padding:9px 13px;color:#40536a;text-decoration:none}.tools button{cursor:pointer}.photos{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.photos button{padding:0;border:0;aspect-ratio:1;overflow:hidden;background:#ddd;cursor:pointer}.photos img{width:100%;height:100%;object-fit:cover;transition:.2s}.photos img:hover{transform:scale(1.04)}.lb{display:none;position:fixed;inset:0;background:#05070eef;z-index:100;align-items:center;justify-content:center}.lb.show{display:flex}.lb img{max-width:90vw;max-height:88vh;object-fit:contain}.lb button{position:absolute;border:0;background:#fff2;color:#fff;border-radius:50%;font-size:40px;width:54px;height:54px}.lb .x{top:18px;right:18px}.lb .l{left:18px}.lb .r{right:18px}.lb small{position:absolute;bottom:20px;color:#fff}.empty,.error{max-width:1160px;margin:25px auto;padding:25px;background:#fff;border-radius:14px;text-align:center}.error{color:#a33;background:#fff4f4}.error:before{content:"⚠️ "}.error+ .photos{margin-top:20px}footer{text-align:center;padding:35px;color:#7a8798}footer a{color:#4b6078}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.photos{grid-template-columns:repeat(3,1fr)}}@media(max-width:550px){.navin{padding:12px 15px}.logo span{display:none}.nav nav a:first-child{display:none}.hero{padding:42px 15px}.hero h1{font-size:38px}.heroIn p{font-size:15px}.sectionhead, .tools{align-items:flex-start;flex-direction:column}.grid{gap:10px}.ct{padding:10px}.ct h3{font-size:15px}.pic{aspect-ratio:1.3}.photos{grid-template-columns:repeat(2,1fr);gap:5px}.albumhead{padding:32px 15px}.albumhead h1{font-size:29px}}