/* Vero — shared styles for company & legal pages */
:root{
  --forest:#16302A; --forest-2:#1E3D34; --forest-3:#0E211C; --forest-4:#0A1815;
  --ivory:#F5F2EA; --ivory-2:#EFEBE1; --paper:#FFFFFF;
  --brass:#B08A4E; --brass-lt:#D9BC8B; --brass-dk:#8A6A34;
  --ink:#1C201B; --ink-soft:#5B6259; --ink-faint:#8C9188;
  --line:#E2DDD0; --line-2:#EDE9DF; --hair:rgba(217,188,139,.18);
  --sage:#4F7359; --brick:#9C4A34; --amber:#B8863A;
  --wrap:1200px; --r:4px;
  --sh-sm:0 1px 2px rgba(28,32,27,.05), 0 4px 12px rgba(28,32,27,.04);
  --sh-md:0 2px 4px rgba(28,32,27,.05), 0 12px 32px rgba(28,32,27,.07);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
.display,h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;font-weight:500;letter-spacing:-.015em;margin:0;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
a{color:inherit;text-decoration:none;}
p{margin:0 0 1rem;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
/* narrower measure for reading: legal pages, the 404 and articles */
.wrap-n{max-width:920px;margin:0 auto;padding:0 28px;}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
.skip{position:absolute;left:-9999px;background:var(--brass);color:#12261F;padding:10px 16px;z-index:200;}
.skip:focus{left:12px;top:12px;}

.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 20px;font-weight:500;}
.eyebrow.dk{color:var(--brass-dk);}
.lede{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:36em;}
.lede.on-dark{color:rgba(245,242,234,.72);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:500;
  padding:12px 24px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .18s,color .18s,border-color .18s,transform .18s;}
.btn:active{transform:translateY(1px);}
.btn-brass{background:var(--brass);color:#12261F;}
.btn-brass:hover{background:var(--brass-lt);}
.btn-ghost{border-color:rgba(217,188,139,.4);color:var(--ivory);}
.btn-ghost:hover{border-color:var(--brass);background:rgba(176,138,78,.12);}
.btn-line{border-color:var(--line);background:var(--paper);color:var(--ink);}
.btn-line:hover{border-color:var(--forest);}
.btn-sm{padding:9px 18px;font-size:13.5px;}
.btn-lg{padding:15px 30px;font-size:15.5px;}
.arw{transition:transform .18s;}
.btn:hover .arw{transform:translateX(3px);}

/* nav */
.nav{position:sticky;top:0;z-index:80;background:rgba(14,33,28,.94);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--hair);color:var(--ivory);}
.nav-in{display:flex;align-items:center;gap:36px;height:66px;}
.wordmark{font-family:'Fraunces',serif;font-size:23px;font-weight:500;display:inline-flex;align-items:center;}
.wordmark .mk{height:.84em;width:auto;flex:none;margin-right:.38em;overflow:visible;}
/* the fixed brass segment: #B08A4E primary, #D9BC8B reversed. Both lockups sit on forest. */
.wordmark .mk .seg{fill:#B08A4E;}
.nav .wordmark .mk .seg,.foot .wordmark .mk .seg{fill:#D9BC8B;}
.nav-links{display:flex;gap:28px;margin-left:8px;}
.nav-links a{font-size:14px;color:rgba(245,242,234,.7);padding:6px 0;position:relative;transition:color .18s;}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .22s;}
.nav-links a:hover{color:var(--ivory);}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);}
.nav-links a[aria-current="page"]{color:var(--ivory);}
.nav-act{margin-left:auto;}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--hair);border-radius:var(--r);padding:8px 10px;cursor:pointer;}
.burger span{display:block;width:18px;height:1.5px;background:var(--ivory);margin:3.5px 0;}
.mobile{display:none;background:var(--forest-3);border-bottom:1px solid var(--hair);}
.mobile.open{display:block;}
.mobile a{display:block;padding:14px 28px;color:rgba(245,242,234,.78);border-bottom:1px solid var(--hair);font-size:15px;}
.mobile .btn{margin:16px 28px 22px;display:flex;}
@media(max-width:960px){.nav-links,.nav-act{display:none;}.burger{display:block;}}

