@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');

:root{
  --black:#080808;
  --charcoal:#111111;
  --gold:#b47a24;
  --gold2:#d0a154;
  --cream:#f4f1ea;
  --white:#ffffff;
  --text:#1b1b1b;
  --muted:#717171;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}

.site-header{
  position:fixed;z-index:60;top:0;left:0;width:100%;height:82px;padding:0 5vw;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(7,7,7,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.brand{display:flex;align-items:center;gap:12px;color:#fff;font-family:Manrope,sans-serif;font-weight:700;letter-spacing:.13em;font-size:13px}
.brand img{width:52px;height:52px;object-fit:cover;border-radius:50%}
nav{display:flex;gap:34px}
nav a{color:#f5f5f5;font-size:14px;transition:.2s}
nav a:hover{color:var(--gold2)}
.menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:26px}

.hero{
  position:relative;min-height:100vh;
  background:url('assets/hero.png') center center/cover no-repeat;
  display:flex;align-items:center;padding:120px 8vw 70px;overflow:hidden
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42) 50%,rgba(0,0,0,.18))
}
.hero-content{position:relative;z-index:2;max-width:820px;color:#fff}
.eyebrow,.section-label,.front-contact-title,.front-label{
  font-size:12px;letter-spacing:.22em;font-weight:700
}
.eyebrow{color:var(--gold2);margin-bottom:18px}
.hero h1{
  font-family:Manrope,sans-serif;font-size:clamp(54px,7.2vw,108px);
  line-height:.96;letter-spacing:-.045em;margin:0 0 26px;max-width:1000px
}
.hero-copy{font-size:19px;line-height:1.6;max-width:680px;color:#ececec}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:600;font-size:14px;margin-top:24px}
.primary{background:var(--gold);color:#fff}
.outline{border:1px solid rgba(255,255,255,.6);color:#fff}

.front-contact{
  position:absolute;z-index:3;right:5vw;bottom:7vh;width:min(390px,33vw);
  background:rgba(8,8,8,.82);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.17);padding:26px 30px;color:#fff
}
.front-contact-title{color:var(--gold2);margin:0 0 5px}
.front-contact-item{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.front-contact-item:last-child{border-bottom:0;padding-bottom:0}
.front-label{color:var(--gold2)}
.front-contact-item strong{font-size:22px;font-weight:600;line-height:1.18}
.front-contact-item small{color:#bcbcbc;font-size:13px}
.front-contact-item:hover strong{color:var(--gold2)}

.section{padding:110px 8vw}
.section-label{color:var(--muted);margin-bottom:25px}
.gold{color:var(--gold2)}

.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;align-items:start}
.intro h2,.section h2,.closing h2{
  font-family:Manrope,sans-serif;font-size:clamp(36px,4.5vw,68px);
  line-height:1.03;letter-spacing:-.04em;margin:0
}
.intro p,.work-heading p{font-size:17px;line-height:1.8;color:#555}

.dark{background:var(--black);color:#fff}
.dark h2{max-width:900px;margin-bottom:55px}

.services-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid #343434;border-left:1px solid #343434
}
.services-grid article{
  padding:34px 28px 40px;min-height:250px;
  border-right:1px solid #343434;border-bottom:1px solid #343434
}
.services-grid span{color:var(--gold2);font-size:12px;letter-spacing:.16em}
.services-grid h3{font-family:Manrope,sans-serif;font-size:20px;margin:36px 0 12px}
.services-grid p{color:#bdbdbd;line-height:1.65;font-size:14px}

.work-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:8vw;align-items:end;margin-bottom:50px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-card{background:#f4f2ed;overflow:hidden}
.project-image{height:300px;background-size:cover;background-position:center}
.project-one{background:linear-gradient(135deg,#332513,#b47a24)}
.project-two{background:linear-gradient(135deg,#1f3024,#718769)}
.project-three{background:linear-gradient(135deg,#d9d6ce,#6a6c72)}
.project-copy{padding:26px 26px 30px}
.project-copy small{color:var(--gold);font-weight:700;letter-spacing:.16em}
.project-copy h3{font-family:Manrope,sans-serif;font-size:25px;margin:10px 0}
.project-copy p{color:#666;line-height:1.55}

.closing{
  padding:85px 8vw;background:#111;color:#fff;
  display:flex;align-items:end;justify-content:space-between;gap:40px
}
.closing p:last-child{color:#aaa}

footer{
  background:#060606;color:#a9a9a9;padding:42px 8vw;
  display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px
}
.footer-brand{display:flex;align-items:center;gap:12px;color:#fff;letter-spacing:.13em}
.footer-brand img{width:42px;height:42px;border-radius:50%}

@media(max-width:1100px){
  .front-contact{width:350px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:1fr}
  .project-image{height:360px}
  .intro-grid,.work-heading{grid-template-columns:1fr;gap:35px}
}

@media(max-width:820px){
  .site-header{height:70px;padding:0 20px}
  .brand span{display:none}
  nav{display:none;position:absolute;top:70px;left:0;width:100%;padding:24px;background:#0b0b0b;flex-direction:column}
  body.menu-open nav{display:flex}
  .menu-toggle{display:block}

  .hero{min-height:1040px;padding:110px 24px 60px;align-items:flex-start}
  .hero-content{margin-top:90px}
  .hero h1{font-size:54px}
  .hero-copy{font-size:17px}
  .front-contact{left:24px;right:24px;bottom:50px;width:auto}

  .section{padding:80px 24px}
  .services-grid{grid-template-columns:1fr}
  .project-image{height:250px}
  .closing{padding:70px 24px;flex-direction:column;align-items:flex-start}
  footer{padding:34px 24px;flex-direction:column;align-items:flex-start}
}

@media(max-width:520px){
  .hero h1{font-size:44px}
  .front-contact-item strong{font-size:19px}
}



/* OUR WORK HORIZONTAL SLIDER */
.work{overflow:hidden}
.work-topline{display:flex;align-items:end;justify-content:space-between;gap:30px}
.work-topline h2{margin-top:0}
.work-intro{max-width:700px;color:#666;font-size:17px;line-height:1.7;margin:18px 0 38px}
.slider-controls{display:flex;gap:10px;padding-bottom:8px}
.slider-controls button{
  width:48px;height:48px;border-radius:50%;border:1px solid #b9b4aa;background:#fff;
  font-size:22px;cursor:pointer;transition:.2s
}
.slider-controls button:hover{background:#111;color:#fff;border-color:#111}
.work-slider{
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding:2px 1px 18px
}
.work-slider::-webkit-scrollbar{display:none}
.work-slide{
  flex:0 0 min(410px,82vw);background:#f4f2ed;scroll-snap-align:start;
  overflow:hidden;transition:transform .22s ease,box-shadow .22s ease
}
.work-slide:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.12)}
.work-image{
  height:280px;
  background:#e9e6df;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}
.work-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block
}
.work-copy{padding:26px 27px 30px}
.work-copy small{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em}
.work-copy h3{font-family:Manrope,sans-serif;font-size:24px;line-height:1.14;margin:11px 0 13px}
.work-copy p{color:#676767;font-size:14px;line-height:1.6;min-height:68px}
.work-copy span{font-size:11px;font-weight:700;letter-spacing:.13em;color:#9a6b22}

/* LOCAL OUR WORK ARTICLE PAGES */
.article-page{background:#f4f1ea}
.article-hero{background:#0b0b0b;color:#fff;padding:165px 11vw 75px}
.article-hero h1{
  font-family:Manrope,sans-serif;font-size:clamp(44px,6vw,82px);
  line-height:1;letter-spacing:-.045em;max-width:1100px;margin:18px 0 20px
}
.article-meta{color:#aaa;font-size:13px;letter-spacing:.06em}
.back-link{display:inline-block;color:#c99233;font-size:11px;font-weight:700;letter-spacing:.15em;margin-bottom:42px}
.article-image-wrap{max-width:1250px;margin:0 auto;padding:70px 8vw 20px}
.article-image-wrap img{width:100%;max-height:700px;object-fit:cover;display:block}
.article-body{max-width:850px;margin:0 auto;padding:45px 35px 100px}
.article-body p{font-size:18px;line-height:1.85;color:#444;margin:0 0 25px}
.article-contact{
  background:#101010;color:#fff;padding:75px 11vw;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end
}
.article-contact h2{
  font-family:Manrope,sans-serif;font-size:clamp(34px,4vw,58px);
  line-height:1.05;margin:10px 0
}
.article-contact-links{display:flex;flex-direction:column;border-top:1px solid #333}
.article-contact-links a{padding:16px 0;border-bottom:1px solid #333;color:#fff}
.article-contact-links a:hover{color:#d0a154}
@media(max-width:760px){
  .work-topline{align-items:flex-start}
  .slider-controls{display:none}
  .work-slide{flex-basis:84vw}
  .work-image{height:230px}
  .article-hero{padding:135px 24px 60px}
  .article-image-wrap{padding:45px 24px 10px}
  .article-body{padding:35px 24px 75px}
  .article-contact{padding:65px 24px;grid-template-columns:1fr}
}
