/* Ber Tov Capital — redesign */

:root{
  --pine:#0C2B49;
  --pine-deep:#081E33;
  --moss:#1E4468;
  --hairline:#2A4F76;
  --cream:#F4EFE4;
  --parchment:#EAE3D2;
  --rule:#D3CAB4;
  --ink:#12202E;
  --sage:#5B6C7E;
  --mint:#8EC6E8;
  --mint-dim:#6FA6C8;

  --display:"Fraunces",Georgia,serif;
  --body:"Fraunces",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  --gut:clamp(1.5rem,5vw,6rem);
  --measure:62ch;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-weight:340;
  font-size:clamp(1.0625rem,1rem + 0.25vw,1.1875rem);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  font-optical-sizing:auto;
}
::selection{background:var(--mint);color:var(--pine)}
.wrap{max-width:1140px;margin:0 auto;padding-inline:var(--gut)}
a{color:inherit}
a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}

.k{
  font-family:var(--mono);font-size:.65rem;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
}

/* ================= masthead (pine on every page) ================= */
.top{background:var(--pine);color:var(--cream)}
.masthead{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding-block:1.4rem;
}
.mark{
  font-family:var(--display);font-optical-sizing:auto;
  font-size:1.25rem;font-weight:420;letter-spacing:.005em;
  text-decoration:none;white-space:nowrap;
}
.mark span{color:var(--mint)}
.mark b{font-weight:420}
.nav{display:flex;gap:1.9rem;flex-wrap:wrap}
.nav a{
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;color:#AFC2D2;
  padding-bottom:3px;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.nav a:hover{color:var(--cream)}
.nav a[aria-current="page"]{color:var(--cream);border-bottom-color:var(--mint)}

.logoflag{
  font-family:var(--mono);font-size:.5625rem;letter-spacing:.06em;
  color:#E8C87A;border:1px solid #52664A;border-radius:2px;
  padding:.15rem .4rem;margin-left:.6rem;vertical-align:middle;white-space:nowrap;
}

/* ================= hero / pagehead on pine ================= */
.stage{
  background:var(--pine);color:var(--cream);
  padding-block:clamp(5rem,13vh,10rem) clamp(4.5rem,11vh,9rem);
}
.stage .k{color:var(--mint-dim)}
.stage h1{
  font-family:var(--display);
  font-variation-settings:"opsz" 40;
  font-weight:330;
  font-size:clamp(2.6rem,7.6vw,5.9rem);
  line-height:1.0;
  letter-spacing:-.03em;
  max-width:20ch;
  margin-top:1.4rem;
  text-wrap:balance;
}
.stage h1 em{font-style:normal;color:var(--mint);font-weight:360;display:block}
.stage .sub{
  margin-top:2.2rem;max-width:46ch;color:#C2D2E0;
  font-size:clamp(1.0625rem,1rem + .35vw,1.3125rem);line-height:1.55;
}
.stage .go{
  display:inline-block;margin-top:2.75rem;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mint);text-decoration:none;
  border:1px solid var(--hairline);border-radius:999px;
  padding:.85rem 1.6rem;
  transition:background .25s,border-color .25s;
}
.stage .go:hover{background:var(--moss);border-color:var(--mint-dim)}

.stage.short{padding-block:clamp(4rem,9vh,7rem) clamp(3.5rem,8vh,6rem)}
.stage.short h1{font-size:clamp(2.2rem,5.6vw,4.2rem)}

/* ================= ledger band ================= */
.figures{border-bottom:1px solid var(--rule)}
.figures .row{
  display:grid;grid-template-columns:repeat(3,1fr);
}
.figures .cell{
  padding:2.75rem 0 2.75rem 2rem;border-left:1px solid var(--rule);
}
.figures .cell:first-child{padding-left:0;border-left:0}
.figures .k{color:var(--sage);display:block;margin-bottom:.7rem}
.figures .num{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:340;font-size:clamp(1.9rem,4.4vw,3.4rem);
  letter-spacing:-.025em;line-height:1;
}
.figures .why{
  display:block;margin-top:.55rem;color:var(--sage);
  font-size:.875rem;font-weight:360;
}

