:root{
  --black:#0A0A0A;
  --ivory:#F4F1E8;
  --copper:#B87333;
  --line:rgba(244,241,232,.18);
  --muted:#b6b2a9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
html,body{overflow-x:hidden}
body{
  margin:0;
  background:var(--black);
  color:var(--ivory);
  font-family:Montserrat,Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,video:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:4px;
}
::selection{background:var(--copper);color:var(--black)}
img,video{max-width:100%;display:block}
.skip{position:fixed;top:-100px;z-index:40;background:var(--ivory);color:var(--black);padding:12px 16px}
.skip:focus{top:8px;left:8px}
.eyebrow{margin:0 0 12px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.eyebrow span{color:var(--copper);margin-right:10px}
.brand{font-weight:600;font-size:17px;letter-spacing:.06em}
.brand span{color:var(--copper)}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:0}
h1{font-size:clamp(30px,8vw,48px);max-width:16ch}
h2{font-size:clamp(22px,5vw,32px);max-width:18ch}
h3{font-size:16px;font-weight:600;letter-spacing:0}

.nc-header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  min-height:64px;padding:0 6vw;
  border-bottom:1px solid var(--line);
  background:rgba(10,10,10,.92);
}
.menu-toggle{width:34px;height:24px;position:relative;z-index:31;margin-left:auto}
.menu-toggle span{display:block;width:100%;height:1px;background:var(--ivory);margin:7px 0;transition:transform .3s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.nc-nav{
  position:fixed;inset:0;z-index:25;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  background:var(--black);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease;
}
.nc-nav.open{opacity:1;visibility:visible;pointer-events:auto}
.nc-nav a{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.nav-cta{color:var(--copper)}
body.menu-open{overflow:hidden}

.nc-hero{padding:28px 6vw 40px}
.hero-video{
  position:relative;
  margin:22px 0 0;
  width:100%;
  max-width:100%;
  aspect-ratio:16/9;
  background:#000;
  border:1px solid var(--line);
  overflow:hidden;
}
.hero-poster,.hero-video video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
  background:#000;
}
.hero-video video[hidden]{display:none}
.hero-play{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:rgba(10,10,10,.22);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
}
.hero-play-icon{
  width:56px;height:56px;border-radius:50%;
  border:1px solid rgba(244,241,232,.75);
  position:relative;
}
.hero-play-icon:before{
  content:"";
  position:absolute;left:22px;top:18px;
  border-style:solid;
  border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent var(--ivory);
}
.hero-video.is-playing .hero-play,
.hero-video.is-playing .hero-poster{display:none}
.btn{
  display:inline-flex;align-items:center;gap:14px;
  margin-top:22px;padding-bottom:7px;
  border-bottom:1px solid var(--copper);
  font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
}
.btn span{color:var(--copper)}
.btn-submit{
  width:100%;justify-content:center;
  margin-top:8px;padding:15px 18px;
  border:1px solid var(--copper);
  background:var(--ivory);color:var(--black);
}

.nc-section{padding:48px 6vw}
.service-list{display:grid;gap:0;margin-top:22px}
.service-list article{border-top:1px solid var(--line);padding:18px 0}
.service-list p{margin:8px 0 0;color:var(--muted);font-size:14px}

.nc-behind{background:#100f0d}
.behind-grid{display:grid;gap:22px;margin-top:20px}
.behind-grid img{
  width:100%;height:auto;max-height:min(720px,78vh);
  object-fit:contain;object-position:center top;
  border:1px solid var(--line);background:#0a0a0a;
}
.behind-copy p{margin:14px 0 0;color:var(--muted);font-size:15px;max-width:36rem}

.nc-contact{
  background:radial-gradient(ellipse at 10% 0%, rgba(184,115,51,.1), transparent 46%), var(--black);
}
.nc-form{
  position:relative;
  margin-top:22px;padding:22px 18px;
  background:#100f0d;
  border:1px solid rgba(184,115,51,.3);
  border-top-color:rgba(184,115,51,.65);
  display:grid;gap:16px;
}
.form-honeypot{
  position:absolute!important;left:-9999px!important;
  width:1px!important;height:1px!important;overflow:hidden!important;
}
.form-field{display:flex;flex-direction:column;gap:7px;font-size:12px}
.form-field input,.form-field select,.form-field textarea{
  width:100%;border:1px solid #73695e;background:#0d0c0b;color:var(--ivory);
  padding:12px;font:inherit;font-size:16px;
}
.form-field textarea{min-height:96px;resize:vertical}
.form-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#c5beb2}
.form-consent input{margin-top:3px;accent-color:var(--copper)}
.form-consent a{border-bottom:1px solid var(--copper)}

.nc-footer{
  margin:0 6vw;padding:22px 0 32px;
  display:grid;gap:10px;
  border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);
}
.nc-footer nav{display:flex;flex-wrap:wrap;gap:12px 18px}

@media(min-width:720px){
  .menu-toggle{display:none}
  .nc-nav{
    position:fixed;top:0;right:7vw;left:auto;bottom:auto;
    z-index:21;height:64px;width:auto;
    flex-direction:row;gap:26px;
    background:transparent;opacity:1;visibility:visible;pointer-events:auto;
  }
  .nc-nav a{font-size:12px}
  .nc-hero,.nc-section{padding-left:7vw;padding-right:7vw}
  .nc-hero{padding-top:40px;padding-bottom:56px}
  .nc-section{padding-top:64px;padding-bottom:64px}
  .service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .service-list article{padding-top:20px}
  .behind-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
  .nc-form{max-width:640px;padding:32px}
  .btn-submit{width:auto}
  .nc-footer{grid-template-columns:1fr auto auto;align-items:center;margin:0 7vw}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .menu-toggle span{transition:none}
  .nc-nav{transition:none}
}
