:root{--noir:#1B1A17;--white:#FFFFFF;--mist:#EFF0EE;--navy:#1F3A5F;--umber:#3D3A30;--stone:#6F6A59;--rule:rgba(27,26,23,.16);--ruleStrong:rgba(27,26,23,.28)}
*{box-sizing:border-box}
body{margin:0;font-family:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--white);color:var(--umber);-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--navy);text-decoration:none}
a:hover{opacity:.7}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto}
.label{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin:0}
.label-on-dark{color:rgba(244,241,234,.6)}
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:17px 34px;border-radius:2px;cursor:pointer;transition:background .25s,color .25s,border-color .25s;border:1px solid transparent;white-space:nowrap;font-family:inherit}
.btn-solid-light{background:var(--white);color:var(--noir);border-color:var(--white)}
.btn-solid-light:hover{background:rgba(255,255,255,.86);opacity:1}
.btn-ghost-light{background:transparent;border-color:rgba(244,241,234,.45);color:rgba(244,241,234,.86);padding:17px 28px}
.btn-ghost-light:hover{border-color:rgba(244,241,234,.7);color:#fff;opacity:1}
.btn-primary{background:var(--white);color:var(--noir);border-color:var(--white)}
.btn-primary:hover{background:rgba(255,255,255,.86);opacity:1}

#siteNav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(27,26,23,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(244,241,234,.12);transition:background .3s,border-color .3s}
#siteNav.scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--rule)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 40px}
.nav-word{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--white);transition:color .3s;text-decoration:none}
a.nav-word:hover{opacity:1;color:var(--white)}
#siteNav.scrolled a.nav-word:hover{color:var(--noir)}
#siteNav.scrolled .nav-word{color:var(--noir)}
.nav-links{display:flex;gap:34px;list-style:none;margin:0;padding:0;align-items:center}
.nav-links a{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,234,.7);transition:color .3s}
#siteNav.scrolled .nav-links a{color:var(--umber)}
.nav-links a:hover{opacity:1;color:var(--white)}
#siteNav.scrolled .nav-links a:hover{color:var(--navy)}
.nav-links a[aria-current]{color:var(--white)}
#siteNav.scrolled .nav-links a[aria-current]{color:var(--noir)}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.nav-burger span{width:22px;height:1.5px;background:rgba(244,241,234,.85);transition:background .3s}
#siteNav.scrolled .nav-burger span{background:var(--noir)}
.mobile-menu{display:none;position:fixed;inset:0;background:var(--noir);z-index:110;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 24px;gap:6px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:30px;font-weight:600;color:var(--white);letter-spacing:-.02em;padding:10px 0}
.mobile-close{position:absolute;top:22px;right:24px;background:none;border:none;color:rgba(244,241,234,.7);font-size:10px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding:12px}

