@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/cormorant.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/cormorant-italic.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/inter.woff2) format('woff2')}
:root{
  --navy:#0A1A33; --navy-deep:#06101F; --navy-mid:#10264A; --ivory:#F6F2E9; --ivory-2:#EDE7D8;
  --gold:#C2A267; --gold-soft:#D9C28F; --ink:#18212F; --muted:#5C677A; --line:rgba(194,162,103,.38);
  --serif:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --max:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--ivory);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--gold);display:flex;align-items:center;gap:16px}
.eyebrow::before{content:"";width:44px;height:1px;background:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.005em}
h2{font-size:clamp(38px,4.6vw,60px);margin:18px 0 0}
em{font-style:italic;font-family:var(--serif);font-weight:500}
.btn{display:inline-block;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:17px 34px;border:1px solid var(--gold);transition:.25s;cursor:pointer;font-family:var(--sans);background:transparent}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:var(--gold-soft)}
.btn-line{color:#fff}
.btn-line:hover{background:rgba(194,162,103,.16)}

/* header */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(6,16,31,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(194,162,103,.22)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:15px;color:#fff}
.brand img{width:44px;height:44px}
.brand span{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;line-height:1.15}
.brand small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;color:var(--gold);font-weight:500;margin-top:3px}
nav.menu{display:flex;align-items:center;gap:34px}
nav.menu a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.82);font-weight:500;transition:.2s;position:relative;padding:6px 0}
nav.menu a:hover{color:var(--gold-soft)}
nav.menu a.cta{border:1px solid var(--gold);color:var(--gold-soft);padding:11px 22px}
nav.menu a.cta:hover{background:var(--gold);color:var(--navy-deep)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger i,.burger i::before,.burger i::after{display:block;position:absolute;left:10px;width:24px;height:1.5px;background:#fff;content:"";transition:.25s}
.burger i{top:21px}.burger i::before{top:-7px;left:0}.burger i::after{top:7px;left:0}

/* hero */
.hero{padding:0;position:relative;min-height:min(100vh,940px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--navy-deep) url(img/hero-newyork.jpg) center 38%/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,16,31,.72) 0%,rgba(6,16,31,.18) 38%,rgba(6,16,31,.55) 70%,rgba(6,16,31,.94) 100%),linear-gradient(90deg,rgba(6,16,31,.72) 0%,rgba(6,16,31,0) 62%);z-index:-1}
.hero-inner{padding-top:160px;padding-bottom:70px}
.hero h1{font-size:clamp(52px,7.4vw,112px);font-weight:500;max-width:960px;margin:26px 0 30px;letter-spacing:-.012em}
.hero h1 em{color:var(--gold-soft)}
.hero p.lead{font-size:clamp(17px,1.5vw,20px);max-width:700px;color:rgba(255,255,255,.86);font-weight:300;line-height:1.7}
.hero .actions{margin-top:42px;display:flex;gap:18px;flex-wrap:wrap}
.hero-stats{border-top:1px solid rgba(194,162,103,.35);background:rgba(6,16,31,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-stats .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.hero-stats div.s{padding:28px 0 30px;border-left:1px solid rgba(194,162,103,.28);padding-left:34px}
.hero-stats div.s:first-child{border-left:0;padding-left:0}
.hero-stats b{display:block;font-family:var(--serif);font-weight:500;font-size:38px;color:var(--gold-soft);line-height:1.1}
.hero-stats span{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72)}

section{padding:130px 0;position:relative}

/* firm */
.firm{background:var(--ivory)}
.firm .grid{display:grid;grid-template-columns:5fr 6fr;gap:90px;align-items:start}
.firm h2{max-width:560px}
.firm p{color:#2A3446;font-size:18px;margin-bottom:22px;font-weight:300}
.firm p strong{font-weight:500;color:var(--navy)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px;border-top:1px solid var(--line);padding-top:36px}
.pillars h3{font-size:25px;color:var(--navy);margin-bottom:8px}
.pillars p{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}

/* advisory */
.advisory{background:var(--navy);color:#fff;overflow:hidden}
.advisory::before{content:"";position:absolute;inset:0;background:url(img/towers.jpg) center/cover;opacity:.16;mix-blend-mode:luminosity}
.advisory .wrap{position:relative}
.advisory .head{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;flex-wrap:wrap}
.advisory h2{max-width:700px}
.advisory .head p{max-width:430px;color:rgba(255,255,255,.72);font-weight:300;font-size:17px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:76px;border:1px solid rgba(194,162,103,.3)}
.card{padding:46px 34px 50px;border-left:1px solid rgba(194,162,103,.3);background:rgba(6,16,31,.36);transition:.3s}
.card:first-child{border-left:0}
.card:hover{background:rgba(16,38,74,.78)}
.card .n{font-family:var(--serif);font-size:20px;color:var(--gold);letter-spacing:.14em}
.card h3{font-size:30px;margin:26px 0 16px;line-height:1.12}
.card p{font-size:15px;color:rgba(255,255,255,.72);font-weight:300;line-height:1.7}
.range{margin-top:70px;display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:center;padding:52px 56px;background:linear-gradient(100deg,rgba(194,162,103,.16),rgba(194,162,103,.04));border:1px solid rgba(194,162,103,.34)}
.range .big{font-family:var(--serif);font-size:clamp(46px,6vw,84px);line-height:1;color:var(--gold-soft);white-space:nowrap;font-weight:500}
.range .big small{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:14px;font-weight:500}
.range p{font-size:18px;font-weight:300;color:rgba(255,255,255,.82);max-width:520px}

/* regions */
.regions{background:var(--ivory)}
.regions .head{max-width:760px}
.regions .head p{margin-top:24px;color:var(--muted);font-size:18px;font-weight:300}
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:70px}
.region{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff;background:var(--navy-deep)}
.region img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.region:hover img{transform:scale(1.06)}
.region::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,16,31,.08) 40%,rgba(6,16,31,.92) 100%);box-shadow:inset 0 0 0 1px rgba(194,162,103,.0)}
.region .t{position:absolute;left:28px;right:28px;bottom:28px;z-index:2}
.region .t::before{content:"";display:block;width:36px;height:1px;background:var(--gold);margin-bottom:16px}
.region h3{font-size:32px;line-height:1.05}
.region span{display:block;margin-top:9px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft)}

