/* Langford Hope — V15 inner pages.
   Layered on V14's site.css (graphics, layout primitives) and aligned to the locked V15 landing page:
   Switzer only, Light headlines, one headline scale, the landing nav / footer / closing CTA, cream heroes with a faint ink mesh. */

:root{
  --serif:"Switzer",Arial,sans-serif;--sans:"Switzer",Arial,sans-serif;--mono:"Switzer",Arial,sans-serif;
  --paper2:#e8e5dd;--muted:#686a64;--rule:#c7c5bd;
  --sec:clamp(88px,9vw,140px);
}
body{font-weight:400}

/* ---------- Type scale (matches the landing page) ---------- */
.display{font-weight:300;font-size:clamp(44px,6vw,96px);line-height:.98;letter-spacing:-.04em;max-width:16ch}
.h2,.close .h2{font-weight:300;font-size:clamp(38px,4.7vw,72px)!important;line-height:.98;letter-spacing:-.03em}
.h3{font-weight:300;letter-spacing:-.02em}
.head .h2{max-width:18ch}
@media(max-width:560px){.h2,.close .h2{font-size:clamp(34px,10.5vw,52px)!important}.display{font-size:clamp(40px,11.6vw,56px)}}
.label{font-size:11px;font-weight:400;letter-spacing:.36em;gap:13px}
.label:before{width:6px;height:6px}
.label.g:before{box-shadow:0 0 10px rgba(56,232,107,.55)}
.legend,.quote cite,.field label,.report .k,.report .u,.role .k,.role .u,.track .tl,.tl5 li span,.berg small,.berg .tag,.ts-face .k,.ts-switch button,.why .n,.mods div{font-weight:400}

/* Emphasis: no highlighter on cream — the full stop after the key word carries the green */
em,.it{background:none!important;padding:0;margin:0;color:inherit}
.dot{color:var(--signal)}
.dark .dot{color:var(--signal)}

/* Explanatory copy (restored from V11): one short paragraph under a section head */
.intro{margin:0;max-width:52ch;font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:var(--muted)}
.dark .intro{color:rgba(243,240,233,.66)}
.head{display:grid;justify-content:start;align-items:start;gap:26px;margin-bottom:clamp(48px,5vw,80px)}
.head.split2{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;column-gap:clamp(40px,6vw,110px);justify-content:stretch}
.head.split2 .ht{display:grid;gap:26px;justify-items:start}
@media(max-width:880px){.head.split2{grid-template-columns:1fr}}
.sub{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--muted);max-width:30ch}
.dark .sub{color:rgba(243,240,233,.6)}

/* ---------- Section rhythm ---------- */
.sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.sec.tight{padding-top:calc(var(--sec)*.75);padding-bottom:calc(var(--sec)*.75)}
@media(max-width:760px){:root{--sec:clamp(72px,18vw,96px)}}

/* ---------- Buttons and links ---------- */
.btn{font-size:11px;font-weight:400;letter-spacing:.12em;padding:17px 24px;border-radius:0}
.lnk{display:inline-flex;align-items:center;gap:14px;padding-bottom:6px;border-bottom:1px solid currentColor;color:inherit;font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.lnk span{font-size:16px;line-height:0;transition:transform .3s}
.lnk:hover span{transform:translateX(5px)}

/* ---------- Nav (identical to the landing page once scrolled) ---------- */
.lh-nav{position:fixed;inset:0 0 auto;z-index:60;height:76px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(243,240,233,.96);border-bottom:1px solid transparent;color:var(--ink);transition:border-color .35s}
.lh-nav.scrolled{border-bottom-color:rgba(24,25,23,.1)}
.lh-nav .brand{display:block;width:clamp(142px,13vw,190px);line-height:0}
.lh-nav .brand img{display:block;width:100%;height:auto}
.lh-links{display:flex;gap:2.6vw}
.lh-links a,.lh-end .plain{font-size:12px;font-weight:400;letter-spacing:.05em;text-decoration:none;position:relative}
.lh-links a:after,.lh-end .plain:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.lh-links a:hover:after,.lh-links a[aria-current="page"]:after,.lh-end .plain:hover:after,.lh-end .plain[aria-current="page"]:after{transform:none}
.lh-end{display:flex;justify-content:flex-end;align-items:center;gap:2.2vw}
.lh-end .cta{display:block;padding:11px 18px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:400;letter-spacing:.05em;line-height:12px;text-decoration:none;transition:background .3s}
.lh-end .cta:hover{background:#000}
.lh-menu{display:none;padding:8px;background:none;border:0;color:inherit;font:inherit;font-size:16px;cursor:pointer}
.lh-mpanel{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--pad) 40px;background:var(--paper);transform:translateY(-100%);transition:transform .5s var(--ease);visibility:hidden}
.lh-mpanel nav{display:grid;gap:18px}
.lh-mpanel nav a{font-size:clamp(36px,10vw,52px);font-weight:300;letter-spacing:-.03em;line-height:1;text-decoration:none}
body.lh-open{overflow:hidden}
body.lh-open .lh-mpanel{transform:none;visibility:visible}
@media(max-width:850px){.lh-nav{grid-template-columns:1fr auto;padding:0 20px}.lh-links,.lh-end{display:none}.lh-menu{display:block}}
main{padding-top:0}

/* ---------- Cursor: the landing page's green dot ---------- */
.cursor{display:none!important}
body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:auto}
.cursor-dot{position:fixed;left:0;top:0;z-index:10000;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--signal);pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:opacity .25s,width .25s,height .25s,margin .25s,background .25s}
.cursor-dot.is-visible{opacity:1}
.cursor-dot.is-link{width:34px;height:34px;margin:-17px 0 0 -17px;background:rgba(56,232,107,.32)}
.cursor-dot.is-down{width:7px;height:7px;margin:-3.5px 0 0 -3.5px}
html.has-dot,html.has-dot *{cursor:none!important}

