/* K2 Investment — house style. Loaded AFTER each page's own rules so the shared look always wins.
   (site.css = tokens, header, footer, component layouts; page <style> = that page's extras; house.css = the look.) */
h1,h2,h3{text-wrap:balance}
/* page hero: navy panel with the photo fading in from the right (desktop) or sitting on top (tablet, phone) */
.k-hero{padding:3.6rem 0 3.2rem;background:#0C1F33;color:#fff;border-bottom:0}
.k-hero-pg{padding:3.6rem 0 3.2rem}
.k-hero::before{filter:none}
.k-hero .wrap::before{content:none}
/* heroes with no photo: no reserved photo strip */
.k-hero:not([style*="--hero"])::before,.k-hero:not([style*="--hero"])::after{display:none}
.k-hero::after{background:linear-gradient(90deg,#0C1F33 0%,#0C1F33 36%,rgba(12,31,51,.74) 54%,rgba(12,31,51,.18) 80%,rgba(12,31,51,0) 100%)}
@media (max-width:1099px){
  .k-hero,.k-hero-pg{padding:0 0 2.4rem}
  .k-hero::before,.k-hero::after{height:240px;bottom:auto}
  .k-hero::after{background:linear-gradient(180deg,rgba(12,31,51,0) 55%,#0C1F33 100%)}
  .k-hero .wrap{padding-top:calc(240px + 1.4rem);display:flex;flex-direction:column;align-items:flex-start}
  /* stacked hero reads: label, headline, buttons, then the intro */
  .k-hero .wrap>*{order:5}
  .k-hero .wrap>.k-est{order:1}
  .k-hero .wrap>h1{order:2}
  .k-hero .wrap>.k-cta{order:3;margin:.1rem 0 1rem}
  .k-hero .wrap>.k-sub{order:4;margin-bottom:0}
  .k-hero:not([style*="--hero"]) .wrap{padding-top:2rem}
  .k-hero-estate{min-height:0;display:block}
  .k-hero-estate .wrap{padding-bottom:0}
}
.k-est{display:block;border:0;background:none;padding:0;margin-bottom:1rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;color:#CFE0F3}
.k-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.01em;max-width:22ch;margin:0 0 1rem;font-variation-settings:'opsz' 144}
.k-hero h1 em{color:#E3C99B}
.k-hero .k-sub{color:#EEF3F8;font-size:1.08rem;line-height:1.55;max-width:60ch;margin:0 0 1.2rem;font-weight:400}
.k-serv-line{color:#CFE0F3;margin:0 0 1.2rem}
.k-cta{gap:.7rem}
.k-btn{font-family:var(--body);font-size:.95rem;font-weight:600;letter-spacing:0;padding:.8rem 1.15rem;border-radius:4px;border:1.5px solid transparent;transition:transform .15s ease,background .15s ease}
.k-btn:hover{transform:translateY(-1px)}
.k-btn-p{background:var(--k2-deep);color:var(--paper)}
.k-btn-p:hover{background:var(--ink)}
.k-btn-g{border-color:var(--line-2);background:transparent;color:var(--ink)}
.k-btn-g:hover{border-color:var(--k2-deep);background:transparent}
.k-hero .k-btn-p{background:var(--signal);color:var(--on-signal)}
.k-hero .k-btn-p:hover{background:#C9A873}
.k-hero .k-btn-g{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(255,255,255,.06)}
.k-hero .k-btn-g:hover{border-color:#fff;background:rgba(255,255,255,.12)}
/* sections */
section.k{padding:4rem 0}
@media (min-width:1100px){section.k{padding:4rem 0}section.k>.wrap>.k-lab+h2:has(+p.lede){margin-bottom:1.6rem}}
.k-cta-band{background:#0C1F33;border:0;border-radius:6px;padding:2.4rem 2.2rem;color:#F7F8FA}
.k-cta-band h2{color:#F7F8FA}
.k-cta-band .k-lab{color:#8FB6DE}
.k .k-cta-band .lede{color:#BFD1E6}
.k-cta-band .k-btn-p{background:#F7F8FA;color:#0C1F33}
.k-cta-band .k-btn-g{border-color:#3C5570;color:#F7F8FA}
.k-sub-cards .k-sub,.k-buyer,.k-w,.k-cbox,.k-figs{border-radius:6px}
.k-w,.k-buyer,.k-cbox{background:var(--paper)}
.k-figs div{background:var(--paper)}
td,th{font-weight:400}
.k-lab,.k-hood,.k-role,.k-year,.k-svc-n{font-weight:600}
.k-lab{font-size:.74rem;letter-spacing:.14em;color:var(--mute);margin-bottom:.7rem}
.k h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.08;max-width:24ch;margin:0 0 1rem;font-variation-settings:'opsz' 96}
.k .lede{font-size:1.02rem;line-height:1.65;color:var(--ink-2);margin:0 0 1.8rem}
.k-band{background:var(--paper-2)}
/* cards share one radius and one soft shadow */
.k-svc,.k-listing,.k-lease,.k-person,.k-post,.k-mem,.k-pstats,.k-gal figure,.k-founder-img,.k-split img{border-radius:6px}
.k-svc,.k-listing,.k-lease,.k-person,.k-post,.k-mem{background:var(--paper);box-shadow:0 1px 2px rgba(12,31,51,.06),0 14px 30px -18px rgba(12,31,51,.35)}
.k-group{border-radius:6px;margin-bottom:1.8rem}
.k-gal-lead{margin-left:0;margin-right:0}
.k-tag{background:var(--signal);color:var(--on-signal);font-weight:700}
.k-mem-img{border-bottom:0}
.k-founder-img .k-badge{background:#0C1F33;color:#fff}
.k-article p,.k-article li{color:var(--ink-2)}
.k-article h3{font-weight:500}
.k-article h1,.k-article h2{font-family:var(--disp);font-weight:500;line-height:1.12;letter-spacing:-.01em}
.k-article h1{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:0 0 1rem}
.k-article a,.k .lede a{color:var(--k2-deep)}
.k-q summary{font-weight:500}
@media (prefers-reduced-motion:reduce){.btn:hover,.k-btn:hover,.k-post:hover{transform:none}}

/* ===== phones ===== */
@media (max-width:700px){
  .k-hero,.k-hero-pg{padding:0 0 1.8rem}
  .k-hero::before,.k-hero::after{height:170px}
  .k-hero .wrap{padding-top:calc(170px + 1.1rem)}
  .k-hero:not([style*="--hero"]) .wrap{padding-top:1.6rem}
  .k-hero h1{font-size:clamp(1.8rem,7.6vw,2.3rem)}
  .k-hero .k-sub{font-size:.98rem;line-height:1.5}
  .k-est{font-size:.66rem;margin-bottom:.7rem}
  .k-btn{padding:.75rem 1rem;font-size:.92rem}
  section.k{padding:2.2rem 0}
  section.k .lede{margin-bottom:1.2rem}
  .k-cta-band{padding:1.5rem 1.2rem}
  .k-founder-img{max-width:220px}
  .k-figs{grid-template-columns:repeat(2,1fr)}
  .k-figs div:last-child:nth-child(odd){grid-column:1/-1}
  .k-pstats div:last-child:nth-child(odd){grid-column:1/-1}
  .k-gal{grid-template-columns:repeat(3,1fr);gap:6px}
  .k-gal figure{border-radius:4px}
  .k-gal figcaption{display:none}
  .k-pills{gap:6px;margin-bottom:12px}
  .k-pill{padding:6px 10px}
  .k-figs div{padding:.9rem .5rem}
  .k-figs b{font-size:1.3rem}
  .k-w,.k-buyer,.k-cbox{padding:1rem 1.1rem}
  .k-form input,.k-form select,.k-form textarea{font-size:16px}
  .k h2{font-size:1.5rem}
  .k .lede{font-size:.96rem;margin-bottom:1.2rem}
  .k-svc,.k-person,.k-lease{padding:1.2rem 1.1rem}
  .k-listing-b{padding:1.1rem}
  .k-era{padding-bottom:1.2rem}
  .k-founder{gap:1.1rem}
  .k-founder h3{font-size:1.5rem}
  .k-mem-b{padding:.8rem .75rem}
  .k-team{gap:.7rem}
  .k-q summary{padding:.9rem 2rem .9rem 0;font-size:1.02rem}
  .k-q summary::after{top:.8rem}
  .k-article p{font-size:1rem;line-height:1.7;margin-bottom:1rem}
  .k-article li{font-size:1rem;line-height:1.65}
  .k-article h3{font-size:1.3rem;margin:1.6rem 0 .6rem}
  .k-nums{padding:1.6rem 0;gap:1.2rem .8rem}
}
