:root{--brown:#4b3d32;--hero-bg:#f8f8f8;--header-height:168px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:#171717}a{color:inherit;text-decoration:none}
.site-header{background:#fff;box-shadow:0 6px 14px rgba(0,0,0,.10);position:relative;z-index:5}.header-inner{max-width:1480px;height:var(--header-height);margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:flex;align-items:center;flex:none}.brand img{width:175px;height:125px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:48px}.main-nav a{font-size:18px;white-space:nowrap;font-weight:400;padding:7px 0;border-bottom:2px solid transparent}.main-nav a.active,.main-nav a:hover{border-bottom-color:#171717}.menu-toggle{display:none}
.hero{background:var(--hero-bg);overflow:hidden}.hero-inner{max-width:1480px;margin:0 auto;padding:34px 30px 48px;display:grid;grid-template-columns:45% 55%;gap:0;align-items:start}.hero-copy{padding:84px 12px 50px 0}.hero-copy h1{font-size:clamp(55px,5.1vw,94px);line-height:1.26;letter-spacing:-2.8px;font-weight:800;color:var(--brown);margin:0 0 74px}.consultation-button{display:inline-flex;align-items:center;justify-content:center;background:var(--brown);color:#fff;font-size:18px;border-radius:6px;padding:20px 30px;min-height:66px;transition:background .2s}.consultation-button:hover{background:#675347}.hero-photo{width:min(100%,620px);justify-self:end;overflow:hidden;border-radius:105px 105px 0 0}.hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 35%;
}.placeholder-anchor{height:1px}
@media(max-width:1100px){.header-inner{gap:20px}.main-nav{gap:20px}.main-nav a{font-size:14px}.hero-copy h1{font-size:clamp(46px,5.5vw,70px);letter-spacing:-1.5px}.hero-copy{padding-top:70px}}
@media(max-width:760px){:root{--header-height:92px}.header-inner{padding:0 20px}.brand img{width:126px;height:84px}.menu-toggle{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{width:27px;height:2px;background:var(--brown);display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 8px 12px #0002;padding:16px 25px 25px;flex-direction:column;align-items:flex-start;gap:15px}.main-nav.open{display:flex}.main-nav a{font-size:16px}.hero-inner{padding:28px 22px 36px;display:flex;flex-direction:column}.hero-copy{padding:22px 0 38px}.hero-copy h1{font-size:clamp(43px,10vw,70px);line-height:1.18;letter-spacing:-1.5px;margin-bottom:34px}.consultation-button{font-size:15px;min-height:55px;padding:16px 22px}.hero-photo{width:100%;border-radius:70px 70px 0 0}
.hero-photo img {
  height: auto;
  object-position: center 35%;
}}
.content{width:min(1224px,calc(100% - 60px));margin:auto}.section{padding:90px 0}.section h2{font-size:clamp(30px,3.2vw,46px);line-height:1.2;font-weight:500;margin:0 0 30px;color:var(--brown)}.section h3{font-size:22px;font-weight:500}.section p{font-size:18px;line-height:1.8;margin:0 0 24px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.office-logo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
}.about{background:#eee9e4}.professionals{text-align:center}.professionals h2{text-transform:uppercase;letter-spacing:3px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin:50px 0}.team-grid img {
  display: block;
  width: min(100%, 360px);
  height: auto;
  aspect-ratio: 4 / 5;
  border-radius: 20px;
  object-fit: cover;
  object-position: center 45%;
  margin-inline: auto;
}
.team-grid .portrait-bruno {
  object-position: 35% center;
}.team-grid h3{margin:25px 0 10px}.team-grid p{font-size:16px;margin-bottom:12px}.practice{background:#f4f1ee;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:14px!important}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:50px 20px;margin:55px 0}.practice-grid img{width:64px;height:64px;object-fit:contain}.practice-grid h3{font-size:18px}.practice-grid a{padding:15px 5px;border-radius:6px;transition:background .2s}.practice-grid a:hover{background:#e6dfd8}.callout,.careers{text-align:center;background:linear-gradient(#2c221deb,#2c221deb),url('../img/logo.jpg') center/cover;color:white}.callout h2,.careers h2{color:white}.callout .consultation-button,.careers .consultation-button{background:#fff;color:#2c221d}.careers p{max-width:700px;margin:0 auto 30px}.contact form{display:grid;gap:12px}.contact label{font-size:15px}.contact input,.contact textarea{width:100%;padding:15px;border:1px solid #bcb4ad;border-radius:3px;background:#faf9f8;font:inherit}.contact textarea{resize:vertical}.contact button{border:0;cursor:pointer;justify-self:start;margin-top:8px;font-family:inherit}.form-note{font-size:14px!important;color:#666}.office-layout {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: stretch;
}
.office-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1365 / 2048;
  align-self: start;
  border-radius: 20px;
}
.office-location {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
}
.office-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
}
.office-details h3 {
  margin: 0 0 12px;
}
.office-details p {
  margin-bottom: 14px;
}
.office-map {
  flex: 1;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid #bcb4ad;
  border-radius: 20px;
  background: #eee9e4;
}
.office-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  border: 0;
}
@media (max-width: 760px) {
  .office-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .office-photo {
    width: min(100%, 360px);
    justify-self: center;
  }
  .office-map {
    flex: none;
    height: 320px;
  }
}
@media (max-width: 420px) {
  .office-details {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}
.text-link{text-decoration:underline;text-underline-offset:5px}.site-footer{background:#eee9e4;padding:45px 0}.footer-grid{display:grid;grid-template-columns:175px 1.3fr 1.2fr .6fr;gap:35px;align-items:start}.footer-grid img{object-fit:contain}.footer-grid h2{font-size:19px;font-weight:500}.footer-grid a{display:block;font-size:14px;margin-bottom:14px;overflow-wrap:anywhere}.footer-grid p{font-size:14px;line-height:1.8}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a37c50;outline-offset:5px}.consultation-button{transition:background .2s,color .2s}.consultation-button:hover{background:#e6d5b1;color:#2c221d}
@media(min-width:761px){:root{--header-height:130px}.header-inner,.hero-inner{max-width:1284px}.brand img{width:140px;height:100px}.main-nav{gap:32px}.main-nav a{font-size:16px}.hero-inner{grid-template-columns:44% 56%;padding-top:30px}.hero-copy{padding-top:30px}.hero-copy h1{font-size:clamp(56px,5vw,76px);line-height:1.2;margin-bottom:50px}.hero-photo{border-radius:90px 90px 0 0}}
@media(max-width:900px){.two-columns{gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.team-grid{gap:35px}}
@media(max-width:760px){.content{width:calc(100% - 44px)}.section{padding:55px 0}.two-columns,.team-grid{grid-template-columns:1fr;gap:35px}.section p{font-size:16px}.team-grid{margin:35px 0}.practice-grid{grid-template-columns:1fr 1fr;gap:24px 12px;margin:30px 0}.practice-grid h3{font-size:16px}.eyebrow{font-size:12px!important}.footer-grid{grid-template-columns:1fr;gap:20px}.section h2{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.footer-copyright {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #cfc5bb;
  color: var(--brown);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}