/* ================= sections ================= */
.sect{padding-block:clamp(4.5rem,11vw,8.5rem)}
.sect.parch{background:var(--parchment)}
.sect-head{max-width:34ch;margin-inline:auto;text-align:center}
.sect-head .k{color:var(--sage);display:block;margin-bottom:1rem}
.sect-head h2{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:320;font-size:clamp(1.7rem,3.8vw,2.7rem);
  line-height:1.12;letter-spacing:-.022em;text-wrap:balance;
}

/* beats */
.beats{
  max-width:820px;margin:clamp(2.75rem,6vw,4.5rem) auto 0;
  display:grid;gap:0;
}
.beat{
  display:grid;grid-template-columns:minmax(0,12.5rem) minmax(0,1fr);
  gap:clamp(1.25rem,3.5vw,3rem);
  padding-block:2.4rem;border-top:1px solid var(--rule);
}
.beat:last-child{border-bottom:1px solid var(--rule)}
.beat h3{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:460;font-size:1.3125rem;letter-spacing:-.012em;line-height:1.2;
}
.beat p{color:#37485A;max-width:var(--measure)}
.beat:last-child h3{color:var(--moss)}

/* ================= transaction line ================= */
.txline{max-width:980px;margin:clamp(3rem,6vw,4.5rem) auto 0}
.stations{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  position:relative;
}
.stations::before{
  content:"";position:absolute;left:6%;right:6%;top:11px;
  height:1px;background:var(--rule);
}
.station{position:relative;padding:0 1.25rem;text-align:center}
.station::before{
  content:"";display:block;width:9px;height:9px;border-radius:50%;
  background:var(--parchment);border:1.5px solid var(--sage);
  margin:7px auto 1.4rem;position:relative;z-index:1;
}
.station.hot::before{background:var(--moss);border-color:var(--moss)}
.station .k{color:var(--sage);display:block;margin-bottom:.5rem}
.station h4{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:460;font-size:1.125rem;letter-spacing:-.01em;
}
.station p{
  margin-top:.5rem;font-size:.9375rem;color:#4A5A51;line-height:1.55;
  max-width:26ch;margin-inline:auto;
}
.txnote{
  text-align:center;margin-top:2.75rem;
  font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;
  color:var(--moss);text-transform:uppercase;
}

/* ================= doors ================= */
.doors{
  max-width:980px;margin:clamp(2.75rem,6vw,4.5rem) auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;
}
.door{
  background:var(--cream);border:1px solid var(--rule);border-radius:3px;
  padding:2.5rem 2.25rem 2.6rem;
  display:flex;flex-direction:column;gap:1rem;
}
.door h3{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:420;font-size:1.4375rem;letter-spacing:-.015em;
}
.door p{color:#37485A;font-size:1rem}
.door .qual{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--moss);
  margin-top:auto;padding-top:1rem;line-height:1.7;
}

/* ================= points (approach / capital markets) ================= */
.points{max-width:820px;margin:clamp(2.75rem,6vw,4.5rem) auto 0}
.point{
  display:grid;grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);
  gap:clamp(1.25rem,3.5vw,3rem);
  padding-block:2.3rem;border-top:1px solid var(--rule);
}
.point:last-child{border-bottom:1px solid var(--rule)}
.point h3{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:460;font-size:1.1875rem;letter-spacing:-.012em;line-height:1.25;
}
.point p{color:#37485A;max-width:var(--measure)}
.point p + p{margin-top:.9rem}

/* ================= history on pine ================= */
.stage .prose{margin-top:2.5rem;max-width:56ch}
.stage .prose p{color:#C2D2E0;font-size:1.0625rem;line-height:1.65}
.stage .prose p + p{margin-top:1.3rem}
.stage .prose .yr{color:var(--mint);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;margin-right:.6rem}

/* ================= team ================= */
.team{max-width:900px;margin:clamp(2.75rem,6vw,4.5rem) auto 0}
.member{
  display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3.5rem);
  padding-block:2.9rem;border-top:1px solid var(--rule);
}
.member:last-child{border-bottom:1px solid var(--rule)}
.member h3{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:460;font-size:1.375rem;letter-spacing:-.015em;
}
.member .role{
  display:block;margin-top:.45rem;color:var(--sage);
  font-family:var(--mono);font-size:.5875rem;letter-spacing:.13em;text-transform:uppercase;
  line-height:1.7;
}
.mcontact{margin-top:1.3rem;display:flex;flex-direction:column;gap:.45rem}
.cline{display:grid;grid-template-columns:3.4rem 1fr;gap:.6rem;align-items:baseline}
.clabel{
  font-family:var(--mono);font-size:.5375rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sage);
}
.cline a{
  font-size:.9rem;font-weight:380;text-decoration:none;
  border-bottom:1px solid var(--rule);padding-bottom:1px;
  transition:border-color .2s;word-break:break-word;
}
.cline a:hover{border-color:var(--moss)}
.member .bio p{color:#37485A}
.member .bio p + p{margin-top:.9rem}

/* ================= offices ================= */
.offices{
  max-width:820px;margin:clamp(2.75rem,6vw,4.5rem) auto 0;
  display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;
}
.office{
  background:var(--cream);border:1px solid var(--rule);border-radius:3px;
  padding:2.4rem 2.25rem 2.5rem;
}
.office h3{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:440;font-size:1.3125rem;margin-bottom:1.1rem;letter-spacing:-.012em;
}
.office address{font-style:normal;color:#37485A;font-size:1rem;line-height:1.8}
.office a{
  text-decoration:none;border-bottom:1px solid var(--rule);
  padding-bottom:1px;transition:border-color .2s;
}
.office a:hover{border-color:var(--moss)}

/* ================= closing band ================= */
.close{
  background:var(--pine);color:var(--cream);
  padding-block:clamp(4rem,9vw,7rem);
}
.close .inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
}
.close p{
  font-family:var(--display);font-variation-settings:"opsz" 40;
  font-weight:320;font-size:clamp(1.4rem,3vw,2.1rem);
  letter-spacing:-.02em;line-height:1.2;max-width:24ch;text-wrap:balance;
}
.close .go{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mint);text-decoration:none;white-space:nowrap;
  border:1px solid var(--hairline);border-radius:999px;padding:.85rem 1.6rem;
  transition:background .25s,border-color .25s;
}
.close .go:hover{background:var(--moss);border-color:var(--mint-dim)}