/* ---------- Cream page hero, with a faint ink node mesh and the fine dot texture ---------- */
.hero.page-hero{min-height:min(100svh,980px);display:grid;align-content:end;padding:clamp(150px,16vw,220px) var(--pad) clamp(34px,4vw,56px);background:var(--paper);color:var(--ink)}
.hero.page-hero:before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(24,25,23,.16) .6px,transparent .6px);background-size:5px 5px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent)}
.hero .mesh{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero.page-hero .intro{max-width:46ch;color:var(--ink);opacity:.72}
.hero.page-hero .hero-foot{border-top:1px solid var(--ink);align-items:flex-end}
.hero.page-hero .label{margin-bottom:clamp(26px,3vw,40px)}

/* ---------- Typer (careers hero): ink text, thick green caret, as on the landing page ---------- */
.typer .tx{background:none!important;color:inherit!important;padding:0!important}
.typer .caret{width:.055em;height:.78em;background:var(--signal)}

/* ---------- Team cards (about) ---------- */
.member .ph{background:#d2d2ce}
.member img{mix-blend-mode:multiply;transform:scale(1.002)}
.member:hover img{transform:scale(1.025)}
.member figcaption{display:block;padding:20px 2px 0}
.member strong{display:block;margin:0 0 6px;font-size:clamp(19px,1.45vw,25px);font-weight:300;line-height:1;letter-spacing:-.02em}
.member span{font-size:12px;letter-spacing:.06em;margin:0}
.member a{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}
.member a:hover{border-color:var(--ink)}
.team{grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.4vw,40px) clamp(12px,1.4vw,22px)}
@media(max-width:640px){.team{grid-template-columns:repeat(6,62vw)}}

/* ---------- Closing CTA: the landing page's black section with the hero mesh ---------- */
.final{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sec) var(--pad);background:#181917;color:#f3f0e9}
.final:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.34;background-image:radial-gradient(rgba(243,240,233,.16) .6px,transparent .6px);background-size:5px 5px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent)}
.final .mesh{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.final>*:not(.mesh){position:relative;z-index:1}
.fc-label{display:flex;align-items:center;gap:13px;margin:0 0 30px;font-size:12px;font-weight:400;letter-spacing:.36em;text-transform:uppercase;color:#a9aaa4}
.fc-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#f3f0e9}
.fc-label.g:before{background:var(--signal)}
.final h2{margin:0;max-width:16ch;font-size:clamp(38px,4.7vw,72px);font-weight:300;line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.fc-sub{max-width:48ch;margin:28px 0 0;font-size:clamp(16px,1.15vw,18px);line-height:1.6;color:#a9aaa4}
.final .chips{margin-top:34px}
.final .chips span{border-color:rgba(243,240,233,.22);color:#f3f0e9}
.fc-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:56px}
.fc-btn{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:18px 64px 20px 26px;border:1px solid #f3f0e9;background:#f3f0e9;color:#181917;font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-align:left;text-decoration:none;transition:background .3s}
.fc-btn small{font-size:10px;letter-spacing:.14em;opacity:.6}
.fc-btn b{font-weight:400}
.fc-btn span{position:absolute;right:26px;top:50%;font-size:18px;line-height:0;transition:transform .3s}
.fc-btn:hover{background:#fff}
.fc-btn:hover span{transform:translateX(5px)}
.fc-btn--ghost{background:transparent;color:#f3f0e9;border-color:rgba(243,240,233,.6)}
.fc-btn--ghost:hover{background:rgba(243,240,233,.08)}
.fc-note{margin:26px 0 0;font-size:13px;line-height:1.5;color:#a9aaa4}
.fc-note a{color:#f3f0e9;text-decoration:none;border-bottom:1px solid #3a3b36}
@media(max-width:560px){.final h2{font-size:clamp(34px,10.5vw,52px)}.fc-btn{width:100%}}
@media(max-width:760px){.final{min-height:0}}

/* ---------- Footer (the landing page's V11 footer) ---------- */
.site-footer{position:relative;z-index:1;padding:clamp(80px,9vw,145px) var(--pad) 34px;background:#111210;color:#f3f0e9;border-top:1px solid #2a2b28}
.footer-grid{display:grid;grid-template-columns:minmax(0,2.1fr) repeat(3,minmax(0,1fr));gap:clamp(32px,5vw,72px)}
.footer-brand .brand{display:block;width:clamp(140px,12vw,173px);margin:0 0 34px;line-height:0}
.footer-brand .brand img{display:block;width:100%;height:auto}
.footer-positioning{max-width:560px;margin:0;font-size:13px;line-height:1.55;color:#60615d}
.footer-col h3{margin:4px 0 24px;font-size:13px;font-weight:400;line-height:1.55;color:#60615d}
.footer-col a{display:block;margin:0 0 22px;font-size:16px;line-height:1.35;color:#8f908b;text-decoration:none;transition:color .3s}
.footer-col a:hover,.footer-links a:hover{color:#f3f0e9}
.footer-col p{margin:-12px 0 0;font-size:13px;line-height:1.55;color:#60615d}
.footer-address{margin:4px 0 0;font-size:13px;font-style:normal;line-height:1.55;color:#60615d}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 28px;margin-top:clamp(72px,10vw,144px);padding-top:32px;border-top:1px solid #292a27;font-size:13px;line-height:1.55;color:#60615d}
.footer-links{display:flex;gap:28px}
.footer-links a{color:#8f908b;text-decoration:none}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}

/* ---------- Page-specific refinements ---------- */
/* Quotes: Light, same voice as the headlines */
.quote blockquote{font-weight:300;letter-spacing:-.03em;max-width:24ch}
/* Steps / timeline labels in Light */
.rail b,.tl5 li b,.promise b,.principles b,.role b,.report .t,.faq summary,.berg li,.ts-face.f p,.metric .num{font-weight:300}
.step-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);margin-top:clamp(48px,5vw,72px);padding-top:28px;border-top:1px solid var(--rule)}
.step-notes div{display:grid;gap:10px;align-content:start}
.step-notes b{font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.step-notes p{margin:0;font-size:15px;line-height:1.55;max-width:32ch}
.dark .step-notes{border-color:rgba(243,240,233,.2)}
.dark .step-notes p{color:rgba(243,240,233,.8)}
.dark .step-notes b{color:rgba(243,240,233,.5)}
.step-notes.five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:980px){.step-notes,.step-notes.five{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.step-notes,.step-notes.five{grid-template-columns:1fr}}
.faq p{color:var(--muted)}
.step-notes.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
@media(max-width:560px){.step-notes.two{grid-template-columns:1fr}}
.tracks .rail small{display:none}
.final h2{max-width:20ch}
/* Right-aligned head (For businesses: "Every dot is a brokerage…") */
.head.right{justify-content:end;justify-items:end;text-align:right}
.head.right .h3{max-width:24ch}
/* Quote marks in ink, not green */
.quote blockquote:before{color:var(--ink)}
/* Founder note: background matches the headshot's backdrop so the portrait sits seamlessly */
.founder-sec{background:#f2f2f2}

/* Headline word reveal: give each word's mask room for descenders (p, y, g) so tails are never clipped */
.split .w{padding-bottom:.26em!important;margin-bottom:-.26em!important}
