
:root{
  --bg:#0b0b0c;
  --panel:#141416;
  --panel-2:#1c1c1f;
  --text:#f5f5f3;
  --muted:#aaa9a5;
  --line:#2a2a2d;
  --light:#f5f5f2;
  --ink:#0c0c0d;
  --max:1320px;
  --radius:2px;
  --space:clamp(64px,8vw,118px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}
img,video{display:block;max-width:100%;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.eyebrow{
  text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--muted)
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(3rem,7vw,7rem);line-height:.95;letter-spacing:-.055em;
  font-weight:650;max-width:1050px;margin-bottom:26px
}
h2{
  font-size:clamp(2.2rem,4vw,4.7rem);line-height:1;letter-spacing:-.045em;
  font-weight:600;margin-bottom:24px
}
h3{font-size:1.3rem;letter-spacing:-.02em}
.lead{font-size:clamp(1rem,1.5vw,1.25rem);color:#c5c4c0;max-width:760px}
.section{padding:var(--space) 0;border-top:1px solid var(--line)}
.section.light{background:var(--light);color:var(--ink);border-top:0}
.section.light .lead,.section.light .muted{color:#5d5d5b}
.section-head{
  display:grid;grid-template-columns:.8fr 2.2fr;gap:40px;align-items:start;margin-bottom:48px
}
.nav{
  position:fixed;z-index:50;top:0;left:0;right:0;
  border-bottom:1px solid transparent;transition:.25s ease;
}
.nav.scrolled{background:rgba(10,10,11,.92);backdrop-filter:blur(12px);border-color:var(--line)}
.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-size:.88rem;letter-spacing:.18em;font-weight:800}
.brand small{display:block;font-size:.55rem;letter-spacing:.28em;color:var(--muted);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.9rem}
.nav-links a:not(.btn):hover{opacity:.62}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 20px;border:1px solid #fff;background:#fff;color:#0b0b0c;
  text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800;cursor:pointer;
  transition:.2s ease;border-radius:var(--radius)
}
.btn:hover{background:transparent;color:#fff}
.btn.ghost{background:transparent;color:#fff}
.btn.ghost:hover{background:#fff;color:#111}
.btn.dark{background:#111;color:#fff;border-color:#111}
.btn.dark:hover{background:transparent;color:#111}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.4rem}
.hero{
  min-height:92vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;
  background:#101011
}
.hero-media{position:absolute;inset:0}
.hero-media img{height:100%;filter:grayscale(100%);opacity:.62}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.78))}
.hero-content{position:relative;z-index:2;padding:160px 0 72px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-meta{
  display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);
  color:#d5d5d2;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em
}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{position:relative;min-height:480px;overflow:hidden;background:var(--panel)}
.service-card img{height:100%;position:absolute;inset:0;filter:grayscale(100%);opacity:.6;transition:.45s ease}
.service-card:hover img{transform:scale(1.035);opacity:.72}
.service-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.88))}
.service-card .content{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.service-card .content p{color:#c8c8c5;margin-bottom:0}
.portfolio-grid{
  display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:90px;gap:14px
}
.project{position:relative;overflow:hidden;background:var(--panel);grid-column:span 6;grid-row:span 5}
.project.tall{grid-column:span 4;grid-row:span 7}
.project.wide{grid-column:span 8;grid-row:span 6}
.project.small{grid-column:span 4;grid-row:span 5}
.project img{height:100%;filter:grayscale(100%);transition:.5s ease}
.project:hover img{transform:scale(1.035);filter:grayscale(35%)}
.project::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}
.project-info{position:absolute;z-index:2;bottom:20px;left:20px;right:20px}
.project-info span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#ccc}
.statement{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.statement img{height:620px;filter:grayscale(100%)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #bdbdb9}
.value{padding:28px 28px 0 0;border-right:1px solid #bdbdb9;min-height:180px}
.value:last-child{border-right:0;padding-left:28px}
.value:nth-child(2){padding-left:28px}
.cta{padding:90px 0;background:#111;border-top:1px solid var(--line)}
.cta-inner{display:flex;justify-content:space-between;align-items:end;gap:30px}
.cta h2{max-width:800px;margin-bottom:0}
.footer{padding:58px 0 32px;background:#080809;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-nav{display:grid;gap:10px;color:#bebebb}
.footer-bottom{
  display:flex;justify-content:space-between;gap:20px;padding-top:44px;margin-top:40px;border-top:1px solid var(--line);
  color:#777;font-size:.8rem
}
.page-hero{padding:180px 0 80px;background:#0e0e0f}
.page-hero h1{font-size:clamp(3.2rem,7vw,6.6rem)}
.service-row{
  display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:54px 0;border-top:1px solid var(--line)
}
.service-row:nth-child(even) .service-image{order:2}
.service-image img{height:520px;filter:grayscale(100%)}
.service-copy p{color:var(--muted);max-width:600px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.filter{
  background:transparent;border:1px solid var(--line);color:#c9c9c6;padding:10px 14px;cursor:pointer;
  text-transform:uppercase;font-size:.68rem;letter-spacing:.14em
}
.filter.active,.filter:hover{background:#fff;color:#111;border-color:#fff}
.gallery-grid{columns:3 300px;column-gap:14px}
.gallery-item{break-inside:avoid;margin-bottom:14px;position:relative;cursor:pointer;overflow:hidden}
.gallery-item img{filter:grayscale(100%);transition:.35s}
.gallery-item:hover img{filter:grayscale(20%);transform:scale(1.02)}
.gallery-label{position:absolute;bottom:14px;left:14px;background:#0b0b0ce0;padding:7px 9px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.about-grid img{height:700px;filter:grayscale(100%)}
.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#9a9a98}
input,select,textarea{
  width:100%;background:#111;border:1px solid #313134;color:#fff;padding:14px 15px;outline:none;border-radius:0
}
input:focus,select:focus,textarea:focus{border-color:#8f8f90}
textarea{min-height:150px;resize:vertical}
.notice{font-size:.85rem;color:#9b9b99}
.modal{position:fixed;inset:0;background:#000e;z-index:100;display:none;align-items:center;justify-content:center;padding:30px}
.modal.open{display:flex}
.modal img{max-width:min(1200px,95vw);max-height:88vh;width:auto}
.modal-close{position:absolute;right:24px;top:18px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}
.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){
  .nav-links{
    display:none;position:absolute;top:82px;left:0;right:0;background:#0b0b0c;padding:26px 20px;
    flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)
  }
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .section-head,.statement,.form-wrap,.about-grid,.service-row{grid-template-columns:1fr}
  .service-row:nth-child(even) .service-image{order:0}
  .grid-3{grid-template-columns:1fr}
  .service-card{min-height:430px}
  .portfolio-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}
  .project,.project.tall,.project.wide,.project.small{grid-column:auto;grid-row:auto;height:420px}
  .values{grid-template-columns:1fr}
  .value,.value:nth-child(2),.value:last-child{border-right:0;border-bottom:1px solid #bdbdb9;padding:24px 0}
  .statement img,.about-grid img,.service-image img{height:480px}
  .cta-inner,.footer-grid,.footer-bottom{display:grid;grid-template-columns:1fr}
}
@media (max-width:620px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .hero{min-height:88vh}
  .hero-content{padding-bottom:42px}
  .hero-meta{display:none}
  .form{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .gallery-grid{columns:1}
  .project,.project.tall,.project.wide,.project.small{height:360px}
}
