:root {
  --ink: #081019;
  --ink-2: #111d28;
  --paper: #f7f5f0;
  --bronze: #b99762;
  --bronze-light: #d6bd93;
  --line: rgba(8, 16, 25, .17);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font: 16px/1.7 var(--sans); margin: 0; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.section-shell { margin: 0 auto; max-width: 1320px; padding-left: clamp(24px, 5vw, 72px); padding-right: clamp(24px, 5vw, 72px); }

.site-header { align-items: center; background: rgba(247,245,240,.97); border-bottom: 1px solid var(--line); display: flex; height: 96px; justify-content: space-between; padding: 0 clamp(24px,5vw,72px); position: relative; z-index: 10; }
.brand img { height: 60px; width: auto; }
nav { display: flex; gap: clamp(22px,3vw,48px); }
nav a { font-size: .78rem; font-weight: 600; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; }
nav a:hover, nav a:focus-visible { color: #80643c; }
.menu-button { display: none; }

.hero { color: #fff; min-height: 820px; overflow: hidden; position: relative; }
.hero-image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.hero-overlay { background: linear-gradient(90deg,rgba(3,9,15,.95),rgba(3,9,15,.68) 42%,rgba(3,9,15,.04) 75%); inset: 0; position: absolute; }
.hero-content { max-width: 850px; padding: 82px clamp(24px,6vw,92px) 95px; position: relative; }
.hero-monogram { border: 1px solid var(--bronze); color: var(--bronze-light); display: grid; font: 500 3.2rem/1 var(--serif); height: 104px; letter-spacing: -.17em; margin-bottom: 20px; place-items: center; position: relative; width: 104px; }
.hero-monogram span { position: absolute; }
.hero-monogram span:first-child { transform: translateX(-12px); }
.hero-monogram span:last-child { transform: translateX(13px); }
.hero-name { font: 500 1.45rem/1 var(--serif); letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.hero-role { color: var(--bronze-light); font-size: .68rem; font-weight: 600; letter-spacing: .32em; margin: 8px 0 0; text-transform: uppercase; }
.hero-rule { background: var(--bronze); height: 1px; margin: 24px 0; width: 58px; }
.eyebrow, .section-label { color: #80643c; font-size: .72rem; font-weight: 600; letter-spacing: .22em; margin: 0 0 25px; text-transform: uppercase; }
.eyebrow.light, .section-label.light { color: var(--bronze-light); }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin-top: 0; }
h1 { font-size: clamp(3rem,5.5vw,5.8rem); margin-bottom: 22px; }
h1 em { color: var(--bronze-light); font-weight: 500; }
.hero-copy { font-size: clamp(1rem,1.5vw,1.18rem); max-width: 570px; }
.brokerage-logo { height: auto; width: min(100%, 360px); }
.affiliation { max-width: 100%; border-top: 1px solid rgba(255,255,255,.3); display: inline-block; font-size: .77rem; letter-spacing: .08em; margin-top: 22px; padding-top: 13px; }

.statement { padding-bottom: 130px; padding-top: 130px; }
.statement h2 { font-size: clamp(2.6rem,5vw,5rem); max-width: 980px; }
.statement-copy { border-left: 1px solid var(--bronze); font-size: 1.08rem; margin-left: 38%; max-width: 670px; padding-left: 34px; }

.expertise { background: var(--ink); color: #fff; padding: 120px 0 130px; }
.expertise-intro { display: grid; gap: 40px; grid-template-columns: 1fr 2.2fr; }
.expertise-intro h2 { font-size: clamp(2.4rem,4.6vw,4.8rem); }
.service-grid { display: grid; gap: 1px; grid-template-columns: 1fr 1fr; margin-top: 70px; }
.service-card { border: 1px solid rgba(255,255,255,.16); min-height: 500px; padding: clamp(34px,5vw,70px); }
.seller-card { background: var(--paper); color: var(--ink); }
.buyer-card { background: var(--ink-2); }
.card-kicker { color: var(--bronze); font-size: .72rem; font-weight: 600; letter-spacing: .18em; margin: 0 0 60px; text-transform: uppercase; }
.service-card h3 { font-size: clamp(2rem,3.5vw,3.4rem); margin-bottom: 25px; }
.service-card > p:not(.card-kicker) { max-width: 530px; }
.service-card ul { border-top: 1px solid currentColor; list-style: none; margin: 35px 0 0; opacity: .88; padding: 24px 0 0; }
.service-card li { margin: 9px 0; padding-left: 18px; position: relative; }
.service-card li::before { color: var(--bronze); content: "—"; left: 0; position: absolute; }

.markets { display: grid; gap: 8%; grid-template-columns: .9fr 1.3fr; padding-bottom: 130px; padding-top: 135px; }
.markets-heading { position: sticky; top: 45px; }
.markets-heading h2, .global h2 { font-size: clamp(2.4rem,4vw,4.2rem); }
.market-list article { border-top: 1px solid var(--line); display: grid; gap: 20px; grid-template-columns: 45px minmax(150px,.7fr) 1.3fr; padding: 28px 0; }
.market-list span { color: #80643c; font-size: .72rem; font-weight: 600; }
.market-list h3 { font-size: 1.55rem; margin: 0; }
.market-list p { color: #56616b; margin: 0; }

.about { background: #132431; color: #fff; padding: 130px 0; }
.about-grid { display: grid; gap: clamp(35px,6vw,90px); grid-template-columns: minmax(260px, 360px) minmax(0, 1fr); align-items: start; column-gap: clamp(36px, 6vw, 80px); row-gap: 36px; }
.about-portrait { grid-row: 1 / span 2; margin: 0; width: 100%; max-width: 360px; }
.about-portrait img { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; border: 1px solid rgba(214,189,147,.45); }
.about-copy h2 { font-size: clamp(2.5rem,4vw,4.3rem); }
.about-copy > p:not(.section-label) { color: #d6dce0; font-size: 1.05rem; }
blockquote { border-left: 1px solid var(--bronze); color: var(--bronze-light); font: italic 1.55rem var(--serif); margin: 38px 0 0; padding-left: 24px; }
.about-notes { grid-column: 2; border-top: 1px solid var(--bronze); padding-top: 18px; }
.about-notes > p { color: var(--bronze-light); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.about-notes ul { list-style: none; margin: 25px 0 0; padding: 0; }
.about-notes li { border-top: 1px solid rgba(255,255,255,.12); padding: 16px 0; }

.global { display: grid; gap: 9%; grid-template-columns: 1fr 1fr; padding-bottom: 130px; padding-top: 130px; }
.global-copy { border-top: 1px solid var(--bronze); padding-top: 25px; }
.global-copy p:first-child { font-size: 1.08rem; }
.insights { background: #ded8cd; padding: 120px 0; }
.insights-grid { align-items: center; display: grid; gap: clamp(65px,11vw,150px); grid-template-columns: minmax(280px,390px) 1fr; }
.book-cover { aspect-ratio: 3/4.25; background: var(--ink); box-shadow: -18px 18px 0 var(--bronze); color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 42px 36px 28px; transform: rotate(-1deg); }
.book-cover .author { color: var(--bronze-light); font-size: .7rem; font-weight: 600; letter-spacing: .19em; margin: 0; text-transform: uppercase; }
.book-title span { display: block; font: 500 clamp(1.7rem,3vw,2.65rem)/1.02 var(--serif); }
.book-title span:nth-child(2) { color: var(--bronze-light); }
.book-subtitle { color: #c4ccd2; font-size: .75rem; }
.book-cover svg { align-self: center; fill: none; stroke: rgba(255,255,255,.7); stroke-width: 2.2; width: 78%; }
.insights-copy h2 { font-size: clamp(2.5rem,4.3vw,4.5rem); }
.insights-copy > p:not(.section-label) { color: #46515a; font-size: 1.06rem; max-width: 680px; }
.book-note { border-left: 1px solid var(--bronze); margin-top: 30px; padding-left: 24px; }
.published-books { padding-bottom: 120px; padding-top: 120px; }
.published-books h2 { margin-bottom: 38px; }
.published-books-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.published-books-grid article { display: flex; flex-direction: column; border: 1px solid var(--line); padding: 30px; min-height: 245px; }
.published-books-grid h3 { font: 500 clamp(1.5rem,2vw,2rem)/1.15 var(--serif); margin: 0 0 16px; }
.published-books-grid p { color: #59636c; margin: 0 0 25px; }
.published-books-grid a { align-self: flex-start; color: var(--ink); font-size: .76rem; font-weight: 700; letter-spacing: .09em; margin-top: auto; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid var(--bronze); padding-bottom: 7px; }
.published-books-grid a:hover,.published-books-grid a:focus-visible { color: #745329; }

.closing { padding-bottom: 120px; padding-top: 120px; text-align: center; }
.closing h2 { font-size: clamp(2.5rem,5vw,5rem); margin-left: auto; margin-right: auto; max-width: 950px; }
.closing > p:not(.section-label) { font-size: .82rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.approval-note { border-top: 1px solid var(--line); color: #6c747b; font-size: .78rem; margin: 52px auto 0; max-width: 700px; padding-top: 18px; }
footer { align-items: center; background: var(--ink); color: #b8c0c7; display: grid; font-size: .76rem; gap: 30px; grid-template-columns: 1fr 1fr auto; padding: 38px clamp(24px,5vw,72px); }
footer img { filter: brightness(0) invert(1); height: 55px; width: auto; }
footer p { margin: 0; }
.footer-branding { display: grid; gap: 24px; justify-items: start; }
footer .brokerage-logo { filter: none; height: auto; width: min(100%, 340px); }

@media (max-width: 920px) {
  .menu-button { background: transparent; border: 1px solid var(--line); color: var(--ink); display: block; font: 600 .75rem var(--sans); letter-spacing: .1em; padding: 10px 14px; text-transform: uppercase; }
  nav { background: var(--paper); border-bottom: 1px solid var(--line); display: none; flex-direction: column; gap: 0; left: 0; padding: 16px 30px 28px; position: absolute; right: 0; top: 95px; }
  nav.open { display: flex; }
  nav a { padding: 11px 0; }
  .expertise-intro, .markets, .global { grid-template-columns: 1fr; }
  .markets-heading { position: static; }
  .about-grid { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
  .about-notes { grid-column: 2; }
  footer { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .site-header { height: 78px; padding: 0 18px; }
  .brand img { height: 48px; }
  nav { top: 77px; }
  .hero { min-height: 820px; }
  .hero-image { object-position: 64% center; }
  .hero-overlay { background: linear-gradient(180deg,rgba(3,9,15,.88),rgba(3,9,15,.48)); }
  .hero-content { padding: 65px 22px 95px; }
  .hero-monogram { height: 90px; width: 90px; }
  h1 { font-size: clamp(3.1rem,14vw,4.7rem); }
  .statement, .markets, .global { padding-bottom: 85px; padding-top: 85px; }
  .statement-copy { margin-left: 0; }
  .expertise, .about { padding: 85px 0; }
  .service-grid { grid-template-columns: 1fr; margin-top: 42px; }
  .service-card { min-height: auto; padding: 34px 28px; }
  .card-kicker { margin-bottom: 38px; }
  .market-list article { grid-template-columns: 35px 1fr; }
  .market-list p { grid-column: 2; }
  .about-grid { display: block; }
  .about-portrait { max-width: 320px; margin: 0 auto 40px; }
  .about-notes { margin-top: 50px; }
  .insights { padding: 85px 0; }
  .insights-grid { display: block; }
  .book-cover { margin: 0 auto 75px; max-width: 310px; }
  .published-books { padding-bottom: 85px; padding-top: 85px; }
  .published-books-grid { grid-template-columns: 1fr; }
  .published-books-grid article { min-height: 0; }
  .closing { padding-bottom: 85px; padding-top: 85px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
