:root{
  --bg:#f3f3f1; --paper:#fafaf9; --ink:#191919; --mid:#5f5f5f; --soft:#8a8a8a;
  --rule:#cfcfcc; --dark:#262626; --darker:#1b1b1b; --accent:#3d3d3d;
  --sans:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --w:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
/* header */
header.site{border-bottom:1px solid var(--rule);background:var(--bg);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;text-decoration:none}
.brand span{font-weight:400;color:var(--soft)}
nav.main{display:flex;gap:30px}
nav.main a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--mid);padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
/* type */
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(38px,6vw,70px);max-width:15em}
h2{font-size:clamp(28px,3.6vw,42px)}
h3{font-size:22px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:22px;display:block}
.lead{font-size:clamp(18px,2vw,22px);color:var(--mid);max-width:38em;margin-top:28px}
p+p{margin-top:1em}
/* sections */
section{padding:92px 0;border-bottom:1px solid var(--rule)}
section.hero{padding:120px 0 100px}
section.dark{background:var(--dark);color:#e9e9e6;border-bottom:0}
section.dark .eyebrow{color:#a8a8a4}
section.dark .lead,section.dark p{color:#c9c9c5}
.grid{display:grid;gap:0;grid-template-columns:repeat(12,1fr)}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.cols-4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule)}
.cell{padding:30px 28px 34px 0;border-right:1px solid var(--rule);margin-right:0}
.cell+.cell{padding-left:28px}
.cell:last-child{border-right:0}
.cell .n{font-size:12px;letter-spacing:.14em;color:var(--soft);display:block;margin-bottom:34px}
.cell h3{margin-bottom:12px}
.cell p{color:var(--mid);font-size:16px}
.split{display:grid;grid-template-columns:4fr 8fr;gap:60px}
.figure{font-family:var(--serif);font-size:clamp(64px,10vw,140px);line-height:1;letter-spacing:-.03em}
.eq{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;margin-top:40px;font-family:var(--serif);font-size:clamp(22px,3vw,34px);color:#d9d9d5}
.eq b{font-weight:400;color:#fff}
/* doors */
.doors{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);background:var(--paper)}
.door{padding:48px 44px 52px;text-decoration:none;display:block;transition:background .2s}
.door+.door{border-left:1px solid var(--rule)}
.door:hover{background:#fff}
.door h3{margin:10px 0 14px;font-size:30px}
.door p{color:var(--mid);max-width:26em}
.door .go{display:inline-block;margin-top:30px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:3px}
/* lists */
ul.rules{list-style:none;border-top:1px solid var(--rule)}
ul.rules li{padding:20px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:60px 1fr;gap:12px}
ul.rules li span.k{font-size:12px;letter-spacing:.14em;color:var(--soft);padding-top:5px}
ul.rules li b{font-weight:600}
ul.rules li p{color:var(--mid);font-size:16px;margin-top:2px}
.notice{border:1px solid var(--ink);padding:30px 34px;background:var(--paper);max-width:46em}
.notice b{letter-spacing:.1em;text-transform:uppercase;font-size:12px;display:block;margin-bottom:10px}
/* buttons + forms */
.btn{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:15px 30px;font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--ink)}
.btn[disabled]{opacity:.5;cursor:wait}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:transparent;color:#fff}
form.f{background:var(--paper);border:1px solid var(--rule);padding:44px;max-width:820px}
form.f .row{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
form.f .full{grid-column:1/-1}
label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-bottom:7px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:0;padding:13px 14px;appearance:none}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}
textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mid);letter-spacing:0;text-transform:none}
.check input{width:auto;margin-top:4px}
.status{margin-top:18px;font-size:15px;min-height:1.5em}
.status.ok{color:#2f5d3a}.status.err{color:#8a2d2d}
/* consultants */
.people{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.person{padding:26px 24px 30px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.person h3{font-size:20px;margin-bottom:4px}
.person small{display:block;color:var(--mid);font-size:14px}
/* footer */
footer.site{background:var(--darker);color:#b8b8b4;padding:64px 0 44px;font-size:14px}
footer.site .cols{display:grid;grid-template-columns:5fr 3fr 3fr;gap:40px}
footer.site h4{font-weight:400;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8a8a86;margin-bottom:14px}
footer.site a{text-decoration:none}footer.site a:hover{color:#fff}
footer.site .legal{border-top:1px solid #3a3a3a;margin-top:44px;padding-top:22px;font-size:12px;color:#8a8a86}
footer.site .brand{color:#fff;display:block;margin-bottom:14px}
@media(max-width:860px){
  body{font-size:16px}
  nav.main{gap:18px}
  header.site .wrap{height:auto;padding:14px 20px;flex-wrap:wrap;gap:10px}
  .wrap{padding:0 20px}
  section{padding:60px 0}section.hero{padding:70px 0 60px}
  .cols-3,.cols-4,.people{grid-template-columns:1fr}
  .cell,.cell+.cell{padding:26px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .split{grid-template-columns:1fr;gap:30px}
  .doors{grid-template-columns:1fr}.door+.door{border-left:0;border-top:1px solid var(--rule)}
  .door{padding:34px 26px 38px}
  form.f{padding:26px 20px}form.f .row{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr}
  .person{border-right:0}
}
