.hero{padding:10rem 4rem 5rem;text-align:center;position:relative;overflow:hidden}
.hero-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.025) 0%,transparent 60%);pointer-events:none}
.hero-desc{font-family:var(--body);font-size:.88rem;font-weight:300;color:var(--soft-gray);margin-top:1.2rem;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.75}
.filters{display:flex;justify-content:center;gap:.5rem;padding:0 2rem 3rem;flex-wrap:wrap}
.filter-btn{font-family:var(--heading);font-size:.55rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.6rem 1.4rem;background:transparent;color:var(--soft-gray);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease}
.filter-btn:hover{border-color:rgba(255,255,255,.3);color:var(--light-gray)}
.filter-btn.active{background:var(--white);color:var(--black);border-color:var(--white)}
.gallery{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:0 4rem 6rem}
.slider-card{position:relative;background:var(--near-black);border:1px solid rgba(255,255,255,.06);overflow:hidden;transition:border-color .4s ease}
.slider-card:hover{border-color:rgba(255,255,255,.12)}
.slider-wrap{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;cursor:col-resize;user-select:none;-webkit-user-select:none}
.slider-wrap picture{display:block;position:absolute;top:0;left:0;width:100%;height:100%}
.slider-wrap img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.slider-after{clip-path:inset(0 0 0 50%);z-index:2;transition:clip-path .05s linear}
.btn-w{font-family:var(--heading);font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:1rem 2.8rem;background:var(--white);color:var(--black);border:none;cursor:pointer;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-block}
.btn-w:hover{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px var(--white);transform:translateY(-2px)}
.slider-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--white);z-index:10;pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.5);transition:left .05s linear}
.slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--white);border-radius:50%;z-index:11;pointer-events:none;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.4);transition:left .05s linear}
.slider-handle svg{width:16px;height:16px}
.slider-label-before,.slider-label-after{position:absolute;bottom:12px;z-index:5;font-family:var(--heading);font-size:.5rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--white);padding:.3rem .7rem;background:rgba(10,10,10,.7);backdrop-filter:blur(4px);pointer-events:none}
.slider-label-before{left:12px}
.slider-label-after{right:12px}
.card-info{padding:1.2rem 1.4rem 1.4rem}
.card-service{font-family:var(--heading);font-size:.55rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--white);background:rgba(255,255,255,.08);display:inline-block;padding:.3rem .8rem;margin-bottom:.7rem}
.card-desc{font-family:var(--body);font-size:.8rem;font-weight:300;color:var(--soft-gray);line-height:1.6}
.cta-section{text-align:center;padding:4rem 2rem 6rem;border-top:1px solid rgba(255,255,255,.06);max-width:600px;margin:0 auto}
.cta-section p{font-family:var(--body);font-size:.88rem;font-weight:300;color:var(--soft-gray);line-height:1.75;margin-bottom:2rem}
.back-link{text-align:center;padding:2rem 0 3rem}
.back-link a{font-family:var(--heading);font-size:.6rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--soft-gray);text-decoration:none;transition:color .3s ease}
.back-link a:hover{color:var(--white)}
@media(max-width:1024px){.gallery{grid-template-columns:repeat(2,1fr);padding:0 2rem 4rem}}
@media(max-width:768px){.hero{padding:8rem 1.5rem 3rem}.gallery{grid-template-columns:1fr;max-width:500px;padding:0 1.5rem 4rem}.filters{padding:0 1.5rem 2rem}}
@media print{nav,.filters,.cta-section,footer,.float-cta{display:none}}
