
:root{
  --gray-900:#23262A; --gray-500:#5B6066; --gray-100:#E4E6E8; --gray-50:#F4F5F6;
  --blue-700:#4A7A90; --blue-500:#71A0B4; --blue-100:#E1EBF0;
  --white:#FFFFFF;
  --font-head:'Montserrat','Avenir Next','Helvetica Neue',sans-serif; /* stand-in for Proxima Nova until web license lands */
  --font-body:'Inter','Helvetica Neue',Arial,sans-serif;              /* stand-in for CMG Sans */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--gray-900);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%}
@media (min-width:1680px){html{zoom:1.25}}
@media (min-width:2200px){html{zoom:1.5}}
@media (min-width:3000px){html{zoom:1.9}}
h1,h2,h3,h4{font-family:var(--font-head);text-transform:uppercase}

/* ---- chrome ---- */
nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(16px,3vw,26px) clamp(20px,4vw,48px);position:relative}
.brand{display:flex;align-items:center;gap:clamp(10px,1.4vw,16px);text-decoration:none}
.brand .ic{height:clamp(34px,3.8vw,46px)}
.brand .wm{height:clamp(26px,3vw,36px)}
nav .links{display:flex;gap:clamp(14px,2.2vw,28px)}
nav .links a{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);text-decoration:none;white-space:nowrap;padding-bottom:4px}
nav .links a.active{color:var(--white);border-bottom:2px solid var(--blue-500)}
nav .links a:hover{color:var(--white)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.burger span{display:block;width:22px;height:2px;background:var(--white)}
@media (max-width:1024px){
  nav .links{display:none}
  .burger{display:flex}
  nav.open .links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--gray-900);padding:18px clamp(20px,4vw,48px) 26px;z-index:50;gap:16px}
}
.phead{background:var(--gray-900)}
.phead .hinner{max-width:1160px;margin:0 auto;padding:clamp(36px,6vw,64px) clamp(20px,4vw,48px) clamp(44px,7vw,72px)}
.kick{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-700);margin-bottom:16px}
.phead .kick,.parlay .kick,.gate .kick{color:var(--blue-100)}
.phead h1{font-weight:400;font-size:clamp(28px,4.2vw,40px);letter-spacing:.05em;line-height:1.2;color:var(--white);max-width:720px;margin-bottom:18px}
.phead .lead{font-size:clamp(14px,1.8vw,16px);line-height:1.7;color:rgba(255,255,255,.75);max-width:600px}
.sec{padding:clamp(48px,7vw,80px) clamp(20px,4vw,48px);max-width:1160px;margin:0 auto}
.sec h2{font-weight:400;font-size:clamp(22px,3.2vw,32px);letter-spacing:.05em;line-height:1.22;color:var(--gray-900);max-width:680px;margin-bottom:18px}
.sec .lead{font-size:clamp(14px,1.8vw,16px);line-height:1.7;color:var(--gray-500);max-width:640px}
.alt{background:var(--gray-50)}
.alt .sec{background:none}
.btn{display:inline-block;font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:17px 30px;border-radius:3px;background:var(--blue-500);color:var(--white);text-decoration:none;border:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--blue-700)}
.btn.dark{background:var(--gray-900)}
.btn.dark:hover{background:var(--gray-500)}
.btn.ghost{background:transparent;color:var(--gray-900);border:1px solid var(--gray-500)}
.btn.ghost:hover{background:var(--blue-100);color:var(--gray-900)}
.txtlink{font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-700);text-decoration:none;border-bottom:2px solid var(--blue-100);padding-bottom:3px}
.cta{background:var(--blue-100);text-align:center}
.cta .cinner{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,4vw,48px)}
.cta h2{font-weight:400;font-size:clamp(22px,3.2vw,32px);letter-spacing:.05em;line-height:1.25;margin:0 auto 16px;max-width:640px}
.cta p{font-size:15px;line-height:1.7;color:var(--gray-500);margin:0 auto 28px;max-width:560px}
footer{background:var(--gray-900);color:rgba(255,255,255,.65)}
footer .finner{max-width:1160px;margin:0 auto;padding:52px clamp(20px,4vw,48px) 20px;display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;align-items:flex-start}
footer img{height:40px}
footer .tag{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-100);margin-top:14px}
footer .col{font-size:12.5px;line-height:1.9}
footer .col b{display:block;font-family:var(--font-head);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:8px}
footer .col a{color:rgba(255,255,255,.65);text-decoration:none}
footer .col a:hover{color:var(--white)}
.dustline{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,48px) 30px;font-size:11.5px;color:rgba(255,255,255,.4);letter-spacing:.04em}