/* page header */
.phead{background:var(--forest);color:var(--ivory);padding:74px 0 66px;position:relative;overflow:hidden;}
.phead::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:1000px;height:600px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(176,138,78,.14),transparent 62%);pointer-events:none;}
.phead-in{position:relative;max-width:44em;}
.phead h1{font-size:clamp(34px,4.6vw,54px);line-height:1.06;letter-spacing:-.028em;margin-bottom:20px;text-wrap:balance;}
.phead .lede{color:rgba(245,242,234,.74);}
.phead .meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(245,242,234,.45);margin-top:26px;padding-top:20px;border-top:1px solid var(--hair);display:flex;gap:28px;flex-wrap:wrap;}

/* doc layout */
.doc{padding:64px 0 96px;}
.doc-grid{display:grid;grid-template-columns:236px 1fr;gap:64px;align-items:start;}
/* grid items default to min-width:auto, which stops the 1fr track shrinking below
   the min-width of the wide doc tables and pushes the page sideways on phones. */
.doc-grid > *{min-width:0;}
.toc{position:sticky;top:96px;}
.toc h5{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-dk);margin:0 0 14px;font-weight:500;}
.toc a{display:block;font-size:13.5px;color:var(--ink-soft);padding:6px 0 6px 13px;border-left:1px solid var(--line);transition:color .18s,border-color .18s;}
.toc a:hover{color:var(--ink);border-left-color:var(--brass);}
.doc-body{max-width:44em;}
.doc-body h2{font-size:25px;line-height:1.24;color:var(--forest);margin:52px 0 14px;scroll-margin-top:96px;}
.doc-body h2:first-child{margin-top:0;}
.doc-body h3{font-size:17.5px;color:var(--ink);margin:28px 0 10px;}
.doc-body p{color:var(--ink-soft);}
.doc-body ul,.doc-body ol{color:var(--ink-soft);padding-left:0;margin:0 0 16px;list-style:none;}
.doc-body ul li{position:relative;padding:7px 0 7px 24px;}
.doc-body ul li::before{content:"";position:absolute;left:0;top:16px;width:11px;height:1px;background:var(--brass);}
.doc-body ol{counter-reset:n;}
.doc-body ol li{position:relative;padding:7px 0 7px 30px;counter-increment:n;}
.doc-body ol li::before{content:counter(n) ".";position:absolute;left:0;top:7px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--brass-dk);}
.doc-body a[href^="mailto"],.doc-body a.link{color:var(--forest);border-bottom:1px solid var(--brass);}
.doc-body a[href^="mailto"]:hover,.doc-body a.link:hover{color:var(--brass-dk);}
.doc-body strong{color:var(--ink);font-weight:500;}
.rule{height:1px;background:var(--line);margin:44px 0;}
.callout{background:var(--paper);border:1px solid var(--line);border-left:2px solid var(--brass);border-radius:var(--r);padding:20px 24px;margin:26px 0;}
.callout p{margin:0;font-size:14.5px;}
.callout p + p{margin-top:10px;}
.callout b{color:var(--ink);font-weight:500;}
@media(max-width:900px){
  .doc-grid{grid-template-columns:1fr;gap:34px;}
  .toc{position:static;padding-bottom:18px;border-bottom:1px solid var(--line);}
  .toc a{display:inline-block;border-left:0;padding:5px 14px 5px 0;}
  .doc{padding:44px 0 68px;}
  .phead{padding:52px 0 46px;}
}

/* tables in docs */
.tbl-wrap{overflow-x:auto;margin:22px 0;}
table.dt{width:100%;border-collapse:collapse;min-width:520px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);}
table.dt th,table.dt td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-2);font-size:14px;vertical-align:top;}
table.dt thead th{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-faint);border-bottom:1px solid var(--forest);background:#FCFBF8;}
table.dt td{color:var(--ink-soft);}
table.dt tbody tr:last-child td{border-bottom:0;}
table.dt td b{color:var(--ink);font-weight:500;}

/* company page pieces */
.sec{padding:92px 0;}
.sec-pp{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.sec-dk{background:var(--forest);color:var(--ivory);}
.sec-dk h2{color:var(--ivory);}
.sec-head{max-width:46em;margin-bottom:48px;}
.sec-head.mid{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head .lede{margin-top:18px;}
.sec-head.mid .lede{margin-left:auto;margin-right:auto;}
.sec-head h2{font-size:clamp(28px,3.3vw,42px);line-height:1.12;text-wrap:balance;}
@media(max-width:820px){.sec{padding:62px 0;}.sec-head{margin-bottom:34px;}}

.two{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;}
.two blockquote{margin:0;font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(24px,2.7vw,33px);
  line-height:1.32;color:var(--forest);text-wrap:balance;}
.two blockquote cite{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:12.5px;color:var(--ink-faint);margin-top:22px;}
.two-body p{font-size:17px;color:var(--ink-soft);}
.two-body p strong{color:var(--ink);font-weight:500;}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:32px;}}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.cell{background:var(--ivory);padding:30px 28px 32px;}
/* With a count that doesn't fill the last row, the leftover track shows as a bare
   grid line. Let a trailing odd cell span the gap instead. Only while there are
   three columns — below the breakpoint a span would invent a second one. */