/* approach */
.approach{background:var(--ivory-2)}
.approach .grid{display:grid;grid-template-columns:5fr 7fr;gap:90px;align-items:stretch}
.approach .side{position:relative;min-height:560px;background:var(--navy) url(img/frankfurt.jpg) 45% center/cover;display:flex;align-items:flex-end;padding:44px}
.approach .side::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,51,.35),rgba(6,16,31,.92))}
.approach .side q{position:relative;font-family:var(--serif);font-size:34px;line-height:1.2;color:#fff;font-style:italic;quotes:none}
.approach .side q::before{content:"";display:block;width:44px;height:1px;background:var(--gold);margin-bottom:22px}
.steps{margin-top:46px}
.step{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:34px 0;border-top:1px solid rgba(10,26,51,.18)}
.step:last-child{border-bottom:1px solid rgba(10,26,51,.18)}
.step .n{font-family:var(--serif);font-size:46px;color:var(--gold);line-height:1;font-weight:500}
.step h3{font-size:30px;color:var(--navy);margin-bottom:8px}
.step p{color:#3A4457;font-weight:300;font-size:16.5px;max-width:560px}

/* leadership */
.lead-sec{background:var(--ivory)}
.lead-grid{display:grid;grid-template-columns:5fr 7fr;gap:90px;align-items:center}
.portrait{align-self:start;position:relative;background:var(--ivory)}
.portrait::before{content:"";position:absolute;left:-22px;top:22px;right:22px;bottom:-22px;border:1px solid var(--gold);z-index:0}
.portrait .ph{position:relative;z-index:1;background:linear-gradient(180deg,#fff,#E9E3D3)}
.portrait img{width:100%;mix-blend-mode:multiply}
.lead-sec h2{margin-bottom:6px}
.role{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:6px 0 30px}
.lead-sec .bio{font-size:19px;font-weight:300;color:#26303F;margin-bottom:34px;max-width:640px}
.track{background:var(--navy);color:#fff;padding:36px 40px;margin:36px 0;position:relative;max-width:640px}
.track::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.track small{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);font-weight:500}
.track h3{font-size:clamp(32px,3.4vw,46px);margin:10px 0 10px;color:#fff}
.track p{color:rgba(255,255,255,.76);font-weight:300;font-size:16px}
.creds{list-style:none;max-width:640px;border-top:1px solid var(--line)}
.creds li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px;color:#2A3446}
.creds li::before{content:"";position:absolute;left:2px;top:23px;width:9px;height:9px;border:1px solid var(--gold);transform:rotate(45deg)}
.lead-sec .link{display:inline-block;margin-top:26px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:5px}

/* contact */
.contact{background:var(--navy-deep) url(img/miami.jpg) center 60%/cover;color:#fff;isolation:isolate}
.contact::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,31,.96) 0%,rgba(6,16,31,.84) 55%,rgba(6,16,31,.7) 100%);z-index:-1}
.contact .grid{display:grid;grid-template-columns:5fr 6fr;gap:90px;align-items:start}
.contact h2{margin-bottom:26px}
.contact .intro{color:rgba(255,255,255,.76);font-weight:300;font-size:18px;max-width:470px}
.details{margin-top:46px;border-top:1px solid rgba(194,162,103,.35)}
.details div{padding:20px 0;border-bottom:1px solid rgba(194,162,103,.35)}
.details small{display:block;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:500}
.details a,.details b{font-family:var(--serif);font-size:26px;font-weight:500;color:#fff;overflow-wrap:anywhere}
.details a:hover{color:var(--gold-soft)}
.details span{display:block;font-size:13.5px;color:rgba(255,255,255,.6);margin-top:2px}
form{background:rgba(246,242,233,.97);color:var(--ink);padding:48px 46px;border-top:3px solid var(--gold)}
form h3{font-size:32px;color:var(--navy);margin-bottom:6px}
form .sub{font-size:14px;color:var(--muted);margin-bottom:28px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;margin-bottom:18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);font-weight:500}
input,select,textarea{display:block;width:100%;margin-top:8px;font:400 15.5px var(--sans);color:var(--ink);background:#fff;border:1px solid #CFC8B6;padding:13px 14px;border-radius:0;transition:.2s;letter-spacing:0;text-transform:none}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,162,103,.22)}
textarea{min-height:120px;resize:vertical}
form .btn{width:100%;margin-top:6px;background:var(--navy);color:#fff;border-color:var(--navy)}
form .btn:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
form .note{font-size:12.5px;color:var(--muted);margin-top:16px;line-height:1.55}

/* footer */
footer{background:var(--navy-deep);color:rgba(255,255,255,.62);padding:76px 0 40px;font-size:13px;line-height:1.75}
footer .top{display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap;padding-bottom:44px;border-bottom:1px solid rgba(194,162,103,.25)}
footer .brand span{font-size:17px}
footer .links{display:flex;gap:30px;flex-wrap:wrap;align-items:center}
footer .links a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
footer .links a:hover{color:var(--gold-soft)}
footer .disc{margin-top:38px;max-width:1010px;color:rgba(255,255,255,.52)}
footer .disc strong{color:rgba(255,255,255,.78);font-weight:500;letter-spacing:.06em}
footer .bottom{margin-top:34px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.45)}
footer .bottom a{border-bottom:1px solid rgba(194,162,103,.4)}

/* responsive */
@media(max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .card:nth-child(3){border-left:0}
  .card:nth-child(n+3){border-top:1px solid rgba(194,162,103,.3)}
  .region-grid{grid-template-columns:repeat(2,1fr)}
  .firm .grid,.approach .grid,.lead-grid,.contact .grid{grid-template-columns:1fr;gap:56px}
  .approach .side{min-height:340px}
  .portrait{max-width:460px;margin:0 22px 0 22px}
  nav.menu{gap:22px}
}
@media(max-width:860px){
  .wrap{padding:0 24px}
  section{padding:84px 0}
  .burger{display:block}
  nav.menu{position:absolute;top:78px;left:0;right:0;background:rgba(6,16,31,.98);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 26px;display:none;border-bottom:1px solid rgba(194,162,103,.3)}
  nav.menu.open{display:flex}
  nav.menu a{padding:16px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  nav.menu a.cta{margin-top:18px;text-align:center;width:100%}
  .brand span{font-size:15px;letter-spacing:.15em}.brand small{letter-spacing:.24em;font-size:8.5px}.brand img{width:38px;height:38px}
  .hero-inner{padding-top:130px;padding-bottom:50px}
  .hero-stats .wrap{grid-template-columns:1fr}
  .hero-stats div.s{border-left:0;padding:16px 0;border-top:1px solid rgba(194,162,103,.2);padding-left:0;display:flex;align-items:baseline;gap:18px}
  .hero-stats div.s:first-child{border-top:0}
  .hero-stats b{font-size:28px;min-width:150px}
  .pillars{grid-template-columns:1fr;gap:26px}
  .cards{grid-template-columns:1fr;margin-top:50px}
  .card{border-left:0!important;border-top:1px solid rgba(194,162,103,.3)}
  .card:first-child{border-top:0}
  .range{grid-template-columns:1fr;gap:22px;padding:34px 28px}
  .region-grid{gap:12px;margin-top:46px}
  .region .t{left:16px;right:12px;bottom:18px}.region h3{font-size:23px}.region span{font-size:9.5px;letter-spacing:.16em}
  .step{grid-template-columns:62px 1fr}.step .n{font-size:38px}.step h3{font-size:26px}
  .approach .side q{font-size:27px}.approach .side{padding:30px}
  .track{padding:28px 26px}
  form{padding:34px 24px}.row{grid-template-columns:1fr;gap:0}
  .details a,.details b{font-size:19px}
}