/* ---- pardon our dust ---- */
.dust{display:inline-flex;align-items:center;gap:9px;background:var(--blue-100);border-radius:4px;padding:9px 14px;font-size:12px;color:var(--gray-500)}
.dust img{height:14px}
.dust b{font-family:var(--font-head);font-weight:600;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-700)}
.dustpanel{border-left:3px solid var(--blue-500);background:var(--gray-50);border-radius:0 8px 8px 0;padding:26px 30px;max-width:680px}
.dustpanel p{font-size:14px;line-height:1.7;color:var(--gray-500)}
.dustpanel .dh{font-family:var(--font-head);font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-700);margin-bottom:10px}

/* ---- homepage ---- */
.hero{position:relative;min-height:min(92vh,760px);display:flex;flex-direction:column;overflow:hidden;background:var(--gray-900)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(35,38,42,.93) 0%,rgba(35,38,42,.78) 45%,rgba(35,38,42,.35) 100%)}
.hero nav{position:relative}
.hero .content{position:relative;padding:clamp(44px,7vw,70px) clamp(20px,4vw,48px) clamp(48px,8vw,80px);max-width:760px}
.hero .kick{color:var(--blue-100);margin-bottom:clamp(14px,2.5vw,22px)}
.hero h1{font-weight:400;font-size:clamp(28px,4.6vw,44px);letter-spacing:.05em;line-height:1.18;color:var(--white);margin-bottom:clamp(18px,3vw,26px)}
.hero .proof{font-size:clamp(14px,1.8vw,16px);line-height:1.7;color:rgba(255,255,255,.82);max-width:560px;margin-bottom:clamp(26px,4vw,36px)}
.hero .proof b{color:var(--white)}
@media (max-width:560px){.hero .btn{display:block}}
.stats{position:relative;display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);margin-top:auto}
.stat{flex:1 1 25%;min-width:150px;padding:clamp(14px,2.5vw,22px) clamp(20px,4vw,48px);border-right:1px solid rgba(255,255,255,.15)}
.stat:last-child{border-right:none}
@media (max-width:700px){.stat{flex:1 1 50%}.stat:nth-child(2){border-right:none}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)}}
.stat .n{font-family:var(--font-head);font-size:clamp(20px,2.8vw,26px);color:var(--white)}
.stat .t{font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.6);margin-top:4px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media (max-width:760px){.pillars{grid-template-columns:1fr}}
.pill{border-top:3px solid var(--blue-500);background:var(--gray-50);border-radius:0 0 8px 8px;padding:26px 28px}
.pill h4{font-weight:600;font-size:12px;letter-spacing:.16em;margin-bottom:10px}
.pill p{font-size:13px;line-height:1.65;color:var(--gray-500)}
.parlay{background:var(--gray-900);color:var(--white)}
.parlay .sec h2{color:var(--white)}
.parlay .sec .lead{color:rgba(255,255,255,.72)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,1fr)}}
.step{border:1px solid var(--gray-100);border-radius:8px;padding:22px}
.parlay .step{border-color:rgba(255,255,255,.14)}
.step .no{font-family:var(--font-head);font-size:13px;color:var(--blue-700);letter-spacing:.14em;margin-bottom:10px}
.parlay .step .no{color:var(--blue-100)}
.step h4{font-weight:600;font-size:12px;letter-spacing:.14em;margin-bottom:8px}
.step p{font-size:12.5px;line-height:1.6;color:var(--gray-500)}
.parlay .step p{color:rgba(255,255,255,.62)}