.hero{background:var(--noir);min-height:auto;display:flex;flex-direction:column;justify-content:flex-end;padding:150px 40px 60px;position:relative}
.hero-eyebrows{position:absolute;top:84px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px}
.hero-eyebrow{font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,241,234,.5);margin:0}
.hero-headline{font-size:clamp(44px,6.4vw,104px);font-weight:600;letter-spacing:-.038em;line-height:.96;color:var(--white);margin:0;max-width:14ch}
.hero-lower{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,3vw,48px);align-items:end;margin-top:clamp(20px,2vw,28px)}
.hero-sub{font-size:clamp(19px,1.65vw,25px);font-weight:400;line-height:1.55;color:rgba(244,241,234,.85);max-width:46ch;margin:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.section{padding:clamp(56px,6vw,86px) 40px;border-bottom:1px solid var(--rule)}
.section-title{font-size:clamp(30px,3.6vw,50px);font-weight:600;letter-spacing:-.028em;color:var(--noir);line-height:1.04;margin:18px 0 0}
.lede{font-size:clamp(17px,1.35vw,19px);line-height:1.8;color:var(--umber);margin:0 0 22px;max-width:60ch}
.lede:last-child{margin-bottom:0}

.interlude{overflow:hidden;border-bottom:1px solid var(--rule)}
.interlude img{width:100%;height:auto;display:block}

.why{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(40px,6vw,96px);align-items:center;max-width:1240px;margin:0 auto}
.why-photo-wrap{aspect-ratio:4/5;overflow:hidden;max-width:400px}
.why-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.why-title{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.028em;color:var(--noir);line-height:1.06;margin:14px 0 22px}

.delegate{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(36px,6vw,88px)}
.delegate p{font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.8;color:var(--umber);max-width:60ch;margin:0 0 20px}
.delegate p:last-child{margin-bottom:0}

.serve-index{border-top:1px solid var(--noir);margin-top:clamp(28px,3vw,40px)}
.serve-row{display:grid;grid-template-columns:80px minmax(200px,30%) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:baseline;padding:clamp(20px,2.2vw,28px) 0;border-bottom:1px solid var(--ruleStrong);transition:border-color .3s}
.serve-row:hover{border-bottom-color:var(--noir)}
.serve-num{font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--stone);transition:color .3s}
.serve-row:hover .serve-num{color:var(--navy)}
.serve-name{font-size:clamp(21px,2vw,28px);font-weight:600;letter-spacing:-.018em;color:var(--noir);margin:0;line-height:1.1}
.serve-text{font-size:16px;line-height:1.7;color:rgba(27,26,23,.66);margin:0;max-width:52ch;transition:color .3s}
.serve-row:hover .serve-text{color:rgba(27,26,23,.85)}

.placements-heading{margin:0;max-width:16ch;font-size:clamp(38px,5vw,72px);line-height:.96;letter-spacing:-.045em;font-weight:600;color:var(--noir)}
.role-index{display:grid;grid-template-columns:minmax(260px,40%) minmax(0,1fr);gap:clamp(40px,5vw,84px);margin-top:clamp(28px,3vw,44px)}
.role-tabs{display:flex;flex-direction:column;border-top:1px solid var(--noir)}
.role-tab{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--ruleStrong);padding:19px 0;font-family:inherit;font-size:clamp(21px,1.9vw,27px);font-weight:500;letter-spacing:-.018em;color:rgba(27,26,23,.62);cursor:pointer;transition:color .25s}
.role-tab:hover{color:rgba(27,26,23,.7)}
.role-tab.active{color:var(--noir)}
.role-panel{display:none}
.role-panel.active{display:block;animation:fadeUp .45s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.role-panel-desc{font-size:clamp(17px,1.45vw,20px);line-height:1.65;color:rgba(27,26,23,.78);max-width:52ch;margin:0 0 30px}
.scope-label{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin-bottom:4px}
.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--ruleStrong)}
.scope-item{padding:15px 0;border-bottom:1px solid rgba(27,26,23,.14);font-size:15.5px;color:var(--umber);line-height:1.5}

.evaluate{background:var(--noir);padding:clamp(60px,6.5vw,92px) 40px}
.eval-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:clamp(28px,3vw,44px)}
.eval-title{font-size:clamp(32px,4vw,58px);font-weight:600;letter-spacing:-.03em;color:var(--white);line-height:1.02;margin:16px 0 0}
.eval-note{font-size:15.5px;line-height:1.75;color:rgba(244,241,234,.6);max-width:40ch;margin:0}
.eval-list{border-top:1px solid rgba(244,241,234,.3)}
.eval-row{display:grid;grid-template-columns:minmax(200px,32%) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:baseline;padding:clamp(18px,2vw,24px) 0;border-bottom:1px solid rgba(244,241,234,.18)}
.eval-name{font-size:clamp(20px,2.4vw,34px);font-weight:600;letter-spacing:-.025em;color:var(--white);margin:0;line-height:1}
.eval-text{font-size:16.5px;line-height:1.7;color:rgba(244,241,234,.62);margin:0;max-width:46ch}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);margin-top:clamp(28px,3vw,40px)}
.proc-step{border-top:1px solid var(--noir);padding-top:20px}
.proc-num{font-size:clamp(52px,6vw,92px);font-weight:300;letter-spacing:-.05em;color:rgba(27,26,23,.16);line-height:.9;display:block}
.proc-name{font-size:clamp(19px,1.7vw,24px);font-weight:600;color:var(--noir);margin:18px 0 12px;letter-spacing:-.018em}
.proc-text{font-size:15px;color:var(--umber);line-height:1.72;margin:0}
.promise{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(36px,5vw,72px);margin-top:clamp(40px,4.5vw,60px);padding-top:clamp(32px,3.5vw,48px);border-top:1px solid var(--ruleStrong)}
.inline-link{color:var(--noir);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-size:14px;letter-spacing:.01em}
.inline-link:hover{color:var(--navy);opacity:1}

