/* Alpha 8 · site palette: document lane (navy / pumpkin / cream) per owner decision, July 2026 */
:root{
  --navy:#1F2B45; --pumpkin:#EE7B30; --pumpink:#C75A18; --sun:#FDCA40;
  --steel:#2081C3; --teal:#468189; --alice:#DCEDFF; --alicet:#EAF1FB;
  --cream:#FBF1DF; --paper:#FFFFFF; --lite:#EAF0F7; --lite-dim:rgba(234,240,247,.76);
  --muted:#6A7689; --ink2:#44506E;
  --hair-d:rgba(234,240,247,.16); --hair-l:rgba(31,43,69,.14);
  --fd:"Fraunces",Georgia,serif; --fb:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);font-size:15.5px;line-height:1.6;color:var(--navy);background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
section{scroll-margin-top:76px}
:focus-visible{outline:2px solid var(--pumpkin);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.rule{width:72px;height:2px;background:var(--pumpkin);margin:18px 0 22px}
.btn{display:inline-block;font-weight:600;font-size:14px;letter-spacing:.02em;padding:13px 24px;border-radius:2px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-acc{background:var(--pumpkin);border-color:var(--pumpkin);color:var(--navy)}
.btn-acc:hover{filter:brightness(1.06)}
.btn-ghost{border-color:var(--lite-dim);color:var(--lite)}
.btn-ghost:hover{border-color:var(--pumpkin);color:#fff}
.btn-ghost-l{border-color:var(--hair-l);color:var(--navy)}
.btn-ghost-l:hover{border-color:var(--navy)}

/* nav */
.top{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(31,43,69,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair-d)}
.top .wrap{display:flex;align-items:center;gap:26px;height:64px}
.brand img{height:26px;width:auto}
.top nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.top nav a{color:var(--lite-dim);font-size:13.5px;font-weight:500;text-decoration:none}
.top nav a:hover{color:#fff}
.top .btn{padding:9px 18px;font-size:13px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--hair-d);color:var(--lite);font-size:13px;padding:8px 14px;border-radius:2px}

/* hero */
.hero{position:relative;min-height:94svh;display:flex;align-items:flex-end;background:var(--navy);color:var(--lite);overflow:hidden}
.hero video,.hero .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .fallback{background:
  radial-gradient(1100px 500px at 85% 10%, rgba(238,123,48,.14), transparent 60%),
  linear-gradient(180deg,#2A3A5E 0%, var(--navy) 70%)}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,43,69,.55) 0%,rgba(31,43,69,.35) 45%,rgba(31,43,69,.92) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:150px;padding-bottom:84px}
.hero .eyebrow{color:var(--pumpkin)}
.hero h1{font-family:var(--fd);font-weight:700;color:var(--cream);font-size:clamp(38px,6.4vw,74px);line-height:1.04;letter-spacing:-.015em;max-width:14ch;margin-top:14px}
.hero p{max-width:52ch;margin:22px 0 30px;color:var(--lite-dim);font-size:17px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}

/* sections */
.sec{padding:96px 0}
.sec h2{font-family:var(--fd);font-weight:600;font-size:clamp(26px,3.4vw,40px);line-height:1.15;letter-spacing:-.01em;max-width:24ch}
.sec .lead{max-width:70ch;text-align:justify;hyphens:auto;font-size:16.5px}
.on-light .eyebrow{color:var(--pumpink)}
.on-navy{background:var(--navy);color:var(--lite)}
.on-navy .eyebrow{color:var(--sun)}
.on-navy h2{color:var(--cream)}
.on-navy p{color:var(--lite-dim)}

/* approach */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:44px}
.pillar{background:rgba(220,237,255,.07);border:1px solid var(--hair-d);border-top:3px solid var(--pumpkin);padding:24px 22px}
.pillar:nth-child(2){border-top-color:var(--steel)}
.pillar:nth-child(3){border-top-color:var(--teal)}
.pillar:nth-child(4){border-top-color:var(--sun)}
.pillar h3{font-family:var(--fd);font-weight:600;font-size:19px;color:var(--cream);margin-bottom:10px}
.pillar p{font-size:14px;text-align:justify;hyphens:auto}

/* team: WSJ-style byline cards, navy-ink duotone portraits with halftone screen */
.group{margin-top:54px}
.group .eyebrow{display:block;border-bottom:1px solid var(--hair-l);padding-bottom:10px}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:24px 26px;margin-top:26px}
.person{display:flex;gap:18px;align-items:flex-start}
.photo{width:140px;flex:none;aspect-ratio:4/5;background:#fff;border:1px solid var(--hair-l);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo.missing{background:var(--muted) url("assets/logo/monogram-cream.png") center/40% no-repeat}
.pinfo{flex:1;min-width:0}
.person h3{font-family:var(--fd);font-weight:600;font-size:18px}
.person .role{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-top:3px}
.person ul{list-style:none;margin-top:10px}
.person li{font-size:12.5px;line-height:1.45;color:var(--ink2);padding-left:18px;position:relative;margin:5px 0}
.person li::before{content:"⤍";position:absolute;left:0;color:var(--muted)}
.person .link{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--pumpkin)}
.person .link:hover{background:var(--alice)}
@media (max-width:560px){.people{grid-template-columns:1fr}.photo{width:112px}}

/* deal room band */
.dealband .mono{height:64px;width:auto;margin-bottom:20px}
.dealband p{max-width:62ch;text-align:justify;hyphens:auto;margin:16px 0 28px}
.dealband .note{font-size:12px;color:var(--lite-dim);margin-top:18px}

/* contact */
.contact a.mail{font-family:var(--fd);font-size:clamp(20px,2.6vw,30px);font-weight:600;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--pumpkin)}
.contact a.mail:hover{background:var(--alice)}
.contact .sub{margin-top:14px;color:var(--muted);font-size:14px}

/* footer */
footer{background:var(--navy);color:var(--lite-dim);padding:44px 0 36px;border-top:1px solid var(--hair-d)}
footer .cols{display:flex;gap:28px;flex-wrap:wrap;align-items:center;justify-content:space-between}
footer img{height:20px}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer nav a{font-size:12.5px;color:var(--lite-dim);text-decoration:none}
footer nav a:hover{color:#fff}
footer .legal{margin-top:24px;padding-top:18px;border-top:1px solid var(--hair-d);font-size:11.5px;line-height:1.7;max-width:900px}

@media (max-width:820px){
  .top nav{display:none;position:fixed;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:flex-start;padding:18px 24px 24px;gap:16px;border-bottom:1px solid var(--hair-d)}
  .top nav.open{display:flex}
  .menu-btn{display:block}
  .sec{padding:72px 0}
}
