:root {
  --bg: #0a0a0a;
  --text: #f3f1ed;
  --muted: #a5a19a;
  --line: rgba(243,241,237,.16);
  --accent: #d8c5a2;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: "DM Sans", sans-serif; font-weight: 300; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.nav { position: fixed; z-index: 10; top: 0; left: 0; width: 100%; display:flex; align-items:center; justify-content:space-between; padding: 28px 5vw; mix-blend-mode: normal; }
.brand { font-weight: 600; letter-spacing: .12em; font-size: 17px; } .logo-link img { display:block; width:150px; height:auto; filter:invert(1); } .logo-footer img { display:block; width:145px; height:auto; filter:invert(1); }
.brand span { font-size: 8px; vertical-align: top; margin-left: 2px; }
.nav nav { display:flex; gap: 34px; font-size: 12px; letter-spacing:.12em; text-transform:uppercase; }
.nav nav a { opacity:.72; transition:.25s; }
.nav nav a:hover { opacity:1; }
.menu { display:none; background:none; border:0; color:var(--text); font:inherit; letter-spacing:.12em; }
.hero { min-height:100vh; position:relative; overflow:hidden; display:flex; align-items:center; padding: 12vh 10vw; background:
radial-gradient(circle at 75% 38%, rgba(132,105,70,.24), transparent 28%),
linear-gradient(120deg, #0a0a0a 0%, #11100f 52%, #070707 100%); }
.hero:after { content:""; position:absolute; inset:0; background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.025), transparent 60%); pointer-events:none; }
.grain { position:absolute; inset:-50%; opacity:.055; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); transform:rotate(7deg); }
.hero-content { max-width: 850px; position:relative; z-index:1; }
.eyebrow, .section-label, .label { font-size:10px; letter-spacing:.2em; color:var(--muted); }
.eyebrow { margin-bottom: 28px; }
h1, h2 { font-family:"Playfair Display", serif; font-weight:500; line-height:.95; letter-spacing:-.035em; }
h1 { font-size:clamp(64px, 9vw, 142px); max-width:1000px; }
h1 em, h2 em { color:var(--accent); font-style:italic; font-weight:500; }
.lead { max-width:560px; color:#c2beb7; margin:38px 0 32px; font-size:17px; }
.button { display:inline-flex; gap:28px; align-items:center; padding:15px 20px; border:1px solid rgba(243,241,237,.45); font-size:11px; text-transform:uppercase; letter-spacing:.14em; transition:.3s; }
.button:hover { background:var(--text); color:var(--bg); }
.hero-meta { position:absolute; bottom:42px; left:5vw; display:flex; gap:28px; font-size:9px; letter-spacing:.2em; color:var(--muted); }
.scroll { position:absolute; bottom:42px; right:5vw; font-size:9px; letter-spacing:.2em; color:var(--muted); }
.section { padding:130px 10vw; border-top:1px solid var(--line); }
.section-label { margin-bottom:65px; }
.about-grid, .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
h2 { font-size:clamp(48px, 6vw, 88px); }
.copy { max-width:570px; padding-top:10px; }
.copy .large { font-size:25px; line-height:1.4; color:#e1ddd6; margin-bottom:28px; }
.copy p:not(.large) { color:var(--muted); max-width:500px; }
.text-link { display:inline-block; margin-top:38px; font-size:11px; text-transform:uppercase; letter-spacing:.15em; border-bottom:1px solid var(--line); padding-bottom:9px; }
.text-link span { margin-left:25px; color:var(--accent); }
.services { background:#0d0d0d; }
.services-head { margin-bottom:80px; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.service { min-height:210px; padding:30px 35px 30px 0; border-bottom:1px solid var(--line); }
.service:nth-child(odd) { border-right:1px solid var(--line); padding-right:45px; }
.service:nth-child(even) { padding-left:45px; }
.service span, .card span { color:var(--accent); font-size:10px; letter-spacing:.15em; }
.service h3 { font-family:"Playfair Display",serif; font-size:28px; font-weight:500; margin:35px 0 12px; }
.service p { color:var(--muted); max-width:420px; font-size:14px; }
.production-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; margin-bottom:70px; }
.production-intro p { color:var(--muted); max-width:420px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.card { min-height:460px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; border:1px solid var(--line); }
.card:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.85)); }
.card > * { position:relative; z-index:1; }
.card h3 { font-family:"Playfair Display",serif; font-size:42px; margin:15px 0 3px; }
.card p { color:#bbb6ae; font-size:13px; }
.card-a { background:radial-gradient(circle at 50% 35%, #6b5a47, #161311 55%, #090909); }
.card-b { background:radial-gradient(circle at 70% 35%, #46535a, #121517 55%, #080909); }
.card-c { background:radial-gradient(circle at 40% 30%, #5d4948, #151112 55%, #080808); }
.statement { min-height:55vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:80px 10vw; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(135deg,#10100f,#080808); }
.statement p { font-family:"Playfair Display",serif; font-size:clamp(38px,6vw,82px); line-height:1; }
.statement em { color:var(--accent); font-style:italic; }
.contact { padding-bottom:170px; }
.contact-copy { max-width:460px; color:var(--muted); margin-top:35px; font-size:16px; }
.contact-details { padding-top:12px; }
.contact-details .label { margin-bottom:13px; }
.email { font-family:"Playfair Display",serif; font-size:clamp(25px,3vw,45px); border-bottom:1px solid var(--line); display:inline-block; padding-bottom:7px; }
.location-label { margin-top:65px; }
.contact-details > p:last-child { color:var(--muted); }
footer { padding:35px 5vw; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; font-size:10px; color:var(--muted); }
footer .brand { color:var(--text); }
footer div:nth-child(2) { text-align:center; }
footer div:last-child { text-align:right; }
@media (max-width: 800px) {
  .nav { padding:22px 6vw; } .nav nav { display:none; } .menu { display:block; }
  .hero { padding:120px 7vw 100px; } .hero-meta { left:7vw; } .scroll { display:none; }
  .section { padding:90px 7vw; } .section-label { margin-bottom:45px; }
  .about-grid, .contact-grid, .production-intro { grid-template-columns:1fr; gap:45px; }
  .service-list { grid-template-columns:1fr; } .service, .service:nth-child(odd), .service:nth-child(even) { border-right:0; padding:28px 0; min-height:auto; }
  .cards { grid-template-columns:1fr; } .card { min-height:380px; }
  footer { grid-template-columns:1fr; gap:18px; text-align:left; } footer div:nth-child(2), footer div:last-child { text-align:left; }
}