.founder{padding:clamp(60px,6.5vw,92px) 40px;background:var(--white);border-bottom:1px solid var(--rule)}
.founder-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(40px,6vw,96px);align-items:center}
.founder-photo-wrap{overflow:hidden;background:transparent}
.founder-photo-wrap img{width:100%;height:auto;display:block}
.founder-name{font-size:clamp(30px,3.4vw,46px);font-weight:600;color:var(--noir);letter-spacing:-.028em;line-height:1.06;margin:14px 0 22px}
.founder-bio p{font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.82;color:var(--umber);margin:0 0 18px;max-width:56ch}

.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,80px);border-top:1px solid var(--ruleStrong);margin-top:clamp(26px,3vw,36px)}
.faq-cell{padding:21px 0;border-bottom:1px solid var(--ruleStrong)}
.faq-q{font-size:17.5px;font-weight:600;color:var(--noir);margin:0;letter-spacing:-.012em}
.faq-a{font-size:15.5px;line-height:1.72;color:var(--umber);margin:10px 0 0;max-width:52ch}

.contact{background:var(--noir);padding:clamp(60px,6.5vw,92px) 40px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(44px,6vw,88px)}
.contact-headline{font-size:clamp(34px,4.6vw,62px);font-weight:600;color:var(--white);letter-spacing:-.03em;line-height:1;margin:16px 0 0}
.contact-sub{font-size:16px;line-height:1.8;color:rgba(244,241,234,.6);max-width:42ch;margin:22px 0 0}
.contact-detail{margin-top:36px}
.contact-detail-label{font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,241,234,.6);margin-bottom:6px}
.contact-detail-val{font-size:14.5px;color:rgba(244,241,234,.8)}
.contact-detail-val a{color:rgba(244,241,234,.85);text-decoration:underline;text-underline-offset:3px}
.seg{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid rgba(244,241,234,.45);border-radius:2px;overflow:hidden;margin-bottom:30px}
.seg button{padding:16px 12px;font-family:inherit;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:none;background:transparent;color:rgba(244,241,234,.62);cursor:pointer;transition:background .25s,color .25s}
.seg button:first-child{border-right:1px solid rgba(244,241,234,.45)}
.seg button.active{background:var(--white);color:var(--noir)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-group{margin-bottom:24px}
.form-label{display:block;font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,241,234,.6);margin-bottom:10px}
.form-input,.form-select,.form-textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(244,241,234,.45);padding:11px 0;font-size:14.5px;font-family:inherit;color:var(--white);outline:none;transition:border-color .2s;border-radius:0}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(244,241,234,.55)}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(244,241,234,.9);outline:none}
.form-textarea{resize:vertical;min-height:70px}
.form-select option{color:#111}
.form-hint{font-size:13px;color:rgba(244,241,234,.55);line-height:1.7;margin:0 0 26px;max-width:52ch}
.form-note{font-size:12.5px;color:rgba(244,241,234,.6);text-align:center;margin:16px 0 0}
.form-success{padding:20px 0;display:none}
.form-success.visible{display:block}
.form-panel.hidden{display:none}
.form-success-title{font-size:24px;font-weight:600;color:var(--white);margin-bottom:10px}
.form-success-text{font-size:14.5px;color:rgba(244,241,234,.6);line-height:1.7;max-width:44ch}
.form-error{display:none;font-size:12.5px;color:rgba(244,241,234,.9);line-height:1.6;margin:-6px 0 20px}
.form-error.visible{display:block}
.form-error a{color:inherit;text-decoration:underline;text-underline-offset:3px}

footer{padding:44px 40px;display:flex;justify-content:space-between;align-items:center;background:var(--noir);flex-wrap:wrap;gap:20px}
.footer-word{font-size:13px;font-weight:600;letter-spacing:-.02em;color:var(--white)}
.footer-tag{font-size:11.5px;color:rgba(244,241,234,.5)}
.footer-links{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.footer-links a{font-size:11px;color:rgba(244,241,234,.55)}
.footer-links a:hover{color:rgba(244,241,234,.9);opacity:1}
.footer-copy{font-size:10px;color:rgba(244,241,234,.55);letter-spacing:.04em}

@media (prefers-reduced-motion:reduce){.role-panel.active{opacity:1;transform:none;transition:none;animation:none}html{scroll-behavior:auto}}

@media (max-width:1000px){
.why{grid-template-columns:1fr}
.why-photo-wrap{max-width:320px}
.founder-inner{grid-template-columns:1fr}
.founder-photo-wrap{max-width:340px}
.delegate,.promise,.contact{grid-template-columns:1fr}
.process{grid-template-columns:1fr 1fr;gap:36px}
.role-index{grid-template-columns:1fr;gap:40px}
.eval-row{grid-template-columns:1fr;gap:10px}
}
@media (max-width:900px){
.nav-links{display:none}
.nav-burger{display:flex}
.nav-inner{padding:16px 22px}
.section,.evaluate,.founder,.contact{padding-left:22px;padding-right:22px}
.hero{padding:132px 22px 56px;min-height:88vh}
.hero-eyebrows{top:72px;left:22px;right:22px}
.hero-lower{grid-template-columns:1fr;gap:32px;align-items:start}
.hero-actions{width:100%}
.hero-actions .btn{flex:1 1 auto;min-height:52px}
.serve-row{grid-template-columns:1fr;gap:10px;padding:24px 0}
.serve-num{letter-spacing:.2em}
.scope-list{grid-template-columns:1fr}
.faq-grid{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr;gap:0}
footer{padding:32px 22px}
.seg{grid-template-columns:1fr}
.seg button:first-child{border-right:none;border-bottom:1px solid rgba(244,241,234,.45)}
.seg button{min-height:52px}
.mobile-menu a{font-size:26px}
}
@media (max-width:640px){
.process{grid-template-columns:1fr;gap:28px}
.proc-num{font-size:54px}
.why-photo-wrap,.founder-photo-wrap{max-width:none}
.hero-headline{max-width:none}
}

/* multi-page additions */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--noir);color:#fff;padding:12px 20px;z-index:200;font-size:13px}
.skip-link:focus{left:12px;top:12px}
.page-head{background:var(--noir);padding:128px 40px 64px}
.page-title{font-size:clamp(38px,5vw,72px);font-weight:600;letter-spacing:-.045em;line-height:.96;color:var(--white);margin:20px 0 0;max-width:16ch}
.page-head .hero-sub{margin-top:24px}
.crumbs{font-size:12px;color:rgba(244,241,234,.62);margin-bottom:44px}
.crumbs a{color:rgba(244,241,234,.75);text-decoration:underline;text-underline-offset:3px}
.crumbs-light{color:var(--stone);margin:0;padding:96px 40px 0;max-width:1320px;margin-inline:auto}
.crumbs-light a{color:var(--umber)}
.placements-heading{margin-top:20px}
.role-list{border-top:1px solid var(--noir);margin-top:clamp(28px,3vw,44px)}
.role-row{display:grid;grid-template-columns:minmax(200px,38%) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:baseline;padding:clamp(20px,2.2vw,28px) 0;border-bottom:1px solid var(--ruleStrong);transition:border-color .3s}
.role-row:hover{opacity:1;border-bottom-color:var(--noir)}
.role-hub{border-top:1px solid var(--noir)}
.role-hub-row{display:grid;grid-template-columns:minmax(200px,28%) minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(20px,3vw,44px);align-items:baseline;padding:clamp(24px,2.6vw,32px) 0;border-bottom:1px solid var(--ruleStrong)}
.role-hub-row .faq-a{margin:0}
.eval-name.ink a{color:var(--noir)}
.eval-name.ink a:hover{color:var(--navy);opacity:1}
.more{margin:28px 0 0;font-size:14px;color:var(--umber)}
.founder-bio p.more{margin-top:18px}
.lede-note{color:var(--stone);font-size:15.5px}
.delegate .scope-label{font-size:10px;line-height:normal;margin:28px 0 4px;max-width:none;color:var(--stone)}
.scope-label{margin:0 0 4px}
.cta{background:var(--noir);padding:clamp(60px,6.5vw,92px) 40px}
.cta-inner{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-end}
.cta .eval-title{margin:0}
.btn-full{width:100%}
.hp{position:absolute;left:-9999px;height:1px;overflow:hidden}
.form-error{display:none;font-size:12.5px;color:rgba(244,241,234,.9);line-height:1.6;margin:-6px 0 20px}
.form-error.visible{display:block}
.form-error a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.contact-headline{margin-top:16px}
.contact{padding-top:clamp(110px,10vw,140px)}
.contact-detail-val a{color:rgba(244,241,234,.85)}
.founder-bio p.founder-sign{margin:30px 0 2px;font-size:15px;font-weight:600;color:var(--noir)}
.founder-bio p.founder-role{font-size:12.5px;color:var(--stone);margin:0}
.founder-bio p.label{font-size:10px;line-height:normal;margin:0}
.founder-bio .founder-name+p{margin-top:0}
@media (max-width:1000px){.role-hub-row{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
.page-head{padding:104px 22px 48px}
.cta{padding-left:22px;padding-right:22px}
.crumbs-light{padding:88px 22px 0}
.role-row,.role-hub-row{grid-template-columns:1fr;gap:10px}
.cta-inner .btn{width:100%;min-height:52px}
}

/* navy is unreadable on noir, so focus rings there use bone */
.hero :focus-visible,.page-head :focus-visible,.evaluate :focus-visible,.contact :focus-visible,.cta :focus-visible,footer :focus-visible,.mobile-menu :focus-visible,#siteNav:not(.scrolled) :focus-visible{outline-color:#F4F1EA}

/* home facts and contact next steps */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);margin-top:clamp(24px,3vw,36px)}
.fact{border-top:1px solid var(--noir);padding-top:16px}
.fact-text{font-size:17.5px;line-height:1.5;color:var(--noir);margin:12px 0 0}
.founder-short{grid-template-columns:minmax(0,.4fr) minmax(0,1.6fr)}
.more-first{margin-top:0}
.next{margin:24px 0 0;padding:0;list-style:none;counter-reset:n;max-width:42ch}
.next li{counter-increment:n;padding:12px 0;border-top:1px solid rgba(244,241,234,.18);font-size:15.5px;line-height:1.5;color:rgba(244,241,234,.85);display:grid;grid-template-columns:32px 1fr}
.next li::before{content:counter(n);color:rgba(244,241,234,.6);font-size:12px;font-weight:600;line-height:1.9}
@media (max-width:1000px){.facts{grid-template-columns:1fr 1fr}.founder-short{grid-template-columns:minmax(0,160px) minmax(0,1fr)}}
@media (max-width:640px){.facts{grid-template-columns:1fr}.founder-short{grid-template-columns:1fr}.founder-short .founder-photo-wrap{max-width:200px}}

