*{box-sizing:border-box}
:root{--black:#0a0a0a;--cream:#eee9df;--white:#f8f7f3;--grey:#777;--line:rgba(0,0,0,.16)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--black);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:25px 4vw;color:#fff;mix-blend-mode:difference}
.brand{font-size:14px;letter-spacing:.28em;font-weight:600}
.nav{display:flex;gap:28px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:10px;letter-spacing:.16em}
.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#111;color:#fff}
.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.1) 65%,rgba(0,0,0,.15))}
.hero-content{position:absolute;left:5vw;top:50%;transform:translateY(-42%);max-width:760px}
.eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 25px}
.eyebrow.dark{color:#555}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;line-height:.92;letter-spacing:-.035em;margin:0}
h1{font-size:clamp(62px,8.2vw,135px)}
h1 em,h2 em{font-style:normal}
.hero-intro{max-width:620px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.8;margin:35px 0}
.text-link{display:inline-flex;gap:20px;align-items:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:8px}
.text-link span{font-size:15px}
.light{color:#fff}
.hero-url{position:absolute;right:4vw;bottom:40px;font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.section{padding:110px 5vw}
.latest{display:grid;grid-template-columns:30% 1fr;gap:7vw;align-items:center}
.latest h2,.services h2{font-size:clamp(45px,5vw,80px)}
.latest-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:7px}
.gallery-item{border:0;padding:0;background:#ddd;aspect-ratio:1/1;overflow:hidden;cursor:pointer}
.gallery-item.wide{aspect-ratio:1.3/1}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.gallery-item:hover img{transform:scale(1.04);filter:contrast(1.05)}
.featured{display:grid;grid-template-columns:55% 45%;background:var(--black);color:#fff;min-height:720px}
.featured-image{min-height:650px}
.featured-image img{width:100%;height:100%;object-fit:cover}
.featured-copy{padding:8vw 7vw;position:relative}
.featured-copy h2{font-size:clamp(70px,8vw,125px)}
.category{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:30px 0}
.featured-copy>p:not(.eyebrow):not(.category){max-width:430px;color:#bbb;line-height:1.7}
.process{position:absolute;right:7vw;bottom:8vw;list-style:none;padding:0;margin:0;border-left:1px solid #555}
.process li{padding:8px 0 8px 25px;color:#aaa;font-size:10px;letter-spacing:.08em}
.process span{color:#fff;margin-right:18px}
.services{display:grid;grid-template-columns:32% 1fr;gap:6vw}
.services-copy{align-self:center}
.flow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#777;line-height:2;margin-top:40px}
.flow span{padding:0 10px;color:#111}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.service-card{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff;background:#111}
.service-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:.5s}
.service-card:hover img{filter:brightness(.7);transform:scale(1.03)}
.service-card div{position:absolute;left:25px;right:20px;bottom:25px}
.service-card h3{font-family:"Playfair Display",serif;font-size:30px;font-weight:400;margin:0 0 8px}
.service-card p{font-size:10px;letter-spacing:.05em;line-height:1.5;color:#ddd}
.service-card span{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.clinical{display:grid;grid-template-columns:1fr 1fr;background:#0b0d0e;color:#fff;min-height:560px}
.clinical-copy{padding:9vw 8vw;align-self:center}
.clinical-copy h2{font-size:clamp(50px,5vw,80px)}
.clinical-copy>p:not(.eyebrow){max-width:520px;color:#aaa;line-height:1.7;margin:30px 0}
.clinical-image{background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,0)),url("assets/poledance.jpg") center/cover}
.about{display:grid;grid-template-columns:25% 30% 45%;padding-top:120px;padding-bottom:120px}
.about h2{font-size:clamp(55px,6vw,90px)}
.about-text{align-self:end;padding:0 5vw 0 2vw;line-height:1.8;color:#555;font-size:14px}
.about-image{min-height:480px}
.about-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.contact{background:var(--black);color:#fff;padding:100px 5vw 45px;display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end}
.contact h2{font-size:clamp(60px,7vw,115px)}
.contact-link{align-self:center;font-size:10px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid #777;padding-bottom:10px}
.contact-meta{grid-column:2;text-align:right;display:flex;flex-direction:column;gap:7px;font-size:10px;color:#888;letter-spacing:.08em}
.contact-meta strong{color:#fff;letter-spacing:.25em}
footer{background:#050505;color:#666;text-align:center;padding:18px;font-size:9px;letter-spacing:.1em}
.lightbox{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px}
.lightbox.active{display:flex}
.lightbox img{max-width:90vw;max-height:82vh;object-fit:contain}
.lightbox p{color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.lightbox-close{position:absolute;top:25px;right:35px;border:0;background:none;color:#fff;font-size:35px;cursor:pointer}
@media(max-width:900px){
 .nav{display:none}.menu-toggle{display:block}
 .latest,.services,.about,.clinical,.featured{grid-template-columns:1fr}
 .latest{gap:45px}.latest-grid{grid-template-columns:1fr 1fr}
 .gallery-item.wide{grid-column:1/-1}
 .featured-copy{padding:70px 8vw;min-height:600px}
 .process{position:static;margin-top:50px}
 .service-grid{grid-template-columns:1fr}
 .service-card{aspect-ratio:16/10}
 .clinical-image{min-height:450px;order:-1}
 .about{gap:40px}.about-text{padding:0}
 .about-image{min-height:400px}
 .contact{grid-template-columns:1fr}.contact-meta{grid-column:1;text-align:left}
}
@media(max-width:600px){
 .hero{min-height:620px}.hero-content{left:7vw;right:7vw}
 h1{font-size:55px}.hero-intro{font-size:9px}
 .section{padding:80px 7vw}
 .latest-grid{gap:5px}
 .latest h2,.services h2{font-size:47px}
 .featured-copy h2{font-size:68px}
 .contact h2{font-size:54px}
}
