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

:root{
  --bg:#0b0b0d;
  --bg2:#131316;
  --gold:#c9a86a;
  --gold-light:#e6d3a8;
  --text:#eae6dd;
  --muted:#a8a29a;
  --line:rgba(201,168,106,0.25);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.7;
}
h1,h2,h3,.brand{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  letter-spacing:0.02em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.container{max-width:1120px;margin:0 auto;padding:0 32px;}

header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,11,13,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;}
.brand{font-size:26px;color:var(--gold-light);letter-spacing:0.08em;text-transform:uppercase;}
.brand span{color:var(--text);font-weight:400;}
nav.links{display:flex;gap:28px;flex-wrap:wrap;}
nav.links a{
  font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);
  transition:color .25s;
}
nav.links a:hover, nav.links a.active{color:var(--gold-light);}

.hero{
  min-height:78vh;display:flex;align-items:center;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(201,168,106,0.10), transparent 55%),
    radial-gradient(ellipse at 80% 80%, rgba(201,168,106,0.07), transparent 50%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  border-bottom:1px solid var(--line);
}
.eyebrow{
  font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);
  margin-bottom:22px;
}
.hero h1{font-size:clamp(40px,6vw,76px);color:var(--gold-light);max-width:820px;line-height:1.1;}
.hero p{margin-top:26px;max-width:560px;color:var(--muted);font-size:18px;}
.btn{
  display:inline-block;margin-top:38px;padding:16px 38px;
  border:1px solid var(--gold);color:var(--gold-light);
  font-size:12px;letter-spacing:0.2em;text-transform:uppercase;
  transition:all .3s;
}
.btn:hover{background:var(--gold);color:#0b0b0d;}
.btn.solid{background:var(--gold);color:#0b0b0d;}
.btn.solid:hover{background:var(--gold-light);}

section{padding:100px 0;}
section.tight{padding:70px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-size:clamp(30px,4vw,46px);color:var(--gold-light);}
.section-head p{color:var(--muted);margin-top:18px;font-size:16px;}

.grid{display:grid;gap:32px;}
.grid.cols-3{grid-template-columns:repeat(3,1fr);}
.grid.cols-2{grid-template-columns:repeat(2,1fr);}
.grid.cols-4{grid-template-columns:repeat(4,1fr);}

.card{
  background:var(--bg2);
  border:1px solid var(--line);
  padding:40px 32px;
  transition:transform .3s, border-color .3s;
}
.card:hover{transform:translateY(-4px);border-color:var(--gold);}
.card .num{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold);letter-spacing:0.15em;margin-bottom:18px;}
.card h3{font-size:24px;color:var(--gold-light);margin-bottom:14px;}
.card p{color:var(--muted);font-size:15px;}

.media-block{aspect-ratio:4/3;background:linear-gradient(135deg,#1c1a16,#2b2620);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:0.2em;text-transform:uppercase;opacity:0.6;}

.media-photo{overflow:hidden;border:1px solid var(--line);background:var(--bg2);}
.media-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.media-photo:hover img{transform:scale(1.04);}

.portfolio-card{display:grid;gap:14px;}
.portfolio-card figcaption{font-family:'Cormorant Garamond',serif;color:var(--gold-light);font-size:17px;}

.hero-photo{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;animation:kenburns 22s ease-in-out infinite alternate;}
.hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(11,11,13,0.55) 0%, rgba(11,11,13,0.72) 60%, var(--bg) 100%),
             radial-gradient(ellipse at 30% 20%, rgba(201,168,106,0.12), transparent 55%);
}
.hero-inner{position:relative;z-index:2;}
@keyframes kenburns{
  0%{transform:scale(1) translate(0,0);}
  100%{transform:scale(1.12) translate(-1.5%, -1.5%);}
}
@media (prefers-reduced-motion: reduce){
  .hero-bg img{animation:none;}
}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.stat-row{display:flex;gap:56px;margin-top:40px;flex-wrap:wrap;}
.stat-row .stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--gold-light);}
.stat-row .stat span{color:var(--muted);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;}

.quote{
  border-left:2px solid var(--gold);
  padding-left:28px;font-family:'Cormorant Garamond',serif;
  font-size:26px;color:var(--gold-light);font-style:italic;margin:20px 0;
}

.cta{
  background:var(--bg2);border:1px solid var(--line);
  padding:70px;text-align:center;
}
.cta h2{color:var(--gold-light);font-size:clamp(28px,4vw,42px);}
.cta p{color:var(--muted);margin:18px auto 0;max-width:480px;}

table.pricing{width:100%;border-collapse:collapse;}
table.pricing th,table.pricing td{padding:20px;border-bottom:1px solid var(--line);text-align:left;}
table.pricing th{color:var(--gold);font-size:12px;letter-spacing:0.15em;text-transform:uppercase;}
table.pricing td{color:var(--muted);}
table.pricing tr td:first-child{color:var(--text);}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

form.contact-form{display:grid;gap:20px;max-width:560px;}
form.contact-form input, form.contact-form textarea{
  background:transparent;border:1px solid var(--line);color:var(--text);
  padding:16px 18px;font-family:'Jost',sans-serif;font-size:14px;
}
form.contact-form textarea{min-height:140px;resize:vertical;}
form.contact-form label{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block;}

footer{border-top:1px solid var(--line);padding:56px 0;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
footer h4{color:var(--gold);font-size:13px;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:18px;}
footer a, footer p{color:var(--muted);font-size:14px;}
footer ul{list-style:none;display:grid;gap:10px;}
.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

@media (max-width:860px){
  .grid.cols-3,.grid.cols-4,.grid.cols-2{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.links{display:none;}
}