/* ================= footer ================= */
footer{background:var(--pine-deep);color:#8CA0B4;padding-block:2.75rem 3.5rem}
.footrow{display:flex;justify-content:space-between;gap:1.5rem 2rem;flex-wrap:wrap}
.footnav{display:flex;gap:1.4rem;flex-wrap:wrap}
.footnav a{
  font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;color:#8CA0B4;transition:color .2s;
}
.footnav a:hover{color:var(--cream)}
.fine{
  font-family:var(--mono);font-size:.65rem;letter-spacing:.04em;
  max-width:56ch;line-height:1.8;margin-top:2rem;
}
.flag{
  font-family:var(--mono);font-size:.625rem;font-weight:500;
  color:#8A5A00;background:#F5E4B8;padding:.1rem .4rem;border-radius:2px;
}
.stage .flag,.close .flag,footer .flag{background:#3A2E14;color:#E8C87A}

/* ================= motion ================= */
.rise{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rise{opacity:1;transform:none;transition:none}
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ================= responsive ================= */
@media (max-width:900px){
  .masthead{flex-direction:column;align-items:flex-start;gap:1rem}
  .nav{gap:1.1rem}
}
@media (max-width:820px){
  .figures .row{grid-template-columns:1fr}
  .figures .cell{
    padding:1.6rem 0;border-left:0;border-top:1px solid var(--rule);
    display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.25rem 1rem;
  }
  .figures .cell:first-child{border-top:0}
  .figures .k{margin-bottom:0}
  .figures .num{text-align:right;font-size:1.7rem}
  .figures .why{grid-column:1 / -1;margin-top:.1rem}

  .beat,.point,.member{grid-template-columns:1fr;gap:.7rem;padding-block:2rem}
  .doors,.offices{grid-template-columns:1fr}

  .stations{grid-template-columns:1fr;gap:0}
  .stations::before{
    left:11px;right:auto;top:8%;bottom:8%;width:1px;height:auto;
  }
  .station{
    text-align:left;padding:1.4rem 0 1.4rem 2.6rem;
  }
  .station::before{
    position:absolute;left:7px;top:1.75rem;margin:0;
  }
  .station p{margin-inline:0;max-width:var(--measure)}

  .close .inner{flex-direction:column;align-items:flex-start}
}


/* ---------- masthead logo ---------- */
.mark{display:inline-flex;align-items:center;gap:.75rem}
.mark img{height:2.6rem;width:auto;display:block}
@media (max-width:900px){.mark img{height:2.2rem}}