/* ---- case studies ---- */
.cs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--gray-100);border-radius:8px;overflow:hidden;margin-top:clamp(24px,4vw,40px)}
@media (max-width:760px){.cs{grid-template-columns:1fr}}
.cs .imwrap{display:grid;grid-template-rows:1fr 1fr}
.cs .imwrap.single{grid-template-rows:1fr}
.cs .im{background-size:cover;background-position:center;min-height:clamp(180px,22vw,250px);position:relative}
.cs .im .ba{position:absolute;top:12px;left:12px;font-family:var(--font-head);font-weight:600;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:rgba(35,38,42,.82);border-radius:3px;padding:5px 9px}
.cs .im.blank{background:var(--gray-50);display:flex;align-items:center;justify-content:center}
.cs .bd{padding:clamp(26px,4vw,44px);display:flex;flex-direction:column;justify-content:center}
.cs .kicker{font-family:var(--font-head);font-weight:600;font-size:clamp(10px,1.1vw,11px);letter-spacing:.22em;text-transform:uppercase;color:var(--blue-700);margin-bottom:14px}
.cs h3{font-weight:400;font-size:clamp(24px,3vw,32px);letter-spacing:.05em;line-height:1.22;margin-bottom:14px}
.cs p{font-size:clamp(14px,1.7vw,16px);line-height:1.7;color:var(--gray-500);margin-bottom:22px;max-width:520px}
.mrow{display:flex;flex-wrap:wrap;gap:clamp(22px,3vw,34px);border-top:1px solid var(--gray-100);padding-top:20px}
.m .n{font-family:var(--font-head);font-size:clamp(19px,2.4vw,24px);color:var(--gray-900)}
.m .t{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-top:3px}
.note{font-size:12px;color:var(--gray-500);border-left:3px solid var(--blue-100);padding:10px 16px;margin-top:26px;max-width:640px}

/* ---- stat band ---- */
.band{background:var(--gray-50);border-top:3px solid var(--blue-500);padding:38px clamp(20px,4vw,48px);display:flex;flex-wrap:wrap;margin-top:36px}
.band .s{flex:1 1 25%;min-width:160px;padding:14px 28px;border-right:1px solid var(--gray-100)}
.band .s:first-child{padding-left:0}
.band .s:last-child{border-right:none}
@media (max-width:760px){.band .s{flex:1 1 50%;border-right:none}}
.band .n{font-family:var(--font-head);font-size:clamp(24px,3vw,34px);color:var(--gray-900)}
.band .n em{font-style:normal;color:var(--blue-700)}
.band .t{font-size:12px;line-height:1.5;color:var(--gray-500);margin-top:6px}

/* ---- team ---- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,22px);margin-top:40px}
@media (max-width:860px){.grid3{grid-template-columns:1fr}}
.tc{border:1px solid var(--gray-100);border-radius:8px;overflow:hidden;background:var(--white)}
.tc .ph{aspect-ratio:4/4.6;background-size:cover;background-position:center top}
.tc .nm{padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,24px) 4px;font-family:var(--font-head);font-weight:600;font-size:clamp(13px,1.5vw,16px);letter-spacing:.1em;text-transform:uppercase}
.tc .ti{padding:0 clamp(18px,2.2vw,24px);font-size:clamp(12px,1.3vw,14px);color:var(--gray-500);line-height:1.5}
.tc .bio{padding:10px clamp(18px,2.2vw,24px) 0;font-size:clamp(12px,1.3vw,13.5px);line-height:1.65;color:var(--gray-500)}
.tc .ct{padding:12px clamp(18px,2.2vw,24px) clamp(18px,2.2vw,24px);font-size:clamp(12px,1.3vw,14px);color:var(--blue-700);line-height:1.7}
.tc .ct a{color:var(--blue-700);text-decoration:none}
.ops{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,22px);margin-top:clamp(18px,2.5vw,26px)}
.op{flex:1 1 260px;background:var(--gray-50);border-radius:8px;padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,24px);display:flex;gap:14px;align-items:center}
.alt .op{background:var(--white)}
.op .av{width:clamp(46px,5vw,58px);height:clamp(46px,5vw,58px);border-radius:50%;background-size:cover;background-position:center top;flex-shrink:0}
.op .av.empty{background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:14px;color:var(--gray-500)}
.op b{display:block;font-family:var(--font-head);font-weight:600;font-size:clamp(11px,1.2vw,13px);letter-spacing:.08em;text-transform:uppercase}
.op span{font-size:clamp(11px,1.2vw,12px);color:var(--gray-500);line-height:1.55}

/* ---- services ---- */
.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
@media (max-width:860px){.cardgrid{grid-template-columns:1fr}}
.svc{border-top:3px solid var(--blue-500);background:var(--gray-50);border-radius:0 0 8px 8px;padding:26px 28px}
.alt .svc{background:var(--white)}
.svc h4{font-weight:600;font-size:12px;letter-spacing:.16em;margin-bottom:10px}
.svc p{font-size:13px;line-height:1.65;color:var(--gray-500)}
.svcrow{display:grid;grid-template-columns:auto 1fr;gap:28px;border-top:1px solid var(--gray-100);padding:36px 0}
.svcrow:last-of-type{border-bottom:1px solid var(--gray-100)}
@media (max-width:640px){.svcrow{grid-template-columns:1fr;gap:10px}}
.svcrow .no{font-family:var(--font-head);font-size:15px;color:var(--blue-700);letter-spacing:.14em;width:44px}
.svcrow h3{font-weight:600;font-size:14px;letter-spacing:.16em;margin-bottom:10px}
.svcrow p{font-size:14px;line-height:1.7;color:var(--gray-500);max-width:640px}

