:root{
  --bg:#fafaf8;
  --w:#ffffff;
  --dark:#1a1a1a;
  --dark2:#333;
  --gold:#8b7355;
  --gold2:#a89070;
  --gray:#777;
  --border:#e5e3df;
  --font-h:'EB Garamond',serif;
  --font-p:'Inter',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-p);background:var(--bg);color:var(--dark);overflow-x:hidden}

/* NAV */
nav{
  position:sticky;top:0;z-index:200;background:var(--w);
  display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem 5%;border-bottom:1px solid var(--border);
}
.logo{font-family:var(--font-h);font-size:1.2rem;font-weight:600;letter-spacing:0.08em}
.logo span{color:var(--gold)}
.nav-links{display:flex;gap:2.5rem}
.nav-links a{color:var(--dark2);text-decoration:none;font-size:0.85rem;font-weight:500;transition:color 0.2s}
.nav-links a:hover{color:var(--gold)}
.nav-btn{
  padding:0.7rem 1.8rem;background:var(--dark);color:var(--w);
  text-decoration:none;font-size:0.82rem;font-weight:600;transition:all 0.2s;
}
.nav-btn:hover{background:var(--gold)}

/* HERO */
.hero{
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;
  padding:5rem 5%;min-height:80vh;align-items:center;
}
.hero-tag{font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem}
.hero h1{font-family:var(--font-h);font-size:clamp(3.5rem,6vw,5rem);line-height:1.05;margin-bottom:1.5rem}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero-content>p{font-size:1.05rem;color:var(--gray);line-height:1.7;max-width:440px;margin-bottom:2.5rem}
.hero-actions{display:flex;gap:1.5rem;align-items:center}
.btn-dark{
  padding:1.1rem 2.5rem;background:var(--dark);color:var(--w);
  text-decoration:none;font-weight:600;font-size:0.85rem;transition:all 0.2s;
}
.btn-dark:hover{background:var(--gold)}
.btn-outline{color:var(--dark2);text-decoration:none;font-size:0.85rem;font-weight:500;transition:color 0.2s}
.btn-outline:hover{color:var(--gold)}
.hero-img{position:relative}
.hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-float{
  position:absolute;bottom:-2rem;left:-2rem;background:var(--dark);color:var(--w);
  padding:2rem 2.5rem;
}
.hero-float strong{font-family:var(--font-h);font-size:2.5rem;display:block}
.hero-float span{font-size:0.78rem;color:var(--gold2);font-weight:300}

/* TRUST STRIP */
.trust-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--w);
}
.ts-item{
  padding:2.5rem 3rem;border-right:1px solid var(--border);
  text-align:center;transition:background 0.3s;
}
.ts-item:last-child{border-right:none}
.ts-item:hover{background:rgba(139,115,85,0.04)}
.ts-item strong{font-family:var(--font-h);font-size:2.5rem;display:block;color:var(--dark);margin-bottom:0.3rem}
.ts-item span{font-size:0.78rem;color:var(--gray);text-transform:uppercase;letter-spacing:0.08em}

/* PRACTICE */
.practice{padding:7rem 5%}
.sec-head{margin-bottom:4rem}
.tag{font-size:0.72rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem}
.sec-head h2,.sec-head-center h2{font-family:var(--font-h);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.1}
.sec-head h2 em,.sec-head-center h2 em,.contact h2 em{font-style:italic;font-weight:400;color:var(--gold)}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.pr-card{
  background:var(--bg);padding:3rem;transition:background 0.3s;position:relative;
}
.pr-card:hover{background:var(--w)}
.pr-num{font-family:var(--font-h);font-size:1rem;color:var(--gold);font-style:italic;display:block;margin-bottom:1.5rem}
.pr-card h3{font-family:var(--font-h);font-size:1.5rem;margin-bottom:0.8rem}
.pr-card p{font-size:0.88rem;color:var(--gray);line-height:1.6}

/* TEAM */
.team{padding:7rem 5%;background:var(--w)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.team-card{overflow:hidden}
.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(40%);transition:filter 0.5s}
.team-card:hover img{filter:grayscale(0)}
.tc-info{padding:1.5rem 0}
.tc-info h3{font-family:var(--font-h);font-size:1.4rem;margin-bottom:0.3rem}
.tc-info span{font-size:0.8rem;color:var(--gold);font-weight:500}

/* QUOTE */
.quote-sec{padding:8rem 5%;background:var(--dark);color:var(--w);text-align:center}
.quote-inner{max-width:700px;margin:0 auto}
.quote-sec .tag{color:var(--gold2)}
.quote-inner h2{font-family:var(--font-h);font-size:clamp(1.8rem,3vw,2.5rem);font-style:italic;font-weight:400;line-height:1.4;margin:1.5rem 0}
.quote-inner span{font-size:0.82rem;color:var(--gold2)}

/* CONTACT */
.contact{
  display:grid;grid-template-columns:1fr 1fr;gap:6rem;
  padding:7rem 5%;
}
.contact h2{font-family:var(--font-h);font-size:3rem;line-height:1.1;margin-bottom:1.5rem}
.contact-desc{font-size:0.95rem;color:var(--gray);line-height:1.7;margin-bottom:3rem}
.contact-data{display:flex;flex-direction:column;gap:2rem}
.contact-data strong{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.5rem}
.contact-data p{font-size:0.9rem;color:var(--dark2);line-height:1.5}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:1rem;border:none;border-bottom:1px solid var(--border);
  font-family:var(--font-p);font-size:0.9rem;background:transparent;outline:none;
  transition:border-color 0.2s;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form textarea{height:100px;resize:none}
.contact-form button{
  padding:1.1rem 2.5rem;background:var(--dark);color:var(--w);border:none;
  font-family:var(--font-p);font-weight:600;font-size:0.85rem;cursor:pointer;
  transition:background 0.2s;align-self:flex-start;margin-top:1rem;
}
.contact-form button:hover{background:var(--gold)}

/* FOOTER */
footer{background:var(--w);border-top:1px solid var(--border);padding:4rem 5% 2rem}
.f-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:3rem;border-bottom:1px solid var(--border)}
.f-brand h3{font-family:var(--font-h);font-size:1.2rem;font-weight:600;letter-spacing:0.08em;margin-bottom:0.4rem}
.f-brand h3 span{color:var(--gold)}
.f-brand p{font-size:0.82rem;color:var(--gray)}
.f-cols{display:flex;gap:4rem}
.f-col a{display:block;color:var(--gray);text-decoration:none;font-size:0.85rem;margin-bottom:0.7rem;transition:color 0.2s}
.f-col a:hover{color:var(--gold)}
.f-bot{padding-top:2rem;text-align:center}
.f-bot p{font-size:0.75rem;color:var(--gray);opacity:0.6}

@media(max-width:900px){
  .nav-links,.nav-btn{display:none}
  .hero{grid-template-columns:1fr;gap:3rem}
  .hero-float{position:static;margin-top:1.5rem}
  .trust-strip{grid-template-columns:1fr 1fr}
  .ts-item:nth-child(2){border-right:none}
  .practice-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr;gap:3rem}
  .f-top{flex-direction:column;gap:2rem}
}