@media(min-width:901px){
  .grid3 > .cell:last-child:nth-child(3n+2){grid-column:span 2;}
}
.sec-pp .cell{background:var(--paper);}
.cell .num{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--brass-dk);}
.cell h3{font-size:19px;color:var(--forest);margin:10px 0 10px;}
.cell p{font-size:14.5px;color:var(--ink-soft);margin:0;}
@media(max-width:900px){.grid3{grid-template-columns:1fr;}}

.people{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.person{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px 26px 30px;}
.person .role{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-dk);}
.person h3{font-size:19px;color:var(--forest);margin:9px 0 10px;}
.person p{font-size:14.5px;color:var(--ink-soft);margin:0;}
@media(max-width:900px){.people{grid-template-columns:1fr;}}

.tline{border-top:1px solid var(--hair);}
.tline .row{display:grid;grid-template-columns:150px 1fr;gap:34px;padding:24px 0;border-bottom:1px solid var(--hair);align-items:baseline;}
.tline time{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.05em;color:var(--brass-lt);}
.tline h3{color:var(--ivory);font-size:18.5px;margin-bottom:6px;}
.tline p{margin:0;font-size:15px;color:rgba(245,242,234,.66);}
@media(max-width:820px){.tline .row{grid-template-columns:1fr;gap:6px;}}

/* cta */
.cta{background:var(--forest);color:var(--ivory);padding:92px 0;position:relative;overflow:hidden;text-align:center;}
.cta::before{content:"";position:absolute;bottom:-50%;left:50%;transform:translateX(-50%);width:1000px;height:600px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(176,138,78,.16),transparent 62%);pointer-events:none;}
.cta-in{position:relative;}
.cta h2{color:var(--ivory);font-size:clamp(28px,3.3vw,42px);margin-bottom:18px;}
.cta .lede{margin:0 auto 30px;}
.cta-fine{font-size:12.5px;color:rgba(245,242,234,.42);margin-top:24px;}
@media(max-width:820px){.cta{padding:64px 0;}}

/* footer */
.foot{background:var(--forest-4);color:rgba(245,242,234,.55);padding:64px 0 36px;font-size:13.5px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding-bottom:42px;border-bottom:1px solid var(--hair);}
.foot .wordmark{color:var(--ivory);font-size:25px;}
.foot .tagline{font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;color:rgba(245,242,234,.48);margin-top:8px;}
.foot-col h5{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 14px;font-weight:500;}
.foot-col a{display:block;color:rgba(245,242,234,.58);padding:5px 0;transition:color .18s;}
.foot-col a:hover{color:var(--ivory);}
.foot-bot{padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(245,242,234,.38);}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;gap:32px;}}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
}

/* ---------- blog ---------- */
.post-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;margin:0;padding:0;list-style:none;}
.post-list li{background:var(--paper);}
.post-list a{display:block;padding:30px 32px;transition:background .18s;}
.post-list a:hover{background:var(--ivory-2);}
.post-meta{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--brass-dk);display:flex;gap:18px;flex-wrap:wrap;}
.post-list h2{font-size:23px;line-height:1.22;color:var(--forest);margin:12px 0 10px;letter-spacing:-.02em;}
.post-list p{font-size:15px;color:var(--ink-soft);margin:0;max-width:60ch;}
.post-more{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass-dk);margin-top:14px;display:inline-block;}
.post-list a:hover .post-more{color:var(--forest);}

/* article */
.article .lede{font-size:19px;color:var(--ink-soft);margin-bottom:0;}
.article-body > p:first-of-type{font-size:17.5px;color:var(--ink);}
.back-link{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass-dk);display:inline-block;margin-bottom:34px;}
.back-link:hover{color:var(--forest);}
.post-end{margin-top:52px;padding-top:30px;border-top:1px solid var(--line);}
.post-end p{font-size:15px;color:var(--ink-soft);}
.post-end .sig{font-family:'Fraunces',serif;font-style:italic;color:var(--forest);}
@media(max-width:640px){.post-list a{padding:24px 22px;}.post-list h2{font-size:20px;}}