/* ---- brokerage ---- */
.agents{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;max-width:820px}
@media (max-width:640px){.agents{grid-template-columns:1fr}}
.agents .tc .ph{aspect-ratio:4/4}
.inv{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media (max-width:760px){.inv{grid-template-columns:1fr}}
.lot{border:1px solid var(--gray-100);border-radius:8px;padding:26px 28px;background:var(--white)}
.lot .st{display:inline-block;font-family:var(--font-head);font-weight:600;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--blue-500);border-radius:3px;padding:5px 9px;margin-bottom:14px}
.lot h4{font-weight:600;font-size:13px;letter-spacing:.14em;margin-bottom:8px}
.lot p{font-size:13px;line-height:1.65;color:var(--gray-500)}
.tx{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
@media (max-width:860px){.tx{grid-template-columns:repeat(2,1fr)}}
.txc{border:1px solid var(--gray-100);border-radius:8px;overflow:hidden}
.txc .im{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--gray-50);display:flex;align-items:center;justify-content:center}
.txc .bd{padding:14px 16px}
.txc b{display:block;font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.txc span{font-size:11px;color:var(--gray-500)}
.gate{background:var(--gray-900);border-radius:8px;padding:clamp(30px,5vw,48px);margin-top:44px;color:var(--white)}
.gate h3{font-weight:400;font-size:clamp(20px,3vw,28px);letter-spacing:.05em;line-height:1.25;max-width:560px;margin-bottom:14px}
.gate p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.72);max-width:560px;margin-bottom:26px}

/* ---- about ---- */
.origin{border-left:3px solid var(--blue-500);background:var(--gray-50);border-radius:0 8px 8px 0;padding:26px 30px;margin-top:36px;max-width:680px}

/* ---- contact ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:8px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.frame{border:1px solid var(--gray-100);border-radius:8px;padding:clamp(28px,4vw,48px)}
.f{margin-bottom:16px}
.f label{display:block;font-family:var(--font-head);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-500);margin-bottom:7px}
.f input,.f textarea{width:100%;font-family:var(--font-body);font-size:14px;color:var(--gray-900);padding:13px 14px;border:1px solid var(--gray-100);border-radius:3px;background:var(--gray-50);outline:none}
.f input:focus,.f textarea:focus{border-color:var(--blue-500);background:var(--white)}
.f textarea{min-height:110px;resize:vertical}
.fbtn{display:block;width:100%}
.fine{font-size:11px;color:var(--gray-500);margin-top:12px;text-align:center}
.info b{display:block;font-family:var(--font-head);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-900);margin:22px 0 8px}
.info b:first-child{margin-top:0}
.info div{font-size:14px;line-height:1.8;color:var(--gray-500)}
.info a{color:var(--blue-700);text-decoration:none}
