@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --black:#0a0a0b;
  --panel:#131313;
  --gold-deep:#9c7a30;
  --gold:#c9a24d;
  --gold-light:#f0d38c;
  --white:#f6f3ec;
  --grey:#8c8578;
  --line: rgba(201,162,77,0.28);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--white);
  font-family:'Jost',sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--black);}
a{color:inherit;text-decoration:none;}

.gold-text{
  background:linear-gradient(115deg, var(--gold-deep), var(--gold-light) 45%, var(--gold) 80%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.eyebrow{
  display:flex;align-items:center;justify-content:center;gap:18px;
  font-size:0.72rem;letter-spacing:0.42em;text-transform:uppercase;
  color:var(--gold);margin-bottom:22px;
}
.eyebrow::before,.eyebrow::after{content:'';height:1px;width:36px;background:linear-gradient(90deg, transparent, var(--gold));}
.eyebrow::after{background:linear-gradient(90deg, var(--gold), transparent);}

.section-heading{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2rem, 4.2vw, 3.1rem);line-height:1.15;text-align:center;margin-bottom:20px;
}
.section-sub{
  text-align:center;max-width:560px;margin:0 auto 64px;color:var(--grey);
  font-weight:300;font-size:1.02rem;line-height:1.8;
}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 40px;background:rgba(10,10,11,0.92);
  border-bottom:1px solid var(--line);
}
.nav-brand{display:flex;align-items:center;gap:12px;}
.nav-logo{height:52px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a{
  font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--grey);
  transition:color 0.3s ease;
}
.nav-links a:hover, .nav-links a.active{color:var(--gold);}
.nav-right{display:flex;align-items:center;gap:28px;}
.nav-phone{font-size:0.85rem;letter-spacing:0.06em;color:var(--grey);}
.nav-phone strong{color:var(--gold);font-weight:500;}

.btn{
  display:inline-block;padding:12px 26px;border:1px solid var(--gold);color:var(--gold);
  font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;border-radius:2px;
  transition:all 0.35s ease;white-space:nowrap;
}
.btn:hover{background:var(--gold);color:var(--black);box-shadow:0 0 24px rgba(201,162,77,0.35);}
.btn-fill{
  background:linear-gradient(120deg, var(--gold-deep), var(--gold));
  color:var(--black);border:1px solid var(--gold);font-weight:500;
}
.btn-fill:hover{box-shadow:0 0 30px rgba(201,162,77,0.45);transform:translateY(-1px);}

.nav-toggle{
  display:none;background:none;border:1px solid var(--gold-deep);border-radius:2px;
  width:42px;height:36px;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;cursor:pointer;
}
.nav-toggle span{width:20px;height:1px;background:var(--gold);display:block;}

.nav-scrim{
  position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:150;
  opacity:0;pointer-events:none;transition:opacity 0.4s ease;
}
.nav-scrim.open{opacity:1;pointer-events:auto;}

.mobile-nav{
  position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
  background:rgba(10,10,11,0.98);border-left:1px solid var(--line);z-index:200;
  transform:translateX(100%);transition:transform 0.4s ease;
  display:flex;flex-direction:column;padding:110px 34px 40px;gap:30px;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{
  font-family:'Cormorant Garamond',serif;font-size:1.55rem;color:var(--white);letter-spacing:0.02em;
}
.mobile-nav a.active{color:var(--gold);}
.mobile-nav .btn{margin-top:10px;text-align:center;}

@media (max-width:720px){
  .nav-phone{display:none;}
  .nav-links{display:none;}
  .nav-right .btn{display:none;}
  .nav-toggle{display:flex;}
  nav{padding:16px 20px;}
}

/* PAGE HERO (small, used on services/contact pages) */
.page-hero{
  padding:180px 24px 90px;text-align:center;
  background:radial-gradient(ellipse at 50% -10%, rgba(201,162,77,0.10), transparent 55%), var(--black);
}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2.2rem, 5vw, 3.6rem);line-height:1.15;
}
.page-hero p{color:var(--grey);max-width:520px;margin:20px auto 0;font-size:1.02rem;line-height:1.85;}

