
:root{
  --bg:#0b0b0c;--panel:#141416;--text:#f4f1ea;--muted:#aaa59d;--gold:#c99b3b;--line:#2c2c2f;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif}
img{display:block;width:100%}a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent);backdrop-filter:blur(2px)}
.brand img{width:176px;max-height:76px;object-fit:contain}
.nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav a{opacity:.88}.nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:12px 18px;border-radius:999px}.menu-btn{display:none;background:none;color:white;border:0;font-size:26px}
.hero{min-height:100vh;position:relative;display:flex;align-items:end;overflow:hidden}.hero-bg{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.28) 52%,rgba(0,0,0,.14)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%)}.hero-content{position:relative;z-index:2;padding:0 5vw 13vh;max-width:900px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--gold);font-weight:700}.hero h1{font-size:clamp(54px,7vw,112px);line-height:.92;margin:14px 0 24px;letter-spacing:-.045em}.hero h1 span{font-family:"Playfair Display",serif;font-weight:600}.hero-copy{max-width:650px;font-size:18px;line-height:1.7;color:#e0ddd8}.hero-actions{display:flex;gap:12px;margin-top:30px}.btn{padding:14px 22px;border-radius:3px;font-weight:700;font-size:14px}.btn-gold{background:var(--gold);color:#111}.btn-ghost{border:1px solid rgba(255,255,255,.45)}.hero-stats{position:absolute;right:4vw;bottom:4vh;z-index:2;display:flex;gap:26px}.hero-stats div{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.25);padding-left:16px}.hero-stats strong{color:var(--gold);font-size:13px}.hero-stats span{font-size:12px;color:#ddd}
.section{padding:110px 7vw}.about{background:#f1eee7;color:#161616}.section-label{margin-bottom:32px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.about h2,.projects h2,.contact h2{font-size:clamp(42px,5vw,76px);line-height:1.03;margin:0;letter-spacing:-.04em}.about p{font-size:18px;line-height:1.8;color:#444;margin-top:0}
.services{background:#101012}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.services article{padding:34px 28px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.services article span{color:var(--gold);font-size:12px}.services h3{font-size:24px;margin:42px 0 12px}.services p{color:var(--muted);line-height:1.7;font-size:14px}
.projects{background:#f5f3ee;color:#111}.project-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:38px}.project-head p{max-width:470px;color:#555;line-height:1.7}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.project{margin:0;position:relative;overflow:hidden;min-height:360px;background:#ddd}.project img{height:100%;object-fit:cover;transition:.5s transform}.project:hover img{transform:scale(1.025)}.project:nth-child(1){grid-column:span 7;min-height:620px}.project:nth-child(2){grid-column:span 5}.project:nth-child(3){grid-column:span 5}.project:nth-child(4){grid-column:span 7}.project:nth-child(5){grid-column:span 7}.project:nth-child(6){grid-column:span 5}.project figcaption{position:absolute;left:18px;right:18px;bottom:16px;background:rgba(10,10,10,.76);backdrop-filter:blur(6px);color:white;padding:14px 16px;display:flex;justify-content:space-between;gap:16px;font-size:13px}.project figcaption small{color:#bbb}
.process{background:#0d0d0f}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.process-grid>div{background:#0d0d0f;padding:34px}.process b{color:var(--gold);font-size:12px}.process h3{margin:48px 0 12px;font-size:24px}.process p{color:var(--muted);line-height:1.7;font-size:14px}
.contact{min-height:650px;position:relative;display:flex;align-items:center;padding:80px 7vw;overflow:hidden}.contact-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.35)),url('assets/project_03.jpg') center/cover}.contact-card{position:relative;z-index:2;max-width:760px}.contact h2{margin:12px 0 24px}.contact>div p{max-width:620px;color:#ddd;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin:28px 0}.contact-links a{border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px}.address{font-size:14px;color:#bbb!important}
footer{padding:50px 7vw;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:30px;border-top:1px solid var(--line);color:#8f8b84;font-size:12px}footer img{width:150px}
.reveal{animation:fadeUp .8s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .site-header{height:76px}.brand img{width:135px}.menu-btn{display:block}.nav{position:absolute;top:76px;left:0;right:0;background:#0b0b0c;display:none;flex-direction:column;padding:24px}.nav.open{display:flex}.hero-content{padding-bottom:18vh}.hero-stats{left:5vw;right:auto;bottom:3vh;gap:14px}.about-grid,.project-head{grid-template-columns:1fr;display:grid}.services-grid,.process-grid{grid-template-columns:1fr 1fr}.project-grid{display:block}.project{min-height:300px;margin-bottom:14px}.project:nth-child(1){min-height:420px}.section{padding:80px 6vw}footer{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hero h1{font-size:52px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-stats{display:none}.services-grid,.process-grid{grid-template-columns:1fr}.about h2,.projects h2,.contact h2{font-size:42px}
}

.gallery-open{background:none;border:0;color:#fff;font:inherit;cursor:pointer;padding:0}
.leopard-card{cursor:pointer}
.gallery-modal{position:fixed;inset:0;z-index:100;background:rgba(4,4,5,.96);display:none;align-items:center;justify-content:center;padding:5vw}
.gallery-modal.open{display:flex}
.gallery-stage{width:min(1200px,86vw)}
.gallery-stage img{width:100%;max-height:76vh;object-fit:contain;background:#080808}
.gallery-meta{display:flex;align-items:end;justify-content:space-between;padding-top:18px}
.gallery-meta h3{margin:5px 0 0;font-size:26px}
.gallery-meta>span{color:#aaa}
.gallery-close{position:absolute;top:24px;right:30px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:white;width:52px;height:52px;border-radius:50%;font-size:34px;cursor:pointer}
.gallery-arrow.prev{left:2vw}.gallery-arrow.next{right:2vw}
@media(max-width:700px){.gallery-arrow{top:auto;bottom:24px}.gallery-arrow.prev{left:30vw}.gallery-arrow.next{right:30vw}.gallery-stage{width:94vw}.gallery-modal{padding:3vw}}
/* Project grid: ensure every project card occupies a full usable grid area */
.project:nth-child(7){grid-column:span 7;min-height:460px}
.project:nth-child(8){grid-column:span 5;min-height:460px}
.project > img{width:100%;display:block}

@media(max-width:900px){
  .project:nth-child(7),.project:nth-child(8){grid-column:auto;min-height:320px}
}
