*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:#1c1917;background:#fafaf9;line-height:1.6}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}

/* Navbar */
.navbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:rgba(250,250,249,.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(28,25,23,.08)}
.logo{display:flex;align-items:center;gap:12px;color:#1c1917}
.logo svg{width:28px;height:28px}
.logo span{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;letter-spacing:.02em}
.logo em{font-style:italic;font-weight:400}
.navbar nav{display:flex;align-items:center;gap:32px}
.navbar nav a{font-size:13px;font-weight:500;color:#57534e;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.navbar nav a:hover{color:#1c1917}
.btn-cta{padding:10px 22px;border:1px solid #1c1917;color:#1c1917 !important;border-radius:0;font-weight:500;transition:all .2s}
.btn-cta:hover{background:#1c1917;color:#fafaf9 !important}
.back{font-size:12px;color:#a8a29e;letter-spacing:.05em}
.back:hover{color:#1c1917}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 40px 60px;color:#fafaf9;overflow:hidden}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,25,23,.7) 0%,rgba(28,25,23,.4) 60%,rgba(28,25,23,.6) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:780px}
.kicker{display:inline-block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:#fafaf9;margin-bottom:24px;opacity:.9}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:28px}
.hero h1 em{font-style:italic;color:#fde68a}
.hero-content > p{font-size:1.1rem;max-width:520px;margin-bottom:36px;opacity:.9;line-height:1.6}
.hero-cta{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:#fafaf9;color:#1c1917;font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;border-radius:0;transition:all .25s}
.btn-primary:hover{background:#1c1917;color:#fafaf9;outline:1px solid #fafaf9;outline-offset:-1px}
.btn-link{font-size:14px;font-weight:500;letter-spacing:.05em;border-bottom:1px solid #fafaf9;padding-bottom:2px}
.btn-block{width:100%;justify-content:center}
.hero-meta{position:absolute;bottom:40px;left:40px;right:40px;z-index:2;display:flex;gap:60px;flex-wrap:wrap;padding-top:32px;border-top:1px solid rgba(250,250,249,.2)}
.hero-meta div{display:flex;flex-direction:column}
.hero-meta strong{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:#fafaf9;line-height:1}
.hero-meta span{font-size:12px;color:#fafaf9;opacity:.7;letter-spacing:.05em;margin-top:6px;text-transform:uppercase}

/* Sections */
.section-head{margin-bottom:60px}
.section-head .kicker{color:#78716c;margin-bottom:14px}
.section-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:400;color:#1c1917;line-height:1;letter-spacing:-.02em}
.section-head h2 em{font-style:italic}

/* Projects */
.projects{padding:120px 40px;max-width:1320px;margin:0 auto}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;grid-auto-rows:380px}
.project{position:relative;overflow:hidden;cursor:pointer}
.project.featured{grid-column:span 2;grid-row:span 1;height:520px}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.project:hover img{transform:scale(1.04)}
.project::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,25,23,.7) 0%,transparent 50%);pointer-events:none}
.project-info{position:absolute;bottom:0;left:0;right:0;padding:32px;color:#fafaf9;z-index:2}
.project-cat{display:inline-block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;background:rgba(250,250,249,.15);backdrop-filter:blur(8px);padding:6px 12px;margin-bottom:14px;border:1px solid rgba(250,250,249,.2)}
.project-info h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;letter-spacing:-.01em;margin-bottom:6px}
.project-info p{font-size:13px;opacity:.8;letter-spacing:.05em}

/* Approach */
.approach{padding:120px 40px;background:#1c1917;color:#fafaf9}
.approach-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.approach .kicker{color:#a8a29e}
.approach h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400;color:#fafaf9;line-height:1;letter-spacing:-.02em;margin-top:16px}
.principles{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.principle{padding-top:32px;border-top:1px solid rgba(250,250,249,.15)}
.p-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.6rem;color:#fde68a;margin-bottom:14px}
.principle h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:500;margin-bottom:10px}
.principle p{color:#d6d3d1;font-size:.95rem;line-height:1.6}

/* Team */
.team{padding:120px 40px;max-width:1320px;margin:0 auto}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.member{text-align:left}
.member-img{width:100%;aspect-ratio:3/4;margin-bottom:18px;background-size:cover;background-position:center;filter:grayscale(40%);transition:filter .4s}
.member:hover .member-img{filter:grayscale(0)}
.member h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:#1c1917;margin-bottom:4px}
.member span{font-size:13px;color:#78716c;letter-spacing:.02em}

/* Contact */
.contact{padding:120px 40px;background:#f5f5f4;border-top:1px solid #e7e5e4}
.contact-card{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-card .kicker{color:#78716c}
.contact-card h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400;color:#1c1917;line-height:1;margin-top:16px;margin-bottom:18px;letter-spacing:-.02em}
.contact-card > div > p{color:#57534e;font-size:1.05rem;margin-bottom:32px;max-width:420px}
.contact-list{display:flex;flex-direction:column;gap:18px}
.contact-list div{display:flex;flex-direction:column;padding:14px 0;border-top:1px solid #d6d3d1}
.contact-list strong{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#a8a29e;margin-bottom:6px}
.contact-list span{color:#1c1917;font-size:1rem}
.contact form{display:flex;flex-direction:column;gap:14px}
.contact input,.contact select,.contact textarea{
  width:100%;padding:14px 16px;border:none;border-bottom:1px solid #d6d3d1;background:transparent;
  font-family:inherit;font-size:14px;color:#1c1917;transition:all .2s;
}
.contact input:focus,.contact select:focus,.contact textarea:focus{outline:none;border-bottom-color:#1c1917}
.contact textarea{resize:vertical;border:1px solid #d6d3d1;padding:14px 16px;background:#fff}
.form-success{padding:14px;background:#1c1917;color:#fde68a;font-size:13px;text-align:center;letter-spacing:.05em;display:none}
.form-success.visible{display:block}

/* Footer */
footer{background:#0c0a09;color:#a8a29e;padding:60px 40px 30px}
.footer-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.footer-logo{margin-bottom:14px;color:#fafaf9}
footer h4{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:#fafaf9;margin-bottom:16px;font-weight:500}
footer a{display:block;padding:5px 0;font-size:14px;color:#a8a29e;transition:color .2s}
footer a:hover{color:#fafaf9}
footer p{font-size:14px;color:#a8a29e}
.footer-bottom{max-width:1320px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(250,250,249,.08);font-size:12px;color:#78716c;text-align:center;letter-spacing:.05em}
.footer-bottom a{display:inline;color:#fde68a;text-decoration:underline}

@media(max-width:960px){
  .navbar{padding:14px 20px}
  .navbar nav{display:none}
  .hero{padding:100px 20px 40px}
  .hero-meta{position:static;margin-top:48px;padding-top:24px;gap:32px}
  .projects-grid{grid-template-columns:1fr;grid-auto-rows:320px}
  .project.featured{grid-column:span 1;height:380px}
  .approach{padding:80px 20px}
  .approach-grid{grid-template-columns:1fr;gap:48px}
  .principles{grid-template-columns:1fr;gap:32px}
  .team{padding:80px 20px}
  .team-grid{grid-template-columns:1fr 1fr}
  .contact{padding:80px 20px}
  .contact-card{grid-template-columns:1fr;gap:48px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:520px){
  .team-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