/* HOME HERO */
.hero{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:160px 24px 100px;
  background:radial-gradient(ellipse at 50% -10%, rgba(201,162,77,0.10), transparent 55%), var(--black);
}
.hero-mark{width:220px;height:auto;margin-bottom:20px;}
.hero h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2.6rem, 6.6vw, 5.2rem);line-height:1.08;max-width:920px;
}
.hero h1 em{font-style:italic;font-weight:400;}
.hero p.lede{margin-top:26px;max-width:520px;color:var(--grey);font-size:1.08rem;line-height:1.85;}
.hero-ctas{margin-top:44px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;}
.hero-thread{margin-top:80px;width:1px;height:90px;background:linear-gradient(to bottom, var(--gold), transparent);}

/* SECTIONS */
.section{padding:120px 0;}
.section-alt{background:linear-gradient(180deg, var(--black), var(--panel) 12%, var(--panel) 88%, var(--black));}

/* SERVICES */
.services-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);max-width:940px;margin:0 auto;
}
.service-card{background:var(--black);padding:56px 46px;transition:background 0.4s ease;}
.service-card:hover{background:#0f0e0c;}
.service-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.95rem;color:var(--gold);letter-spacing:0.08em;margin-bottom:18px;display:block;}
.service-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.85rem;margin-bottom:16px;}
.service-card p{color:var(--grey);line-height:1.85;font-size:0.98rem;font-weight:300;}
.service-card .tags{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;}
.service-card .tags span{
  font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--gold-deep);padding:6px 12px;border-radius:2px;
}
@media (max-width:720px){.services-grid{grid-template-columns:1fr;}.service-card{padding:44px 30px;}}

/* PROCESS */
.process-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;}
.process-item{display:grid;grid-template-columns:120px 1fr;gap:36px;padding:38px 0;border-top:1px solid var(--line);align-items:start;}
.process-item:last-child{border-bottom:1px solid var(--line);}
.process-order{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--gold);letter-spacing:0.04em;padding-top:4px;}
.process-item h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.5rem;margin-bottom:10px;}
.process-item p{color:var(--grey);line-height:1.85;font-size:0.98rem;font-weight:300;max-width:500px;}
@media (max-width:600px){.process-item{grid-template-columns:1fr;gap:10px;}}

/* REVEAL SLIDER */
.reveal-wrap{max-width:880px;margin:0 auto;padding:0 24px;}
.reveal-box{
  position:relative;width:100%;aspect-ratio:16/8;border:1px solid var(--line);
  overflow:hidden;cursor:ew-resize;user-select:none;border-radius:2px;
}
.reveal-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;}
.reveal-weathered{background:repeating-linear-gradient(115deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 5px), linear-gradient(160deg, #302c22, #1b1912 60%, #100f0c);}
.reveal-seamless{background:linear-gradient(160deg, #1a1a1a, #0c0c0c 55%, #050505);}
.reveal-label{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:0.08em;color:var(--white);}
.reveal-weathered .reveal-label{color:#8f8467;}
.reveal-seamless .reveal-label{color:var(--gold-light);}
.reveal-sub{position:relative;z-index:2;font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;margin-top:8px;color:var(--grey);}
.reveal-front{position:absolute;inset:0;width:50%;overflow:hidden;border-right:1px solid var(--gold);}
.reveal-handle{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold);transform:translateX(-0.5px);}
.reveal-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--black);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;}
.reveal-grip svg{width:18px;height:18px;}
.reveal-caption{text-align:center;margin-top:26px;color:var(--grey);font-size:0.85rem;letter-spacing:0.04em;}

/* CONTACT */
.contact-section{text-align:center;padding:60px 24px 90px;}
.contact-phone{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem, 6vw, 4rem);
  letter-spacing:0.02em;margin:20px 0 8px;display:inline-block;
}
.contact-domain{color:var(--grey);font-size:0.9rem;letter-spacing:0.08em;margin-bottom:44px;}

/* FOOTER */
footer{
  border-top:1px solid var(--line);padding:34px 24px;display:flex;align-items:center;
  justify-content:space-between;max-width:1180px;margin:0 auto;flex-wrap:wrap;gap:16px;
}
.footer-brand{display:flex;align-items:center;gap:10px;color:var(--grey);font-size:0.85rem;letter-spacing:0.04em;}
.footer-brand strong{color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:0.1em;}
.footer-note{color:var(--grey);font-size:0.78rem;letter-spacing:0.03em;opacity:0.7;}

/* fade-up on scroll */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.9s ease, transform 0.9s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
