:root{
  --bg:#050505;
  --bg2:#0a0a0a;
  --panel:#0e0e0f;
  --panel2:#121212;
  --text:#f4f1ea;
  --muted:#a19d96;
  --line:rgba(255,255,255,.10);
  --silver:#e7e7e7;
  --gold:#cba66c;
  --gold2:#e2c18f;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 75% 10%,rgba(203,166,108,.09),transparent 24%),
    radial-gradient(circle at 10% 30%,rgba(255,255,255,.035),transparent 23%),
    var(--bg);
  color:var(--text);
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.noise{
  position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.site-header{
  width:min(calc(100% - 40px),var(--max));
  height:94px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);
  position:relative;z-index:5;
}
.brand{display:flex;align-items:center}
.brand img{
  width:148px;height:52px;object-fit:cover;object-position:center;
  filter:contrast(1.04) brightness(1.05);
}
.nav{display:flex;gap:34px;font-size:14px;color:#a9a49d}
.nav a{transition:.25s ease}
.nav a:hover{color:white}
.header-cta{
  border:1px solid rgba(203,166,108,.38);
  color:var(--gold2);border-radius:999px;
  padding:12px 18px;font-size:14px;
  transition:.25s ease
}
.header-cta:hover{background:var(--gold);color:#080808}

.hero{
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;
  min-height:730px;
  padding:86px 0 72px;
  display:grid;grid-template-columns:1.08fr .92fr;
  gap:60px;align-items:center;
}
.eyebrow,.kicker{
  font-size:11px;font-weight:700;letter-spacing:.18em;
  color:var(--gold2)
}
.hero h1{
  font-family:Manrope,sans-serif;
  font-size:clamp(58px,6.6vw,95px);
  line-height:.96;letter-spacing:-.055em;
  margin:24px 0 28px;
  max-width:800px
}
.hero h1 span{
  background:linear-gradient(100deg,#f7f4ee 5%,#d9d9d9 35%,#cba66c 72%,#e3c79d 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-copy>p{
  max-width:690px;margin:0 0 34px;
  color:#a8a39c;font-size:18px;line-height:1.75
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{
  min-height:54px;padding:0 22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-size:14px;font-weight:700;transition:.25s ease
}
.btn-primary{
  background:linear-gradient(135deg,#e2c18f,#b98a4e);color:#090909
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(203,166,108,.18)}
.btn-secondary{border:1px solid var(--line);background:rgba(255,255,255,.02)}
.btn-secondary:hover{background:rgba(255,255,255,.06)}

.hero-stats{
  display:flex;gap:42px;margin-top:62px;padding-top:22px;
  border-top:1px solid var(--line);max-width:590px
}
.hero-stats div{display:flex;gap:10px;align-items:center}
.hero-stats strong{font-size:11px;color:var(--gold)}
.hero-stats span{font-size:13px;color:#a39f99}

.hero-logo{min-height:530px;display:grid;place-items:center;position:relative}
.logo-stage{
  width:min(43vw,560px);aspect-ratio:1.25;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.05),transparent 36%),
    linear-gradient(180deg,#070707,#020202);
  border-radius:36px;
  display:grid;place-items:center;position:relative;
  overflow:hidden;
  box-shadow:0 36px 100px rgba(0,0,0,.42)
}
.logo-stage:before,.logo-stage:after{
  content:"";position:absolute;border-radius:50%;filter:blur(70px)
}
.logo-stage:before{width:270px;height:270px;background:rgba(203,166,108,.10);right:-70px;top:-70px}
.logo-stage:after{width:260px;height:260px;background:rgba(255,255,255,.055);left:-80px;bottom:-90px}
.logo-stage img{width:88%;position:relative;z-index:2}
.logo-halo{
  position:absolute;width:72%;height:48%;border-radius:50%;
  border:1px solid rgba(203,166,108,.16);
  box-shadow:0 0 80px rgba(203,166,108,.06)
}
.hero-badge{
  position:absolute;padding:12px 16px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(10,10,10,.75);backdrop-filter:blur(14px);
  color:#d8d3cb;font-size:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.28)
}
.hero-badge:before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:var(--gold);margin-right:9px;box-shadow:0 0 12px rgba(203,166,108,.7)
}
.badge-a{top:76px;left:-14px}
.badge-b{bottom:76px;right:-6px}

.marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;background:#080808;padding:18px 0
}
.marquee-track{
  display:flex;gap:28px;align-items:center;width:max-content;
  animation:marquee 28s linear infinite;
  color:#77716a;font-size:11px;letter-spacing:.16em;font-weight:700
}
.marquee-track i{font-style:normal;color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;padding:130px 0
}
.section-heading{
  display:grid;grid-template-columns:1.05fr .95fr;gap:80px;
  align-items:end;margin-bottom:58px
}
.section-heading h2,.studio h2,.contact h2{
  font-family:Manrope,sans-serif;
  font-size:clamp(42px,5vw,72px);
  letter-spacing:-.045em;line-height:1;
  margin:18px 0 0
}
.section-heading p{
  margin:0;max-width:530px;color:#9d9892;
  line-height:1.75;font-size:17px
}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  min-height:340px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
  border-radius:26px;padding:30px;position:relative;overflow:hidden;
  transition:.35s ease
}
.service-card:after{
  content:"";position:absolute;right:-80px;bottom:-80px;
  width:170px;height:170px;border-radius:50%;
  background:rgba(203,166,108,.05);filter:blur(30px)
}
.service-card:hover{transform:translateY(-7px);border-color:rgba(203,166,108,.35)}
.service-num{font-size:11px;color:#6f6a64}
.service-card h3{font:700 25px/1.1 Manrope,sans-serif;letter-spacing:-.03em;margin:66px 0 15px}
.service-card p{margin:0;color:#938e88;line-height:1.68;font-size:15px;max-width:92%}
.service-symbol{
  position:absolute;right:25px;bottom:24px;
  width:56px;height:56px;border:1px solid rgba(203,166,108,.22);
  border-radius:18px;display:grid;place-items:center;
  color:var(--gold);font-size:24px;background:#121212
}

.projects{padding-top:90px}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-card{
  border:1px solid var(--line);border-radius:28px;overflow:hidden;
  background:#0a0a0a;transition:.4s ease
}
.project-card:hover{transform:translateY(-8px);border-color:rgba(203,166,108,.3)}
.project-image{
  background:#f0ede7;height:570px;padding:26px;
  display:grid;place-items:center;overflow:hidden
}
.project-image img{
  max-height:515px;width:auto;border-radius:15px;
  box-shadow:0 25px 60px rgba(0,0,0,.2);
  transition:.45s ease
}
.project-card:hover .project-image img{transform:scale(1.015)}
.project-body{padding:28px 28px 30px}
.project-topline{display:flex;justify-content:space-between;color:#6f6a64;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.project-topline span:first-child{color:var(--gold)}
.project-body h3{font:700 29px/1.05 Manrope,sans-serif;letter-spacing:-.035em;margin:18px 0 13px}
.project-body p{color:#918c86;line-height:1.65;font-size:14px;min-height:92px}
.project-body a{display:inline-flex;gap:10px;align-items:center;color:var(--gold2);font-size:13px;font-weight:700;margin-top:8px}

.studio{padding-top:70px}
.studio-panel{
  border:1px solid var(--line);border-radius:32px;overflow:hidden;
  display:grid;grid-template-columns:.85fr 1.15fr;
  background:
    radial-gradient(circle at 0% 100%,rgba(203,166,108,.08),transparent 30%),
    #0b0b0b
}
.studio-brand{
  min-height:520px;display:grid;place-items:center;padding:55px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,#060606,#020202)
}
.studio-brand img{width:100%;max-width:460px}
.studio-copy{padding:68px;align-self:center}
.studio-copy h2{font-size:clamp(42px,4vw,62px)}
.studio-copy p{color:#9e9992;line-height:1.8;font-size:17px;margin:24px 0 0;max-width:600px}
.studio-copy strong{color:#f0ede7}

.contact{
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;padding:70px 0 120px
}
.contact-panel{
  border-radius:34px;padding:72px;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.15),transparent 28%),
    linear-gradient(135deg,#d9b67e,#b98b50);
  color:#070707
}
.contact .kicker{color:rgba(7,7,7,.58)}
.contact h2{font-size:clamp(50px,7vw,90px)}
.contact h2 span{opacity:.46}
.contact-mail{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:36px;font-size:clamp(16px,2vw,24px);font-weight:700;
  border-bottom:2px solid rgba(0,0,0,.3);padding-bottom:7px
}
.legal-grid{
  margin-top:78px;padding-top:30px;border-top:1px solid rgba(0,0,0,.18);
  display:grid;grid-template-columns:repeat(4,1fr);gap:25px
}
.legal-grid small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.56;margin-bottom:8px}
.legal-grid strong{font-size:13px}

footer{
  width:min(calc(100% - 40px),var(--max));margin:0 auto;
  border-top:1px solid var(--line);padding:26px 0 38px;
  display:flex;align-items:center;justify-content:space-between;
  color:#716c66;font-size:12px
}
footer img{width:120px;height:42px;object-fit:cover;object-position:center}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .nav{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-logo{min-height:500px}
  .logo-stage{width:min(82vw,600px)}
  .section-heading{grid-template-columns:1fr;gap:28px}
  .services-grid,.projects-grid{grid-template-columns:1fr}
  .project-image{height:auto;min-height:560px}
  .studio-panel{grid-template-columns:1fr}
  .studio-brand{border-right:0;border-bottom:1px solid var(--line);min-height:380px}
  .legal-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .site-header,.hero,.section,.contact,footer{width:min(calc(100% - 28px),var(--max))}
  .site-header{height:78px}
  .brand img{width:112px;height:40px}
  .header-cta{padding:10px 14px;font-size:12px}
  .hero{padding:58px 0 48px}
  .hero h1{font-size:51px}
  .hero-copy>p{font-size:16px}
  .hero-actions{flex-direction:column}
  .btn{width:100%}
  .hero-stats{gap:18px;justify-content:space-between}
  .hero-stats div{flex-direction:column;align-items:flex-start;gap:4px}
  .hero-logo{min-height:355px}
  .logo-stage{width:100%;border-radius:24px}
  .hero-badge{font-size:10px}
  .badge-a{top:18px;left:6px}
  .badge-b{bottom:18px;right:6px}
  .section{padding:90px 0}
  .service-card{min-height:290px}
  .project-image{min-height:auto;padding:18px}
  .project-image img{max-height:500px}
  .project-body p{min-height:auto}
  .studio-brand{min-height:300px;padding:30px}
  .studio-copy{padding:34px 26px}
  .contact{padding-bottom:80px}
  .contact-panel{padding:44px 26px;border-radius:24px}
  .legal-grid{grid-template-columns:1fr;margin-top:55px}
  footer{align-items:flex-start;flex-direction:column;gap:12px}
}

/* v2 refinements */
.brand img{width:156px;height:auto;object-fit:contain;filter:none}
footer img{width:132px;height:auto;object-fit:contain;filter:none}
.studio-brand img{filter:none}
.logo-stage img{width:78%;filter:none}
.badge-a{top:38px;left:12px}
.badge-b{bottom:38px;right:10px}

.projects-showcase{
  position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  padding:54px 0 12px;isolation:isolate
}
.projects-orbit{
  position:absolute;z-index:-1;left:7%;right:7%;top:6%;height:58%;
  border-radius:50%;border:1px solid rgba(203,166,108,.18);
  transform:rotate(-4deg);box-shadow:0 0 100px rgba(203,166,108,.08)
}
.projects-showcase .project-card{
  background:transparent;border:0;border-radius:0;overflow:visible;
  display:flex;flex-direction:column;transition:.4s ease
}
.projects-showcase .project-card:nth-of-type(2){transform:translateY(34px)}
.projects-showcase .project-card:hover{transform:translateY(-8px)}
.projects-showcase .project-card:nth-of-type(2):hover{transform:translateY(26px)}
.projects-showcase .project-image{
  height:520px;padding:0;background:transparent;overflow:visible;display:grid;place-items:center;
  position:relative
}
.projects-showcase .project-image:before{
  content:"";position:absolute;width:72%;height:72%;border-radius:50%;
  background:radial-gradient(circle,rgba(203,166,108,.13),transparent 68%);filter:blur(16px)
}
.projects-showcase .project-image img{
  position:relative;z-index:1;max-height:500px;max-width:88%;width:auto;border-radius:22px;
  box-shadow:0 34px 90px rgba(0,0,0,.48);transform:rotate(-2deg)
}
.projects-showcase .project-card:nth-of-type(2) .project-image img{transform:rotate(0deg)}
.projects-showcase .project-card:nth-of-type(3) .project-image img{transform:rotate(2deg)}
.projects-showcase .project-card:hover .project-image img{transform:translateY(-7px) rotate(-2deg) scale(1.015)}
.projects-showcase .project-card:nth-of-type(2):hover .project-image img{transform:translateY(-7px) scale(1.015)}
.projects-showcase .project-card:nth-of-type(3):hover .project-image img{transform:translateY(-7px) rotate(2deg) scale(1.015)}
.projects-showcase .project-body{padding:28px 10px 30px;border-top:1px solid rgba(255,255,255,.10)}

@media(max-width:980px){
  .projects-showcase{grid-template-columns:1fr;gap:70px;padding-top:20px}
  .projects-showcase .project-card:nth-of-type(2){transform:none}
  .projects-showcase .project-card:nth-of-type(2):hover{transform:translateY(-8px)}
  .projects-showcase .project-image{height:560px}
  .projects-orbit{display:none}
}
@media(max-width:600px){
  .brand img{width:122px}.projects-showcase{gap:46px}
  .projects-showcase .project-image{height:430px}
  .projects-showcase .project-image img{max-height:410px;max-width:94%}
}

/* Final hero + legal refinements */
.site-header{
  margin-top:14px;
  height:104px;
}
.brand img{width:156px}
.hero{
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  min-height:690px;
  padding:68px 0 62px;
}
.hero h1{
  font-size:clamp(58px,6.15vw,90px);
  max-width:670px;
}
.hero-copy>p{max-width:610px}
.hero-actions{margin-top:4px}
.hero-visual{
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  position:relative;
}
.hero-visual img{
  width:min(57vw,760px);
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 34px 70px rgba(0,0,0,.38));
}
.footer-legal{
  display:grid;
  gap:4px;
  text-align:right;
  line-height:1.45;
}
.footer-legal strong{color:#bcb6ae;font-weight:600}
.footer-legal a{color:var(--gold2)}
.legal-grid strong a{color:inherit;text-decoration:underline;text-underline-offset:3px}

@media(max-width:980px){
  .site-header{margin-top:8px}
  .hero{grid-template-columns:1fr;gap:12px}
  .hero-visual{min-height:auto;justify-content:center;margin-top:8px}
  .hero-visual img{width:min(100%,820px)}
}
@media(max-width:600px){
  .site-header{margin-top:6px;height:86px}
  .hero{padding-top:52px}
  .hero h1{font-size:50px}
  .hero-visual{margin-top:18px}
  .hero-visual img{width:118%;max-width:118%;margin-left:-9%}
  footer{gap:18px}
  .footer-legal{text-align:left}
}
